1. 程式人生 > >第一部分 神經網絡如何工作(1.1-1.2)

第一部分 神經網絡如何工作(1.1-1.2)

borde 感到 改變 學習 如何 最終 識別 pan 如果

1.1 尺有所短,寸有所長

  總結來說,就是一些任務比如數百萬數字乘法運算這種對於計算機很容易,而圖像識別這種對人類來說很容易。

1.2 一臺簡單的預測機

  書中舉了一個例子:假設不知道千米和英裏之間的轉換方式,僅僅知道兩者關系是線性的,並且有兩組正確的千米/英裏匹配的數值對示例,如下所示。

真實示例

千米

英裏

1

0

0

2

100

62.137

  線性關系的形式應該為“英裏 = 千米 * C”,其中C為常數,但是現在還不知C是多少。

  其實如果是用人類的思維,馬上可以想出兩點確定一條直線,C =(62.137 - 0)/ (100 - 0),馬上可以計算出C。但是站在計算機的角度,要怎麽求出C?

計算機的做法

  1. 隨手取一個隨機的數值,不妨取C=0.5,那麽千米=100時,計算得到的英裏為50。
  2. 和真實示例給出的62.137相比,少了12.137. 這是計算結果與列出的示例真實值之間的差值,即誤差。
  3. 現在已經知道這個C錯了,不能很好的計算出真實示例2,而且已經知道誤差,它可以指導機器取猜測得到第二個更好的C值。
  4. 將C從0.5增加到0.6看看會發生什麽?計算得到的英裏為60,誤差值變得更小了,為2.137。這裏使用之前得到的誤差值指導如何改變C的值。因為希望輸出值變得更大些,因此稍微增加了C的值。
  5. 重復這個過程,輸出值60還是還小,再次微調C,這次調置0.7,發現誤差值為-7.863。負號說明這次調動超了。
  6. 那如果從0.6調到0.61得到的誤差值為1.137,所以這次微調是比較成功的。現在如果對這個誤差感到滿意的話,已經可以給出最終關系了;或者可以繼續重復上面的內容。
  7. 其實每次的修正值取為誤差值的百分比是比較科學的,因為大誤差意味著較大的修正值,小誤差意味著只需要小小地微調C值即可。

總結

  計算機的做法看似有些愚蠢、呆板,因為人在學校裏學習代數知識求解數學和科學問題往往是一步到位,精確求解。但是,對於計算機來說,嘗試得到一個答案,然後多次改進,這種叠代的方式更適合它的計算方式。

第一部分 神經網絡如何工作(1.1-1.2)