LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
ML学习笔记-CS231n(3-4)

3 Optimization

Introduction

上一节介绍了imageclassification问题需要的 带参数W的scorefunction和 评价score function的loss function,将问题变换为 最小化loss的最优化问题。因此接下来要介绍的就是optimization优化。

 

Optimization

The goal of optimization is to find W thatminimizes the loss function.

Core idea:iterative refinement 迭代的优化。可以比喻为戴着眼罩登山,只能知道自己脚下的情况,于是需要一步一步的增加自己的高度去找到山顶(水平坐标为W,高度为loss)。

Following the Gradient:梯度显示了山坡倾斜的方向,根据梯度来登山。

Computingthe gradient:分为数值法和解析法。数值法即给W的一个维度一个小增量dW,差分近似得到(往前走一小步看看是上升还是下降,完了再往左试试)。但对每一个维度都需要计算一次,计算量太大。故采用解析法。

 

Gradient Descent(GD)

Vanilla GD:W += step_size * gradient (固定步长,最基础的算法)

Mini-batch GD:注意L是对所有样本的Li求和得到,即上述gradient是L对W的梯度。对于容量很大的样本集,计算所有样本只更新一次效率很低,因此从样本集中抽出一定容量的mini-batch,每一个mini-batch进行一次L的计算和GD。当mini-batch容量设为1时即为StochasticGD(SGD)。容量常设为2的幂,如32、64(计算快)。

画张图意思一下。

https://cs231n.github.io/optimization-1/

---------------------------------------

4 Backpropagation

接上一节提到的用解析法求梯度。核心在与使用chainrule 链式法则。

Emmm,原文讲的太基础太长,再画一张图解决。网络是多层的,在计算第n层参数的梯度时,可以利用第n+1层的梯度与这两层之间的梯度之积得到。这个计算是从最后一层开始往输入层算。所以叫Backpropagation反向传播。相对的,利用网络从输入算出输出值的过程就是Forward-propagation。

不过原文提到了合理利用内存资源提高计算效率的技巧,可以参考。

https://cs231n.github.io/optimization-2/


推荐文章
评论(0)
分享到
转载我的主页