大家好,今天我們學習【馬上學tensorflow 2.0】之 深度學習的工作原理。
我們 馬上學三點 :
- 權重:神經網絡是由其權重來參數化
- 損失函數:衡量網絡輸出結果的質量
- 優化器:將損失值作為反饋信號來調節權重
大家可以點擊下面的“ 瞭解更多 ”,或搜索“ 馬上學123 ”,在線觀看PPT講義。
權重:神經網絡是由其權重來參數化
- 機器學習是將輸入映射到目標, 比如圖像映射到標籤“貓”。 這一過程是通過觀察許多輸入和目標的示例來完成的。
- 深度神經網絡通過一系列簡單的數據變換(層) 來實現這種輸入到目標的映射, 而這些數據變換都是通過觀察示例學習到的。
下面來具體看一下這種學習過程是如何發生的: 神經網絡中每層對輸入數據 所做的具體操作保存在該層的權重(weight)中, 其本質是一串數字。 用術語來說,每層實現的變換由其權重來參數化。
權重有時也被稱為該層的參數, 在這種語境下, 學習的意思是為神經網絡的所有層找到一組權重值, 使得該網絡能夠將每個示例輸入與其目標正確地一一對應。
但重點來了: 一個深度神經網絡可能包含數千萬個參數, 找到所有參數的正確取值可能是一項非常艱鉅的任務, 特別是考慮到修改某個參數值將會影響其他所有參數的行為。
損失函數:衡量網絡輸出結果的質量
想要控制神經網絡的輸出, 就需要能夠衡量該輸出與預期值之間的距離, 這是神經網絡損失函數(loss)的任務, 該函數也叫目標函數。
損失函數的輸入是網絡預測值與真實目標值, 然後計算一個距離值, 衡量該網絡在這個示例上的效果好壞。
優化器:將損失值作為反饋信號來調節權重
深度學習的基本技巧是 利用這個距離值作為反饋信號來對權重值進行微調, 以降低當前示例對應的損失值。 這種調節由**優化器(optimizer)**來完成。
它實現了所謂的反向傳播算法, 這是深度學習的核心算法。 我們後面會詳細地解釋反向傳播的工作原理。
一開始對神經網絡的權重隨機賦值, 因此網絡只是實現了一系列隨機變換。 其輸出結果自然也和理想值相去甚遠,相應地,損失值也很高。
但隨著網絡處理的示例越來越多, 權重值也在向正確的方向逐步微調, 損失值也逐漸降低。 這就是訓練循環(training loop), 將這種循環重複足夠多的次數(通常對數千個示例進行數十次迭代), 得到的權重值可以使損失函數最小。
具有最小損失的網絡, 其輸出值與目標值儘可能地接近, 這就是訓練好的網絡。
一旦具有足夠大的規模,將會產生魔法般的效果。
總結
- 學習是指找到一組模型參數, 使得在給定的訓練數據樣本和對應目標值上的損失函數最小化。
- 損失是在訓練過程中需要最小化的量,
- 優化器是使用損失梯度更新參數的具體方式
這裡講了三點,關鍵詞有哪幾個?
問題:訓練循環是什麼樣的?
歡迎回複評論!
馬上學123,很簡單!