皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

OpenAI发布研究需求2.0

作者 刘志勇

                     

在OpenAI的研究过程中,我们发布了新一批7个未解决的问题。就像我们最初发布的研究需求[1],由此催生了几篇论文,如Image-to-Markup Generation with Coarse-to-Fine Attention[2]、Parallel Trust Region Policy Optimization with MultipleActors[3]、Generative Latent Attentive Sampler[4]、Learning from the memory of Atari 2600[5]等。我们希望,这些问题能够成为欢迎新手们进入这个领域的有趣而有意义的方式,同时也让从业者磨练他们的技能(这也是在OpenAI得到一份工作的一个好方法)。

课前热身

如果你不确定从哪里开始的话,以下是一些解决的入门问题。

训练一个LSTM来解决XOR问题:即给定一个位序列,确定它的奇偶性。LSTM[6]应该使用序列,一次一个位,然后在序列末尾输出正确答案。测试以下两种方法:

  • 生成长度为50的随机100,000个二进制字符串的数据集。训练LSTM,你会得到什么样的表现?
  • 生成随机100,000个二进制字符串的数据集,其中每个字符串的长度是独立的,在1到50之间随机选择。然后训练LSTM。它成功了吗?和上一种方法有什么区别吗?

将经典的贪吃蛇游戏的克隆副本作为Gym[7]环境,并通过你选择的强化学习算法:近段策略优化(Proximal Policy Optimization,PPO)算法[8]来解决它。把智能体进行游戏的视频给我们(@openai)发推,你能训练出能够赢得比赛的策略吗?

AI前线: Gym是OpenAI为测试和开发RL算法而设计的环境/任务的模块集合。它让用户不必再创建复杂的环境。Gym用Python编写,它有很多的环境,比如机器人模拟或Atari游戏。它还提供了一个在线排行榜,供人们比较结果和代码。简而言之,Gym是一款用于研发和比较强化学习算法的工具包,它支持训练智能体(agent)做任何事——从行走到玩Pong或围棋之类的游戏,都在范围中。
近段策略优化算法是OpenAI发布的一种新型的强化学习算法,该算法的实现和调参十分简单,并且它的性能甚至要超过现阶段最优秀的方法。因为该算法实现非常简单并且有优秀的性能,PPO已经成为了OpenAI默认使用的强化学习算法。

研究需求

Slitherin’。实现并解决一个多玩家贪吃蛇游戏(见slither.io的灵感)的克隆副本作为Gym的环境。

  • 环境:有一个相当大的场地与多条蛇;吃到随机出现的水果时,蛇会变长;一条蛇在与另一条蛇、自身或墙壁相撞时会死亡;当所有的蛇死亡时,游戏就结束了。游戏一开始有两条蛇。
  • 智能体:使用自己选择的RL算法[9][10]进行自玩来解决环境问题。您需要尝试各种方法来克服自玩的不稳定性(这就像人们所见GAN的不稳定性)。例如,根据过去的政策分配,尝试训练现行政策。哪种方法效果最有效?
  • 检查习得行为:智能体是否学会了追逐食物并避开其他蛇的能力?智能体是否学会攻击、陷害,或联合起来对付竞争对手?

分布式RL的参数平均。探讨参数平均方案对RL算法中样本复杂度(Sample complexity)[11]和通信量的影响。虽然最简单的解决方案是,在每次更新时,平均每个worker的梯度,但你可以通过独立更新worker,然后不要常常平均参数,以节省通信带宽[12]。在RL中,这样做可能还有一个好处:在任何时候我们都会有不同参数的智能体,这可能会让我们得以进行更好的探索。另一种可能就是使用像EASGD(Elastic Averaging SGD,弹性平均梯度下降法)[13]的算法,它可以在每次更新时,将参数部分地结合在一起。

AI前线:样本复杂度,是指学习机器以高概率学习到某个 “成功的”函数所需要的训练数据的数目。
因为训练深度神经网络是非常好使的过程,比如用卷积神经网络去训练一个目标识别任务需要好几天来训练。为了缩短这一过程,现在有一种方法是充分利用集群的资源,加快训练速度。SparkNet是基于Spark的深度神经网络架构,是建立在Apache Spark和Caffe深度学习库的基础之上的。而Apache Spark是围绕速度、易用性和复杂分析构建的大数据处理框架。
EASGD,使不同工作机之间不同的SGD以一个“弹性力”连接,也就是一个储存于参数服务器的中心变量。这允许局部变量比中心变量更大地波动,理论上允许了对参数空间更多的探索。经验表明,提高的探索能力有助于在寻找新的局部极值中提升(优化器的)表现。


基于生成模型的不同游戏间的迁移学习。按以下所述操作:

  • 为11个Atari[14]游戏制定良好的策略。从每场游戏的策略中,生成10,000条轨迹,每个轨迹1000步。
  • 将一个生成模型(如Transformer[15])与10场游戏产生的轨迹相匹配。
  • 然后在第11场游戏中对那个模型进行微调。
  • 你的目标是量化10场游戏的预训练的好处。这个模型需要多大程度的预训练才能发挥作用呢?当第11场游戏的数据量减少10倍时,效果大小如何变化?减少100倍呢?

