SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
NodeでDeep Learning
Feb 26, 2014
佐々木 海(Kai Sasaki)
自己紹介
佐々木 海(@Lewuathe)
Node歴 2年
社内PaaS
mailとかPush通知とか
Tessel買った
Deep Learning?
Deep Learning?
機械学習アルゴリズムの一つ
Deep Learning?
機械学習アルゴリズムの一つ
ニューラルネットワーク
Deep Learning?
機械学習アルゴリズムの一つ
ニューラルネットワーク
ここ数年コンテストなどで良い成績
は!?
Newron
入力
計算

入力
計算

入力

出力
これをモデル化
計算

入力

出力
計算
計算

犬だ!
万能近似器
実装しました
n42
まず入力データを用意
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]!
モデルを作成する
// 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);
訓練させる
// 第2,3層を訓練!
// 学習率,ノイズレベル, 最適化回数!
sda.pretrain(0.3, 0.01, 1000);!
!

// 出力層を訓練!
// 学習率, 最適化回数!
sda.finetune(0.3, 50);
予測させる
// 予測用のテストデータ!
var data = $M([!
[1.0, 1.0, 0.0, 0.0],!
[0.0, 0.0, 1.0, 1.0]!
]);!
!

var answer = sda.predict(data)
答え
[0.999999, 1.026438e-7]!
~ [1.0, 0.0]!
!

[4.672230e-28, 1]
~ [0.0, 1.0]

!
つまり
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]!
つまり
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]
]);
考察
おそい
おそい

Pythonでの同じ実装と
10倍の差
精度が不十分
精度が不十分

桁

れを簡単に起こして
NaNが発生
まとめ

✕ NodeでDeep Learningは厳しい
○ 実装がつかみやすい
是非読んでみてください
Thank you

Contenu connexe

Plus de Kai Sasaki

Plus de Kai Sasaki (20)

Graviton 2で実現する
コスト効率のよいCDP基盤
Graviton 2で実現する
コスト効率のよいCDP基盤Graviton 2で実現する
コスト効率のよいCDP基盤
Graviton 2で実現する
コスト効率のよいCDP基盤
 
Infrastructure for auto scaling distributed system
Infrastructure for auto scaling distributed systemInfrastructure for auto scaling distributed system
Infrastructure for auto scaling distributed system
 
Continuous Optimization for Distributed BigData Analysis
Continuous Optimization for Distributed BigData AnalysisContinuous Optimization for Distributed BigData Analysis
Continuous Optimization for Distributed BigData Analysis
 
Recent Changes and Challenges for Future Presto
Recent Changes and Challenges for Future PrestoRecent Changes and Challenges for Future Presto
Recent Changes and Challenges for Future Presto
 
Real World Storage in Treasure Data
Real World Storage in Treasure DataReal World Storage in Treasure Data
Real World Storage in Treasure Data
 
20180522 infra autoscaling_system
20180522 infra autoscaling_system20180522 infra autoscaling_system
20180522 infra autoscaling_system
 
User Defined Partitioning on PlazmaDB
User Defined Partitioning on PlazmaDBUser Defined Partitioning on PlazmaDB
User Defined Partitioning on PlazmaDB
 
Deep dive into deeplearn.js
Deep dive into deeplearn.jsDeep dive into deeplearn.js
Deep dive into deeplearn.js
 
Optimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageOptimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud Storage
 
Presto updates to 0.178
Presto updates to 0.178Presto updates to 0.178
Presto updates to 0.178
 
How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case
 
Managing multi tenant resource toward Hive 2.0
Managing multi tenant resource toward Hive 2.0Managing multi tenant resource toward Hive 2.0
Managing multi tenant resource toward Hive 2.0
 
Embulk makes Japan visible
Embulk makes Japan visibleEmbulk makes Japan visible
Embulk makes Japan visible
 
Maintainable cloud architecture_of_hadoop
Maintainable cloud architecture_of_hadoopMaintainable cloud architecture_of_hadoop
Maintainable cloud architecture_of_hadoop
 
図でわかるHDFS Erasure Coding
図でわかるHDFS Erasure Coding図でわかるHDFS Erasure Coding
図でわかるHDFS Erasure Coding
 
Spark MLlib code reading ~optimization~
Spark MLlib code reading ~optimization~Spark MLlib code reading ~optimization~
Spark MLlib code reading ~optimization~
 
How I tried MADE
How I tried MADEHow I tried MADE
How I tried MADE
 
Reading kernel org
Reading kernel orgReading kernel org
Reading kernel org
 
Reading drill
Reading drillReading drill
Reading drill
 
Kernel ext4
Kernel ext4Kernel ext4
Kernel ext4
 

Dernier

Dernier (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Deeplearning with node