神经网络中的概率建模与非线性激活函数
在神经网络的世界里,我们常常会遇到各种挑战,比如输入数据的相似性处理、激活函数的选择与应用,以及如何避免过拟合等问题。下面我们就来详细探讨这些方面。
输入数据的相似性问题
不同的数字往往具有一些共同的特征。以MNIST数据集中的数字为例,数字2和数字3就有重叠的像素值,平均意义上的2和3有不少相似之处。
当输入数据相似时,通常会产生相似的输出。在神经网络中,如果在正向传播时,将数字2输入,结果有一小部分概率错误地分配到了标签3上,若网络将此视为一个重大错误并进行大幅度的权重更新,就会出现问题。比如,网络可能会因为数字2和3顶部曲线相似,而惩罚基于顶部曲线来识别数字2的情况。这样一来,网络可能会开始关注图像边缘部分,因为中间部分的像素很多图像都有相似之处。但这种方式并不能让网络真正学习到数字2的本质特征。
为了解决这个问题,我们需要一种输出激活函数,它不会对相似的标签进行惩罚,而是关注所有可能指示潜在输入的信息。Softmax函数就是这样一个不错的选择,它在理论和实践中都表现得更好,而且其输出概率之和始终为1,我们可以将每个预测值解释为该预测属于特定标签的全局概率。
Softmax函数的计算
Softmax函数的计算过程是先将每个输入值进行指数运算,然后除以该层所有节点值的总和。
例如,假设有如下神经网络的假设输出值:
| 索引 | 原始点积值 |
| ---- | ---- |
| 0 | 0.0 |
| 1 | 100 |
| 2 | 0.0 |
| 3 | 0.0 |
| 4 | 0.0
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



