首页 > 解决方案 > 为什么线性函数在多层神经网络中没有用?最后一层如何成为第一层输入的线性函数?

问题描述

我正在研究 NN 中的激活函数,但无法正确理解这部分 - “每一层都由一个线性函数激活。该激活又作为输入进入下一个级别,第二层计算该输入的加权和,它在转,基于另一个线性激活函数触发。

不管我们有多少层,如果本质上都是线性的,最后一层的最终激活函数只不过是第一层输入的线性函数!"

标签: neural-networkactivation-function

解决方案


这是我在学习神经网络时遇到的最有趣的概念之一。我是这样理解的:

一层的输入 Z 可以写成权重矩阵和前一层节点输出向量的乘积。因此,第 L 层的输入在Z_l = W_l * A_l-1哪里。Z_l现在A_l = F(Z_l)其中 F 是层的激活函数L。如果激活函数是线性的,那么A_l将只是一个因素K of Z_l。因此,我们可以写成Z_l: 输入Z_l = W_l*W_l-1*W_l-2*...*X在哪里X。所以你看到输出Y最终将是几个矩阵乘以特定数据实例的输入向量。我们总能找到权重矩阵的乘积。因此,输出Y将是 W_Transpose * X. 这个方程只不过是我们在线性回归中遇到的一个线性方程。因此,如果所有输入层都具有线性激活,则输出将只是输入的线性组合,并且可以使用简单的线性方程来编写。


推荐阅读