什么是神经网络
最早的神经网络是想要还原神经元的原理(虽然现在很难说有什么关系),我们将输入乘以不同的权值之后,求和并通过一个非线性函数便可以得到一个输出。这就是最简单的一个神经网络的模型。
其实从数学角度看这个模型更好理解,如果不考虑激活函数,那么其实在单个输出时,我们就是在做线性回归;多个输出时,我们就是在做多分类而已。
线性回归而加入了激活函数之后就是加了一个非线性的映射。
至于多层的神经网络不过就是在这个基础上堆叠的结果,至于为什么越深越有效果,目前也只能说仁者见仁智者见智。我个人比较认为随着层数增多,模型的复杂度也随之增加,也就是说,参数越多只要我的数据量够的话,我完全可以通过这个模型暴力求出一个最好的结果。所以我个人的观点是,深度学习很多时候只是给出了一个无穷容纳数据量的模型,也就是说当传统模型随着数据量增加而结果不能再有很显著提高的时候,深度学习还是可以快速地提高。
全连接神经网络
反向传播
1. 基础链式求导:
2. 具体推导:
3. 向量化:
4. 总结
反向传播(麦子版)
有数字来表示可能更好看懂:
参考:
- 李宏毅老师深度学习课程
- 麦子学院深度学习课程
网友评论