Enviar pesquisa
Carregar
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
•
0 gostou
•
908 visualizações
K
Keigo Nishida
Seguir
RISC-V Day Tokyo 2020 Virtual Boothsスライド http://riscv-association.jp/riscv-day-tokyo-2020/
Leia menos
Leia mais
Tecnologia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 16
Recomendados
Laravelで作成したアプリ紹介
Laravelで作成したアプリ紹介
伸幸 茂木
C#とILとネイティブと
C#とILとネイティブと
信之 岩永
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
Deep Learning JP
TDPT + VMCプロトコル on WebRTC
TDPT + VMCプロトコル on WebRTC
hironroinakae
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
なおき きしだ
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Deep Learning Lab(ディープラーニング・ラボ)
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)
Takanori Ogata
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII
Recomendados
Laravelで作成したアプリ紹介
Laravelで作成したアプリ紹介
伸幸 茂木
C#とILとネイティブと
C#とILとネイティブと
信之 岩永
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
Deep Learning JP
TDPT + VMCプロトコル on WebRTC
TDPT + VMCプロトコル on WebRTC
hironroinakae
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
なおき きしだ
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Deep Learning Lab(ディープラーニング・ラボ)
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)
Takanori Ogata
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII
Triplet Loss 徹底解説
Triplet Loss 徹底解説
tancoro
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
Masahiro Suzuki
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
Ryohei Ueda
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
UnityTechnologiesJapan002
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
Yusuke Uchida
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
uchan_nos
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
Guide To AGPL
Guide To AGPL
Mikiya Okuno
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Fixstars Corporation
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)
Kazuyuki Miyazawa
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
C# 8.0 null許容参照型
C# 8.0 null許容参照型
信之 岩永
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VM
yy yank
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
Nobuyuki Tamaoki
Openhard150114
Openhard150114
たけおか しょうぞう
Mais conteúdo relacionado
Mais procurados
Triplet Loss 徹底解説
Triplet Loss 徹底解説
tancoro
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
Masahiro Suzuki
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
Ryohei Ueda
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
UnityTechnologiesJapan002
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
Yusuke Uchida
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
uchan_nos
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
Guide To AGPL
Guide To AGPL
Mikiya Okuno
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Fixstars Corporation
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)
Kazuyuki Miyazawa
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
C# 8.0 null許容参照型
C# 8.0 null許容参照型
信之 岩永
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VM
yy yank
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
Mais procurados
(20)
Triplet Loss 徹底解説
Triplet Loss 徹底解説
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
プログラムを高速化する話
プログラムを高速化する話
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Guide To AGPL
Guide To AGPL
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
C# 8.0 null許容参照型
C# 8.0 null許容参照型
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VM
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Semelhante a Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
Nobuyuki Tamaoki
Openhard150114
Openhard150114
たけおか しょうぞう
Vitisのご紹介とAmazon EC2 F1体験デモ
Vitisのご紹介とAmazon EC2 F1体験デモ
Jun Ando
Summercamp2020 group4
Summercamp2020 group4
openrtm
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
OSgeo Japan
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
marsee101
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
openrtm
RISC-V の現況と Esperanto Technologies のアプローチ
RISC-V の現況と Esperanto Technologies のアプローチ
Yutaka Yasuda
Spring3.1概要x di
Spring3.1概要x di
Yuichi Hasegawa
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
Yuji Kubota
Osc2010 Do LT
Osc2010 Do LT
Kazuhisa Hara
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Mt basic as-os_on_danbot
Mt basic as-os_on_danbot
たけおか しょうぞう
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
EMC Japan
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
VirtualTech Japan Inc.
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29
Takefumi MIYOSHI
Semelhante a Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
(20)
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
Openhard150114
Openhard150114
Vitisのご紹介とAmazon EC2 F1体験デモ
Vitisのご紹介とAmazon EC2 F1体験デモ
Summercamp2020 group4
Summercamp2020 group4
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
RISC-V の現況と Esperanto Technologies のアプローチ
RISC-V の現況と Esperanto Technologies のアプローチ
Spring3.1概要x di
Spring3.1概要x di
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
Osc2010 Do LT
Osc2010 Do LT
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
Mt basic as-os_on_danbot
Mt basic as-os_on_danbot
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29
Último
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Último
(12)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
1.
RISC-VベースカスタムSoC開発ツールChipyardによる ベイズニューラルネット向け学習アクセラレータ開発 @RISC-V Day Tokyo
2020 Virtual Booths 20/11/5 西田 圭吾 理化学研究所 生命機能科学研究センター 計算分子設計研究チーム リサーチアソシエイト / 大阪大学大学院 生命機能研究科 生命動態システム科学講座 博士一貫課程
2.
深層学習の運用上の課題 • 学習データと異なる入力を受けた場合のふるまい – 犬の識別を学習したNNに猫の入力を与えたら? –
運用中のカメラのピントがずれたり天候が悪い状況になったら? • 破滅的忘却(Catastrophic Forgetting) – 新しいタスクの学習を続けると昔に学習したタスクを忘れる • 例) 犬の識別を学習した後に猫の識別の学習をすると犬の識別ができなくなってたりする – ストリームデータを扱う学習のような継続学習(Continual Learning)で重要になる 考え方 [2] Sayna Ebrahimi et. al., “Uncertainty-guided Continual Learning with Bayesian Neural Networks .” ICLR 2020 [1] Yaniv Ovadia et. al., “Can You Trust Your Model's Uncertainty? Evaluating Predictive Uncertainty Under Dataset Shift.” NIPS 2019 ベイズニューラルネットが今後これらの課題を解決する候補に挙がる[1][2] ふんわりと書いているのはまだ基礎研究段階という印象があるため。今後の発展に期待したいですが…
3.
ベイズニューラルネット(ベイズNN) • 訓練データ𝐷から得た重みパラメータ𝑤の不確実性を表現する事後分布𝑝(𝑤|𝐷) を学習 – 重みのパラメータ𝑤に対して確率分布のパラメータ𝜃(平均𝜇や分散𝜎とか)を持つ –
事前分布の選択次第で事後分布の表現する不確実性に変化が生じる • 𝑤 = 𝜇 + 𝜎 ∗ 𝜀, 𝜀 ~ 𝑁(0, 𝐼) としてガウス事後分布を表現しBackpropagation法で 学習するBayes by Backprop(BbB)法[3]が実装的にシンプル [3] Charles Blundell et. al., “Weight Uncertainty in Neural Networks.” ICML 2015 ニューラルネット (NN) ベイズニューラルネット (ベイズNN) 重みの分布 (事後分布) ニューラルネットとベイズニューラルネットの違い[3]
4.
ベイズNN(BbB法)での未知データ入力の簡単なテスト Copyright © 2017
Ali Gholamihttps://en.wikipedia.org/wiki/MNIST_database MNISTデータセット notMNISTデータセット ネットワークの最大出力値(Confidence)の閾値 τ 閾値τ以上のネットワーク出力に おける正答率(Accuracy) [4] Balaji Lakshminarayanan et. al., “Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles.” NIPS 2017 独自拡張 ベイズNNによって学習されたモデルは未知のデータセットの入力が 混ざることによる正答率の低下がMLPと比べて抑えられる傾向 閾値によってnotMNISTによる 影響をほぼ除けない範囲 0.9以上の出力に限れば 正答率が40%からおよそ 70%程度に改善する • MNISTデータセットでモデルを学習 – 4層の全結合NN(MLP) – 4層のベイズ全結合NN (MLP, BbB法) • 学習時と同じデータと異なるデータを入力 – 既知のデータセット MNIST 10,000データ – 未知のデータセット notMNIST 20,000データ • 正答率-信頼度カーブで評価[4] – Accuracy vs Confidence curves – サンプリングサイズ 5 (ベイズモデル平均化(BMA)法) – ベイズNNの改良にもチャレンジしているものの 今のところ改善は軽微 MLPの ベイズ化 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.8 0.6 0.4 0.2 0.0 BbB MLP
5.
ベイズNN(BbB法)の学習時間 RISC-VコアのQEMU実行(RV64GCコア) 重みのサンプリング(主に推論時)や確率分布の評価(推論・学習時)に膨大な計算コストがかかる • RISC-Vのエミュレータを利用したMLPとBbBの学習 における実行サイクル数の比較 – Cフルスクラッチ実装 •
条件 – 入力層: 28x28 – 中間層: 128 x 2層 – 出力層: 10 – バッチサイズ: 8 – 学習則: SGD – 事前分布(BbBのみ): 混合ガウス(Scale Mixture)[3] – サンプルサイズ(BbBのみ): 1 MLPのベイズ化によって追加で必要になる処理 専用ハードウェア化のターゲット replace Sample+KL forward update backward bayesgrad
6.
ベイズNN(BbB法)向けの学習アクセラレータに必要な機能 重みのサンプリングの効率化 – 𝑤 =
𝜇 + 𝜎 ∗ 𝜀, 𝜀 ~ 𝑁(0, 𝐼)の計算をベクトルで一気に処理 – 専用の乱数生成器(RNG)と演算器までのデータフローを作りこむ – ベイズNNの推論をターゲットとしたハードウェア(HW)アクセラレータと本質的には変わらない[5][6] • 学習時の行列積計算やベクトル計算を想定してHWを設計するかしないかの違い(デジタル計算機の場合) 確率分布の数値計算の高速化 – 事後分布と事前分布のKullback-Leibler計算(分布間の距離計算)でモンテカルロサンプリングによる 期待値計算が必要 – BbB法[3]では事前分布に混合ガウシアンを採用しているため計算コストが高い(推論のみだと不要) • 特にここのBackpropagationが重い – テーブルによる近似計算で対応(Chebyshev多項式近似) [5] R. Cai et. al., “VIBNN: Hardware Acceleration of Bayesian Neural.” ASPLOS 2018 [6] Y. Hirayama et. al., “A Hardware-efficient Weight Sampling Circuit for Bayesian Neural Networks.” IJNC 2020 Chebyshev多項式近似HW
7.
Chipyard • UC Berkeleyが主導で開発しているシステムオンチップ(SoC)開発ツール[7] –
ハードウェア構成言語Chisel(Scalaのドメイン特化言語)で主に構成されている – オープンソースソフトウェア(OSS) https://github.com/ucb-bar/chipyard • ハードウェア – RISC-Vコア、アクセラレータ、キャッシュ型メモリシステム、各種周辺回路 • ハードウェア環境 – RISC-Vエミュレート環境、ASWのF1インスタンスによるFPGA実行環境 – ASIC向けのツールもあり(使ったこと無いですが) • ソフトウェア – クロスコンパイル環境、RISC-Vのテスト環境、 アクセラレータのソフトウェアサンプル • など © Copyright 2017-2020, The Regents of the University of California [7] A. Amid et. al., “Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs.” MICRO 2020
8.
FireMarshal 環境 FireMarshal Chipyardのソフトウェア実行ツール •
RISC-Vをベースとするワークロード生成ツール – RISC-Vでのソフトウェアの実行ターゲットを簡単に切り替えられるラッパー – QEMUやRISC-V ISAシミュレータ(Spike)、RTLシミュレーションとしてAWSのF1インスタンス による起動(Firesim)の切り替えとLinux、ベアメタル実行サポート – Verilatorによる実行は今のところ正式にない • RTLをシミュレーションしたければFireMarshalの利用だとAWS上のFPGAを使うしかない • FireMarshalのフローを流用してベアメタルで実行させるといった工夫はできる QEMU, spike simulator Firesim easy to switch コンパイルフローを流用 Verilator
9.
ベイズNNのRISC-V SoC向けソフトウェア開発フロー 1. 非RISC-Vコア上でのベイズNNの実装(C,
Pytorch(Python)) QEMU ✓ターゲットアルゴリズムの一般的な実装 Pytorch実装とC実装での実行結果を比較して実装を間違えていないか検証 2. FireMarshal環境によるRISC-Vへの移植 5. FPGA上でアクセラレータを実行 4. アクセラレータへの移植 Verilator Rocket with Acc SoC アクセラレータの単体テスト作成含む 3. FPGA 環境の確認
10.
Gemmini: RISC-V シストリックアレイ
コプロセッサ[8] [8] H. Genc et. al., “Gemmini: An Agile Systolic Array Generator Enabling Systematic Evaluations of Deep-Learning Architectures.” arXiv 2019 • 深層学習の推論向けに開発されたシストリックアレイ のアクセラレータ – Chipyardに組み込まれているアクセラレータの一つ – 専用のインターフェース(RoCCインターフェース)から制御 • UC Berkeleyで開発されているRISC-Vコア(Rocket, BOOM) でサポートされているインターフェース – ASIC化された実績あり • Chipyardの利用を前提としてメンテナンスされている – HW構成がシンプルかつソフトウェアサンプルが充実 • テンプレート的に使いやすい – Rocket SoCのNoCであるTileLinkと結合済み • アクセラレータ内でのデータ依存性の管理回路やアクセ ラレータ内外でのDMA実装をゼロから作る必要なし • 個人的にかなり助かった部分 Gemmini SoC Gemmini SoC のフロアプラン
11.
Gemminiからの主なベイズNNの学習向け拡張 Module Gemmini [8]
BNNs Accelerator [ K.Nishida & M.Taiji ] 実行コントローラ 演算器の構成 シストリックアレイ ベクトルレーン (非RISC-V ISA) 転置回路 あり (現状)なし 乱数生成(RNG) なし あり (専用データフロー含む) 活性化関数の演算場所 実行コントローラ内 ベクター演算器内 活性化関数 Relu, Relu6 基本なんでも(多項式近似) アキュームレータ スクラッチパッド内 ベクター演算器内 (register) 演算のバーストサイズ 固定 可変 Re-Order Buffer データ依存性の管理 サイズ固定 サイズ可変 (ベクトル-スカラ演算対応)
12.
ChipyardによるベイズNNの学習アクセラレータ開発 RISC-V Core L2$ DRAM L1$ Scratchpad with Accum
mem RF ALU Frontend Re-Order Buffer Store cntl Load cntl Execute cntl Mesh Gemmini RISC-V co-processor [8] Transposer RISC-V Core L2$ DRAM L1$ Scratchpad RF ALU Frontend Re-Order Buffer Store cntl Load cntl Execute cntl Vector Proposed Bayesian Neural Networks Training Accelerator [ K.Nishida & M.Taiji ] PEs Accum Reg Gauss Reduction Tree Elementary Functions Acc Systolic Array FPU RNG Chipyard Framework, Designing and Evaluating RISC-V full-system Hardware [7] Original expansion Major Changes 開発中…
13.
for(int epoch =
0; epoch < num_epoch; epoch++) { shuffle_array_rng(rng, index_random, train_dataset.size); for(int iter = 0; iter < num_iter; iter++) { for(int j = 0; j < batch_size; j++) { int idx = index_random[iter * batch_size + j]; for(int k = 0; k < N_IN; k++) { batch[j][k] = train_dataset.data[idx*N_IN+k]; } for(int k = 0; k < N_OUT; k++) { t[j][k] = train_dataset.target[idx*N_OUT+k]; } } for(int s = 0; s < num_sample; s++){ sampling_layers(true); forward_propagation((elem_t *)batch); backward_propagation((elem_t *)t, (elem_t *)batch); } update_all_layers(lr); init_grad(); validation(epoch, iter, 1, (elem_t *)batch, (elem_t *)t, batch_size, N_IN, N_OUT, batch_size); } validation(epoch, -1, 0, test_dataset.data, test_dataset.target, test_dataset.size, N_IN, N_OUT, batch_size); } カスタムSoCにおけるBbB法の実行割り当て • 基本的にC言語で書いていけばRISC-V SoCは動かせる – アクセラレータでの動作はイントリンシック (RISC-Vカスタム命令)で記述 • 学習時に行うデータセットのシャッフ ル以外は基本的にアクセラレータ内 で実行 • elem_t 型 – アクセラレータへ渡すデータの型 • Gemminiで採用されている方法 – RISC-Vコアはint型でデータ幅のみ認識 – アクセラレータ内では実装されている データ型(float32 or bfloat)で計算される RISC-Vコア アクセラレータ
14.
Chipyardを使ってみて良かった点 • とにかく動くサンプルがたくさんある – とりあえず実装の方法に困ったらいろんなプロジェクトを参考にできる •
プロジェクトの一つをテンプレート的に使ってハードウェアが動く状態のまま 独自拡張しながら開発できる – Cで実行を確認しながらアクセラレータを徐々に開発できるのは楽 • アルゴリズムの検討からアクセラレータの設計、ソフトウェアの実装まで一人 で全体像を見渡すことが(頑張ればプロトタイプ程度の開発なら)できる • Chipyardでツール群の依存関係が管理されていて変な苦労が無い – Chipyardが出るまでは依存関係に苦しんで何度も環境構築で挫折… – バージョンが上がるときに若干の依存関係の管理が抜けてたりするが、issueに直ぐ上 がっているのでそこまで問題は無さそう(今のところ)
15.
Chipyardを使ってみて不満な点 • 実のところそこまでない – RISC-Vエコシステムの構築がChipyardがリリースされるまであまりに辛過ぎて、 それと比べると多少の環境構築時のエラーは許容範囲 –
他にChipyardみたいなツールを使ったことが無いので感覚がわからないだけ? • 不満があるとすればChipyardというより各ツールのバグや使い勝手 – これから改善されてくるはず RISC-Vコミュニティによる継続的な開発が進むことで かなり使いやすいフレームワークになる予感
16.
まとめ • ニューラルネットをベイズ化すると訓練データの特徴から離れたデータを 入力されてもある程度はロバストに動く – ただし、学習に時間がかかる •
ベイズNN(BbB法)の学習の高速化には大量の乱数の生成と専用のデー タフローに加えて確率分布計算の高速化が必須で専用ハードウェア化 • ベイズNNの学習を行うハードウェアをゼロから作成するのは大変なので OSSのRISC-V SoC開発ツールChipyardを採用した – Gemminiアクセラレータがテンプレート的に使うのに便利な感じ • Chipyardの枠組みを利用して、ソフトウェア、アルゴリズム、ハードウェアの 検討および実装を進めている