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