Help us understand the problem. What is going on with this article?

機械学習の再現性のためのチェックリスト

概要

深層学習の論文を読んで再現実験を行うときに、あっさりうまくいくこともあるが、全然再現できないことのも多い。ベースラインからほとんど変わらないとか、そもそもこの論文、ベースライン手法のチューニングしてないじゃんとか、いろいろ問題が出てくる。

機械学習分野の論文は再現性が低い、という問題を少しでも解決するために、NeurIPSが論文投稿者に求めているチェックリストを読んでみた。

Andrew Ng先生のdeeplearning.aiがやっているニュースレターであるThe Batchで、紹介されていた。

意訳

アルゴリズムについて

提示しているアルゴリズムについて、以下の事項を満たしていること。

  • 数学的な設定、アルゴリズム、およびモデルの明確な説明をする。
  • 任意のアルゴリズムに対する複雑さ(時間、空間、サンプルサイズ)の分析をする。
  • 外部ライブラリを含む、すべての依存関係を特定している、ダウンロード可能なソースコードへのリンクを提示する。

理論的な主張について

理論的な主張については、以下の事項を満たしていること。

  • 結果がどうだったのかについての明記する。
  • 仮定を明確に説明する。
  • 主張の完全な証明を提供する。

図と表について

経験的な結果(つまり、実験結果)を示す図と表については、以下の事項を満たしていること。

  • サンプルサイズなど、データ収集プロセスに関する完全な説明を行う。
  • データセットまたはシミュレーション環境のダウンロード可能なバージョンへのリンクを貼る。
  • 除外されたデータの説明、前処理ステップの説明。
  • Training/Validation/Testのためにサンプルがどのように割り当てられたかの説明をする。
  • 考慮されるハイパーパラメーターの範囲、最適なハイパーパラメーター構成を選択する方法、示している結果で使用されたすべてのハイパーパラメーターを明記する。
  • 評価実行の正確な回数を明記する。
  • 実験の実行方法の説明をする。
  • 結果の報告に使用される特定の指標または統計の明確な定義を提示する。
  • エラーバーを明確に定義する。
  • 中心的な傾向(例:平均)と変動(例:標準偏差)を伴う結果の説明を行う。
  • 使用されるコンピューティングインフラストラクチャの説明を行う。

感想

再現実験マンにとっては、以下が重要かなと思った。

  • 外部ライブラリを含む、すべての依存関係を特定している、ダウンロード可能なソースコードへのリンクを提示する。

    • ソースコードは公開しないより公開するほうがはるかにマシなわけですが、「githubにソースコード置いとくよ(ただしMNISTの実験のぶんだけね)」、みたいなものも多いので、すべての実験に関する完全なソースコードの共有をしてほしいもんです。
  • 中心的な傾向(例:平均)と変動(例:標準偏差)を伴う結果の説明を行う。

    • 精度評価の表に「±」が入っていないと悲しくなる。
    • 精度の分布を示してほしい。深層学習はどうしても訓練の過程にランダム性が入るので、極端に悪かった結果は、平均や標準偏差の計算から除いてもいいと思うが、outperformな結果が2回に1回くらいの割合で得られるのか、10回に1回しか得られないのか、で再現する人にとっての物理的・心理的負担がぜんぜん違う。
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away