SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
2値化CNN on FPGAで
GPUとガチンコバトル
中原 啓貴 (東京⼯業⼤学)
2017年2⽉27⽇, TFUG HW部
@Google Japan オフィス
⾃⼰紹介
• Hiroki Nakahara (中原 啓貴)
• 36歳 (若⼿…︖)
• JK@⽇本⼀モテない⼤学の教員
• FPGA/ディープラーニングは⽣活の糧
• FPGAは専⾨ではありません
(HDLを書くようになったのは学位を取っ
てから, ⾼位合成を始めたのはʼ15年)
• 多値論理と論理関数の複雑度が専⾨
2
Custom Computing Machine
3
Multi‐valued logic
Pattern matching circuit
• Regular expression
matching circuit
• Packet classifier
• IP address look‐up
40m
Radio telescope
Deep neural network
内容
• エッジでディープラーニング
• FPGAとは︖
• CNN (Convolutional Neural Network)の復習
• 2値化CNN (Convolutional Neural Network)
• ⾼位合成を使った2値化CNNの実現
• 2値化CNNの性能評価
• まとめ
4
エッジでディープラーニング
5
AIはどこにでも︕
6
AIにおけるDeep Neural Network
(DNN)
7
J. Park, “Deep Neural Network SoC: Bringing deep learning to mobile
devices,” Deep Neural Network SoC Workshop, 2016.
Brain Inspired
AI
Machine 
Learning
Deep 
Learning
DNN RNN
Silicon retina
Neuromorphic
Attention
based processing
Electronic
cochlea
Bio‐mimic
Fuzzy logic
Knowledge
representation
Natural lang.
proc.
Genetic
algorithm
SVM
Decision Tree
K‐nearest
neighbor
Bayesian
Deep Neural Networkの
認識精度
8
0
5
10
15
20
25
30
2010 2011 2012 2013 2014 2015 Human
認識精度[%]
Year
Deep Convolutional
Neural Network (CNN)による
劇的な改善
⼈の認識精度を
上回る
O. Russakovsky et al. “ImageNet Top 5 Classification Error (%),” IJCV 2015.
DNNが台頭した背景
9
⾼性能コンピュータ&⼤規模データに加え
アルゴリズムの発展が後押し
(左): “Single-Threaded Integer Performance,” 2016
(右): 中原, “インターネットにおける検索エンジンの技術動向,” 2014
ディープラーニングの開発環境
村上, “ディープラーニング最新動向と技術情報〜なぜGPUがディープラーニングに向いているのか,” 2016
10
学会…CAFFE, 開発事例…Tensorflow
(⽇本ではChainerを聞くことが多くなってきた)
応⽤事例: K-Glass
11https://www.youtube.com/watch?v=fzQpSORKYr8
組込み(エッジ)でディープラーニング
• クラウドでの問題
• ネットワーク遅延
• プライバシー
• セキュリティ
• 学習はオンライン,
推論だけ⾏うことを想定
• 検討事項
• 計算能⼒
• バッテリ
• 冷却ファン
• バッテリ時間
12
FPGAとは?
13
FPGA?
• Field(現場で)
• Programmable
(書き換えができる)
• Gate(論理ゲートの)
• Array(集合体)
14
PCIに刺してGPUの代わりに
アクセラレータ (Altera社)
指先よりも小さいよ!
(Lattice社)
ラズパイにのっけて高速化
(Xilinx社)
iPhone7にも!!
FPGAの基本的な構造
15
SB SB SB SB
SB SB SB SB
SB SB SB SB
SB SB SB SB
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
IO IO IO IO IO IO
IO IO IO IO IO IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
Look-Up
Table (LUT)
I/O Block
Channels
Switch Blocks
LUTを使った論理ゲートの実現
x0 x1 x2 y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
x0 x1 x2 y
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
LUTの出⼒を書き換えて様々な論理ゲートを実現 16
ChannelとSwitch Block
LUT
どちらも
トランジスタの
スイッチ
17
Programmable=メモリ書き換え
18
SB SB SB SB
SB SB SB SB
SB SB SB SB
SB SB SB SB
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
IO IO IO IO IO IO
IO IO IO IO IO IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
FPGAの対象=論理回路
19
module hoge(
input a, b, c;
output d
);
assign d = (a & b) | c;
endmodule
Xilinx社
Altera社
実現したい論理回路を
ハードウェア記述⾔語で書く
(Verilog HDL/ VHDL)
FPGAベンダーが提供する
CADツールでビットストリーム
に合成する
FPGAにビットストリームを
送信して回路が実現︕
Convolutional Neural
Network(CNN)の復習
20
Artificial Neuron (AN)
+
x0=1
x1
x2
xN
... w0 (Bias)
w1
w2
wN
f(u)
u y
xi: Input signal
wi: Weight
u: Internal state
f(u): Activation function 
(Sigmoid, ReLU, etc.)
y: Output signal
y  f (u)
u  wi xi
i0
N

