SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2017】セッションレポート

難しそうな機械学習を身近なものにする「TensorFlow」と「機械学習API」で、現場の課題を解決していこう!【デブサミ2017】

【17-B-1】きゅうり農家から保険会社まで、機械学習を「民主化」するTensorFlow

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Googleが2015年11月に公開したオープンソースの機械学習ライブラリ「TensorFlow」。公開以来、多くの企業で導入され、現場の問題解決に活用されています。「Developers Summit 2017」で行われた、グーグル株式会社 佐藤一憲氏のセッションでは、TensorFlowがもたらす「機械学習の民主化」を、デモと実際の導入事例を通じて体感することができました。本記事ではその内容についてレポートします。

  • X ポスト
  • このエントリーをはてなブックマークに追加

ニューラルネットワークとディープラーニング

 現在ブームとなっているAIの中でも、ディープラーニングやニューラルネットワークなどはコアな技術とされています。とは言え「誰もがみんな使っている、という状況にはなっていない」と佐藤氏は現状を分析。「実運用を行っていくにはまだ多くの課題がある。それらの解決方法について紹介していきたい」と続けました。

グーグル株式会社 Google Cloud デベロッパー・アドボケイト GCPUG, bq_sushi, TFUG 佐藤一憲氏
グーグル株式会社 Google Cloud デベロッパー・アドボケイト GCPUG, bq_sushi, TFUG 佐藤一憲氏

 簡単に言えば、ニューラルネットワークは関数の一種。即ち「データを入れればデータが出てくる」というものです。よく「シンギュラリティ(技術的特異点)の危険性」などと騒がれてはいますが、佐藤氏は「手元でニューラルネットワークを触っているが、それほどおもしろいことが起きている気はしない」と語ります。「賢い関数を学習データをもとにして作ることができる技術」ということだそうです。

 ニューラルネットワークやディープラーニングの事例には、画像認識や音声認識、自然言語処理等が多く挙げられますが、その他のあらゆる分野に適用が可能だといいます。佐藤氏はゲームサーバーのログを例に挙げ、「ユーザーログからチートをしているユーザーを見つけることも可能なのでは」と話します。

 では、ニューラルネットワークとはどのようなものなのでしょうか。佐藤氏はデモを交えながら解説を行いました。重要なのは、乱数で初期化されたものに対してひたすら学習データを与えることで、コンピュータ自身が自分で探し出し、試行錯誤するという点です。学習の過程で、誤りが少なくなる方向に最適化されていきます。

ニューラルネットワークとは
ニューラルネットワークとは

 ニューラルネットワークの代表的な例としては、Google DeepMindのAlphaGoが挙げられます。ニューラルネットワークが人間に教わって囲碁を打つのではなく、自ら打ち方を考え、実際に囲碁を打って学習を重ねていきます。時には人間側が想像もしないような打ち手を披露するということも珍しくありません。

Googleサービスを支える機械学習

 私たちが普段利用しているGoogleの各種サービスにも機械学習の技術が適用されています。例えばGoogle検索。検索結果のランクにはRankBrainという人工知能のアルゴリズムが使われています。最近では、Google翻訳に大幅な翻訳性能の改善が認められたことが話題となりました。ここにも機械学習の技術が使われており、誤訳は依然としてあるものの、流暢さは格段に上がってきています。さらにはGoogleのデータセンターで使われているエアコンをディープラーニングでコントロールするようにしたところ、コストを15%も削減することができたそうです。

 次に佐藤氏は「WaveNet」という技術を使い、ピアノの音を生成するデモを披露しました。一聴しただけでは人間が弾いているとしか思えないレベルですが、人力では出せない音が混じっているとのことです。

WaveNet
WaveNet

誰もが使える機械学習サービス

 Googleで利用可能な機械学習サービスは大きく2種類に分けることができます。1つは簡単で使いやすい、一般エンジニア向けの「機械学習API」。そしてもう1つがカスタマイズ可能な、機械学習エンジニア向けの「専用ライブラリ」です。

 機械学習APIには、画像認識の学習済みモデルを提供して画像をAPIに送るだけで使える「Cloud Vision API」や入力音声を即座にテキスト化する「Web Speech API」などがあります。

Cloud Vision APIのデモの様子
Cloud Vision APIのデモの様子
Web Speech APIのデモの様子
Web Speech APIのデモの様子

 機械学習APIはとても気軽に使えるサービスですが、適さない用途もあります。医療や車、工場製品といった、特定の専門的な分野や、画像や音声以外のさまざまなデータ分析です。これらはAPIでカバーし切れない部分なので、専用のニューラルネットワークの設計と学習が必要となります。

次のページ
オープンソースの機械学習ライブラリTensorFlow

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2017】セッションレポート連載記事一覧

もっと読む

この記事の著者

しんや(シンヤ)

2010年末~2013年前半位までの期間で興味のある勉強会に頻繁に参加。参加してきた勉強会のレポートブログとTogetterをひたすらまとめ続け、まとめ職人(自称/他称含む)として暫く過ごしておりました。色々な縁あってDevelopers Summit 2013では『公募レポーター』も務めました。2013年05月『出張ブロガー』を経て2013年08月にクラスメソッド株式会社へ転職。現在は業務(AWS及びその周辺技術を扱う)の...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10089 2017/04/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング