1. 磐创AI-开放猫官方网站首页
  2. 机器学习
  3. TensorFlowNews

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

点击上方“磐创AI”,选择“置顶公众号”

精品文章,第一时间送达

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

源:Github

转载自:新智元,未经允许不得二次转载


作为全球计算机四大名校之一,斯坦福大学的CS230《深度学习》课程一直受到全球计算机学子和从业人员的热烈欢迎。

 

CS230授课人为全球著名计算机科学家吴恩达和他的助教Kian Katanforoosh。


日前,MIT的Afshine Amidi 和斯坦福大学的Shervine Amidi在博客上整理了一份CS230课程知识点的归纳总结,在Reddit上引发热议。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


评论网友纷纷表示喜大普奔,对于没有条件上课或者没赶上授课时间的人来说,看看这份总结贴也能获益颇丰。

 

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


这份总结提要基本遵循CS230的授课思路和流程,分三大方面由浅入深地介绍了深度学习的基本概念、网络模型、研究和实验操作方法等。三部分内容分别为:卷积神经网络、递归神经网络、提示与技巧。

 

本文主要介绍这份总结的第一部分,即CNN部分的内容,后两部分RNN、窍门与技巧部分,读者可自行参看Github上放出的资源:


卷积神经网络(CNN)

https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks


递归神经网络(RNN)

https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks


技巧与窍门

https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-deep-learning-tips-and-tricks

囊括全部内容的“超级VIP”pdf下载

https://github.com/afshinea/stanford-cs-230-deep-learning/blob/master/super-cheatsheet-deep-learning.pdf


卷积神经网络结构:卷积层、池化层、全连接层

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

传统的卷积神经网络由输入图像、卷积层、池化层和全连接层构成。

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

卷积层(CONV):使用过滤器执行卷积操作,扫描输入大小。它的超参数包括滤波器的Size和Stride。结果输出O称为特征映射或激活映射。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

池化层(POOL)是一种下采样操作,通常在卷积层之下使用,该卷积层执行一些空间不变性。其中最大池化和平均池化属于特殊操作,分别采用最大值和平均值。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

全连接层(FC)在平坦输入上运行,每个输入都连接到所有神经元。如果全连接层存在,通常位于网络体系结构的末尾,可用于优化诸如分类评分等目标。


过滤器超参数


过滤器维度: 大小为F×F的过滤器应用在C channel上维度为F×F×C。

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


Stride:对于卷积和池化操作而言,Stride表示每次操作后窗口移动的像素数量。


Zero-padding表示对输入边界的每一端加入P个零的过程。这个值可以通过下图中所示的三个方式手动指定,也可以自动设置。

 

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

 

超参数的调整


卷积层中的超参数兼容性:记输入量长度为I,过滤器长度为F,补零数量为P,Stride量为S,则该维度下特征映射的输出大小O可用下式表示:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


理解模型的复杂度:为了获取模型复杂度,常常可以通过相应架构下的参数数量来达到这一目标。在给定的卷积神经网络层中,该过程如下图所示:

 

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

 

感受野:层K上的感受野区域记为Rk×Rk,即第K次激活映射可以“看见”的每个输入像素。若层j上的过滤器大小为Fj,层i上的Stride值为Si,且S0=1,则层k上的感受野可以由下式计算出:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

常用激活函数

 

整流线性单元 整流线性单元层(ReLU)是激活函数g,作用于所有元素。它旨在为网络引入非线性特征,其变量总结在下图中:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

 

Softmax:可以视作一个作用于网络架构末端通用逻辑函数,输入为分数向量,输出为概率向量。其定义如下:

 

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

物体检测


模型的类型:

有三类主要的物体识别算法,其预测的性质是不同的。如下表的描述:


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

三类物体识别算法


检测(Detection)

在对象检测的上下文中,根据我们是仅想要定位对象还是想要在图像中检测更复杂的形状,可以使用不同的方法。下面总结了两个主要的方法:


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

边界框检测和特征点检测


Intersection over Union:

Intersection over Union(交并比),也称为IoU,是一种量化预测边界框斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)在实际边界框斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)上的正确定位的函数。它的定义是:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


备注:IoU∈[0,1]。按照惯例,如果IoU(Bp,Ba)⩾0.5,预测边界框Bp被认为是合理的。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