线性注意力的Transformers。 Transformers模型使用带softmax的“Soft Attention”模型。如果我们可以使用线性注意力(linear attention)(可将其转换为快速权重[16]的RNN),那么我们可以使用所得到的的RL模型。具体而言,在庞大的环境中使用Transformers进行RL部署是不切实际的。但运行一个具有快速权重的RNN是非常可行的。你的目标是:采取任何余元建模任务;训练Transformers,然后找到一种方法,在不增加参数总数的情况下,使用具有不同超参数的线性注意力Transformers,来获得每个字符/字的相同位元。只有一个警告:这很可能是个无法实现的结果。但是有条或许有用的提示:与使用softmax的注意力模型相比,具有线性注意力的Transformers可能需要更高维度的key/value的向量,这点可以在不显著增加参数数量的前提下完成。

AI前线: Soft Attention模型,由论文Neural machine translation by jointly learning to align and translate[17]提出,并将其应用到机器翻译。此处soft,意即在求注意力分配概率分布时,对于输入锯子中任意一个单词都给出个概率,这就是概率分布。而softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而进行多分类。转换器(transformers)是Apache Spark机器学习框架中的管道组件,是包括特征变换和学习模型的一种抽象。


习得数据增强(Data Augmentation)。您可以使用习得的VAE[18]数据来执行“习得数据增强”。首先要对输入数据上训练一个VAE,然后将每个训练点编码到一个潜在空间,然后在潜在空间中应用简单的(例如高斯)扰动,然后解码回观察空间。我们可以用这种方法来获得改进的泛化吗?这种数据增强的一个潜在好处是,它可以包括许多非线性变换,如视点变化和场景闪电的变化。我们能近似于标签不变的转换集吗?

AI前线: VAE即Variational Autoencode,变分自编码器。VAE可用于对先验数据分布进行建模。它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。VAE是一个使用学好的近似推断的有向模型,可以纯粹地使用基于梯度的方法进行训练。
数据增强(Data Augmentation)是为了在深度学习中避免出现过拟合(Overfitting),通常我们需要输入充足的数据量.为了得到更加充足的数据,我们通常需要对原有的图像数据进行几何变换,改变图像像素的位置并保证特征不变。


强化学习中的正则化。实验研究(和定性解释)不同正则化方法对所选RL算法的影响。在有监督的深度学习中,正则化对于改进优化[19]和防止过拟合具有极其重要的定义,其方法非常成功,如中途退出(Dropout)[20]、批量归一化(batch normalization)[21]和L2正则化(L2 regularization)[22]。然而,人们并没有从正则化的强化学习算法收益,比如策略梯度[23]和Q-learning[24]。顺便提一句,在RL中,人们通常使用比监督学习更小的模型,因为大型模型的表现更差——可能是因为它们过于适合最近的经验。要开始的话,可以阅读这篇论文:Regularization in Reinforcement Learning。[25]这是一个相关但更古老的理论研究。

AI前线: Q-learning是强化学习中的一个很有名的算法。Q-lerning的目标是达到目标状态(Goal State)并获取最高收益,一旦到达目标状态,最终收益保持不变。


奥林匹克不等式问题(Olympiad Inequality Problems)的自动化解决方案。奥林匹克不等式问题很容易表达,但解决这些问题通常需要巧妙的手法[26]。建立一个奥林匹克不等式问题的数据集,编写一个可以解决大部分问题的程序。目前尚不清楚机器学习在这里是否有用,但您可以使用一个学习策略来减少分支因素。

AI前线:国际奥林匹克数学竞赛(International Mathematical Olympiad,IMO)素有“数学世界杯”之称,每年举办一次,由参赛国轮流主办。目的是为了发现并鼓励世界上具有数学天份的青少年,为各国进行科学教育交流创造条件,增进各国师生间的友好关系。它是国际科学奥林匹克历史最长的赛事,是国际中学生数学大赛,在世界上影响非常之大。


[1] OpenAI:Requests for Research
[2] Image-to-Markup Generation with Coarse-to-Fine Attention
[3] Parallel Trust Region Policy Optimization with MultipleActors
[4] Generative Latent Attentive Sampler
[5] Learning from the memory of Atari 2600
[6] Attention Is All You Need
[7] Github/gym
[8] Proximal Policy Optimization Algorithms
[9] AlphaGo Zero: Learning from scratch
[10] Competitive Self-Play
[11] Sample complexity
[12] SparkNet: Training Deep Networks in Spark
[13] Deep learning with Elastic Averaging SGD
[14] Atari
[15] Attention Is All You Need
[16] Using Fast Weights to Attend to the Recent Past
[17] Neural Machine Translation by Jointly Learning to Align and Translate
[18] Tutorial-What is a variational autoencoder?
[19] FIXING WEIGHT DECAY REGULARIZATION IN ADAM
[20] Dropout
[21] Batch Normalization — What the hey?
[22] Differences between L1 and L2 as Loss Function and Regularization
[23] Policy gradient methods 
[24] Q-learning
[25] Regularization in Reinforcement Learning
[26] Olympiad Inequalities 

转自 http://www.infoq.com/cn/news/2018/02/OpenAI-2.0