playgroundでディープラーニングを勉強しよう
TRANSCRIPT
AITCオープンラボ
Playground でディープラーニングを
勉強しよう2017年1月26日
富士通 吉田、井沢
TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.
1
はじめに
• TensorFlow Playgroundを使用して
ニューラルネットワークの仕組みをしましょう
URL: http://playground.tensorflow.org/
Classification問題とは?例:Gaussian
• 二次元座標(X1,X2) を1.0(青)か-1.0(赤)に分類する
-6.0≦X1,X2≦6.0
• 訓練データ500個:
平均2.0、分散0.5の正規分布で(X1,X2)を250個決めて青
平均-2.0、分散0.5の正規分布で(X1,X2)を250個決め赤
• 学習データ:訓練データからランダムに選んだ250個
• テストデータ:訓練データの残り
• ニューラルネットの出力値:-1.0~1.0の連続値
• 誤差:出力が0.8で正解が1.0ならば(1.0-0.8)2=0.04
ノードの可視化について
ノードの可視化について
• ノードの背景は、学習データやテストデータとはまったく無関係に、
逐次以下のように表示している。
[-6.0,6.0] ✕[-6.0,6.0]の全領域を100✕100に分割した10000座標
に対して
各座標をネットワークの入力とした時の各ノードの値-1.0~1.0に合わせて、
その座標位置に青色~赤のグラデーション色を表示
ただしDiscretize outputのチェックボックスがチェックされていたら、
グラデーション色を使用せず、値の正/負で濃いオレンジ/濃い空色で表示
全体レイアウト
分類/回帰
入力層/中間層/出力層入力層/中間層/出力層入力層/中間層/出力層入力層/中間層/出力層
活性化関数
例題
パーセプトロン①(Gaussian)
①Gaussian選択
②x1とx2を選択
③隠れ層をすべて削除
④活性化関数はなんでもOK⑤学習開始
線形分離可能問題は隠れ層がいらない
パーセプトロン②(Exclusive or)
①Exclusive or選択
線形分離不可能問題は2層では解けない
CircleやSpiralも試してみよう
特徴量の選択(Exclusive or)
②X1X2を選択
①Exclusive or選択
入力層に適切な特徴量を使えば2層でも解ける
DeepLeaning(Exclusive or)
②隠れ層を4個、2個追加①Exclusive or選択
隠れ層が特徴量を発見する 活性化関数Linearでは駄目
DeepLeaning(Spiral①)
入力にありったけの特徴量を使えば隠れ1層でも
1. TensorFlow Playground(その他機能)
入力層/中間層/出力層入力層/中間層/出力層入力層/中間層/出力層②入力層/中間層/出力層
STEP実行
ノイズ率
反復回数
学習率 正則化 正則率
訓練データ/イテレーション
付録
TensorFlow Playgroundをローカル起動する。
• ローカルで動かす
• git clone https://github.com/tensorflow/playground.git
• cd playground
• npm install
• npm run serve
• ブラウザで http://localhost:8080/ にアクセス