Udacity 自駕車 project 3

Kevin Chiu
CodingJourney
Published in
2 min readJun 29, 2020

Project 3: Traffic Light Classifier

Github: Project3_Traffic-Sign-Classifier

首先課程介紹了一些關於tensorflow的一般應用

再來是講解neural network裡的一些流程,包含activation function(softmax), lost function(cross-entropy)…等等

整個Classifier的邏輯如下圖:

先將data圖片normalize, initialize weight with Gaissian(W), 使用softmax as activation function(S), 使用cross-entropy loss(D),最後將整個函數平均得到平均損失。不斷重複整個步驟得到最佳weight。

接著是介紹Deep neural network:

activation functions: 增加非線性 ,

forward & backward propagation : 更新weight

regularization(L1, L2): 維持現有的features,但是降低部分不重要feature的影響力

dropout: 和regularization都是為了防止over-fitting

避免over-fitting的方法:early stopping、資料集擴增(Data augmentation)、正規化(Regularization,包括L1、L2),dropout。

大致概念如下圖

再來是介紹CNN (Convolutional Neural Network)

這邊就不贅述了,用開山CNN的LeNet來解釋:

包含一些 filter, padding, stride, parameter sharing, convolution, pooling, fully connected, 1*1 convolution, inception, … 等CNN的概念

Parameter count:

an input of shape 32x32x3 (HxWxD)

20 filters of shape 8x8x3 (HxWxD)

Output Layer

14x14x20 (HxWxD)

1. Deep neural network: (8*8*3+1)*(14*14*20) = 756560

2. Convolutional neural network: (8*8*3+1)*(20) = 3860

— — — — — — — — — — — — — —

介紹完課程內容,終於進入project了。

Project 3是做一個路標辨識器,以德國的路標作為dataset

大概分成幾個步驟:

  1. data augmented: Resize 50% / 2. Rotate -30~30 degree / 3. Warp
  2. build CNN, hyperparameter setting:

3. result:

--

--