Cs231n-assignment 2作業筆記


assignment 2

assignment2講解參見:

https://blog.csdn.net/BigDataDigest/article/details/79286510

http://www.cnblogs.com/daihengchen/p/5765142.html

最后一個作業Q5基於Tensorflow和Pytorch,將會需要在GPU上運行。

1. softmax_loss:

log_probs[range(N), y]:從log_probs中取出縱值為yi,即正確標簽,橫值圖像數,即從log_probs中取出y所指向的正確類的概率值,得到是一個[N,]數組,加和后除以N,即為softmax_loss。

2.關於batch normalization:

   參見:https://www.cnblogs.com/guoyaohua/p/8724433.html

   參見:https://www.cnblogs.com/skyfsm/p/8453498.html

   反向傳播參見:https://zhuanlan.zhihu.com/p/26138673

                 https://blog.csdn.net/kevin_hee/article/details/80783698

   基本流程:減去均值(mini-batch mean)、除以方差(normalize)、scale and shift。

 

3.總結:

到這里,我們大致學完了“神經網絡”基礎。我們學習了:

l   一個神經網絡應該有三大基礎東西 - 損失函數、梯度、權值(模板)。

l   神經網絡將一個函數封裝成一個獨立的神經元,然后將神經元分層連接,使之高效地傳遞信息。

l   我們認識了各種激活函數(推薦使用ReLU)。

l   我們可以對初始數據做預處理(推薦使用“減均值+除標准差”)。

l   我們還可以對隱藏層也做類似處理(Batch Normalization)。

l   我們應該對權進行初始化(推薦使用“隨機數+除標准差”)。

l   如果train/val之間有gap,就是過擬合了(推薦使用“R2+Dropout”)。

l   在訓練中,要對各種參數進行更新(推薦使用Adam)。

l   最后,還有對超參數進行調優的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM