1. 人工智能、机器学习与深度学习
- 人工智能:努力将通常由人类完成的智力任务自动化。
- 机器学习机器学习( machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型( model)]。
- 深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层( layer)中进行学习。“深度学习”中的“深度”指的并不是利用这种方法所获取的更深层次的理解,而是指一系列连续的表示层。数据模型中包含多少层,这被称为模型的深度( depth)。
人工智能、机器学习与深度学习关系如图 1所示。在深度学习中,这些分层表示几乎总是通过叫作神经网络( neural network)的模型来学习得到的。以下主要讨论神经网络的分类
图 1. 人工智能、机器学习与深度学习
人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型。该模型以并行分布的处理能力、高容错性、智能化和自学习等能力为特征,将信息的加工和存储结合在一起,以其独特的知识表示方式和智能化的自适应学习能力,引起各学科领域的关注。它实际上是一个有大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统。
2. 神经网络分类
可以从不同的角度对人工神经网络进行分类
- 从网络性能角度可分为连续型与离散型网络、确定性与随机性网络。
- 从网络结构角度可为前向网络与反馈网络。
- 从学习方式角度可分为有导师学习网络和无导师学习网络。
- 按连续突触性质可分为一阶线性关联网络和高阶非线性关联网络。
3. BP神经网络(Back Propagation,BP)
BP(Back Propagation,BP)算法不仅用于多层前馈神经网络,还可以用于训练递归神经网络。解决了多层神经网络隐含层连接权学习问题,并在数学上给出了完整推导。人们把采用这种算法进行误差校正的多层前馈网络称为BP神经网络。BP 神经网络模型(反向传播算法)的网络体系结构是多层的,本质上是一种梯度下降局部优化技术,与网络权重的向后误差校正相关。具有模型清晰、结构简单、计算量小等优点。
BP神经网络网络主要四个方面的应用:
- 函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。
- 模式识别:用一个待定的输出向量将它与输入向量联系起来。
- 分类:把输入向量所定义的合适方式进行分类。
- 数据压缩:减少输出向量维数以便于传输或存储。
优点:
- BP神经网络最主要的优点是具有极强的非线性映射能力。
- BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。
- BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。
- BP 神经网络对外界输入样本有很强的识别与分类能力。
局限性:
- 由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。
- 针对非线性可分问题时,使用 BP 神经网络可能出现局部最小值导致无法找到全局最优解,并且在面对大样本数据时均方误差 MSE 过大导致难以收敛。
4. 卷积神经网络(Convolutional Neural Networks, CNN)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。CNN是一种带有卷积结构的深度神经网络,统称至少有两个非线性可训练的卷积层、两个非线性的固定卷积层(又称为Pooling Layer)和一个全连接层,一共至少5个隐含层。传统 CNN 结构包括四种层结构:卷积层、池化层、全连接层、输出层。
应用:
- 计算机视觉
- 图像识别(字符检测、字符识别)
- 物体识别(语义分割、场景分类、图像显著性检测)
- 行为认知
- 姿态估计
- 自然语言处理
- 句子分类、自动补全
- 机器翻译
优点:
- CNN中卷积层的权值共享使网络中可训练的参数边少,降低了网络模型复杂度,较少过拟合,从而获得一个更好的泛化能力。
- CNN结构中使用池化操作使得模型中的神经元个数大大的减少,对输入空间的平移不变行也更有鲁棒性
- CNN结构的拓展性很强,它可以采用很深的层数,深度模型具有更强的表达能力,能够处理更复杂的分类问题
- CNN的局部连接、权值共享和池化操作比传统的MLP具有更少的连接和参数,更易于训练。
局限性:
- 深层卷积的计算量需求大,输入图片大小固定,在嵌入式设备应用方面具有局限性。
5. 全连接神经网络(Fully Connected Neural Network)
全连接神经网络(fully connected neural network),顾名思义,就是相邻两层之间任意两个节点之间都有连接。全连接神经网络是最为普通的一种模型(比如和CNN相比),由于是全连接,所以会有更多的权重值和连接,因此也意味着占用更多的内存和计算。如图 2 FCN的概略图。
主要应用:语义分割
优点:FCN 同样具备传统卷积网络(CNN)的特点,可以接受任意大小的输入数据,更加高效。
局限性: FCN 经过上采样获得的结果中无法获取图像的详细信息,像素之间的相关性无法得到利用,并且 FCN 缺乏先验知识约束。
图 2. FCN的概略图
6. 递归神经网络(Recurrent neural network,RNN)
循环神经网络(Recurrent Neural Network)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(Recursive Neural Network, RNN)。RNN 是一种基于序列建模的人工神经网络,可以在神经元之间横向传输数据信息,并且部分表达数据之间的相关性,如图 3。 RNN也实现了类似于人脑的这一机制,对所处理过的信息留存有一定的记忆,而不像其他类型的神经网络并不能对处理过的信息留存记忆。
应用:自然语言处理,例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。引入了卷积神经网络(CNN)构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。
优点:提取时序特征能力强、泛化能力相对好
局限性:输入输出序列不同、处理长期依赖精度下降
图 3. 循环网络:带有环的网络
7. 总结
几种常见的神经网络模型对比见表格 1。
表格 1. 神经网络模型对比
名称 | 机制 | 特点 | 缺陷 | 适用场景 |
BP | 梯度下降局部优化 | 非线性映射、自适应能力 | 非线性映射、自适应能力 | 非线性映射、自适应能力 |
CNN | 卷积核特征提取,降采样保留信息 | 稀疏连接、权值共享 | 算量大,输入图片尺寸固 定 | 适合用于空间数据,应用于图像处理、机器翻 译、语义分割 |
FCN | 将CNN全连接操作全部用卷积操作来替代 | 可以处理任意大小的图像,处理速度快 | 无法获取图像的详细信息,像素之间相关性无法验证 | 语义分割、视频处理等 |
RNN | 隐藏层节点输出取决于当前节点输入和上个节点值 | 提取时序特征能力强、泛化能力相对好 | 输入输出序列不同、处理长期依赖精度下降 | 用于处理时序数据,应用于语音识别、自然语言理解等 |