1. 程式人生 > >多層感知機(MLP)

多層感知機(MLP)

  最終還是沒有憋住,寫下了這篇博文,最近真的是感慨很多啊,真的很想找個人說說。還有那麼多的東西要看要學。
  最近一直在搞神經網路方面的東西,看了MLP的講解,但都是講解結構,我就是想知道MLP到底是幹啥的,有什麼用,一直沒找到,碰巧在一篇部落格中看到便在此記錄一下自己的理解。這裡不講解它的結構和歷史,想了解的可以看這裡這裡,本篇只是為了從高維的角度給出一個整體的認識。
  
  作用:它就是一個傳統的神經網路,就是為了解決單層感知機無法解決的非線性問題(單層感知機只能對線性資料進行分類)。做圖片處理的大都是用caffe,它就相當於caffe裡面的p2p層。
  多層感知機最初是為了做分類的,但是它也可以處理迴歸問題,只要在最後將softmax等分類器改成sigmoid迴歸就行。它的訓練方式

也是“BP反向傳導”。
  
  很好的一個圖片:
  多層感知機vs單層感知機

  
  但是它的隱藏層之間的連線方式是“全連線”的,所以造成(1)訓練的引數過多(2)由於(1)造成它的層數不可能過多,限制了它的能力也有限,不能解決比較複雜的問題。於是,區域性連線的卷積神經網路便出來了,很好的解決了這些問題。