Googleの人工知能ライブラリ、TensorFlowとは?「できること」「将来性」も解説!!

GCAT

Googleのサービスでも活用されているTensorFlowについて解説します!

まずはTensorFlowの公式サイトを見てみよう!

TensorFlowの公式サイトは以下のリンクから飛べます↓

https://www.tensorflow.org/

公式サイトの雰囲気はこんな感じ・・・

オレンジを基調としたデザインですね♪

TensorFlowについて動画でも解説されています。

TensorFlowについての概要説明があったので、公式サイトから引用します。

TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google’s Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well. TensorFlow公式サイト引用

概要を見てみると、もともとTensorFlowはGoogle Brain Teamにより開発されたそうです。

そして、幅広い用途にも対応できるようになってきたとのこと。

TensorFlowを使っている会社

公式サイトにはTensorFlowを使っている会社が掲載されております。

それがこちら↓

メガトン級の企業だらけですね。笑

では実際にTensorFlowをどのように使用しているのかいくつか見てみましょう!

上に載っている企業は一見人工知能なんて使っているのか?と思いますが実はバリバリ使っています( `ー´)ノ

一例を紹介します!

airbnbの人工知能活用例

Airbnbは一見すると部屋を提供するホストと、部屋を借りるゲストをマッチングするだけです。テクノロジーとは無縁の企業に思えます。しかし、実際はテクノロジーカンパニーであり、自社で開発した機械学習のソフトウェアライブラリのAerosolveをオープンソースしたり、社内のビッグデータ解析、人工知能の活用についての成果をブログやカンファレンスで公開しています。 http://blog.btrax.com/jp/2016/07/15/airbnb-ai/引用

Uberの人工知能活用例

Uberはただ白タクと乗客のマッチングを行っているのではなく、テクノロジー企業です。 需給バランスに応じて価格がリアルタイムで変わるシステムや、出発地点と行き先が近い人同士を相乗りさせることで格安で移動できるUber Pool (ウーバープール)、高度なアルゴリズムを用いて正確な到着時刻予測を行ったり、Uberの運行状況をリアルタイムでビジュアライズ化するなど、テクノロジーをフル活用しています。 http://blog.btrax.com/jp/2016/07/15/airbnb-ai/引用

airbnbやUberは一見人と人を繋ぐ言わば仲介業とも取れますが、彼らは繋ぎまくってるが故に大量のデータを持っています。

人工知能の時代にこの”大量をデータを持っている”というのは企業としてめちゃくちゃ大きな強みになるかと思います。

TensorFlowの歴史

TensorFlowのはじまり

ではTensorFlowの歴史を見てみましょう!

TensorFlowは元々、2015年11月9日にApache 2.0 open source licenseの下で公開される前に、Google内部での使用のためにGoogle Brain(英語版)チームによって開発された。

開発された目的は、人間が用いる学習や論理的思考と似たように、パターンや相関を検出し解釈するニューラルネットワークを構築、訓練することができるシステムのための要求を満たすためである[23]。現在は、Googleのサービスの研究と生産に使用されており、以前に使用されていたクローズドソースのDistBeliefの役割をほぼ置き換えている‍。  wikipedia引用

TensorFlowが産声をあげたのは2015年11月9日です。

もともとはGoogle内部で使用するために開発されたそうです。

定期的にアップデート

TensorFlowは上記の通り、定期的にアップデートされています。

着実に進化しているイメージですね( `ー´)ノ

ちなみに2018年3月21日現在のTensorFlowのバージョンは1.6です。

これからも、人工知能の普及とともにどんどん進化していくことでしょう。

TensorFlowで「できること」

TensorFlowで作られたもの

Googleでも実際に使われているTensorFlowですが、どんなことができるのでしょうか?

まずは実際にTensorFlowで作られたものを見てみましょう。

2017年3月20日から24日にかけてドイツ・ハノーバーで行われた国際情報通信技術見本市「CeBIT 2017」にて、Googleの日本法人がTensorFlowの採用事例として「から揚げ配膳ロボット」、「きゅうり仕分けロボット」、「ドローンで撮影した写真の解析」の3点を展示した。 Wikipedia引用

ドイツで行われた技術見本市で展示されたものを紹介します。

から揚げ配膳ロボット

これは唐揚げを皿から皿へ渡すロボットです。

TensorFlowを使って、どれが唐揚げか・どこを掴めば良いかなどを学習しています。

こんなのがTensorFlowで作れます( `ー´)ノ

・・・とまぁ、正直唐揚げを運ぶ作業はまだ人間がやったほうが良さそうですね。笑

きゅうり仕分けロボット

きゅうりを仕分けするロボットです。

動画を見ればわかるように、大きさや品質で仕分けをしています。

TensorFlowにより、大きさや、品質が良いキュウリ・悪いきゅうりの特徴を学んでいる感じです。

TensorFlowでどんなことができるのか

ではTensorFlowでできることについて紹介します!

文字認識

TensorFlowのチュートリアルとしてよく使われるのが文字認識です。

画像はQiita引用

このような手書き数字は人工知能を使わないと数字として判断することができません。

TensorFlowを使い、手書き数字を大量に学習させ特徴を掴むことで、数字として判断できるようになります。

画像認識

画像はQiita引用

TensorFlowを使い、大量の画像を与えて学習させることで、画像に何が映っているかを判断できるようになります。

動画解析

個人的に面白いと思ったのが、この動画解析です。

TensorFlowで特徴を汲み取り学習するという意味では同じなのですが、やはり動画となるとインパクトがありました。

動画を見て頂くと分かるように、それぞれの映っているものが何かを判断しています。

後ろを向いている人でも正しく「Person」と判断していることが分かります。

TensorFlowの将来性

個人的にはTensorFlowは非常に将来性のある人工知能ライブラリだと思います。

今のところ、人工知能のライブラリの中では人気ナンバーワンかと( `ー´)ノ

さらに、Googleは人工知能に多額の投資をしております。

例えば、2014年にはロンドン発の人工知能スタートアップを400億以上で買収しています。

人工知能のビジネスを伸ばしていこうというGoogleですから、TensorFlowの機能がこれからさらに充実していくのは確実かと思います。

まとめ

TensorFlowについて書きましたが、やっぱり未来について考えることは本当に楽しいです(‘ω’)

人工知能に対して恐怖も少しはありますが、私たちの生活を豊かにしていくのは確実だと思います。

TensorFlowは個人的にも修行中なので早く何かを作って披露できたらと思います( `ー´)ノ

最後までお読みいただきありがとうございました!!

コメントを残す

メールアドレスが公開されることはありません。