Enviar pesquisa
Carregar
Deep learning入門
•
5 gostaram
•
3,694 visualizações
magoroku Yamamoto
Seguir
deep learning,theano
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 67
Baixar agora
Baixar para ler offline
Recomendados
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
Taiji Suzuki
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
Deep Learning JP
ELBO型VAEのダメなところ
ELBO型VAEのダメなところ
KCS Keio Computer Society
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Deep Learning JP
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Yoshitaka Ushiku
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習
Plot Hong
Recomendados
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
Taiji Suzuki
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
Deep Learning JP
ELBO型VAEのダメなところ
ELBO型VAEのダメなところ
KCS Keio Computer Society
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Deep Learning JP
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Yoshitaka Ushiku
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習
Plot Hong
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
Yasunori Ozaki
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
Deep Learning JP
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learning
Yusuke Uchida
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
Masahiro Suzuki
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験
myxymyxomatosis
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Yoshitaka Ushiku
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
Deep Learning JP
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
cvpaper. challenge
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
Deep Learning JP
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting
Deep Learning JP
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
Deep Learning JP
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
Masahiro Suzuki
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
Kazuki Maeno
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
Deep Learning JP
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Yusuke Nakata
生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
Taiji Suzuki
波形で見るBig.little
波形で見るBig.little
magoroku Yamamoto
一般向けのDeep Learning
一般向けのDeep Learning
Preferred Networks
Mais conteúdo relacionado
Mais procurados
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
Yasunori Ozaki
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
Deep Learning JP
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learning
Yusuke Uchida
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
Masahiro Suzuki
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験
myxymyxomatosis
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Yoshitaka Ushiku
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
Deep Learning JP
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
cvpaper. challenge
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
Deep Learning JP
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting
Deep Learning JP
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
Deep Learning JP
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
Masahiro Suzuki
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
Kazuki Maeno
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
Deep Learning JP
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Yusuke Nakata
生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
Taiji Suzuki
Mais procurados
(20)
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learning
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
生成モデルの Deep Learning
生成モデルの Deep Learning
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
Destaque
波形で見るBig.little
波形で見るBig.little
magoroku Yamamoto
一般向けのDeep Learning
一般向けのDeep Learning
Preferred Networks
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
magoroku Yamamoto
Deep Learningの基礎と応用
Deep Learningの基礎と応用
Seiya Tokui
ディープラーニングの最新動向
ディープラーニングの最新動向
Preferred Networks
Chain of Responsibility
Chain of Responsibility
Yoshiori Shoji
オープンデータとLinked Open Data(LOD)
オープンデータとLinked Open Data(LOD)
Kouji Kozaki
ctypes拡張モジュール
ctypes拡張モジュール
Moriyoshi Koizumi
Oscar compiler for power reduction
Oscar compiler for power reduction
magoroku Yamamoto
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
magoroku Yamamoto
UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -
Tomonori Takata
V6 unix in okinawa
V6 unix in okinawa
magoroku Yamamoto
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Tomonori Takada
Android binder-ipc
Android binder-ipc
magoroku Yamamoto
Android ipm 20110409
Android ipm 20110409
Tetsuyuki Kobayashi
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
Kimikazu Kato
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
Junya Yamaguchi
がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!
Shushi Namba
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
Takanobu Mizuta
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
Naoji Taniguchi
Destaque
(20)
波形で見るBig.little
波形で見るBig.little
一般向けのDeep Learning
一般向けのDeep Learning
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
Deep Learningの基礎と応用
Deep Learningの基礎と応用
ディープラーニングの最新動向
ディープラーニングの最新動向
Chain of Responsibility
Chain of Responsibility
オープンデータとLinked Open Data(LOD)
オープンデータとLinked Open Data(LOD)
ctypes拡張モジュール
ctypes拡張モジュール
Oscar compiler for power reduction
Oscar compiler for power reduction
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -
V6 unix in okinawa
V6 unix in okinawa
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Android binder-ipc
Android binder-ipc
Android ipm 20110409
Android ipm 20110409
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
Semelhante a Deep learning入門
bigdata2012ml okanohara
bigdata2012ml okanohara
Preferred Networks
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
Kensuke Otsuki
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
Zansa
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
ディープラーニング基礎.pptx
ディープラーニング基礎.pptx
norimatsu5
6 Info Theory
6 Info Theory
melvincabatuan
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
Hidekazu Oiwa
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
ryuhmd
NN, CNN, and Image Analysis
NN, CNN, and Image Analysis
Yuki Shimada
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
Wataru Shito
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
Hirotaka Hachiya
Dive into XGBoost.pdf
Dive into XGBoost.pdf
Yuuji Hiramatsu
機械学習 入門
機械学習 入門
Hayato Maki
0728 論文紹介第三回
0728 論文紹介第三回
Kohei Wakamatsu
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習
Hirotaka Hachiya
1017 論文紹介第四回
1017 論文紹介第四回
Kohei Wakamatsu
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdf
Takuya Minagawa
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
Akihiro Nitta
機械学習の理論と実践
機械学習の理論と実践
Preferred Networks
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Yuya Unno
Semelhante a Deep learning入門
(20)
bigdata2012ml okanohara
bigdata2012ml okanohara
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
ディープラーニング基礎.pptx
ディープラーニング基礎.pptx
6 Info Theory
6 Info Theory
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
NN, CNN, and Image Analysis
NN, CNN, and Image Analysis
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
Dive into XGBoost.pdf
Dive into XGBoost.pdf
機械学習 入門
機械学習 入門
0728 論文紹介第三回
0728 論文紹介第三回
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習
1017 論文紹介第四回
1017 論文紹介第四回
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdf
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
機械学習の理論と実践
機械学習の理論と実践
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Mais de magoroku Yamamoto
仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
magoroku Yamamoto
V6 unix vol.2 in okinawa
V6 unix vol.2 in okinawa
magoroku Yamamoto
Adk2012
Adk2012
magoroku Yamamoto
ぐだ生システム#2
ぐだ生システム#2
magoroku Yamamoto
ぐだ生って何
ぐだ生って何
magoroku Yamamoto
Android builders summit slide tour
Android builders summit slide tour
magoroku Yamamoto
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
magoroku Yamamoto
Poorman’s adk トレーナ
Poorman’s adk トレーナ
magoroku Yamamoto
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
Poormans sdk
Poormans sdk
magoroku Yamamoto
Ngk2011 b
Ngk2011 b
magoroku Yamamoto
オレオレ家電
オレオレ家電
magoroku Yamamoto
V6read#4
V6read#4
magoroku Yamamoto
V6read#3
V6read#3
magoroku Yamamoto
Unixファイルシステムの歴史
Unixファイルシステムの歴史
magoroku Yamamoto
Pdp11 on-fpga
Pdp11 on-fpga
magoroku Yamamoto
V6read#2
V6read#2
magoroku Yamamoto
Androidの入力システム
Androidの入力システム
magoroku Yamamoto
ぐだ生システム再構成4
ぐだ生システム再構成4
magoroku Yamamoto
20分で理解する仮想記憶
20分で理解する仮想記憶
magoroku Yamamoto
Mais de magoroku Yamamoto
(20)
仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
V6 unix vol.2 in okinawa
V6 unix vol.2 in okinawa
Adk2012
Adk2012
ぐだ生システム#2
ぐだ生システム#2
ぐだ生って何
ぐだ生って何
Android builders summit slide tour
Android builders summit slide tour
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
Poorman’s adk トレーナ
Poorman’s adk トレーナ
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
Poormans sdk
Poormans sdk
Ngk2011 b
Ngk2011 b
オレオレ家電
オレオレ家電
V6read#4
V6read#4
V6read#3
V6read#3
Unixファイルシステムの歴史
Unixファイルシステムの歴史
Pdp11 on-fpga
Pdp11 on-fpga
V6read#2
V6read#2
Androidの入力システム
Androidの入力システム
ぐだ生システム再構成4
ぐだ生システム再構成4
20分で理解する仮想記憶
20分で理解する仮想記憶
Deep learning入門
1.
Deep Learning 入門 Logistic
Regression Multilayer perceptron Convolutional Network @magoroku15 2015/12/18 1
2.
Deep Learning • 1990年代に死んだと思われていたNNが2012年 以降、Deep
Learningとして復活 • 各分野のコンベンションで優勝 – 画像認識 – 音声認識 – 化合物の活性予測 • 主要学会で話題に – ICML(機械学習)、ACL(自然言語)、CVPR(画像処理) – 2015はHotChips(アーキテクチャ)でもチュートリアル 2015/12/18 2
3.
DNNによる音声認識の誤答率 hotchips2015 2015/12/18 3
4.
ビジネスでも • MS、Googleが音声認識をDNNで置き換え • Googleが買った企業 –
DNNresearch Inc • ブームの火付け役トロント大Hinton教授が創立 – DeepMind Technologies: • レトロゲームのルールを学習するDQN(Deep Q-Network)を開発 • BaiduはStanfordのAndrew Ng准教授をリクルート – 顔認識のエラー率:Microsoftは3.67%、Facebookは1.63%、 Googleは0.37%に対してBaiduは0.15% • クラウド上にPaaS等も登場 2015/12/18 4
5.
機械学習 ニューラルネット 誤解も • 機械学習、ニューラルネット、ディープニュー ラルネット、ディープラーニング違いは? • 世の中が騒いでいるのは –
ディープニューラルネット =ディープラーニング – 機械学習の他の分野にブレークスルーは無い ディープニューラルネット =ディープラーニング 2015/12/18 5
6.
一躍、自動運転の基本技術に • 同一のアルゴリズム+タグ付けで、多種のモノを認識(学習) • 認識できない物!は 1.
車から画像を回収して 2. サーバで学習・タグ付して 3. 車の学習データを更新 • 計算量は非対称 2015/12/18 6
7.
画像認識での成果 • ImageNet large-scale
visual recognition challenge (ILSVRC) 2012 – 1000種類の物体画像識別のコンベンション – トロント大(Hinton教授)が圧勝 – エラー率が一気に10%以上向上 • ILSVRC2014のimage例 http://www.image-net.org/challenges/LSVRC/2014/index#introduction2015/12/18 7
8.
DLアルゴリズム入門 • Web,書籍による解析主には次の2種類 – 数学を背景にした原理・アルゴリズムを説明するもの •
大学教養レベルの数学+αの知識が必要 • 式変形のすべてを理解するのは(数か月では)厳しい – 利用分野、今後の期待を説明するもの • 表層的に説明に留まり、どの事業ドメインの使えるかわからない 例)音声・画像認識で大きな成果⇒他は?何に使えるの? • ここでは、DLの入門として以下を試みる – 手書き文字認識(MNIST)を例題に基本アルゴリズムを理解 – 数学的な説明を資料内ですべて完結(できる範囲で) – 最初は、単純な1層のNNを対象 - Logistic Regression – 続いて、2層のNN - Multilayer perceptron – 最後に、物体認識で使われるConvolutio Neural Network 2015/12/18 8
9.
Deep Learningのレイヤ caffe pylearn2 theano Digits Chainer DNN Feedforward Neural
Network, Stochastic Gradient Descent, Backpropagation, Autoencoder, Convolutional Neural Network, Reccurrent Neural Network, Boltzmann machine 数学的背景 大学教養レベルの微積分、行列、ベイズ理論 教科書:“Pattern Recognition and Machine Learning” (パターン認識と機械学習 - ベイズ理論による統計的予測) Pycaffe MATLAB PFIUCB Univ. of Montreal Nvidia C++ Torch7 Lua アルゴリズムフレームワーク Amazon ML Azure ML Google Prediction API クラウド EC2 with GPU Deep Learning非対応 Tensor flow Google 2015/12/18 9
10.
Deep Learning Tutorials •
Université de Montréal - Lisa Labが以下で公開 git@github.com:lisa-lab/DeepLearningTutorials.git http://deeplearning.net/tutorial • 古典的なNN,DNNからCNNまで各種論理・技法を解説 – Python + theanoで記述 – 各種学習アルゴリズム • 教師あり3種、教師なし4種、その他5種 • 教師あり3種を題材に説明 1. Logistic Regression - using Theano for something 2. Multilayer perceptron - introduction to layers 3. Deep Convolutional Network - a simplified version of LeNet5 2015/12/18 10
11.
教師付き学習の例題 1. Logistic Regression
- using Theano for something – 1段:単純パーセプトロン、確率的勾配降下法 2. Multilayer perceptron - introduction to layers – 2段:線形分離問題、誤差逆伝達法 3. Deep Convolutional Network - a simplified version of LeNet5 – 多段:汎化性向上のための畳み込み • すべて同じ数字認識(MNIST)問題を扱う • 高速化の各種実装もあわせて理解する – 繰り返し処理を行列積(sgemm)演算で置き換え • refBLAS,OpenBlas, ATLAS, cuBLAS(NVIDIA) – CNNの畳み込み演算はストライド転送+演算 • cuDNN(NVIDIA) 2015/12/18 11
12.
教師付き学習(MNIST )と誤答率 • 入門用向けの例題 1.
Logistic Regression - using Theano for something simple 1950年代 2. Multilayer perceptron - introduction to layers 1980年代 3. Deep Convolutional Network - a simplified version of LeNet5 2010年代* 0 2 4 6 8 10 12 14 1 40 79 118 157 196 235 274 313 352 391 430 469 508 547 586 625 664 703 742 781 820 859 898 937 976 Logistic Regression Multilayer perceptron Deep Conventional Network minibatch 誤答率 1.7% 0.91% 7.5% 多層(deep)化で 誤答率が大幅に 下がる *1979年に福島邦彦氏が発表したネオコグニトロンの再発明 Deep Learning Tutorials の 例題で実測 2015/12/18 12
13.
数字認識(MNIST) • 28x28ピクセル,256諧調の手書き数字 • 60000枚の学習サンプル •
1000枚のテストサンプル 28 x 28 ピクセル 256諧調 2015/12/18 13
14.
学習と推定 学習: 大量のトレーニングデータを学習器に入力し、推定用のパラメタを得る 推定: 新規のデータにパラメタを適用して文字の確率を推定 トレーニングデータ 学習器 パラメタ パラメタ 0.05 ’0’である確率 0.40 ‘1’である確率 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05
’9’である確率 IN OUT IN OUT 学習 推定 2015/12/18 14
15.
推定の仕組み • 画像認識の学習の理解に先立って、推定の仕 組みを理解する • 推定は推定対象画像とパラメタとの演算に帰結 するので、深いDNNでも最終段の仕組みは同じ •
違いは以下 – 学習・推定データの空間を歪めて、分離を良くする – 学習推定の対象をデータの「部分」とする – 学習パラメタを「ボカス」 2015/12/18 15
16.
パラメタW,bを用いた推定 2個の「画像」を重ねる 各「点」を掛け算て足すと Wの明るい点とxの黒い点が重なると加点 Wの暗い点とxの黒い点が重なると減点 𝑊 𝑥 +
𝑏 = 確率 784行1列10行784列 10行1列10行1列 0.05 入力画像が’0’である確率 0.40 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05 入力画像が’9’である確率 2015/12/18 16
17.
パラメタの𝑊意味 – 数値 2015/12/18
17 赤を踏んだら減点 黒を踏んだら加点
18.
2015/12/18 18
19.
仕組み 784次元 10次元 0.05 ’0’である確率 0.40 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05
’9’である確率 28ピクセル • 784次元から10次元への写像・次元圧縮 2015/12/18 28枚 19
20.
写像・次元圧縮 - 行列の積 •
N行M列 と M行L列 の積は N行L列 784行1列10行784列 10行1列 • 784次元から10次元への写像・次元圧縮 2015/12/18 20
21.
行列の積 • N行M列 と
M行L列 の積は N行L列 • 2行2列 と 2行2列 の積は2行2列 𝑎 𝑏 𝑐 𝑑 x 𝑒 𝑓 𝑔 ℎ = 𝑎𝑒 + 𝑏𝑔 𝑎𝑓 + 𝑏ℎ 𝑐𝑒 + 𝑑𝑔 𝑐𝑓 + 𝑑ℎ • 2行3列 と 3行2列 の積は2行2列 𝑎1 𝑎2 𝑎3 𝑏1 𝑏2 𝑏3 x 𝑐1 𝑑1 𝑐2 𝑑2 𝑐3 𝑑3 = 𝑎1 𝑐1 + 𝑎2 𝑐2 + 𝑎3 𝑐3 𝑎1 𝑑1 + 𝑎2 𝑑2 + 𝑎3 𝑑3 𝑏1 𝑐1 + 𝑏2 𝑐2 + 𝑏3 𝑐3 𝑏1 𝑑1 + 𝑏2 𝑑2 + 𝑏3 𝑑3 • 2行3列 と 3行1列 の積は2行1列 𝑎1 𝑎2 𝑎3 𝑏1 𝑏2 𝑏3 x 𝑐1 𝑐2 𝑐3 = 𝑎1 𝑐1 + 𝑎2 𝑐2 + 𝑎3 𝑐3 𝑏1 𝑐1 + 𝑏2 𝑐2 + 𝑏3 𝑐3 2015/12/18 21 忘れてしまったあなたのために追加
22.
パラメタの𝑊意味 Wの明るい点とxの黒い点が重なり、かつ、 Wの暗い点とxの黒い点が重ならない ⇒大きな値 ⇒’1’の可能性が高い W x Wの明るい点とxの黒い点が重なりが少な ⇒小さな値 ⇒’9’の可能性は低い Wに含まれる‘1’の学習データとxを掛け算 Wに含まれる‘1’の学習データとxを掛け算 2015/12/18 22
23.
LOGISTIC REGRESSION 単純パーセプトロン 2015/12/18 23
24.
Logistic Regression • 入門用向けの例題 1.
Logistic Regression - using Theano for something simple 1950年代 2. Multilayer perceptron - introduction to layers 1980年代 3. Deep Convolutional Network - a simplified version of LeNet5 2010年代* 0 2 4 6 8 10 12 14 1 40 79 118 157 196 235 274 313 352 391 430 469 508 547 586 625 664 703 742 781 820 859 898 937 976 Logistic Regression Multilayer perceptron Deep Conventional Network minibatch 誤答率 1.7% 0.91% 7.5% *1979年に福島邦彦氏が発表したネオコグニトロンの再発明 2015/12/18 24 最初はこれ 1960年代
25.
単純パーセプトロン • 1層のネットワーク、単純パーセプトロンを Logistic Regressionで解く過程を追う •
以下の順で説明する – モデル Model – 損失関数 Loss Function – アルゴリズム • 確率的勾配降下法 DGD:Stochastic Gradient Descent 2015/12/18 25
26.
モデル 𝑊は重み付けの行列、𝑏はバイアスのベクトル 𝑥は入力ベクトル(トレーニングデータ) 𝑖, 𝑗はクラス(‘0’~’9’の10種を表す) 𝑃 𝑦
= 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖になる確率が 最大となるようなW,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) 2015/12/18 26
27.
モデル-確率の表現 𝑊は重み付けの行列(2次元配列) 𝑏はバイアスのベクトル(配列) 𝑃 𝑦 =
𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる W,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) ベイズの定理での表記𝑃(𝑌│𝑋)は、 事象Xが起きた前提で事象Yが起こる確率の事 ⇒ベクトル𝑥、重み付けW、バイアスbの時に クラスiがyとなる確率 2015/12/18 27
28.
モデル-softmax 𝑊は重み付けの行列(2次元配列) 𝑏はバイアスのベクトル(配列) 𝑃 𝑦 =
𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる W,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) softmax関数は、sigmoid関数の多変量版 多変量ロジスティック回帰や多クラスのフィードフォアワード型の ニューラルネットの活性化関数として利用される. 2015/12/18 28
29.
モデル-sigmoid 𝑊は重み付けの行列(2次元配列) 𝑏はバイアスのベクトル(縦配列) 𝑃 𝑦 =
𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる W,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) シグモイド関数の多変量版 多変量ロジスティック回帰や多クラスのフィードフォアワード型の ニューラルネットの活性化関数として利用される. シグモイド関数は生物の神経細胞が持つ性質をモデル化したもの 1 1 + 𝑒−𝑥 0か1かの2分割判別につかうモデル 今回は多値(0-9)なのでsoftmaxを使う 2015/12/18 29
30.
モデル-softmax 𝑊は重み付けの行列(2次元配列) 𝑏はバイアスのベクトル(配列) 𝑃 𝑦 =
𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる W,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) eは自然対数の底 eを底とする指数関数はその導関数と等しくなる 𝑑 𝑑𝑥 𝑒 𝑥 = 𝑒 𝑥 ⇒微分が簡単!2015/12/18 30
31.
モデル – softmax
- Σ 𝑊は重み付けの行列(2次元配列) 𝑏はバイアスのベクトル(配列) 𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる W,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) すべての事象の内,特定の事象の割合(確率)を求める 𝑓 𝑖 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 のとき iを1~4を与える場合 𝑓 1 +𝑓 2 +𝑓 3 +𝑓(4) 𝑓 1 +𝑓 2 +𝑓 3 +𝑓(4) =1 、すべての事象の発生確率の合計は1 i=1の発生確率は 、 𝑓 1 𝑓 1 +𝑓 2 +𝑓 3 +𝑓(4) 0.05 入力画像が’0’である確率 0.40 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05 入力画像が’9’である確率 -------------------------------------------- 1.00 合計 2015/12/18 31
32.
モデル – softmax
理想値 • パラメタ算出時は理想値を置く W x + b = 確率 784行1列10行784列 10行1列 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 --------- 1.00 10行1列 入力が’1’の場合の理想値 2015/12/18 32
33.
モデル 𝑊は重み付けの行列(2次元配列) 𝑏はバイアスのベクトル(配列) 𝑃 𝑦 =
𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる W,bを求める 𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏) 𝑎𝑟𝑔𝑚𝑎𝑥 𝑓(𝑥): 𝑓(𝑥) を最大にする𝑥の集合 クラスiの発生確率を最大にする𝑥, 𝑊, 𝑏を求めろ 2015/12/18 33
34.
negative log-likelihood • Likelihood –
尤度関数(ゆうどかんすう)とは統計学において、ある前 提条件に従って結果が出現する場合に、逆に観察結果 からみて前提条件が「何々であった」と推測する尤もらし さ(もっともらしさ)を表す数値を、「何々」を変数とする関 数として捉えたものである。また単に尤度ともいう。 wikipedia 2015/12/18 34
35.
単純パーセプトロン • 1層のネットワーク、単純パーセプトロンを Logistic Regressionで解く過程を追う •
以下の順で説明する – モデル Model – 損失関数 Loss Function – アルゴリズム • 確率的勾配降下法 DGD:Stochastic Gradient Descent 2015/12/18 35
36.
損失関数 学習の結果は損失関数を用いて最適化する 多値分類のロジステック回帰では 負の対数尤度関数を用いることが多い 𝐿 𝜃 =
𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖 𝑥 𝑖 , 𝑊, 𝑏)) |𝐷| 𝑖=0 最小化問題にしたいから対数尤度関数に-1をかけ て最小化する事を考える。 𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷) 2015/12/18 36
37.
損失関数 学習の結果は損失関数を用いて最適化する 多値分類のロジステック回帰では 負の対数尤度関数を用いることが多い 𝐿 𝜃 =
𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖 𝑥 𝑖 , 𝑊, 𝑏)) |𝐷| 𝑖=0 最小化問題にしたいから対数尤度関数に-1をかけ て最小化する事を考える。 𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷) 𝐷は学習データの集合 カードの束 シャッフルしてカードを1枚引く 引いたカードの𝑖𝑛𝑑𝑒𝑥が𝑖(0,1,2 … ) W, b が与えられたとき、カードの束Dのそれぞれのカードが が正しく推定される確率 2015/12/18 37
38.
損失関数 学習の結果は損失関数を用いて最適化する 多値分類のロジステック回帰では 負の対数尤度関数を用いることが多い 𝐿 𝜃 =
𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖 𝑥 𝑖 , 𝑊, 𝑏)) |𝐷| 𝑖=0 最小化問題にしたいから対数尤度関数に-1をかけ て最小化する事を考える。 𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷) 𝐷 カードの束 のそれぞれをW, b で推定した確からしさを 𝑙𝑜𝑔(確からしさ)として値を加算する 𝑙𝑜𝑔の加算なので、乗算を意味 確からしさの乗算なので同時確率 2015/12/18 38
39.
損失関数 log(𝑃𝑖) |𝐷| 𝑖=0 • 各カードの正解確率をlogして加算 –
log(0.40) + log(0.40) + log(0.40) ・・・・ log(0.30) – Logを取ると乗算と同じ意味 • 正解確率の乗算結果は、同時確率の意味 • 乗算は扱いにくいので対数にして、加算 i=0 0.05 0.40 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05 i=1 0.05 0.15 0.05 0.05 0.15 0.05 0.05 0.40 0.05 0.05 i=2 0.05 0.15 0.05 0.05 0.15 0.05 0.05 0.40 0.05 0.05 i=j 0.30 0.15 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05 ….. 0.40 x 0.40 x 0.40 ・・・・・ 0.30 データを増やすと…やっかい 2015/12/18 39
40.
損失関数 学習の結果は損失関数を用いて最適化する 多値分類のロジステック回帰では 負の対数尤度関数を用いることが多い 𝐿 𝜃 =
𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖 𝑥 𝑖 , 𝑊, 𝑏)) |𝐷| 𝑖=0 最小化問題にしたいから対数尤度関数に-1をかけ て最小化する事を考える。 𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷) 2015/12/18 40
41.
単純パーセプトロン • 1層のネットワーク、単純パーセプトロンを Logistic Regressionで解く過程を追う •
以下の順で説明する – モデル Model – 損失関数 Loss Function – アルゴリズム • 確率的勾配降下法 SGD:Stochastic Gradient Descent 2015/12/18 41
42.
確率的勾配降下法 (SGD:Stochastic Gradient Descent) •
ランダムに学習データを1つ選んで誤差関数を計算し,その 勾配方向にパラメータを修正する操作を反復する • モデル 𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑒 𝑊𝑖 𝑥+𝑏 𝑖 𝑒 𝑊 𝑗 𝑥+𝑏 𝑗 𝑗 • 誤差関数 𝑁𝐿𝐿 𝜃 = 𝑊, 𝑏 , 𝐷 = − log(𝑃 𝑌 = 𝑦 𝑖 𝑥 𝑖 , 𝑊, 𝑏)) |𝐷| 𝑖=0 集合𝐷の同時発生確率を最大にする 2015/12/18 42
43.
最急降下法と確率的勾配降下法 • 𝜃を引数とする𝑓 𝜃
の値を最小化したい • 最急降下法 𝜃 𝑖+1 = 𝜃 𝑖 − 𝜂 𝜕 𝜕𝜃 𝑓(𝜃 𝑖 ) • 確率的勾配降下法 𝜃 𝑖+1 = 𝜃 𝑖 − 𝜂 𝜕 𝜕𝜃 𝑓 𝜃 𝑖 (𝑥 𝑛) – 収束させるにはη を適切に設定する – 局所的な参照のためメモリ効率が良い 2015/12/18 43
44.
Theanoでの解法 • 同時発生確率を誤差関数costとして定義 – 加算の代わりに平均meanを使用 •
costを𝑊, 𝑏で偏微分T.grad, 𝜕 𝜕𝜃 相当 • 学習率learnig_rateで減衰させながら更新 2015/12/18 def negative_log_likelihood(self, y): return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y]) cost = classifier.negative_log_likelihood(y) g_W = T.grad(cost=cost, wrt=classifier.W) g_b = T.grad(cost=cost, wrt=classifier.b) updates = [(classifier.W, classifier.W - learning_rate * g_W), (classifier.b, classifier.b - learning_rate * g_b)] 44
45.
エラー率が7.5%で打 ち切り 73世代 600x83x73= 3635400画像(延数) Batchあたり600画像x 83バッチ 動かしてみる • ドキュメント – http://deeplearning.net/tutorial/logreg.html#logreg •
ソースコード – https://github.com/lisa-lab/DeepLearningTutorials $ python logistic_sgd.py ... loading data ... building the model ... training the model epoch 1, minibatch 83/83, validation error 12.458333 % epoch 1, minibatch 83/83, test error of best model 12.375000 % : epoch 73, minibatch 83/83, validation error 7.500000 % epoch 73, minibatch 83/83, test error of best model 7.489583 % 1世代 73世代 2015/12/18 45
46.
MULTILAYER PERCEPTRON 多層化 2015/12/18 46
47.
Multilayer perceptron • 入門用向けの例題 1.
Logistic Regression - using Theano for something simple 1950年代 2. Multilayer perceptron - introduction to layers 1980年代 3. Deep Convolutional Network - a simplified version of LeNet5 2010年代* 0 2 4 6 8 10 12 14 1 40 79 118 157 196 235 274 313 352 391 430 469 508 547 586 625 664 703 742 781 820 859 898 937 976 Logistic Regression Multilayer perceptron Deep Conventional Network minibatch 誤答率 1.7% 0.91% 7.5% *1979年に福島邦彦氏が発表したネオコグニトロンの再発明 Theanoの例題で実測 2015/12/18 47 次はこれ 1990年代
48.
Multilayer perceptron • 1層モデルと同じくMNISTを例題にして、多層 (2層以上)のNNの原理と効果について説明 •
モデル – 線形分離問題 – 誤差逆伝達法 • その他テクニックは簡単な紹介のみ – パラメタの初期 – 正則化 2015/12/18 48
49.
モデル • 𝑓 𝑥
= 𝐺 𝑏 2 + 𝑊 2 𝑠 𝑏 1 + 𝑊 1 𝑥 • ロジステック回帰の前段に一層追加した場合を例に説明 • Layerの追加で誤答率が7%から1.69%へ大きく改善 0.05 0.40 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05 𝑊1 𝑏1 𝑊2 𝑏2 ‘1’ ロジステック回帰の例題今回追加 2015/12/18 49
50.
隠れ層の役割 𝑓 𝑥 =
𝐺 𝑏 2 + 𝑊 2 𝑠 𝑏 1 + 𝑊 1 𝑥 • 隠れ層:𝑠 𝑏 1 + 𝑊 1 𝑥 • 線形分離不可問題に効果がある – 空間を曲げる、次元変換 – 空間を行列演算で曲げ、平面で分離する • どうやって? http://sinhrks.hatenablog.com/entry/2014/11/30/192940 2015/12/18 50
51.
Back propagation -
誤差逆伝播法 • 出力層から入力層側への学習 • 2層分のパラメタをまとめて学習 𝜃 = 𝑊 2 , 𝑏 2 , 𝑊 1 , 𝑏 1 . – SGDと同様に𝑊 2 , 𝑏 2 誤差最小の値を計算 – 誤差が𝑊 1 , 𝑏 1 から生じたとして𝑊 1 , 𝑏 1 を更 新 • フレームワークが処理してくれるので意味と 目的が理解できればよい 2015/12/18 51
52.
Theanoでの2層分の偏微分 • 損失関数 cost
を、パラメータ HiddenLayer.W, HiddenLayer.b, LogisticRegression.W, LogisticRegression.bそれぞれで偏微分した偏 導関数を求めておく • パラメータごとに勾配計算 / 更新 𝜃 = 𝑊 2 , 𝑏 2 , 𝑊 1 , 𝑏 1 を 𝜕𝑙 𝜕𝜃 class HiddenLayer self.params = [self.W, self.b] class LogisticRegression self.params = [self.W, self.b] self.params = self.hiddenLayer.params + self.logRegressionLayer.params gparams = [T.grad(cost, param) for param in classifier.params] 2015/12/18 52
53.
隠れ層の可視化 Epoc:0 Epoc:828 http://sinhrks.hatenablog.com/entry/2014/11/30/085119 •隠れ層からの出力データ 500
次元に主成分分析をかけて 2次元に写像 •ランダムサンプリングした 300 レコードを描画 2015/12/18 53
54.
‘8’と’6’の分離 • Epoc:0 Epoc:828 http://sinhrks.hatenablog.com/entry/2014/11/30/0851192015/12/18 54
55.
DEEP CONVOLUTIONAL NETWORK 2015/12/18
55
56.
Convolutional Network • 3つの入門用向け例題 1.
Logistic Regression - using Theano for something simple 2. Multilayer perceptron - introduction to layers 3. Deep Convolutional Network - a simplified version of LeNet5 0 2 4 6 8 10 12 14 1 40 79 118 157 196 235 274 313 352 391 430 469 508 547 586 625 664 703 742 781 820 859 898 937 976 Logistic Regression Multilayer perceptron Deep Conventional Network minibatch 誤答率 1.7% 0.91% 7.5% 56 最後はこれ 2012年
57.
Multi Layer Perceptronを拡張 𝑓
𝑥 = 𝐺 𝑏 2 + 𝑊 2 𝑠 𝑏 1 + 𝑊 1 𝑥 s s s s s G G G s 0.05 0.40 0.05 0.05 0.15 0.05 0.05 0.15 0.05 0.05 𝑊1 𝑏1 𝑊2 𝑏2 ‘1’ 𝑤1 入力層 - 隠れ層の間で適用される係数行列 𝑏1 入力層 - 隠れ層の間で適用される重みベクトル 𝑠 隠れ層の活性化関数 𝑤2 隠れ層 - 出力層の間で適用される係数行列 = ロジスティック回帰の係数行列 𝑏2 隠れ層 - 出力層の間で適用される重みベクトル = ロジスティック回帰の重みベクトル 𝐺 出力層の活性化関数。多クラスの場合はソフトマックス関数 入力層 隠れ層 出力層 Convolutional と maxpooling を 追加 57
58.
convolutional_mlp.pyのモデル • convolution 濃淡構造をフィルタで抽出 •
maxpooling 位置感度を低下させる layer0 = LeNetConvPoolLayer( rng, input=layer0_input, image_shape=(batch_size, 1, 28, 28), filter_shape=(20, 1, 5, 5), poolsize=(2, 2) ) layer1 = LeNetConvPoolLayer( rng, input=layer0.output, image_shape=(batch_size, nkerns[0], 12, 12), filter_shape=(50, 20, 5, 5), poolsize=(2, 2) ) layer2 = HiddenLayer( rng, input=layer2_input, n_in=50 * 4 * 4, n_out=500, activation=T.tanh ) layer3 = LogisticRegression( input=layer2.output, n_in=500, n_out=10 ) 28 28 24 24 1枚 20枚 layer0 LeNetConvPoolLayer convolution maxpooling layer2 HiddenLayer layer3 LogisticRegression 800 500 10 4x4x50 1.Logistic Regression 2.Multilayer perceptron 3.Deep ConvolutionalNetwork W[20, 1, 5, 5] 5x5画素1chを20個 学習するフィルタ 20枚 12 12 layer1 LeNetConvPoolLayer 8 8 50枚 4 4 50枚 convolution maxpooling W[50,20, 5, 5] 5x5画素20chを50個 学習するフィルタ W W 58
59.
Layer0 - Convolutionの演算 •
5x5画素1chのフィルタを20個 を学習する • 元データに畳み込む – ずらしながら演算 – 入力画像W×W – フィルタがH×H – 出力サイズ W−2⌊H/2⌋×W−2⌊H/2⌋ layer0 = LeNetConvPoolLayer( rng, input=layer0_input, image_shape=(batch_size, 1, 28, 28), filter_shape=(20, 1, 5, 5), poolsize=(2, 2) ) 28 28 24 24 1枚 20枚 20枚 12 12 layer0 LeNetConvPoolLayer convolution maxpooling 20個 5 5 20個、1CH、5x5 28 24 59
60.
Layer0 - maxpoolingの演算 •
2x2の画素の最大値を とる • 画素数は縦横半分に layer0 = LeNetConvPoolLayer( rng, input=layer0_input, image_shape=(batch_size, 1, 28, 28), filter_shape=(20, 1, 5, 5), poolsize=(2, 2) ) 28 28 24 24 1枚 20枚 20枚 12 12 layer0 LeNetConvPoolLayer convolution maxpooling 24 24 12 12 2x2 60
61.
Layer1 - Convolutionの演算 •
5x5画素20chのフィルタを50 個を学習する 50個、20CH、5x5 20枚 12 12 layer1 LeNetConvPoolLayer 8 8 50枚 4 4 50枚 convolution maxpooling layer1 = LeNetConvPoolLayer( rng, input=layer0.output, image_shape=(batch_size, nkerns[0], 12, 12), filter_shape=(50, 20, 5, 5), poolsize=(2, 2) ) 50個 5 5 20CH 20枚 12 12 8 8 1/50枚 12 12 8 85 5 20枚 12 12 8 8 50枚 convolution X20回 X50回 61
62.
convolutional_mlp.pyの4層モデル 28 28 24 24 1枚 20枚 convolution maxpooling 800
500 10 4x4x50 20枚 12 12 8 8 50枚 4 4 50枚 convolution maxpooling W W updates = [ (param_i, param_i - learning_rate * grad_i) for param_i, grad_i in zip(params, grads) ] train_model = theano.function( [index], cost, updates=updates, givens={ x: train_set_x[index * batch_size: (index + 1) * batch_size], y: train_set_y[index * batch_size: (index + 1) * batch_size] } ) test_model = theano.function( [index], layer3.errors(y), givens={ x: test_set_x[index * batch_size: (index + 1) * batch_size], y: test_set_y[index * batch_size: (index + 1) * batch_size] } ) validate_model = theano.function( [index], layer3.errors(y), givens={ x: valid_set_x[index * batch_size: (index + 1) * batch_size], y: valid_set_y[index * batch_size: (index + 1) * batch_size] } Forwardのみ Forward & Backward Backward 5x5画素 20個 5x5画素20枚 50個 5x5画素1chを20個を学習 5x5画素20chを50個を学習 Forward layer0 layer1 layer2 layer3 flatten 62
63.
THEANOのTIPS 2015/12/18 63
64.
Forward(推定)の構文木 layer0 layer1 layer2 layer3 64
65.
Forward(推定)とBackward(学習)の構文木 Forward layer0 layer1 layer2 layer3 65
66.
Forward(推定)とBackward(学習)の構文木 66
67.
構文木を出力 • Theanoのプログラム中に構文木の出力を指示 theano.printing.pydotprint(test_model, outfile="./c_graph_test_model.png",var_with_name_simple=True) theano.printing.pydotprint(validate_model,
outfile="./c_graph_validate_model.png", var_with_name_simple=True) theano.printing.pydotprint(train_model, outfile="./c_graph_train_model.png", var_with_name_simple=True) • 環境変数を設定 export THEANO_FLAGS=mode=FAST_RUN,profile=True,device=gpu,floatX=float32 • 変数 – シアン: 共用変数 – 緑:入力変数 – 青:出力変数 – 灰:未使用の変数 • Default apply node code:: – 赤: gpu転送 – 黄:scan node – 茶:shape node – マジェンタ:IfElse node – ピンク:elemwise node – 紫:subtensor – オレンジ:alloc node 67
Baixar agora