CNN知识

一、卷积神经网络基础

CNN作用

  • 卷积层用于提取特征,后面的全连接层用于对提取的特征做非线性转换,表现为分类器 。
  • 卷积层有移动不变性(Translation-Invariant.),这是由于卷积的原因,所以无论特征在图像的那个地方都能被提取。但是对于MLP(多层感知机)而言,要保证这些特征分布的位置大致相同。
  • 全连接层尝试学习全局特征或模式,它可以表现为一个很好的分类器。

1.Convolutional Layer

卷积层可以被认为是CNN的眼睛。 该层中的神经元寻找特定的特征。 如果他们找到了他们正在寻找的功能,他们会产生很高的激活。

  • 卷积操作(单通道):
    单通道卷积
  • 卷积操作(多通道):用一个 k ∗ k ∗ c k*k*c kkc的滤波器,最终输出为多个通道的叠加
    多通道卷积
  • 如果需要输出为n个通道,则选择n个filter,此时有: n ∗ k ∗ k ∗ c + n n*k*k*c + n nkkc+n个参数,k为滤波器尺寸,c为图像通道数,n为滤波器个数,+n指的是每个滤波器的偏置b。

2. 卷积如何做到大视野的

视野变换

  • 前几层的网络看的区域都比较小,只能检测一些小的如边缘的特征。到更深的网络,神经元从图像的较大部分和各种其他神经元获取信息。 因此,后期层的神经元可以学习更复杂的特征。

3. 我的理解

  1. 卷积层用于提取特征
  2. 特征通过flatten拉直转成多维度的特征向量
  3. 特征向量经过全连接层进行特征转换(线性?非线性),转换到线性空间进行线性二分类?

二、 迁移学习与预训练

  1. 迁移学习
    迁移学习是将别人以及训练好的网络(权重不变)拿过来用,以InceptionV3为例,具体使用的时候保留InceptionV3的全部卷积层的参数,只要替换全连接层。应用的时候,将自己的图像全部通过InceptionV3的网络,将计算的特征存到本地,然后自己搭建一层全连接层。读入本地存好的特征作为输入,之后对全连接层进行训练。
  2. 预训练网络
    将在大数据集上训练得到的weights作为特定任务(小数据集)的初始化权重,重新训练该网络(根据需要,修改全连接层输出);至于训练的方式可以是:1.微调所有层2.固定网络前面几层权重,只微调网络的后面几层,这样做有两个原因:A. 避免因数据量小造成过拟合现象;B.CNN前几层的特征中包含更多的一般特征(比如,边缘信息,色彩信息等),这对许多任务来说是非常有用的,但是CNN后面几层的特征学习注重高层特征,也就是语义特征,这是针对于数据集而言的,不同的数据集后面几层学习的语义不同。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值