全连接层介绍以及简单实现
生活随笔
收集整理的這篇文章主要介紹了
全连接层介绍以及简单实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
全連接層是神經網絡最后的一層,有著至關重要的作用,全連接層之前的作用是提取特征,全連接層的作用是分類。
下面簡單介紹一下全連接層
cnn已經提取到了特征,我們怎么將這個特征轉化成輸出結果呢,比如識別是什么動物,特征有尾巴,頭,四條腿等,cnn已經提取出這些特征,但是我們需要輸出[0,1,0....],.index0是貓,index1是狗...,因此全連接層就是這個作用,將特征映射成結果。
?舉個例子
我們要識別一張圖片是不是貓,當我們提取到了一些特征,我就可以判斷這個是不是貓了,因為全連接層的作用主要就是實現分類(Classification)。
?
?
從上圖,可以看出:
紅色的神經元表示這個特征被找到了(激活了),同一層的其他神經元,要么貓的特征不明顯,要么沒找到。當我們把這些找到的特征組合在一起,發現最符合要求的是貓,則認為這是貓了!
導入數據
MLP類繼承nn.Module,初始化參數,
nn.Linear(in, out),參數表示輸入維度,輸出維度,是一個降維的過程,最終降到了維度為10 nn.ReLU(inplace=True),激活函數,數值小于某個值則變為0,舍棄,inplace=True變為0的值直接覆蓋,節省空間初始化net,并將net里面的參數以及學習率放入優化器,參數自動更新,學習率不當也會自動更新。
?
?訓練,
optimizer.zero_grad() 清空過往梯度;
loss.backward() 反向傳播,計算當前梯度;
optimizer.step() 根據梯度更新網絡參數
?
?
總結
以上是生活随笔為你收集整理的全连接层介绍以及简单实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [N1盒子] armbian 安装doc
- 下一篇: docker 版X-pack 6.3.0