zhihuAI - juedaiyuer/researchNote GitHub Wiki
神经网络,人工智能这块怎么入门? 知乎个人笔记
从物理角度看神经网络: 自组织涌现与复杂科学
所谓简单的东西堆在一起足够多,突然之间产生了一个更加复杂和高级的现象。这种由于尺度跨越造成的飞跃性变化,物理学认为是自然界各种复杂的东西形成的秘密所在。
从信息角度看神经网络
信息学喜欢从贝叶斯分析的角度看神经网络。所谓贝叶斯分析, 就是把新增加的证据和之前形成的信念不停进行综合,来做当下的决断。要做这种综合, 显然一要能够不停收集新的信息,二要储存和调用之前信息,三要根据前两者对未来做出预测并行动, 最后要能够根据之前信息改变现有网络的状态 , 这三种分别对应感知,记忆,行为和学习。
神经网络
DCNN 深度卷积网络,信号在多级网络里一级级传递, 从而使得从微观到宏观的特征都得到分辨 。每一层神经元之间没有相互连接。
而 RNN- 反馈式神经网络(每一层神经元之间有相互连接)则适合处理 sequnce序列类的数据, 发现序列内部的时间结构。
RNN 之所以具有这个能力,就是因为网络内部通过自反馈, 具有之前各个时间点的输入信息, 因此它可以从无限久远的历史里推测系统的未来, RNN与之前的卷积网络相比最大的特点是它包含了动力学特性,如果说卷积网络是任意函数逼近器,那么 RNN就是任意程序逼近器。 犹如包含某种工作记忆。用一个比喻来说, 就是RNN犹如一个宽阔的池塘宁静的水面, 当你投入一个石子, 激起的涟漪会在水池里不停反射传播, 这是对石头进入那一时刻信息的保存, 如果之后在落入一个石头, 那么它再度激起的涟漪会和之 前的水波叠加作用, 形成更复杂的相互作用和纹样。
训练
如何训练
既然我们希望网络的输出尽可能的接近真正想要预测的值。那么就可以通过比较当前网络的预测值和我们真正想要的目标值,再根据两者的差异情况来更新每一层的权重矩阵(比如,如果网络的预测值高了,就调整权重让它预测低一些,不断调整,直到能够预测出目标值)。因此就需要先定义“如何比较预测值和目标值的差异”,这便是损失函数或目标函数(loss function or objective function),用于衡量预测值和目标值的差异的方程。loss function的输出值(loss)越高表示差异性越大。那神经网络的训练就变成了尽可能的缩小loss的过程。所用的方法是梯度下降(Gradient descent):通过使loss值向当前点对应梯度的反方向不断移动,来降低loss。一次移动多少是由学习速率(learning rate)来控制的。
梯度下降的问题
局部最小值
梯度下降寻找的是loss function的局部极小值,而我们想要全局最小值。如下图所示,我们希望loss值可以降低到右侧深蓝色的最低点,但loss有可能“卡”在左侧的局部极小值中。
source
- 神经网络,人工智能这块怎么入门? 知乎
- 深层学习为何要“Deep”(上)
- 人工神经网络——跨学科应用的大杀器 - 知乎专栏.pdf