SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
   で頑張る深層学習
Tokyo.R#57
2016-09-24
@kashitan
• xgboostの開発元であるdmlcが開発した
Deep Learning Framework
• C++, Scala, Python, R, Juliaなど様々な
インタフェースがある
• CPU/GPUの切り替えが容易
• 複数コア/複数ノードで分散処理が可能
• 多層パーセプトロン
• 畳み込みニューラルネットワーク
• 多層パーセプトロン
• 畳み込みニューラルネットワーク
多層パーセプトロン
• パーセプトロンを複数の層に配置させ
⼊⼒層に与えられた値を伝播させてい
くネットワーク
・
・
・
・
⼊⼒層 中間層 出⼒層
x1
x2
xn
y2
y1
多層パーセプトロン
• irisデータでやってみる
Sepal.

Length
Sepal.

Width
Petal.

Length
Petal.

Width
Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
sepal
petal
setosa, versicolor, virginicaの各品種に50行ずつあるデータセット
多層パーセプトロン
• 学習⽤と検証⽤にデータを分割
> data(iris)
> # 奇数⾏を学習⽤データ、偶数⾏を検証⽤データとする
> train.ind <- seq(1, nrow(iris), 2)
>
> train.x <- data.matrix(iris[train.ind, 1:4])
> train.y <- as.numeric(iris[train.ind, 5]) - 1
> test.x <- data.matrix(iris[-train.ind, 1:4])
> test.y <- as.numeric(iris[-train.ind, 5]) - 1
> table(train.y)
train.y
0 1 2
25 25 25
多層パーセプトロン
• パッケージのロードとログの設定
> library(mxnet)
>
> # mxnetでランダムプロセスをコントロールするための関数
> mx.set.seed(0)
>
> # 学習および検証時の誤差を後で使うためのリファレンスクラス
> logger <- mx.metric.logger$new()
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
中間層のユニット数
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
出⼒層のユニット数
今回は3class分類なので
3を指定
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
活性化関数
今回はReLUを指定
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
誤差関数
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
学習回数
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
1回の学習で
使⽤する
学習データ数
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
学習率
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
モーメンタム
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
評価⽅法
回帰の場合はRMSEなど
多層パーセプトロン
• モデル作成
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = 6,
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
学習毎に実⾏する関数
多層パーセプトロン
• モデル作成結果
Start training with 1 devices
[1] Train-accuracy=0.38
[1] Validation-accuracy=0.333333333333333
[2] Train-accuracy=0.333333333333333
[2] Validation-accuracy=0.333333333333333
[3] Train-accuracy=0.333333333333333
[3] Validation-accuracy=0.333333333333333
(中略)
[199] Train-accuracy=0.96
[199] Validation-accuracy=0.96
[200] Train-accuracy=0.986666666666667
[200] Validation-accuracy=0.96
多層パーセプトロン
• 学習毎の精度をプロット
> library(dplyr)
> library(plotly)
> data.frame(epoc = seq(1, 200, 1),
+ train = logger$train, test = logger$eval) %>%
+ plot_ly(
+ x = epoc, y = train,
+ type = "scatter", mode = "lines", name = "train"
+ ) %>%
+ add_trace(
+ x = epoc, y = test,
+ type = "scatter", mode = "lines", name = "test"
+ ) %>%
+ layout(yaxis = list(title = "accuracy"))
多層パーセプトロン
• 学習毎の精度をプロット
多層パーセプトロン
• モデルを検証⽤データに当てはめ
> # 検証⽤データに当てはめ
> preds <- predict(model, test.x)
> head(t(preds))
[,1] [,2] [,3]
[1,] 0.9999290 7.107238e-05 1.109092e-12
[2,] 0.9997237 2.762006e-04 1.440176e-11
[3,] 0.9999521 4.790557e-05 6.202604e-13
[4,] 0.9999722 2.779509e-05 1.976960e-13
[5,] 0.9999521 4.791964e-05 5.282145e-13
[6,] 0.9998796 1.204296e-04 3.145415e-12
多層パーセプトロン
• 混合⾏列/精度の確認
> # 最も確率が⾼い列を予測した品種とする
> pred.label <- max.col(t(preds)) - 1
> # 混合⾏列をプロット
> library(caret)
> confusionMatrix(pred.label, test.y)
Confusion Matrix and Statistics
Reference
Prediction 0 1 2
0 25 0 0
1 0 24 2
2 0 1 23
多層パーセプトロン
• 計算グラフの描画
> graph.viz(model$symbol$as.json())
⼊⼒層
中間層
活性化関数
出⼒層
尤度関数
多層パーセプトロン
• 2層にしてみる
> model <- mx.mlp(
+ train.x, train.y,
+ eval.data = list(data = test.x, label = test.y),
+ hidden_node = c(6, 6),
+ out_node = 3,
+ activation = "relu",
+ out_activation = "softmax",
+ num.round = 200,
+ array.batch.size = 25,
+ learning.rate = 0.07,
+ momentum = 0.9,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(5, logger)
多層パーセプトロン
• 計算グラフの描画
> graph.viz(model$symbol$as.json())
中間層が2層に
増えている
多層パーセプトロン
• 学習毎の精度をプロット
多層パーセプトロン
• 混合⾏列/精度の確認
> confusionMatrix(pred.label, test.y)
Confusion Matrix and Statistics
Reference
Prediction 0 1 2
0 25 0 0
1 0 25 25
2 0 0 0
Overall Statistics
Accuracy : 0.6667
95% CI : (0.5483, 0.7714)
多層パーセプトロン
• オッカムの剃⼑
“Pluralitas non est ponenda sine
neccesitate. Frustra fit per plura
quod potest fieri per pauciora.”
必要が無いなら多くのものを定⽴

してはならない。少数の論理でよい
場合は多数の論理を定⽴してはなら
ない。
• 多層パーセプトロン
• 畳み込みニューラルネットワーク
畳み込みニューラルネットワーク
• ⼈の視覚野にある受容野をモデル化
• 以下の層から構成される
• 畳み込み層
• プーリング層
• 全結合層
• 出⼒層
畳み込みニューラルネットワーク
• 畳み込み層とプーリング層は複数回

繰り返す
• 全結合層も何層か繰り返し深い層を

形成
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdfより抜粋
畳み込みニューラルネットワーク
• 詳しくは以下の神スライドを参照
http://www.slideshare.net/matsukenbook/ss-50545587
畳み込みニューラルネットワーク
• MNISTデータでやってみる
• 0〜9までの数字の⼿書き⽂字
• 学習⽤データ 6万件
• 検証⽤データ 1万件
畳み込みニューラルネットワーク
• LeNet-5を可能なかぎり再現してみる
畳み込みニューラルネットワーク
• MNISTデータのダウンロード
http://yann.lecun.com/exdb/mnist/
畳み込みニューラルネットワーク
• バイナリデータを読み込む関数をロード
https://gist.github.com/brendano/39760
畳み込みニューラルネットワーク
• データの読み込み
> # MNISTデータの読み込み
> load_mnist()
>
> # 28x28(=784)のレコードが60000個
> dim(train$x)
[1] 60000 784
>
畳み込みニューラルネットワーク
• 次元の変換とプロット
> # mx.symbol.Convolutionで処理できる4次元配列に変換
> train.x <- t(train$x)
> dim(train.x) <- c(28, 28, 1, 60000)
>
> test.x <- t(test$x)
> dim(test.x) <- c(28, 28, 1, 10000)
>
> # 1⽂字⽬をプロット
> library(plotly)
> plot_ly(z=train.x[, , 1, 1], colorscale = "Greys", type = "heatmap")
畳み込みニューラルネットワーク
• 次元の変換とプロット
畳み込みニューラルネットワーク
• ⼊⼒層とC1, S2の定義
> library(mxnet)
> input <- mx.symbol.Variable('data')
>
> # C1
> c1 <- mx.symbol.Convolution(
+ data = input, kernel = c(5, 5), num_filter = 6)
> a1 <- mx.symbol.Activation(data = c1, act_type = "tanh")
>
> # S2
> s2 <- mx.symbol.Pooling(
+ data = a1, pool_type = "max", kernel = c(2, 2))
畳み込みニューラルネットワーク
• ⼊⼒層とC1, S2の定義
> library(mxnet)
> input <- mx.symbol.Variable('data')
>
> # C1
> c1 <- mx.symbol.Convolution(
+ data = input, kernel = c(5, 5), num_filter = 6)
> a1 <- mx.symbol.Activation(data = c1, act_type = "tanh")
>
> # S2
> s2 <- mx.symbol.Pooling(
+ data = a1, pool_type = "max", kernel = c(2, 2))
フィルタのサイズ
畳み込みニューラルネットワーク
• ⼊⼒層とC1, S2の定義
> library(mxnet)
> input <- mx.symbol.Variable('data')
>
> # C1
> c1 <- mx.symbol.Convolution(
+ data = input, kernel = c(5, 5), num_filter = 6)
> a1 <- mx.symbol.Activation(data = c1, act_type = "tanh")
>
> # S2
> s2 <- mx.symbol.Pooling(
+ data = a1, pool_type = "max", kernel = c(2, 2))
フィルタの数
畳み込みニューラルネットワーク
• ⼊⼒層とC1, S2の定義
> library(mxnet)
> input <- mx.symbol.Variable('data')
>
> # C1
> c1 <- mx.symbol.Convolution(
+ data = input, kernel = c(5, 5), num_filter = 6)
> a1 <- mx.symbol.Activation(data = c1, act_type = "tanh")
>
> # S2
> s2 <- mx.symbol.Pooling(
+ data = a1, pool_type = "max", kernel = c(2, 2))
活性化関数
畳み込みニューラルネットワーク
• ⼊⼒層とC1, S2の定義
> library(mxnet)
> input <- mx.symbol.Variable('data')
>
> # C1
> c1 <- mx.symbol.Convolution(
+ data = input, kernel = c(5, 5), num_filter = 6)
> a1 <- mx.symbol.Activation(data = c1, act_type = "tanh")
>
> # S2
> s2 <- mx.symbol.Pooling(
+ data = a1, pool_type = "max", kernel = c(2, 2))
プーリングのタイプ
畳み込みニューラルネットワーク
• ⼊⼒層とC1, S2の定義
> library(mxnet)
> input <- mx.symbol.Variable('data')
>
> # C1
> c1 <- mx.symbol.Convolution(
+ data = input, kernel = c(5, 5), num_filter = 6)
> a1 <- mx.symbol.Activation(data = c1, act_type = "tanh")
>
> # S2
> s2 <- mx.symbol.Pooling(
+ data = a1, pool_type = "max", kernel = c(2, 2))
フィルタのサイズ
畳み込みニューラルネットワーク
• C3, S4, C5の定義
> # C3
> c3 <- mx.symbol.Convolution(
+ data = s2, kernel = c(5, 5), num_filter = 16)
> a2 <- mx.symbol.Activation(data = c3, act_type = "tanh")
>
> # S4
> s4 <- mx.symbol.Pooling(
+ data = a2, pool_type = "max", kernel = c(2, 2))
>
> # C5
> c5 <- mx.symbol.Flatten(data = s4)
畳み込みニューラルネットワーク
• F6, OUTPUT, 損失関数の定義
> # F6
> f6 <- mx.symbol.FullyConnected(data = c5, num_hidden = 84)
> a3 <- mx.symbol.Activation(data = f6, act_type = "tanh")
>
> # Output
> output <- mx.symbol.FullyConnected(data = a3, num_hidden = 10)
>
> # loss
> lenet <- mx.symbol.SoftmaxOutput(data = output)
畳み込みニューラルネットワーク
• ネットワークモデルの学習
> model <- mx.model.FeedForward.create(
+ lenet,
+ X = train.x,
+ y = train$y,
+ ctx = mx.gpu(),
+ num.round = 20,
+ array.batch.size = 1000,
+ learning.rate = 0.05,
+ momentum = 0.9,
+ wd = 0.00001,
+ eval.metric = mx.metric.accuracy,
+ epoch.end.callback = mx.callback.log.train.metric(100)
+ )
畳み込みニューラルネットワーク
• 学習毎の精度をプロット
> data.frame(epoc = 1:20,
+ train = logger$train,
+ test = logger$eval) %>%
+ plot_ly(
+ x = epoc, y = train,
+ type = "scatter", mode = "lines", name = "train") %>%
+ add_trace(
+ x = epoc, y = test,
+ type = "scatter", mode = "lines", name = "test") %>%
+ layout(yaxis = list(title = "accuracy"))
畳み込みニューラルネットワーク
• 学習毎の精度をプロット
畳み込みニューラルネットワーク
• 混合⾏列/精度の確認
> confusionMatrix(pred.label, test$y)
Confusion Matrix and Statistics
Reference
Prediction 0 1 2 3 4 5 6 7 8 9
0 970 0 1 0 0 2 5 0 5 3
1 0 1126 2 0 0 0 2 1 0 2
2 3 1 1020 1 1 0 1 4 3 0
3 0 1 0 997 0 7 1 2 3 4
4 1 0 3 0 971 0 2 0 2 13
5 0 0 0 5 0 876 2 0 2 2
6 2 2 1 0 2 4 943 0 1 0
7 1 2 4 5 3 1 0 1019 6 10
畳み込みニューラルネットワーク
• 計算グラフの描画
> graph.viz(model$symbol$as.json())
まとめ
で でも

深層学習が捗る!
参考
•MXNet R Package - mxnet 0.7.0
documentation
•Deep Learningライブラリ{mxnet}のR版で
Convolutional Neural Networkをサクッと
試してみた(追記3件あり)
•Deep Learningライブラリ「MXNet」のR版
をKaggle Otto Challengeで実践してみた
•Mxnetで回帰 #TokyoR 53th
mxnetで頑張る深層学習

Mais conteúdo relacionado

Mais procurados

GPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてGPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてYuya Unno
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Yasutomo Kawanishi
 
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料Kenta Oono
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習Motoya Wakiyama
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"Ken'ichi Matsui
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装Ryosuke Okuta
 
Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)Seiya Tokui
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Ohsawa Goodfellow
 
