SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
ディープラーニング
vs ランダムフォレスト
中原 啓貴 (東京⼯業⼤学)
2017年9⽉24⽇
FPGAX@ドワンゴ
内容
• 背景
• Random forest (RF)
• RFをFPGA実装するには
• 実験結果
• RFをCPU, GPU, FPGAで実装した場合
• 他の機械学習、特にConvolutional Neural Network
(CNN)と⽐較した場合
• まとめ
2
機械学習
3
⼗分な計算資源とデータ+アルゴリズムの発展
(Left): “Single-Threaded Integer Performance,” 2016
(Right): Nakahara, “Trend of Search Engine on modern Internet,” 2014
機械学習の分類
M. Warrick, “How to get started with machine learning,” PyCon2014 4
研究背景
• ビッグデータと⼗分な計算資源
• ランダムフォレスト
• 歩⾏者検出
• セグメンテーション
• ⼈体姿勢推定
• 組込みシステムでの実現
• リアルタイム処理が必要→CPUは遅い
• 電⼒制約→GPUだと消費電⼒⼤
• FPGA上に短期間に優れたランダムフォレストを実装す
るには︖
• HDL⼿書き設計は限界
5
FPGA+⾼位合成
• 実⽤的な⾼位合成ツールの普及
• Xilinx社: Vivado HLS, SDxシリーズ
• Altera社: Altera SDK for OpenCL
• 先⾏事例
• gzip 圧縮を1か⽉で完成, ⼿書きHDLと⽐較して
90%程度の性能
• ファミコン(NES)を1週間で完成, ⼿書きHDLは
3か⽉, リアルタイム動作達成
• ⼿書きHDLより10倍以上短い期間で開発
• (個⼈的な経験では)性能, ⾯積は⼿書きHDLと
⽐較して8割程度は容易に達成可能
6
⽬的: FPGA+⾼位合成で⾼性能な
ランダムフォレストを実現する⼿法の開発
Random Forest
7
分類⽊ (Decision Tree)
• 特徴マップを分類する, 弱学習器といわれる
1.00
0.53
0.29
0.00
0.09
0.63
0.71
1.00
C1
C2 C1
C
1
C2 C1
X1
X2
X2<0.53?
X2<0.29? X1<0.09?
X1<0.63? X1<0.71?
Y N
N
NN
NY
Y
Y
Y
C1
C1C2 C1C2
C1
8
分類⽊の学習
• ランダムにサンプリング
• エントロピーが最⼤になるように再帰的に分割
9
1.00
0.53
0.29
0.00
0.09
0.63
0.71
1.00
C1
C2 C1
C
1 C2 C1
X1
X2
X2<0.53?
X2<0.29? X1<0.09?
X1<0.63? X1<0.71?
Y N
N
NN
NY
Y
Y
Y
C1
C1C2 C1C2
C1
バイアスとバリアンス
• バイアス→モデルの単純さによる誤差
• バリアンス→学習データの違いによる誤差
10
バイアス︓⼤ バイアス︓⼩
バイアスとバリアンス
11
バイアス︓⼤
バリアンス︓⼩
バイアス︓⼩
バリアンス︓⼤
• バイアス→モデルの単純さによる誤差
• ノイズに強いが, 複雑な表現はできない: SVM, 最⼩2乗法
• バリアンス→学習データの違いによる誤差
• 過学習しがち, 複雑な表現可能: Neural Network, 決定⽊
→集団(アンサンブル)学習によりバリアンスを下げる
Random Forest (RF)
• アンサンブル学習の⼀種
• 複数の分類⽊(弱学習器)で構成
• クラス分類と回帰が可能
12
Tree 1 Tree 2 Tree n
C1
C2
C1
Voter
C1 (Class)
InputX1<0.53?
X3<0.71? X2<0.63?
X2<0.63? X3<0.72?
Y N
N
NN
NY
Y
Y
Y
C1
C1C2 C1C3
C1
Tree 1
Binary Decision Tree (BDT) Random Forest
...
RFのアプリケーション
• Key point matching [Lepetit et al., 2006]
• Object detector [Shotton et al., 2008][Gall et al., 2011]
• Hand written character recognition [Amit&Geman, 1997]
• Visual word clustering
[Moosmann et al.,2006]
• Pose recognition
[Yamashita et al., 2010]
• Human detector
[Mitsui et al., 2011]
[Dahang et al., 2012]
• Human pose estimation
[Shotton 2011]
13
Random Forest を FPGA に実装
14
FPGA (Field Programmable
Gate Array)
• Reconfigurable architecture
• Look-up Table (LUT)
• Configurable channel
• Advantages
• Faster than CPU
• Dissipate lower power
than GPU
• Short time design
than ASIC
15
PythonでRF
16
• Scikit-learnを使うだけ︕簡単︕
オブジェクトを宣⾔
学習
推論
開発したツールフロー
Off‐line learning by scikit‐learn (software)
Training
Dataset
scikit‐learn
Hyper
Parameter
(by Grid‐
search)
Random
Forest
Host
Code
Kernel
Code aocx
Binary
Host
PC
FPGA
Board
aoc
gcc
RF2AOC
17
(論⽂がアクセプトされれば)Xilinx版を近⽇公開予定︕
scikit-learn を使ったコード⽣成
• 内部のデータ構造にアクセス→再帰的にコード⽣成
18
Tree 1 Tree 2 Tree n
C1
C2
C1
Voter
C1 (Class)
Input
...
len(model.estimators_) … ⽊の個数
model.estimators_[i] … i番⽬の⽊にアクセス
以降, tree = model.estimators_[i] として
tree.tree_.children_left
tree.tree_.children_right
→⽊の⼦ノードにアクセス, 再帰的に
アクセス可能
tree.tree_.threshold … 現時点のしきい値
tree.tree_.feature … ⽊の⼊⼒変数リスト
tree.tree_.value … 認識したクラスインデックス
⽣成されたコード
• if-then-else形式で出⼒
19
Tree 1 Tree 2 Tree n
C1
C2
C1
Voter
C1 (Class)
Input
...
フルパイプライン化
Tree 1 Tree 2 Tree b
C1 C2
C1
Voter
C1
X (Input)
...
20
マルチプレクサベースの実現
21
システムデザインツールの利⽤
22
①
②
④
③
1. Behavior design
+ pragmas
2. Profile analysis
3. IP core generation by HLS
4. Bitstream generation by
FPGA CAD tool
5. Middle ware generation
↓
Automatically done
短精度整数演算
float X1, X2;
(set inputs)
result = tree(X1, X2);
__kernel int tree( 
__global const float X1, 
__global float X2){
(fetch inputs)
if( X2 < 0.53){
if( X2 < 0.29){
return C1;
} else {
if( X1 < 0.63){
return C2;
} else {
return C1;
}
}
...
int X;
(set inputs)
result = tree(X & 0x3FFF, 
(X >> 16) & 0x3FFF);
__kernel int tree( 
__global const int X1, 
__global int X2){
(fetch inputs)
if( X2 < 4341){ // 0.53*213
if( X2 < 2375){ // 0.29*213
return C1;
} else {
if( X1 < 5160){ // 0.63*213
return C2;
} else {
return C1;
}
} ..
Host
Program
Kernel
Program
23
短精度ビット⻑と分類精度
0.0
5.0
10.0
15.0
20.0
25.0
30.0
35.0
40.0
45.0
6 7 8 9 10 11 12 13 14
Misclassification Rate [%]
n‐bit Fixd Point Precision
Dermatology
Arrhythmia
Contraceptive Method Choice
Glass Identification
Hayes‐Roth
Hepatitis
Ionosphere
Iris
24
分類⽊の実現
X1
X2
c1 c2
c3
X2
c4 X3
c5 c6
Tree1 Tree2
X1
X2
X2
X3
c3
c1 c2
c4
c5   c6
Tree1 Tree2
25
時分割によるリソース共有
__kernel int RF( 
__global float X1, X2, X3){
(fetch inputs)
for( int i = 0; i < 2; i++){
if( i == 0) class = tree1(X1,X2,X3);
else class = tree2(X1,X2,X3);
voting[class]++; // voter
}
}
..
X1
X2
X2
*
c1 c4
Voter
*
X3
c2 c4
c3 c5 c3 c6
26
ループ展開による
スループット向上
__kernel int RF( 
__global float X1,X2,X3){
(fetch inputs)
#pragma unroll 2
for( int i = 0; i < 2; i++){
if( i == 0) class = tree1(X1,X2,X3);
else class = tree2(X1,X2,X3);
voting[class]++; // voter
}
}
..
X1 X2 X3
c3
c1 c2
c4
c5   c6
Voter
Voter
Register
27
実験結果
28
実験⽅法
Pre‐learned
Random
Forest
C‐
Code
CUDA
Code
Binary
Binary CPU
GPU
Cython gcc
CUDAT nvcc
Binary Host
PC
29
他のプラットフォームとの⽐較
• Implemented RF following devices
• CPU: Intel Core i7 650
• GPU: NVIDIA GeForce GTX Titan
• FPGA: Terasic DE5-NET
• Measure dynamic power including
the host PC
• Test bench: 10,000 random vectors
• Execution time including
communication time between
the host PC and devices
30
GPU
FPGA
GPU, CPUとの⽐較
31
GPU@86W
GeForce Titan
CPU@13W
Xeon (R) E5607
FPGA@15W
Stratix V A7
Name LPS LPS/W LPS LPS/W LPS LPS/W
Dermatology 336.2 3.9 211.6 16.3 3221.2 214.7
Contraceptive 
Method
521.9 6.1 286.4 22.0 10924.3 728.3
Glass 
Identification
726.7 8.5 587.5 45.2 6442.3 429.5
Hayes‐Roth 1512.9 17.6 1165.5 89.7 12884.6 859.0
Hepatitis 739.1 8.6 662.7 51.0 8209.9 547.3
Ionosphere 821.0 9.5 595.9 45.8 9663.5 644.2
Iris 446.6 5.2 436.7 33.6 4831.7 322.1
LPS: 1秒間に検索できるデータ数
FPGAに適した計算法
• ×ホストやオフチップメモリを頻繁にアクセス
• GPUやCPUと⽐較して帯域が1桁狭い
• ○外部I/Oやオンチップメモリを利⽤
FPGAFPGA
||||||||
DDRDDR
DDRDDR
I/OI/O I/OI/O
FPGAFPGA
||||||||
DDRDDR
DDRDDR
I/OI/O I/OI/O
ADC
RAM
ここに依存するアプリだと負け 32
プログラミングモデルの違い
33
D1 D2 D3 D4 D5
↓ ↓ ↓ ↓ ↓
CC CC CC CC CC
↓ ↓ ↓ ↓ ↓
広帯域
DDR4/DDR5 DDR3
HW1 D1 D2 D3 D4
HW2 D1 D2 D3 D4
HW3 D1 D2 D3 D4
HW4 D1 D2 D3 D4
狭
帯域
GPU FPGA
• 均⼀な演算を空間的に並列実⾏
• 均⼀な演算器
• ワープダイバージェント (if⽂ダメ)
• 帯域・動作周波数が⾼い
• 特定な演算を時間的に並列実⾏
(要はパイプライン︕)
• カスタマイズした演算器
• 帯域・動作周波数は低い
他の識別器との⽐較
34
ディープニューラルネットワークと
⽐較して
• ⼩規模データのタスクに適⽤可能
• 短時間学習
• 強⼒な計算機環境不要
• ローカル(エッジ)での学習可能
• ハイパーパラメータのチューニング不要
• FPGAで⾼性能を発揮できるデータ構造
35
Deep Forestへ拡張
• Sliding Window + Cascaded Forestの組合せ
36
Z.H.Zhou, J.Feng, “Deep Forest: Towards An Alternative to Deep Neural 
Networks,”arXiv:1702.08835, [v2] Wed, 31 May 2017.
データセットを⽤いた認識率の⽐較
• MNIST(⼿書き⽂字)データセットの認識率
• ORL(顔認識)データセット
37
データセットが少ないため
データセットを⽤いた認識率の⽐較
(続)
• 画像認識CIFAR10 (10クラス5万枚学習)
38
SOTAなCNN
CNNとRandom Forestの⽐較
• 認識率
• データセットが少ない場合: RF(というかCNNはダメ)
• 単純(スパース)なデータセット: ほぼ同等の認識率→MNISTはここ
• ⼤量のデータセット: CNN
• (MNISTでの)学習時間
• RF: CPUで約5分(中原所有のノートパソコン, Thinkpad X1 Cardbon)
• CNN(LeNet5): GPU Titan X (Pascal)で約5分
• (MNISTに必要な)ハードウェア量
• RF: 18706 LUTs, 42982 FFs, 175 18Kb BRAMs
• CNN: 34419 LUTs, 33029 FFs, 115 18Kb BRAMs
• (MNISTの)推論時間
• RF: 約5000 FPS@100MHz, Zedboard使⽤時
• CNN: 約200 FPS@100MHz, Zedboard使⽤時
39
データセット次第ではCNNよりも同等なHW・認識精度で25倍⾼速
まとめ
• Random ForestをFPGAで実装
• DNNよりも(少ないデータセットで)⾼速に学習
• Scikit-learnを使った学習・コード⽣成
• FPGAで性能を発揮できるデータセット
• ヘテロジニアスなパイプライン
• GPUが苦⼿とする構造
• Xilinx SDSoC, Intel SDK OpenCLを使ったお⼿軽実装
• Deep Forestの紹介
• RFよりも認識性能は上だが、コストに⾒合うかは疑問
• No Free Lunch TheoremはHWから⾒ても真でした
→あらゆる問題で性能に優れる万能な機械学習HWは存在しない
とはいうものの… 40

Contenu connexe

Tendances

constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだconstexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
Genya Murakami
 

Tendances (20)

Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
Deflate
DeflateDeflate
Deflate
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
C#で速度を極めるいろは
C#で速度を極めるいろはC#で速度を極めるいろは
C#で速度を極めるいろは
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
FPGAでベンチマークしたときに苦労した話@fpgax#12
FPGAでベンチマークしたときに苦労した話@fpgax#12FPGAでベンチマークしたときに苦労した話@fpgax#12
FPGAでベンチマークしたときに苦労した話@fpgax#12
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
Verilator勉強会 2021/05/29
Verilator勉強会 2021/05/29Verilator勉強会 2021/05/29
Verilator勉強会 2021/05/29
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだconstexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
 
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
 
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 

En vedette

En vedette (20)

(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS
 
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
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 
リアルタイムレンダリングでのNPR表現
リアルタイムレンダリングでのNPR表現リアルタイムレンダリングでのNPR表現
リアルタイムレンダリングでのNPR表現
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)
 
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareVerilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardware
 
Naist2015 dec ver1
Naist2015 dec ver1Naist2015 dec ver1
Naist2015 dec ver1
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
 
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
 
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)
 
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)
 
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
 
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
 
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
Beatroboでのハードウェアプロトタイピング
 

Similaire à (公開版)FPGAエクストリームコンピューティング2017

2012研究室紹介(大川)
2012研究室紹介(大川)2012研究室紹介(大川)
2012研究室紹介(大川)
猛 大川
 
[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定
[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定
[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定
Eli Kaminuma
 

Similaire à (公開版)FPGAエクストリームコンピューティング2017 (20)

深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 
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
 
2012研究室紹介(大川)
2012研究室紹介(大川)2012研究室紹介(大川)
2012研究室紹介(大川)
 
[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定
[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定
[2016-12-01] DDBJデータ解析チャレンジ報告:機械学習コンペティションのタスク設計とルール設定
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター 【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive search
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
 
令和元年度 実践セミナー - Deep Learning 概論 -
令和元年度 実践セミナー - Deep Learning 概論 -令和元年度 実践セミナー - Deep Learning 概論 -
令和元年度 実践セミナー - Deep Learning 概論 -
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しようC# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
 
Proof summit 2017 for slideshare
Proof summit 2017 for slideshareProof summit 2017 for slideshare
Proof summit 2017 for slideshare
 
論文紹介: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
 
実世界に埋め込まれる深層学習
実世界に埋め込まれる深層学習 実世界に埋め込まれる深層学習
実世界に埋め込まれる深層学習
 

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
 

Plus de Hiroki Nakahara (10)

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
 
SBRA2018講演資料
SBRA2018講演資料SBRA2018講演資料
SBRA2018講演資料
 
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...
 
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)
 

(公開版)FPGAエクストリームコンピューティング2017