2019年4月4日木曜日

TensorFlow 2.0 Alphaに注目

皆様、すでにご存じかも知れませんが...
 2019年3月7日開催の「TensorFlow Developer Summit」において、TensorFlow 2.0 のアルファ版が公開されました。ディープラーニングの有力な開発環境、フレームワークとしては、他にも、Sony Neural Network Console、MatLab、等々、幾つかあります。しかし、今回のTensorFlowの改訂は、Python - TensorFlow - Kerasという路線の浸透具合に鑑み、見逃せないのではないでしょうか。Kerasも、今回版に含まれるようになっています。以下に、その概要を記した日本語版もあります。

https://developers-jp.googleblog.com/2019/03/tensorflow-20.html

 この中には、定番の手書き数字認識のためのMNISTや、Fashion MNIST(衣類や装身具の識別用)を使った丁寧な解説もあります。何よりも素晴らしいのは、それらのTensorFlow 2.0のコードが、Jupyter Notebookの形式で提供され、直ちにGoogle Colabで動かすことができる点です。Colabは、多くの大学等でのAI関連のセミナーや卒研などでも利用されていると思います。

■ Fashion MNISTを使ったTensorFlow 2.0のコードの解説(Colabで動かす)
 - オリジナル版(英語版)
https://www.tensorflow.org/alpha/tutorials/keras/basic_classification
 - 日本語版(早くも日本語解説が作られています!)
http://tensorflow.classcat.com/category/fashion-mnist/

 ご存じと思いますが、Colabは、Google アカウントを持っていれば、Python関連の環境設定が不要で、すぐに(一定の条件のもとで)無料で使えます。しかも、CPUだけでなく、GPUまで指定して使えますので、とても魅力的です。上記には、わかりやすい解説文があるうえに、「Run in Google Colab」というタグをクリックするだけで、Colabでのコード編集と実行ができ、以下のように、テストデータがどのように分類されたかも分かりやすく図示されます。


Fashion MNITのテスト画像の認識結果の一例(下記で提供されているTensorFlow 2.0コードの実行結果)
https://www.tensorflow.org/alpha/tutorials/keras/basic_classification
10個のラベルのうちで、正しい予測ラベルは青色で示され、正しくない予測ラベルは赤色で表示されています。

 この解説は、まずColabで実行させてみて、学習状況、途中結果や認識結果を観察し、さらに、解説文を読んで理解を深めましょうというスタンスのようです。Deep Learningに関する一定の基礎知識を持っていれば、これは、とても有用であり、次は、なんとか自分の問題に適用していこうという気にさせてくれます。

 しかしながら、この「Deep Learningに関する一定の基礎知識」が非常に重要であります。それを持っていないと、先へ進むことはできないでしょう。基礎知識をつけるための書籍などは、近年、非常に多く出版されていますので、どれにするか迷ってしまいますね。敢えて、どれか一冊と言われれば、私が推奨する(私自身も一応全部読んだ)書籍は、以下のものです。ご参考までに。

斉藤康毅著「ゼロから作るDeep Learning」、オライリージャパン、2016年9月出版
(フレームワークを使わず、Pythonのみで、かなり高いレベルまで行きます。最初の方はゆっくりで、後半はかなりスピードアップとなりますが、Deep Learningの基本が身につくと思います。)

Deep Learning関連話題
 今回のTensorFlow 2.0と直接は関係ないかも知れませんが、多層になった各層で何をやっているのか人間には分からないところも問題のようです。これに関して、最近、Activation Atlas(以前からあったLucidがベース)という手法の可視化の記事が以下にありました。かなり難しそうなので、今後調べて行きたいです。

0 件のコメント:

コメントを投稿