直观理解神经网络最后一层全连接+Softmax

本文从加权、模板匹配和几何三个角度深入理解神经网络最后一层全连接+Softmax。全连接层将特征与权重相乘得到分数,Softmax将其转换为概率分布。加权角度强调权重的重要性,模板匹配视wj为类别模板,几何角度通过超平面划分解释多分类。Softmax提供更好的可解释性,便于后续处理。

博客:blog.shinelee.me | 博客园 | 优快云

写在前面

这篇文章将从3个角度:加权模版匹配几何来理解最后一层全连接+Softmax。掌握了这3种视角,可以更好地理解深度学习中的正则项、参数可视化以及一些损失函数背后的设计思想。

全连接层与Softmax回顾

深度神经网络的最后一层往往是全连接层+Softmax(分类网络),如下图所示,图片来自StackExchange

FlFUSJ.png

先看一下计算方式全连接层将权重矩阵与输入向量相乘再加上偏置,将 n n n ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)的实数映射为 K K K ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)的实数(分数);Softmax K K K ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)的实数映射为 K K K ( 0 , 1 ) (0, 1) (0,1)的实数(概率),同时保证它们之和为1。具体如下:

y ^ = s o f t m a x ( z ) = s o f t m a x ( W T x + b ) \hat{\mathrm{y}} = softmax(\mathrm{z}) = softmax(\mathrm{W}^{T} \mathrm{x} + \mathrm{b}) y^=softmax(z)=softmax(WTx+b)

其中, x \mathrm{x} x为全连接层的输入, W n × K W_{n \times K} Wn×K 为权重, b \mathrm{b} b为偏置项, y ^ \hat{\mathrm{y}} y^为Softmax输出的概率,Softmax的计算方式如下:

s o f t m a x ( z j ) = e z j ∑ K e z j softmax(z_j) = \frac{e^{z_j}}{\sum_K e^{z_j}} softmax(zj)=Kezjezj

若拆成每个类别的概率如下:

y j ^ = s o f t m a x ( z j ) = s o f t m a x ( w j ⋅ x + b j ) \hat{y_j} = softmax(z_j) = softmax(\mathrm{w}_{j} \cdot \mathrm{x} + b_j) yj^=softmax(zj)=softmax(wjx+bj)

其中, w j \mathrm{w}_{j} wj为图中全连接层同一颜色权重组成的向量。

该如何理解?

下面提供3个理解角度:加权角度模版匹配角度几何角度

加权角度

加权角度可能是最直接的理解角度。

通常将网络最后一个全连接层的输入,即上面的 x \mathrm{x} x,视为网络从输入数据提取到的特征

z j = w j ⋅ x + b j = w j 1 x 1 + w j 2 x 2 + ⋯ + w j n x n + b j z_j = \mathrm{w}_{j} \cdot \mathrm{x} + b_j = w_{j1} x_1 + w_{j2} x_2 + \dots + w_{jn} x_n + b_j zj=wjx+bj=wj1x1+wj2x2++wjnxn+bj

w j \mathrm{w}_{j} wj视为第 j j j类下特征的权重,即每维特征的重要程度、对最终分数的影响程度,通过对特征加权求和得到每个类别的分数,再经过Softmax映射为概率。

模板匹配

也可以将 w j \mathrm{w}_{j} wj视为第 j j j类的特征模板,特征与每个类别的模板进行模版匹配,得到与每个类别的相似程度,然后通过Softmax将相似程度映射为概率。如下图所示,图片素材来自CS231n

FC template matching

如果是只有一个全连接层的神经网络(相当于线性分类器),将每个类别的模板可以直接可视化如下,图片素材来自CS231n。

FC template

如果是多层神经网络,最后一个全连接层的模板是特征空间的模板,可视化需要映射回输入空间。

几何角度

仍将全连接层的输入 x \mathrm{x} x视为网络从输入数据提取到的特征,一个特征对应多维空间中的一个点。

如果是二分类问题,使用线性分类器 y ^ = w ⋅ x + b \hat{y} = \mathrm{w} \cdot \mathrm{x} + b y^=wx+b,若 y ^ &gt; 0 \hat{y}&gt;0 y^>0即位于超平面的上方,则为正类, y ^ &lt; 0 \hat{y}&lt;0 y^<0则为负类。

多分类怎么办?为每个类别设置一个超平面,通过多个超平面对特征空间进行划分,一个区域对应一个类别。 w j \mathrm{w}_{j} wj为每个超平面的法向量,指向正值的方向,超平面上分数为0,如果求特征与每个超平面间的距离(带正负)为

d j = w j ⋅ x + b j ∣ ∣ w j ∣ ∣ d_j = \frac{\mathrm{w}_{j} \cdot \mathrm{x} + b_j}{||\mathrm{w}_{j}||} dj=wjwjx+bj

而分数 z j = ∣ ∣ w j ∣ ∣ d j z_j = ||\mathrm{w}_{j}|| d_j zj=wjdj,再进一步通过Softmax映射为概率。

如下图所示:

F1GLb6.png

Softmax的作用

相比 ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)范围内的分数,概率天然具有更好的可解释性,让后续取阈值等操作顺理成章。

经过全连接层,我们获得了 K K K个类别 ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)范围内的分数 z j z_j zj,为了得到属于每个类别的概率,先通过 e z j e^{z_j} ezj将分数映射到 ( 0 , + ∞ ) (0, +\infty) (0,+),然后再归一化到 ( 0 , 1 ) (0 ,1) (0,1),这便是Softmax的思想:

y j ^ = s o f t m a x ( z j ) = e z j ∑ K e z j \hat{y_j} = softmax(z_j) = \frac{e^{z_j}}{\sum_K e^{z_j}} yj^=softmax(zj)=Kezjezj

总结

本文介绍了3种角度来更直观地理解全连接层+Softmax,

  • 加权角度,将权重视为每维特征的重要程度,可以帮助理解L1、L2等正则项
  • 模板匹配角度,可以帮助理解参数的可视化
  • 几何角度,将特征视为多维空间中的点,可以帮助理解一些损失函数背后的设计思想(希望不同类的点具有何种性质)

视角不同,看到的画面就不同,就会萌生不同的idea。有些时候,换换视角问题就迎刃而解了。

以上。

参考

评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值