1.視頻網站:mooc慕課https://mooc.study.163.com/university/deeplearning_ai#/c
2.詳細筆記網站(中文):http://www.ai-start.com/dl2017/
3.github課件+作業+答案:https://github.com/stormstone/deeplearning.ai
4.7 參數 VS 超參數 Parameters vs Hyperparameters
想要你的深度神經網絡起很好的效果,你需要規劃好你的參數以及超參數。
什麼是超參數?
還記得一次梯度下降,參數W和b更新公式中用到的學習率
learning rate嘛,這個就是一個超參數。
除此之外,還有
- 梯度下降法
循環的數量
iterations 隱層數量
L隱層的單元數
n[l]激活函數類型
choice of activation function,例如,Relu,tanh,sigmoid
以上這些參數都要靠用戶自己來設置。而這些參數實際上決定了或者說控制了參數W和b的最終值。它們都被稱爲超參數
–控制參數的參數。
DL中有很多超參數。除了上面的之外還有一些其他的超參數,如momentum、mini batch size、正則化參數regularization parameters等等。
當你在訓練深度NN時候,會發現超參有很多選擇的可能性,你需要去嘗試不同值。
今天的深度學習應用領域,還是很經驗性的過程。
以上圖爲例。
通常你有個想法,比如可能大致知道一個好的學習率值是0.01,然後你可以實際試一下(Idea),訓練一下看看效果如何(Code)。基於結果你會發現,學習率再提高到0.05會比較好(Experiment)。
如果你不確定什麼值是最好的學習率,可以先嚐試一個,然後看看損失函數J的值有沒有下降。接着嘗試不同的學習率並觀察,看結果是否下降的很快,或者收斂到更高的位置。最終選擇一個學習率,可以加快學習過程,並且收斂在更低的損失函數值上(下圖中箭頭所指)。
當你開始開發新應用時,通常預先很難確切知道,超參數的最優值應該是什麼。
所以通常會和上面學習率選擇方法一樣,你必須嘗試很多不同的值,對比效果。
例如,試試看5個隱藏層,一定數目的隱藏單元,實現模型並觀察是否成功,然後再迭代。
應用深度學習領域,是一個很大程度基於經驗的過程empirical process,通俗來說,就是不停嘗試直到你找到合適的數值。
DL可以用於解決很多問題,從計算機視覺到語音識別,到自然語言處理NPL,到很多結構化的數據應用(比如:網絡廣告或是網頁搜索或產品推薦)等等。
在這些領域中,有些超參數的設置有時可以推廣,而有時又不能夠。建議大家,特別是剛開始應用於新問題的人,去嘗試一定範圍的值看看結果如何。
另外,有些已經用了很久的模型,例如你在做網絡廣告應用,在開發過程中,很有可能學習率的最優數值或是其他超參數的最優值是會變的。即使你每天都在用當前最優的參數調試你的系統,你還是會發現,最優值過一年就會變化。因爲電腦的基礎設施,CPU或是GPU可能會變化很大。所以有一條經驗規律可能每幾個月就會變。
如果你所解決的問題需要很多年時間,只要經常試試不同的超參數,勤於檢驗結果,看看有沒有更好的超參數數值,相信你慢慢會得到設定超參數的直覺,知道你的問題最好用什麼數值。
這可能是DL比較讓人不滿的一部分,也就是你必須嘗試很多次不同可能性。但參數設定這個領域,DL研究還在進步中,所以可能過段時間就會有更好的方法決定超參數的值,也很有可能由於CPU、GPU、網絡和數據都在變化,這樣的指南可能只會在一段時間內起作用,只要你不斷嘗試,並且嘗試保留交叉檢驗或類似的檢驗方法,然後挑一個對你的問題效果比較好的數值。
總結
有一條經驗規律:經常試試不同的超參數,勤於檢查結果,看看有沒有更好的超參數取值,你將會得到設定超參數的直覺。
4.8 這和大腦有什麼關係?What does this have to do with the brain?
答案是關聯不大。
那麼人們爲什麼會說深度學習和大腦相關呢?
觀察上圖,這是實現NN要做的工作-前向傳播和反向傳播,其實很難表述這些公式具體做了什麼。
DL像大腦這樣的類比其實是過度簡化了我們的大腦具體在做什麼,但因爲這種形式很簡潔,能讓普通人更願意公開討論,也方便新聞報道並且吸引大衆眼球,但這個DL和大腦類比是非常不準確的。
把一個NN的單元可以看成是對一個生物神經元,這是一個過度簡化的對比。迄今爲止連神經科學家都很難解釋究竟一個神經元能做什麼,神經元其實是極其複雜的。它的一些功能可能真的類似邏輯迴歸的運算,但單個神經元到底在做什麼,目前還沒有人真正能夠可以解釋。
沒人知道到底大腦是用類似於後向傳播,或是梯度下降的算法,或者人類大腦的學習過程用的是完全不同的原理。
所以雖然DL的確是個很好的工具,能學習到各種很靈活很複雜的函數來學到從x到y的映射;在監督學習中,學到輸入到輸出的映射。但這種和人類大腦的類比,在這個領域的早期也許值得一提,但現在這種類比已經逐漸過時了。
總結
這就是NN和大腦的關係:在計算機視覺,或其他的學科都曾受人類大腦啓發,還有其他DL的領域也曾受人類大腦啓發。但是不適合在兩者之間進行類比。