為什麼大家到現在都這麼迷神經網路模型?
我想主因不是因為他是模擬生物而來,他有一些更扎實的數學特性。
我們前面講過各種線性模型,然後將他過渡到神經網路。
今天要告訴大家,即便是淺層的神經網路也是很厲害的。
Universal approximation theorem 是個淺層的神經網路的數學定理。
他說:一個簡單的 feedforward network,只包含了一個 hidden layer,並且有適切的 activation function,包含有限個神經元的情況下,可以去逼近任何連續函數。
在 1989 就以經由 George Cybenko 先生第一次證實了這個定理,他使用了 sigmoid activation function。
如果大家對細節有興趣,請參閱 維基百科的條目。
這代表什麼呢?
到目前為止,我們都會將一個現實中的問題化成一個數學問題,一個數學問題基本上都是包含函數的。
像是影像辨識,我們就可以看成一個可以輸入影像的函數,這個函數會輸出辨識結果,也就是分類。
我們可以這樣寫 。
所以語音辨識就是 。
聊天機器人就是 。
...
到這邊你可以想想,幾乎人類的問題都可以化成一個函數來解答。
所以可以逼近任何連續函數的模型根本就可以解答任何問題的意思阿!
所以大家才拼了命的用這個模型去解決很多問題。
如果這個模型這麼萬能,那麼他就真的沒有缺點嗎?
我們需要從這個定理切入,定理中描述的有限個神經元,但至少不是無限,他並沒有說需要幾個。
這理所當然,因為沒有人知道你的問題有多複雜,需要用多難的方法解嘛!
然後 activation function 也是沒有提的。
所以這就是留給現代的大家去決定的。