Udacity 自駕車 project 3
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
大概分成幾個步驟:
- data augmented: Resize 50% / 2. Rotate -30~30 degree / 3. Warp
- build CNN, hyperparameter setting:
3. result:
Github: Project3_Traffic-Sign-Classifier