# 神经网络

## 多层感知机

感知机是激活函数是sign，输出1或-1，一层感知机是没法表达异或的，但是多层又无法求导。后来sigmoid函数用上之后，才有了现在的神经网络。\
![](https://352802547-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7DcNFZmOW8qzXTiAei%2Fsync%2F53104b33a6b89d4042aabf0a464369236c4337db.png?generation=1589383536462585\&alt=media)

梯度消失、非凸极值和初值敏感、深层网络浅层梯度几乎为0、计算量大，需要很多样本

一个细节，很多资料上都草草而过，有的资料甚至写错了。

一批样本m个， 先一个个的前向传播，算出误差。然后反向求导，求出每个参数的偏导数，即整体的梯度。\
然后拿这m个梯度，平均一下， 然后再更新参数。

跟Andrew Ng的线性回归课一样，先举一个样本，求梯度，梯度下降更新参数。然后对于m个样本，用的是梯度平均来更新参数的。

反向求导，不是对输出求导，而是对误差函数求导。

![](https://352802547-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7DcNFZmOW8qzXTiAei%2Fsync%2Fed56c34ec20dc81801e222649a66e8524a8bba39.gif?generation=1589383536272736\&alt=media)

> 此图来自 [BP 算法之一种直观的解释](http://www.cnblogs.com/daniel-D/archive/2013/06/03/3116278.html)

## 参考佳文

[人工神经网络之几何原理(Geometric principle of Artificial Neural Networks)](https://my.oschina.net/chishaxie/blog/835628)

[聊一聊深度学习的activation function](https://zhuanlan.zhihu.com/p/25110450)

[神经网络浅讲：从神经元到深度学习](http://www.cnblogs.com/subconscious/p/5058741.html?utm_source=tuicool\&utm_medium=referral)\
[Neural Networks, Manifolds, and Topology](http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/)\
[神经网络、 流形和拓扑介绍及相关讨论](https://github.com/colah/NN-Topology-Post/blob/master/index.md)\
[神经网络训练中的Tricks之高效BP（反向传播算法）](http://blog.csdn.net/zouxy09/article/details/45288129)

[Little Explanations #1 -神经网络与模型压缩](http://dataunion.org/23361.html)

[http://www.jiqizhixin.com/article/2017](http://www.jiqizhixin.com/article/2017)

[colah 深度学习系列长文（一）](http://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==\&mid=2247483853\&idx=1\&sn=c23f9c74e3b6dc4c430fe0dbf3403f00\&chksm=e99d3234deeabb222395e7805e4aec7c4cc53bb4175193aefe3c1be944b478bd7b466f40ac91#rd)
