斯坦福深度学习CS230课程cheatsheet学后总结提纲1
Marshal Zheng-04-12文章目录
斯坦福深度学习CS230课程cheatsheet学后总结提纲1OverviewTYPES OF LAYER卷积层池化层:全连接层FILTER HYPERPARAMETERS滤波器维度步幅S0-填充TUNING HYPERPARAMETERS卷积层参数适应性(兼容)理解模型复杂性容纳域COMMONLY USED ACTIVATION FUNCTIONSReLU(rectified(矫正) Linear unit)OBJECT DETECTION模型类别-三种主要识别算法检测-两种主要方法交并比(*IoU*)锚盒Non-max suppressionYOLO:YOU ONLY LOOK ONCER-CNN:REGION WITH CONVOLUTIONAL NEURAL NETWORKSOverview
传统CNN的结构:输入图像——卷积——池化——全连接
其中,卷积层和池化层可根据超参微调
TYPES OF LAYER
卷积层
使用滤波器filter执行卷积操作。其超参包括滤波器尺寸F和步幅(窗口移动长度)S,输出是特征映射或叫激活映射feature maporactivation map
池化层:
下采样操作,卷积层之后进行,空间不变性,最大池化(每一个池化操作选择当前view最大值),平均池化(每一个池化操作选择当前view平均值),最大池化广泛使用,平均池化在LeNet中使用
全连接层
一般在CNN的最后,用来优化目标
FILTER HYPERPARAMETERS
滤波器维度
F×FF \times FF×F大小,包含CCC个通道,体积为F×F×CF \times F \times CF×F×C,输入大小:I×I×CI \times I \times CI×I×C输出feature map大小:O×O×1O \times O \times 1O×O×1,应用KKK个滤波器,输出大小为:O×O×KO \times O \times KO×O×K
步幅S
每次操作窗口移动的像素
0-填充
增加PPP个0到每个输入的边界,可以手动可以自动。
TUNING HYPERPARAMETERS
卷积层参数适应性(兼容)
O=I−F+Pstart+PendS+1O = \frac{I-F+P_{start}+P_{end}}{S}+1 O=SI−F+Pstart+Pend+1
理解模型复杂性
以参数的数量来决定(一般)
容纳域
第kkk层,第kkk个激活映射,输入大小:Rk×RkR_k \times R_kRk×Rk,其中
Rk=1+∑j=1k(Fj−1)∏i=0j−1SiR_k = 1+\sum_{j=1}^{k}(F_j-1)\prod_{i=0}^{j-1}S_i Rk=1+j=1∑k(Fj−1)i=0∏j−1Si
COMMONLY USED ACTIVATION FUNCTIONS
ReLU(rectified(矫正) Linear unit)
目标要表示网络中的非线性,通常还有Leaky ReLU,ELU
Softmax:可以看成一个生成式的logistics函数,输入x的打分向量,输出概率p,定义为:
(2)p={p1p2⋯pk}wherepi=exi∑j=1nexjp = \left\{ \begin{matrix} p_1 \\ p_2 \\ \cdots \\ p_k \end{matrix} \right\}\tag{2} \quad where \quad p_i= \frac{e^{x_i}}{\sum_{j=1}^{n}e^{x_j}} p=⎩⎪⎪⎨⎪⎪⎧p1p2⋯pk⎭⎪⎪⎬⎪⎪⎫wherepi=∑j=1nexjexi(2)
OBJECT DETECTION
模型类别-三种主要识别算法
图像识别:传统CNN分类和目标位置识别:简单YOLO, R-CNN目标检测:YOLO, R-CNN检测-两种主要方法
约束框检测(BOUNDING BOX DETECTION)标志检测(LANDMARK DETECTION)交并比(IoU)
IoU(Bp,Ba)=Bp∩BaBp∪BaIoU(B_p,B_a) = \frac{B_p \cap B_a}{B_p \cup B_a} IoU(Bp,Ba)=Bp∪BaBp∩Ba
锚盒
预测重叠的约束框(bounding boxes),允许网络同时预测多余一个框,每个框有一个给定的集合形状特点。
Non-max suppression
去除重叠的约束框。首先选择最有代表性的一个框,之后选出所有预测概率小于0.6的框。WHILE 仍然有框剩下,则执行以下步骤:
step 1:选出最大概率的框step 2:抛弃所有IoU≥0.5\geq0.5≥0.5的框
YOLO:YOU ONLY LOOK ONCE
算法步骤:
step 1:将输入图像分成G×GG \times GG×G的栅格step 2:对每个栅格单元,跑 CNN,预测小面格式的y
y=[pc,bx,by,bh,bw,c1,c2,⋯ ,cp⎵重复k次,⋯ ]T∈RG×G×k×(5+p)y = [\underbrace{p_c,b_x,b_y,b_h,b_w,c_1,c_2,\cdots,c_p}_{重复k次},\cdots]^T \in R^{G\times G\times k \times (5+p)} y=[重复k次pc,bx,by,bh,bw,c1,c2,⋯,cp,⋯]T∈RG×G×k×(5+p)
其中,pcp_cpc是检测目标的可能性,bx,by,bh,bwb_x,b_y,b_h,b_wbx,by,bh,bw是检测约束框的特征,c1,⋯ ,cpc_1,\cdots,c_pc1,⋯,cp是one-hot哪个p类被检测到的代表,kkk是锚框的数量
step 3:运行non-max suppression算法来去除潜在的重叠的约束框
remark:pc=0p_c = 0pc=0的时候,网络没有检测目标,相应的预测cx,bxc_x,b_xcx,bx也被忽略。
R-CNN:REGION WITH CONVOLUTIONAL NEURAL NETWORKS
首先分割图像找到潜在相关的约束框然后,运行检测算法在这些约束框中找到最可能的目标remark:虽然原始的算法计算代价很大,运算很慢,但是新的架构让算法运行更快乐,比如Fast R-CNN,和Faster R-CNN