SlideShare ist ein Scribd-Unternehmen logo
1 von 16
田中正行
PRMU研究会2019/02
深層学習に関する
(個人的な)取り組みの紹介
概要
1
1.mgq (Minimal Gram task Queue)
2.train1000 (Train with small samples)
3.WiG (Weighted Sigmoid Gate Unit)
(便利な)シンプルタスクキュー
(練習用)小サンプル学習
新しい活性化関数
https://github.com/likesilkto/mgqueue
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/
タスクキューと深層学習
2 時間
18:00
20:00
22:00
00:00
02:00
04:00
06:00
08:00
10:00
GPU0 GPU1
Task0
Task1
Task2
Task3
(少ない)GPU資源を効率的に活
用したい
処理終了後,すぐに次の処理を行
いたい!
mgq (Minimal Gram task Queue)
3
https://github.com/likesilkto/mgqueue
% pip install git+https://github.com/likesilkto/mgqueue
インストール:
python application
タスク追加:
% mgq queue_name ad ‘python train1.py’
% mgq queue_name ad ‘python train2.py’
スタート:
% mgq queue_name start
% mgq queue_name start –gmail [@マークより前のgmail アカウント]
タスク追加:
% mgq queue_name ad ‘python train3.py’
Train1000 project
4
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/
Cifar-10, 100
学習データ数: 50,000枚
テストデータ数:10,000枚
GPUを使って学習に数時間かかる
いろいろ試すには時間がかかるし,
初学者の練習には大変
少数データから学習できるのか?
1,000個の少数データから、
どれくらい性能が出せるのか?
#train1000
Train1000 project
5
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/
#train1000
mnist
100 samples x 10 classes = 1,000 samples Test Acc.: 0.9786
fashion_mnist
100 samples x 10 classes = 1,000 samples Test Acc.: 0.8159
cifar-10
100 samples x 10 classes = 1,000 samples Test Acc.: 0.5295
cifar-100
10 samples x 100 classes = 1,000 samples Test Acc.: 0.1676
概要
6
1.mgq (Minimal Gram task Queue)
2.train1000 (Train with small samples)
3.WiG (Weighted Sigmoid Gate Unit)
(便利な)シンプルタスクキュー
(練習用)小サンプル学習
新しい活性化関数
https://github.com/likesilkto/mgqueue
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/
Activation Functions for DNNs
Input
x
Activation
function
Weight
Output
y
Conv.
Activation
function
Input
x
Output
y
Activation functions
Sigmoid tanh ReLU
𝜎𝜎 𝑥𝑥 =
1
1 + 𝑒𝑒−𝑥𝑥
max(𝑥𝑥, 0)
Advanced Activation Functions
ReLU
max(𝑥𝑥, 0)
�
𝑥𝑥 (𝑥𝑥 ≥ 0)
𝛼𝛼𝛼𝛼 (𝑥𝑥 < 0)
Leaky ReLU
Parametric ReLU
swish, SiL
𝑥𝑥 𝜎𝜎 𝑤𝑤𝑤𝑤 + 𝑏𝑏
Existing activation functions are
element-wise function.
Dying ReLU:
Dead ReLU units always
return zero.
WiG: Weighted Sigmoid Gate (Proposed)
Existing activation functions are
element-wise function.
Sigmoid Gated Network can be
used as activation function.
Weight
Activation
function
Weight
Activation
networkunit
Proposed WiG (Weighted sigmoid gate unit)
W ×
Wg
WiG activation unit
It is compatible to existing activation functions.
It includes the ReLU.
Sigmoid
W
Wg
×
My recommendation is:
You can improve the network performance just by
replacing the ReLU by the proposed WiG.
WiG: Three-state
10
𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃)
人の網膜細胞
オン中心型受容野
オフ中心型受容野
中心が明るいほど
大きな出力
中心が暗いほど
大きな出力
反応なし
⊗
反応の大きさ閾値制御
(符号付の)
反応の大きさ制御
閾値制御
独立に制御できる
(かもしれない)
Uchida, Coupled convolution layer for convolutional neural network, 2018
WiG: 側抑制
11
脳の測抑制
WiGは測抑制を実現できる!
測抑制
ニューロンの空間分布
大きな反応の周辺のニューロンの
反応が抑制される
𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃)
⊗
反応の大きさ閾値制御
要素独立の活性化関数
測抑制は実現不可能
測抑制を実現するWgを簡単に設計可能
WiG with sparseness constraint
12
𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃)
スパースネス: yの非ゼロ要素が少ない
スパースネス拘束: 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 1
WiG  ReLU
13
𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃)
𝑦𝑦 = 𝜎𝜎(𝛼𝛼𝛼𝛼) × 𝑥𝑥
𝑦𝑦 = 𝜎𝜎(𝛼𝛼𝛼𝛼)
𝛼𝛼 → ∞
𝑦𝑦 = �
0 (𝑥𝑥 < 0)
1 (𝑥𝑥 ≥ 0)
𝑦𝑦 = 𝜎𝜎(𝛼𝛼𝛼𝛼) × 𝑥𝑥
𝛼𝛼 → ∞
𝑦𝑦 = max(0, 𝑥𝑥)
WiGはReLUを再現できる!
既存ネットワークのReLUをWiGに置き換えて,
高性能化できる!(かも)
Experimental Validations
Object recognition
Average accuracy
Image denoising
The reproduction code is available
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/
まとめ
15
1.mgq (Minimal Gram task Queue)
2.train1000 (Train with small samples)
3.WiG (Weighted Sigmoid Gate Unit)
(便利な)シンプルタスクキュー
(練習用)小サンプル学習
新しい活性化関数
https://github.com/likesilkto/mgqueue
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/
http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/

