Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Google発の深層学習フレームワーク「TensorFlow」が一般エンジニアに与える可能性

PyData.Tokyo Tutorial & Hackathon #2 イベントレポート

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/12/22 14:00

 こんにちは、PyData.Tokyoオーガナイザーのシバタアキラです。先日公開され大きな反響を呼んだGoogle社の深層学習(ディープラーニング)フレームワーク、TensorFlow(テンソルフロー)。今回はPyData.Tokyoのハッカソンイベントで、参加者の皆さんとTensorFlowについて学び、コーディングし、ディスカッションした内容から得た所感を共有したいと思います。深層学習のネットワーク設計という非常に高度な課題は、一般のエンジニアやデータサイエンティストにはとっつきにくいものですが、既存のさまざまな手法やツールがTensorFlowに移植されつつあり、今後ここが深層学習開発の拠点になる予感がしました。

目次

前置き~今回のハッカソンを行うに至った経緯

 PyData.Tokyoは昨年秋に開始し、第1回のテーマとして深層学習を取り扱いました。それから1年がたちましたが、まさにこの一年間ずっと、深層学習に関してはニュースに事欠かず、目覚ましく変化の大きい一年でした。さまざまな研究結果が発表され、大手企業がAI研究所の設立を急ぎ、またエンジニアおよび研究者向けにはさまざまなフレームワークが開発されました。実は1年前のPyData.Tokyoでは東京大学の中山先生に、PyLearn2という深層学習フレームワークのお話をしていただきました。その時点では大変アクティブなコードベースがあったわけですが、つい先日PyLearn2が事実上の終了宣言をしたことが話題になっていました。

PyLearn2にはもうアクティブな開発者がいないことを知らせるためのREADMEのpull-request
PyLearn2にはもうアクティブな開発者がいないことを知らせるためのREADMEのpull-request

 また、ImageNetでの驚異的な結果などで一斉を風靡し、Model Zooで学習済みモデルのライブラリーを構築したCaffeも、最近勢いを失っているようで、早くも深層学習フレームワークは激しい淘汰の時代を迎えています。日本からもPreferred Networksが中心になって開発されているChainerが6月に発表され、その使いやすさが定評を博しているようです。

 そして年の瀬に現れたのがGoogleのTensorFlowです。すでに各所でニュースになっているためご存じの方も多いと思います。Googleが公開したことのインパクトもあって、他のフレームワークについては聞いたことがない方の耳にも広く知れ渡ったようです。PyData.Tokyo周辺でもTensorFlowの注目度は非常に高く、今回急きょハッカソンイベント企画し、参加者・主催者ともどもハンズオンで勉強する会を開催しました。

 今回のイベントには深層学習を以前から追いかけていたコアな方から、興味はあるけどまだ何なのかよく分からないという初心者まで、かなり幅広い参加者が集まりました。そのような幅広いオーディエンスが今後の深層学習・機械学習技術まわりの発展にどのように関わっていくのか、本イベントではそういったことを考える大変良い機会になったので、ここで共有したいと思います。

TensorFlowとはなに?

 そもそも深層学習とは何か、という方も大変多いと思いますが、今回のイベントではそういった基礎知識も含め、自身を「深層学習ウォッチャー」と称するバクフー株式会社の柏野さんにTensorFlowのご紹介をいただきました:

深層学習の仕組みを数理的に図示したもの、何やら難しそうだ
深層学習の仕組みを数理的に図示したもの、何やら難しそうだ

 深層学習は、インプット(データ)とアウトプット(予測結果)の間に複数の層を持った機械学習アルゴリズムで、数理的な表現などで見ると(図)少し難しそうではありますが、シンプルなパーツを多層構造にすることで学習を可能にするという、人間の脳の構造に着想を得たタイプのアルゴリズムです。実際には人間の脳の構造とは多くの点で違っているそうですが、「神経回路」と呼ばれます。

 各層では入力データ(テンソルという多次元で均一なデータ構造)を与えられたルールによって変換し、次の層に引き渡します。こうすることで導き出される予測結果の精度を上げるために各層のパラメーターを調整していく学習プロセスが近年の研究で飛躍的に効率化され、またGPUなどのハードウェア面での発展も相まって、その予測精度がほかの種類のアルゴリズムを大きく凌駕しています。これがここのところの「人工知能ブーム」の発端でもあったわけですが、特に大きな成果が出ているのは画像認識の世界です。

 例えばGoogleが昨年発表した、画像に何が写っているのかを文章化するアルゴリズムなども深層学習の成果の一つです。数値計算や自然言語処理などでも応用に向けた研究が進んでいますが、画像分野ほどの成果にはつながっていないようです。

Googleが発表した画像のアノテーション技術は写真に写っているものを自動的に文章化できる
Googleが発表した画像のアノテーション技術は写真に写っているものを自動的に文章化できる

 TensorFlowは、そのような深層学習を使ったデータモデリングをするためのライブラリです。Googleでは2年ほど前から開発が進められてきたようで、コア部分はC++で開発されており、ユーザー向けにはPythonのインターフェースが用意されています。その利用目的は多岐におよび、いまだ新しい応用分野がどんどん広がっています。

 柏野さんの紹介したTensorFlowのチュートリアルでは、このような例を実際にコード付きで紹介しています:

  • MNIST:手書きの数字を読み込み判別する
  • CNN:見せられた画像に何が写っているのか認識する
  • Word2Vec:文章を読み込み、各単語の関係を学習する
  • RNN:半分書かれた文章を見て、次にどの単語が来るか当てる
  • Seq2Seq Model:フランス語を英語に翻訳する

 このようにいろいろな種類の深層学習ネットワークを構築し、さまざまな用途に応用するための基本的なツールがTensorFlowです。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • シバタアキラ(シバタ アキラ)

    データサイエンティスト@DataRobot, Inc. PyData.Tokyoオーガナイザー 人工知能を使ったデータ分析によるビジネス価値の創出が専門分野。物理学博士。NYU研究員時代にデータサイエンティストとして加速器データの統計モデル構築を行い「神の素粒子」ヒッグスボゾン発見に貢献...

  • 田中 秀樹(タナカ ヒデキ)

    PyData Tokyoオーガナイザー シリコンバレーでPython×データ解析の魅力に出会う。帰国後、ディープラーニングに興味を持ち、PyCon JP 2014に登壇したことがきっかけとなりPyData Tokyoをスタート。カメラレンズの光学設計エンジニアをする傍ら、画像認識を用いた火星および...

  • 池内 孝啓(イケウチ タカヒロ)

    神奈川県横浜市出身。1984年生まれ。ソフトウェア開発会社、インフラサービス提供会社を経て2011年3月株式会社ALBERT入社。クラウドコンピューティングを活用したマーケティングプラットフォーム事業の立ち上げに携わる。2014年1月に同社執行役員に就任。2015年8月株式会社ユーリエを設立。同社代...

  • 山本 光穂(ヤマモト ミツオ)

    デンソーアイティーラボラトリ シニアエンジニア。 2006年デンソーアイティーラボラトリ入社以来、時空間情報閲覧サービス(製品名:今昔散歩)や情報検索等に関する研究に従事。特に最近はドライバーの意図推定技術や同推定結果に基づく最適な情報提示技術に興味を持つ。趣味はマウンテンバイクとイングレス(Re...

バックナンバー

連載:「PyData.Tokyo Tutorial & Hackathon」イベントレポート

おすすめ記事

All contents copyright © 2006-2016 Shoeisha Co., Ltd. All rights reserved. ver.1.5