コンピュータサイエンスのトップカンファレンスが示す再現性チェックリスト
こんにちは。@shunk031 です。機械学習モデルの実験をする際の乱数シード値は 19950815 を使っています。
この記事は 法政大応情 Advent Calendar 2020 10 日目の記事です。
研究において、再現性は非常に重要なポイントの 1 つです。 特に最近は機械学習や深層学習の研究における再現性について議論されております。 こうした研究において再現性を高める上で、当たり前ですが次の 2 点が重要です:
- 再現可能な
実装
の公開 - 再現可能な
論文
の公開
再現可能な実装の公開
については、先日私が寄稿した pyenv と poetry による再現可能な実験環境構築 が助けになるかもしれません。
本記事では 再現可能な論文の公開
に焦点を当てます。
近年のコンピュータサイエンス分野におけるトップカンファレンスでは、著者に対して 再現性チェックリスト
が示され、投稿時にこれらのチェックリストに従った論文であるかの確認があります。
こうした再現性チェックリストについての論文が arXiv に公開されていたりと、今後も注目される点だと感じております *2。
本記事の目的は、複数のトップカンファレンスから各カンファレンスがどのような点の再現性を求めているかを把握し、今後の執筆に役立てることです。
トップカンファレンスが要求する再現性
今回、独断と偏見で、人工知能分野
, 機械学習分野
, コンピュータビジョン分野
, 自然言語処理分野
から再現性に言及している以下のカンファレンスを対象としました:
各カンファレンスが示す再現性チェックリスト
以下は各カンファレンスが示す再現性の確認項目やチェックリストです:
- NeurIPS'20
- ICML'20
- EMNLP'20
- AAAI'21
- NAACL'21
- CVPR'21
上記で示されている再現性確認項目の中で、 Joelle Pineau 氏の The Machine Learning Reproducibility Checklist (2020/12/10 現在 v2.0) が複数登場しています。 次にこの再現性チェックリストについて詳しく見ます。
The Machine Learning Reproducibility Checklist
2020/12/10 現在の The Machine Learning Reproducibility Checklist の中身をざっくり日本語訳すると以下のとおりです。 なおこのチェックリストに加えて NAACL'21 で追加された項目がありました:
- ✔ 論文中に提示されているモデルやアルゴリズムについて
- ✔ 理論的な主張について
- 主張の明確さ
- 完全な証明
- ✔ 論文中で使われたすべてのデータセットについて
- ✔ 提案法の評価の際に実装したコードについて
- 依存コード・アプリケーションの明示
- 学習用コード
- 評価用コード
- (事前) 学習済みモデル
- 以下の情報が含まれている README ファイル
- 結果の表
- コードの実行方法
- ✔ 論文中で報告されているすべての結果について
- ハイパーパラメータについての詳細
- 学習と評価はそれぞれ何回行われたか
- 結果を報告するために使用された指標または統計量の明確な定義
- 報告されている結果の平均と分散
- 平均実行時間
- 結果を得るための計算機環境
- モデルのパラメータ数について (NAACL'21)
- 対応する test に対応する validation スコア (NAACL'21)
提案モデル・アルゴリズム
、評価データ
、 実験コード
、 評価方法
の観点から簡潔な指示が与えられている事がわかりました。
ML Code Completeness Checklist
実験を再現するコードについて、論文実装がまとめられている paper with code と The Machine Learning Reproducibility Checklist を公開している Joelle Pineau 氏から機械学習コードの再現性チェックリストも公開されています。
Today, @paperswithcode introduced its new ML Code Completeness Checklist, building on the AI reproducibility work from FAIR Managing Director, Joelle Pineau. This new checklist will be a part of the official NeurIPS 2020 submission process. https://t.co/6N9DsWDWXM pic.twitter.com/pnsGiXiiKS
— Facebook AI (@facebookai) 2020年4月8日
ML Code Completeness Checklist では公開されている著者実装レポジトリに対して、以下の視点からチェックします:
- ✔ Dependencies
- リポジトリに依存関係に関する情報や環境の設定方法の指示があるか?
- ✔ Training scripts
- ✔ Evaluation scripts
- ✔ Pretrained models
- リポジトリは予習済みモデルの重みへの無料アクセスを提供しているか?
- ✔ Results
各リポジトリは、0(だめ)から 5(いいね)のスコアを付けることができます。 各基準の詳細については以下のレポジトリで公開されており、1000 を超えるスターを得ています。 github.com
ML Code Completeness Checklist の詳細は以下のブログ記事から読むことが可能です。 medium.com
まとめ
本記事では 再現可能な論文の公開に焦点を当て、 近年のコンピュータサイエンス分野におけるトップカンファレンスに投稿する際に著者に対して示されている再現性チェックリストの内容を大まかに把握しました。 また成果を公開する際にチェックするとよいリストについても言及し、より再現性担保する方法を確認しました。 これらのチェックリストを予め把握しておくことで、実験や執筆時に注意しながら研究を進めることができ、結果として良い研究ができるのではないでしょうか。
*1:Background image from https://ai.facebook.com/blog/how-the-ai-community-can-get-serious-about-reproducibility/
*2:[2003.12206] Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program) https://arxiv.org/abs/2003.12206
*3:[1909.03004] Show Your Work: Improved Reporting of Experimental Results https://arxiv.org/abs/1909.03004