神經網路不同類下forward呼叫的程式理解

2021-10-13 23:11:45 字數 1324 閱讀 1421

# sigmoid啟用函式類

class

sigmoidactivator()

:def

forward

(self, weighted_input)

:return

1.0/

(1.0

+ np.exp(

-weighted_input)

)def

backward

(self, output)

:return output *(1

- output)

# 全連線層實現類

class

fullconnectedlayer()

:def

__init__

(self, input_size, output_size,

activator)

:'''

建構函式

input_size: 本層輸入向量的維度

output_size: 本層輸出向量的維度

activator: 啟用函式

'''self.input_size = input_size

self.output_size = output_size

self.activator = activator

# 權重陣列w

self.w = np.random.uniform(

-0.1

,0.1

,(output_size, input_size)

)# 偏置項b

self.b = np.zeros(

(output_size,1)

)# 輸出向量

self.output = np.zeros(

(output_size,1)

)def

forward

(self, input_array)

:'''

前向計算

input_array: 輸入向量,維度必須等於input_size

'''# 式2

self.

input

= input_array

self.output = self.activator.forward(

np.dot(self.w, input_array)

+ self.b)

self.activator.forward()

activator.forward()代表sigmoid啟用函式類中的forward,與全連線層中定義的forward函式不衝突

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...

神經網路簡介 多層神經網路

如上圖所示,該神經網路有三層。我們標記第一層 也就是輸入層 為a 1 第一層與第二層連線權重為w 1 然後第一層輸入與第一層權重的線性和為z 1 第一層神經元個數為n 1 並依次標記剩餘網路層。可以看出,存在 z l j i 1 n l a l i w l i,j a l w l j a l 1 f...