TensorFlow ってなんだろ

  • 106
    Like
  • 0
    Comment
More than 1 year has passed since last update.

11/9 に Google が TensorFlow という機械学習ライブラリを公開しました.
機械学習ライブラリとか言われても何だかよくわからないですね.
どういうものなのか調べて報告しろとある人に脅されたので, 機械学習初心者の人向けの説明を置いておきます.
ガチ勢の方はお引き取りください.

何ができるの?

scikit-learn のような既存の機械学習手法の実装ではありません.
主にニューラルネットを中心とした手法を実装するためのフレームワークです. もちろんニューラルネット以外の手法を実装するためにも使えます.

平たく言えば、機械学習の手法を実装するためのパーツを集めたライブラリという認識で良いと思います.
裏を返せば「2, 3行で手軽に画像の分類ができるぜ」という類のものではないということです.

なぜ実装そのものではなく実装のためのフレームワーク?

ニューラルネットは非常に設計の自由度が高い手法です.
現時点で大量の亜種が存在しますし, これからも登場するでしょう.
それらを一つずつ実装していてはキリがないので「パーツを用意しておいたから欲しい奴が勝手に実装しておいてね」という方向性になったわけです.

また, 研究者が新しい手法を提案して実装したいときは, 既存の手法の実装よりもそれを構成するパーツを貰った方が使い回せてありがたいはずです.

今まで似たようなものはあったの?

TheanoCainer がまさにそれです.
TensorFlow も含め, いずれもニューラルネットを強く意識したフレームワークで, GPU 計算をサポートしています.
適度に争って進化して欲しいですね.

誰が使うべきものなの?

ここまで読めば明らかですが, 研究開発のためのツールです.
機械学習はよく知らないけれど試しに使ってみたいという人が今すぐに手を出す必要はないでしょう.
とはいえ, そういう人にはまるで関係ないものというわけではなく, 最新の手法を誰かが TensorFlow などで実装して公開してくれれば, 誰でも世界最先端の手法を手軽に試せるようになるはずです.
そもそも TensorFlow 自体, Google が自社の最新の研究成果をオープンソースにしたいというモチベーションで作ったものらしいので, そのうち何かやってくれるでしょう.
お煎餅を食べながら期待して待ちましょう!!

個人的な感想

TensorFlow のワクワク感すごい.
TensorFlow 使いながらニューラルネット勉強しよう.
珍しくやる気出た.