為啥神經(jīng)網(wǎng)絡(luò)里的BP算法花了那么久才被發(fā)明?
Roseblatt在五十年代就提出了感知機(jī), 又過了將近30年, 多層神經(jīng)網(wǎng)絡(luò)的BP算法才得以普及。
而事實(shí)上這不過是微積分中鏈?zhǔn)椒▌t的簡單應(yīng)用而已, 為什么要花這么久呢?
bengio在quora上這樣回答道:
很多看似顯而易見的想法只有在事后才變得顯而易見。
在控制論中, 很早就開始應(yīng)用鏈?zhǔn)椒磩t來解決多層非線性系統(tǒng)。
但在80年代早期, 神經(jīng)網(wǎng)絡(luò)的輸出是離散的, 這樣就無法用基于梯度的方法來優(yōu)化了。
這時Rumelhart和Hinton想到, 只要把輸出做成平滑的(sigmoid), 就可以用鏈?zhǔn)椒▌t來訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)了。
所以這不僅僅是鏈?zhǔn)椒▌t的問題, 而是要跳出離散輸出的框框, 這種理念上變革并不容易。