Weitere ähnliche Inhalte

Was ist angesagt?

45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
 
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
智啓 出川
 

Was ist angesagt? (20)

EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
 
自作GPUへの道
自作GPUへの道自作GPUへの道
自作GPUへの道
 
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
 
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
Blueqat SDKハンズオン
Blueqat SDKハンズオンBlueqat SDKハンズオン
Blueqat SDKハンズオン
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred Networks
 
Ncnn a universal and efficient neural network inference with vulkan
Ncnn  a universal and efficient neural network inference with vulkanNcnn  a universal and efficient neural network inference with vulkan
Ncnn a universal and efficient neural network inference with vulkan
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
 
Isca13 study
Isca13 studyIsca13 study
Isca13 study
 
Challengers 2013 winter ハッカソンに参加してみて
Challengers 2013 winter ハッカソンに参加してみてChallengers 2013 winter ハッカソンに参加してみて
Challengers 2013 winter ハッカソンに参加してみて
 
モバイル(エッジ)向け ニューラルネットワーク推論エンジンの紹介
モバイル(エッジ)向け ニューラルネットワーク推論エンジンの紹介モバイル(エッジ)向け ニューラルネットワーク推論エンジンの紹介
モバイル(エッジ)向け ニューラルネットワーク推論エンジンの紹介
 
Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすChainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなす
 
JubaQLご紹介
JubaQLご紹介JubaQLご紹介
JubaQLご紹介
 
関東GPGPU勉強会資料
関東GPGPU勉強会資料関東GPGPU勉強会資料
関東GPGPU勉強会資料
 
MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編
 
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編
 
Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話
 
Arduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようArduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみよう
 

Ähnlich wie PRMU201902 Presentation document

GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。
dec9ue
 

Ähnlich wie PRMU201902 Presentation document (9)

Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
落合 Wba hackathon2_成果報告_最終版
落合 Wba hackathon2_成果報告_最終版落合 Wba hackathon2_成果報告_最終版
落合 Wba hackathon2_成果報告_最終版
 
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。
 
Iceberg 2018 (Japanese translation)
Iceberg 2018 (Japanese translation)Iceberg 2018 (Japanese translation)
Iceberg 2018 (Japanese translation)
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 

Mehr von Masayuki Tanaka

遠赤外線カメラと可視カメラを利用した悪条件下における画像取得
遠赤外線カメラと可視カメラを利用した悪条件下における画像取得遠赤外線カメラと可視カメラを利用した悪条件下における画像取得
遠赤外線カメラと可視カメラを利用した悪条件下における画像取得
Masayuki Tanaka
 

Mehr von Masayuki Tanaka (20)

