ソニーのGUIディープラーニング、Neural Network Consoleのハンズオンに参加してきました。
https://connpass.com/event/91526/
Contents
Neural Network Consoleとは?
https://dl.sony.com/ja/
Neural Network Consoleはニューラルネットワークを直感的に設計でき、学習・評価を快適に実現するディープラーニング・ツール。グラフィカルユーザーインターフェイスによる直感的な操作で、ディープラーニングをはじめましょう。
Windows版とクラウド版が用意されていて、基本無料(一定以上から従量制)で使用できる素晴らしいツールです。GUIの軽快な動作もあいまって、「こんなかんたんに始められるの?」と不安になるほどです。
ハンズオン
こちらのスライドを参考に進めていきます。
ディープラーニングの基礎知識
構造:入力値 ー 中間値 ー 出力値
間に複数の関数を挟み込むことで、人間の脳の機能をシミュレーションする
・ミニバッチ勾配降下法
学習データを用いたWの更新方法 ニューラルネットワークでは、乱数で初期化したパラメータWをミニバッチ勾配降下法 (Mini-Batch Gradient Descent)で最適化するのが一般的
ロス(間違い)を最小化する手法
セットアップ
クラウド版は、アカウントを作成してログインするだけ。非常に簡単ですね。
https://dl.sony.com/ja/cloud/
データセットの準備
手書きの数字認識のデータセットが用意されていました。
学習用データ:手書き文字の画像と、その回答(csv)がまとめられたデータです。学習に用います。
評価用データ:手書き文字+その回答のデータで、学習用データと同等の構成になりますが、こちらは学習には用いず評価のためだけに使用します(理由として、同じ画像だと丸暗記で把握できてしまうようなので、学習用以外のデータが必要となります)
csvデータは、一行目がヘッダとなり
二行目以降に、画像データの位置や、正解のデータ等を記載します。
データセットの用意ができたら、ダッシュボードのUpload Datasetからアップします。
新規プロジェクト
Consoleから、新規プロジェクトを作成
データセット読み込み
学習用・評価用それぞれを、DATASETタブから読み込み
関数ブロック組み合わせ
EDITタブから、関数ブロックを組み合わせていきます。グラフィカルでとても分かりやすいですね。
学習の実行
PLAYボタンを押すと、学習が始まります。計算が完了した部分からグラフの描画も始まります。
こんなに簡単に機械学習ができてしまうことにビックリですね。
評価の実行
EVALUTINタブから、評価を実行します。
複数階層の計算
関数ブロックを複数段組み合わせることで、より精度の高い計算が期待できます。
ただし、計算の回数が増加していくので、計算完了までの時間は長くなります。
また、闇雲に組み合わせると、むしろ精度が下がってしまうこともあるようですね。このあたりはノウハウを蓄積していく必要があります。
扱えるデータ
基本的にはCSVで渡すのが良さそうです。画像、ベクトルデータ、音声データ、テキストデータ等も、CSV化することで対応できるようです。
活用方法
Neural Network Consoleは、サービス等へ組み込んでの使用も許諾されています。そのためのコードも、比較的簡単に取得できる仕組みが用意されています。ありがたいですね。
感想
GUIの簡単操作で、ディープラーニングを可能とするNeural Network Console。様々な用途で活用できそうですね。
本格的なディープラーニングを勉強する前に、関数の役割等を把握する、といった用途でも役立ちそうです。
概要
Neural Network Consoleはソニー社の提供するニューラルネットワークを直感的に設計でき、学習・評価を快適に実現するディープラーニング・ツールです。今後ますます注目の集まるAI/ディープラーニングを習得したいと考えるエンジニアにぜひ使っていただきたいソフトウェアです。
今回のハンズオンではNeural Network Consoleの開発者である小林氏を講師に招き、Neural Network Console自体の紹介と、それを体験するハンズオンを実施します。
ハンズオンの流れ
Deep Learning入門の復習
ソニーのDeep Learningツール Neural Network Console
サンプルプロジェクトで学ぶ基本操作
画像データを用いた実習
ベクトルデータを用いた実習
より性能の高いニューラルネットワークの設計テクニック紹介
推論の実行(デモンストレーション)