実習・ディープラーニング ~ハードウェア化への道~

実習・ディープラーニング ~ハードウェア化への道~
―― PythonのプログラムをHDL化してFPGAで動かすまでの方法論!

   

【開催日】2019年10月5日(土) 11:00-18:00 1日コース
【セミナNo.】ES19-0097  【受講料】23,000円(税込)
【会場】東京・巣鴨 CQ出版社2Fセミナ・ルーム [地図]
セミナ会場

 ディープラーニング(推論)のハードウェア化に挑戦する。Pythonで書かれたプログラムをいったんExcel化し、その後HDL化する。さらに並列化、パイプライン化によって高速化する。FPGAなので高速なわりに低消費電力になる。講師サイト(下記参照)で連載企画の「第1部 全結合ニューラルネットワーク」のセミナ版。サイトではVHDLのみを扱っているがセミナではVerilogも用意する予定。
 受講者はまずPythonで書かれたMNISTという手書き数字画像データセットの推論プログラムを動かして正解率を確認する。後のハードウェア化のためにPythonを「整数化」して正解率がどの程度落ちるか確認する。Pythonから重み係数や画像データを切り出してExcelに貼り付け、推論結果・途中経過がPythonと一致することを確認する。
 それ以降は実習ではなく座学になる。講師が回路、タイムチャート、HDLを説明する。その後論理シミュレーションを行い、結果・途中経過がExcelとピタリ一致することを説明する。
 さらに回路を並列化、パイプライン化し、サイクル数を1/40以下に減らす。完成したHDLをZYBOというFPGAボードに書き込む。ZYBO持参の受講者はSDカードイメージを当日コピーして動かすことが出来る。時間があれば「畳み込みニューラルネットワーク」のハードウェア化に関しても言及する。

1. Pythonでディープラーニング(推論)の実習
 1.1 まずは普通にPythonで実行して正解率を確認
 1.2 重み係数や画像データを整数化して正解率を確認
 1.3 Pythonから重み係数や画像データをファイルに書き出し
2. Excel(LibreOffice)でディープラーニングの実習
 2.1 重み係数や画像データをExcel(LibreOffice)に貼り付け
 2.2 Excel(LibreOffice)の結果がPythonとピタリ一致するのを確認
 2.3 Excel(LibreOffice)+VBAで重み係数のVHDLを自動生成
↑以上まで実習。↓以下座学になります。
3. 回路図とタイムチャートの説明
 3.1 ROMの読み出し回路とタイムチャート
 3.2 積和演算の回路とタイムチャート
 3.3 擬似シグモイド関数の回路とタイムチャート
4. VHDLの説明(Verilogも用意する予定)
 4.1 VHDLファイルの階層構造
 4.2 ROMの読み出し部のVHDL
 4.3 積和演算部のVHDL
 4.4 擬似シグモイド関数のVHDL
5. 論理シミュレーション(ModelSim)
 5.1 なぜ論理シミュレーションするのか
 5.2 論理シミュレーションの手順
 5.3 論理シミュレーションの結果がExcelとピタリ一致するのを確認
6. 並列化とパイプライン化
 6.1 1層目を並列化で高速化。サイクル数の確認・検討
 6.2 2層目を並列化で高速化。サイクル数の確認・検討
 6.3 パイプライン化。サイクル数の確認
7. FPGAに書いて実行
 7.1 FPGAにプログラミングするまでの手順
 7.2 SDカードイメージをコピーしてZYBOで実行
8. 畳み込みニューラルネットワークのハードウェア化の紹介
 8.1 全結合に比べて畳み込みはより大量の積和演算が必要
 8.2 ビットシフト演算で乗算器を節約する



ハードウェア化が必要な理由

ハードウェア化が必要な理由

本セミナ全体の流れ

本セミナ全体の流れ

HDL化の部分の流れ

HDL化の部分の流れ

ZYBO Zynq7000に実装する

ZYBO Zynq7000に実装する


●対象聴講者
・電気製品にディープラーニングを組み込みたい人
・ディープラーニングを高速化、低消費電力化したい人
・FPGAに興味がある人
・PythonやC言語で書かれたアルゴリズムをHDL化したい人
 下記講師サイトに目を通しおくとベター

●講演の目標
・大量な積和演算を必要とするアルゴリズムを実装する際、CPUやGPUの他に「FPGA」という選択肢が一つ増える
・並列化、パイプライン化ができるのでCPUより高速化が可能であり、GPUと比べて低消費電力になる
・PythonやC言語で書かれたアルゴリズムをハードウェア化する手順が分かる
・回路のどの部分を「並列化」すれば高速化できるかの勘所が分かる
・「パイプライン化」のイメージとその効果をつかめる
・本セミナではHLS(High Level Synthesis、高位合成)ツールは使わないが、本セミナの勘所と、HLSのそれとは共通点が多い

●講演の参考文献、参考URL
1. 講師サイト:http://digitalfilter.com/deeponhw/deeponhw01.html
2. ゼロから作るDeep Learning、オライリー。
3. FPGAパソコンZYBOで作るLinux I/Oミニコンピュータ、CQ出版社。


【受講者が持参するもの】
・AnacondaのJupyter Lab、ExcelまたはLibreOfficeをインストール済みのノートPC(OS:Windows 7以降)。ソフトウェアのバージョン等は後日メールで連絡します。
・ZYBO Zynq7000(任意)。
・USBケーブル(ZYBO持参の方)
・microSDカード(16GB以上、ZYBO持参の方)

●ノートPCをお持ちでない場合、事務局が用意しますので、10月1日までにメールでご連絡ください。
●ZYBO Zynq7000を貸し出しできます。貸し出しを希望される場合、10月1日までにメールでご連絡ください。ただし数に限りがありますので、ご希望に添えない場合があります(残り1台、7/19時点)。

【講師】
岩田 利王 氏〔株式会社 デジタルフィルター 代表取締役〕
 音声・画像などのデジタル信号処理システム、VHDL/VerilogによるFPGA(Xilinx, Intel)、dsPIC, ARM Cortex、MSP430等マイコンシステム、ラズベリーパイ、Arduino、Windowsアプリケーション、スマートフォンアプリ(Android/iPhone)、プリント基板などの開発に従事。 「FPGAスタータ・キットで初体験!オリジナル・マイコン作り」、「FPGAパソコンZYBOで作るLinux I/Oミニコンピュータ」などCQ出版社から著書多数。
講師サイト:http://digitalfilter.com/


このセミナの参加募集について
募集終了のお知らせ
満席のため募集終了となりました.

類似するセミナをお探しの場合
以下にある「このセミナのタグ情報」の中から,ご希望のタグをお選び下さい. お選びいただいたセミナと同じタグ情報を持つセミナを一覧表示します.

このセミナのタグ情報
各タグをクリックすると,類似するセミナの一覧を表示します.

コース

 1日コース

カテゴリ

 組み込みシステム

シリーズ

 

特徴

 演習あり
 講師実演
 実習

キーワード

 FPGA
 HDL
 ソフトウェア
 開発手法

セミナ事務局からのお知らせ

・受講料割引券として使えるメンバーズ・カードの利用規約が変わりました.