e4exp / paper_manager_abstract

0 stars 0 forks source link

Communicating Natural Programs to Humans and Machines #530

Open e4exp opened 3 years ago

e4exp commented 3 years ago

The Abstraction and Reasoning Corpus (ARC)は、新しい問題を柔軟に解決するエージェントの能力をテストする一連のタスクです。 ほとんどのARCタスクは人間にとっては簡単なものですが、最先端のAIにとっては難しいものです。 ARCのような領域で、新しい状況に一般化し、人間の指示を理解できる知的システムを構築するにはどうすればよいのでしょうか。 その答えは、このような課題を解決するために人間がどのようにコミュニケーションをとっているかを研究することで見つかるのではないかと考えています。 我々は、LARC(Language-annotated ARC)を発表する。これは、ARCにもお互いにも慣れていない人間の参加者が、ARCのタスクを解決する方法をお互いに指示するための自然言語記述のコレクションである。 LARCには、88%のARCタスクに対する成功した指示が含まれている。 集められた命令を「自然なプログラム」として分析したところ、ほとんどの自然なプログラムの概念は、典型的なコンピュータプログラムに類似していることがわかった。 しかし、コンピュータを正確にプログラムする方法とは異なり、人間は曖昧さを予測し、それを利用して効果的なコミュニケーションを行っていることがわかった。 さらに、この言語アノテーションを活用した最新のプログラム合成技術が、言語を持たないプログラム合成技術よりも優れていることを示した。

e4exp commented 3 years ago

1 はじめに

人工知能(AI)の長期的な目標は,新しい問題を柔軟に解 決し,人間の指示を理解し,人間の協力者とコミュニケーション をとることができるエージェントを構築することである. 現在のAIシステムは,特定の狭い範囲のタスクにおいては超人的な能力を発揮しているが [1, 2],その推論はしばしば高度に領域に特化したものであり,一般化,説明,新規の状況や領域外の状況への柔軟な対応ができていない [3].

4]で紹介されたAbstraction and Reasoning Corpus (ARC)は,抽象的な推論や一般化など,人間の知能に関連する基本的な能力をベンチマークするために特別に構築されたタスク群である[4]. ARCの課題は帰納的に提示されており,課題を解くには,少数の抽象的な入出力例に一致するパターンを推論し,それを新たな入力に適用して未知の答えを生成する必要がある. 認知研究によると,人間はこのような課題において,対象物のカテゴリーに関する事前知識,少数の例から構造化されたルールを推論する能力,自分自身や他者にルールを伝える説明能力など,豊富な一般的推論戦略を活用していることが示唆されている[3, 5-10]。 最近開催されたKaggleコンペティションの結果2では,最高のAIシステムでもタスクの20%しか解決できないことが判明しており,一方で人間のパフォーマンスをベンチマークした研究では,ほとんどの人間が80%以上を容易に解決できることが判明している[11].

3 困難で構造化された領域(ARCのような)において、人間の指導があるなしにかかわらず、人間レベルのパフォーマンスを達成する知的システムを構築するには、どうすればよいのでしょうか。 与えられた課題を解決するために人間が使用する内部の心的表現は、直接観察することはできません。 代わりに、下流の行動に影響を与える認知的表現を知るための手段として、人間が互いに与える指示である自然のプログラムに注目します。 自然界のプログラムは、コンピュータのプログラムと同じように、人間が確実に解釈して「実行」することで、意図した出力を得ることができる表現を含んでいます。 特定のスタイルで記述されなければならないコンピュータプログラムとは異なり、自然なプログラムは、人間がうまく実行できるのであれば、言葉による指示、手のジェスチャー、落書きなど、どのような形でも記述することができます。 この研究では,認知科学,言語科学,計算科学の長い伝統に基づいて,自然言語の構造と意味論を形式的な記号システムを用いてモデル化しようとする,自然プログラムの特定の形式である自然言語命令を研究しています[12, 13]. 私たちは,人間が解釈可能な言語命令を自然プログラムとして分析し,それを形式的なプログラミング言語と明示的に比較することで,人間が構造化された情報をどのように生成し,伝達し,解釈するのかを明らかにするとともに[14-17],AIシステムが困難な領域で人間のユーザにどのようにアプローチし,インタフェースするのかを知らせることができると提案する.

このコーパスは、[4]の帰納的タスクに、人間が提供した自然言語で表現されたプログラム(図1)を加えたものである。 人間の参加者は、このデータセットに含まれるタスクの少なくとも88%を、言語の記述だけで(つまり、オリジナルの帰納的な例を一切使用せずに)成功裏に伝達することができる。 このデータセットを用いて、自然のプログラムとコンピュータプログラムを比較する言語分析(項4)を行ったところ、コンピュータプログラムと同様に、人間は条件文やループなどの一般的なアルゴリズムの概念や、オブジェクトなどのARC固有の概念に依存していることがわかった。 しかし、コンピュータプログラムとは異なり、人間のフレーズの大部分は、例示、説明、検証を行い、指示の文脈を提供している。 これは、人間が自然なプログラムのコミュニケーションを行う際に、曖昧さを予測し、それを利用していることを示唆している。 最後に、この言語を学習したプログラム合成モデルに活用することで、ARCドメイン上にグランドトゥルースのプログラム監視がない場合でも、検索ベースの合成を向上させることができるという結果を示します。 以上のことから、以下のような貢献があると考えられる。

  1. 難しい領域での機械の動作に人間の指示を利用するための自然なプログラミングフレームワークを紹介する。人間のコミュニケーションゲームを集めた、言語注釈付きのAbstraction and Reasoning Corpusを紹介する。

  2. このコーパスの言語学的分析を行い、人間の自然言語による指示をコンピュータ・プログラミングの概念と比較する。その結果、自然なプログラムのほとんどの概念はコンピュータプログラムに類似しているが、コンピュータプログラムとは異なり、人間は曖昧さを考慮し、それを利用して効果的なコミュニケーションを行っていることがわかった。

  3. 検索ベースのプログラム合成において、自然言語とプログラムの間の構成的な関係を活用するための簡単な方法を提示し、この方法で言語を組み込むことでARCタスクにおいて大幅な改善が得られることを示す。