Machine-Learning
為什麼神經網絡是平滑函數?
我正在閱讀 Elements of Statistical learning 的第 11 章,遇到了這句話:
“與 CART 和 MARS 等方法不同,神經網絡是實值參數的平滑函數”
這裡的“平滑函數”是什麼意思?我遇到過諸如平滑樣條曲線之類的事情,但我不確定“平滑函數”更普遍的含義。
繼上述之後,是什麼讓神經網絡特別平滑函數?
平滑函數具有連續導數,達到某個指定的階數。至少,這意味著該函數是連續可微的(即一階導數無處不在並且是連續的)。更具體地說,一個函數是 $ C^k $ 如果第一次通過則平滑 $ k $ 三階導數無處不在,並且是連續的。
神經網絡可以寫成基本函數的組合(通常是仿射變換和非線性激活函數,但還有其他可能性)。例如,在前饋網絡中,每一層都實現一個函數,其輸出作為輸入傳遞給下一層。從歷史上看,神經網絡往往是平滑的,因為用於構建它們的基本函數本身是平滑的。特別是,非線性激活函數通常被選擇為平滑的 sigmoidal 函數,如 $ \tanh $ 或邏輯 sigmoid 函數。
然而,這句話通常不是真的。現代神經網絡經常使用分段線性激活函數,如整流線性 ( ReLU ) 激活函數及其變體。雖然這個函數是連續的,但它並不平滑,因為導數不存在於零。因此,使用這些激活函數的神經網絡也不是平滑的。
事實上,這句話通常不是真的,即使在歷史上也是如此。McCulloch-Pitts 模型是第一個人工神經網絡。它由輸出二進制值的閾值線性單元組成。這相當於使用階躍函數作為激活函數。這個函數甚至不是連續的,更不用說平滑了。