400-123-4567
公司动态 行业新闻
模型优化器(optimizer)说明
浏览量:    所属栏目:【行业新闻】    时间:2024-08-12

文心模型优化器(optimizer)模块可以通过在所使用模型(models)的 optimizer() 方法里自定义的方式实现。大部分模型在未指定优化器时,默认采用Adam。

文心模型优化器模块通过对建模核心接口类model(https://ai.baidu.com/ai-doc/ERNIE/textone/models/model.py)中的 optimizer() 方法重写来实现,其功能和参数定义如下所示。

以分类任务预置模型cnn_classification.py为例,其优化器模块的实现如下所示。

在基于ernie的预置模型中,没有在 optimizer() 方法中指定模型的优化器,此时模型默认采用Adam,如下所示。

其中opt_args_dict用来传ernie需要的一些额外参数。如果想自定义优化方式,可以直接在此处进行添加,如下图红框所示。

以下列举一些常用optimizer及其说明,如需了解更多信息请参考fluid.optimizer

优化器名称 别名 介绍 代码示例 更多详情
AdamOptimizer Adam Adam优化器出自Adam论文 的第二节,能够利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。 adam_optimizer=fluid.optimizer.AdamOptimizer(learning_rate=0.01)
adam_optimizer.minimize(loss)
AdamOptimizer
AdamaxOptimizer Adamax Adamax优化器是参考 Adam论文 第7节Adamax优化相关内容所实现的。Adamax算法是基于无穷大范数的 Adam 算法的一个变种,使学习率更新的算法更加稳定和简单。 adam=fluid.optimizer.AdamaxOptimizer(learning_rate=0.2)
adam.minimize(loss)
AdamaxOptimizer
AdagradOptimizer Adagrad Adaptive Gradient 优化器(自适应梯度优化器,简称Adagrad)可以针对不同参数样本数不平均的问题,自适应地为各个参数分配不同的学习率。相关论文:Adaptive Subgradient Methods for Online Learning and Stochastic Optimization。 optimizer=fluid.optimizer.AdagradOptimizer(learning_rate=0.2)
optimizer.minimize(loss)
AdagradOptimizer
SGDOptimizer SGD 该接口实现随机梯度下降算法的优化器 sgd_optimizer=fluid.optimizer.SGD(learning_rate=0.001)
sgd_optimizer.minimize(loss)
SGDOptimizer
网站首页 高德娱乐简介 高德注册 高德登录 高德新闻 高德APP下载 高德代理加盟 联系我们

Copyright © 2012-2018 首页-高德娱乐-注册登录站 版权所有
电话:400-123-4567      手机:13800000000
E-mail:admin@youweb.com      联系人:张生
地址:广东省广州市天河区88号

琼ICP备xxxxxxxx号

扫一扫  关注微信

平台注册入口