神經(jīng)網(wǎng)絡(luò)中的矩陣的理解

學(xué)號:20021110085 ? ? ? ? ? ? ?姓名:鄭佳?

轉(zhuǎn)載:https://blog.csdn.net/qilei2010/article/details/106117322?

【嵌牛導(dǎo)讀】要想深入理解卷積神經(jīng)網(wǎng)絡(luò),其實(shí)一些常見的矩陣相關(guān)知識必須掌握。

【嵌牛鼻子】【神經(jīng)網(wǎng)絡(luò)】神經(jīng)網(wǎng)絡(luò)中的矩陣的理解

【嵌牛正文】

在《深度學(xué)習(xí)入門:基于Python的理論與實(shí)現(xiàn)》書中,看到講解矩陣的章節(jié),加深了我對矩陣的理解。

脫離應(yīng)用理解數(shù)學(xué)是很難的。將矩陣放在深度學(xué)習(xí)的環(huán)境里可以較好的理解矩陣的含義。

這里假設(shè)你已經(jīng)學(xué)過矩陣。


1.三層神經(jīng)網(wǎng)絡(luò)

對于神經(jīng)網(wǎng)絡(luò),我更傾向于理解為:因素(輸入層)、影響因子(權(quán)重),結(jié)果(輸出層),這更貼近實(shí)際中的因果關(guān)系。

先假設(shè)有如下矩陣:

根據(jù)矩陣的計算規(guī)則,畫出模型圖,如下:

輸入層是 x1 與 x2,可理解為因素,對于每個因素,都有3個權(quán)重,組合起來會導(dǎo)致?3個結(jié)果。

2.理解權(quán)重矩陣

權(quán)重矩陣的第一行(1,2,3),從圖中可以看出是 從 x1 伸出的三條黑線,是 作用于 x1 的所有權(quán)重,分別會影響R1、R2、R3。

權(quán)重矩陣的第一列(1,4),從圖中可以看出是指向 結(jié)果R1 的兩條輸入線,是僅影響 R1 的全部權(quán)重。


總結(jié)一下,權(quán)重矩陣也可以這么理解:

權(quán)重矩陣的每行對應(yīng)一個因素。每行的數(shù)字是作用于某個因素的所有權(quán)重。

權(quán)重矩陣的每列對應(yīng)一個結(jié)果。每列的數(shù)字是影響某個結(jié)果的全部權(quán)重。

知道這個,就很容易理解權(quán)重矩陣與輸入層和輸出層元素個數(shù)的關(guān)系了。

若輸入層有2個元素,輸出需要有3個元素,那么權(quán)重矩陣就必須是 2行3列。2行對應(yīng)2個輸入因素,3列對應(yīng)3個結(jié)果。


3.多維輸入層

前面講的矩陣運(yùn)算,左矩陣是一維矩陣,如果是二維、三維,如何理解呢?

輸入層怎么會出現(xiàn)二維呢?會的,如果我們進(jìn)行批量處理,即處理完(x1,x2)這對因素,我們還要處理(y1,y2)等因素,就可以組合成二維或多維矩陣形式。每一行就代表一個要處理的二元因素。每行因素之間沒有任何聯(lián)系,也互不影響,只是純粹的計算方便,而摞在一起。

從上面一段話可以看出來,其實(shí)每行的數(shù)據(jù),是沒有任何關(guān)聯(lián)的。上式可理解為下面二式的簡略寫法。

所以,我們可以像前面的結(jié)論一樣,這么理解多維的輸入層矩陣運(yùn)算:

輸入矩陣的每行對應(yīng)一次運(yùn)算,各行互不關(guān)聯(lián)、互不影響。

每次只考慮一行,最后將結(jié)果摞在一起。

最后,個人理解,矩陣純粹就是人為定義的數(shù)據(jù)的排列方式而已,矩陣的乘法就是人為定義的計算規(guī)則。矩陣就只是個數(shù)學(xué)大師們發(fā)明的趁手的工具,沒有任何的自然意義,有點(diǎn)像計算機(jī)領(lǐng)域的語法糖。

以上僅為個人理解,歡迎指正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容