当前位置:   article > 正文

全连接、卷积、循环神经网络介绍_卷积神经网络和循环神经网络

卷积神经网络和循环神经网络

神经网络简介

训练神经网络主要围绕下面四部分:

  • 层,多个层组合成网络(或模型)
  • 输入数据和相应目标
  • 损失函数,即用于学习的反馈信号
  • 优化器,决定学习过程如何进行

层、损失函数、优化器之间的关系:

层:神经网络中的核心组件是层,它是一种数据处理模块,可以将其看作是数据过滤器,进去一些数据,出来的数据更具代表性。层的创建原理类似于神经元,神经元模型结构为:

  • x:模拟前一个神经元输入(树突)
  • w:模拟“突触”,输入、记忆能力
  •  w0:为偏置量 
  • f:为激活函数,模拟神经元的兴奋和抑制

激活函数是人工神经网络的一个极其重要的特征。它决定一个神经元是否应该被激活,激活代表神经元接收的信息与给定的信息有关。激活函数对输入信息进行非线性变换。 然后将变换后的输出信息作为输入信息传给下一层神经元。

当我们不用激活函数时,权重和偏差只会进行线性变换。线性方程很简单,但解决复杂问题的能力有限。没有激活函数的神经网络实质上只是一个线性回归模型。激活函数对输入进行非线性变换,使其能够学习和执行更复杂的任务。我们希望我们的神经网络能够处理复杂任务,如语言翻译和图像分类等。线性变换永远无法执行这样的任务。

激活函数使反向传播成为可能,因为激活函数的误差梯度可以用来调整权重和偏差。如果没有可微的非线性函数,这就不可能实现。

不同的张量格式与不同的数据处理类型需要用到不同的层

  • 简单的向量数据保存在形状为(samples,features)的2D张量中,通常使用密集连接层也叫全连接层,对应keras的Dense类
  • 序列数据保存在形状为(samples,timesteps,features)的3D张量中,通常使用循环层,比如keras的LSTM层
  • 图像数据保存在4D张量中,通常使用二维卷积层(keras的Conv2D)来处理

损失函数(目标函数):在训练过程中需要将其最小化。它能衡量当前任务是否已经成功完成。

选择正确的目标函数对解决问题是十分重要的。网络的目的是使得损失尽可能最小化,因此如果目标函数不能与成功完成当前任务不完全相关,那么网络最终得到的结果可能会不符合预期。

对于分类、回归、序列预测等常见问题,可以遵循简单的指导原则来选取正确的损失函数

  • 对于二分类问题,可以使用二元交叉熵(binary crossentropy)损失函数
  • 对于多分类问题,可以使用分类交叉熵(categorical crossentropy)损失函数
  • 对于回归问题,可以使用均方误差(mean-squared error)损失函数
  • 对于序列学习问题,可以用联结主义时序分类(CTC,connectionist temporal classification)损失函数

优化器:决定如何基于损失函数对网络进行更新

为了得到泛化效果好的模型,需要防止神经网络过拟合

  • 获得更多的训练数据
  • 减小网络容量
  • 添加权重正则化
  • 添加dropout

权重正则化:强制让模型权重只能取较小的值,从而限制模型的复杂度,这使得权重的分布更加规则。实现方法就是向网络损失函数中添加与较大权重值相关的成本。这个成本有两种形式。

  • L1 正则化(L1 regularization):添加的成本与权重系数的绝对值[权重的 L1 范数(norm)]成正比。
  • L2 正则化(L2 regularization):添加的成本与权重系数的平方(权重的 L2 范数)成正比。
    神经网络的 L2 正则化也叫权重衰减(weight decay)。不要被不同的名称搞混,权重衰减
    与 L2 正则化在数学上是完全相同的。

dropout正则化:dropout是神经网络最有效也最常用的正则化方法之一,对某一层使用dropout,就是在训练过程中随机将该层的一些输出特征舍弃。

卷积神经网络

全连接网络的缺陷:

  • 首先将图像展开为向量会丢失空间信息;

  • 其次参数过多效率低下,训练困难;

  • 同时大量的参数也很快会导致网络过拟合

  • 密集连接层和卷积层的根本区别在于,Dense层从输入特征空间中学到的是全局模式(比如MNIST数字,全局模式就是涉及所有像素的模式),而卷积层学到的是局部模式,对于图像来说,学到的就是在输入图像的二维小窗口中发现的模式。

这个重要特性使得卷积神经网络具有两个特殊性质

  • 卷积神经网络学习到的模式具有平移不变性。卷积神经网络在图像右下角学到某个模式之后,它可以在任何地方识别这个模式,比如左上角。对于密集链接网络来说,如果模式出现在新的位置,它只能重新学习这个模式。这使得卷积神经网络在处理图像时可以很高效利用数据(因为视觉世界从根本上具有平移不变性),它只需要较少的训练样本基于可以学习到具有泛化能力的数据表示
  • 卷积神经网络可以学习到模式的空间层次结构,例如第一个卷积层学习较小的局部模式(比如边缘),第二个卷积层将学习由第一层特征组成的更大的模式,以此类推。这使得卷积神经网络可以有效地学习越来越复杂、越来越抽象的视觉概念(因为视觉世界从根本上具有空间层次结构)

卷积神经网络结构

  • 输入层
  • 卷积层
  • 激活函数
  • 池化层
  • 全连接层

卷积层:

 CNN 网络中卷积层的两个常用参数paddingstrides

 padding是指是否对图像的外侧进行补零操作,其取值一般为VALID和SAME两种

  • VALID表示不进行补零操作,对于输入形状为(
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/219321
推荐阅读
相关标签