FPGA

技術記事

FPGAにおけるAIを考察する

FPGAの能力ここでは私がよく使っている AMD の Kria KV260 ボードを例に取り上げて具体的な話をしてみようと思います。リソース名個数容量演算DSP1,248Multiply and AddLUT117,12064 bit(LU...
LUT-Network

LUT-Networkの蒸留とMobileNet風構成とセマンティックセグメンテーション

はじめに従来のパーセプトロンモデルを使った学習ではなく、回路そのものを微分してFPGAを直接学習してしまおうという当サイトオリジナルのディープラーニングLUT-Networkですが、ここのところ深いネットを学習させるために蒸留(Knowle...
LUT-Network

LUT-Networkの蒸留(Distillation)について

今日は、Networkの蒸留(Distillation)について考察してみたいと思います。LUT-Networkに限らないのですが、その課題に学習時のGPUのメモリの不足と、学習時間の問題があります。例えばMobileNetという軽量なネッ...
LUT-Network

FPGAでのDNN(Deep Neural Network)の整理(LUT-Netまとめ)

はじめに現在DNN(Deep Neural Network)の実装において、FPGAの活用はしばし議論の対象になっています。もちろんDNN分野全体からするとニッチな部類に入るとは考えますが、FPGAベンダーはここに非常に力を入れており、作成...
LUT-Network

LUT-NetのFPGAリソースについて

久しく作業が止まっていましたが、今日はLUT-Netと従来のネットワークとのFPGA化したときのリソース規模の違いを俯瞰しておきたいと思います。あらかじめ断っておきますが、ここで行う比較は認識率が異なるので公平な比較ではありません。通常のN...
Deep Learning

MNIST認識のリアルタイム動作環境更新

先日MNIST環境強化したのですがTwitterに書き込んでそのままだったので今更ながら更新しておきます。今回は Data Augmentation により、若干のスケール/回転/併進/ネガポジ耐性を付与 数字部分かを判定する2クラス分類器...
LUT-Network

LUT-Networkの最新資料更新

FPGAXでお話のお時間を頂いて資料を作ってからある程度開発が進展してきました。Twitter上中心に、多くの方からご支援いただけたことをまことに感謝しております。特に marsee101さんには、FPGAの部屋にてBinaryBrainの...
LUT-Network

祝! LUT-NetworkのLUTモデルの逆伝播学習動作

前回メモで書いた内容がどうやら動作したようなので、速報レベルで記事を書いておきます。上記はMNISTデータをFP32にて、入力値がそれぞれバイナリの1になる確率として計算した後に、実際にバイナリモデルにテーブルコピーを行って動作確認したもの...
LUT-Network

LUT-Networkの為の学習方法アイデアメモ

先日、LUT-Networkでの回帰をやってみましたが、もともと観測すると1か0に確定するだけで、その確率を扱っているだけなので、多値が扱えないなんて事はまったく無いと思っています。 で、今日急にお風呂の中でLUT-Networkの学習を効...
LUT-Network

バイナリLUT-Networkで回帰問題をやってみる

バイナリネットワークをやっていると課題の一つに「普通にやると回帰問題が解けない」というのがあるかと思います。バイナリネットはバイナリを入れてバイナリを出力しますので、そのままでは多値的なものが扱えません。例えば二乗誤差が最小になるようにフィ...