[ この記事は Jeff Dean, Senior Google Fellow, および Rajat Monga, Technical Lead による Google Research Blog の記事 TensorFlow - Google’s latest machine learning system, open sourced for everyone を元に翻訳、加筆したものです]

ディープ ラーニングは、コンピュータ サイエンスの世界に計り知れない衝撃を与えました。この分野の研究において新たな地平を拓き、また膨大な数のユーザーが日々利用する、驚くほど便利なサービスの開発を可能にしています。

Google では、DistBelief と呼ばれる社内向けのディープ ラーニング インフラを 2011 年に開発し、かつてない規模のニューラル ネットワークの構築や、データセンター内の数千コアへのモデル学習のスケールアウトを実現しました。このインフラは、未分類の YouTube 動画像から「ネコ」のような高度な概念を獲得できることを示したほか、Google 検索アプリの音声認識での 25% に達する品質改善や、Google フォトの画像検索の実装などに用いられてきました。また ImageNet が主催する Large Scale Visual Recognition Challenge in 2014 で優勝したインセプション モデルの学習に用いられたほか、DeepDream画像へのキャプション自動挿入などの開発を支えてきました。

しかし、こうした成功を収めた DistBelief にも、いくつかの制約があります。それは、ニューラル ネットワークのみに特化した技術であること、構成が容易ではないこと、そして Google の社内インフラに密接に結びついていることです。そのため、DistBelief 上での研究で得られたコードの外部公開はほぼ不可能でした。

11 月 9 日、Google は、これらの課題を解決するために設計された第二世代の機械学習ライブラリである TensorFlow をオープンソース公開しました。TensorFlow は、汎用性、柔軟性、ポータビリティ、そして使いやすさに優れた、100% オープンソースのソフトウェアです。さらに、DistBelief を上回る速度とスケーラビリティを備え、サービスの実運用にも適します。実際に、TensorFlow はいくつかのベンチマークで DistBelief の 2 倍の性能を達成しています。プログラミング モデルや実装の詳細については、このホワイトペーパーで公開しています。
TensorFlow は、ディープ ラーニングの実装のための豊富な機能をサポートするほか、演算フローをグラフとして定義することで様々な計算処理を表現でき、ディープ ラーニングに留まらない優れた汎用性を備えます。自由度の高い Python API を提供し、新しいアイディアをすばやく簡単に表現できます。また TensorFlow に備わる自動微分や各種の初期レート最適化の機能は、勾配降下法を使うあらゆる機械学習アルゴリズムの実装で威力を発揮します。ここにあるチュートリアルではいくつかの例を公開しています。
TensorFlow は、ポータブルで高速な実運用サービス向けのライブラリとしてゼロから設計されており、研究目的に限らず実サービスにも利用できます。デスクトップ PC での GPU によるモデルのトレーニングからスマートフォンによるサービス提供まで、シームレスな展開が可能です。Google が公開する最新のモデル アーキテクチャ例を使用すれば、強力な機械学習アルゴリズムをすぐに使い始められます。ImageNet 画像認識モデルの TensorFlow によるフル実装もまもなくリリースする予定です。

さらに TensorFlow の真価は、それがオープンソース ソフトウェアであることにあります。スタンドアロン ライブラリと関連ツール、チュートリアル、そしてサンプルが Apache 2.0 ライセンスで公開されており、あらゆる企業や組織において無償で利用可能です。

Google 社内のディープ ラーニング研究者は、例えばニューラル ネットワークから得たシグナルによる Google 検索の品質向上や、今後提供される魔法のような機能の実現など、すべての研究で TensorFlow をすでに活用しています。Google では今後も各種サービスでの機械学習の実装に TensorFlow を使用していくほか、すでに公開済みのアルゴリズムの TensorFlow 実装も進める予定です。開発者の皆様による www.tensorflow.org への参加をお待ちしています。

Posted by Kazunori Sato - Developer Advocate, Cloud Platform