2019年MineRL竞赛在样本高效强化学习方面的回顾性分析

我想要读一篇稍微轻松的Arxiv论文,于是我选择了关于MineRL比赛的论文。

首先

2019年的MineRL竞赛解说论文。
顺便提一下,2019年顶尖团队的学习成果视频在这里。

論文和參考網站之間的連結

对2019年MineRL竞赛的回顾性分析:基于样本高效强化学习的研究

作者

    • Stephanie Milani smilani@cs.cmu.edu Machine Learning Department, Carnegie Mellon University

 

    • Nicholay Topin ntopin@cs.cmu.edu Machine Learning Department, Carnegie Mellon University

 

    • Brandon Houghton∗ bhoughton@openai.com OpenAI

 

    • William H. Guss wguss@cs.cmu.edu OpenAI and Machine Learning Department, Carnegie Mellon University

 

    • Sharada P. Mohanty mohanty@aicrowd.com AIcrowd

 

    • Keisuke Nakata nakata@preferred.jp Preferred Networks

 

    • Oriol Vinyals vinyals@google.com DeepMind

 

    • Noboru Sean Kuno nkuno@microsoft.com Microsoft Research

 

    Editors: Hugo Jair Escalante and Raia Hadsell

注意:下面的文字是该篇Qiita文章的作者@ikeyasu的评论。
以下尽量按照论文的顺序进行总结。
所有图表均引用自原论文。
翻译得到了Google翻译和DeepL的帮助。

摘要

为了推动对样本效率高的强化学习方向的研究,第33届NeurIPS 2019会议举办了“Sample Efficient Reinforcement Learning Using Human Priors on MineRL Competition on Sample Efficient Reinforcement Learning Using Human Priors”活动。该竞赛的主要目的是通过开发利用人类演示与强化学习并行的算法,减少解决复杂、层次化和稀疏环境所需的样本数量。在这篇文章中,我们将介绍该竞赛的主要挑战、竞赛设计以及为参与者提供的资源概述。此外,我们还将概述使用深度强化学习和模仿学习的顶级解决方案,并讨论组织决策对竞争的影响以及未来改进的方向。

1. 介绍

最近的许多著名人工智能(AI)成功案例,比如AlphaStar(由Vinyals等人于2019年提出)、AlphaZero(由Silver等人于2018年提出)和OpenAI Five等,都使用了深度强化学习(DRL)技术,从而达到了人类或超人类水平的性能。

迄今为止,对于先进状态的改善是通过不断增强的计算能力来实现的。

这种计算量的增加,一方面是由于每个环境样本计算量的增加,但主要是由于需要增加学习算法中所需的环境样本数量。

这种计算量的增加意味着不仅系统的改进变得困难,甚至AI社群的一部分也无法再现这些结果。

为了减少环境和样本的复杂性,并且更容易地访问方法,一种常见的方法是利用人类演示和先前行为预设来实现期望的动作。(Pfeiffer等,2018; Dubey等,2018; Zhang等,2019)。

image.png

加強學習比賽

据我们所知,迄今为止的竞赛中,并没有明确将模仿学习(以及更一般地说,从演示中学习)与强化学习一起使用的重点。在大多数强化学习比赛中(Kidziski等人,2018年; Nichol等人,2018年; Perez-Liebana等人,2018年; Juliani等人,2019年),重点是提高给定领域的性能,并没有关注开发可在广泛领域集中发挥性能的稳健算法。结果,获奖作品通常需要手动设计特征,并使用大量计算资源进行培训和开发。

3. 竞争概述

解析比赛的概述。3.1节介绍了主要任务和环境。3.2节介绍了比赛的结构。3.3节介绍了为参与者提供的资源。

3.1. 任务

参与比赛的人被要求解决ObtainDiamond环境的问题。
为了解决这个环境,需要控制具现化的代理程序来导航复杂的Minecraft物品层次结构并获取钻石。

在解决这个任务时,学习算法可以直接访问基于具体化的Minecraft代理的视角的64×64像素观察以及代理所拥有的用于获得钻石所需的每个物品的离散观察集合。

行动空间是连续的视野调整(转向和俯仰)、二进制移动命令(左/右,前进/后退),以及方块的摆放、物品的制作、物品的炼成和对敌人的离散行动的直交积。

当代理人完成获得钻石的全任务后,可以获得报酬。
获得钻石的全任务可以分解为一系列难度较高的前提条件子任务。
当代理人首次完成连续的每个子任务时,也会获得报酬。
当代理人完成前一个子任务时,会获得前一子任务报酬的两倍(报酬从1开始)。唯一的例外是通过获取钻石来完成完整的”获得钻石”任务,这样做的价值是完成前一个子任务的四倍。

3.2. 竞赛设计

比賽分為兩個回合進行。第一回合中,由最多六名參賽者組成的團隊訓練了代理人並提交了訓練後的模型供評估,以確定他們在排行榜上的位置。在這個回合中,每個團隊的提交作品被限制為25份。第一回合結束時,每個團隊都提交了原始碼。每個提交物都有一個根據它在100個情節中獲得的平均獎勵來計算的分數。然後,每個團隊的頂尖提交物都由規則委員會審查,以確定其是否遵守規則。最高得分且符合規則的13個團隊進入了第二回合。我們邀請了這些團隊,在NeurIPS 2019比賽的研討會上展示他們的作品。並得到了Microsoft Research的支持,為每個團隊提供了1200美元的旅行津貼,讓他們參加了會議。

在第二轮比赛中,每个团队可提交最多五种通过在隔离的测试环境中使用随机权重进行训练的学习方法。
我们使用Azure NC6和NC12实例对每份提交材料独立进行了为期六天的培训,使用了精确的环境步骤预算(即严格遵守八百万次步骤)对八百万个样本进行了训练。
为了促进泛化性和遵守规则,在最后一轮中,我们对提交的解决方案进行了以下再训练方法:
1)扰乱动作空间,
2)使用全新的未知纹理包(图1(c)所示)对最后一轮中的解决方案进行了调整。
我们为团队提供了6个验证用纹理包(图1(b)),以便在提交学习方法之前,他们可以确认自己的方法是否能够在未知的环境中进行泛化。
最终排名基于每个团队最高得分的提交材料决定。

考虑到训练学习手顺的独特范式,我们制定了严格规则以促进样本效率和泛化可能性,并确保参与者无法加载已经训练过的模型。为了限制样本效率,我们设定了一个严密的环境样本限制,即800万个帧(大约110小时的游戏内互动),并将计算时间限制为实际时间的144小时。虽然允许帧跳跃,但跳过的每个帧都会被计入样本预算中。参与者可以自由地塑造代理的观察,但不能直接将其编码到策略中。例如,根据收集到的日志数量切换子策略是不允许的。为了避免参与者在其提交中包含预先训练的模型,我们在第二轮比赛中对提交的代码存储库进行了处理,删除了超过4MB的文件。关于比赛范式的更详细讨论可参考之前的研究(Houghton等人,2019年)。

両ラウンドとも、参加者はAIcrowd-repo2dockerと互換性のあるスタンドアロンのリポジトリとしてコードを提出した。
これらのリポジトリにはコード、訓練モデル、ランタイム仕様が含まれており、サブミッションから一貫性のあるDockerイメージを構築することがでた。
これらのイメージは、ラウンド固有のポリシーを尊重しながら、カスタムKubernetesクラスタ上でオーケストレーションされた。参加者が提出した悪意のあるコードによる情報漏洩を防ぐために、完全にネットワークから隔離された状態で提出されたことを評価した。

image.png

3.3. 资源

