Research

Research project

授業から科学「研究」に切り替える時のヒント

対象読者: 主に情報系で,卒論,修論,それらに関連した研究プロジェクトを準備中の学生.

Record everything

活動の全てを適切な粒度で記録する.これらは,成果をまとめる際に必要になるが,開始時点から記録が必要.

  • 活動
    • 実験目的,実験環境,実験条件,未来の自分や他者が再現できるように細かく.(目的: 再現可能性)
      関連: 平均値,最大値,最小値など,直接必要はない項目も,health check のために測定して記録する.
    • その日時に何があったか (目的: 研究過程の追跡可能性)
  • 思考
    • アイデア,検討した案,トレードオフ,却下した仮説.作った例,却下した例 (目的: 未来の自分や指導者から助言を得る)
    • もし結論が暫定でも出たら,正確な表現,適用例,有効範囲,範囲外の例と理由など,なるべく正確に (目的: 他者との議論)
  • 情報と出典
    • 関係しそうな文章,図,データなど,出典,書誌情報,URLとともに.(目的: いつでも出典を示せる)

Automate

日時の記録は,なるべく自動化する.
例: 研究記録を markdown や org などテキストファイルで記し git で管理する.毎日 commit すれば,変更記録は自動で管理できる. (git 未習得の場合は,google docs の変更履歴に頼っても,まずは良い)

例: github からソースコードを入手する際は,Download ZIP ではなく,git clone を使う

$ git clone https://github.com/deepmind/mujoco.git

出典は,git が自動で管理している.

$ git remote show origin
* remote origin
Fetch URL: https://github.com/deepmind/mujoco.git
...

なお catでも良い

$ cat .git/config
[core]
...
[remote "origin"]
url = https://github.com/deepmind/mujoco.git
...

情報系の場合,さらに計算機実験や,グラフを描くなど,「苦労する手作業」は自動化を検討する.再現可能性を確保しつつ,省力化して,本質に注力する.

Visualize

  • 数式を見たらグラフを描く.例: colab
  • データをグラフに描く.R など.
  • 高次元の実験をする前に,2次元の実験をして可視化する

Resources

大学公開資料: