全179ページのうち、この特集は88ページを占めるという力の入れ方です。大まかな構成は以下のようになっています。以下の区分けやタイトルは筆者独自の見方によります。(雑誌のとおりではありません。)
【A】 PP. 11-22:ラズパイでGoogleの人工知能
・GoogleのTensorFlowが、超小型コンピュータラズパイから使えるようになった。
・TensorFlowの概要と、考えられる応用やアイディア
・TensorFlowの解説、使える関数群の紹介など
【B】PP. 23-52:きゅうりの自動選別への応用
https://www.youtube.com/watch?v=PY-PN5xfw_0&t=12sより
・農家で手間のかかっている「きゅうり」の自動選別の実験システムの構築・その頭脳は、ラズパイ3上のTensorFlowで作成。その設計と実装の詳細。
・きゅうりの大小、曲がり具合などから、4等級に自動判別して、サーボモータで、指定の箱にはじき入れる。その様子は、下記ビデオに公開されている。
https://www.youtube.com/watch?v=Nho2yyCdb3A
(現段階では、人手による選別の方がずっと速いが、今後の可能性を感じさせられる。)
【C】PP. 53-86:TensorFlow初体験ガイド
・対象PCなどの確認とインストール
・Googleの公式webページに沿った解説
・TensorFlowプログラミングの基礎
・MNIST(手書き数字セット)の学習と認識実験
・顔認識アプリケーションを試作(畳込み層も使ったブッシュ元米大統領の顔)
【D】PP. 87-91:TensorFlow以外の人工知能ライブラリ
・Caffe, Chainerについても簡単に説明
【E】PP. 92-98:Deep Learningのアルゴリズムの簡単なまとめ
・ニューラルネットワークの順伝播、逆伝播などの説明
・誤差関数の微分を使った重みの更新なども含む
-------------------------------------------------------------------------------------------
●雑誌[1] Interface(インターフェース) 2017年 03 月号 雑誌 – 2017/1/25
●書籍[1] Make Your Own Neural Network (English Edition), Tariq Rashid (著)
●書籍[2] ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装, 斎藤 康毅 (著)
-------------------------------------------------------------------------------------------
以下は、筆者の簡単な感想になります。
【B】で示された「きゅうりの自動選別」を知り、このような現実的な問題を解くアイディアは素晴らしいと感じた。ぜひ、卒業研究として見習ってほしい!
本特集記事は、全体的に力作であり非常に参考になる。しかし、この雑誌だけで、その内容を完全に把握することは、初心者には難しいのではないかとも感じる。Deep Learningのポイントの1つは、バックプロパゲーション(誤差逆伝播)にある。その仕組みの概要は【E】でも一応述べられてはいる。しかし、それだけでは理解は難しいだろう。その克服には例えば、上記の書籍[1](平易な英書)を勉強すればよい。そこには、非常に丁寧に、「出力層で検知される誤差(正解とその時点の評価値との差)が、それ以前の中間層各層においてどの様に(逆方向に)配分されるか」も詳細に説明されている。これが、誤差逆伝播のきもなのであるから。
さらに重要なのが、畳込みである。CNN (Convolutional Neural Network)である。この特集の【C】では顔認識をTensorFlowを使ってやっており、そこでは畳込み層を何層か使っている。しかし、「畳込み」の意味とその処理内容には触れていないようである。ニューラルネットワークによる学習機構の基礎を学んだ上で、CNNに向かうのが良いであろう。そのための、優れたテキストの一つが、上記に示した書籍[2](和書)である。ぜひ、多くの皆さんに勉強していただきたい。
今や、このCNNは、高精度の認識のためには不可欠の技術と考えられている。書籍[2]以外にも、CNNを解説している以下のYouTubeビデオも有用であろう。何とか聞き取ることで英語の訓練にもなる。