小言_互联网的博客

图像常用的神经网络方法优缺点及应用总结

458人阅读  评论(0)

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神经网络网络主要四个方面的应用:

  1. 函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。
  2. 模式识别:用一个待定的输出向量将它与输入向量联系起来。
  3. 分类:把输入向量所定义的合适方式进行分类。
  4. 数据压缩:减少输出向量维数以便于传输或存储。

 

优点:

  1. BP神经网络最主要的优点是具有极强的非线性映射能力。
  2. BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。
  3. BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。
  4. BP 神经网络对外界输入样本有很强的识别与分类能力。

 

局限性:

  1. 由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。
  2. 针对非线性可分问题时,使用 BP 神经网络可能出现局部最小值导致无法找到全局最优解,并且在面对大样本数据时均方误差 MSE 过大导致难以收敛。

4. 卷积神经网络(Convolutional Neural Networks, CNN)

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。CNN是一种带有卷积结构的深度神经网络,统称至少有两个非线性可训练的卷积层、两个非线性的固定卷积层(又称为Pooling Layer)和一个全连接层,一共至少5个隐含层。传统 CNN 结构包括四种层结构:卷积层、池化层、全连接层、输出层。

 

应用:

  1. 计算机视觉
    1. 图像识别(字符检测、字符识别)
    2. 物体识别(语义分割、场景分类、图像显著性检测)
    3. 行为认知
    4. 姿态估计
  2. 自然语言处理
    1. 句子分类、自动补全
    2. 机器翻译

 

优点:

  1. CNN中卷积层的权值共享使网络中可训练的参数边少,降低了网络模型复杂度,较少过拟合,从而获得一个更好的泛化能力。
  2. CNN结构中使用池化操作使得模型中的神经元个数大大的减少,对输入空间的平移不变行也更有鲁棒性
  3. CNN结构的拓展性很强,它可以采用很深的层数,深度模型具有更强的表达能力,能够处理更复杂的分类问题
  4. CNN的局部连接、权值共享和池化操作比传统的MLP具有更少的连接和参数,更易于训练。

局限性:

  1. 深层卷积的计算量需求大,输入图片大小固定,在嵌入式设备应用方面具有局限性。

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

隐藏层节点输出取决于当前节点输入和上个节点值

提取时序特征能力强、泛化能力相对好

输入输出序列不同、处理长期依赖精度下降

用于处理时序数据,应用于语音识别、自然语言理解等

 

 


转载:https://blog.csdn.net/qq_36623595/article/details/115675958
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场