Anchor boxes:

Anchor boxing是一种用于预测重叠边界框的技术。在实际应用中,网络可以同时预测多个box,其中每个box的预测被约束具有给定的一组几何特性。例如,第一个预测可能是给定形状的矩形框,而第二个预测可能是另一个形状不同的矩形框。


Non-max suppression:

Non-max suppression技术旨在通过选择最具代表性的对象来删除同一对象的重叠边界框。在删除了概率预测低于0.6的所有框之后,在剩余框中重复以下步骤:

对于一个给定的类,

步骤1:选择具有最大预测概率的框。

步骤2:删除任何与前一个框的IoU⩾0.5的框。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


YOLO – You Only Look Once这是一种对象检测算法,它执行以下步骤:

步骤1:将输入图像分割成G×G的网格。

步骤2:对于每个网格单元,运行一个CNN网络,预测下面公式中的y:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


其中斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)是检测对象的概率,斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)是检测到的边界框的属性,斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)是检测到的p类的one-hot representation,k是anchor boxes的数量。


步骤3:运行 non-max suppression 算法,删除任何可能的重复重叠边界框。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


R-CNN

Region with Convolutional Neural Networks (R-CNN) 是一种对象检测算法,它首先对图像进行分割以找到潜在的相关边界框,然后运行检测算法,在那些边界框中找到最可能的对象。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


备注:虽然原始算法计算成本高且速度慢,但新的架构能让算法运行得更快,例如Fast R-CNN和Faster R-CNN。


面部验证和识别


模型类型:下面总结了两种主要类型的模型:


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


One Shot Learning

One Shot Learning是一种面部验证算法,它使用有限的训练集来学习相似函数,该函数量化两个给定图像的差异。应用于两个图像的相似度函数通常被标注为d(image 1,image 2).。


Siamese Network

Siamese Networks的目的是学习如何编码图像,然后量化不同的两个图像。对于给定的输入图像斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏),编码输出通常记为斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


Triplet loss

Triplet loss ℓ是在图像A (anchor), P (positive) 和N (negative)这三个图像的嵌入表示上计算的损失函数。 anchor和positive示例属于同一个类,negative示例属于另一个类。通过调用斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)margin参数,该损失定义如下:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


神经风格迁移


动机:

神经风格转移(neural style transfer)的目标是基于给定内容C和给定风格S,生成图像G。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


激活:

在给定层l中,激活被标记为斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏),并且具有维度斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


内容成本函数(Content cost function)

内容成本函数斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)用于确定生成的图像G与原始内容图像C的不同之处。它的定义如下:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)



风格矩阵(Style matrix)

style matrix斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)是一个Gram矩阵,其中每个元素斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)量化了通道k和k’的相关性。它是根据激活斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)定义的:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


风格成本函数(Style cost function )

风格成本函数斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)用于确定生成的图像G与风格S的不同之处。它的定义如下:


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


总成本函数(Overall cost function)

总成本函数的定义是内容和风格成本函数的组合,由参数α, β加权,如下所示:

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


使用计算技巧的架构


生成对抗网络(Generative Adversarial Network)

生成对抗网络,也称为GAN,由生成模型和判别模型组成,其中生成模型旨在生成最真实的输出,这些输出将被用于区分生成图像和真实图像。


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


ResNet(Residual Network)

残差网络架构(也称为ResNet),使用具有大量层的residual blocks来减少训练误差。 residual blocks 具有以下特征:


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


Inception Network 

该架构使用 inception modules,目的是尝试不同的卷积,以通过特征的多样化来提高其性能。具体来说,它使用1×1卷积技巧来限制计算负担。


原文链接:

https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

你也许还想


 “基因编辑婴儿”惹争议,你或许不知道机器学习在脱靶效应中的作用?

   TensorFlow系列专题(十一):RNN的应用及注意力模型

   Python带我飞:50个有趣而又鲜为人知的Python特性

欢迎扫码关注:


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏) 点击下方 |  | 了解更多

磐创AI:http://www.panchuangai.com/ 智能客服:http://www.panchuangai.com/ TensorFlow:http://panchuang.net 推荐关注公众号:磐创AI

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2018/12/04/ad2a817a09/

发表评论

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息