はじめに
機械学習の研究をする中で、一つ一つの面白い研究や論文よりも、その研究領域全体を知りたい、学びたいという方が多いと思います。個人的に、そのようなときは研究領域全体をまとめたような素晴らしい実装が参考になるので今回は各分野についてそのような実装をまとめてみました。
なお、その分野のpaperだけを知りたい場合は、実装を見るほかにもawesomeリストを調べることで知識を広げられると思います!
注意
私は普段画像生成モデルを中心に調べているので、音声や強化学習、自然言語処理などの分野に詳しくありません。
詳しい方がいらっしゃいましたら是非コメントください!
機械学習の理論
Knowledge Distillation (知識の蒸留)
URL
https://github.com/AberHu/Knowledge-Distillation-Zoo/
説明
Knowledge Distillationはいかに大きなモデルの良い性能を小さなモデルに転移させるかに関する手法の一つです。
上記の実装はcifar10, cifar100という非常に使いやすいデータセットに特化して約20種類のKnowledge Distillationに関するコードをまとめて実装しています。
Computer Vision
OpenMMLab
URL
https://github.com/open-mmlab/
説明
OpenMMLabシリーズは機械学習全般の実装を分野別に"https://github.com/open-mmlab/???" のようにリポジトリを作っています。
Classificationから生成モデルまでかなり幅広くカバーしているので、便利だと思います!
[引用: https://github.com/open-mmlab]
configファイルを変えるだけで既存の実験の設定を自由にカスタマイズすることが出来、実装ごとに便利な機能(ログの生成など)もあります。最初はconfigファイルの書き方などに苦労すると思いますが、リポジトリの説明が充実しているので
Timm (pytorch-image-models)
URL
https://github.com/rwightman/pytorch-image-models#sponsors/
CV系全般のモデルをカバーしている実装です。ResNetから、最近のものではSwin系の実装もあり、これらをクラス分類タスクに応用しています。評価セットとしてImageNetやその派生物(ImageNet Adversarialなど)を使っています。
Generative Adversarial Networks (GANs)
URL
https://github.com/eriklindernoren/PyTorch-GAN/
https://github.com/eriklindernoren/Keras-GAN/
説明
GANsは画像生成の手法の一つです。初期のGANを勉強するにはこのコードがいいでしょう。mmシリーズのmmgenerationはPGGANやBigGANなどの中期以降のGANを勉強するには最適だと思います!
音声
募集中
強化学習
募集中
まとめ・感想
私自身が知っている範囲でいい実装をまとめてみたのですが、やはり機械学習の全分野の実装を調べるのは難しいと改めて感じました。
「この分野の勉強にはこの実装がいいよ~」などのコメントがありましたらコメントをください!