見出し画像

イリヤ・サツケバー | 未来を解き放つ: 2024年のAI学習トレンドのトップ

はい、ありがとうございます。イントロダクションありがとうございます。皆さん、ご来場ありがとうございます。今日は、過去1年間にオープンAIで行ってきたメタラーニングとセルフプレイに関する研究についてお話しします。より技術的な詳細に入る前に、ディープラーニングについて、そしてそもそもなぜそれが機能するのかについて少し時間を割いてお話ししたいと思います。これは実際、自明ではありません。
事実として、数学的な定理として証明できることがあります。それは、もしデータに対して非常に良い性能を発揮する最短のプログラムを見つけることができれば、可能な限り最高の汎化を達成できるということです。少し修正を加えれば、これを正確な定理に変えることができます。そして非常に直感的なレベルでは、なぜそうなるのかを理解するのは簡単です。データがあって、そのデータを生成するより短いプログラムを見つけることができれば、本質的にそのデータからあらゆる考えられる規則性をプログラムに抽出したことになります。そして、このオブジェクトを使って最高の予測を行うことができます。例えば、データが非常に複雑で、より短いプログラムとして表現する方法がない場合、それはデータが完全にランダムであることを意味します。そこからは何の規則性も抽出できません。
この背景には、あまり知られていない数学的理論があり、これらの主張の証明は実際にそれほど難しくありません。しかし、1つの小さな残念な点は、少なくとも今日の道具と理解では、データが与えられた問題を説明したり、生成したり、解決したりする最良の短いプログラムを見つけることは実際には不可能だということです。この問題は計算上扱いにくいものです。すべてのプログラムの空間は非常に厄介な空間です。プログラムに小さな変更を加えると、プログラムの動作に大きな変化が生じます。それは当然のことです。ループがあって、ループの中身を変更すれば、もちろん全く異なるものになります。ですので、プログラムの空間は、少なくとも今日私たちが知っていることを考えると、探索するのが非常に難しいものです。完全に不可能に思えます。
では、短いプログラムを諦めたら、小さな回路はどうでしょうか。幸運なことに、小さな回路に関しては、バックプロパゲーションを使って問題を解決する最良の小さな回路を見つけることができます。これは、AIの残りの部分が立脚している奇跡的な事実です。回路があり、データを使ってその回路に制約を課すとき、バックプロパゲーションを使ってこれらの制約を設定する方法を見つけることができます。ニューラルネットワークの重みを少しずつ変更して、その予測がデータを満たすようにすることで。
これが意味することは、バックプロパゲーションによって解決される計算問題が非常に深遠だということです。それは回路探索です。常に解決できるわけではありませんが、実用的なデータセットがある場合には解決できることがあります。最良のニューラルネットワークを見つけられない人工的なデータセットを設計するのは簡単ですが、実際にはそれは問題ではないようです。
ニューラルネットワークの訓練を、多数の方程式項を持つニューラル方程式を解くことと考えることができます。F(Xi、θ) = Yiのような形です。パラメータがあり、それらはすべての自由度を表しています。そして勾配降下法を使って、これらの方程式からの情報をパラメータに押し込んで、それらをすべて満たすようにします。
ニューラルネットワーク、例えば50層のものは、基本的に50タイムステップで実行される並列コンピューターだと考えることができます。非常に強力な、大規模並列コンピューターの50タイムステップでかなりのことができます。例えば、あまり知られていないことですが、2つの隠れ層を持つ適度なサイズのニューラルネットワークを使って、nビットの数字をソートすることを学習できます。これはかなりのことです。特に、ソートにはログnの並列ステップが必要だと教えられてきたことを考えると、自明ではありません。ニューラルネットワークでは、2つの並列ステップだけで成功裏にソートできます。
そこには少し明白でないことが起こっています。これらは閾値ニューロンの並列ステップなので、少し多くの作業をしています。それが謎の答えです。しかし、50もの層があれば、ニューラルネットワーク内でかなりの論理、かなりの推論を行うことができます。そしてそれが機能する理由です。データが与えられれば、最良のニューラルネットワークを見つけることができます。そしてニューラルネットワークが深いため、その層の中で計算を実行できるため、最良のニューラルネットワークを見つける価値があります。なぜなら、それが本当に必要なものだからです。最適化する価値のあるモデルクラスが必要ですが、同時に最適化可能でなければなりません。深層ニューラルネットワークはこれらの両方の制約を満たしています。
これが、すべてが機能する理由です。これが、他のすべてが立脚する基礎です。
次に、強化学習について少し話したいと思います。強化学習は、複雑な確率的環境において目標を達成する能力に関してエージェントを評価するためのフレームワークです。図に示されているように、環境に接続されたエージェントがあります。任意のエージェントに対して、単に多数回実行し、その平均報酬を計算することができます。
強化学習フレームワークで興味深いのは、興味深い有用な強化学習アルゴリズムが存在することです。フレームワークは長い間存在しましたが、良いアルゴリズムが存在することに気づいたときに興味深くなりました。これらは完璧なアルゴリズムではありませんが、興味深いことを行うには十分に良いものです。数学的な問題は、期待報酬を最大化する必要があるというものです。
強化学習フレームワークが完全ではない重要な点の1つは、報酬が環境から与えられると仮定していることです。この図を見ると、エージェントはアクションを送り、環境は観測と報酬の両方を送り返します。これが環境が通信する方法です。現実世界ではこのようになっていないのは、我々が観測から報酬を理解するからです。我々は自分自身に報酬を与えます。環境が「ほら、ここにネガティブな報酬がある」と言うわけではありません。我々の感覚の解釈によって報酬が何かを決定するのです。そして、人生には本当に1つの真の報酬しかありません。それは存在か非存在です。他のすべてはその帰結です。
さて、エージェントはどうあるべきでしょうか。答えはすでにお分かりでしょう。ニューラルネットワークであるべきです。何かを行いたいときはいつでも、答えはニューラルネットワークになるでしょう。エージェントには観測をアクションにマッピングしてほしいので、ニューラルネットでパラメータ化し、学習アルゴリズムを適用します。
強化学習の仕組みについて説明したいと思います。これはモデルフリー強化学習です。実際に使われている強化学習は至る所にありますが、非常に堅牢で単純でもあります。また、あまり効率的ではありません。以下が機能する仕組みの1文での説明です。
短く言えば、新しいことを試し、アクションにランダム性を加え、結果を期待と比較します。結果が驚くもので、期待を上回るものであれば、将来的にそれらのアクションを取るようにパラメータを変更します。以上です。これが強化学習の全体的なアイデアです。試して、気に入ったら、将来的により多くそれを行うようにします。以上です。これが本当にすべてです。これが核心的なアイデアです。
数学的に形式化するのは難しくありませんが、これが本当に起こっていることです。通常のニューラルネットワークでは、ニューラルネットワークを実行し、答えを得て、望ましい答えと比較し、その差を送り返してニューラルネットワークを変更します。これが教師あり学習です。強化学習では、ニューラルネットワークを実行し、アクションに少しのランダム性を加え、結果が気に入れば、そのランダム性が実質的に望ましいターゲットになります。以上です。単純です。
数学は、これらの式の意味を説明せずに存在します。重要なのは式を導出することではなく、それらが存在することを示すことです。強化学習アルゴリズムには2つのクラスがあります。1つは方策勾配で、基本的には期待報酬の和を取り、微分を計算します。項を展開し、少し代数を行うと、微分が得られます。奇跡的に、その微分は私が説明した形になります。いくつかのアクションを試し、それらが気に入れば、それらのアクションの対数確率を増加させるというものです。直感的な説明が方程式から得られるものと1対1の対応を持つのは非常に素晴らしいことです。式を知らなくても、私の言葉を信じていただければと思います。これが上の方程式です。
もう1つの強化学習アルゴリズムのクラスがあります。これは説明が少し難しいです。Q学習ベースのアルゴリズムと呼ばれます。これらは少し安定性が低く、サンプル効率が高いです。また、アクターによって生成されたデータだけでなく、他のデータからも学習できるという特性があります。したがって、異なるロバスト性のプロファイルを持っています。これは少し技術的な詳細になりますが、重要です。これがオンポリシーとオフポリシーの区別です。少し技術的なので、理解が難しい場合は心配しないでください。すでに知っている場合は、もうご存知ですね。
さて、強化学習の可能性は何でしょうか。約束は何でしょうか。なぜ私たちはこれに興奮すべきなのでしょうか。2つの理由があります。今日の強化学習アルゴリズムはすでに有用で興味深いものです。特に、世界の非常に良いシミュレーションがあれば、多くの興味深いことを行うエージェントを訓練できます。しかし、本当に興奮させられるのは、超驚異的なサンプル効率の高いAI強化学習アルゴリズムを構築できる場合です。ほんの少量のデータを与えるだけで、アルゴリズムがそれを処理し、可能な限り速く学習するためにそこからあらゆるビットのエントロピーを抽出するのです。
今日のアルゴリズムは特にデータ効率が高くありません。データ効率が低いです。しかし、私たちの分野が進歩し続けるにつれて、これは変わっていくでしょう。
次に、メタラーニングのトピックに深入りしたいと思います。メタラーニングの目標は、美しいアイデアですが、実際にはうまく機能しません。しかし、ある程度機能し、本当に有望です。これは別の有望なアイデアです。
夢は何でしょうか。いくつかの学習アルゴリズムがあります。おそらく、これらの学習アルゴリズムを使って、学習することを学ぶことができるでしょう。それは素晴らしいことです。学習することを学べたら。
どのようにそれを行うのでしょうか。1つのタスクではなく、多くのタスクでシステムを訓練し、これらのタスクを迅速に解決することを学ぶように求めます。それだけで十分かもしれません。
これがほとんどの従来のメタラーニングの仕組みです。大きなニューラルネットワークであるモデルがありますが、訓練事例の代わりに訓練タスクを持ち、テスト事例の代わりにテストタスクを持ちます。入力は、現在のテスト事例だけでなく、テストタスクに関するすべての情報とテスト事例になります。そして、そのテスト事例の予測またはアクションを出力しようとします。
基本的に、「10個の例をモデルへの入力の一部として与えますから、それらを最大限に活用する方法を見つけてください」と言っているようなものです。これは非常に単純なアイデアです。ニューラルネットワークを学習アルゴリズムに変えることで、訓練タスクを訓練事例に変換します。訓練タスク=訓練事例、これがメタラーニングです。この1文です。
いくつかの成功事例がありますが、それらは非常に興味深いと思います。メタラーニングの成功事例の1つは、文字を素早く認識することを学習することです。MITのLake氏らによって作成されたデータセットがあります。これは多数の異なる手書き文字のデータセットで、人々はこのタスクに対して非常に強力なメタラーニングシステムを訓練することができました。
もう1つの非常に成功した例は、Googleのゼン・リーによるニューラル・アーキテクチャ探索です。彼らは1つの問題、小さな問題をうまく解決するニューラル・アーキテクチャを見つけ、それを一般化して大きな問題も成功裏に解決できるようにしました。これは少数のビットのメタラーニングのようなものです。アーキテクチャを学習したり、小さなプログラムや学習アルゴリズムを学習したりして、新しいタスクに適用するというものです。
とにかく、メタラーニングで実際に起こっていることは、ほとんどの場合、訓練タスクを訓練事例に変換し、これが完全に通常のディープラーニングであるふりをすることです。これがメタラーニングの全体です。他のすべては些細な詳細です。
次に、オープンAIの異なる人々による異なる研究について議論したいと思います。アンドリオ・アルによる大規模な取り組みから始めたいと思います。彼は1つのタスクだけでなく、多くのタスクを解決する強化学習アルゴリズムを開発し、その経験をはるかに効率的に活用する方法を学習しました。
強化学習における1つの問題、実際には相互に関連する一連の問題について議論したいと思います。学ぶべき本当に重要なことの1つは探索です。環境で始まり、何をすべきか分からない状態です。何をしますか?非常に重要なことの1つは、時々報酬を得なければならないということです。何かを試して報酬を得られなければ、どうやって学習できるでしょうか。
それが問題の核心です。どうやって学習するのか、そして関連して、目標を達成しようとして失敗した試みから意味のある利益を得る方法はあるのでしょうか。単一の目標を達成するようにアルゴリズムに求めるのではなく、非常に大きな目標の家族を達成できるポリシーを学習したいと考えます。例えば、1つの状態に到達するのではなく、システムのすべての状態に到達するポリシーを学習したいと考えます。
これにはどのような意味があるでしょうか。何かをするたびに、ある状態を達成します。例えば、状態Aを達成したいと言い、最善を尽くしたが、結果として状態Bを達成したとします。「それは残念だった。ほとんど何も学べなかった。状態Aを達成する方法についてまだ全く分からない」と結論づけることもできます。しかし、別の見方をすれば、「待てよ、Bという完璧に良い状態に到達したじゃないか。状態Aを達成しようとした試みから、状態Bを達成する方法を学べないだろうか」と考えることもできます。答えは、できるということです。そしてそれは実際に機能します。
ここで1つ小さな微妙な点があります。オンポリシーとオフポリシーの区別に非常に詳しい方々にとっては興味深いかもしれません。状態Aを達成しようとするとき、状態Aに到達するためのオンポリシー学習を行っています。しかし、状態Bに到達するためのオフポリシー学習を行っています。なぜなら、実際に状態Bに到達しようとした場合は異なるアクションを取るからです。
だからこそ、ここで使用するアルゴリズムがオフポリシー学習をサポートできることが非常に重要です。しかし、これは些細な技術的な詳細です。
アイデアの核心は、問題をより難しくすることで、表面的には問題を簡単にすることです。すべての状態に到達することを学習し、すべての目標を達成することを学習し、一般的に環境をマスターすることを学習するシステムを訓練します。常に何かを学ぶシステムを構築します。成功からも失敗からも学びます。なぜなら、1つのことを試みて別のことを行った場合、その別のことを達成する方法についての訓練データができたからです。
これが実際にどのように機能するかをビデオでお見せしたいと思います。強化学習システムの1つの課題は、報酬を形作る必要があることです。これはどういう意味でしょうか。学習の開始時、システムがあまり知識を持っていないときは、おそらく目標を達成できないでしょう。そのため、報酬関数を設計して、システムがあまり良くない場合でも、徐々に増加し、滑らかで連続的になるようにすることが重要です。
最終状態に到達したときにのみ報酬が得られるような非常にスパースな報酬をシステムに与えると、通常の強化学習アルゴリズムにとって問題を解決するのが非常に難しくなります。なぜなら、当然ながら報酬を得ることがないので、学習できないからです。報酬がないということは学習がないということです。
しかし、ここでは失敗からも成功からも学ぶので、この問題は単に発生しません。これは素晴らしいと思います。ビデオをもう少し見てみましょう。小さな緑色のパックを自信を持って精力的にターゲットに動かしています。こちらは別のものです。
物理シミュレーションでも機能します。物理的なロボットでも行えば機能しますが、ここでは省略しましょう。私が言いたいのは、ヒンドサイト経験リプレイアルゴリズムが方向性として正しいということです。なぜなら、すべてのデータを活用し、ほんの一部だけでなく使用したいからです。
1つの大きな疑問は、高レベルの状態はどこから来るのかということです。これまでお見せした研究では、システムは低レベルの状態を達成するよう求められています。このようなアプローチにとって非常に重要になるのは、表現学習と教師なし学習だと思います。正しい状態、達成する価値のある目標の状態空間は何かを理解することです。
次に、実際のメタラーニングの結果について説明したいと思います。2017年にパンガルが行った非常に素晴らしいプロジェクトで、シミュレーションから物理的なロボットへの非常に単純な方法をメタラーニングで示します。
ロボティクスの分野では、シミュレーションでポリシーを訓練し、その知識が何らかの形で物理的なロボットに移転できれば素晴らしいと思います。私たちは問題ないシミュレータを構築できますが、非常に遅いシミュレータを使いたくない限り、現実世界と完全に一致させることはできません。その理由は、接触をシミュレートすることが非常に難しいからです。間違っていたら訂正していただきたいのですが、摩擦のシミュレーションはNP完全だと聞いたことがあります。確かではありませんが、そういったことです。ですので、シミュレーションは現実と完全に一致することはありません。ある程度の類似性はありますが、それだけです。
この問題にどのように対処できるでしょうか。1つの単純なアイデアをお見せしたいと思います。1つのシミュレータだけで問題を解決するのではなく、シミュレータに大量の変動性を加えるとします。摩擦、質量、異なるオブジェクトの長さと寸法をランダム化すると言います。つまり、物理法則をあらゆる方法でランダム化しようとします。
そして重要なのは、ポリシーにどのようにランダム化したかを伝えないことです。そうすると、ポリシーは何をするでしょうか。ポリシーを環境に置いて、「これは本当に難しい。質量も摩擦も分からない。物事を試して、環境からの反応を見て摩擦を理解する必要がある」と言わせます。
つまり、ポリシーに一定の適応性を組み込み、学習させるのです。そして実際に機能します。シミュレーションでポリシーを訓練し、物理的なロボットに展開した場合の結果をお見せしましょう。ここでの目標は、ホッケーパックを赤い点に向かって動かすことです。ポリシーが苦戦しているのが分かるでしょう。その理由は、シミュレータと実際の物理的なロボットの間の系統的な違いにあります。基本的な動きでさえ、ポリシーにとって難しいのです。なぜなら、前提が大きく違反されているからです。
先ほど説明したように訓練を行うと、シミュレータのプロパティを素早く推論して、タスクを達成するように学習する再帰型ニューラルネットワークポリシーを訓練できます。そして、実際の物理環境を与えると、はるかに良く機能します。
これは完璧な技術ではありませんが、間違いなく非常に有望です。シミュレータを十分にランダム化できる場合には有望です。ポリシーのクローズドループな性質を見るのは確かに非常に素晴らしいです。ホッケーパックを押して、非常に優しく修正して目標に持っていくのが分かります。はい、それが見えましたね。素晴らしかったです。
これはメタラーニングの非常にクールな応用でした。次に、メタラーニングのもう1つの応用について説明したいと思います。それはアクションの階層を学習することです。これは実際にフランスらによって行われた研究です。ケビン・フランスが高校生のときにこの論文を書きました。
強化学習が階層的であれば素晴らしいと思います。単にミクロなアクションを取るのではなく、展開できるようなサブルーチンのようなものがあれば良いでしょう。サブルーチンという言葉は少し粗すぎるかもしれませんが、どのようなアクションプリミティブから始めるのが価値があるかについてのアイデアがあれば良いでしょう。
これまでのところ、誰も階層的強化学習から本当の付加価値を得ることができていません。これまでの本当にクールな結果、本当に説得力のある強化学習の結果は、それを使用していません。それは、階層的強化学習の正しい方法をまだ理解していないからです。非常に単純なアプローチをお見せしたいと思います。メタラーニングを使ってアクションの階層を学習する方法です。
やり方は次のとおりです。この特定の研究では、一定数の低レベルプリミティブがあります。例えば10個あるとします。そしてタスクの分布があります。目標は、非常に短い強化学習アルゴリズムの実行の中で使用されたときに、可能な限り大きな進歩を遂げるような低レベルプリミティブを学習することです。
つまり、学習の中で使用されたときに可能な限り大きな進歩をもたらすポリシーを学習したいということです。申し訳ありません、可能な限り大きな進歩をもたらすプリミティブを学習したいということです。これはメタラーニングのセットアップです。なぜなら、タスクの分布が必要だからです。
ここでは小さな迷路があり、迷路の分布がありました。この場合、小さな虫は3つのポリシーを学習しました。それらは固定方向に動くものでした。この階層があることで、問題を本当に速く解決できますが、階層が正しい場合にのみです。
階層的強化学習はまだ進行中の研究です。この研究は、階層的強化学習がどのようなものになり得るかについての興味深い証明点です。
ここで、高容量メタラーニングの限界について1スライドだけ触れたいと思います。具体的な限界は、訓練タスクの分布がテストタスクの分布と等しくなければならないということです。これは現実的な限界だと思います。なぜなら、現実では、学習したい新しいタスクは、これまで見たものとは根本的に異なる面があるからです。
例えば、学校に行けば多くの有用なことを学びますが、仕事に行くと学んだことのほんの一部しか活かせません。多くの新しいことをゼロから学ぶ必要があります。メタラーニングはそれに苦戦するでしょう。なぜなら、訓練データの分布、訓練タスクの分布がテストタスクの分布と等しくなければならないと本当に仮定しているからです。
これは限界です。テストタスクが訓練タスクの分布の外にある場合でもロバストになるためのより良いアルゴリズムを開発すれば、メタラーニングははるかに良く機能するようになると思います。
次に、セルフプレイについて話したいと思います。セルフプレイは非常にクールなトピックで、今やっと注目され始めています。まず、TDガンモンと呼ばれる非常に古い研究をレビューしたいと思います。1992年、つまり26年前のものです。ジェラルド・テサウロによって行われました。
この研究は、今日でも非常に関連性があるので本当に驚くべきものです。彼らが基本的に行ったのは、2つのニューラルネットワークを取り、それらにバックギャモンを互いに対戦させ、Q学習で訓練するというものでした。これは超現代的なアプローチで、2017年の論文だと思うかもしれません。
しかし、このプロットを見ると、異なる色で表されている隠れユニットの数が10、20、40、80だけであることが分かります。最大のニューラルネットワークが最も良く機能することに注目してください。ある意味では、あまり変わっていません。これがその証拠です。
実際、彼らはバックギャモンの世界チャンピオンを打ち負かすことができ、最高のバックギャモンプレイヤーが気づいていなかった新しい戦略を発見しました。TDガンモンによって発見された戦略が実際により良いものであると判断しました。
これは純粋なセルフプレイとQ学習であり、DeepMindのAtariに対するDQNの研究まで休眠状態でした。
セルフプレイの他の例には、外部データを一切使用せずに囲碁の世界チャンピオンを打ち負かすことができたAlphaGo Zeroがあります。この方向性のもう1つの結果は、OpenAIのDota 2ボットです。これはゲームの1対1バージョンで世界チャンピオンを打ち負かすことができました。
この方向性の興味深い研究は、1994年にカール・シムズによって行われました。YouTubeにカール・シムズによる本当にクールな動画があります。彼の行ったすべての研究を示しているので、チェックしてみてください。ここでは、エージェント間の小さな競争があり、行動と形態の両方を進化させます。エージェントは緑色の立方体の所有権を得ようとしています。
エージェントが互いに挑戦を作り出し、それが進化する必要がある理由だということが分かります。私たちが行ったことの1つ、これはOpenAIのイアン・サルによる研究ですが、セルフプレイで何か珍しい結果を示すことができるか、そしてそこに何かがあると本当に確信させるものがあるかどうかを言いました。
ここで私たちが行ったのは、小さなリングを作り、2つのヒューマノイド型の姿を配置しました。彼らの目標は単に互いをリングの外に押し出すことです。彼らはレスリングについて何も知りません。立つことやバランスを取ることについても何も知りません。重心についても何も知りません。彼らが知っているのは、うまくやらなければ、競争相手がより良い仕事をするということだけです。
セルフプレイの本当に魅力的な点の1つは、常にあなたと同程度に優れた対戦相手がいるということです。学習するためには、時には勝ち、時には負ける必要があります。常に勝つことはできません。時には失敗し、時には成功する必要があります。
何が起こるか見てみましょう。はい、緑色のヒューマノイドはうまくボールをブロックすることができました。よくバランスの取れたセルフプレイ環境では、競争は常にレベルが同じです。あなたがどれだけ優れているか、あるいはどれだけ劣っているかに関係なく、あなたにとってちょうど適切な挑戦をする競争相手がいます。
ここで1つ注目すべき点があります。このビデオは転移学習を示しています。小さなレスリングヒューマノイドを取り、その友達を取り除き、大きなランダムな力を加え始めます。そしてバランスを維持できるかどうかを見ます。答えは、できるということです。なぜなら、押す相手に対して訓練されてきたからです。そのため、圧力がどこに加えられているかを理解していなくても、依然としてバランスを取ることができます。
これはセルフプレイ環境の潜在的に魅力的な特徴の1つです。ある広範なスキルセットを学習できる可能性があります。しかし、それらのスキルが何になるかを制御するのは少し難しいです。
この研究に関する最大の未解決の問題は、セルフプレイ環境でエージェントを学習させ、彼らが何をするにせよ、その後、私たちにとって有用で明示的に外部から指定されたタスクのバッテリーを解決できるようにする方法です。
また、私たちのDOTAボットで観察したセルフプレイ環境の1つの属性を強調したいと思います。それは、ボットの能力が非常に急速に向上したことです。おそらく5ヶ月ほどの期間で、ボットが完全にランダムにプレイする状態から世界チャンピオンのレベルまで成長するのを見ました。
その理由は、セルフプレイ環境があれば、計算能力をデータに変換できるからです。セルフプレイは本質的に計算能力をデータに変換することを可能にします。これは、今後数年間でニューラルネットプロセッサの速度が劇的に向上するため、非常に重要なことになると思います。
ニューラルネットのサイクルは安価になり、この新たに見出された豊富なサイクルを活用することが重要になるでしょう。
セルフプレイアプローチの最終段階についても少し話したいと思います。人間の脳について知っていることの1つは、過去200万年の間にサイズが比較的急速に増大したということです。私の理論では、その理由は、私たちの祖先が、生存にとって最も重要なのはトラやライオンではなく、部族内での立場であるという点に到達したからだと考えています。
大きな脳を持つ他のものとどのように付き合うかが最も重要になると、わずかに大きな脳を持つことが本当に役立ちます。そしてそれが起こったと思います。この見方を支持する科学の論文が少なくとも1つあります。
社会性の高い類人猿と社会性の高い鳥類の間に収斂進化があったようです。人間と鳥類の進化的時間スケールでの分岐が非常に昔に起こったにもかかわらず、様々な行動について、人間、類人猿、鳥類は非常に異なる脳構造を持っています。
このアプローチが成功すれば、次のようなことが起こるはずだと思います。マルチエージェント環境の中で、言語、心の理論、交渉、社会的スキル、取引、経済、政治、司法制度といったものがすべて発生するエージェントの社会を作り出すべきです。また、学習したエージェントが私たちの望む方法で行動するようにするにはどうすればよいかという調整の問題もあるでしょう。
ここで推測的な脱線をしたいと思います。次のような観察をしたいのです。もしこのようなエージェントの社会が、真に一般的な知能が出現する可能性のある場所だと信じ、そしてDotaボットでの経験から見られた能力の急速な向上が、すべての詳細が正しければ引き継がれると仮定するなら、これらの両方の条件を仮定すると、エージェントの社会に住むにつれて、エージェントの能力が非常に急速に向上するのを見るはずだということになります。
さて、エージェントの能力を向上させ、社会的スキルや言語、そして実際に人間にも存在する多くのものを教える潜在的に興味深い方法について話してきましたが、エージェントに目標を伝える方法について少し話したいと思います。エージェントに目標を伝えるという問題は単なる技術的な問題ですが、重要になるでしょう。なぜなら、我々が訓練するエージェントが最終的に我々よりも劇的に賢くなる可能性が高いからです。
これはOpenAIの安全チームによる研究で、ポール・クリストイアノらによるものです。この動画を見せますが、基本的にこのシステムがどのように機能するかを説明しています。あなたが探しているある行動があり、人間が行動のペアを見て、より良く見えるほうをクリックするだけです。ごくわずかなクリック数で、この小さなシミュレートされた脚にバックフリップをさせることができます。
はい、今バックフリップができるようになりました。この特定の行動を得るには、人間のアノテーターによる約500回のクリックが必要でした。
この仕組みは次のとおりです。これは報酬の観点では非常にデータ効率の良い強化学習アルゴリズムですが、環境とのインタラクションの観点では効率的ではありません。ここで行うのは、すべてのクリックを取ることです。ある行動が他の行動より良いという情報があります。これらのクリックに合う数値的な報酬関数を適合させます。これらのクリックを満たす報酬関数を適合させたいのです。そして、この報酬関数を強化学習で最適化します。そして実際に機能します。
これには500ビットの情報が必要です。また、数千ビットの情報を使用して多くのAtariゲームを訓練することもできました。これらのすべてのケースで、人間のアノテーターまたは人間の審判が、前のスライドと同様に、軌跡のペアを見て、より良いと思うほうをクリックしました。
これは、珍しい目標の例です。これは車のレースゲームですが、目標は白い車をオレンジ色の車のすぐ後ろを走らせることでした。これは異なる目標であり、このアプローチを使用してこの目標を伝えるのは非常に簡単でした。
最後に、調整は技術的な問題であり、解決する必要がありますが、もちろん、我々のシステムに持たせたい正しい目標を決定することは非常に困難な政治的問題になるでしょう。
このメモで、皆さんのご注目に心から感謝します。ケンブリッジ・ブルーイング・カンパニーで午後8時45分からハッピーアワーがありますので、AIやその他のトピックについてもっと話したい方はぜひお越しください。
これは拍手に値すると思います。ありがとうございました。
さて、バックプロパゲーションは、あるいはネットワークは生物学に触発されたものですが、バックプロパゲーションは脳で起こっているものとは見えません。なぜなら、脳内の信号は軸索を下る一方向に流れるのに対し、バックプロパゲーションはエラーを「配線」を逆流させる必要があるからです。この状況について少し話していただけますか。脳は私たちの非常に成功しているアルゴリズムとは少し異なることを行っているように見えます。脳が実際に行っていることを理解すれば、私たちのアルゴリズムは改善されるのでしょうか。それとも、脳は明らかな方法がないにもかかわらず、実際に信号を送り返しているのでしょうか。この分野で何が起こっているのでしょうか。
それは素晴らしい質問です。まず、正直な答えは分からないということを言わなければなりません。しかし、意見はあります。
2つのことを言いたいと思います。まず、バックプロパゲーションが回路探索の問題を解決するということに同意するならば、この問題は非常に根本的な問題に感じます。そのため、消えることはないと思います。
また、おっしゃるとおり、脳は明らかにバックプロパゲーションを行っているわけではありません。しかし、それを行う方法についていくつかの提案がありました。例えば、ティム・リリクラップらの研究では、後方パスに使用できる別の接続セットを学習することが可能であり、それが成功裏に学習につながることを示しました。
これが実務家によって極限まで押し進められていない理由は、「TensorFlowの勾配があるから、心配する必要はない」と言うからです。しかし、これが重要な問題であることは正しいです。
私の個人的な意見では、バックプロパゲーションは最後まで私たちと一緒にいて、脳がどのように機能するかを理解する前に、実際に完全に人間レベルの、そしてそれ以上のシステムを構築することになると信じています。これが私の信じることですが、もちろん、認識されなければならない違いがあります。
ありがとうございます。DOTAボットとその人物との対戦は、システムの制約を考えると公平な対戦だったと思いますか。
このようなゲームでコンピューターが持つ最大の利点の1つは、明らかに反応時間が優れていることです。しかし、DOTAの場合、特にトッププレイヤーの1秒あたりのクリック数は比較的少ないです。これはスタークラフトとは異なります。
スタークラフトは非常にメカニカルに重いゲームです。多数のユニットがあるため、トッププレイヤーは常にクリックしています。DOTAでは、各プレイヤーは1つのヒーローだけを制御するため、行う必要のある総アクション数が大幅に減少します。
それでも、精度は重要です。私たちはそれを発見するでしょう。しかし、本当に起こると思うのは、コンピューターがあらゆる領域で、または少なくともまだではないすべての領域で優位性を持つということを発見することです。
エージェントから出現した行動は、実際には制約がすでに設定されていたため、ある程度方向付けられていたと思いますか。それとも、「ワオ、実際にこれらを自力で発見した」というような、本当に新しいものだったと思いますか。実際には、それを制約するようなバイアスはなかったのでしょうか。
確かに新しい戦略を発見しています。逸話を共有できます。私たちにはボットをテストするプロがいました。彼は長い間ボットと対戦し、ボットは人間プレイヤーに対して効果的なあらゆる種類のことを行いました。ある時点で、そのプロはより優れたプロと対戦することを決め、ボットが行っていたことの1つを模倣することにしました。その模倣によって、彼はより優れたプロを打ち負かすことができました。
私は、ボットが発見した戦略は本物だと思います。つまり、これは非常に現実的な転移...私が言いたいのは、ボットによって発見された戦略が人間を助けたということは、基本的なゲームプレイが深く関連していることを意味すると思います。
長い間、強化学習の目的は、期待報酬を最大化するアクションを選択するポリシーを決定することだと聞いてきました。これは先ほどおっしゃったことですが、可能な報酬の標準偏差を見ることは望ましいでしょうか。それは意味がありますか。
はい、確かにそう思います。それは本当にアプリケーション依存だと思います。期待報酬を最大化する理由の1つは、そのためのアルゴリズムを設計するのが簡単だからです。この方程式を書き下し、少し導出を行うと、良い外見のアルゴリズムに相当するものが得られます。
確かに、決して間違いを犯したくない、標準偏差にも取り組みたいというアプリケーションは存在します。しかし、実際には、期待報酬だけを見ることで、これを適用したい状況の大部分をカバーできるようです。
ありがとうございます。先週、動機について話しました。それは強化とかなり関係があります。そして、いくつかのアイデアは、私たちの動機は実際に他者とのつながりや協力であるということです。コンピューターに競争的なゲームをプレイさせるのが非常に人気があることは理解していますが、エージェントに協力的なゲームをセルフプレイさせることに何か意味はあるでしょうか。
それは非常に良い質問だと思います。私たちが少し inspiration を得られる場所の1つは、協力の進化からだと思います。私たちが協力するのは、究極的には、協力する人の方が協力しない人よりもはるかに良い結果になるからです。ですので、十分にオープンエンドなゲームがあれば、協力が勝利戦略になると思います。そして、好むと好まざるとにかかわらず、協力を得ることになると思います。
摩擦のシミュレーションの複雑さについて言及されましたが、AIに関連する未解決の複雑性理論の問題が存在すると感じていますか。それとも、人間が通常解決する種類の問題の良い近似を見つけることの問題に過ぎないのでしょうか。
複雑性理論は... 非常に基本的なレベルでは、私たちが実行しようとするアルゴリズムは、あるハードウェア上で比較的効率的に実行されるということを知っています。これは、私たちが解決している問題の真の複雑さに非常に厳しい上限を設定します。定義上、私たちは複雑性理論的な意味であまり難しくない問題を解決しているのです。
また、人間は一般に完全な問題を解決できないことも事実です。私たちがアルゴリズムに課す多くの最適化問題が、一般的なケースでは扱いにくいということも事実です。ニューラルネットの最適化自体から始まって、非常に少数のニューロンを持つニューラルネットワークに対して、グローバルな最適解を見つけることがNP完全になるようなデータセットのファミリーを簡単に作成できます。
では、どうやってそれを避けるのでしょうか。単に勾配降下法を試すだけです。そして何らかの形で機能します。しかし、疑問の余地なく、私たちは本当に扱いにくい問題は解決していません。
これで質問に答えられたと思います。
AGIへの道筋における重要なサブ問題の1つは言語を理解することだと思われます。現在の生成言語モデリングの状態は非常に悲惨です。言語モデルに向けての最も生産的な研究の方向性は何だと思いますか。
まず、言語の状況がまだ素晴らしいものからはほど遠いというあなたの指摘は完全に正しいと言わなければなりません。しかし、特別なイノベーションなしでも進歩が見られています。今日存在するモデルを単に大規模化するだけで、より大きなデータセットで驚くほど遠くまで行けるでしょう。より大きなデータセットだけでなく、より大きく深いモデルです。
例えば、1000層の同じ層を持つ言語モデルを訓練すれば、かなり驚くべき言語モデルになると思います。まだそのためのサイクルはありませんが、すぐに変わると思います。
また、ディープラーニングに関する現在の理解には、私たちが本当に解決したい問題を解決することを妨げている根本的な欠落があるということにも同意します。これらの問題の1つ、または明らかに間違っているように見えることの1つは、モデルを訓練し、訓練を停止し、凍結するという事実です。魔法が本当に起こるのは訓練プロセスにおいてなのです。
考えてみれば、訓練プロセスこそが全体の中で真に一般的な部分です。TensorFlowのコードはどのデータセットを最適化するかを気にしません。「何でもいいから、データセットを与えてくれ。どの問題を解決するかなんて気にしない。全部解決してやる」と言います。そうする能力は本当に特別に感じます。そして、テスト時にそれを使っていないと思います。
私たちが答えを知らないことについて推測するのは難しいですが、単により大きく深い言語モデルを訓練することで驚くほど遠くまで行けるでしょう。スケールアップだけでなく、テスト時の訓練やテスト時の推論のようなことを行うことも、性能を大きく向上させる別の重要な要因になると思います。
講演をありがとうございます。現在、強化学習問題を解決するための別の興味深いアプローチとして、進化戦略を使用する進化的なルートがあるようです。それらには欠点がありますが、OpenAIで特に何か関連するものに取り組んでいるか、そしてそれらに対する一般的な意見を知りたいと思います。
現時点では、進化戦略のようなものは強化学習にとってあまり良くないと信じています。特に大きなポリシーを持つ通常の強化学習アルゴリズムの方が優れていると思います。しかし、例えばコードの小さな断片のような小さくてコンパクトなオブジェクトを進化させたい場合、それは真剣に検討する価値のある場所だと思います。
しかし、これはすべて...有用なコードの断片を進化させるというのはクールなアイデアですが、まだ実現されていません。そこに到達する前にまだまだ多くの作業が必要です。
来ていただきありがとうございます。質問があります。「正しい目標は政治的な問題だ」と言及されましたが、それについて少し詳しく説明していただけますか。また、私たちがそこに到達するためのアプローチはどのようなものになると思いますか。
あまり多くのコメントはできません。なぜなら、私たちが持っている考えは...今、OpenAIにはこれについてフルタイムで考えている人が数人いますが、私には何か決定的なことを言うほど強い意見はありません。
非常に高いレベルで言えることは、将来、近い将来か遠い将来かにかかわらず、人間よりも何でもより良くできるコンピューターを構築するときが来るでしょう。脳は物理的なものなので、それは起こるでしょう。社会への影響は完全に大規模で圧倒的なものになるでしょう。本当に一生懸命想像しようとしても、それを想像するのは非常に難しいです。
これが意味することは、多くの人々が強く関心を持つだろうということです。これが私が言及していたことです。影響が徐々に増加するにつれて、自動運転車やより多くの自動化が進むにつれて、より多くの人々が関心を持つようになるでしょう。
これらのエージェントが最終的に現実世界に出て、人間レベルの知能に近いタスクを行うためには、物理的な世界の非常に正確なモデルを持ち、それをシミュレートする必要がありますか。
それは非常に良い質問です。もしそうだとしたら、私たちは困ったことになるでしょう。そしてそれを避けることができると非常に確信しています。
具体的には、本当の答えは次のようになるはずです。問題解決を学び、交渉を学び、持続することを学び、シミュレーションの中で多くの異なる有用な人生の教訓を学びます。そして、物理学も少し学びます。しかし、その後、現実世界に出ると、ある程度やり直さなければなりません。なぜなら、あなたの深く抱いていた多くの前提が間違っているからです。
これは、訓練を決して止めないことを私がとても重視する理由の1つです。あなたは知識を蓄積し、そして新しい環境に入ります。そこではあなたの前提のいくつかが違反されています。訓練を続け、新しいデータを古いデータに接続しようとします。これは私たちのアルゴリズムに求められる重要な要件であり、ある程度すでに満たされていますが、さらに多くの満たされる必要があります。
部分的な知識を獲得し、新しい状況に入り、さらに学ぶことができるようにするためです。文字通り、学校に行って有用なことを学び、仕事に行くという例です。完璧ではありません...学部のコンピューターサイエンスの4年間が、仕事で必要になるものすべてに完全に準備させてくれるわけではありません。ある程度は役立ちますが、新しく学ぶべきことがたくさんあるでしょう。これが、その精神です。
講演の早い段階で言及された1つのことは、この種の強化学習の限界の1つは、自己組織化がないということです。良いことをしたか悪いことをしたかを教えなければなりません。これは実際に神経科学でも問題です。ラットに迷路の中を移動することを教えようとするとき、人工的に何をすべきかを教えなければなりません。では、すでにこの問題がある中で、必ずしも学習だけでなく、教えることについても、研究がどのように進んでいくと思いますか。自己組織化の概念をどのように導入すればよいでしょうか。
疑問の余地なく、本当に重要なことの1つは、他のエージェントの目標と戦略を、それらを吸収することによって推論できるようになることです。これは、エージェントに組み込む必要がある基本的なスキルです。
例えば、2つのエージェントがいて、1つが何かを行っていて、もう1つが「それは本当にクールだ。私もそれができるようになりたい」と言って、それを行うようになるというようなことです。これが、報酬を設定する上で非常に重要な要素だと言えます。彼らが何をしているかを見て、報酬を推論し、そして「彼らが何をしているか見ただろう。今、同じことをしてみろ」というノブを持つのです。
私の知る限り、これは人間が他の動物とかなり異なる重要な方法の1つでした。他の人間の行動をコピーする規模と範囲において。
短い追加質問をしてもよろしいでしょうか。どうぞ。
それは競争の範囲では明らかですが、任意のタスクについてはどうでしょうか。例えば、私が誰かと数学の授業を受けていて、その人が問題を特定の方法で解いているのを見て、「それは良い戦略だ。私も試してみるべきだ」と思う場合、非競争的な環境ではどのように機能するのでしょうか。
私はそれが競争的な環境とは少し別のものになると思いますが、何らかの形でシステムに組み込まれるか、おそらく進化させる必要があると思います。他のエージェントが何かを行っている場合、彼らはあなたが観察するデータを生成しています。そのデータを本当に理解する唯一の方法は、エージェントの目標、戦略、信念状態を推論することです。
これは彼らとコミュニケーションを取る上でも重要です。誰かと成功裏にコミュニケーションを取りたい場合、彼らの目標と信念状態、知識の状態の両方を追跡する必要があります。
他のエージェントが何をしているかを理解し、彼らの目標を推論し、彼らを模倣し、彼らと成功裏にコミュニケーションを取ることの間には、多くのつながりがあることがわかるでしょう。

いいなと思ったら応援しよう!