深度神經網路的最後一層往往是全連線層+softmax(分類網路),如下圖所示,來自stackexchange。
先看一下計算方式:全連線層將權重矩陣與輸入向量相乘再加上偏置,將n
'>n
n個(−∞,
+∞)'>(−∞,+∞)
(−∞,+∞)的實數對映為k
'>k
k個(−∞,
+∞)'>(−∞,+∞)
(−∞,+∞)的實數(分數);softmax將k
'>k
k個(−∞,
+∞)'>(−∞,+∞)
(−∞,+∞)的實數對映為k
'>k
k個(0,1
)'>(0,1)
(0,1)的實數(概率),同時保證它們之和為1。具體如下:y^
=sof
tmax
(z)=
soft
max(
wtx+
b)'>y^=softmax(z)=softmax(wtx+b)
y^=softmax(z)=softmax(wtx+b)
其中,x
'>x
x 為全連線層的輸入,wn×
k'>wn×k
wn×k 為權重,b
'>b
b為偏置項,y
^'>y^
y^為softmax輸出的概率,softmax的計算方式如下:so
ftma
x(zj
)=ez
j∑ke
zj'>softmax(zj)=ezj∑kezj
softmax(zj)=ezj∑kezj
若拆成每個類別的概率如下:yj
^=so
ftma
x(zj
)=so
ftma
x(wj
⋅x+b
j)'>yj^=softmax(zj)=softmax(wj⋅x+bj)
yj^=softmax(zj)=softmax(wj⋅x+bj)
其中,w
j'>wj
wj為圖中全連線層同一顏色權重組成的向量。
該如何理解?
下面提供3個理解角度:加權角度、模版匹配角度與幾何角度
加權角度可能是最直接的理解角度。
通常將網路最後乙個全連線層的輸入,即上面的x
'>x
x,視為網路從輸入資料提取到的特徵。zj
=wj⋅
x+bj
=wj1
x1+w
j2x2
+⋯+w
jnxn
+bj'>zj=wj⋅x+bj=wj1x1+wj2x2+⋯+wjnxn+bj
zj=wj⋅x+bj=wj1x1+wj2x2+⋯+wjnxn+bj將wj
'>wj
wj視為第j
'>j
j類下特徵的權重,即每維特徵的重要程度、對最終分數的影響程度,通過對特徵加權求和得到每個類別的分數,再經過softmax對映為概率。
也可以將w
j'>wj
wj視為第j
'>j
j類的特徵模板,特徵與每個類別的模板進行模版匹配,得到與每個類別的相似程度,然後通過softmax將相似程度對映為概率。如下圖所示,素材來自cs231n。
如果是只有乙個全連線層的神經網路(相當於線性分類器),將每個類別的模板可以直接視覺化如下,素材來自cs231n。
如果是多層神經網路,最後乙個全連線層的模板是特徵空間的模板,視覺化需要對映回輸入空間。
仍將全連線層的輸入x
'>x
x視為網路從輸入資料提取到的特徵,乙個特徵對應多維空間中的乙個點。
如果是二分類問題,使用線性分類器y^=
w⋅x+
b'>y^=w⋅x+b
y^=w⋅x+b,若y
^>
0'>y^>0
y^>0即位於超平面的上方,則為正類,y
^<
0'>y^<0
y^<0則為負類。
多分類怎麼辦?為每個類別設定乙個超平面,通過多個超平面對特徵空間進行劃分,乙個區域對應乙個類別。w
j'>wj
wj為每個超平面的法向量,指向正值的方向,超平面上分數為0,如果求特徵與每個超平面間的距離(帶正負)為dj
=wj⋅
x+bj
||wj
||'>dj=wj⋅x+bj||wj||
dj=wj⋅x+bj||wj||
而分數zj=
||wj
||dj
'>zj=||wj||dj
zj=||wj||dj,再進一步通過softmax對映為概率。
如下圖所示:
相比(−∞,
+∞)'>(−∞,+∞)
(−∞,+∞)範圍內的分數,概率天然具有更好的可解釋性,讓後續取閾值等操作順理成章。
經過全連線層,我們獲得了k
'>k
k個類別(−∞
,+∞)
'>(−∞,+∞)
(−∞,+∞)範圍內的分數z
j'>zj
zj,為了得到屬於每個類別的概率,先通過ezj
'>ezj
ezj將分數對映到(0,
+∞)'>(0,+∞)
(0,+∞),然後再歸一化到(0,
1)'>(0,1)
(0,1),這便是softmax的思想:yj
^=so
ftma
x(zj
)=ez
j∑ke
zj'>yj^=softmax(zj)=ezj∑kezj
yj^=softmax(zj)=ezj∑kezj
本文介紹了3種角度來更直觀地理解全連線層+softmax,
視角不同,看到的畫面就不同,就會萌生不同的idea。有些時候,換換視角問題就迎刃而解了。
以上。
直觀理解神經網路最後一層全連線 Softmax
部落格 blog.shinelee.me csdn 目錄這篇文章將從3個角度 加權 模版匹配與幾何來理解最後一層全連線 softmax。掌握了這3種視角,可以更好地理解深度學習中的正則項 引數視覺化以及一些損失函式背後的設計思想。深度神經網路的最後一層往往是全連線層 softmax 分類網路 如下圖...
卷積神經網路 全連線層
全連線層 全連線層與卷積層 全連線層與gap 全域性平均池化層 1 2 3 全連線層一般會把卷積輸出的二維特徵圖轉化為一維的乙個向量,全連線層的每乙個節點都與上一層的每個節點連線,是把前一層的輸出特徵都綜合起來,所以該層的權值引數是最多的。作用 全連線網路的作用就是將最後一層卷積得到的feature...
神經網路之全連線層(線性層)
對於神經網路的全連線層,前面已經使用矩陣的運算方式實現過,本篇將引入tensorflow中層的概念,正式使用deep learning相關的api搭建乙個全連線神經網路。下面是全連線神經網路的結構圖 其中,x1,x2,x3為輸入,a1,a2,a3為輸出,運算關係如下 x1,x2,x3所在的層叫神經網...