AI 科技评论按:OpenAI 昨日发布一篇博客,介绍了 7 个自己近期在研究但尚未解决的问题,希望邀请到外部的研究者一同参与研究、做出进展。OpenAI 尤其希望它们是有趣的、有意义的,既可以吸引新人加入到人工智能领域中来,也可以让有经验的研究者继续磨炼自己的水平(甚至感兴趣的研究者也可以以此为机会加入 OpenAI)。此前 OpenAI 也做过一次这样的邀请研究活动,得到的结果形成了多篇论文。
热身问题
对于不知道如何开始的参与者,OpenAI 先给了几个已经得到解决的入门级问题。
预备问题 1,难度 ★
训练一个 LSTM 网络解决异或问题;也就是说,给定一串二进制数以后,判定它们的奇偶性。LSTM 需要能够处理这一段序列,一次处理一位,然后在序列输入结束后输出正确的结果。可以尝试这两种方法。
生成一个数据集,包含 10 万个长度为 50 的随机二进制字符串。用它训练 LSTM,看看结果如何。
生成一个数据集,包含 10 万个随机二进制字符串,每个字符串的长度是在 1 到 50 之间独立、随机选择的。这样做成功了吗?为什么结果会有区别?
预备问题 2,难度 ★
在 Gym 环境中实现一个经典的贪食蛇游戏,然后根据自己的喜好选择一个强化学习算法解决它。你能训练出一个能玩赢游戏的策略吗?
待研究的问题
问题 1,难度 ★★
在 Gym 环境中实现经典贪食蛇游戏的多人版本并尝试解决它。可以参考https://slither.io/
环境:有足够大的场地,里面有多条蛇;蛇吃到随机出现的食物之后会变长;如果一条蛇吃到了自己、撞到了墙、或者碰到了其它的蛇就会死掉;当所有蛇都死掉以后,游戏结束。可以从两条蛇的状况开始,然后逐步增加数量。
智能体:基于自己选择的强化学习算法,通过自我对弈学习的方式解决问题。自我对弈有不稳定的问题(和大家在 GANs 上遇到的不稳定性很类似),你需要实验多种不同的方法来克服。比如,用一组快速策略作为你的当前策略的对手来训练。那种方式效果最好?
检查学习到的行为:智能体确实学会了追逐实物并且躲避其它蛇了吗?这个智能体是否还学会了攻击、围困别的蛇,或者和别的蛇协同行动呢?
问题 2,难度 ★★★
在分布式强化学习中平均参数。在样本复杂度和沟通数量两个指标上试试看参数平均化的做法的效果。最简单的做法是在每次更新中都把每个分布式计算节点的梯度做平均,不过也可以通过独立地更新每个节点、不频繁地更新参数的做法节省通讯带宽(https://arxiv.org/abs/1511.06051)。在强化学习中这样做还有个额外的好处:在任意一个时刻,环境内的多个智能体都各自有不同的参数,这有可能带来更好的探索行为。另外还可以使用 EASGD 这样的算法,在每次更新中只合并一部分参数(https://arxiv.org/abs/1412.6651)。
问题 3,难度 ★★★
在游戏和生成式模型之间做迁移学习。过程是这样的:
给 11 个不同的 Atari 游戏训练 11 个好的策略。让每个游戏的策略各自生成 10k 组操作过程,每组过程里有 1k 步。
用其中的 10 个游戏的操作过程训练一个生成式模型(比如 Transformer ,https://arxiv.org/abs/1706.03762)
然后在第 11 个游戏上精细调节这个模型。
要完成的目标就是量化评估用前 10 个游戏做预训练的收益有多大。模型需要有多大才能体现出预训练的作用?第 11 个游戏的数据量缩小到十分之一、百分之一的时候,模型的表现会有多大变化?
问题 4,难度 ★★★
带有线性注意力的 Transformers。Transformer 模型中配合 softmax 使用了软注意力(soft attention)。如果把其中的软注意力替换为线性注意力(它可以转换成一个使用快速权重的 RNN,https://arxiv.org/abs/1610.06258),就可以把得到的模型用在强化学习中。具体来说,在较大的背景场地下把转换器模型作为强化学习模型来使用有点不现实,但是运行一个带有快速权重的 RNN 就非常可行了。
你的目标是任选一个语言建模任务,训练一个转换器模型,然后想办法用不同超参数的线性注意力转换器,对所有的单词/字母都得到同样长度的转换后数值,同时还不能过多地增加总参数数目。这里只有一个警告,就是这件事最后有可能做不出来。但是 OpenAI 也给了一个有可能会有帮助的提示:和使用 softmax 的注意力相比,带有线性注意力的转换器模型需要维度明显更高的值向量,而这一点不需要增加多少参数数目就可以做到。
问题 5,难度 ★★★
学习到的数据增强。你可以用基于数据学到的 VAE(变分自动编码器),做「学到的数据增强」任务。在这里,可以先根据输入数据训练 VAE,每个训练数据点都会被编码为潜空间中的一个点;接着在潜空间施加一个简单的扰动(比如高斯扰动)然后把它解码回观测空间。有没有可能用这样的方法获得更好的泛化结果呢?这种数据增强有一个潜在的好处,就是它可以包括许多的非线性变换,比如视角变换以及场景光照变换。以及能否估计出哪些变换是具有标签不变性的呢?OpenAI 自己已经在这方面做过一些研究,感兴趣的话可以了解一下、在此基础上继续改进。
https://arxiv.org/abs/1611.01331
https://arxiv.org/abs/1702.05538
https://arxiv.org/abs/1709.01643
https://arxiv.org/abs/1711.04340
https://arxiv.org/abs/1711.00648
http://cs231n.stanford.edu/reports/2017/pdfs/300.pdf
https://arxiv.org/abs/1710.10564
https://papers.nips.cc/paper/7278-learning-to-model-the-tail
问题 6,难度 ★★★
强化学习的正则化。用实验的方法调查(以及定性地解释)你选择的强化学习算法上施加不同正则化方法的效果。在有监督深度学习中,想要提高优化效果以及预防过拟合的话,正则化都是非常重要的,dropout、batch normalization、L2 正则化等方法都是效果非常出色的方法。然而在强化学习这边,人们并没能从策略梯度、Q-learning 这样的方法中得到多少移除。很巧的是,大家一般用在强化学习里的模型都要比有监督学习的模型小得多,因为越大的模型表现会越糟糕——这可能就是因为大模型会对近期的经验过拟合。这方面也有人做过相关的理论研究可供参考http://sologen.net/papers/RegularizationInReinforcementLearning(PhD-Dissertation-Farahmand).pdf。
问题 7,难度 ★★★
自动求解奥林匹克不等式问题。奥林匹克不等式问题表述起来很简单,但是求解它们通常需要精巧的操作方法。建立一个奥林匹克不等式问题的数据集,然后写出一个能解出其中大部分的程序。机器学习在这里能不能派上用场还不太清楚,但是有可能可以用学到的策略减少分叉因子。
对于以上 7 个问题,OpenAI 非常希望有人可以和他们共同研究、尝试解决这些问题。而且也欢迎有志于把解决这些问题作为工作的人加入 OpenAI。不知道各位读者是否觉得有意思、是否愿意动手试一试呢?
viaOpenAI Blog,AI 科技评论编译。
领取专属 10元无门槛券
私享最新 技术干货