最新動向

The AI Scientist:AIによる論文の自動生成|さまざまな研究テーマを提案させてみる

sakana.aiは、2024年に「The AI Scientist」(AIサイエンティスト)を公開しました。
このプロジェクトは「LLMを使って研究開発プロセスそのものを自動化する」という、
革新的な技術により、論文を自動生成するシステムです。

本記事では、Sakana.aiのAIサイエンティストの紹介と、「AIサイエンティストによる
研究テーマの提案能力」に焦点を当てて検証を行います。


目次

AIサイエンティストとは?

AIサイエンティストは、LLMを活用して論文のアイデアの発案、実験、執筆の一連のプロセスを全て自動化するシステムです。

sakana.ai によると、AIサイエンティストは科学的発見プロセスの自動化と人間の科学コミュニティの模倣によって研究効率を飛躍的に向上させ、AI研究における人材不足を補い、研究開発促進に貢献できる可能性があるとしています[1]

論文の作成は、以下の図1が示すように「Idea Generation」「Experimental Iteration」「Paper Write-Up」の3つのフェーズで行われており、LLMのAPIの使用料として1本あたり15ドル程度のコストがかかるとされています。


図1  The AI Scientist の動作の手順

 ⑴ Idea Generation
 最初のフェーズでは、アイデアのテンプレートをもとに、LLMを使用してさまざまな
 新しい研究方向をブレインストーミングして研究テーマのアイデアを生成します。
 各アイデアは説明と実験内容、および自己評価による興味深さ・新規性・実現可能性の
 数値スコアで構成されます。これらのアイデアについて、Semantic Scholar API [2]
 利用して既存の論文アーカイブを検索・比較しながら、興味深く新しい研究テーマを
 生成するようにLLMに促します。

⑵ Experimental Iteration
 次のフェーズでは、生成されたアイデアから実験内容を提案し、Aider [3]によって
 実験用コードを実装します。
 その後、実験結果をテキストで記録し、この記録を使用して実験の再計画と実行を
 繰り返します。また、AIder を使用することでLLMと連携しながらコードの生成と
 修正が行われ、論文に載せる図を作成するPythonコードも実装されます。

⑶ Paper Write-Up
 最後のフェーズでは、 LaTeXによる論文を作成して査読を行います。
 LaTeX による執筆は以下の手順で行われます。

  ・前のフェーズの実験記録からテンプレートに基づき各セクション(導入、背景、
  実験方法、結果など)を作成する

 ・Semantic Scholar APIを使用して関連文献を収集し、引用や関連研究を追加すると
  共にハルシーネーションを防ぐ

 ・セクションごとに自己修正を行い、冗長性を削減する

 ・LaTeXファイルのコンパイルし、AIder を利用してエラー修正を行う

執筆された論文は、NeurIPS(Neural Information Processing Systems)会議のレビューガイドラインに基づき、GPT-4oをベースに設計されたレビューエージェントによって査読
されます。レビューの結果によっては生成した論文がリジェクトされます。

研究テーマの生成について

本記事では、AIサイエンティストが研究テーマを生成する Idea Generation に焦点を
当てて検証を行います。
以下、GPUを搭載したJupyter Lab上で実行する場合のコードサンプルと出力結果です。
本検証で使用したマシンのスペックは以下となっています。 

 ・CPU:AMD EPYC 7252 8-Core
 ・Memory:128GB
 ・GPU:RTX-3090(24GB) 

なお、本検証にあたり Google Colab の無料版GPUでも試していましたが、 AIサイエン
ティストのセットアップ時にRAMがクラッシュしてしまうため断念しました。

テーマを生成するには、GitHubリポジトリ[4]にあるREADMEに沿ってセットアップを
行い、LLMのAPIキー(本記事ではGPT-4oを使用)を取得後、以下のコマンドでai_scientist/generate_ideas.py を実行します。
本検証で使用した Jupyter Lab の環境では、10分程度で実行が完了しました。



これにより、 templates/nanoGPT/seed_ideas.json をシードとして、新しい研究テーマを複数生成し、 templates/nanoGPT_lite/ideas.json に保存します。
seed_ideas.json と ideas.json の一例は、以下のようになっています。

















ただし、ここで生成されるアイデアは、後の Experimental Iteration で実験用コードを作成するために、主に機械学習に関するテーマとなるようにプロンプトで制限されています。
また、実験用コードは experiment.py にあるコードを参照して生成します。以下はこの制限に関連している generate_ideas.py 内の初期プロンプトと、Idea Generation で使用されるシステムプロンプト(templates/nanoGPT/prompt.json)です。



























異なる分野での研究テーマを提案させてみる

前述の研究テーマの生成について、もとのプロンプトとseed_idea.jsonを編集することで、機械学習以外のテーマで提案させることができそうなので、実際にさまざまなテーマを提案させてみました。

まずは generate_ideas.py 内の初期プロンプトについて、以下のコードブロック内のラインマーカーで示す部分を削除します。









次に prompt.json のシステムプロンプトを以下の内容に置き換え、AI 以外の分野でも研究できるようにさせます。






プロンプトの編集後にgenerate_ideas.py を実行してみたところ、機械学習以外のテーマでも提案できることが確認できました。


 次に、以下の2つの内容をシードとして、新しい研究テーマが提案できるかを試してみます。

 1. 最近のイグノーベル賞  
 2. おいしいパンの焼き方