ObtainDiamondタスクに加えて、ObtainDiamondを解くのに役立つと思われる補助タスクをいくつか作成した。
これらのタスクは、ジム環境としてパーティシパントに提供した(Brockman et al. さらに、私たちは、広範なドキュメント、スターターコード、提出手順の説明、Microsoft Azureのクイックスタートテンプレート、再訓練中の訓練手順を検証するために使用したDockerイメージからなる包括的なスターターパック8を参加者に提供した。
参加者には、参加者がエージェントを訓練するために使用できる人間のデモンストレーションの大規模なデータセット(Guss*ら、2019年)を渡しました。Preferred Networksは、ChainerRLで実装された広範なベースライン10を提供した(Fujita et al., 2019)。
参加者は、これらのベースラインを提出物に組み込むことができた。これらのベースラインには、行動クローニング、デモからの深いQ-learning from demonstration(DQfD)(Hesterら、2018)、Rainbow(Hesselら、2018)、generative adversarial inverse RL(GAIL)(Ho and Ermon、2016)、およびproximal policy optimization(PPO)(Schulmanら、2017)が含まれていた。

AIcrowd11は、参加者が大会に登録したり、主催者や他の参加者に質問をしたり、参加者の進捗状況を確認したりするための統一されたインターフェースを提供した。また、参加者とのより非公式なコミュニケーションのために、公開のDiscordサーバーを作成した。
寛大なスポンサーであるMicrosoft Azureを通じて、コンペに参加するのに必要なコンピュートパワーへのアクセスが不足していると自認している50人に、それぞれ500ドルのコンピューターリソース(compute grants)をMicrsoft Azureクレジットで提供した。さらに、Microsoft Azureのおかげで、第1ラウンドのトップチームには、第2ラウンドでの実験のために1500USDのAzureクレジットを提供した。

image.png

4. 参与者的结果

本竞赛的参与者提交的投稿进行了定量和定性分析。第4.1节提供了有关参赛作品的定量信息。第4.2节总结了前九名团队在决赛中采取的方法。第4.3节介绍了本次比赛颁发的特别奖项。

4.1. 提交表现概览

在第一轮比赛中,收到了超过540个申请,结果远远超过了提供了基准线的25个团队。表1显示,尽管第二轮的代理商在保持测试环境中进行了培训,但是前三名团队的平均得分超过了第一轮前三名团队的平均得分(分别为48.27和44.33)。可能令人惊讶的是,第一轮的得分平均值(31.77)高于第二轮的得分(分别为25.84和17.37),并且标准偏差较低(10.22)。此外,第一轮的得分范围(31.30)较第二轮的得分(53.74)较小。图2显示了第二轮评估中每个项目得分的最大值。虽然没有团队获得了钻石奖,但是最佳团队获得了获得钻石奖的最后一个前提条件的项目得分。

4.2. 九大解决方案总结

上述4个团队都利用Minecraft的层级结构,使用了某种形式的层级强化学习。所有的团队都采取了某种方式的动作削减,以管理环境的复杂性(例如删除很少由人类专家执行的动作)。大多数团队利用人类数据来提高算法的样本效率。

トップチームであるCDSは,別個のデモ再生バッファからエキスパートのデモをサンプリングするために適応比を使用する忘却を伴う階層的なディープQネットワークを使用しました(Skrynnik et al., 2019).第2位のチームmc_rlは,環境との相互作用を伴わない人間のデモンストレーションから階層的なポリシーを完全に学習した.第3位のチームであるi4DSは、デモンストレーションを使用して階層的RLアルゴリズムをブートストラップし、人間のデータを効果的に使用して、記録された人間の行動をオブザベーションから予測するモデルの事前訓練を行い、RLを使用して結果のエージェントを洗練させた(Scheller et al., 2020)。

第四名的CraftRL团队通过聚合选项(Sutton et al., 1999)并使用元控制器来进行选项间的选择。他们使用行动克隆在演示数据上预先训练了元控制器。第五名的UEFDRL团队则使用了经过训练的单一深度残差神经网络来模仿MineRL数据集中的人类行为(Kanervisto et al., 2020)。该团队为了应对环境的复杂性采用了行动离散化。第六名的TD240团队则使用基于敌对逆强化学习的鉴别器软演员-评论家作为奖励函数。

7位的LAIR团队使用了分层强化学习算法的元学习共享层(MLSH)(Frans等,2018年),在使用环境互动来训练MLSH之前,还使用了人类数据来预训练主策略和子策略。排名第8的Elytra团队提交了基于Rainbow的基准测试,他们对环境进行了一些修正,例如添加少量的随机性或限制相机动作为一自由度。然而,他们正在探索学习值函数集合的思路,并认为这一方法很有前景。排名第9的karolisram团队使用了PPO的基准测试,并进行了一些修正,如删除帧间跳过和缩小动作空间等。

4.3. 特殊奖项

除了对学习算法的性能进行评估外,我们还授予了在研究方面有重要贡献的团队奖项。由于本次比赛是第一届,我们分别授予了基于纯模仿学习和不使用人类预先行动的强化学习这两个极端研究范式的奖项,以进行对比。前者的研究奖授予给了mc_rl先生,后者的研究奖授予给了karolisram先生。我们期望这些特别奖励能鼓励未来的参与者,尽管可能会在性能方面有所牺牲,但能最大程度地探索解决空间。

5. 组织成果

我们描述了竞争的重要组织成果。我们首先从第5.1节开始展示我们所选择的规则集的影响。接下来,在第5.2节我们讨论了比赛文件的分发有效性。最后,在第5.3节我们总结了我们选择的评估方法的效果。

5.1. 规定的后果

他の多くの DRL 競技とは異なり、私たちはフィーチャーエンジニアリングとハードコード化されたポリシーによって、ドメイン知識の使用を制限しようとした。
このルールセットにより、より一般的な方法を使用するようになったが、参加者から多くの明確な質問を受けることにもなった。
これらの質問は様々なコミュニケーションチャネルで行われたため、重複した質問があり、単一の包括的な答えはなかった。
将来的には、ルールを明確にし、ドメイン知識の使用をより強固に制限する場を設けたいと考えてる。

作为领域知识利用限制的副作用,可以列举出由于这一规则违反使得第一轮提交物的检查变得困难。
由于训练时间和样本数量限制是定量限制,因此实施起来比较容易。由于选手的提交物没有在”留出”环境中进行训练,委员会不得不手动审查代码以识别指定策略和其他违规行为,导致手动审核工作时间超过预期。

5.2. 竞争材料的有效性

3.3 節で述べたように、我々は参加者に Gym 環境、データセット、ベースライン手法の実装としてのタスクを提供した。
環境とデータセットは競技会が始まる前に完成していたが、ベースラインは共同研究者である Preferred Networks への環境提供が遅れたため、競技会が発表された後に開発された。
しかし、Preferred Networksは迅速にベースラインを提供し、参加者がラウンド1でベースラインを使用できるようにしてくれたため、多くの参加者がこのベースラインが独自のアルゴリズムを開発する上で重要であることに気付いた。
今後コンペティションでは、ベースラインが完成した今、コンペティションが開始され次第、ベースラインを提供できるようにする予定である。

数据很容易获得,参与者能够很好地利用。所提供的健身环境是Malmo Minecraft环境的包装器(Johnson et al., 2016)。
除了以标准化的方式包装Malmo之外,我们还修复了错误并添加了能够实现更快、更高效的训练的功能。这些修正增加了对在Minecraft中工作的兴趣,并收到了一些学术机构关于进一步扩展环境的联系。

参加者の提出物は、3.2項で概説されているように、特定のDockerフォーマットに従わなければならない。標準コンテナを使用することで、両ラウンドの評価プロセスが合理化され、時間の節約にもなった。私たちは、提供されたコンテナの使用方法についての情報を提供したが、参加者からのフィードバックに基づいて、提供された構造を使用してエージェントを提出する方法についてのステップバイステップのデモンストレーションを含むように、この文書を拡張する予定である。

5.3. Impact of Evaluation Methodology

計算予算を明示する必要性と、参加者を制限したくないことのバランスを考慮して、2 回のラウンドを選択した。
第1ラウンドでは参加できるチーム数を制限しなかったが、第2ラウンドに移行するチーム数をあらかじめ指定した。
その結果、第2ラウンドではすべての応募作品の再トレーニングを行うことを約束することができた。これは、トレーニング時間の制限が厳しいことと、トレーニングと評価をすべて行う特定のシステムを選択したために可能となった。この構造のおかげで、評価のために予想以上に多くの計算資源を使用することはなかった。

ただし、トレーニング時間に対するこれらの同じ厳しい制限により、最終結果の取得が遅れた。
競合他社の提出期限を遅らせたため、提出から結果が発表されるまでの時間が短縮された。
特定のシステムでトレーニングを一定の日数行う必要があったため、個々の参加者の提出物の実行を並列化したり、より高速なハードウェアで実行したりすることはでなかった。 遅延にもかかわらず、再現性とサンプル効率の利点により、今後のコンテストでは同様の制限を使用する。

セクション3.3で述べたように、第2ラウンドの各チームには、手法のトレーニングと検証を可能にするために、1500ドルのAzureクレジットの計算助成金を提供した。トレーニング時間の制限のため、参加者は、最終的なアプローチのトレーニング時間を延長するために残りの計算時間を費やすことにインセンティブを与えられなかった。競技終了後も手法の開発を続けられるだけの計算時間が残っているチームもあったため、各チームに十分な金額を配分したと考えている。

最後に、我々は新しい視覚的領域ランダム化手法(a novel visual domain randomization method)を効果的に利用して一般化とルール遵守を確保したが、参加者は帰納的バイアスを利用して行動空間を形成することに多大な労力を費やしていた。将来コンペティションで完全に一般化可能な競争結果を得るために、我々は環境の行動空間の意味的なラベルを削除し、評価中に行動空間にランダムな双射影マッピング(bijective-mapping)を適用することを計画している。

6. 结论

私たちは、以下のようなアルゴリズムの開発を促進するために、NeurIPS2019で「Sample Efficient Reinforcement Learning on Sample Efficient Reinforcement Learning Using Human Priors」というコンペティションを開催した。
1) 強化学習と並行して人間のデモンストレーションを使用し、
2) サンプル効率が高く、
3) 一般的なAIコミュニティが利用しやすいアルゴリズムの開発を促進
することを目的としている。