21
Deep Neural Network
22
happy
sad
mad
curious
出典: imotionsglobal.com
LeNet-5
• CNNのベース (1980年に福島先⽣がネオコグニトロ
ンをすでに発表済み!!)
• 畳込み(特徴抽出)→フル結合(分類)
• 5層
Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to
document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998. 23
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
カーネル
(この例ではK=3) 24
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
25
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
6
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
26
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
6 4
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
27
CNNで⾏われている畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
6 4
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
• ANを2次元に拡張
28
AlexNet
• ディープラーニングブームに⽕をつけた記念的CNN
• ILSVRCʼ12優勝 (誤認識率16%)
• ⽔増し(Augmentation)による学習データ増加
• 8層, Dropout, アンサンブルCNN, ReLU活性化関数
A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural 
networks. In Advances in Neural Information Processing Systems 25, pages 1106–1114, 2012. 29
AlexNetが実現できた理由
LeNet‐5, 1998
AlexNet, 2012
学習画像数: 107
学習画像数: 1014
30
データの⽔増し
(Augmentation)
• もはや常識, 差別化のポイント(ノウハウ多数)
• 計算資源 (GPUのメモリ) とのトレード・オフ
31
GoogLeNet
• Network-in-network
• ILSVRCʼ14で優勝 (誤認識率6.7%)
• 22層, Inception演算, フル結合層なし
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott E.
Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke,
Andrew Rabinovich: Going deeper with convolutions. CVPR 2015: 1-9
32
Inception演算
• カーネルサイズ1x1の畳込み→次元圧縮
33
VGG-16
• ILSVRC14準優勝 (誤認識率7.4%→0.6ポイント差)
• 全ての畳込み層でカーネルサイズが同じ(K=3)
• VGG11, VGG19もあり
K. Simonyan, A. Zisserman, “Very Deep Convolutional Networks for Large‐Scale Image 
Recognition,” arXiv:1409.1556 34
VGGのアイデア: 層を深くする
• 上位層→分離性能が上がる
• つまり, 深くすれば認識精度が上がる
35
どこまでも深くできるのか︖
• 答えはNO→勾配消失/発散問題
• 活性化関数の微分(誤差)を更新するため
逆伝搬: (0.1)100→0, 順伝搬: (1.1)100→∞
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, “Deep Residual Learning for Image 
Recognition,” IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016
レイヤを増やす
(=深くする)
と認識率悪化
36
ResNet
• ILSVRCʼ15優勝 (誤認識率3.57%)
• 152層︕︕, Batch Normalization
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, “Deep Residual Learning for Image 
Recognition,” IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016
⼊⼒xと出⼒H(x)を⼀致させたい
→残差(Residual)F(x)をCNNで学習
37
BatchNormalization
• 正規化を⾏った後, スケーリングとシフトを⾏う
• 学習による発散を抑える
Sergey Ioffe and Christian Szegedy, “Batch Normalization: Accelerating Deep Network Training 
by Reducing Internal Covariate Shift,” ICML2015. 38
ここまでのまとめ
39
AlexNet VGG GoogLeNet ResNet
Year 2012 2014 2014 2015
#Layers 8 19 22 152
Accuracy 16.4% 7.3% 6.7% 3.57%
Inception (NinN) ‐‐‐ ‐‐‐ ✔ ‐‐‐
Kernel Size 11,5,3 3 7,1,3,5 7,1,3,5
FC Size 4096,4096,
1000
4096,4096,
1000
1000 1000
Normalization Local 
Response
‐‐‐ Local 
Response
Batch
様々な最適化⼿法
40
CNNの最適化⼿法
• Pruning
• Weight Sharing
• Quantization
• Binarized/Ternarized
• (ほかにもたくさんあるけど講演時間の都合で…)
• Winograd アルゴリズム
• Dark Knowledge
• Law Rank Approximation
• 蒸留, ファインチューニング,,
41
Pruning
42
Han et al. “Learning both Weights and Connections for Efficient Neural Networks,” NIPS15
• 枝やニューロンを刈る
• 最近出たのは, 刈った後に再度付け加えて精度アップ
• 再学習して認識精度Keep
• 圧縮率: LeNet-5→12x, AlexNet→9x, VGG16→13x
Pruning後の
再学習が
効果的︕
Weight Sharing
43
S. Han et al., “Deep Compression: Compressing Deep Neural Networks With Pruning, Trained Quantization 
and HUFFMAN Coding,” ICLR2016.
Quantization
• 量⼦化ビット数を減らして⾯積と帯域を稼ぐ
• 認識精度に効くところは⼤きめに
• 単精度浮動⼩数点を8or4ビット固定⼩数点に削減して認識
精度0.4%低下(VGG16)
44
J. Qiu et al., “Going Deeper with Embedded FPGA 
Platform for Convolutional Neural Network,”  
ISFPGA2016.
2値化CNNをFPGAで実現
45
FPGAと他のデバイスの⽐較
46
• FPGAの利点
• 書換え可能(アルゴリズム変更に対応)→ASICへの利点
• 電⼒性能効率に優れる→CPU, GPUへの利点
• FPGAの⽋点
• 対CPU→コスト⾼
• 対GPU→単純に遅い, 開発時間が⻑い
• 対ASIC→コスト⾼, 電⼒⼤きい
現時点ではアルゴリズムの進歩についていく→FPGAがよいのでは
枯れる時期を⾒極める⽬利きが重要, 組み合わせも視野に
2値化CNNの導⼊→⾼速化・省⾯積化(=コスト削減・低消費電⼒)
組込み(ハードウェア)に適したCNN︖
AlexNet VGG GoogLeNet ResNet
Year 2012 2014 2014 2015
#Layers 8 19 22 152
Accuracy 16.4% 7.3% 6.7% 3.57%
Inception (NinN) ‐‐‐ ‐‐‐ ✔ ‐‐‐
Kernel Size 11,5,3 3 7,1,3,5 7,1,3,5
FC Size 4096,4096,
1000
4096,4096,
1000
1000 1000
Normalization Local 
Response
‐‐‐ Local 
Response
Batch
3.5%の認識率改善のために, 異なるハードウェア(カーネルサイズ),
⼤量のハードウェア(層数)は許されるか︖
→ VGGを選択 47
CNNのハードウェア実現
• 各層を時分割で実⾏, 層毎にパイプライン処理
W1
W2
W3
W4
X
X’
重みを保持
中間層を保持
(Ping-pongメモリ)
X X’ X X’ X
48
積和演算展開&パイプライン
FPGA実装におけるボトルネック
• VGGのプロファイル解析
• 畳込み層
→積和演算器不⾜
• フル結合層
→メモリ不⾜
J. Qiu et al., “Going Deeper with Embedded FPGA Platform for Convolutional Neural Network,”
ISFPGA2016.
49
2値化ニューラルネットワーク
• ⼆値(-1/+1)の乗算
• 乗算器をXNORゲートで
50
x1 x2 Y
‐1 ‐1 1
‐1 +1 ‐1
+1 ‐1 ‐1
+1 +1 1
x1 x2 Y
0 0 1
0 1 0
1 0 0
1 1 1
低精度CNN関連論⽂
• Binary Connected [NIPS, Dec., 2015]
• Binarized Neural Networks [arXiv, Mar., 2016]
• Ternary-Net [arXiv, May, 2016]
→ IntelがResNetを実装. 認識精度2%低下でGPU
(Titan X)と同程度の性能 [ISFPGA, Feb., 2017]
• Local Binary CNNs [Aug., 2016]
• XNOR-Net [ECCV, Oct., 2016]
51
XNORによる2値化CNN
52
x1
w0 (Bias)
fsgn(Y)
Y
z
w1
x2
w2
xn
wn
...
2値化CNNの効果
53
x1
w0 (Bias)
fsgn(Y)
Y
z
w1
x2
w2
xn
wn
...
短精度(4〜8)ビットを2値に置き換え→メモリ帯域の圧縮
乗算器をXNORに置き換え→回路⾯積の削減
2値化/3値化 on FPGAがトレンド
• FPT2016 (12⽉開催)
• E. Nurvitadhi (Intel) et al., “Accelerating Binarized Neural
Networks: Comparison of FPGA, CPU, GPU, and ASIC”
• H. Nakahara (東⼯⼤), “A Memory-Based Realization of a
Binarized Deep Convolutional Neural Network”
• ISFPGA2017 (先週開催)
• Ritchie Zhao et al., “Accelerating Binarized Convolutional Neural
Networks with Software-Programmable FPGAs”
• Y. Umuroglu (Xilinx) et al., FINN: A Framework for Fast,
Scalable Binarized Neural Network Inference
• H. Nakahara, H. Yonekawa (東⼯⼤), et al. “A Batch
Normalization Free Binarized Convolutional Deep Neural
Network on an FPGA”
• Y. Li et al., “A 7.663-TOPS 8.2-W Energy-efficient FPGA
Accelerator for Binary Convolutional Neural Networks,”
• G. Lemieux, “TinBiNN: Tiny Binarized Neural Network Overlay
in Less Than 5,000 4-LUTs,”
54
(余談)PYNQの開発状況
• 新しいライブラリ(Arduino, PMOD,)を開発中
• 相変わらずお⼿軽(Pythonで叩く+Jupyter)・⾼性能
55
from pynq.iop import Pmod_PWM
from pynq.iop import PMODA, PMODB
from pynq.iop import Adafruit_LCD18_DDR
from pynq.iop import ARDUINO
lcd = Adafruit_LCD18_DDR(ARDUINO)
pwm_A = Pmod_PWM(PMODA, 0)
PYNQでも2値化CNN
• https://github.com/Xilinx/BNN-PYNQ
(ソースはFINNという論⽂)
• Theanoで学習→C/C++に変換後⾼位合成
56
2値化によるメモリ量削減@VGG11
19383
4850
338
float int8 Binary
18Kb BRAM
10
6
14
float int8 Binary
DSP48E Block
7743
5586
4064
float int8 Binary
FF (Flip Flop)
14006
11503
7690
float int8 Binary
LUT (Look‐Up Table)
57
ボトルネック
メモリ量削減→電⼒効率向上
• メモリと演算器の距離∝電⼒
→FPGAのオンチップメモリに格納できれば電⼒効率↑
E. Joel et al., “Tutorial on Hardware Architectures for Deep Neural Networks,” MICRO‐49, 2016.58
2値化CNNの戦略
メモリ量削減→オンチップ化
• FPGAのオンチップメモリ
• BRAM (Block RAM) → 数百〜1000個程度
• Distributed RAM (要はLUT) → 数万〜10万個程度
→ 容量は⼩さい(64bit)が, 数の多さで広帯域化
cf. Jetson TX1(GPU) LPDDR4, 25.6GB/s
1万LUT@100MHz → 125GB/s
⾼位合成では #pragma HLS unroll を
打つだけ (factor=N (Nは整数)で調整も可能)
59
LUT
LUT
LUT LUT
LUT
LUT
LUT LUT
LUT
LUT
LUT LUT
認識精度低下に対して
• バッチ正規化(BatchNormalization)を導⼊
0
20
40
60
80
100
# of epochs
Classification error (%)
(a) float32 bit precision CNN
1                80              160    200
0
20
40
60
80
100
# of epochs
Classification error (%)
(b) Binarized CNN
1                80              160    200
単に2値化した場合
提案⼿法
約6%の誤差(VGG‐16を使⽤)
H. Nakahara et al., “A memory‐based binarized convolutional deep neural network,”
FPT2016, pp285‐288, 2016.
60
2値化CNNにBatchNormalizationが
効果的な理由
Y
fsgn(Y)
‐1
+1
0
OOO OOOXX XXX X Y
fsgn(Y)
‐1
+1
0
OOO OOOXX XXX X
+1
‐1
スケーリング( )により
幅2に正規化
シフト( )により
‐1〜+1に制限
61
⾼位合成を⽤いた
2値化CNNの実現
62
ギャップ…
63
module hoge(
input a, b, c;
output d
);
assign d = (a & b) | c;
endmodule
実現したい論理回路を
ハードウェア記述⾔語で
もっっっっっっっっっっのすごーく
⼤量のHDLで書く
(Verilog HDL/ VHDL)
Y = X.dot(W)+B
学習したディイイイプなニューラルネットワークの
⾏列演算をあっさり1⾏で書いてしまう
記述量∝設計時間
64
Y = X.dot(W)+B
C/C++: 10⾏
Python: 1⾏
Verilog-HDL: 66⾏
High-Level Synthesis
(HLS)
• C/C++で設計→アルゴリズム屋でも
HWを設計できるように
• 2値化Neural netを1か⽉で作成
短TATというFPGAのメリットを引き出す
65
⾼位合成のフロー
(従来はこれをすべて⼈⼿で⾏っていた)
66
Input Behavioral Spec. Dataflow   Scheduling     
Data‐path generation
Controller (FSM) Generation
Mapping to resources
(Binding)
Deep Convolutional
Neural NetworkのHLS実装
• 依存性のない7重ループの最適化
→⾼位合成でも最適化しやすい
...
...
120 nodes
10 nodes
16 F. maps
5x5
16 F. maps
10x10
6 F. maps
14x14
6 Feature maps
28x28
Gray scale
image
32x32
5x5
2x2
5x5
2x2 5x5
1 2 1
2 4 2
1 2 1
①
②
③
④
⑤
⑥
⑦
67
⾼位合成による⾃動合成
⾏列演算ライブラリの
中⾝をC/C++で書く
ただし、HDLよりは抽象的
Y=0;
for(i=0; i < m; i++){
for( j = 0; j < n; j++){
Y += X[i][j]*W[j][i];
}
}
FPGAベンダの
⾼位合成ツールが
HDLを⽣成
↓
従来のフローを通して
FPGAに実現
⾃動⽣成
ディープニューラルネットワークを
既存のフレームワークで設計
(学習はGPU上で)
学習済みCNNを
2値化に変換
(開発中)
68
指⽰⼦による性能向上(1)
• オリジナルのループ→逐次実⾏
• #pragma HLS unroll → 演算器展開
• #pragma HLS pipeline → パイプライン化
for ( int i = 0; i < N; i++){
op_Read;
op_MAC;
op_Write;
}
for ( int i = 0; i < N; i++){
#pragma HLS pipeline
op_Read;
op_MAC;
op_Write;
}
for ( int i = 0; i < N; i++){
#pragma HLS unroll 3
op_Read;
op_MAC;
op_Write;
}
RD MAC WR RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
スループット: 3サイクル
レイテンシ: 3サイクル
演算量: 1/3 データ/サイクル
スループット: 3サイクル
レイテンシ: 3サイクル
演算量: 1 データ/サイクル
スループット: 1サイクル
レイテンシ: 3サイクル
演算量: 1 データ/サイクル
69
指⽰⼦による性能向上(2)
• #pragma HLS unroll → 演算器展開
• #pragma HLS pipeline → パイプライン化
Int X[100];
#pragma HLS array partition
for ( int i = 0; i < N; i++){
#pragma HLS pipeline
op_Read;
op_MAC;
op_Write;
}
Int X[100];
#pragma HLS array partition
for ( int i = 0; i < N; i++){
#pragma HLS unroll 3
op_Read;
op_MAC;
op_Write;
}
RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
RD MAC WR
スループット: 3サイクル
レイテンシ: 3サイクル
演算量: 1 データ/サイクル
スループット: 1サイクル
レイテンシ: 3サイクル
演算量: 1 データ/サイクル
70
Mem
Mem
Mem
Mem
Mem
Mem
RD MAC WR
Mem
Mem
Mem
Mem
CNNにおける適切な指⽰⼦
• 外部メモリと内部メモリでループを分割
• 内部メモリ︓展開した演算器をパイプライン化
C. Zhang et al., “Optimizing FPGA‐based Accelerator Design for Deep Convolutional Neural Networks,” 
ISFPGA2015, pp. 161‐170, 2015.
RAM
RAM
RAM
++
++
+
…
…
パイプライン
レジスタ
71
指⽰⼦の効果
46.3 
87.1  90.4 
2.2  1.9 
11.8 
1.5  2.1 
10.6 
3.6  4.4 
28.1 
No pragma Unroll Unroll+Pipeline
リソース利⽤率 (%)
BRAM18K DSP48E FF LUT
0.16 
0.48 
119.57 
0.10
1.00
10.00
100.00
1000.00
No pragma Unroll Unroll+Pipeline
FPS (Frames per second)
• リソース利⽤率と性能はトレードオフ
• 内部メモリを削減すれば更に性能向上可能
72FPGAのリソース量∝推定のスピード
2値化CNNの評価
73
評価環境
• FPGA: Digilent社Nexys4 Videoボード
• Xilinx社 Artix-7 FPGA搭載
XC7A200T-1SBG484C
• LUT数: 129000
• 18Kb BRAM数: 730
• DSP48E数: 740
• 512Mb DDR3 Memory
• MicroBlaze実装
• CNN設計: Chainer 1.20.0
• VGG16をCifar10で学習
• GeForce Titan X
74
GPU, CPUとの⽐較
Platform
Device Quad‐core ARM 
Cortex‐A57
256‐core
Maxwell GPU
Artix 7
Clock Freq.  1.9 GHz 998 MHz 100 MHz
FPS 0.2 116.9 119.5
Power [W] 7 17 3
Efficiency [FPS/W] 0.03 6.87 39.83
Accuracy [%] 92.35 87.45
75
NVidia Jetson TX1                        Digilent Nexys4 Video
認識精度に関して
• アルゴリズムとデータでカバー可能
• 2値化VGG16 を使って ImageNetの
サブセットを学習→3⽇で90.3%認識精度達成
76
Joseph Redmon, Ali Farhadi, “YOLO9000: Better, Faster, Stronger,”
まとめ
77
まとめ
• HW向けCNNのトレンドを紹介
• 技術はめまぐるしく進歩中
• 今年も重要な発表が⾏われる可能性は極めて⾼い
• 2値化CNNの紹介
• 演算器をEXORゲート, メモリを内部メモリで実現
• FPGAでも⾼性能かつ低消費電⼒化達成
• ⾼位合成による短期間設計
• ディープラーニングフレームワークとの連携でアルゴリズム屋でも
⾼性能HW開発可能に
• FPGAのリソース量∝性能, ただし電⼒・コストとのトレード・オフ
• GPU, CPUとの⽐較
• GPUより若⼲⾼速, 認識精度5%低下, 電⼒効率5.5倍優
• 認識精度低下は学習テクニックでカバー可能
(ここが差別化のポイント)
78
Contact Info.
• 東京⼯業⼤学 産学連携推進本部
(http://www.sangaku.titech.ac.jp/index.html)
• 東京⼯業⼤学 中原研究室 (http://naklab.wpblog.jp/)
79

Contenu connexe

Tendances

Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―
Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―
Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―Yosuke Shinya
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Hiroki Nakahara
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational AutoencoderDeep Learning JP
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイcvpaper. challenge
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019Yusuke Uchida
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative ModelsDeep Learning JP
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2Preferred Networks
 
バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係Kento Tajiri
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAGIRobots
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 

Tendances (20)

Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―
Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―
Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution―
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
 
NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019
 
実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 

En vedette

(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESSHiroki Nakahara
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaA Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaHiroki Nakahara
 
(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 (公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 Hiroki Nakahara
 
車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX
車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX
車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PXNVIDIA Japan
 
HivemallとSpark MLlibの比較
HivemallとSpark MLlibの比較HivemallとSpark MLlibの比較
HivemallとSpark MLlibの比較Makoto Yui
 
M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726shimane-itoc
 
「mruby/c」の利用期待分野~M2Mでの利用~160726
「mruby/c」の利用期待分野~M2Mでの利用~160726「mruby/c」の利用期待分野~M2Mでの利用~160726
「mruby/c」の利用期待分野~M2Mでの利用~160726shimane-itoc
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル裕士 常田
 
GTC 2016 ディープラーニング最新情報
GTC 2016 ディープラーニング最新情報GTC 2016 ディープラーニング最新情報
GTC 2016 ディープラーニング最新情報NVIDIA Japan
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法Etsuji Nakai
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Hiroki Nakahara
 
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Hiroki Nakahara
 
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Hiroki Nakahara
 
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareVerilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareHiroki Nakahara
 
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Hiroki Nakahara
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAHiroki Nakahara
 
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGAFPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGAHiroki Nakahara
 

En vedette (20)

(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaA Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGa
 
(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 (公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017
 
車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX
車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX
車載組み込み用ディープラーニング・エンジン NVIDIA DRIVE PX
 
HivemallとSpark MLlibの比較
HivemallとSpark MLlibの比較HivemallとSpark MLlibの比較
HivemallとSpark MLlibの比較
 
M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726
 
Ym20121122
Ym20121122Ym20121122
Ym20121122
 
「mruby/c」の利用期待分野~M2Mでの利用~160726
「mruby/c」の利用期待分野~M2Mでの利用~160726「mruby/c」の利用期待分野~M2Mでの利用~160726
「mruby/c」の利用期待分野~M2Mでの利用~160726
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
 
GTC 2016 ディープラーニング最新情報
GTC 2016 ディープラーニング最新情報GTC 2016 ディープラーニング最新情報
GTC 2016 ディープラーニング最新情報
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
 
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)
 
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
 
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareVerilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardware
 
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)
 
Naist2015 dec ver1
Naist2015 dec ver1Naist2015 dec ver1
Naist2015 dec ver1
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
 
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGAFPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGA
 

Similaire à 2値化CNN on FPGAでGPUとガチンコバトル(公開版)

畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向Yusuke Uchida
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向Shinya Takamaeda-Y
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也harePreferred Networks
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
2012研究室紹介(大川)
2012研究室紹介(大川)2012研究室紹介(大川)
2012研究室紹介(大川)猛 大川
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learning論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learningKazuki Adachi
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係についてDeep Learning JP
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライドHiroki Nakahara
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
[DL輪読会] Hybrid computing using a neural network with dynamic external memory
[DL輪読会] Hybrid computing using a neural network with dynamic external memory[DL輪読会] Hybrid computing using a neural network with dynamic external memory
[DL輪読会] Hybrid computing using a neural network with dynamic external memoryYusuke Iwasawa
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化RCCSRENKEI
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505ykuga
 
Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!KAIKenzo
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化marsee101
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Hiroki Nakahara
 

Similaire à 2値化CNN on FPGAでGPUとガチンコバトル(公開版) (20)

畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
Myoshimi extreme
Myoshimi extremeMyoshimi extreme
Myoshimi extreme
 
2012研究室紹介(大川)
2012研究室紹介(大川)2012研究室紹介(大川)
2012研究室紹介(大川)
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learning論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learning
 
SBRA2018講演資料
SBRA2018講演資料SBRA2018講演資料
SBRA2018講演資料
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
[DL輪読会] Hybrid computing using a neural network with dynamic external memory
[DL輪読会] Hybrid computing using a neural network with dynamic external memory[DL輪読会] Hybrid computing using a neural network with dynamic external memory
[DL輪読会] Hybrid computing using a neural network with dynamic external memory
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
 
Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!
 
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearningMIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
 

Plus de Hiroki Nakahara

FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...Hiroki Nakahara
 
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSHiroki Nakahara
 
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...Hiroki Nakahara
 
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural NetworkISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural NetworkHiroki Nakahara
 
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...Hiroki Nakahara
 
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...Hiroki Nakahara
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみたHiroki Nakahara
 
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Hiroki Nakahara
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略Hiroki Nakahara
 
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareHiroki Nakahara
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Hiroki Nakahara
 
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)Hiroki Nakahara
 
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)Hiroki Nakahara
 

Plus de Hiroki Nakahara (14)

FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
 
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
 
FPGAX2019
FPGAX2019FPGAX2019
FPGAX2019
 
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
 
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural NetworkISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
 
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
 
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
 
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)
 
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)
 
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)
 

2値化CNN on FPGAでGPUとガチンコバトル(公開版)