Neural Network Consoleとは?
今回のイベントでは、株式会社LABBIZ代表の神谷さんからNeural Network Consoleを使えるようにするための環境設定の方法と具体的な使い方やNNabla(Neural Network Consoleに用いられているライブラリ)について、レクチャーしてもらいました!
神谷さん:今回の目標はNeural Network Consoleを使える環境を整えて、使い方を理解することです。
まず、このNeural Network Consoleとは、SONYのニューラルネットワーク設計・学習・評価ツールのことです。WindowsのGUIアプリケーションです。特徴は、ドラッグ&ドロップでニューラルネットワークを設計できることやパラメータの自動探索ができることです。設計したニューラルネットワークでの学習や評価も可能で、その履歴を管理することもできます。
アプリケーションを立ち上げて、プロジェクトを開くとこんな感じの画面になります。左上の編集タブを押すと、コンポーネント(関数ブロック)リストが出てきて…ダブルクリックをすれば、コンポーネントを中央のGUIに追加することができます。
右上の学習開始ボタンで学習をスタートさせることができます。基本的な操作はこれくらいですね。
あとは、コンフィグタブのところから話題になっていたパラメータの自動探索が設定できます。こちらで、ミニバッチのサンプル数や学習の最大繰り返し回数も設定できます。
こんな感じでかなり簡単に使えるツールです。
その後、設計したニューラルネットワークのコードをPythonで出力する方法の説明があると参加者の方からNeural Network Consoleの出力コードへの質問や疑問が続出。ゴリゴリのエンジニアの方からのハイレベルな質問も多く、この辺りから私は若干話についていけなくなってしまったのですが…(苦笑)
コードが本当に綺麗なんですよね…アーキテクチャにも美しさを感じます…
本当に!データ構造が面白いですよね…!
などと、Neural Network Consoleの優秀さに感動しながら、時間いっぱい出力コードの分析をしあいました。(私はまだアーキテクチャの美しさを理解できなかった…)
参加者の方々の感想
大学で数学情報コースを専攻している女子大生:IBMのWatsonをきっかけに人工知能に興味を持ちました。これから世の中のいろんな分野に影響を与えていくであろう人工知能を自分も勉強したいと思って、今回参加しました。今回教えていただいたNeural Network Consoleは、とても直感的に操作ができそうなので、ぜひ使ってみたいと思いました。
世の中の全てを数式で表したいデータサイエンティスト:神谷さんのファンで、今回参加しました。Neural Network Consoleは、ニューラルネットの層がグラフィックで見られるのがすごく良いと思いました。ミスをとても減らせそう。あと、代表的なCNNが簡単に実装できるのも人工知能の勉強を始めたばかりの人にとっては嬉しいかもしれないですね。
エンジニアの方でこれから人工知能に手を出したい人や理論だけでなく実装を勉強したい人にはすごいオススメの勉強会だと思います。
全脳アーキテクチャ界で有名な大学院生:Neural Network ConsoleのGUIがめちゃめちゃいいなあと思いました。これから人工知能の中身を読んでいきたいという人にすごくおすすめしたいです。コードを読むのって1人だとなかなか結果が出なくて辛いんですけど、こういう勉強会でみんなで読めば楽しいかも…しれないと思っています。コードを読んでみたい欲求がある人はぜひ参加してほしいです。
私自身もこの勉強会に参加するまでは、
ニューラルネットワーク? …いやあ、ちょっとハードル高いですよ〜。パラメータの設定とか超難しそうだし…もうちょっと勉強してからで。とりあえず、シンプルな機械学習でやりまーす。
と、ハードルが高くてなかなか手を出せていない状態でした。しかし、今回、Neural Network Consoleを知って…
あ、これなら私でも使えそう。出力コードを見て、それぞれの関数がどんな風に書かれているかを勉強していけばいいのか!
と希望の光が見えてきました。しかも、この勉強会にくれば神谷さんをはじめとしたハイスペックなエンジニアさんがたくさんいるわけだから、質問しまくれる…! ニューラルネットワークの勉強へのハードルがいい意味で下がり、モチベーションが上がりました。
本当に私でもコピペで人工知能が設計できるのか?
Neural Network Consoleは、こちらのページからメールアドレスを入力すればインストールできました。ちなみに、インストールしてみると、めちゃくちゃ丁寧なマニュアル(日本語版)も付いてきたので、英語苦手だよ〜という人も安心して使えると思われます。
インストール後、アプリケーションを立ち上げ、まずはサンプルのデータセットを見てみました。
「4」と「9」の画像を学習するっぽいやつです。大学でレポートの採点のバイトをしているときに字が乱雑な男子の学籍番号に「4」なのか「9」なのかわからない数字が書かれていた思い出が蘇ってきました。
今回は先ほど見た「4」と「9」のデータセットを使うプロジェクトを動かしてみることにしました。
動かしたいプロジェクトをポチポチッとダブルクリックすると、ニューラルネットワークの設計画面が出てきました。
左のコンポーネントリストから適当に関数ブロックをドラッグ&ドロップして、ぐるぐる動かしたり、繋いだりしてみましたが…よくわからないので、今回は大人しくサンプル通りのモデルを動かすことにしました。でも、自分が作りたいモデルがある程度定まっている時、こんなふうにポイポイ〜ってコピー&ペーストとかドラッグ&ドロップでネットワークが作れたらめちゃくちゃ便利だなって思いました。
そして、学習ボタンをポチっとして、しばらくするとグラフがにょきにょきっと出てきました。
「EVALUATHION」のタブから結果を見てみると、精度は95.2%。
めっちゃ正解しとる…!!!
サンプルだから、当たり前か…!
と自分で納得しながらも、ここまで簡単かつスムーズに動くとサンプルとはいえ、なんだか楽しくなってしまいました。そのくらい本当に直感的な操作だけでニューラルネットワークを設計することができました。
次回の人工知能のコードをハックする会は…
次回の人工知能のコードをハックする会では、チーム制のワークショップ形式でNeural Network Consoleを使ってディープなニューラルネットワークを実装します。
ちなみに、イベントの内容は「今年に入ってから機械学習の勉強をスタートして、基本的な理論とPythonでの簡単な実装ならできるかな・・・」という私でもなんとかついていけるレベルです。
オライリーから出版されているディープラーニングの入門書『ゼロから作るDeep Learning ――Pythonで学ぶディープラーニングの理論と実装』の内容がだいたい理解できていれば、問題なくついてこられると思われます。次回実装する予定のディープなニューラルネットワークは、この本の第8章に載っています。「ディープラーニングの勉強とかほとんどしたことないけど、イベントに参加したい!」という方も、この本の内容を勉強してから参加すれば大丈夫です!!!
次回の参加申し込みはコチラから。
これから人工知能の勉強をスタートしたい方、ぜひ参加をお待ちしております!