| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 梯度下降优化器小结(RMSProp,Momentum,Adam) -> 正文阅读 |
|
[人工智能]梯度下降优化器小结(RMSProp,Momentum,Adam) |
推荐链接: 梯度下降优化器可视化?RMSprop - 搜索结果 - 知乎 pytorch相关api?torch.optim.Adam算法里面参数的含义_子燕若水的博客-CSDN博客_adam中的weight_decay 正文内容: 原始梯度下降算法 delta = - learning_rate * gradient theta += delta 导致的问题是特别陡峭的地方和特别平缓的地方采用同样的learning_rate,如果learning_rate太大很容易在陡峭的地方一个大幅度的迭代会跨过最优解很远,如果learning_rate太小,在平缓的地方会学习很慢。 所以有了RMSProp版的优化器, sum_of_gradient_squared = previous_sum_of_gradient_squared * decay_rate+ gradient2 * (1- decay_rate) delta = -learning_rate * gradient / sqrt(sum_of_gradient_squared) theta += delta RMSProp的优点就是学习率?要除以一个?,而?的主要成分就是当前梯度的模的大小,即当前坡度的陡峭程度,?这样就可以使得当前坡度越陡峭,迈出的步伐越小,如果当前坡度越平缓,迈出的步伐越大。 当然还有一个次要部分,就是上一次迭代中的模的大小,这个值纪录了最近经历的坡度的历史陡峭程度,是一个context值,可以一定程度上推测未来几个迭代中坡度的大概情况。 上面只考虑了历史的梯度,如果考虑历史成分从历史梯度变成前一次的移动方向及大小则称之为动量法(momentum)。 ?仔细看v的变化过程,其实仅仅考虑前一次的移动方向(及大小)就是考虑了历史所有移动方向(及大小)。 如果既考虑历史的梯度,同时也考虑历史的移动方向,则有Adam优化法: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 20:22:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |