2020-5-14 吳恩達-NN&DL-w4 深層NN(4.7 參數 VS 超參數-依據經驗/反覆嘗試/經常調整,4.8 這和大腦有什麼關係?-關係不大)

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α\alpha嘛,這個就是一個超參數。

W[l]=W[l]αdW[l]W^{[l]}=W^{[l]}−αdW^{[l]}
b[l]=b[l]αdb[l]b^{[l]}=b^{[l]}−αdb^{[l]}

除此之外,還有

  • 梯度下降法循環的數量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的領域也曾受人類大腦啓發。但是不適合在兩者之間進行類比。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章