Slideshare breaking inter layer co-adaptation
Slideshare breaking inter layer co-adaptationSlideshare breaking inter layer co-adaptation
Slideshare breaking inter layer co-adaptation
 
Gradient-Based Low-Light Image Enhancement
Gradient-Based Low-Light Image EnhancementGradient-Based Low-Light Image Enhancement
Gradient-Based Low-Light Image Enhancement
 
Year-End Seminar 2018
Year-End Seminar 2018Year-End Seminar 2018
Year-End Seminar 2018
 
遠赤外線カメラと可視カメラを利用した悪条件下における画像取得
遠赤外線カメラと可視カメラを利用した悪条件下における画像取得遠赤外線カメラと可視カメラを利用した悪条件下における画像取得
遠赤外線カメラと可視カメラを利用した悪条件下における画像取得
 
Learnable Image Encryption
Learnable Image EncryptionLearnable Image Encryption
Learnable Image Encryption
 
クリエイティブ・コモンズ
クリエイティブ・コモンズクリエイティブ・コモンズ
クリエイティブ・コモンズ
 
デザイン4原則
デザイン4原則デザイン4原則
デザイン4原則
 
メラビアンの法則
メラビアンの法則メラビアンの法則
メラビアンの法則
 
類似性の法則
類似性の法則類似性の法則
類似性の法則
 
権威に訴える論証
権威に訴える論証権威に訴える論証
権威に訴える論証
 
Chain rule of deep neural network layer for back propagation
Chain rule of deep neural network layer for back propagationChain rule of deep neural network layer for back propagation
Chain rule of deep neural network layer for back propagation
 
Give Me Four
Give Me FourGive Me Four
Give Me Four
 
Tech art 20170315
Tech art 20170315Tech art 20170315
Tech art 20170315
 
My Slide Theme
My Slide ThemeMy Slide Theme
My Slide Theme
 
Font Memo
Font MemoFont Memo
Font Memo
 
One-point for presentation
One-point for presentationOne-point for presentation
One-point for presentation
 
ADMM algorithm in ProxImaL
ADMM algorithm in ProxImaL ADMM algorithm in ProxImaL
ADMM algorithm in ProxImaL
 
Intensity Constraint Gradient-Based Image Reconstruction
Intensity Constraint Gradient-Based Image ReconstructionIntensity Constraint Gradient-Based Image Reconstruction
Intensity Constraint Gradient-Based Image Reconstruction
 
Least Square with L0, L1, and L2 Constraint
Least Square with L0, L1, and L2 ConstraintLeast Square with L0, L1, and L2 Constraint
Least Square with L0, L1, and L2 Constraint
 
Lasso regression
Lasso regressionLasso regression
Lasso regression
 

