1、概述
1.1 发展历史
神经网络与深度学习是人工智能的一个分支,其发展史如下图所示:
1.2 人工神经网络
神经网络与深度学习从仿生角度模拟自然信息处理过程,以人的视觉信息处理为例:
人对视觉信息处理采用的是分层处理机制,如下描述:
- 低级处理(low-level processing):分析视觉环境的简单属性;
- 中级处理(intermediate-level processing):使用低级特征分析视觉场景,包括
- 表面分割:将局部视觉特征组装成表面,将对象与背景分离;
- 轮廓整合:局部线段方位被整合到全局轮廓中;
- 形状识别:从阴影和运动学线索中识别表面形状。
- 高级处理(high-level processing):使用表面和轮廓来识别物体。
可见,高层特征是低层特征的组合,越到高层越抽象,越能表现出意图。从仿生角度看,人工神经网络模型同样采用分层组合,包括输出层、隐藏层和输出层。整个模型由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。神经网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
2、线性回归与感知机
2.1 线性回归
线性回归的方法在大量领域都有应用,简单来说,问题就是:已知多组(x,y),在这些已知数据基础上,拟合出一个函数,这样我们给出一个x(不在已知数据中),就能利用该函数算出对y值的估计量。具体方法常用最小二乘法的思想,设置出损失函数,寻找拟合曲线的参数,使损失函数的值最小,思路如下:
2.2 线性二分类问题
分类问题,即对多组数据进行分类,二分类问题:如下图,一条直线将圆形点与叉分类,求解模型计算对于数据(x,y)属于两类的概率。
与线性回归不同,这里的损失函数设置要有所变化,原本的y值应该更正为概率值,
对损失函数的求导变得复杂,这里引入梯度下降法解决对超平面参数的求解问题
2.3 神经元
神经元模型在概述中提到过,现在考虑其数学形式,MP神经元结构如下图:
其中的作用函数y=f(x)一般包括非对称型Sigmoid函数、对称型Sigmoid函数、对称型阶跃函数等。
Hebb规则:连接权值的调整量与输入与输出的乘积成正比:
2.4 感知机模型
感知机模型与神经元模型相比,有完全相同的形式,仍考虑2.2的二分类问题,感知机从输入到输出的模型如下:
对于分类问题数学化处理:
定义损失函数:
目标就是找到w*,使的L(w)最小,计算迭代如下:
以上的该感知机模型可用于二分类问题 。
3、多层前馈网络与BP算法
3.1 多层感知机
上面的二分类问题可以用一条直线分开,实现二分类。但现在要考虑以下问题(XOR问题):对第三个图的分类,必须用两条直线,如第四个图所示。
基于此问题引出了多层感知机,相比于2.4中只有一层w权重,在输入和输出层间加一或多层隐单元,构成多层感知器(多层前馈神经网络)。
3.2 BP算法
![](https://i-blog.csdnimg.cn/blog_migrate/4fc8c6150a3d63129643ba1ecfb9a306.png)
4、性能优化
我们在利用训练集训练模型时,一般训练次数越多,模型越准确,但随着次数增加,有时模型的准确度不再改变,原因是每次梯度下降都使模型向一个弹性球在U型槽里左右撞击,就是到不了槽底,即损失函数的值到不了最优值。
解决方法有动量法,自适应梯度法等,具体方法参考如下文章: