一、随笔
复习机器学习知识,再次编程tensorflow一些程序时,对这个最小二乘法,adam这些概念领域有些混,于是,发起了一些问题,发现两个概念:自适应学习率算法、优化算法 这两个容易混。特此记录写点东西。
二、起源
问1:最小二乘法和SGD是自适应学习率算法吗?SGD呢?
答:最小二乘法不是自适应学习率算法,而SGD(随机梯度下降)也不是,但SGD可以与自适应学习率算法结合使用。
SGD是一种优化算法,用于在机器学习中更新和计算模型的参数。在SGD中,每次迭代使用一个小批量样本计算梯度并更新参数。本身并不具备自适应学习率的功能,即SGD不会根据训练过程中的情况自动调整学习率。
问2:Adam是优化算法吗?
答:Adam是一种优化算法。
问3:自适应学习率算法有哪些?
答:自适应学习率算法是机器学习领域中的一类重要算法,它们可以根据训练过程中的不同情况动态地调整学习率,以提高模型的训练效率和性能。以下是一些常见的自适应学习率算法及其发明年份:
AdaGrad算法:能够自动调整每个参数的学习率,对于稀疏数据特别有效。
RMSProp算法:RMSProp算法是对AdaGrad算法的一种改进,它旨在解决AdaGrad在训练后期可能导致的学习率过小的问题。RMSProp通过引入一个衰减率来控制历史梯度的累积,从而避免学习率过快地衰减。然而,需要注意的是,RMSProp并没有一个明确的“发明年份”,因为它更像是一种在实践中逐渐发展和完善的方法,而不是由一个具体的研究者在某个特定年份提出的。
Adam算法:Adam算法结合了Momentum和RMSProp的思想,它使用梯度的一阶矩估计(均值)和二阶矩估计(未中心化的方差)来动态调整每个参数的学习率。Adam算法在深度学习领域应用广泛,因其性能表现良好,计算效率高,且基本不需要调参。
三、AdaGrad的2011年和Adam的2015年
2011年 由John Duchi(斯坦福大学统计与电气工程系的助理教授,Duchi于2014年在加州大学伯克利分校获得了计算机科学博士学位。要是感觉英文不好记忆,翻译下代号:约翰·杜奇??肚脐??帮助记忆吧)在首次提出。AdaGrad算法它主要加大稀疏参数的学习率而降低非稀疏参数的学习率,从而提高了收敛性能。
图1 约翰杜奇
2015年 Adam算法 由Diederik Kingma(迪德里克·金玛??金马影帝? 。OpenAI的研究员)和Jimmy Ba(吉米·巴??鸡米花 ?,多伦多大学的一名研究员)提出。
图2 迪德里克·金玛
图3 吉米·巴
备注:眼熟大佬不迷路,如有神助就是他们了(刚写吉米巴,干出了吉米巴特勒o(╥﹏╥)o)。
四、2011年中国
这一年,京沪高铁建成通车,京沪两大城市之间实现4个小时(梯度下降的时间啊!!!)直达,极大地促进了沿线地区的经济和社会发展。
五、2015年中国
屠呦呦获得诺贝尔生理学或医学奖。10月5日,中国中医科学院研究员屠呦呦因在青蒿素研究中的杰出贡献,获得该奖项。这是中国本土科学家首次获得诺贝尔自然科学奖项。(A级dam 大妈牛皮!!)
六、总结
Adaptive Moment Estimation(适应性矩估计) 是Adam的全称。
而AdaGrad和RMSProp的全称分别是:
AdaGrad的全称是Adaptive Gradient Algorithm,中文可以翻译为 自适应梯度算法。
RMSProp的全称是Root Mean Square Propagation,中文可以翻译为 均方根传播。
梯度:函数在某一点的方向导数沿着该方向取得的最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
学习率:AdaGrad自动调整每个参数的学习率,这是起源吧。学习率是一个超参数,用于控制模型在训练过程中参数更新的步长。它决定了模型在每次迭代中根据梯度进行参数调整的大小。
重点!!!:梯度指明了模型参数调整的方向,而学习率则决定了参数调整的大小
衰减率:RMSProp引入的的,避免学习率过快衰减。