TensorFlow

TensorFlow（テンソルフロー、テンサーフロー）とは、Googleが開発しオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリである。 機械学習や数値解析、ニューラルネットワーク（ディープラーニング）に対応しており、GoogleとDeepMindの各種サービスなどでも広く活用されている。 2015年11月9日にベータ版がApache 2.0 open source licenseの下で公開され、2017年2月15日には正式版となるTensorFlow 1.0がリリースされた。 TensorFlowは元々、Google内部での使用のためにGoogle Brain（英語版）チームによって開発された。開発された目的は、人間が用いる学習や論理的思考と似たように、パターンや相関を検出し解釈するニューラルネットワークを構築、訓練することができるシステムのための要求を満たすためである。現在は、Googleのサービスの研究と生産に使用されており、以前に使用されていたクローズドソースのDistBeliefの役割をほぼ置き換えている‍  。AIにも詳しいルーカス・ビーワルド（英語版）は、GoogleはTensorFlowのコードをオープンソースにした事で、AIの真の価値はAIの「エンジン」ではなく、AIを賢くするのに必要な「データ」である事を示したと語った。そのためGoogleは「データ」の部分は公開しないだろうと述べた。 対応プログラミング言語はC言語、C++、Python、Java、Go。 対応OSは64ビットのLinux（ただしバイナリ配布はUbuntu用）、macOS、Windows。ハードウェアは CPU、NVIDIA GPU、Google TPU、Snapdragon Hexagon DSP などに対応していて、Android Neural Networks API 経由で Android 端末のハードウェアアクセラレータも使用できる。「Google Colaboratory」でも使える。 また、TensorFlowベースの強化学習フレームワーク「Dopamine」もオープンソースとなっている。 インテルCPU 用の Intel Math Kernel Library ではディープラーニング用の最適化が実装されており、これを TensorFlow から利用できるようにしたものをインテルが配布している。Anaconda などのディストリビューションでもこちらが採用されていて、pip で配布している物と比べて ResNet-50 が8.6倍高速に学習する。 モバイル機器向けは TensorFlow for Mobile と TensorFlow Lite の2種類がある。Android、iOS、Raspberry Pi 向けのコードも GitHub 上で公開されている。TensorFlow Lite は2017年11月14日に Google より公開された。 当初のTensorFlowはニューラルネットワークの計算を表現した計算グラフを学習の前にあらかじめ構築する「Define-and-Run」という方式を取っていたが、2018年に公開された新しい機能である「Eager Execution for TensorFlow」はPreferred Networksのディープラーニングフレームワーク「Chainer」などで採用されている、計算の実行時に計算グラフが定義される「Define-by-Run」という方式を取っている。 以下のような用途に利用可能。 顔認識 音声認識 被写体認識（コンピュータビジョン） 画像検索 リアルタイム翻訳 ウェブ検索最適化 メール分別 メール自動返信文作成 自動運転車 マリオカートをプレイ 2017年3月20日から24日にかけてドイツ・ハノーファーで行われた国際情報通信技術見本市「CeBIT 2017」にて、Googleの日本法人がTensorFlowの採用事例として「から揚げ配膳ロボット」、「きゅうり仕分けロボット」、「ドローンで撮影した写真の解析」の3点を展示した。 から揚げ配膳ロボット から揚げをロボットに画像認識させるためにTensorFlowが使われている。 きゅうり仕分けロボット キュウリの選別（選果）はパート労働者にすぐ任せられるような仕事ではなく、会得するには数ヶ月かかると言われている。学習用画像としてキュウリの画像7,000枚を使ったがそれでもまだ数が少なくて過学習が発生し、新たなキュウリの画像では正解率が70%程度に落ちる事が課題とされている。 ドローンで撮影した写真の解析 空撮画像から、TensorFlowを利用して車両台数をカウントするアルゴリズムを構築したとして展示された。 [脚注の使い方] ^ a b “Credits”. TensorFlow.org. 10 November 2015閲覧。 ^ a b “Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine”. Wired (November 9, 2015). 10 November 2015閲覧。 ^ “Google、機械学習ライブラリ「TensorFlow 1.0」正式版を初リリース”. Internet watch (2017年2月16日). 2017年2月16日閲覧。 ^ “Announcing TensorFlow 1.0”. Google Research Blog (2017年2月15日). 2017年2月16日閲覧。 ^ a b c "TensorFlow: Open source machine learning" "It is machine learning software being used for various kinds of perceptual and language understanding tasks" — Jeffrey Dean, minute 0:47 / 2:17 from Youtube clip ^ “TensorFlow: Large-scale machine learning on heterogeneous systems”. TensorFlow.org. Google Research (November 9, 2015). 10 November 2015閲覧。 ^ “グーグルは、なぜAIエンジンをオープンソース化したのか？”. WIRED.jp (2015年12月5日). 2017年11月27日閲覧。 ^ “Basic Usage”. TensorFlow. 2016年8月12日閲覧。 ^ Installing TensorFlow | TensorFlow ^ a b Installing TensorFlow on Ubuntu | TensorFlow ^ An in-depth look at Google’s first Tensor Processing Unit (TPU) | Google Cloud Big Data and Machine Learning Blog  |  Google Cloud Platform ^ TensorFlow machine learning now optimized for the Snapdragon 835 and Hexagon 682 DSP | Qualcomm ^ Introduction to TensorFlow Lite  |  TensorFlow ^ TensorFlow* Optimizations on Modern Intel® Architecture | Intel® Software ^ Intel Optimized Tensorflow Wheel Now Available | Intel® Software ^ TensorFlow in Anaconda - Anaconda ^ Overview  |  TensorFlow ^ “Mobile TensorFlow”. TensorFlow. 2016年8月13日閲覧。 ^ “グーグル、「TensorFlow Lite」開発者プレビュー発表--モバイルや組み込み端末向け”. ZDNet Japan (2017年11月16日). 2017年11月26日閲覧。 ^ “「機械学習オン・ザ・ゴー」の時代　Googleの「TensorFlow Lite」公開”. クラウド Watch (2017年11月20日). 2017年11月26日閲覧。 ^ 中田敦 (2018年5月23日). “日本企業が生み出した深層学習Chainer、フェイスブックやグーグルが認める”. Nikkei Business Publications. 2018年10月28日閲覧。 ^ “Google、オープンソース機械学習ライブラリの最新版「TensorFlow 1.5」を発表”. アイティメディア (2018年1月30日). 2018年10月28日閲覧。 ^ “米Google発のAIオープンソース「TensorFlow」を使ったデータ分析支援を8月に提供開始”. ＠Press. 2016年8月12日閲覧。 ^ “Comma.ai、高速道路自動走行のデータをオープンソースで公開―低価格の自動運転車に道”. TechCrunch Japan. 2016年8月15日閲覧。 ^ “マリオカート64の全自動走行をGoogleの機械学習ライブラリ「TensorFlow」でやってみたムービー”. GIGAZINE (2017年1月11日). 2017年11月26日閲覧。 ^ “TensorFlow×マリオカートでキノコカップ優勝も可能なリカレントニューラルネットワーク「MariFlow」を開発”. GIGAZINE (2017年11月6日). 2017年11月26日閲覧。 ^ “「TensorFlow」でから揚げ配膳ときゅうりの仕分けを自動化、Googleがアピール”. MONOist (2017年3月28日). 2017年11月26日閲覧。 ^ “TensorFlowでキュウリの選別・仕分けを学習する”. Dylan Raithel、笹井 崇司（翻訳） (2016年9月14日). 2017年11月27日閲覧。 ^ “キュウリ農家とディープラーニングをつなぐ TensorFlow”. 佐藤一憲 (2016年8月5日). 2017年11月27日閲覧。 人工知能 ニューラルネットワーク ディープラーニング テンソル・プロセッシング・ユニット テンソル 公式ウェブサイト （英語） TensorFlow (@tensorflow) - X（旧Twitter） （英語） 表示 編集