Neural Network Consoleによるディープラーニング

1ディープラーニング とは

2

3

動画視聴
• 動画視聴ニューラルネットワークコンソール（NNC）を開発したソニーの小林さんの講義動画です。
– ディープラーニングとは？１（38:32）• 人工知能の歴史とディープラーニング– ディープラーニングとは？２（27:19）• SONYにおけるAIへの取り組み• ディープラーニングを用いたAI開発のポイント

è 講義ではニューラルネットワークコンソールを使って分析演習を実施
3

Neural Network Consoleに触れてみる

45

第8回講義内容
ディープラーニングで解く問題：手書き文字の「4」と「9」を見分ける• すでに準備されている手書き文字画像の「4」と「9」の見分ける問題• シンプルなモデルを使ってNeural Network
Consoleの使い方を一通り(データの学習から予測)までやってみる．

5

演習

Neural Network Consoleクラウド版にサインイン
Chromeブラウザを起動し、Neural Network ConsoleのWebからクラウドにサインイン。
1.“dl.sony.com/ja/”にアクセス

または2. “サインイン”をクリック

6

演習

Neural Network Consoleクラウド版にサインイン
Chromeブラウザを起動し、Neural Network ConsoleのWebからクラウドにサインイン。

２．認証に利用するGoogleアカウント
をクリック
Abcde
abcde@tcu.ac.jp

Abcde Fghijk

1.“Google”をクリック

7

Neural Network Consoleクラウド版にサインイン「ダッシュボード」が表示される「プロジェクト」
をクリック

8

演習

演習

サンプルプロジェクトを選択
サンプルとして用意された画像認識のプロジェクトを選択

1. “Sample Project”をクリック

2. “画像認識”をクリック
3. 左上にある”tutrial.basics.01_logistic_regression“の“Cloudで開く”をクリック
9

演習

サンプルプロジェクトを開く
プロジェクト名を指定し開く。

2. 作成されたプロジェ
クトをクリック

1. 半角英数字でプロジェクト名を入力
し”OK”をクリック

10

演習

ネットワーク編集画面の確認
ネットワークの編集画面が表示されることを確認。

11

神経細胞

今回利用する学習モデルの構成28
28
入力層000100y…

120.012𝑦 = 𝑓 & 𝑤𝑖x𝑖 + b

信号の調整
信号から⼆つのクラスのどちらに近いか計算
1: 9, 0: 4...

0

人工ニューロン

信号の重み付け

1x1

0x2

0x300

演習補足資料

レイヤー説明：Input
ネットワーク全体の入力層にあたるレイヤーである。
パラメータとして入力データのサイズを入力する必要がある。

指定したデータサイズと入力データのサイズが合わない場合、学習時にエラーが発生する。
データサイズの例
RGB画像

表データ
入力サイズ： 100

白黒画像

入力サイズ： (3, 256, 128)

個人属性情報 100カラム

入力サイズ： (1, 28, 28)

予測値
購入
頻度

ID

性別

年齢

居住地

収入

00001

男性

20代

東京

700万

高00002

男性

30代

埼玉

600万

低00003

女性

20代

東京

300万

中

00004

女性

10代

東京

NA中00005

男性

20代

千葉

400万高・・・

28256

2812813セットアップ

データセット
準備ネットワーク
作成

学習

評価

構造自動探索推論

演習補足資料

レイヤー説明：Affine
入力層の全ての値を用いた線形変換を行うレイヤーである。
Outputのサイズを任意に指定でき、レイヤーのサイズを自在に調整できる。
Outputの各セルはInputの全ての値が入力値として利用される。

1次元→1次元の例

Input

𝒚 = 𝑾𝒙 + 𝒃

2次元→2次元の例

OutputInput
14

Outputセットアップ

データセット
準備ネットワーク
作成

学習

評価

構造自動探索推論

演習

データセット設定画面の確認設定されているサンプルデータセットの確認。

1.”DATASET”をクリック

15

演習補足資料

データセットの説明

0～9の手書き文字画像から数字を判別する。ハンズオンでは4と9のみをピックアップしている。
アメリカ国勢調査局が収集した手書き文字データから、数字を抽出したデータ(MNIST)である。

MNISTデータセット（手書き数字認識）

入力

出力

28

28

“０”

“１”

16

演習

学習の実行”Run”をクリックするとクラウド上の計算用インスタンスが起動し学習を開始。

1. ”Run”をクリックし学習を実行

17

演習

学習結果の表示と評価の実行
学習結果が表示されることを確認し、評価を行うため再度”Run”をクリック。

2. “Run”をクリックし評価を実行
1. 学習結果が表示されることを確認

18

演習

結果の確認
個々の画像の識別結果や作成されたモデルの識別精度の結果を確認。
y: 正解データ（「４」なら０、「９」なら１）yʼ︓予測（0~1の数値）

2. 混同行列（ConfusionMatrix）をクリックし結果の詳細を確認?.???
?.???
?.???

1. 個々の画像の識別結果の確認?.???

再現率
適合率

どんな手書き文字を間違えやすいのかな？
19

演習

CNNの実装④レイヤーの●間をマウスでドラッグして接続する．
接続を消したい場合は、消したい接続をクリックして選択し、右上の「アクション」ボタンから「削除」を選択する．

②[ASB]のセットをマウスでドラッグして「Input」と「Affine」の間に隙間を作る⑤ネットワークができたら、編集で「実⾏」è評価で「実⾏」
è 混同行列[Confusion Matrix]で精度を確認
学習

評価
20

追加

③左の「Components」の検索窓に「Convolution」、「MaxPooling」等と⼊⼒して、レイヤーをダブルクリック
右図のようになるよう配置していく．

①[ASB]の周りをドラッグで選択

追加

Convolution層とAffine-ReLU層を「Input」と「Affine」の間に挿⼊してCNNを実装してみる．

おまけ

CNNのパラメタの変更

Convolution層とAffine-ReLU層の組み合わせとConvolutionのパラメータ(OutMaps, KernelShape)及び、Affineのサイズを変更し、試⾏錯誤することができる。

C
各レイヤー Aをクリックすると左下に設定されているパラメタが表⽰されます。
Convolution• Convolution層の数• Convolutionのパラメータ(OutMaps, KernelShape)

Affine• Affine-ReLU層の数• Affineのサイズ

学習21

評価※前回の履歴も⾃動的に残るので、精度を⽐較してみてください