はじめに
ポスドクから民間企業のサラリーマンにキャリアチェンジしてから約3年と1ヶ月が経過しました。キャリアチェンジしてから毎年、1年間の振り返りの記事を書いており、今年も、仕事で経験したことや学んだこと、自己研鑽、深層学習の研究についてまとめました(ちなみに、過去の振り返りはこちら->2021、2022)。
今年の主な業務は、画像認識システムの保守および改修であり、機械学習を使うことはありませんでした。私は、機械学習の専門家なので残念だったのですが、エンジニアリングを強化する良い機会と考えて取り組みました。また、研究と自己研鑽で 深層学習やPythonでの実装に取り組むことで、機械学習を使えないストレスを解消しました。
画像認識システムの保守、改修
システムのキャッチアップ、ETLの不具合修正やWebアプリの機能追加などを行いました。システムは複数のコンテナで構成され、Docker Composeで構築、管理されます。使用した技術は、Node-red、React、Django、PostgreSQL、Docker、WSL2です。Node-red、React、Djangoはこれまで扱ったことがなかったので、キャッチアップが大変でしたが、非常に勉強になりました。Node-red、React、Djangoを実装したり、Dockerfile、Composeファイルを読み解いてシステム構成を把握し、ファイルの内容を修正しました。
この業務を通して技術の幅が劇的に広がりました。エンジニアリングが総合的に強化され、大きく成長できました。
深層生成モデルの研究
昨年に引き続き、Wavelet Scatteringを用いた深層生成モデル(Angles & Mallat, 2018)を研究しました(Wavelet Scatteringやこの生成モデルはこちらのブログで解説しています。よかったらご覧ください)。このモデルは他のモデルにない利点を有しているのですが、画像の生成能力が不十分です。今年は、モデルを拡張して画像の生成能力の改善することができました。拡張したモデルを十分に検証した後、学会等で発表しようと思っています。
改善例
既存のモデルで生成した画像
↓
拡張したモデルで生成した画像
書籍やブログを利用した深層学習の勉強
今年は、書籍やブログ、GitHubのソースコードなどを使って深層学習による画像認識や物体検知、深層生成モデルを主に勉強しました。
画像認識に関しては、ディープラーニングを支える技術〈1〉やブログで、画像認識の代表的なモデル(GoogleNet、ResNet、SENet等)を学習しました。
物体検知に関しては、つくりながら学ぶ! PyTorchによる発展ディープラーニングでSSDを勉強しました。この本はモデル、学習、推論をテキストや図で説明するだけでなく、Pytorchのソースコードで解説されているので、モデル、学習、推論の詳細まで把握できて、しっかり勉強になりました。他にもfaster R-CNN、Masked R-CNNをブログで勉強しました。
深層生成モデルに関しては、ディープラーニングを支える技術〈2〉でGAN、拡散モデルを勉強しました。また、Higginsのbeta-VAE論文でDisentanglementの指標を勉強しました。
その他、ディープラーニングを支える技術〈1〉でAttention 機構、スキップ接続など一般的な技術も勉強(復習)しました。
Kaggleを通したPython、深層学習の勉強
実践力を磨くためKaggleを通してPython、深層学習を勉強しました。
まず、Kaggleに挑む深層学習プログラミングの極意でKaggleでよく使用される技術を勉強しました。Data augmentation、pseudo-labeling、stacking、adversarial validation 等精度を上げるための様々な技術が記載されており、実務でも使えそうな技術も学習できました。
また、Kaggleのヒトデの検出コンペのデータにYoloxを適用しました。ライブラリを使ってモデルを学習、推論するだけでなく、Kaggleで公開されているコードを参考にして、COCOフォーマットのデータを作成するコードを作成したり、Yoloxのコードを読み込んでライブラリの構成、処理内容を把握したり、推論用のデータセット、データローダーを使った推論コードを実装したりしました。
その他、画像認識や物体検知のコンペの上位解法読んだり、公開されているコードを読んで修正、リファクタリングしたりして勉強しました。コードには知らないライブラリが使われていることもあり、それらを調べて理解することでPythonプログラミングの幅が広がりました。
最後に
今年は、仕事では幅広くエンジニアリングを強化でき、研究や自己研鑽で深層学習やPythonを強化できました。来年は仕事で機械学習を使いたいと思っています。また、研究が一段落ついたらKaggleコンペに参戦しようと思っています。