AIが大学レベルの数学を即座に解き、高品質な問題の生成にも成功。プログラム合成技術を活用 MITなどが発表【研究紹介】

2022年1月12日

山下 裕毅

先端テクノロジーの研究を論文ベースで記事にするWebメディア「Seamless/シームレス」を運営。最新の研究情報をX(@shiropen2)にて更新中。

米マサチューセッツ工科大学(MIT)、米コロンビア大学、米ウォータールー大学の研究チームが発表した論文「A Neural Network Solves and Generates Mathematics Problems by Program Synthesis: Calculus, Differential Equations, Linear Algebra, and More」では、テキストで事前学習し、コードで微調整(fine-tune)したTransformerが、プログラム合成によって大学レベルの数学問題をリアルタイムに解き、採点し、生成できることを実証した。数学の問題に対し必要に応じて補完を行い、その上でプログラムを自動生成。そのプログラムを実行することで、問題を解くという仕組みだ。

先行研究

先行研究では、MAWPSやMath23kなどの小学校レベルの算数問題において、さまざまな手法を駆使し解くことに成功しているが、数学オリンピックや大学レベルの数学には太刀打ちできないでいた。

そんな中、自然言語処理(NLP)タスクにおいて高性能な深層学習モデルTransformerをGraph neural network(GNN)と組み合わせて式木を予測するモデルが、大学レベルの問題を解くことに成功している。しかしこの手法では、プロットや方程式での回答ができず、数値解答に留まっており、他のコースに容易に拡張できない課題が残されていた。

研究チームはこの課題において、Transformerがテキストに対してのみ事前学習していることが要因ではないかと考えた。本研究では、テキストで事前学習を行い、尚且つコードで微調整を行ったTransformerであるOpenAI Codex(自然言語の記述からソースコードを自動生成するGPT-3ベースのシステムで、2021年8月にOpenAIが発表したモデル)でプログラム合成を実行し、大学レベルの高度な数学問題を解けるかを検証した。

実証実験

入力される数学問題は、MITの数学コース(1変数および多変数の微積分、微分方程式、確率と統計、線形代数、コンピュータサイエンスのための数学など)とMATHデータセット (プレ代数、代数、計数と確率、数論、プレ微積分) から取得する。これらの問題の前処理を行い、Codexへの入力として渡し、問題をプログラムに変換する。プログラムを実行すると、数値で回答したり、プロットを生成したりと、問題によってさまざまな形で回答が出力される。

▲本手法の概要図

問題を直接Codexに送っても、全て正しい答えが返ってくるわけではない。プログラム合成前に次の3つを補足し問題を整頓する必要がある。

  • ①問題に関連するトピックやサブトピック
    ②必要なプログラミングパッケージ/ライブラリ
    ③専門用語の定義

この調整が必要に応じてあるため、Codexによる正しい出力結果が行われる。

▲前処理を適宜行い、テキストからプログラムを自動生成する

実験結果

本手法で問題を解いた結果は、MATHデータセットと大学レベルの数学科目の両方で高い精度の回答率となった。その実力は、上級数学問題のベンチマークであるMATHデータセットとMITの数学コースの問題において、解く、採点する、問題を生成する、これらすべて1問あたり1秒以下でリアルタイムに実行できるほどだ。

またプロットを含む複数のモダリティを出力し、専門的なトレーニングなしに数学全般の複数のコースに拡張できることも実証した。さらに数学だけでなく、その他の学問への応用も考えられるという。

▲MATHデータセットの問題と解答例

MITとコロンビア大学の学生13人を対象に、アンケート調査を実施した。この調査の目的は、それぞれのコースについて、機械(本手法)で生成された問題と人間がつくった問題の品質と難易度を比較すること。学生には、どちらか分からない問題に対し、人間が作成したものか機械が生成したものか、特定のコースに適切な問題かそうでないか、 1(簡単)から5(難しい)の間のスケールで問題の難易度はどの程度かを答えてもらった。

アンケートの結果、 機械で生成した問題と人間が作成した問題が同数出題されたにもかかわらず、人間が作成した問題の方が多く出題されたと回答した。それに加え、機械で生成した問題のほうが若干難しいと評価した。一方、コースに適しているのは人間が作成した問題と若干の差で評価されたが、これら結果を総合的に考察すると、人間が作成する問題と見分けがつかない高品質な問題を機械が生成できることを示唆する。今後は、被験者を増やした評価結果を調査したいとしている。

Source and Image Credits: Drori, Iddo, Sunny Tran, Roman Wang, Newman Cheng, Kevin Liu, Leonard Tang, Elizabeth Ke et al. “A Neural Network Solves and Generates Mathematics Problems by Program Synthesis: Calculus, Differential Equations, Linear Algebra, and More.” arXiv preprint arXiv:2112.15594 (2021).

関連記事

人気記事

  • コピーしました

RSS
RSS