卷积神经网络常用名词的个人理解

1人工神经网络

1.1神经元

神经网络由大量的神经元相互连接而成。每个神经元接受线性组合的输入后,最开始只是简单的线性加权,后来给每个神经元加上了非线性的激活函数,从而进行非线性变换后输出。每两个神经元之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。

dropout 防止过拟合,提高泛化能力

数据扩充/ 数据增强:防止过拟合

激活函数

输入层

隐藏层(输入层和输出层之间可能有单个或数个隐藏层)

输出层

层和层之间是全连接的结构,同一层的神经元之间没有连接

y=wx+b

sigmoid的函数表达式
中间是

conv:卷积计算层,线性乘积求和

relu:激励层,ReLU是激活函数的一种

pool:池化层,取区域平均或最大

最右边是

FC:全连接层

这几个部分中,卷积计算层是CNN的核心

1.2CNN怎么进行识别

未知图案的局部和标准图案的局部一个一个比对时的计算过程,便是卷积操作

1.3什么是卷积

对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘在求和)的操作就是所谓的“卷积”操作,也是卷积神经网络的名字来源。

下图是卷积做池化的一个过程

1.4什么是滤波器

即带着一组固定权重的神经元,多个滤波器叠加便成了卷积层。

1.5动态卷积图

在CNN中,滤波器filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。每计算完一个窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据。这个过程中,有几个参数:

a. 深度depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数。

b. 步长stride:决定滑动多少步可以到边缘。

c. 填充值zero-padding:在外围边缘补充若干圈,方便从初始位置以步长为单位可以刚好滑到末尾位置,通俗讲就是总长能被步长整除。

1.6CNN之激励层和池化层
1.6.1ReLU激励层

激活函数sigmoid,但实际梯度下降中,sigmoid容易饱和、造成终止梯度传递,且没有0中心化。尝试另外一个激活函数:ReLU。 ReLU的优点是收敛快,求梯度简单。

1.6.2池化pool层

即取区域平均或最大

全连接层在CNN 中起到分类器的作用,前面的卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间,全连接层是将学到的特征映射映射到样本标记空间,就是矩阵乘法,再加上激活函数的非线性映射,多层全连接层理论上可以模拟任何非线性变换。但缺点也很明显: 无法保持空间结构。

全连接的一个作用是维度变换,尤其是可以把高维变到低维,同时把有用的信息保留下来。全连接另一个作用是隐含语义的表达(embedding),把原始特征映射到各个隐语义节点 (hidden node)。对于最后一层全连接而言,就是分类的显示表达。不同 channel 同一位置上的全连接等价与 1x1 的卷积。N 个节点的全连接可近似为 N 个模板卷积后的均值池化 (GAP)。

1.7 relu:

卷积神经网络使用relu 非线性函数来保证输出的 feature map总是为正数。在反卷积的时候,也需要保证每一层的 feature map 都是正值,所以这里还是使用 relu 作为非线性激活函数。

1.8 Faster R-CNN 方法

Faster R-CNN方法,一个超级加速版 R-CNN 方法。它的速度达到了每秒七帧,即一秒钟可以处理七张图片。技巧在于,不是用图像块来判断是物体还是背景,而把整张图像一起扔进深度网络里,让深度网络自行判断哪里有物体,物体的方块在哪里,种类是什么?

经过深度网络运算的次数从原来的 2000 次降到一次,速度大大提高了。

Faster R-CNN 提出了让深度学习自己生成可能的物体块,再用同样深度网络来判断物体块是否是背景?同时进行分类,还要把边界和给估计出来。

Faster R-CNN 可以做到又快又好,在 VOC2007 上检测 AP 达到 73.2 ,速度也提高了两三百倍。

1.9 YOLO

YOLO 网络,也是进行物体检测,最快达到每秒钟 155 帧,达到了完全实时。它让一整张图像进入到神经网络,让神经网络自己判断这物体可能在哪里,可能是什么。但它缩减了可能图像块的个数,从原来 Faster R-CNN 的 2000 多个缩减缩减到了 98 个。

同时取消了 Faster R-CNN 里面的 RPN 结构,代替 Selective Search 结构。YOLO 里面没有 RPN 这一步,而是直接预测物体的种类和位置。

YOLO 的代价就是精度下降,在 155 帧的速度下精度只有 52.7,45 帧每秒时的精度是 63.4。

1.10 SSD

它是 YOLO 的超级改进版,吸取了 YOLO 的精度下降的教训,同时保留速度快的特点。它能达到58帧每秒,精度有 72.1。速度超过 Faster R-CNN 有 8 倍,但达到类似的精度。

SourceURL:file:///home/sxj/桌面/怎么提高图片卷积神经网络的精度.docx

深度学习常见名词

2 机器学习:残差学习、RNN、GAN、迁移学习、知识蒸馏

2.1 残差学习

网络的深度对模型的性能至关重要,增加网络层数网络可以进行复杂的特征模式的提取,但是神经网络层也是有瓶颈的,

2.2 GAN(生成式对抗网络)

模型通过框架中两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。

2.3 迁移学习

把已经训练好的网络的权重参数拿来,当作你的网络的初始化,然后拿你的数据,在此基础上进行训练学习。

直接把别人训练好的权重参数拿来,当作你的权重参数。后面的全连接层自己来写,完成你的任务。

知识蒸馏指的是将复杂模型(teacher)中学到的知识迁移到简单模型(student)中去

从而用更少的复杂度来获得类似的预测效果,实现模型的压缩和量化。

2.4 end-to-end(端到端)

端到端指的是输入是原始数据,输出是最后的结果

非端到端就是说:输入端不是直接的原始数据,而是在原始数据中提取的特征。

3 如何防止梯度消失?

sigmoid容易发生,更换激活函数为 ReLU即可。

权重初始化用高斯初始化

4 如何防止梯度爆炸?

1 设置梯度剪切阈值,如果超过了该阈值,直接将梯度置为该值。

2 使用ReLU,maxout等替代sigmoid

区别:

1. sigmoid函数值在[0,1],ReLU函数值在[0,+无穷],所以sigmoid函数可以描述概率,ReLU适合用来描述实数;

2. sigmoid函数的梯度随着x的增大或减小和消失,而ReLU不会。

3. Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生

sigmoid导数最大为1/4

a的数值变化范围很小,若x数值仅在[-4,4]窄范围内会出现梯度消失,若大于4则梯度爆炸。

对于sigmoid更容易出现梯度消失。

5 残差网络

我的理解是,ResNet就是单纯的让深层网络初始就很容易做到identity mapping(恒等映射);原始网络是因为深层梯度消失,导致学习能力大幅降低,所以identity mapping都很难做到,反而降低模型表现。 所以skip connection(跳跃连接)的本质就是一个兜底,在此基础上深层能学多少就是赚到,最差就是不进行学习,起码做到不退化。

原文:
CNN笔记:通俗理解卷积神经网络

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值