Googleの機械学習のイベント「Google Developers ML Summit Tokyo」へ行ってきました。

3月に開かれたGoogle社主催の機械学習のイベントGoogle Developers ML Summit Tokyo vol 2に参加してきたので、そこでの学びを共有したいと思います。

機械学習って?何がすごいの?

機械学習はある問題に対して大量のデータを分析して、「解き方を人間に教えてもらわなくても」、解答を導くことができる仕組みです。
ある問題をコンピューターに解答させるときに、従来は、人間のエンジニアが解き方をコンピューターに教えてあげないと解答を出せなかったのに対し、機械学習は大量のデータを分析して解き方を人間が考えるより精度高く算出することができます。
画像認識して顔を判定したり、コンピューターによる自然な翻訳など現在すでに様々な用途で使われています。

このセミナーでは、身体に関するデータからその人が大人か子供かを判定する問題を例に説明されていました。

従来のプログラミングの場合

身長〇〇cm以上、体重〇〇kg以上であれば大人であるとみなすというアルゴリズムを機械に伝えて判定する。
この方式の欠点は、ものすごい発育の良い子供がいた場合、誤判定されてしまうということです。

機械学習の場合

大人に関するデータ、子供に関するデータを大量にインプットして分析し、そこから子供と大人の境界線となる法則を自動で導き出す。
判定の精度は99%を超えます。

人工知能と機械学習とディープラニングの関係

すこし横道にそれますが機械学習は人工知能の文脈で語られることが多く、アルゴリズムを人間に教えられなくても機械が自動で算出することができる点が人工知能と結び付けられる理由かと思います。
しかしながら機械学習はあくまで「正しい解答のある問題(ex.ある写真を見てその人が子供か大人かを判別する)」に解答できるだけで、「われわれはどう生きるべきか?」のような正しい答えのない問題に対して解答をだせるわけないことには注意が必要です(映画やアニメに出てくるような人工知能のイメージとは完全に別物)。
ディープラーニングは機械学習の方法の一つで人間の脳が何かを学習する際のモデルをコンピューター上で再現したものです。
理論自体は昔からありましたが、昨今のコンピューターの性能の向上により実用レベルで実装可能になったことで再び注目を集めることになりました。

Googleの機械学習関連のソリューション

機械学習を気軽に使うことができるソリューションをGoogleは複数提供していて、セミナーではその紹介もありました。
上から自由度高難易度高で下に行けば行くほど自由度低、難易度低になります。

tensor flow

  • 今、機械学習といえばこれ!というデファクトスタンダードなソリューションです。
  • 学習モデルと呼ばれる学習の仕組みの作成はエンジニアリングと言うよりはデータサイエンスの領域で難しいが、他人が作った学習モデルを使うのは簡単そうな印象でした。
  • js版もでているので、Webで使いやすい。Webカメラの画像から感情を判定したり、アップロードした画像に何が写ってるのか判別したりといったことが気軽にできます。

Google Cloud AI

  • tensor flowよりは音声認識や画像認識など特定の用途向けの製品群です。自由度も十分にあります。
  • googleが今まで培ってきた大量のデータを生かしてチューンナップされたサービスをクラウドで利用することができます。
  • 提供されているAPIは動画認識、画像認識(画像に含まれている顔やテキストの認識)、翻訳、自然言語解析(文章から感情を読み取るなど)、音声機認識(音声ファイルから文字起こしなどが簡単にできます)などで、気軽に遊びで色々やるには面白そうなAPIがたくさんありました。

Firebase 向け ML Kit

  • モバイルアプリにバーコード、顔認識、テキスト認識などの機械学習使った機能をサクッと追加したい場合の最有力な選択肢になります。
  • APIに用意されていないカスタマイズを行いたい場合はtensor flow liteの学習モデルと連携して実装することになります。

以上、駆け足でしたがレポートでした。
非常に知的好奇心を満たされる、そして機械学習で何か面白いもの作ってみたいという気にさせられた一日でした!