當前位置:
首頁 > 知識 > 用Excel理解神經網路

用Excel理解神經網路


摘要: 為了簡化卷積神經網路這個概念,本文將試著基於excel針對在開發深度學習模型過程中所做的運算進行解釋。

用Excel理解神經網路

為了簡化卷積神經網路這個概念,我將試著針對在開發深度學習模型過程中所做的運算進行解釋。要查閱這方面更多的內容,我建議在線搜索,因為網上的信息很多很多(像這樣視頻)。本文的這個解釋來源於fast.ai倉庫。

這個簡單的神經網路圖片基本上代表了本案例中發生的事情。

用Excel理解神經網路

簡單的神經網路


輸入層

這個數字7的圖像數據來自MNIST數據集,我們假設你正在使用預訓練模型進行分類。

用Excel理解神經網路

你可以在數據集中看到更大的數字7


隱藏層 1

隱藏層用於對輸入進行轉換,以便從輸出層的數據中識別出更複雜的特徵,從而做出更好的評估。

兩個過濾器將呈現出不同的形狀:第一個過濾器用於檢測水平邊緣,第二個過濾器檢測垂直邊緣。這個3x3的過濾器被稱為卷積核。下圖中的filter 1被激活用於檢測輸入中的水平邊緣。Conv1展示了將輸入分別乘以兩個3x3卷積核之後的激活情況。下面的圖片更形象地展示了這個過程。

用Excel理解神經網路

雖然現在是以二維數組的形式來展示的,但它們其實應該被稱為張量堆疊。每個矩陣表示張量中的一個切片。這些基本上都是線性代數中的行操作。

=SUM(F11:H13*$AD$11:$AF$13) 則是進行卷積運算。

該求和運算將根據輸入中特定的3×3的部分計算得到激活數字3。

用Excel理解神經網路

這代表了一個單一的層。

激活函數

用Excel理解神經網路

接下來,我們將把非線性單元RELU作為激活函數來消除負數。在接下來的圖片中,我們可以看到負數消失了。


隱藏層 2

接下來,我們要做另一個卷積。 Conv2將成為下一個隱藏層。我們要用Conv1同時乘以兩個矩陣並取乘積之和。這裡的卷積核用一個2X3X3的張量來表示。

在使用了RELU之後,我們現在創建了第二層。

用Excel理解神經網路

第1層和第2層


最大池化

用Excel理解神經網路

最大池化是通過對Conv2取2x2部分的最大值來得到解析度為原始矩陣寬度和高度的一半的圖像。在Maxpool矩陣中,我們可以看到Conv2的2x2部分的最大值是33。池的計算速度比卷積更快。此外,它具有平移不變性。

用Excel理解神經網路


輸出層

接下來,我們通過給Maxpool中的所有激活函數給予一個權重來建立完全連接層。這是通過矩陣乘法來實現的。在Excel中,我們將使用SUMPRODUCT函數。因此,不像以前那樣需要在卷積層中解析每個部分,完全連接層將對由卷積層提取的特徵執行分類,並通過最大池化層進行降採樣。

用Excel理解神經網路

文章原標題《Understanding Neural Networks Using Excel》,作者: Jean-Carlos Paredes,譯者:夏天,審校:主題曲。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲棲社區 的精彩文章:

阿里雲Redis讀寫分離典型場景:如何輕鬆搭建電商秒殺系統
PostgreSQL 用 CTE語法 + 繼承 實現平滑拆分大表
網站加速新時代 阿里雲CDN推出全站加速服務

TAG:雲棲社區 |