<検証結果>
1. 最近のイグノーベル賞
 wikipediaのイグノーベル賞受賞者の一覧 [5] から以下の論文を選択し、それぞれの
 arXivにある要旨をもとにGPTにシードを作成させ、 AIサイエンティストに研究テーマを 
 提案させました。

 ・コインを投げた時、最初に上にしていた面が出る確率の方が高いという理論を、
  35万757回の実験で示したことについて [6] 

 ・なぜ最も才能のある人でなく、最も運が良い人こそしばしば成功するかを、数学的に
  説明したことに対して [7]

例として、以下のような内容で生成されました。


タイトル
実験内容
1
創造的な問題解決とイノベーションの
強化におけるランダム性の役割

300人を3グループに分け、ランダムな刺激後にパズルや作曲などの創造課題を行い、成果を評価する。3ヶ月後にフォローアップ調査を実施する。

2
不確実性がハイステークス・シナリオの
意思決定に及ぼす影響
300人の参加者をランダム性の高さに応じた3つのグループに分け、VRシミュレーションで高リスクな意思決定(緊急対応、ビジネス判断、その他の高圧環境)を行わせる。
ランダム性の違いが意思決定に与える影響を評価する。
反応時間や成果、心理的な指標を測定し、1ヶ月後にフォローアップ調査を行う。


生成結果としては、確率や人間の行動をテーマとした実験となっています。
しかし、全ての出力について、実験内容が「Participants (n=300)」で始まっており、グループ分けやランダムな状況変化などの共通点があるため、生成方法や検索したアーカイブなどで何らかの偏りがあるようです。


2.  おいしいパンの焼き方
「提示したjsonファイル(seed_ides.json)の形式に合わせて、おいしいパンの焼き方に
関する実験テーマを提案してください。」というプロンプトでシードを作成し、AIサイエンティストに研究テーマを提案させました。

例として以下のような内容で生成されました。


タイトル
実験内容
1
パン生地の水和レベルがパンの
食感、ボリューム、形成に与える
影響
パン生地の水分量(50%、60%、70%、80%)を調整し、弾力性、膨らみ、食感、体積、クラストの品質に与える影響を調べる。
焼いたパンの気泡均一性を画像分析ソフトで測定し、食感や味について感覚評価を実施する。

2
パンへの昆虫粉の配合: 食感、風味
および栄養に及ぼす影響
昆虫粉(例:コオロギ粉)をパンのレシピに
加えることで、生地の性質や最終製品の品質、栄養に与える影響を調査する。
異なる昆虫粉の割合(0%、5%、10%、15%、20%)でパンを作り、食感、風味、栄養素を

評価する。
消費者の受け入れ度も調査し、最適な昆虫粉の割合を特定する。

生成結果について、どちらもパンの作り方による違いを分析できる実験になっていそうです。後者については、どのようにして昆虫食の話が出てきたかが気になりますが、明確な研究内容と新規性は確かにありそうです。


まとめ

本記事では、sakana.aiが公開した「AIサイエンティスト」についてご紹介しました。

AIサイエンティストでは実験用コード生成の関係上、機械学習に関する分野でしか実験・
執筆を行うことはできませんが、15ドル程度で1本の論文を書くことができます。
また、今回は2つのテーマについて、実際にAIサイエンティストに新しい研究テーマを
生成させてみました。結果としては、既存の論文と比較しながらユニークなアイデアを
提案させることができましたが、複数のアイデアを連続して出力する仕組みから、出力
内容が偏ってしまうケースもありそうです。

なお、本記事における検証では、generate_ideas.py を何度も動作させており、その分
GPTのAPI使用料がかなりかかってしまいましたが、1回のアイデア生成を実行する場合は
数ドルで済みます。しかし「論文のアーカイブと比較しながら新規アイデアを複数生成する機能」だけを使うには、活用方法を検討する余地があると感じました。

スライドの中で定義している言葉を抽出する、などは可能。例えば、スライドの中でA=Bと記載していた場合、「スライドの中で定義したAについて説明してください」といった具合でcopilotに質問すると答えてくれます。

AIサイエンティストは、既存のアーカイブや実験用コードを参照しながら実験と執筆を行う仕組みのため、革新的なアイデアや研究成果を生み出すことはまだ難しいと考えられます。

しかし、 sakana.ai が述べている AI研究における人材不足の解決や研究開発の促進という
目的で、低コストでの研究の自動化や新たな方向性の提案を行うことについては、大きな
可能性を秘めていると考えられます。
技術革新そのものは引き続き人間の役割として重要ですが、AIによって研究プロセス全体が支援されることで、科学の発展に新たな視点と可能性をもたらすことが期待されます。  

 


【参考文献】

[1] 「AIサイエンティスト」: AIが自ら研究する時代へ|sakana.ai

[2] Semantic Scholar API | Semantic Scholar

[3] Aider |GitHub

[4] AI-Scientist|GitHub

[5] イグノーベル賞受賞者の一覧|wikipedia

[6] Fair coins tend to land on the same side they started: Evidence from 350,757 flips

|arxiv

[7] Talent vs Luck: the role of randomness in success and failure|arxiv