ku-sukeのブログ

Just another hatena blog

機械学習とかディープラーニングやって見たメモ

 顔認識まわりで機械学習とかディープラーニングのライブラリを触ってみたので、実務者向けにメモを残す。

 

多くの場合ディープラーニングは不要

だいたい、バズワードだからディープラーニングでAI使いたいみたいなのは、基本的にはプレスリリース打って人々の注目をあつめるためだけに利用すればよくって、概ね旧来からある機械学習でも問題ないことが多いです。これがたどり着いた結論。

 

そもそも、ディープラーニングの問題点として、なんで正しい答えを出してるかが人間みたいに説明できないので、予想もしないような学習結果をだすことがある。

memo.sugyan.com

まさかノイズ画像をアイドル顔だと認識するとは思わなかった。ということがあるので、突飛な結果を出してしまうと困る分野には使いづらいです。

それだったら、ディープじゃないラーニング(機械学習)でも便利なライブラリはたくさんあるので、やってみると良いです。

実務者が使いそうな用途はだいたい研究されとる

とはいえ、ディープラーニングのほうがすごいんでしょ?いい結果出るんでしょ?というのはあってるけど間違ってる。

ディープラーニングのすごいところは、例えば上述の顔認識ならば、画像を放り込むだけで学習し、結果を返してくれるのがすごい。

ディープラーニング以前はどうしていたかというと、

  • 顔検知ライブラリで目と鼻の位置をまず抽出し
  • 目と鼻の座標の組み合わせを機械学習ライブラリに学習させる

という流れでやってました。これのデメリットは「人間の顔を識別させるのは、眼と鼻の座標を使うのが良さそう」ということを知ってないと機械学習がうまくいかない点です。

しかしながら、実務者がまず取り入れたい分野であれば、だいたいはもう理論が研究され尽くしているので、ディープにラーニングしなくてもその用途に応じたものさしを人間が与えることで十分実用的な精度が出るのです。

さらには、分野にもよりますがディープラーニングのようにGPUをぶん回して大量の学習をさせなくても、少量の学習からでも比較的すぐに学習結果がうまく利用できるみたいです。

いままで判断できなかったところに使う

じゃあディープラーニングのいいところってなんだろうというと、いままでどのパラメータが、答えを決定する要素なのかがわからなかった分野。だと思います。少し調べた雑感ですが。

なので、既存の機械学習で精度が低かったもの(かつ、大量のサンプルが用意できるもの)は、ディープラーニング化の恩恵を請けられそうというわけです。

 

以上、専門家から見たら違うかもしれませんが、事業企画とかでとりあえず「AI」って言いたい場合にはうまくご活用ください。いまはバズワードなので、なんでもかんでも人工知能って言っておけばすごいねって言ってくれると思います。が、裏では最小コストで即時にパフォーマンスが出る方法を利用すると良いでしょう。