任务标题:
学习函数的优化策略
任务简介:
观看斯坦福CS231n第三讲课程(优化部分)
任务详解:
第三讲:损失函数和优化
8 优化
这部分主要包括两个内容一个是优化方法。另一个是传统图像识别方法两步走策略。
优化方法 主要是学习常用的优化算法学习,例如梯度下降,带动量的梯度下降以及Adam等一系列优化方法。其中本节课提到了梯度、导数的含义以及学习率这个重要的超参数,这个超参数是我们训练神经网络需要首要考虑的。随机梯度下降使用minibatch数据来估计总的误差以及梯度,这样速度比使用全部数据计算更快。
两步走策略重点介绍了传统方法如何做图像分类任务。第一步提取图像的特征:颜色分布,HOG, SIFT特征,bag of words。第二使用步分类算法进行识别图像类别。
梯度下降常用的优化策略 sgd adam等方法是大家重点要学习的 ,两步走策略进行图像识别步骤 需要了解。
2017版CS231n课程学习视频B站参考学习地址:P3 Loss Function and Optimization
https://www.bilibili.com/video/av13260183?p=3 优化部分
作业内容:
1. 梯度下降策略的公式与描述(sgd, adam)
使用有限差分法计算会很复杂、很慢,W很可能是成千上万维的
使用微积分计算就会很方便,直接写出梯度的表达式,只要计算一个公式就可以了。
数值梯度不好用,解析梯度好用
但是数值梯度是很好的调试工具,梯度检查就是使用数值梯度作为单元测试来检测解析梯度的正确性
步长是一个超参数,其也叫做学习率,训练网络时是第一个要检查的超参数,其他的比如模型的大小以及正则化会晚点再做
我们定义数据的损失值是所有训练集损失值的平均值,但实际上N会很大,那么计算该损失值的计算成本会很高,需要很长一段时间来跟新W。所以实际操作中我们往往使用随机梯度下降法,它并非计算整个训练集的误差和梯度值。而是在每次迭代时选取一小部分训练样本成为minibatch(小批量),利用minibatch来估算误差总和以及实际梯度。每次迭代minibatch都是随机选取的。
2.图像识别两步走策略的步骤 ,输入图像特征的动机
线性分类器就是将图像的原始像素取出,然后直接传入线性分类器,但是这样做效果并不好,所以在深度神经网络大规模运用之前,常用的方法就是首先计算原始图片的各种特征代表,比如说是可能与图片形象有关的数值,然后将不同的特征向量组合到一起,得到图像的特征表述,最后将这一特征表述传入到线性分类器,而不是将原始像素传入到线性分类器。
这样做的动机就是
对于左侧图片的点的分布不能用一个线性决策边界来划分点的种类。但是我们采用一个特征转换(此处使用极坐标转换),得到一个转换特征,就可以把一个复杂的数据集转化成线性可分的。
3. 常见的图像特征有哪些,任意选择两个进行描述(复习hog与sift)
颜色直方图,获取每个像素值对应的光谱,计算每个像素点出现的次数,从全局上告诉我们图像中的有哪些颜色
方向梯度直方图,将图像按八个像素区分为八份,计算每个像素值的主要边缘方向。
词袋,首先获得一推图像,然后从这些图像中进行小的随机块的采样,然后采用k均值等方法将他们聚合成簇,从而得到不同的簇中心,这些簇中心可能代表了图像中不同类型的视觉单词
这些视觉单词就像一个码本,用这些视觉单词对图像进行编码,看这些视觉单词在图像中出现过多少次
4. 传统方式与神经网络处理图像问题有哪些不同点
神经网络不需要提前对图像提取特征,而是直接从图像中学习特征。
优化方法是用来获取最好的W
图像分类:先提取图像的特征,然后进行模型的学习,最后用训练好的分类对特征进行分类。