機械学習で成果が出せそうです
10月の頭から機械学習の勉強をはじめていまして、当初立てていた目標を1ヶ月半ほどで達成できそうです。
どういう目標を立ててどうやって達成したのかを書き残しておこうと思います。
目次
- 目標
- やったこと
- 振り返り
- まとめ
目標
- 年齢推定モデルの精度・推論速度の向上
10月に勉強を始めるまでは、機械学習を実施済みのモデルを用いて推論のみを実施していました。
しかし、精度があまり出ず、痒いところに手が届かない感じでした。
そんな時に「Tesla AI Day」の動画を見て、やはり自分たちで機械学習を実施して調整できるようにならないと競争力のあるサービスは作れないと思い勉強をはじめました。
下記URLの動画を改めて見ましたが、本当にすごい技術だなぁと感心します。
興味のある方は是非ご覧になってください。
やったこと
- 機械学習全般の勉強
- GitHubにある学習済みモデルを研究して、学習方法・ニューラルネットワークなどのパラメータを研究
- EC2 G4インスタンスによる GPU を用いた学習
この中で一番良かったなぁと思うのが、2つ目の「GitHubにある学習済みモデルの研究」です。
すでにあるノウハウを吸収することが早く成果を出すコツなのかなぁともいます。
あと、普段から車輪の再開発をしないように気をつけていて、最新かつ高性能なモデル EfficientNet というモデルを選択したことも良かったなぁと思います。
あともう一つ、AWSに「DeepLearning AMI」というイメージがすでに存在していて、環境を作成したのちすぐに Jupyter Notebook を使用することができことも非常に良かったです。
反省点
- 実際に学習をするようになってからが早かったのですが、それまでが遅かった
インプット:アウトプットの最適な比率は 3:7 とよく言われますが、それができていませんでした。
もっとちゃんと理解していないとできないよなぁと思って、学習に入るまでに1ヶ月くらいかけてしまいました。
深いところまで理解できるようになったのはプログラムを描きはじめてからだったので、理解が完全には及んでいない状態でもアウトプットしてしまうのが重要だと思いました。
まとめ
個人的にはなかなかいい成果が出たなぁと思っているので、とても満足しています。
特に、今までやってきた経験(大学での研究、Rails、AWS)が全て繋がって、やってきたことが報われた感じがして嬉しく感じています。
今後やっていきたいことは、AWSの機械学習関連のサービスを使ってみたいのと、PyTorchやKerasなどをもっと自由に使いこなすことです。
このモチベーションをさらにスキルアップにつなげて、引き続きいろんなことに貢献していきたいなと思います。