百度paddlepaddle入门讲解第二周内容

Baidu AI Studio - 2

day8 0818

讲卷积神经网络,神经网络相关内容请参考CNN卷积神经网络知识点小节

Q1 大致流程

单张单通道图像卷积,单张图池化,激活函数act和偏置项,padding填充操作,stride步幅操作,单张多通道图像卷积,多张多通道图像卷积。

容易遇到的问题:

  1. 卷积过后需要添加偏置项。
  2. 多张多通道图像卷积是一个4维的数组,排列顺序为[N,C,H,W],即[图像数量,通道数,高度,宽度]

Q2 感受野

定义:输出特征图上一个像素点,能够感受的输入图像的区域,换句话说,就是输入图像中感受野区域的像素值发生变化,在输出图中都有可能显示出来。

特征:卷积层越多,感受野的范围越大;越是经过较多卷积的特征层,具有的语义含义也就越多。

D8-1

P1 卷积函数

飞桨卷积算子对应的API是paddle.fluid.dygraph.Conv2D,用户可以直接调用API进行计算,也可以在此基础上修改。常用的参数如下:

  • num_channels (int) - 输入图像的通道数。
  • num_fliters (int) - 卷积核的个数,和输出特征图通道数相同,相当于上文中的 C o u t C_{out} Cout
  • filter_size(int|tuple) - 卷积核大小,可以是整数,比如3,表示卷积核的高和宽均为3 ;或者是两个整数的list,例如[3,2],表示卷积核的高为3,宽为2。
  • stride(int|tuple) - 步幅,可以是整数,默认值为1,表示垂直和水平滑动步幅均为1;或者是两个整数的list,例如[3,2],表示垂直滑动步幅为3,水平滑动步幅为2。
  • padding(int|tuple) - 填充大小,可以是整数,比如1,表示竖直和水平边界填充大小均为1;或者是两个整数的list,例如[2,1],表示竖直边界填充大小为2,水平边界填充大小为1。
  • act(str)- 应用于输出上的激活函数,如Tanh、Softmax、Sigmoid,Relu等,默认值为None。

输入数据维度 [ N , C i n , H i n , W i n ] [N, C_{in}, H_{in}, W_{in}] [N,Cin,Hin,Win],输出数据维度 [ N , n u m _ f i l t e r s , H o u t , W o u t ] [N, num\_filters, H_{out}, W_{out}] [N,num_filters,Hout,Wout],权重参数 w w w的维度 [ n u m _ f i l t e r s , C i n , f i l t e r _ s i z e _ h , f i l t e r _ s i z e _ w ] [num\_filters, C_{in}, filter\_size\_h, filter\_size\_w] [num_filters,Cin,filter_size_h,filter_size_w],偏置参数 b b b的维度是 [ n u m _ f i l t e r s ] [num\_filters] [num_filters]

day9 0819

Q1 激活函数sigmoid的弊端?

很有可能造成梯度消失。

Q2 批归一化Batch Normalization

计算均值,计算方差,变成标准正态分布,仿射变换

是在训练过程中将大量样本的均值和方差保存下来,预测时直接使用保存好的值而不再重新计算。实际上,在BatchNorm的具体实现中,训练时会计算均值和方差的移动平均值。默认采用权重叠加法计算训练集的相关参数。

Q3 丢弃法Dropout

在预测场景时,会向前传递所有神经元的信号,可能会引出一个新的问题:训练时由于部分神经元被随机丢弃了,输出数据的总大小会变小。比如:计算其L1L1L1范数会比不使用Dropout时变小,但是预测时却没有丢弃神经元,这将导致训练和预测时数据的分布不一样。为了解决这个问题,飞桨支持如下两种方法:

downgrade_in_infer

训练时以比例rrr随机丢弃一部分神经元,不向后传递它们的信号;预测时向后传递所有神经元的信号,但是将每个神经元上的数值乘以 (1−r)(1 - r)(1−r)。

upscale_in_train

训练时以比例rrr随机丢弃一部分神经元,不向后传递它们的信号,但是将那些被保留的神经元上的数值除以 (1−r)(1 - r)(1−r);预测时向后传递所有神经元的信号,不做任何处理。

day10 0820

图像分类任务

网络名称时间ImageNet冠军
AlexNet20121
VGG2014
GoogLeNet20141
ResNet20151

day11 0821

Q1 目标检测的任务

分类:如何产生候选区域,并对它们进行标注。

精细化:提取图像特征,并将特征图与候选区域的类别和位置进行关联。

候选区域 = 感兴趣区域 = Proposal = ROI

Q2 包围框和锚框

包围框:正好能包含住物体的矩形框,boundingbox bbox,还可以分为真实包围框和预测包围框。

两种表示方法:[x1, y1, x2, y2][x, y, w, h]

锚框:人为构造的假想框,以某种指定的规则生成。即制定好几组高度和宽度,在图像上选取点,可以框出不同的锚框。其实和候选区域发挥的作用是一样的,只是采用了一种高级的方法提取“候选区域“,这种新的方法提取出来的”候选区域“也有了一个新的名字”锚框“。

在目标检测模型中,通常会以某种规则在图片上生成一系列锚框,将这些锚框当成可能的候选区域。模型对这些候选区域是否包含物体进行预测,如果包含目标物体,则还需要进一步预测出物体所属的类别。还有更为重要的一点是,由于锚框位置是固定的,它不大可能刚好跟物体边界框重合,所以需要在锚框的基础上进行微调以形成能准确描述物体位置的预测框,模型需要预测出微调的幅度。在训练过程中,模型通过学习不断的调整参数,最终能学会如何判别出锚框所代表的候选区域是否包含物体,如果包含物体的话,物体属于哪个类别,以及物体边界框相对于锚框位置需要调整的幅度。

两者之间的关系:

生成一些列锚框

D11-1

Q3 图像增强

随机改变亮暗对比度和颜色

随机填充

随机裁剪

随机缩放

随机翻转

Q4 YOLOV3

D11-2

day12 0822

Q1 生成锚框

分成20 * 15个放个grid,每个grid结合三个固定大小的框,合并成锚框,20 * 15 * 3 = 900个锚框

生成锚框后,随机选参数[tx, ty, tw, th]进行微调,生成proposal候选区域。

Q2

标注候选区域,是否包含物体

找出真实框所在区域及该区域的三个锚框

计算IoU,找出与真实框最匹配的锚框

计算t的值

类别标签为one-hot向量

day13 0823

Q1 多层级输出

输出不同大小的特征图

Q2 非极大值抑制

逐次循环,选得分最高的预测框保留,剩下的预测框与之循环比较IoU,大于阈值就去掉,小于阈值保留,依次遍历所有候选的预测框。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值