欢迎光临散文网 会员登陆 & 注册

1.1 卷积神经网络基础

2022-04-27 22:55 作者:小清舍  | 我要投稿

卷积神经网络基础

  1. 卷积神经网络
  2. 全连接层
  3. 卷积层
  4. 池化层

一、卷积神经网络



CNN历史

雏形:LeNet:LeCun1998年提出的网络结构

只要包含了卷积层的网络都可以称为卷积神经网络

  1. 1986年:Rumelhart和Hinton等人提出了反向传播(Back Propagation, BP)
  2. 1998年 :LeCun等利用BP算法训练LeNet5网络,标志着CNN的真正面试(硬件跟不上)
  3. 2006年:Hinton在他们的Science Paper中首次提出了Deep Learning的概念
  4. 2012年:Hinton的学生Alex Krizhevsky在寝室用GPU死磕了一个Deep Learning模型,一举摘下了视觉领域竞赛ILSVRC 2012的桂冠,效果大幅度超过传统的方法,传统的70%多提升到80%多


卷积神经网络无处不在

检测、分割

无人驾驶

有GPU资源尽量使用GPU,因为测试中GPU和CPU的速度相差很大,GPU提升效率在20倍以上

图像描述

图像风格迁移

全连接层

-1是偏置

BP(back propagation)算法包括信号的前向传播和误差的反向传播两个过程。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行

3层BP神经网络可以实现多维单位立方体R^m到R^n的映射,即能够逼近任何有理函数。

实例:利用BP神经网络做车牌数字识别


读入一个RGB图像,可以看到每一个像素里包含三个值,即RGB分量,首先将它灰度化,得到中间图,每个像素值只有一个分量,在进行二值化处理就得到一个黑白图像

5行3列滑动窗口,进行滑动,每滑动一个窗口就计算白色像素占整个像素的比例

后面越界可以补0或者提前判断越界情况更改窗口大小

得到一个5*5的矩阵,将这个矩阵按行进行展开,拼接成一个行向量,把这个行向量当成神经网络的输入层

输出层,one-hot编码是常用对标签编码的一种方式

不会重复,下面是期望输出编码

实际训练过程

输入层25个节点,输出节点10个,中间隐层可按情况设置

三、卷积层


CNN中独特的网络结构

其实是一个滑动窗口在特征图上进行滑动并计算

计算过程:卷积核的值和特征图上的值进行相乘然后相加得到一个值,每滑动一个窗口计算得到一个值,最后得到一个卷积特征图

卷积的目的:进行图像特征提取

卷积特性

  1. 拥有局部感知机制
  2. 权值共享

普通神经网络VS 卷积神经网络

多维卷积操作

RGB

卷积核维度要和输入特征矩阵维度保持一致

卷积后进行求和操作得到一个卷积层,不同卷积核进行卷积得到不同输出特征矩阵,然后将不同卷积核得到的输出特征矩阵进行拼接,得到整个输出的特征矩阵

总结

  1. 卷积核的channel与输入特征层的channel相同
  2. 输出的特征矩阵channel与卷积核个数相同

思考

  1. 加上偏移量biass该如何计算
  • 最后将卷积核偏置加在输出特征矩阵上就可以,每个值都加

2.加上激活函数后该如何计算

引入非线性因素,使其具备解决非线性问题的能力


3.如果卷积过程中出现越界的情况怎么办

使用padding方式在周围补上0

四、池化层


例如:MaxPooling下采样层(取最大值作为特征输入值)

目的:对特征图进行稀疏处理,减少数据运算量

平均下采样层(AveragePooling)

相加取平均值

池化层特点:

  1. 没有训练参数
  2. 只改变特征矩阵的w和h,不改变channel
  3. 一般poolsize和stride相同



1.1 卷积神经网络基础的评论 (共 条)

分享到微博请遵守国家法律