ML・CV系研究室配属前に読む記事

# はじめに
私が研究室に配属されたとき行ったこと、やっておけばよかったことを中心に記事を書きます。
分野に限らず、共通しておすすめ出来る点もあります。これから研究室に配属され、研修が始まるまでに何かやっておきたいけど、何をやればよいかわからないという学生を対象にしています。
また、研究室配属がまだまだ先の学生の参考にもなるかもしれません。


# やっておくとよいこと
個人的にやっておくとよいことは以下の3点です。
1.　理論の学習
2.　プログラミング
3.　論文や研究に関する勉強

## 理論の学習
専門的な知識は研修で行うと思うので、基本的な知識を得るのにおすすめのものを紹介します。

###  おすすめ書籍・サイト

- **ゼロから作るDeep Learning**
DeepLearningの基礎が学べる。とてもわかり易い。

https://www.oreilly.co.jp/books/9784873117584/

- **ゼロから作るDeep Learning 2**
DeepLearningの中でも自然言語処理に特化した内容。CV系でもこれくらいの知識は必要だと思います。

https://www.oreilly.co.jp/books/9784873118369/

- **G検定**
今まで全然機械学習に触れてこなかったような人にはG検定がおすすめです。網羅的に基本的な部分を学ぶことができます。

https://www.jdla.org/certificate/general/

- **SONY NeuralNetworkConsole Youtube**
短めの動画でDeepLearningについてわかりやすく解説されています。

https://www.youtube.com/@NeuralNetworkConsole

- **AIcia Solid Project**
機械学習系の解説YouTube
幅広く解説しているので、気になる分野に絞って視聴するのにおすすめです。元の論文の紹介もあったりします。

https://www.youtube.com/channel/UC2lJYodMaAfFeFQrGUwhlaQ

- **CV系**
  - [CG-ARTS検定](https://www.cgarts.or.jp/v1/kentei/about/img_engineer/index.html)
  CV全般について学ぶ事ができます。CG系の検定もあります。
  - [OpenCV](https://opencv.org/)
  Pythonの画像処理ライブラリであるOpenCVなどを触ってみると良いかもしれません

## プログラミング
公式ドキュメントを読むこと、ゼロから何かをつくること、コンペやハッカソンに出ることがおすすめです。

- **Python公式ドキュメント**
公式のドキュメントをちゃんと読んだことがない人は、一度なんでも良いから読んでると良いです。勉強になることがたくさんあります。Pythonだったらチュートリアルを読むのがおすすめです。

https://docs.python.org/ja/3/

- **PyTorchの公式チュートリアル(日本語訳)**
Google Colab付きでおすすめです。

https://yutaroogawa.github.io/pytorch_tutorials_jp/

- **ゼロから作るDeep Learning ３**
PyTorchなどのような機械学習フレームワークをゼロからPythonで実装します。大きなプログラムを書いたことがない人にはおすすめできます。実装しながら同じシリーズの第1段レベルの内容を復習できます。またPyTorchなどのフレームワークに共通する実装の考えを学ぶことが出来ます。

https://www.oreilly.co.jp/books/9784873119069/

- **kaggle**
私はアカウントを作っただけで、ちゃんと参加したことはないのですが、同期のメンバーとkaggleなどのコンペやハッカソンに参加してみるのも良い経験になると思います。

https://www.kaggle.com/

- **何かしらのWebアプリケーションの作成**
研究に関係なくても良いので、なにか制作物を１つ作ることは経験になるのでおすすめです。

#### その他
DockerやGitなどの開発ツールについても知識があると役立ちます

- **Dockerの超おすすめ本（無料）**

https://zenn.dev/suzuki_hoge/books/2022-03-docker-practice-8ae36c33424b59

- **Git**
GitやGitHubに関しては、初心者向けのサイトが大量にあります。以下のものは一例で、わかりやすいものを何か１つ読んでおいて、後は実践あるのみです。

https://zenn.dev/getgotgoto/articles/506bcfbcd55149

- **LaTex**
私は普段のレポートでLaTexを使わないまま来てしまったので、LaTexの勉強はしておけばよかったと後悔しています。LaTexも慣れだと思います。

- **Linux**
私はLinuxのコマンドラインの操作やOSに関することは苦手ではない方でしたが、何も知らないと少し辛いかもしれません　
最低限これくらいは知っておくと良いです。

https://qiita.com/arene-calix/items/41d8d4ba572f1d652727

https://qiita.com/okamos/items/c97970ab34ff55ff3167


## 論文や研究に関する勉強
正直、論文の読み方や書き方、研究の進め方など分からないことだらけで不安だと思います。今でも分からないことは沢山あります。以下のサイト等を見ると、少しだけ雰囲気がつかめると思います。

- **論文の探し方、読み方**
名古屋工業大学の先生がまとめた記事になっていてとてもためになります

https://note.com/tttamaki/n/nf4a0a2d1cb88

- **心構えや発表、卒論の方法**
Twitterでもよく見かける慶應義塾大学の先生によるスライド
ここに貼り付けたもの以外にも、研究に関する心構えや方法など様々なジャンルに分けて、スライドが用意されています。

https://speakerdeck.com/kaityo256/welcome-to-lab

https://speakerdeck.com/kaityo256/how-to-survey

https://speakerdeck.com/kaityo256/happy-presentation

https://speakerdeck.com/kaityo256/happy-writing

- **トップカンファレンスなどを調べる**
自身が所属する研究室の分野のトップカンファレンスや論文誌を調べてみましょう。
私の場合は研究室のドキュメントにまとめてありました。CV系だと**CVPR**や**ICCV**が該当します。その中から興味のある論文を探して読んでみるのも良いと思います。


# さいごに
研修でどのような内容を扱うかにもよりますが、これらのことはやっておいて損はないと思います。
最後まで読んでいただきありがとうございました。