九州工業大学・古川研究室の新入生向けのトレーニングメニューとそのレポートのこと. メニューから取り組むトレーニングを選択・実行・レポート(報告)するという一連の流れを繰り返し己を鍛える.
古川研究室では機械学習のアルゴリズム開発・既存のアルゴリズムの応用を行なっている.Workout Reportの目的は古川研で研究を行うためのスキルを手に入れることである. メニューをこなすことで,機械学習のアルゴリズム開発を行う上での基本となる知識や実装・検証のためのテクニックを身につけることができる.
まずはこの動画を見て欲しい.
やることは用意済み.ひたすら己を鍛えよう.
詳細はmenuディレクトリを参照
月 | 日 | Work out report | その他 |
---|---|---|---|
4月 | 9 | 復習会初回,トレーニング開始 | オリエンテーション |
11 | ガイダンス | オリエンテーション | |
16 | Git&Githubワークショップ | ||
5月 | 15 | ビギナー達成,コース選択 コース別の「常人」にトライ |
テーマ紹介(5月中) |
6月 | 14 | 「常人」達成 「玄人」に取り掛かる(スクラッチ実装を優先的に) |
flab教室ーガウス過程編(6月中) |
7月 | 16 | まとめレポート1次提出 | テーマ決め(7月中) |
7月 | 16~26 | trainer:review trainee:reviewを受けての修正 |
|
7月 | 27~ | Qiitaに順次投稿 | |
8月 | 9 | Workoutreport報告会 | |
8月 | flab教室ー研究室の基盤技術編 |
※進捗状況次第で変更の可能性あり
本リポジトリを使ってワークアウトの進行を管理する.1つのトレーニングの始まりから終了までは以下の流れとなる.
- 実際に行うトレーニング内容をIssueに起こす
- To-doをIssueとして文章に書き起こすということが研究を行う際にも重要.その訓練だと思って取り組む.
- Issueの作成にはTemplateを活用すること
- ちなみに英単語
Issue
の本来の意味はTo-doとはまた異なるので注意.詳しくは『イシューからはじめよ』を読むと良い. - 基本的にトレーニング内容はメニューから選択する事になるが,メニューにないトレーニングも大いに歓迎する.
- ブランチを切りトレーニングを行う
- トレーニングで出てくるアウトプットをコミットする
- アウトプットしたファイルや写真は
trainee
フォルダ内の個人フォルダに入れていく. - なんらかのコミットできる形にして残すことが重要
- プログラミングであれば
.py
や.ipynb
ファイル - 数式の展開であればその写真など
- 復習会であればそのホワイトボードの写真など
- プログラミングであれば
- アウトプットしたファイルや写真は
- 適宜プッシュも忘れない
- トレーニングで出てくるアウトプットをコミットする
- ミニレポート を提出する
- ミニレポートとはトレーニング内容の報告書のこと
- 紙媒体ではなくPull Requestを用いる
- トレーニングをコミットしたブランチのPull Requestを出す
- コメント欄にトレーニング内容の端的なまとめを書く
- トレーニング前に出したIssueを引用すること
- レビューしてほしいポイントを明確に書いておくこと
- reviewerは基本的にファイルはざっくりとしか見ないので,明確にチェックしてほしいポイントがあるのであればその旨書いておくこと.
reviwer
に先輩2人以上を指定すること
- 上級生によるレビュー
- 基本的にミニレポートは読む
- コミットされたアウトプット(ソースコードなど)は基本的にさらっと見る程度
- 質問に対してはコメントで回答するので,traineeはここでやりとりをすると後で見返すこともできて良い
- マージ
- レビュワーがこれでOK!と判断するとmasterにマージされる
- マージされるとProfileにおいてContributionとして可視化される(通称:草が生える)ので自分の頑張りを確認する良い指標となる
- レビュワーがこれでOK!と判断するとmasterにマージされる
※Githubの扱いは慣れが必要.最初は手続きが複雑で繁雑に感じるかもしれないが,研究プロジェクトを管理するトレーニングになるので頑張ってほしい.
ワークアウトの内容を定着させるためにまとめレポートを作成する.トレーニング毎のミニレポートとは位置付けもフォーマットも異なるので注意すること.以下が執筆の流れである.
- 記事の第一稿はGithub上でmarkdown形式で提出する
- フォーマットとしてはQiitaの解説記事
- 記事数としては3本を目安にする
- 第一稿提出は7月16日までに行うこと.これより早い分には問題ない.
- GithubのReview機能を用いてtraineeからのReviewを受ける
- Reviewを元に修正
- Qiitaに投稿する. なお、このQiitaへの投稿はWorkout calendarと銘打ち、7月26日以降、1記事ずつアップする。どの記事をいつ投稿するかはカレンダーを参照のこと。
これまでの過程でM1はスキルセット表にあるスキルを獲得している.自分が特にどのスキルを獲得したか、またそれを獲得するために何を行ったかを他の研究室メンバーに報告し、ディスカッションを行う。
- スキルセット内にあるスキルに則した内容を心がける
- Qiita記事やWorkoutreport以外で行った内容でもスキルセットに関連があれば報告してよい
スライドで自分が獲得したスキル、獲得するために行ったことについて発表する。
- 発表時間の目安は15分ほど。発表後に先生や先輩とのディスカッションを行う。
- ガウス過程と機械学習(線形回帰やガウス過程回帰の理論)
- 機械学習のエッセンス(基本的な線形代数・確率・プログラミング・スクラッチ実装)
- イラストで学ぶ機械学習(基本的な機械学習の手法がまとまった辞書的な本)
- 線形代数セミナー(線形代数・特異値分解)
- ベイズ推論による機械学習入門(ベイズ)
- Pythonで機械学習(実践的なPythonコードのexample)
- 特徴量エンジニアリング(前処理)
- わからないときは先輩に聞くのがwork out reportを乗り切るコツ!!
- スキルを身に付ける時は筋トレするしかない!理解するにもまずは筋トレが先である!乗り切った後の自分の姿を想像しながらメニューを楽しもう!