FC2カウンター FPGAの部屋 「ゼロから作るDeep Learning」の2層ニューラルネットワークのハードウェア化5(推論の検証)

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

「ゼロから作るDeep Learning」の2層ニューラルネットワークのハードウェア化5(推論の検証)

「ゼロから作るDeep Learning」の2層ニューラルネットワークのハードウェア化4(Vivado HLS)”の続き。

前回は、Vivado HLSを使用して、MNISTデータセットで、手書き数字を認識する2層のニューラルネットワークの推論のハードウェア化を行った。今回は、前回、ハードウェア化したニューラルネットワークは 8 の推論をミスってしまった。MNIST データの 0 個目から100 個のデータを使用して検証したので、もう少し、違ったデータで検証してみよう。

まずは、前回、8 の認識をミスってしまったので、200 個のMNIST データをC のヘッダファイルとして出力してC シミュレーションをしてみたが、メモリのオーバーフローでC シミュレーションが成功しなかった。
それでは、ということで、”MNISTデータセットの一部をC の配列に変換するPython コードの更新”で、100 番目から 100 個のMNIST データをC のヘッダファイルに変換して、C シミュレーションを行った。その結果を示す。
nn_fpga_ch5_25_170607.png

id = 15, max_id_ref = 4, max_id_sw = 9
id = 24, max_id_ref = 7, max_id_hw = 4
id = 49, max_id_ref = 2, max_id_hw = 4
id = 49, max_id_ref = 2, max_id_sw = 4


ハードウェアはID が24 と 49 の2つ間違っている。ソフトウェアはID が 15 と 49 の2つ間違っている。49 は共通だが、15 はソフトウェアだけ、24 はハードウェアだけが間違っている。
推論をミスった数字を見てみよう。
ID = 15
nn_fpga_ch5_32_170607.png

ID = 24
nn_fpga_ch5_33_170607.png

ID = 49
nn_fpga_ch5_34_170607.png

どれもミスっても仕方ないかもしれない?

次に 200 番目から 100 個のMNIST データをC のヘッダファイルに変換して、C シミュレーションを行った。
nn_fpga_ch5_37_170607.png

id = 33, max_id_ref = 8, max_id_sw = 7
id = 41, max_id_ref = 9, max_id_hw = 5
id = 47, max_id_ref = 4, max_id_hw = 2
id = 47, max_id_ref = 4, max_id_sw = 2
id = 59, max_id_ref = 6, max_id_hw = 0
id = 59, max_id_ref = 6, max_id_sw = 0
id = 90, max_id_ref = 8, max_id_hw = 4
id = 90, max_id_ref = 8, max_id_sw = 4


今回は間違いが多い。ハードウェア、ソフトウェア共に 4 個ずつ間違っている。
ID = 33, ソフトウェア間違い。
nn_fpga_ch5_38_170607.png
人間が見ると 8 だよね。

ID = 41 と 47、41 はハードウェアのミス、47 はソフトウェア、ハードウェア共にミス。
nn_fpga_ch5_39_170607.png
9 は 9 に見える。4 は微妙か?
でも、その間の数字は、良く認識できているな?と感じる。

ID = 59、ソフトウェア、ハードウェア共にミス。
nn_fpga_ch5_40_170607.png
6 には見えるが、丸が大きいかも?

ID = 90、ソフトウェア、ハードウェア共にミス。
nn_fpga_ch5_41_170607.png
これは微妙。8 なんだけど上が閉じていない。これは間違えるかも?

ということで、ソフトウェア、ハードウェア共に、良く認識できていると思うのがある反面、これを間違わないでよ、というのがある。やはり、学習の仕方が人間と違っているのだろう?
精度が 97.3 % と言っても、人間にとって見やすい文字が間違っているということがあり得るのかもしれない?
  1. 2017年06月08日 05:06 |
  2. DLNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3823-878a83d6
この記事にトラックバックする(FC2ブログユーザー)