Googleが提供する機械学習モデルの種類について

どうも、Yuki Hiraiです。

今日は前回の続きで

Google Developers ML Summit Tokyo 2018

に参加してきた際のメモを書いていきます。

前回の記事はこちらからどうぞ

TensorFlow/Cloud ML の概要(機械学習・人口知能の活用例)

Googleが提供する機械学習モデルの種類

Googleでは以下のようなモデルをそれぞれ用意している。

  • 独自モデル: Cloud Machine Learning Engine/Tensorflow
  • 学習済みモデル: Cloud Vision API
  • 自動モデル構築
  • 学習済みモデルのカスタム化ができるようなもの
  • 学習データだけ用意すれば勝手にモデルを構築してくれるサービス

Cloud VisionはGoogleが訓練したモデルをもとに画像を判別してくれる。

Web Entitiesの項目では
画像検索の結果から似たような写真がのってるサイトに含まれている重要度がたかそうなキーワードを引っ張ってくる

といったこともしているとのこと。

画像をアップするだけでうまくいけば名前までわかってしまうとかw

他にも学習済みモデルでいうと

Speech to Textがある。

これは音声をテキストに変換してくれるもので

例えば

「とうきょうとっきょきょきゃきょく」

とかでも

ニューラルネットワークがいい感じに

「東京等特許許可局」

と変換してくれる

Cloud Translationを使用すれば翻訳もできる。

Googleが提供している複数のAPIを組み合わせることで

面白いアプリが作れるようになる。

このQuick Drawというサービスは

お題に対して時間内に手書きでお題を描けるかどうか

というゲームで遊べるサービス。

お題にあった絵かどうかを機械学習で判別しているそう。

手動のラベルづけ

自動モデル構築の際には、学習データが必要となるが

それを手動でアウトソースできるサービスもGoogleは提供している。

GoogleのAutoML Visionでは
有料で人間による手動のラベルづけもやってくれる。

5000枚なら1週間程度で出来るとのこと。

human-labeling

英文でリクエスト送ればその通りに人がラベルづけしてくれるとのこと

PR曲線を知ろう

機械学習でモデルを訓練する際は

PR曲線

を意識するようにしたい。

PR曲線とは…
PrecisionとRecallを用いた評価のこと。

ニューラルネットワークの出力は「確率値」となる。

本当に異常なものの中で、
正しく以上を発見できた割合
10の異常なもののうち異常と判断されたものが6 Recall = 60%

異常と判断したものの中で本当に異常だったものの割合
異常なもの4/16 Precision = 30%

といった風になる。

ビジネスゴールによってどっちかを取捨選択していくことになるので

PR曲線を意識しながらモデルを学習させていく必要がある。

顧客満足度をあげたい場合 => Recallをあげたい
生産効率をあげたい場合 => Precisionをあげたい

といった感じ。

機械学習をサービスに組み込むとなると

統計的な知識も必要になってくる。

次回: 機械学習ですぐに使えるモデル集/インフラ参考

機械学習ですぐに使えるモデル集/インフラ参考