Stochastic Gradient MCMC
Stochastic Gradient MCMCStochastic Gradient MCMC
Stochastic Gradient MCMCKenta Oono
 
深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待Seiya Tokui
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep LearningTadaichiro Nakano
 
Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能Ryosuke Okuta
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要Toshihiro Kamishima
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJun-ya Norimatsu
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分けるKazuaki Tanida
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装Shinya Akiba
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowTadaichiro Nakano
 

Mais procurados (20)

GPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてGPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装について
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
 
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
 
Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
 
Stochastic Gradient MCMC
Stochastic Gradient MCMCStochastic Gradient MCMC
Stochastic Gradient MCMC
 
深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能
 
Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
 
More modern gpu
More modern gpuMore modern gpu
More modern gpu
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分ける
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlow
 

Semelhante a mxnetで頑張る深層学習

AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版ありますAI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版ありますfukuoka.ex
 
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」fukuoka.ex
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mclMITSUNARI Shigeo
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageTaku Miyakawa
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメHideyuki Takeuchi
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep LearningSatoshi imai
 
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理keki3
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話terurou
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
 
JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編陽平 山口
 
Nds meetup8 lt
Nds meetup8 ltNds meetup8 lt
Nds meetup8 ltushiboy
 
Inspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter TuningInspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter Tuningnagachika t
 
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会Koichi Sakata
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発Mitsuru Katoh
 

