人工知能のコードをハックする会とは?
株式会社LABBIZの代表・神谷亮平さんが主催する「人工知能のコードをハックする会」は、SONYの「Neural Network Console」を題材にパターン認識や機械学習のオープンソースのソースコードを読んだり、実際にニューラルネットワークを実装してみたりして、人工知能をハックしよう! というイベントです。
Neural Network Consoleとは、ドラッグ&ドロップでニューラルネットワークの設計・学習・評価ができるWindowsのGUIアプリケーションです。学習・評価の履歴管理やパラメータの自動探索なんかもできてしまう優れモノ…!
前回は、Neural Network Consoleの環境設定方法や使い方を勉強し、実際にサンプルデータを使って動かしたりしてみました。詳しく知りたい人は前回のレポート記事や前回の資料を読んでみてください!
ディープなネットワーク作りに挑戦!
今回は、オライリーの「ゼロから作るDeep Learning ――Pythonで学ぶディープラーニングの理論と実装」の第8章を参考にし、ニューラルネットワークの実装に挑戦します。
私自身も前回のイベント後にNeural Network Consoleを触ってみて、確かになにかしらの動くものを作ることは簡単にでき、まさに私のような機械学習の勉強を始めた人たちにとって、題材としてすごく面白いツールだなあ〜と思いました。とはいえ、使い方を取得したばかりで、ニューラルネットワークを実装するのはかなりハードルが高いのでは…? と少々不安な気持ちで臨みました。
でも、もしニューラルネットワークが実装できたらかっこいいな〜! とワクワクしながら、神谷さんがどんなことを教えてくれるのか期待していると…
神谷さん
副読本をお持ちの方は、第8章を開いてください。今回は、この第8章で紹介されている手書き数字の認識を行うDeepConvNetというニューラルネットワーク(本書内の独自のネットワーク)を実装していきます。ネットワークの構成図が本に載っているので、これを参考にしてください。
それでは、グループにわかれて始めてください!
ranran
えっ?! いきなり…ですか?!
不安はさらに増しました。
DeepConvNetの構成図を見ながらドラッグ&ドロップ
いきなりのグループワーク開始に私は困惑しながらも、2グループに分かれて実装に取り掛かります。
DeepConvNetの構成図を見ながら、ポチポチとコンポーネントリストから関数ブロックを選んで繋いでいきます。
ranran
あれ、これなら私でも余裕でできる…!
私は大学2年生のときに小学生向けのプログラミングスクールのインストラクターのアルバイトをしたことがあるのですが、そのときにビジュアル言語を使ってプログラムを作っていた小学生たちを彷彿させるような…そんな作業でした。いや、もうまもなく小学生でもニューラルネットワークが実装できてしまう時代が来てもおかしくないのかもしれません。
ここまでは両チームとも順調に進みました。
DeepConvNetのソースコードを見ながらパラメータを入力
神谷さん
ネットワークの全てのコンポーネントの配置を終えたら、次はソースコードを見ながらパラメータを設定していってください。
Github上にアップされているソースコードはこんな感じ。想像以上にパラメータが分かりやすくて驚きました。これをカタカタと入力し、設定していきました。
各グループでソースコードを解読していく中で、参加者同士で「このパラメータはどれですかね?」と教えあううちにだんだん空気が和んでいき、普段の仕事の話やこれからしたいことなど語り合ったりするくらいにまで盛り上がり、終始とても楽しい雰囲気でした。
そして、両グループとも(MacBook Airで挑戦していたチームは学習にかなり時間がかかっていましたが…)無事、Neural Network Consoleの手書き数字のデータセットで学習から評価までを行うことができました!
参加者からの感想
今回はグループでニューラルネットワークの実装に取り組めたので、とても分かりやすかったです。ソースコードのパラメータで対応するものが分かりづらくて戸惑ったりもしましたが、すごく丁寧に教えてもらえて勉強になりました。Neural Network Consoleの使い方をマスターできるように頑張りたいと思っています。
AIエンジニアの仕事に興味があり、技術的なことを勉強してみたいという気持ちが以前からあり、また実際に神谷さんのようにAIを開発するスキルを持っているエンジニアさんのお話を聞いてみたいと思い参加しました。
Neural Network Consoleを触ってみて、人工知能の勉強を始めるツールとしてはとても面白いなあと思いました。でも、中身を理解するにはまだまだ勉強が必要なんだということもわかりました。
次回の人工知能のコードをハックする会は?
グループでニューラルネットワークの実装に取り組んだということもあり、前回以上に盛り上がった印象でした。
Neural Network Consoleを動かしながらソースコードを読むことで理解度がUPしたことはもちろん、実際に動くものができることで達成感も味わうことができました。ディープなネットワークを作るのはさすがに厳しいだろう…と始めは不安でしたが、参加者の方々の力も借りることでなんとかついていくことができました。
また、前回以上に参加者の方々からいろんなお話を聞けたのもすごく楽しかったし、勉強になりました。
そして、次回「人工知能のコードをハックする会」は大幅にボリュームUPしての開催!「ソニーのNeural Network Console大勉強会~何ができる?どう使う?開発者に質問しよう!」と題して、Neural Network Consoleの開発元のソニーネットワークコミュニケーションズ株式会社と共同で開催します!
イベントの詳細と参加の申し込みはこちらのページをご覧ください。人工知能のコードをハックしたい方、AIエンジニアと交流したい方、Neural Network Consoleをマスターしたい方はぜひ参加をご検討ください!