PRMU201902 Presentation document

  • 2. 概要 1 1.mgq (Minimal Gram task Queue) 2.train1000 (Train with small samples) 3.WiG (Weighted Sigmoid Gate Unit) (便利な)シンプルタスクキュー (練習用)小サンプル学習 新しい活性化関数 https://github.com/likesilkto/mgqueue http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/ http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/
  • 4. mgq (Minimal Gram task Queue) 3 https://github.com/likesilkto/mgqueue % pip install git+https://github.com/likesilkto/mgqueue インストール: python application タスク追加: % mgq queue_name ad ‘python train1.py’ % mgq queue_name ad ‘python train2.py’ スタート: % mgq queue_name start % mgq queue_name start –gmail [@マークより前のgmail アカウント] タスク追加: % mgq queue_name ad ‘python train3.py’
  • 5. Train1000 project 4 http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/ Cifar-10, 100 学習データ数: 50,000枚 テストデータ数:10,000枚 GPUを使って学習に数時間かかる いろいろ試すには時間がかかるし, 初学者の練習には大変 少数データから学習できるのか? 1,000個の少数データから、 どれくらい性能が出せるのか? #train1000
  • 6. Train1000 project 5 http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/ #train1000 mnist 100 samples x 10 classes = 1,000 samples Test Acc.: 0.9786 fashion_mnist 100 samples x 10 classes = 1,000 samples Test Acc.: 0.8159 cifar-10 100 samples x 10 classes = 1,000 samples Test Acc.: 0.5295 cifar-100 10 samples x 100 classes = 1,000 samples Test Acc.: 0.1676
  • 7. 概要 6 1.mgq (Minimal Gram task Queue) 2.train1000 (Train with small samples) 3.WiG (Weighted Sigmoid Gate Unit) (便利な)シンプルタスクキュー (練習用)小サンプル学習 新しい活性化関数 https://github.com/likesilkto/mgqueue http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/ http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/
  • 8. Activation Functions for DNNs Input x Activation function Weight Output y Conv. Activation function Input x Output y Activation functions Sigmoid tanh ReLU 𝜎𝜎 𝑥𝑥 = 1 1 + 𝑒𝑒−𝑥𝑥 max(𝑥𝑥, 0)
  • 9. Advanced Activation Functions ReLU max(𝑥𝑥, 0) � 𝑥𝑥 (𝑥𝑥 ≥ 0) 𝛼𝛼𝛼𝛼 (𝑥𝑥 < 0) Leaky ReLU Parametric ReLU swish, SiL 𝑥𝑥 𝜎𝜎 𝑤𝑤𝑤𝑤 + 𝑏𝑏 Existing activation functions are element-wise function. Dying ReLU: Dead ReLU units always return zero.
  • 10. WiG: Weighted Sigmoid Gate (Proposed) Existing activation functions are element-wise function. Sigmoid Gated Network can be used as activation function. Weight Activation function Weight Activation networkunit Proposed WiG (Weighted sigmoid gate unit) W × Wg WiG activation unit It is compatible to existing activation functions. It includes the ReLU. Sigmoid W Wg × My recommendation is: You can improve the network performance just by replacing the ReLU by the proposed WiG.
  • 11. WiG: Three-state 10 𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃) 人の網膜細胞 オン中心型受容野 オフ中心型受容野 中心が明るいほど 大きな出力 中心が暗いほど 大きな出力 反応なし ⊗ 反応の大きさ閾値制御 (符号付の) 反応の大きさ制御 閾値制御 独立に制御できる (かもしれない) Uchida, Coupled convolution layer for convolutional neural network, 2018
  • 12. WiG: 側抑制 11 脳の測抑制 WiGは測抑制を実現できる! 測抑制 ニューロンの空間分布 大きな反応の周辺のニューロンの 反応が抑制される 𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃) ⊗ 反応の大きさ閾値制御 要素独立の活性化関数 測抑制は実現不可能 測抑制を実現するWgを簡単に設計可能
  • 13. WiG with sparseness constraint 12 𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃) スパースネス: yの非ゼロ要素が少ない スパースネス拘束: 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 1
  • 14. WiG  ReLU 13 𝒚𝒚 = 𝜎𝜎 𝑾𝑾𝒈𝒈 𝒙𝒙 + 𝒃𝒃𝒈𝒈 ⊗ (𝑾𝑾𝑾𝑾 + 𝒃𝒃) 𝑦𝑦 = 𝜎𝜎(𝛼𝛼𝛼𝛼) × 𝑥𝑥 𝑦𝑦 = 𝜎𝜎(𝛼𝛼𝛼𝛼) 𝛼𝛼 → ∞ 𝑦𝑦 = � 0 (𝑥𝑥 < 0) 1 (𝑥𝑥 ≥ 0) 𝑦𝑦 = 𝜎𝜎(𝛼𝛼𝛼𝛼) × 𝑥𝑥 𝛼𝛼 → ∞ 𝑦𝑦 = max(0, 𝑥𝑥) WiGはReLUを再現できる! 既存ネットワークのReLUをWiGに置き換えて, 高性能化できる!(かも)
  • 15. Experimental Validations Object recognition Average accuracy Image denoising The reproduction code is available http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/
  • 16. まとめ 15 1.mgq (Minimal Gram task Queue) 2.train1000 (Train with small samples) 3.WiG (Weighted Sigmoid Gate Unit) (便利な)シンプルタスクキュー (練習用)小サンプル学習 新しい活性化関数 https://github.com/likesilkto/mgqueue http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/train1000/ http://www.ok.sc.e.titech.ac.jp/~mtanaka/proj/WiG/