出处: Michael Nielsen的《Neural Network and Deep Learning》。本节译者:朱小虎 、张广宇。
目录
1、使用神经网络识别手写数字
2、反向传播算法是如何工作的
3、改进神经网络的学习方法
4、神经网络可以计算任何函数的可视化证明
- 两个预先声明
- 一个输入和一个输出的普遍性
- 多个输入变量
- S型神经元的延伸
- 修补阶跃函数
- 结论
5、为什么深度神经网络的训练是困难的
6、深度学习
我们已经证明了由 S 型神经元构成的网络可以计算任何函数。回想下在一个 S 型神经元中,输入 导致输出 ,这里 是权重, 是偏置,而 是 S 型函数:
如果我们考虑一个不同类型的神经元,它使用其它激活函数,比如如下的 ,会怎样?
更确切地说,我们假定如果神经元有输入 ,权重 和偏置 ,那么输出为 。我们可以使用这个激活函数来得到一个阶跃函数,正如用 S 型函数做过的一样。
试着加大上图中的权重,比如 ,你将得到:
正如使用 S 型函数的时候,这导致激活函数收缩,并最终变成一个阶跃函数的很好的近似。试着改变偏置,然后你能看到我们可以设置我们想要的阶跃位置。所以我们能使用所有和前面相同的技巧来计算任何期望的函数。
需要什么样的性质来满足这样的结果呢?我们确实需要假定 在 和 时是定义明确的。这两个界限是在我们的阶跃函数上取的两个值。我们也需要假定这两个界限彼此不同。如果它们不是这样,就没有阶跃,只是一个简单的平坦图形!但是如果激活函数 满足这些性质,基于这样一个激活函数的神经元可普遍用于计算。
问题
- 在本书前面我们遇到过其它类型的称为修正线性单元的神经元。解释为什么这样的神经元不满足刚刚给出的普遍性的条件。找到一个普遍性的证明,证明修正线性单元可普遍用于计算。
- 假设我们考虑线性神经元,即具有激活函数 的神经元。解释为什么线性神经元不满足刚刚给出的普遍性的条件。证明这样的神经元不能用于通用计算。
本文来源于哈工大SCIR