课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体出现在图片的哪里以及物体之间的联系是什么之类的. CNN是深度学习架构的一种,2012年之前的imageNet,都是特征+支持向量机的,也是分层结构,但没有端到端的特征: Kunihiko Fukushima提出了一个模型,称为Neocognitron,是神经网络架构的开端. 数据本身并没有什么意义…
课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分支,是一个与很多领域紧密关联的学科. 视觉信息,或者叫像素信息是最难被利用的信息,可以把它称之为“互联网中的暗物质”. 我们现在面对的问题:非常大量的数据,以及这些“暗物质”的挑战.我们面对的问题,我们使用的建模(方式)也是跨学科的 如果兴趣范围是关于计算机视觉的一些广泛的讨论,比如工具之类或者一些…
课时26 图像分割与注意力模型(上) 语义分割:我们有输入图像和固定的几个图像分类,任务是我们想要输入一个图像,然后我们要标记每个像素所属的标签为固定数据类中的一个 使用卷积神经,网络为每个小区块进行分类,对在区块的中间打上标签,对图像的全部区块分类完毕,我们就可以得到每个像素所对应的标签,这个操作实际上非常耗时,因为一张图片将会被分割非常多的小块. 如果这些神经网络具有相关的结构,通过这个图像金字塔方法的话,这些图像的输出将会有不同的感受野. 语义分割的迭代精化 我们有一个输入图像,他们被分割…
课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以存你的权重,像素值,激活等,是n维的张量,就像NumPy一样,他实际上内部有四个n维张量,这个张量有一个数据的版本,用于存储原始未处理的数据.剩下三个分别有diffs,GPU,CPU: 层是一种与你作业中所需要实现的功能相似的功能,会接收输入的Blob,caffe管这些输入的Blob称为底端输入,然…
课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层的梯度相乘 前向和反向花费的时间是基本一样的. 大的函数也可以直接视作一个整体计算梯度 当局部梯度非常容易求得时,你可以把这部分表达式看作一整个S门 加法:梯度分配器:所以无论何时当你有一个加法运算时,他会分配相等的梯度值. 最大值门:一个梯度路由,他的工作方式是,认为比较大的输入梯度为1,比较小的…
课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样.然后我们反向传播来得到每一个权重的梯度,这个梯度告诉我们如何去调整每一个权重,最终我们能够更好的分类图片. 为什么要使用激活函数? 如果在整个的神经网络中不使用激活函数,你的网络的分类能力基本等同于一个线性分类器,所以激活函数是相当关键的.他提供了所有的方法,你可以他用来存储数据 BN使得网络的训练更加健壮…
课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号.但是这种方法用在relu网络不是很奏效,这时候需要考虑一个额外因数2,如果没有这个2,则激活输出的分布会以指数级收缩 将梯度正则化就不是反向传播了,如果对梯度进行了人为调整,则优化目标就会变得混乱(因为人为强行改变分布),得到的并不是梯度. 批数据的规范化 基本主旨一般是,你想你的神经网络的每一部…
课时10 神经网络训练细节part1(上) 没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整 从数据集中抽样一小批数据, 将数据运入卷积神经网络中来计算损失值 通过反向传播来确定梯度 最后通过梯度值来微调权值的数值 sihmoid函数 是一个挤压函数,取值为0到1之间的实数 他的第一个问题:一个饱和的神经元,也就是说这个神经元的输出要么非常接近0要么非常接近1,这些神经元会导致在反向传播算法中出现梯度趋0的问题.这个问题就叫做梯度弥散(消失).他有个激活区域. 另…
课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率和最大化对数概率是等价的. Softmax vs. SVM 我们调整其中的评分,使值上下浮动,对于SVM而言,分类正确率可能不会改变.因为测试样例中的边界是由一个大数决定的,SVM对于那种误分类评分低的样例不是很在意.但是对Softmax而言,任何一个测试样例都能提升分类器的性能.SVM具有附加的稳…
课时14 卷积神经网络详解(上) CNN处理的是一些数据块,在这之间有很多层,一系列的层将输入数据变换为输出数据,所以完成操作的中间量不仅是NN时候讲的那些向量,而是立体结构,有宽,高和深度,在整个计算过程中要保持这些三维特征.这里的深度指的是一个数据体的第三个维度. 工作流程 我们得到一些数据,作为网络的输入,在CNN中我们有这样的滤波器,假设现在我们只有一个滤波器,这些滤波器空间维度很小,我们用这个滤波器来和输入图像做卷积运算.这里的卷积运算,意思是说滤波器要在这个图像的空域范围内全部位置滑…