在算法优化这一周的课程里,大纲是这样的
- Mini-batch gradient descent
- Understanding mini-batch gradient
- Exponentially weighted averages
- Understanding exponentially weighted averages
- Bias correction in exponentially weighted averages
- Gradient descent with momentum
- RMSprop
- Adam optimization algorithm
- Learning rate decay
- The problem of local optima
这一周的课程非常连贯,10节课程一气呵成没有任何分段。我们来看一下他们的内在逻辑。先看几个图:
在一个标准的Gradient Descent中,下降是非常直接而且直线的,很完美。然而根据本章的描述,这种完美在大数据的情况下会出现一定的问题。那就是每一次迭代update parameter的过程,因为涉及到的样本的数量过于庞大,导致需要做完所有的样本才能实现一次下降。这导致计算效率过低。如何才能提高计算效率呢,那就是争取早一点出结果,让后面的计算早一点站在“前人”的肩膀上工作。于是有了基于mini-batch的算法。
这种算法的好处是,虽有下降不再是那么完美的直线,但是它能让数据计算快速产生结果,让参数的更新加快、
在之后的学习中,Andew引入了Exponentially weighted averages概念。说白了,因为mini-batch的引入导致了比较剧烈的震荡,这会让下降的偏移度增加,导致下降到类似cost function指标需要的迭代明显增加了,于是引入了加权平均的概念,帮助缩小振幅,这让mini-batch算法既保留了快速应用前人结果进行下降的优势,又让下降的震荡幅度缩小。随后的momentum和RMSprop以及合体的Adam Optimization,大体就是以上逻辑的算法实现。
最后,章节描述了梯级下降中Learning rate的调优方法以及解释了局部最优困扰为什么是不存在的。