博客:blog.shinelee.me | 博客园 | CSDN
文章目录
写在前面
这篇文章将从3个角度:加权、模版匹配与几何来理解最后一层全连接+Softmax。掌握了这3种视角,可以更好地理解深度学习中的正则项、参数可视化以及一些损失函数背后的设计思想。
全连接层与Softmax回顾
深度神经网络的最后一层往往是全连接层+Softmax(分类网络),如下图所示,图片来自StackExchange。
先看一下计算方式:全连接层将权重矩阵与输入向量相乘再加上偏置,将 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}} softm