エッセイ Towards the Machine Comprehension of Text のメモ
エッセイの一部をメモ。
主張をまとめると「自然言語の機械的な理解には、大規模なデータ、性能の良い機械学習も重要だけど、言語の構造をしっかり考えることも大事」。
Introduction
- Machine Comprehension of Text (MCT) (テキストの機械的理解) は人工知能のゴールである
- このゴールを達成したかどうかを確かめるために、研究者はよくチューリングテストを思い浮かべるが、Levesque (2013)が指摘するように、これは機械を知的に向かわせる、というよりは人間の知能を下げるほうに作業者を差し向けてしまう
- ※ チューリングテストとは、ある人間から見て、二人の対話のどちらが人間かどうか判別するテスト
- Levesqueはまた、チューリングテストよりも、世界知識を必要とするような選択肢が複数ある問題のほうが適しているとも主張している
- このエッセイでは、MCTは、“ネイティブスピーカーの大半が正しく答えられる質問に対して機械が答えた回答が、ネイティブスピーカーが納得できるものであり、かつ関連していない情報を含んでいなければ、その機械はテキストを理解しているもの"とする (つまり質問応答)
- このエッセイのゴールは、テキストの機械的理解という問題に何が必要なのかを観察することである
How To Measure Progress
- 複数の選択肢がある質問応答のデータセットをクラウドソーシングを利用して作った
- 7歳の子供が読めるレベルのフィクションの短いストーリー
- Winograd Schema Test proposal (Levesque, 2013) は、質問と回答のペアは世界知識を要求するように注意深く設計されているので、生成には専門知識を要する質問を使うことを提案している
- “それは紙で出来ているので、ボールはテーブルから落ちた"の"それ"は何を指しているか?
- クラウドソーシングなのでスケーラビリティもある
- 進捗が早ければ、問題の難易度を上げることもできる
- 語彙数を現状の8000から増やす
- ノンフィクションなストーリーを混ぜる
- タスクの定義を変える
- 正解が1つ以上、あるいは正解が1つもない問題など
- 回答の根拠を出力するようにする
- 興味深いことは、ランダムな回答をするベースラインでは25%が正しい回答を得られる一方で、単純な単語ベースな手法が60%で、最近のモダンな含意認識システムを使っても60%くらいであることである
Desiderata and some Recent Work
machine comprehensionに必要なものは、興味深い未解決な問題と通じている
- 意味の表現は二つの意味でスケーラブルであるべきである、すなわち (1) 複数ソースのノイジーなデータから教師なし学習で学習できて、 (2) 任意のドメインの問題に適用できるべきである
- モデルが巨大で複雑になっても、推論はリアリタイムでおこなえるべきである
- 構築、デバッグの簡易化のためにシステムはモジュール化すべきである
- モジュラ性はシステムを効率的に反応できるようにするべきである
- エラーが起きた時に、何故それが起きたか理解可能にするために、各モジュールは解釈可能であるべきであり、同様にモジュールの構成も解釈可能であるべきである
- システムは単調的に修正可能であるべきである: 起きたエラーに対して、別のエラーを引き起こさずに、どのようにモデルを修正すればよいかが明白であるべきである
- システムは意味表現に対して論理的推論をおこなえるべきである
- システムの入力のテキストの意味表現とシステムの世界モデルを組み合わせることで論理的な結論をだせるべきである
- もろさを避けるため、また根拠を正しく結合するために、論理的思考は確率的であるべきなようである (Richardson and Domingos, 2006)
- システムは質問可能であるべきである
- 任意の仮説に関して、真であるかどうか (の確率) を断言することができること
- 私達はなぜその断言ができるか理解することができるべきである
最近の研究では
- 論理形式を文に対してタグ付けするなど、意味のモデル化はアノテーションコストがとても高い
- 興味深い代替手段としては、質問-回答のペアから論理形式を帰納するアノテーションがより低いものがある (Liang et al., 2011)
- 教師なし学習でやる研究もある (Goldwassar et al. (2011) は60%の精度、ただし教師あり学習は80%)
- データはクラウドソーシングを利用すればスケールする (特にゲームとして提供すれば (Ahn and Dabbish, 2004))
- 大量のラベルなしデータを使えばある粒度の意味のモデル化はできる (らしい) (Mikolove et al., 2013)
- 意味モデル化のもう一つの問題は、あるタスク用に作ったモデルが他のタスクに使えないこと
- とても難しいタスクに挑戦するとき、モジュラ性、デバッグ性、解釈性は、良い精度を出すのに役立つ
- 画像分類タスクの現在のレコードホルダーが畳み込みネットワークが実際に何をしているのかを理解するための手法を設計したのは偶然の一致ではない: (Zeiler and Fergus, 2013)
- 修正可能性も強く関連している
- 現在の機械学習モデルは、誤った例を正しく分類できるように修正するとき、別の例で新たな誤りをしないという保証がない
- 質問可能性は別のデバッグツールである
- 理解が簡単であるほど、そのモデルはうまくいく
Seven Signposts
How to Incorporate Structure in Learning?
- 初期のAIはルールベース
- 経験的で、もろく、スケールしない
- 機械学習手法は構造データを扱えるように拡張されているが、主な方法は統計的なものである: 教師あり学習の基本的な設定では、
- データはある分布から生成されると仮定
- モデル、コスト関数 (しばしば凸関数) 、ラベル付きデータが必要
- ゴールは手元の訓練データのエラーを最小化すること (正則化は簡単のため考えない)
- 構造は、コスト関数の探索時に構造の制約を入れることで考慮される
- 言語はすごく構造的なので、機械学習のモデルを微調整して構造を考慮するよりも、最初からこの構造を認識しておくべきである
- 言い換えれば機械学習は不確かさを扱う基本的な方法である
- もし、あまりに早く不確かさをモデル化することが、データの構造について我々が知っていることのほとんどを無視してしまうことにつながるなら、この誘惑には対抗しなければならない
- そして、ほとんどの機械学習のアルゴリズムは、とてもシンプルなラベル (例えば二値ラベル) を使って、この上なく見事に不確かさをモデル化するように調整されている
- 確率的なグラフィカルモデルはモデルの構造の問題に取り組んでいるが、モデルの構造は人手で設計されているのでスケールしない
- 先程述べたように、最近の研究では論理構造と統計モデルを直接組み合わせているが、まだスケーラビリティが問題ある
- 私達は、一つの極端 (人手で設計したルールに基づくAI) から、もう一つの極端 (明示的なルールがない機械学習) にきている
Do Large Data and Deep Learning Hold the Key?
- ここ10年で、大量のデータを使うことで、昔から難しいタスクであった、質問応答、オントロジーの構築などですばらしい進歩が得られた
- deep neural networkがYouTubeの画像データを使って学習した
- しかしながら、意味のモデル化を避け、データの規模に頼っているシステムはもろい
- AskMSR (人手で設計したルールに基づくQAシステム (Brill et al., 2002) に"How many feet are there in a lightyear? (1光年は何フィートか)?“という質問をしたら"Winnie the Pooh"と回答した
- ディズニーのキャラクターであるBuzz Lightyearが根拠になって回答された
- 意味の処理をちゃんとやっていない (質問は"how many"で始まっているので、回答は数字なはず)
- IBMのWatson (IRの様々な技術を組み合わせて人間のクイズ王に勝ったシステム) でさえもUSの都市に関する質問をしたらトロントと答えた
- Deep Learningは強力なパラダイムである
- 音声認識、画像分類では大きな成果を上げているが、まだシステムが解釈可能でなかったり、質問可能でなかったり、修正可能でなかったり、スケールしなかったりする
Why is NLP so Hard?
- 自然言語処理はテキストの構造を直接モデル化する代替手段と見ることができるが、まだ初期段階である
- 文が意味をなすかどうか、あるいは文が文法的かどうかという人間には簡単な問題すらまだ解けていない
- そのドメインにおけるリッチなモデルが、自然言語の理解には必要であるため
- しかし、リッチなモデルを作るには、自然言語処理の高い技術が必要
- そのため、問題を限定して解くことが多い
- 別の理由としては、NLPのタスクで機械学習のモデルを学習するときには、データの構造を直接利用する、というよりは二値ラベルのようなシンプルなものを利用するため問題をうまく解けないということも考えられる
- そのドメインにおけるリッチなモデルが、自然言語の理解には必要であるため
- 文が意味をなすかどうか、あるいは文が文法的かどうかという人間には簡単な問題すらまだ解けていない
Can we Limit Scope for Manageability, yet Still Achive Scalability?
- 意味をモデル化する試みでは、簡単のために、よく問題を限定する
- 問題を限定すると、その解はスケールできない
- 問題を限定することには、科学的には意味があるが、私達は一般化が簡単な問題の限定、大規模データがある問題を探さなければならない
Are Brains Using Machine Learning?
- あなたが友達が何か誤解をしていて苦労しているのに気づいたとしましょう
- どうやって友達を救いますか?
- 彼を何テラバイトもの訓練データとともに部屋に閉じ込め、「一週間これでパラメータを更新しといてね」ということはしないでしょう
- あなたはあっという間にもっともありがちな彼の誤解が何なのかを考える
- 「彼が誤解を修正すべきところはどこなんだろう」
- あなたは一つや二つ、彼に質問をするかもしれない: 彼には質問することができる
- つまり、あなたは彼の思考に関する解釈可能なモデルを持っていることになる
- モジュラ性は人間の学習の強い区分けによって提案される
- 人間は自転車に乗る方法を学ぶ時に歯の磨き方を忘れない
- 機械は、あらたに間違えたことを修正する時に、もともと正しく分類できていたものを間違えるようになってしまう
- 難しいタスクにおいてさえ、人間は何かの意味を認識する時に、大量のラベル付きデータを使わない
- 学習のプロセスは世界知識のモデルを更新する小さなステップに分割される
- 見えない統計的なパラメータを更新しているわけではない
- 人間は記録、更新が簡単な意味のモデルを持たなければならない
- 少なくとも、彼らのモデルは解釈可能で、修正可能で、質問可能であることを示唆している
- 学習のプロセスは世界知識のモデルを更新する小さなステップに分割される
Discussion
- AIの初期からあるルールベースからあって、研究者はそれに依存し過ぎることに慎重であることは明白であった
- ルールベースなシステムが解けない問題は、あまりない例外であり、それを解けるようにするために人手でルールを更新するというのは大規模なデータに対してスケールしない
- 機械学習は多くの場合、強力なツールであるのだけど、多くの場合解釈が難しく、ラベル付きデータ無しに改善することが難しい
- 機械学習は、適切な場面で使えば当然強力なツールである
- データの構造を最大限活用した後に、データに残っている不確かさのモデル化に使うことに制限することが考えられる
- 人間にとってテキストが曖昧性を持たないという事実は、不確かさのモデル化は解くべき重要な問題ではないことを示唆している
- 不確かさがモデル化されなければならない状況やラベルが極めて単純な状況において機械学習アルゴリズムの使用を抑えて、代わりにリッチな構造の、曖昧性のないテキストのために設計された他の手段を模索することは、機械学習が基づく数学的な基礎を放棄しているわけではない