Deeplearning with node

5,333 views

Published on

Slide used on Tokyo Node academy no.11

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,333
On SlideShare
0
From Embeds
0
Number of Embeds
1,822
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Deeplearning with node

  1. 1. NodeでDeep Learning Feb 26, 2014 佐々木 海(Kai Sasaki)
  2. 2. 自己紹介 佐々木 海(@Lewuathe) Node歴 2年 社内PaaS mailとかPush通知とか Tessel買った
  3. 3. Deep Learning?
  4. 4. Deep Learning? 機械学習アルゴリズムの一つ
  5. 5. Deep Learning? 機械学習アルゴリズムの一つ ニューラルネットワーク
  6. 6. Deep Learning? 機械学習アルゴリズムの一つ ニューラルネットワーク ここ数年コンテストなどで良い成績
  7. 7. は!?
  8. 8. Newron
  9. 9. 入力
  10. 10. 計算 入力
  11. 11. 計算 入力 出力
  12. 12. これをモデル化
  13. 13. 計算 入力 出力
  14. 14. 計算
  15. 15. 計算 犬だ!
  16. 16. 万能近似器
  17. 17. 実装しました
  18. 18. n42
  19. 19. まず入力データを用意 var input [1.0, [1.0, [1.0, [0.0, [0.0, [0.0, ]); = $M([! 1.0, 0.0, 1.0, 0.2, 0.9, 0.1, 0.0, 0.0, 0.0, 0.8, 0.0, 1.0, 0.0],! 0.0],! 0.0],! 1.0],! 1.0],! 1.0]!
  20. 20. 次に教師データを用意 var label [1.0, [1.0, [1.0, [0.0, [0.0, [0.0, ]); = $M([! 0.0],! 0.0],! 0.0],! 1.0],! 1.0],! 1.0]!
  21. 21. モデルを作成する // n42をrequireする! var n42 = require(‘n42');! ! // Stacked Denoised Autoencoder! // を作成する! // 入力4次元,第2,3層3次元,出力2次元! var sda = new n42.SdA(input, label, 4, [3, 3], 2);
  22. 22. 訓練させる // 第2,3層を訓練! // 学習率,ノイズレベル, 最適化回数! sda.pretrain(0.3, 0.01, 1000);! ! // 出力層を訓練! // 学習率, 最適化回数! sda.finetune(0.3, 50);
  23. 23. 予測させる // 予測用のテストデータ! var data = $M([! [1.0, 1.0, 0.0, 0.0],! [0.0, 0.0, 1.0, 1.0]! ]);! ! var answer = sda.predict(data)
  24. 24. 答え [0.999999, 1.026438e-7]! ~ [1.0, 0.0]! ! [4.672230e-28, 1] ~ [0.0, 1.0] !
  25. 25. つまり var input [1.0, [1.0, [1.0, [0.0, [0.0, [0.0, ]); = $M([! 1.0, 0.0, 1.0, 0.2, 0.9, 0.1, 0.0, 0.0, 0.0, 0.8, 0.0, 1.0, 0.0],! 0.0],! 0.0],! 1.0],! 1.0],! 1.0]! 学習 var label [1.0, [1.0, [1.0, [0.0, [0.0, [0.0, ]); = $M([! 0.0],! 0.0],! 0.0],! 1.0],! 1.0],! 1.0]!
  26. 26. つまり var input [1.0, [1.0, [1.0, [0.0, [0.0, [0.0, ]); = $M([! 1.0, 0.0, 1.0, 0.2, 0.9, 0.1, 0.0, 0.0, 0.0, 0.8, 0.0, 1.0, 0.0],! 0.0],! 0.0],! 1.0],! 1.0],! 1.0]! var data = $M([! [1.0, 1.0, 0.0, 0.0],! [0.0, 0.0, 1.0, 1.0]! ]); 学習 予測 var label [1.0, [1.0, [1.0, [0.0, [0.0, [0.0, ]); = $M([! 0.0],! 0.0],! 0.0],! 1.0],! 1.0],! 1.0]! var answer = $M([! [0.99, 1.03e-7]! [4.67e-28, 1] ]);
  27. 27. 考察
  28. 28. おそい
  29. 29. おそい Pythonでの同じ実装と 10倍の差
  30. 30. 精度が不十分
  31. 31. 精度が不十分 桁 れを簡単に起こして NaNが発生
  32. 32. まとめ ✕ NodeでDeep Learningは厳しい ○ 実装がつかみやすい
  33. 33. 是非読んでみてください
  34. 34. Thank you

×