大学レベルの数学を数秒で解く機械学習モデル「OpenAI Codex」、性能改善の裏側に迫る:解法を解説し、同じような問題を作り出すことも可能
ニューラルネットワークは高度な数学の問題を解くことはできないと広く信じられてきた。MITはこの神話を打ち破るため、ニューラルネットワーク「OpenAI Codex」を用いてテキストで事前学習し、コードで微調整することで、大学レベルの数学問題を正答率81%で解くことに成功した。これまでの正答率は8.8%だったという。さらに問題について解説したり、新たに問題を生成したりすることも可能だ。
マサチューセッツ工科大学(MIT)は2022年8月3日(米国時間)、大学レベルの数学の問題を数秒で解くだけでなく、解法を解説し、同じような問題を作り出すことが可能な手法を開発したと発表した。機械学習モデルにはOpenAIの「OpenAI Codex」を用いた。
開発したのはMITの電気工学/コンピュータサイエンス学部(EECS)のイド・ドロリ講師を中心とする学際的研究チームだ。
生成した問題を大学生に見せたところ、学生はアルゴリズムが生成した問題なのか、人間が生成した問題なのかを見分けることができなかったという。
今回の研究成果を応用すれば、数学の講座に使うコンテンツを効率的に生成でき、数千人の受講生がいる大規模な講座や大規模なオープンオンライン講座(MOOC)で有効だと考えられるという。さらに、学部の数学の問題を解く際の手順を学生に示す自動チューターとしても利用できるだろう。
ドロリ氏はコロンビア大学コンピュータサイエンス学部の非常勤准教授でもあり、2022年夏からボストン大学の教員になる予定だ。「今回の成果は学生の数学能力の改善に役立ち、教師が新しいコンテンツを作る手助けになる。コースによっては難易度を上げる際にも役立つだろう」(ドロリ氏)
性能を大幅に改善できた「ひらめき」とは
ドロリ氏は学生や同僚と共に、このプロジェクトに2年近く取り組んできた。テキストのみを用いて事前学習したモデルでは、高校数学の問題であっても8.8%以上の正答率が得られないことが分かっている。グラフニューラルネットワークを使ったモデルでは、問題を解けるようになるものの、学習に1週間かかっていた。さらに回答について説明することはできない。
ここでドロリのひらめきが役立った。MITとコロンビア大学の数学の講義から、これまでモデルが見たことのない問題を取り出して、プログラミングの問題に変換し、プログラム合成や少数ショット学習(few-shot learning)と呼ばれる技術を適用するという手法だ。MITからは単変数/多変数微積分と微分方程式、確率/統計学入門、線形代数、コンピュータサイエンスのための数学を、コロンビア大学からは計算線形代数の問題を得た。
数学の問題をプログラミングの課題に変換するには、「2点間の距離を求めよ」という問題を「2点間の差を求めるプログラムを書け」という問題に書き換えたり、質問とプログラムのペアを幾つか例として示したりする程度で済むものの、人手が必要だ。
改善点はもう一つあった。数学の問題をプログラミングの問題に書き換えてニューラルネットワークに与える前にもう一段階ステップを追加することで、この人手を省くことができた。
これまで、研究者がこの問題に取り組む際には、「GPT-3」のような、テキストのみで事前学習させたニューラルネットワークを使用しており、自然言語のパターンを学習するために、何百万ものテキストの事例を与えていた。
今回はテキストで事前学習させ、さらにコードで「微調整」したニューラルネットワーク「OpenAI Codex」を用いた。ここで言う微調整とは、基本的に機械学習モデルの性能を向上させるための、もう1つの事前学習ステップのことだ。
事前に学習させたモデルに対し、さらにオンラインリポジトリにある何百万ものコード例を与えた。この学習データには、数百万の自然言語の単語と数百万のコード行が含まれているため、テキスト片とコード片の関係を学習できた。
「多くの数学の問題は、計算グラフや計算木を用いて解くことができる。だが、テキストで書かれた問題をこのようなグラフなどの表現に(機械的に)変えることは困難だ」とドロリ氏は説明する。今回のモデルはテキストとコードの関係を学習しているため、幾つかの質問とコードの例を指定すれば、テキストの質問をコードに変換し、そのコードを実行して問題に答えることができる。つまり人手を介して元の問題文を、機械学習で扱いやすいプログラムのコードに書き換える必要がない。
「テキストで質問しただけでは、機械学習モデルが答えを導き出すことは困難だ。たとえ答えがテキストの中にあったとしてもだ。今回の研究は、コードとプログラム合成の間にあった欠落点を埋めるものだ」(ドロリ氏)
ドロリ氏のひらめきは性能改善に大きく貢献した。今回の研究は、大学学部レベルの数学の問題を解決した最初のものであり、正答率を8.8%から81%へ改善できたという。
MITやコロンビア大学の数学の講義で使われた問題(左)をデータセットとして「OpenAI Codex」(中央)に与えた。OpenAI Codexは問題を解くことができるだけでなく、新たに出題することも可能だ。例えば微積分の問題(体積の計算)や微分方程式(ローレンツアトラクター)、線形代数(特異値分解:AVD)の計算などの問題を出力できた(出典:A neural network solves, explains, and generates university math problems by program synthesis and few-shot learning at human level)
数学の問題を解く際にも背景知識が必要
数学の問題をプログラミングの課題に変換することは、必ずしも簡単なことではないとドロリ氏は言う。問題によっては、ニューラルネットワークが問題を正しく処理できるように、研究者が文脈を追加する必要がある。
例えば、問題文中の「ネットワーク」が「通信ネットワーク」ではなく「ニューラルネットワーク」を指していることを明確にする必要があるかもしれない。あるいは、どのプログラミングパッケージを使用するのかをモデルに指示する必要があるかもしれない。また、ポーカーの手に関する問題では、1つのデッキには52枚のカードが含まれていることをモデルに伝える必要があるかもしれない。
これらのプログラミングタスクは、文脈や例文を含めて、事前に訓練され、微調整されたニューラルネットワークに自動的に送り込まれる。81%という正解率を得るためにこのような努力も必要だった。
さらに研究者たちは、あるトピックに関する一連の数学の問題をニューラルネットワークに与え、新しい問題を作るように指示することで、このモデルを用いて問題を生成できた。
「あるテーマでは、驚くような結果を出すことができた。例えば、水平線と垂直線の量子検出に関する問題だ。ニューラルネットワークは(水平線や垂直線ではなく)対角線の量子検出に関する新しい問題を生成したのだ。既存の問題の値や変数を置き換えて、新しい問題を生成しているだけではない」とドロリ氏は言う。
人間が生成した問題と見分けが付くのか
次に研究者は、機械が生成した問題を大学生に見せた。複数の数学の講義で10問をランダムに出題した。うち5問は人間が作成したもの、5問はアルゴリズムが生成したものだ。
学生たちは問題がアルゴリズムによるものなのか、人間によるものなのかを見分けることができなかった。難易度やコースへの適合性についても、人間が作成した問題とアルゴリズムが作成した問題で同じような評価をした。
ドロリ氏によれば、今回の研究は機械学習モデルが人間の教授に取って代わることを意図したものではないという。
「自動化(正解率)は81%まで進んでいるが、100%になることはないだろう。何かを解決するたびに、誰かがもっと難しい問題を出してくるだろう。しかし、今回の成果は、機械学習を用いて学生が次第に難しい問題を解けるようにするための道を開くものだ。高等教育にも大きな影響を与えると考えている」(ドロリ氏)
研究チームは現在、数学の証明を扱えるように作業を拡張しており、幾つか見つかった制限を乗り越えようとしている。現在のところ、モデルは視覚的な要素を含む問題に答えることができず、証明問題や計算複雑性を含む問題を解くこともできない。
これらのハードルを克服することに加え、モデルを数百の数学コースにスケールアップすることにも取り組んでいる。数百のコースによって、自動化を強化し、コース設計やカリキュラムへの洞察を提供することができ、より多くのデータを生成できるという。
今回の研究はMITの他、コロンビア大学やハーバード大学、ウォータールー大学の学生、研究者、教員を含む共同研究だ。筆頭著者は、MITの数学教授であるギルバート・ストラング氏だ。
【訂正:2022年8月10日午後19時00分】本記事の初出時、要約部分と本文の冒頭、図のキャプションでMITが「『OpenAI Codex』を開発した」としておりましたが、OpenAI Codexの開発元はOpenAIであり、MITの貢献部分は学習手法でした。お詫びして訂正いたします。該当箇所は既に修正済みです(編集部)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 機械学習アルゴリズムに見えない課題あり、米大学の研究者が指摘
メリーランド大学のコンピュータサイエンス研究グループが、機械学習アルゴリズムを改善するための新しい有望なアプローチを開発した。意味のない入力に対して、回答しないアルゴリズムが必要なのだという。 - AIに関する6つの誤解を明らかにする
リーダーが人工知能(AI)を活用して価値を生み出すには、「AIはどんな仕組みなのか」「どこに限界があるのか」を十分理解する必要がある。 - 機械学習/ディープラーニングの「数学」が学べるオススメ本
機械学習やディープラーニングに必要な数学項目をピックアップし、そういった項目を教科書的〜実践的にカバーしているオススメの「数学」本を紹介する。また中学〜大学までの数学全体を学び直したい人向けの本も紹介。