我正在研究 NN 中的激活函数,但无法正确理解这部分 - “每一层都由一个线性函数激活。该激活依次作为输入进入下一层,第二层计算该输入的加权和,然后根据另一个线性激活函数触发。
无论我们有多少层,如果本质上都是线性的,那么最后一层的最终激活函数只不过是第一层输入的线性函数! "
最佳答案
这是我在学习神经网络时遇到的最有趣的概念之一。这是我的理解:
一层的输入 Z 可以写成权重矩阵与前一层节点输出向量的乘积。因此 Z_l = W_l * A_l-1
其中 Z_l
是第 L 层的输入。现在 A_l = F(Z_l)
其中 F 是 L
层的激活函数。如果激活函数是线性的,那么 A_l
将只是 Z_l 的 K
因子。因此,我们可以将 Z_l
写成:
Z_l = W_l*W_l-1*W_l-2*...*X
其中 X
是输入。所以你看到输出 Y
最终将是几个矩阵乘以特定数据实例的输入向量。我们总能找到权重矩阵的乘法结果。因此,输出 Y
将是 W_Transpose * X
。这个方程只不过是我们在线性回归中遇到的一个线性方程。
因此,如果所有输入层都具有线性激活,则输出将只是输入的线性组合,可以用一个简单的线性方程来表示。
关于neural-network - 为什么线性函数在多层神经网络中没用?最后一层如何成为第一层输入的线性函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54065233/