TensorFlow

AI用語集

AI用語集ではAIに関する用語を中心に
まとめています。
初めて聞く用語や、インターネットを使っていて
わからないことがあったときにお役立てください。

TensorFlow

TensorFlowはGoogleが無料で開放している機械学習のライブラリである。
Apache2.0ライセンスで公開されており、商用利用においても無料で利用が可能でソースも公開されている。

TensorFlowは、「テンソルフロー」または「テンソーフロー」と呼ばれることが多い。

TensorFlowの生い立ち

TensorFlowは、Googleの2世代目の機械学習ライブラリで、2015年11月に公開された。
1世代目はDistBelief (ディストビリーフ)を呼ばれ、Google自社サービスの音声認識や画像認識の機械学習、Google検索のアルゴリズムであるRankBrainや受信メールに対して返信の内容を自動で提示するmartReplyの開発に利用された。

しかし、ディストリビーフはニューラルネットワークを利用した機械学習に特化していたことと、Googleのクラウド基盤と深いつながりがあり、独立させることが難しかったことなどから、一般への公開は行われなかった。

そして、2世代目のTensorFlowでは、Googleのクラウド基盤から切り離され、スタンドアロンで動作可能で誰でも利用できる、機械学習の基盤として公開された。

TesorFlowの特徴

TensorFlowはその特徴として、柔軟性、汎用性、ポータビリティ、ディストリビーフの2倍のスピード、スケーラビリティを備えていると発表されている。

・柔軟性
TensorFlowは、C#で書かれており、オープンソースとして公開されている。また、機械学習のアルゴリズムはPythonで書くことができる。自動積分機能が内蔵されているので、複雑なコードは必要なく、計算処理と目的関数を定義するだけで学習が可能となっている。
また、TensorBoardによって、複雑な演算をグラフ化して可視化が可能で、これにより技術者としてのレベルが低くても学習状況やニューラルネットワークの状態を確認することが可能になっている。

・汎用性
TensorFlowはニューラルネットワークを使ったディープラーニングだけでなく、一般的な機械学習もサポートしている点が、ディストリビーフと異なる点である。
TensorBoardによって演算をグラフ化し、複雑な機械学習を可視化できる。

・ポータビリティとスケーラビリティ
CPU/GPUによってコードを変える必要が無く、TensorFlowが状況に応じてリソースの割り当てを行うので、高性能なサーバ、一般的なPC、モバイル端末に至るまで、同じコードで対応することができる。

・スピード向上
Googleは、1世代目のディストリビーフと比べて2倍の演算スピードを達成したと発表している。

・無料提供
TesorFlowのさまざまなツールや、サンプルコードなどは全てApache2.0ライセンスで公開されているので、このライセンスに従う限り、ソースコードの改変や商用利用などが自由である。

関連する他の用語