【AutoML】优化方法可以进行自动搜索学习吗?
大家好,欢迎来到专栏《AutoML》,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在优化方法选择中的应用。
作者&编辑 | 言有三
要成功训练一个深度学习模型,正确的优化策略是非常重要的,如果使用不当结果会产生很大的差异,今天来介绍AutoML与优化相关的问题。
1 Neural Optimizer Search
Neural Optimizer Search[1]是一个自动搜索优化方法的框架,它使用强化学习方法设计的RNN结构控制器进行学习,该控制器在每一步中给优化器生成权重更新方程,从而实现最大化模型准确率,示意图如下:
在搜索空间中包含sgd,rmsprop,adam等优化方法,这些方法都可以被表示为一个相同结构的树,如下:
因此一个优化器的应用可以被表示为5个操作,分别是选择op1,op2,两个操作的幅度函数u1,u2,以及最后对这两个操作的综合。
因此,不管选择什么优化器,完成一次优化步骤都是要做以上的5次操作,那么如果可以学习到这5次操作,就完成了一个优化器的搜索,搜索流程如下:
RNN控制器每一次选择长度为5的子序列,如上图。搜索空间如下,具体操作解释可以阅读原文,使用的时候还有一些约束,比如树的左右两个操作不能相同等。
经过在CIFAR10数据集上对一个2层的简单网络进行学习后,它们搜索到了一些有效的优化器,如下图的PowerSign以及AddSign。
当然,研究者们还对衰减机制也进行了搜索学习,感兴趣的读者可以去阅读原文。
最后,研究者们还将PowerSign和AddSign迁移到了ImageNet分类任务和谷歌机器翻译系统,发现它们具有非常好的泛化能力,这使得该框架具有非常大的应用价值。
2 其他
Neural Optimizer Search并不是率先对自动优化器的设计进行学习的框架,在上个世纪[2]研究人员就在思考如何让算法自我学习,自动寻找更好的算法。
文[3-5]也致力于获得更好的更新规则,不过Neural Optimizer Search搜索的是函数的组合而不是具体的数值更新,原理更加清晰并且有更好的泛化能力。如今Meta learning等领域是学界比较有潜力的方法,感兴趣的同学可以自行深入学习。
[1] Bello I, Zoph B, Vasudevan V, et al. Neural optimizer search with reinforcement learning[C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017: 459-468.
[2] Bengio S, Bengio Y, Cloutier J. Use of genetic programming for the search of a new learning rule for neural networks[C]//Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence. IEEE, 1994: 324-327.
[3] Li K, Malik J. Learning to optimize[J]. arXiv preprint arXiv:1606.01885, 2016.
[4] Andrychowicz M, Denil M, Gomez S, et al. Learning to learn by gradient descent by gradient descent[C]//Advances in neural information processing systems. 2016: 3981-3989.
[5] Wichrowska O, Maheswaranathan N, Hoffman M W, et al. Learned optimizers that scale and generalize[C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017: 3751-3760.
总结
优化方法的自动学习是一个研究已久并且非常具有价值的研究方向,本篇仅做了简单介绍,感兴趣的可以内容。
下期预告:AutoML在损失函数设计中的应用。
有三AI秋季划
有三AI秋季划已经正式启动报名,模型优化,人脸算法,图像质量共24个项目,助力提升深度学习计算机视觉算法和工程项目能力。
转载文章请后台联系
侵权必究
往期文章
【AutoML】优化方法可以进行自动搜索学习吗?相关推荐
- 机器学习之超参数优化 - 网格优化方法(随机网格搜索)
机器学习之超参数优化 - 网格优化方法(随机网格搜索) 在讲解网格搜索时我们提到,伴随着数据和模型的复杂度提升,网格搜索所需要的时间急剧增加.以随机森林算法为例,如果使用过万的数据,搜索时间则会立刻上 ...
- 【AutoML】损失函数也可以进行自动搜索学习吗?
大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在优化目标设计中的应用. 作者&编辑 | 言有三 一个有效的损失函数在深度 ...
- 04 | 函数与优化方法:模型的自我学习(上)
目录 一.损失函数.代价函数和目标函数 损失函数与代价函数 目标函数 常用损失函数 1.0-1 损失函数 2.平方损失函数 3.均方误差损失函数 4.交叉熵损失函数 5.Softmax 损失函数 二. ...
- slam优化库,优化方法,G2o Ceres的学习
文章目录 ch6 - ceres.g2o等 前言 1.G2o **1.1 代码 :[G2o: exp(ax^2+bx+c)]** **1.2 理论-原理方面:** **1.3 G2O常见函数分析** ...
- 机器学习调参自动优化方法
本文旨在介绍当前被大家广为所知的超参自动优化方法,像网格搜索.随机搜索.贝叶斯优化和Hyperband,并附有相关的样例代码供大家学习. 一.网格搜索(Grid Search) 网格搜索是暴力搜索,在 ...
- 基于深度强化学习的组合优化方法在工业应用中的实践
<统筹方法平话>中有一个例子曾被收录到语文课本中,讲"烧水泡茶"有五道工序:1.烧开水,2.洗茶壶,3.洗茶杯,4.拿茶叶,5.泡茶,其中前四道工序是泡茶的前提,且各道 ...
- 中文巨量模型“源1.0”的学习优化方法
最近,浪潮人工智能研究院发布了中文巨量模型"源1.0",参数量达2457亿,超越美国OpenAI组织研发的GPT-3."源1.0"在语言智能方面表现优异,获得中 ...
- 中文巨量模型“源1.0”的小样本学习优化方法
浪潮发布了中文巨量模型"源1.0",参数量达2457亿,超越美国OpenAI组织研发的GPT-3."源1.0"在语言智能方面表现优异,获得中文语言理解评测基准C ...
- 一种通过GPS判断手机漫游状态实现自动搜索连接服务商的方法
背景技术: 目前随着生活水平的提高和国际交流越来越频繁,越来越多的用户经常出差旅游探亲 在旅途中经常遇到使用手机漫游情况,当从一地区到另一个地区时手机暂时就没有服务信号,有的手机可以自动搜索到服务商( ...
最新文章
- C# 多网卡 Server Listen
- 1291 火车线路(区间修改,区间最值)
- R语言-包的安装、载入及使用方法
- Drive.ai轰然倒下:曾估值两亿,吴恩达夫妇站台,苹果将接盘部分可用技术人才...
- 判断图有无环_链表:环找到了,那入口呢?
- 记一次网易前端实习面试
- SQL Server-聚焦在视图和UDF中使用SCHEMABINDING(二十六)
- 哪些年给我们留下记忆的IT站点
- 网络编程与分层协议设计:基于linux平台实现,网络编程与分层协议设计基于Linux平台实现[按需印刷]...
- diskgenius克隆硬盘无法启动_克隆分区
- oppo手机禁止自动打开应用商店
- error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.
- PyQt5,一个好的qt教程。
- 解决error: inlining failed in call to always_inline ‘int _mm_popcnt_u32(unsigned int)’
- 基于SpringBoot框架的HIS互联网医院门诊信息管理系统源码JAVA语言开发
- 容器和云原生(一):初识容器化和云原生
- 51单片机内部外设:定时器和计数器
- 因计算机而强大在线读,读书分享会丨《因计算机而强大:计算机如何改变我们的思考与学习》...
- 反锐化掩膜_图像反锐化掩膜算法研究解析.doc
- c226打印机驱动安装_小白教您电脑怎么安装打印机驱动
热门文章
- 一个基于 Spring Boot 的项目骨架,少造轮子!
- can not open include file afxwin.h :no such header fileor directory in vs 2015 c++
- 2021 - 9 -下旬 数据结构- 线性表 -双端循环队列 - java实现
- struts2中一个表单中提交多个请求(动态调用方法)
- java网络编程面试题
- Java常用类之【字符串相关类型】
- 【JavaSE04】Java中循环语句for,while,do···while-思维导图
- Activiti部署报错
- 两款爱不释手的markdown编辑工具
- Kafka事务特性详解