TL;DR
研究の再現性向上のために、レビュアーから指摘されたポイントと、アクセプトされた事例を紹介します
背景:研究の再現性
最近、こんな記事を目にしました。
2008年に発表された100本の論文を対象とした大規模な追試プロジェクトの結果によると、心理学のトップジャーナルの論文を対象とした研究において、再現性が認められたのは4割程度だったと言われます(5%有意水準)。心理学とはいえ分野によって再現率は異なり、社会心理学系では25%、認知心理学系では50%程度は再現できたようです
https://note.com/s1000s/n/na0dbd2e8632d
こういった研究の再現性に関する課題は、分野を問わず存在します。結果が再現できないのはもってのほかですが、実行環境の構築や提案手法の実装が大変だと、その後の研究活動が遅延してしまいます。私も学生時代は情報系の学科に所属していたのですが、論文作成のための既存研究サーベイ/再現の際に、本質的でないところ(環境構築/書かれていないパラメータ設定/etc...)で大変な苦労をした思い出があります。再現はできました。
ただ、データの利用許諾範囲やコードの知的財産権など、公開・共有できない事情もあると思います。そういった事情を加味しつつ、可能な限り情報を公開して、他の人が簡単に研究内容を再現できる環境を確保していきたいです。
この記事の内容:Artifact Reviewの事例紹介
...とはいえ、再現性確保ために何をしたらいいか、よくわかりません。適当に対応して再現不可能だと困りますが、要求されるレベルが高くて対応が超絶大変だったら、やる気が出ません。
そこで今回は、国際会議に論文投稿した際のArtifact Reviewに対応した結果を紹介することで、研究者界隈で求められる品質レベルを共有します。
具体的には、プライバシー保護技術の主要国際学会「Privacy Enhancing Technologies Symposium」で、産総研村上さん主著(私も共著で参画)の論文を投稿した際のレビュー結果を紹介します。提案手法を公開したレポジトリの内容について、Artifact Reviewで頂いたコメントの内容と対応方針を紹介します。
そこまで大変じゃない(と思う)ので、みなさん頑張りましょう。
Artifact Review:レビューポイント (本記事の主題)
まず自分たちでREADMEをいい感じに書いて、ソースコードを配置したGithubレポジトリを作成し、レビュアーにURLを共有したところ、以下の内容でチェック・レビューされました。
- 手順書が分かりやすいか
- ライセンスが明記されているか
- 環境構築やソースコードのビルドが成功するか
- 数値実験が正しく走るか
- 必要なファイルが配置されているか
- ソースコードが論文中の図を出力するか
- 論文中の図が全て再現されるか
- ソースコードが出力する実験結果が、論文の内容と同じか
以下で、対応方針を個別に紹介します。
Artifact Review:個別対応
- 手順書が分かりやすいか
- 環境構築やソースコードのビルドが成功するか
こちらは、Readmeを頑張って作成しました。計算環境の差異や、細かい手順の詳細を書くのが大変です。想定している実行環境は明記しつつ、構築手順の詳細はDockerfileにまとめて、「docker compose up -d --buildしてね!」という手順にしました。これなら、手元の環境で成功すれば、レビュアーの環境でも成功するでしょう。
ビルドに時間がかかると不安になるので、「このくらいのスペックの環境だと、15分くらいかかるよ」みたいに相場観を書いておくと、再現する人に安心して貰えると思います。終わらないと怖いので。
- 必要なファイルが配置されているか
ファイルの配置については、フォルダ構成を明示しつつ、依存している主要な外部ライブラリを明記しました。
- ライセンスが明記されているか
MITライセンスであることを示すLicence.txtを配置しました。コピペするだけです。参考
- 数値実験が正しく走るか
- ソースコードが論文中の図を出力するか
こちらは、実行手順の詳細を書くのも大変なので、Dockerfileにて数値計算の実行・図の出力まで行うようにしました。
- 論文中の図が全て再現されるか
- ソースコードが出力する実験結果が、論文の内容と同じか
論文中の図には、分かり良さ向上目的でPowerPoint等で作った概念図も含まれます。全ての図の再現、は大変です。
レビュアーに「この辺の再現は本質的ではないので、メインの図であるこれとこれで良い?」などと相談したところ、レビュアーの方も納得してくれました。指定した図を再現できていることが確認でき、アクセプトされました。
Artifact Review:提出後のレビューコメントのメモ
レビュアからは、データソースのWebサイトが日本語でわからん!など、いくつかコメントを頂きました。粛々と対応すればよいです。こういうのはなかなか気づきませんね...。
本質的ではないところの再現、については、都度説明すれば省略可能でした。相談することが大事ですね。
他、何か思い出したら追記していきます。
まとめ/おわりに
こんな感じでレポジトリを公開すると、レビュー通過しました。
他の技術領域だと、求められる内容・品質が異なると思います。あくまでも参考情報として活用いただければと思います。
同時複数人での研究や、既存研究の引き継ぎなどを考慮すると、環境や実験結果の再現性確保は普段から準備しておいて損は無いですね。
ベストプラクティスが定まったら、研究のお作法として、大学の授業とかで学べたらいいな、と思いました。
以上です。
NSSOLアドベントカレンダー、次の記事はこちらです!
https://qiita.com/kmnky/items/c86749911c71801c6b46