Semelhante a mxnetで頑張る深層学習 (20)

AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版ありますAI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
 
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
 
20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
Introduction to Spock
Introduction to SpockIntroduction to Spock
Introduction to Spock
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
 
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
MoteMote Compiler Plugin
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
 
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
 
JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編
 
Nds meetup8 lt
Nds meetup8 ltNds meetup8 lt
Nds meetup8 lt
 
Inspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter TuningInspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter Tuning
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 

Mais de Takashi Kitano

好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜Takashi Kitano
 
{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発Tips{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発TipsTakashi Kitano
 
令和から本気出す
令和から本気出す令和から本気出す
令和から本気出すTakashi Kitano
 
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver){tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)Takashi Kitano
 
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析Takashi Kitano
 
{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析Takashi Kitano
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門Takashi Kitano
 
可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜Takashi Kitano
 
Rによるウイスキー分析
Rによるウイスキー分析Rによるウイスキー分析
Rによるウイスキー分析Takashi Kitano
 
20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開ver20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開verTakashi Kitano
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyorTakashi Kitano
 
lubridateパッケージ入門
lubridateパッケージ入門lubridateパッケージ入門
lubridateパッケージ入門Takashi Kitano
 
Google's r style guideのすゝめ
Google's r style guideのすゝめGoogle's r style guideのすゝめ
Google's r style guideのすゝめTakashi Kitano
 

Mais de Takashi Kitano (15)

好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
 
{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発Tips{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発Tips
 
令和から本気出す
令和から本気出す令和から本気出す
令和から本気出す
 
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver){tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
 
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
 
{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜
 
Rによるウイスキー分析
Rによるウイスキー分析Rによるウイスキー分析
Rによるウイスキー分析
 
20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開ver20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開ver
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor
 
lubridateパッケージ入門
lubridateパッケージ入門lubridateパッケージ入門
lubridateパッケージ入門
 
20150329 tokyo r47
20150329 tokyo r4720150329 tokyo r47
20150329 tokyo r47
 
20140920 tokyo r43
20140920 tokyo r4320140920 tokyo r43
20140920 tokyo r43
 
Google's r style guideのすゝめ
Google's r style guideのすゝめGoogle's r style guideのすゝめ
Google's r style guideのすゝめ
 

mxnetで頑張る深層学習