応募作品をまとめ、異なるラウンドでの競争相手のパフォーマンスを見てみた。
また、競技規則の効果、提供された競技資料、評価方法についても議論した。
本大会の結果が概ね良好であったことから、再度の開催を予定している。
ダイヤモンドを獲得したチームがなかったため、同じタスクである ObtainDiamond に集中する予定である。
また、一般化可能でロバストな学習方法の開発を促進するパラダイムも維持する予定である。
再開催の際には、ルールを明確にし、参加方法のデモンストレーションを増やし、参加者の増加を目指す。

Acknowledgments
We thank Microsoft Azure for providing the computational resources for the competition, NVIDIA for providing prizes, AIJ for funding the inclusion grants, and Microsoft Research for funding travel grants. We also thank AIcrowd for hosting and helping run the competi- tion, and Preferred Networks for providing the baseline method implementations. Finally, we thank everyone who provided advice or helped organize the competition.

補充

在2020年的竞赛中,MineRL获得钻石的任务名为MineRLObtainDiamondVectorObf-v0。

動画

1位(Round 2?) https://www.youtube.com/watch?v=7J2HMUimj1A

本人による解説動画(ロシア語): https://www.youtube.com/watch?v=7J2HMUimj1A
Round 1: https://www.youtube.com/watch?v=7J2HMUimj1A&feature=youtu.be&t=2015
Round 2: https://www.youtube.com/watch?v=7J2HMUimj1A&feature=youtu.be&t=2100

サブタスクについて

以下にRewardが書かれている。
https://minerl.io/docs/environments/index.html#minerlobtaindiamondvectorobf-v0

<Item reward="1" type="log" />
<Item reward="2" type="planks" />
<Item reward="4" type="stick" />
<Item reward="4" type="crafting_table" />
<Item reward="8" type="wooden_pickaxe" />
<Item reward="16" type="cobblestone" />
<Item reward="32" type="furnace" />
<Item reward="32" type="stone_pickaxe" />
<Item reward="64" type="iron_ore" />
<Item reward="128" type="iron_ingot" />
<Item reward="256" type="iron_pickaxe" />
<Item reward="1024" type="diamond" />

https://minerl.io/competition/ の中盤辺り、”The stages of obtaining a diamond.”にも説明がある。

2020年のコンペティション

排行榜。Baseline PFRL SQIL太强了哈哈。

广告
将在 10 秒后关闭
bannerAds