四畳半テクノポリス

コロナのストレスで気が狂い、D進した院生

博士課程に進む上で勉強して置かなければいけない知識について考えてみた

 最近研究をしていて勉強不足を感じるので何を勉強しなければいけないか考えてみた。取りえずパっと思いつく範囲で勉強すべきことをリストアップしてみた。コンピュータサイエンスは学問の中でも生物と並んで専門性が低い領域だと思うので、ちゃんと基礎理論を学んでおかないと、数学や物理から来た人にサクッと抜かされてしまうところが悲しいところ。

学ばなければならない学問

とりあえず勉強しないと研究が進まなそうな分野を重要度順に並べてみる

  1. ディープラーニング
    もろ専門なんだけど、領域が異様に偏っているのでなんとかしたい。最近Pytorchが自在に使えるようになってきて、オリジナルの層もCUDAで書けるようになってきたし、どんなモデルでも追試できそうなのでしっかり勉強しておきたい。
    あと理論面が弱いので深層学習とか購入して真面目に読もうと思います。
  2. 半導体

    これも研究の本質だけど、研究室に学習環境がよく揃っているのでしっかり勉強する。

  3. コンピュータアーキテクチャ

    これも研究の本質なんだけど、パタへネ真面目に読んで無いよなって思ったので復習も兼ねてパタへネを読もうと思う。章末問題もちゃんと解く。

  4. コンパイラ

    これは研究に直結しそうなので、結構真面目にやる必要がある。とりあえず日本語の本を数冊読んでその後ドラゴンブックかなぁ?

  5. ベクトル解析・テンソル解析

    DNNを勉強していて、扱える数理モデルの幅を広げたいからこの知識がほしい。とりあえず論文を読んでいて複雑な数式がスラスラ入ってくるようにしたい。

  6. 機械学習の知識

    DNNしか分からない状態なので、SVMとかの勉強もしたほうが良いなと思っている。ボルツマンマシンとか言われてもチンプンカンプンな状態をなんとかしたい。

  7. ベイス統計学

    ブルーバックス読んだだけの知識しか無いのでちゃんと勉強したい、多分機械学習の勉強したらついてくるかな?

  8. 多値論理

    ほとんど日本語情報がないので辛い、とりあえずこれができるとニューラルネットワーク量子化に強く成れそうな気がする。

  9. 微分方程式

    授業程度の知識しか無いのでやり直しがしたいよ

  10. アルゴリズム

    競技プログラミングをやっておけば普通に身につきそうである。とりあえず蟻本を積んでいるので、蟻本をしっかり身につくまで勉強したいと思います。

  11. 並列コンピューティング

    アルゴリズムとかの勉強も兼ねてやる必要を感じる。あと夏に講習会に出るから予習しておく。とりあえずMPIとか使えるようになると機械学習的にも嬉しいのでは。

  12. chisel
    verilogを書くのが辛くなってきたので高位合成がやりたいんだけど、性能がイマイチだよねってことでchiselが選択肢に入ってきた
  13. 熱力学
    機械学習の理解に必要な気がする。マセマでいいかな?
  14. カオスと複雑系
    これも熱力と並んで機械学習の理解に必要な学問。人間研究を続けると、宇宙の仕組みにたどりつて物理学が必要になる。人類は物理学からは逃げられないのだ。

学ばなければならないスキル

文章作成技術

あんまり文章を書くのが上手くないので、レポートの書き方の本を十冊くらい読みながら勉強したいと思います。今年中にジャーナル一本は出すぞ。

プレゼン

プレゼンの本を沢山読みながらミーティングの度にきれいなスライドを作ることを意識してゆくしか無いかなぁ。というか研究室テンプレが古すぎてイマイチな気がする。そういえば学部のときに生物系のラボにデザイナー志望の先輩が居て、恐ろしく美しく、かつ分かりやすいスライドを作っていた。ただ、指導教官は理解してくれなかったみたいで、よくキレてた。

論文の多読

この前の事件で懲りたので引用件数の多い論文を積極的にどんどん読んでいきたい。ipadとかほしい。

時間があったらやる(多分できない)

量子コンピューティング

技術失業しないために、勉強しておいた方が良いかなって思ってる。ただ当分はノイマン型電子計算機が支配的だと思う

RISC-V

ちょっと前に作るとかいって結局作れてない

OS

これも作るとか行って結局できてない奴