Learning to Learn without Gradient Descent by Gradient Descent论文解析(黑箱优化问题)
本篇论文属于元学习和黑箱函数优化的交叉领域,其中将元学习的思想应用于黑箱函数优化。这篇论文发表于2017年。
对于黑箱函数优化方法我了解的不太多,因此本文的不可避免的会有一些理解不到位的地方。
想要了解贝叶斯优化和高斯过程的,可以看我翻译的两篇文章:
- 高斯过程是什么?
- 贝叶斯优化如何工作?
1 Introduction
发展心理学表明婴儿具有多个针对核心知识的分散的系统,通过这些系统,他们可以更快地学习新知识和技能。目前最有说服力的观点认为,是进化过程导致了快速学习能力的出现。
因此,很多学者致力于打造能够快速学习的模型。在本文的工作中,元学习的目标是为全局黑箱优化(global black-box optimization)打造一个算法。特别地,这个算法设法解决为一个未知的损失函数fff寻找全局最小值的问题。
x∗=argminx∈Xf(x)x* = argmin_{x \in X}f(x) x∗=argminx∈Xf(x)
对学习器来说,这个黑箱函数fff在测试阶段是不可知的,但是可以使用一个query点xxx来进行评估,从而输出一个确定的或随机的值y∈Ry \in Ry∈R, 使得 f(x)=E[y∣f(x)]f(x)=E[y|f(x)]f(x)=E[y∣f(x)]。换句话说,我们只能通过无偏的有噪点观测yyy(逐点观测)来观测函数fff。
贝叶斯优化通常被用于解决黑箱函数的全局优化问题,本文将用Meta-Learning的方法来解决这个问题,并用来与贝叶斯优化进行对比。
2 Learning Black-box Optimization
黑箱优化算法的一般步骤可以总结如下:
- 给定一个当前状态hth_tht,提出一个query点xtx_txt;
- 观察到输出yty_tyt;
- 更新任何可更新的参数,从而得到新状态ht+1h_{t+1}ht+1。
在这工作中将使用RNN来定义一个更新参数的方法:
ht,xt=RNNθ(ht−1,xt−1,yt−1),h_t, x_t = RNN_\theta(h_{t-1},x_{t-1},y_{t-1}), ht,xt=RNNθ(ht−1,xt−1,yt−1),
yt∼p(y∣xt).y_t \sim p(y|x_t). yt∼p(y∣xt).
模型内部结构如图所示。
2.1 Loss Function
本文用到的损失函数是Lsum(θ)=Ef,y1,T−1[∑t=1Tf(xt)]L_{sum}(\theta)=E_{f, y_1, T-1}[\sum_{t=1}^Tf(x_t)]Lsum(θ)=Ef,y1,T−1[∑t=1Tf(xt)],通过使用这个损失函数,我们可以在训练优化器时考虑每个时间步上的信息。实际上对Lsum(θ)L_{sum}(\theta)Lsum(θ)进行优化是很困难的。如Figure 1所示, 在训练优化器时,将使用RNN的参数θ\thetaθ来计算Loss函数的倒数,然后使用SGD进行优化。
此外本文还对比了另外两种损失函数,
LOI(θ)=−Ef,y1,T−1[∑t=1TEI(xt∣y1:t−1)]L_{OI}(\theta)=-E_{f, y_1, T-1}[\sum_{t=1}^TEI(x_t|y_{1:t-1})] LOI(θ)=−Ef,y1,T−1[t=1∑TEI(xt∣y1:t−1)]
LOI(θ)=Ef,y1,T−1[∑t=1Tmin{f(xt)−mini<t(f(xi)),0}]L_{OI}(\theta)=E_{f, y_1, T-1}[\sum_{t=1}^T\min\{f(x_t) - \min_{i<t}(f(x_i)), 0 \}] LOI(θ)=Ef,y1,T−1[t=1∑Tmin{f(xt)−i<tmin(f(xi)),0}]
其中,EI(·)是给定从1到t-1的观测值的情况下,query点xtx_txt的预期后验改进。后者是观测改进(Observed Improvement, OI)。
2.2 Training Function Distribution
本文没有对训练函数的分布做任何假设,本文的优化算法适用于通用目的的黑箱优化。因此,本文将使用高斯过程作为训练函数的分布。
2.3 Parallel Function Evaluation
并行函数评估是贝叶斯优化中的一个通用技术,常备用于费时但是比较容易模拟的函数。比如,在寻找深度网络的超参数时,我们可以很方便的训练出多个并行的深度神经网络。
不妨设我们有N个workers,同时推选待评估超参数点的过程比评估超参数要快得多。本文还为我们的RNN优化器的输入增加了一个二元变量oto_tot:
ht,xt=RNNθ(ht−1,ot−1,x~,y~t−1)h_t, x_t = RNN_\theta(h_{t-1},o_{t-1}, \tilde{x}, \tilde{y}_{t-1}) ht,xt=RNNθ(ht−1,ot−1,x~,y~t−1)
对前t步中,ot−1=0o_{t-1}=0ot−1=0,同时任意地将x~t−1,y~t−1\tilde{x}_{t-1},\tilde{y}_{t-1}x~t−1,y~t−1设置为0。只要一个query点被评估好,这个query点和它的评估结果将会通过将ot−1=1o_{t-1}=1ot−1=1的形式被反馈给网络,从而得到一个新的query点。Figure 2 展示了这个算法的单个循环过程。
一个训练的很好的优化器必须学会何时生成初始的query点,以及何时生成基于过去的观测结果生成的query点。需要注意的是,考虑到优化器的批处理性质,query点xt+1x_{t+1}xt+1有可能比xtx_{t}xt先评估好。
3 Experiments
本文用LSTM和differentiable neural computers (DNCs)来做实验,因为DNC的效果比LSTM要更好一点,所以本文所有的图表中主要展示DNC模型的结果。本文将元学习的实验结果与当前最先进的贝叶斯优化工具包进行了对比,包括:Spearmint, Hyperopt(TPE), and SMAC。
3.1 Performance on Functions Sampled from the Training Distribution
Figure 3中展示了最佳观测函数值与搜索步骤t的关系,其中RNN取的是在10000个采样的函数中的均值,其他方法取的是100个采样出的函数中的均值。因为RNN优化器的速度很快,所以本文做了10000次。从图中可以看出当函数的维度超过6时,RNN的变现开始明显优于其他优化方法。
Figure 4 展示了不同黑箱优化器在一维的情形下query点的轨迹。
3.2 Transfer to Global Optimization Benchmarks
本实验在四个标准benchmark上进行。实验结果如图5所示。
3.3 Transfer to a Simple Control Problem
本文还考虑将此方法用于简单的强化学习任务上。在此问题中,他们模拟了一个物理系统,该物理系统由许多排斥器组成,这些排斥器影响粒子通过2D空间的下落。目标是通过状态空间的高奖励区域来引导粒子的路径,并使累积的折扣奖励最大化。此问题中的四维状态空间由粒子的位置和速度组成。可以通过设置排斥器来控制颗粒的路径,该排斥器以与颗粒到颗粒的距离成反比的力将颗粒直接推开。在每个时间步,使用简单的确定性物理正向模拟更新粒子的位置和速度。该问题的控制策略包括每个推斥极的3个学习参数:2d位置和推斥极的强度。
Figure 6是实验结果。
3.4 Transfer to Machine Learning Hyper-parameter Tuning
这组实验考虑的是机器学习中的调参问题。这组实验使用了HPOLib包中的三个标准benchmarks:SVM,online LDA,logistic regression,同时还考虑了在CIFAR-100数据集上训练的残差网络。实验结果如Figure 7所示。
4 Conclusions
从实验结果来看,RNN优化器的性能可以匹配上高度工程化的贝叶斯优化方案,包括:Spearmint, SMAC 和 TPE。同时这个RNN优化器适用于各类黑箱函数,比如:GP bandits, 控制, 全局优化benckmarks,以及超参数微调。
同时实验结果表明,RNN优化器比贝叶斯优化方案要快得多。
Learning to Learn without Gradient Descent by Gradient Descent论文解析(黑箱优化问题)相关推荐
- (To Learn More) ML Lecture 3-1: Gradient Descent
ML Lecture 3-1: Gradient Descent 视频链接:https://www.youtube.com/watch?v=yKKNr-QKz2Q \qquad好,各位同学大家早,那我 ...
- (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning
Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...
- Meta Learning/Learning to Learn, 到底我们要学会学习什么?||介绍了几篇元学习文章
https://www.zhihu.com/question/62482926/answer/625352436 转载:https://zhuanlan.zhihu.com/p/32270990 1 ...
- Learning to Learn
最近看论文的时候,看到一个词 meta learning--Learning to Learn ,有点不太明白,所以就找了下面这篇文章.(仅供学习交流使用) Learning to Learn Che ...
- 百家争鸣的Meta Learning/Learning to learn
1 前言 Meta Learning 元学习或者叫做 Learning to Learn 学会学习 已经成为继Reinforcement Learning 增强学习之后又一个重要的研究分支(以后仅称为 ...
- Learning to Learn from Noisy Labeled Data
知乎链接:Learning to Learn from Noisy Labeled Data 论文地址:https://arxiv.org/pdf/1812.05214.pdf 代码分享:https: ...
- 【资源下载】 UC 伯克利 Chelsea Finn 博士论文(新起之秀——MAML)《Learning to Learn with Gradients》下载--2018ACM最佳博士论文下载
欢迎关注微信公众号[计算机视觉联盟] 获取更多前沿AI.CV资讯 UC 伯克利 Chelsea Finn 博士论文<Learning to Learn with Gradients>下载- ...
- 元学习Meta Learning/Learning to learn
目录 元学习 训练 用途 学习方法 元学习和迁移学习的区别和联系 元学习 Meta Learning/Learning to learn即利用以往的知识经验来指导新任务的学习,使网络具备学会学习的能力 ...
- Re-ID: Person Re-identification by Local Maximal Occurrence Representation and Metric Learning 论文解析
注: 刚刚看完了这篇论文,顺便整理了一下这篇论文的思路,对论文的方法表示666 项目主页:http://www.cbsr.ia.ac.cn/users/scliao/projects/lomo_xqd ...
最新文章
- 【RocketMQ工作原理】订阅关系的一致性
- java中可以改变引用的指向吗_java中引用传递问题,在函数中修改引用的指向,会不会影响实参?...
- sql server 语句
- Redis基本数据类型1--String
- 用 FastJSON 将 JSON 字符串转换为 Map
- Java之transient关键字
- PAT1105:Spiral Matrix
- 今晚7点,腾讯专家详解腾讯广告召回系统的演进
- MAML论文阅读笔记--回归实验
- LPVOID和PVOID的区别是什么
- 【SCI】【计算机视觉】【图像处理】一二三四区期刊推荐(自用版本)
- idear修改新的git地址
- 判断当前页面是否在微信内置浏览器中打开
- b站某知名云跑路云跑路是咋回事
- 加性高斯白噪声信道:MATLAB小例题
- 使用双标记写html代码时如何进行嵌套,【2020Python修炼记】前端开发之 前端基础和HTML入门...
- hdu 5761 Rower Bo 物理题
- java-求矩形(长方形)的周长和面积案例
- PHPstudy之PHP探针的查找
- elasticsearch 打分 源码_Elasticsearch搜索之explain评分分析