深度神经网络中的线性与非线性:原理、实现与应用
1. 线性与非线性概念引入
在神经网络的学习中,线性与非线性是一个较为复杂的概念。为了让神经网络能够正常训练,我们需要引入一个关键要素。从简单的代数运算来看,比如 1 * 10 * 2 = 100 和 5 * 20 = 100 , 1 * 0.25 * 0.9 = 0.225 和 1 * 0.225 = 0.225 ,可以发现任意两次乘法运算的结果,都可以通过一次乘法来实现。
这一现象在神经网络中却带来了问题。对于任何一个三层神经网络,都存在一个与之行为相同的两层神经网络。也就是说,堆叠两层目前所了解的神经网络,并不能带来更多的能力提升,两次连续的加权求和只是一次加权求和的更复杂版本。
2. 神经网络无法正常工作的原因
如果直接训练当前的三层神经网络,它无法收敛。问题在于,对于输入的任意两次连续加权求和,都存在一个与之行为完全相同的单次加权求和。三层神经网络能做的事情,两层神经网络也能做到。
以中间层(layer_1)为例,在未进行改进之前,中间层的每个节点都与输入节点存在一定的权重连接。从相关性的角度来看,中间层的每个节点与每个输入节点都有一定程度的相关性。如果输入到中间层的权重为 1.0,那么中间层节点会完全跟随输入节点的变化;如果权重为 0.5,则中间层节点会跟随输入节点 50% 的变化。
中间层节点想要摆脱与某个特定输入节点的相关性,只能通过增加与其他输入节点的相关性。但在新的数据集中,输入和输出之间没有相关性,所以中间层只是将原本无用的相关性
超级会员免费看
订阅专栏 解锁全文
9万+

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



