神經網絡一鍵可視化
來源:投稿?作者:ΔU?
編輯:學姐
不知道大家在剛接觸神經網絡時有沒有這樣的感覺?在搭建神經網絡時總是覺得神經網絡就是個黑盒子,完全搞不清盒子內部發(fā)生了什么。
其實所謂的神經網絡就是對人腦運作模式的一種模擬,神經網絡模型的強大能力是基于成百上千萬的神經元相互作用的結果。
那么理解神經網絡的內部工作機制就顯得尤為重要,今天給大家分享一款由加拿大蒙特利爾一家公司開發(fā)的一款免費的神經網絡可視化工具?Zetane Viewer,Zetane Viewer是一個幫助理解和加速機器學習和人工神經網絡的工具。它可以通過可視化的方式理解模型的架構和內部數據(特征圖、權重、偏差和層輸出張量)來打開人工智能的黑盒子,目前各個版本已經在github開源。
關注【學姐帶你玩AI】公眾號
回復“驚呆”領取
本文項目代碼

# Zetane Viewer展示
如何加載模型?
Zetane Viewer同時支持 .onnx和 .ztn文件。ZTN文件是從這個Git存儲庫中共享的Keras和Pytorch腳本生成的。要加載Zetane模型,只需單擊DATA I/O菜單中的“Load Zetane Model”。要加載Onnx模型,請在同一菜單中點擊“Import ONNX Model”

當一個模型在Zetane引擎中顯示時,該模型的任何組件都可以在幾次點擊中訪問。
在最高層上,我們有由相互連接的節(jié)點和張量組成的模型體系結構。每個節(jié)點表示計算圖的一個算子。通常,一個輸入張量被傳遞給模型,當它經過節(jié)點時,它會被轉換成中間張量,直到我們到達模型的輸出張量。

如何導航?
您可以通過右鍵單擊和拖動來瀏覽模型查看器窗口,并使用滾動輪來放大和縮小。以下是完整的導航說明列表。您可以通過頂部菜單中的鼠標縮放切換來改變鼠標滾輪的行為(縮放或導航)。

加載自定義模型輸入
加載模型之后,您可能希望將自己的輸入發(fā)送到模型中進行推斷。Zetane支持加載 npy; npz; png; jpg; pb (protobuf);tiff和hdr文件,以匹配模型的輸入尺寸。Zetane引擎將嘗試智能調整文件加載的大小(如果可能的話),以發(fā)送數據到模型。加載并運行輸入之后,您將能夠詳細研究模型是如何解釋輸入數據的。



如何檢查不同的層和特征圖?
對于每一層,您可以通過單擊每個節(jié)點上的“顯示特征地圖”來查看所有的特征地圖和過濾器。您可以使用張量視圖條檢查輸入和輸出、權重和偏差。

張量視圖工具欄
通過點擊相關的按鈕,您可以可視化每個圖層的輸入、輸出、權重和偏差(如果適用的話)。你也可以研究每個張量的形狀、類型、平均值和標準偏差。

張量值及其分布的統(tǒng)計信息在頂部面板的直方圖中給出。你也可以看到張量的名稱和形狀。張量及其值在中間面板中表示,底部部分包含張量可視化參數和一個允許用戶刷新張量的刷新按鈕。當輸入或權值實時變化時,這是非常有用的。

張量可視化的類型
張量可以以不同的方式進行檢查,包括有或沒有實際值的3D視圖和2D視圖。

1. 三維空間中n維張量的投影:

2. n維張量在二維空間上的投影:

3.張量值和每個值的顏色表示基于分布直方圖x軸上顯示的梯度:

4.張量值:

5.當張量的形狀為3維時,特征映射視圖:

關注【學姐帶你玩AI】公眾號
回復“驚呆”領取
本文項目代碼