卷積神經網路訓練影象的時候,畫素值都是大於0的,那麼啟用函式relu還有什麼作用呢?

時間 2021-05-11 04:20:22

1樓:小布丁

大家的問答真的寫的挺好的,讓人看了很清晰 。總結如下:雖然畫素點的值全為正,但是要經過卷積,卷積核的值可能有負的,最終卷積得到乙個小於0的結果;卷積之後的值要經過BatchNorm層,這個層在歸一化的選擇上也可能會導致出現負值 ,所以需要做ReLu的線性變換。

2樓:Woolsey

Relu是「啟用函式」,用於特徵的「啟用」。

卷積神經網路裡有卷積層對吧?卷積層有很多的「卷積核」。不同的卷積核會被不同的「影象特徵」「啟用」。

比如影象上有個區域是邊緣,那麼一號卷積核經過這個區域的時候就被啟用了;有個區域是銳角,那麼二號卷積核經過這個區域的時候就被啟用了;有個區域是平行線,那麼三號卷積核經過這個區域的時候就被啟用了…

這樣之後我們就可以知道影象的哪些區域啟用了一號卷積核,哪些區域啟用了二號卷積核。因而也就可以知道影象的哪些區域是邊緣,哪些區域是銳角。從而完成了對影象的特徵描述,為進一步的識別和理解做好準備。

最後再說回relu,relu的作用就在於判斷卷積核是否被啟用了。拿乙個卷積核在某個位置做計算,於是就可以得出乙個值,或正或負,正的就是被啟用了,負的就是沒被啟用。relu啟用函式作用上去,被啟用的特徵值保留,負的特徵值歸零,未被保留。

能否對卷積神經網路工作原理做乙個直觀的解釋? - OwlLite的回答 - 知乎 https://www.

3樓:雲山亂

在深度學習裡面, ReLU一般跟隨在卷積層conv後面。這樣,即使輸入全都是正數,由於conv layer的引數有正有負,經過卷積之後也會變成有正有負。這樣ReLU就會阻斷負值保留正值,起到非線性啟用的作用。

4樓:楊個毛

這裡糾正乙個錯誤的觀點,就是 ReLu 的輸入是由於某種歸一化方法的存在,才變得有正有負。

實際上因為 conv 的 weight 可以有負數,輸入的值域不管是什麼,輸出都可以是有正有負的。並且典型的 conv 的 weight 的初始化方法也是某個均值為 0 的分布,所以 conv 輸出在網路訓練前按道理說應該是正負各半的,這並不依賴於 conv 輸入的分布……

5樓:moluth

無論輸入什麼樣,輸入可以不變換到[-1,1]區間,甚至直接用畫素原始值。經過卷積層後,得到的結果可能有正有負。

舉個栗子:

假設輸入是乙個單通道3*3的單通道影象:

1,2,3

4,5,6

7,8,9

有乙個2*2的卷積核,不加邊框,步長為1,假設卷積核如下:

1,-1

1,-1

影象經過改卷積核,得到:

1-2+4-5,2-3+5-6

4-5+7-8,5-6+8-9

即-2,-2

-2,-2

假設輸入是乙個單通道3*3的單通道影象:

3,2,3

6,5,6

9,8,9

經過上面的卷積核

2,-2

2,-2

6樓:liuxingzhuyue

瀉藥.卷積神經網路訓練中一般加batch normalization(或者其他normalization)方法,可以是的feature map的有正有負,接在後面的relu函式將負值抑制。

7樓:林海雪原

首先不是大於0的,不論前面因為正則化導致還是還是訓練過程中導致,甚至權重初始化導致,其次,啟用函式最初的目的是引入非線性,這樣可以有更好的表達能力

8樓:Ringzl

如果輸入全為正值的話,相當於線性啟用,這樣就變成類似感知機模型,只能做線性分類。而在複雜的模型中要最優化損失函式,反向傳播時,就必須要讓某些濾波器引數出現負值,從而引入非線性。

9樓:提子很甜

影象一般都會做0均值的,即使做歸一化畫素值大於0,但經過隨機初始化的第一層神經網路後就會出現負值, relu是在卷積後邊,不是直接連線輸入的~~

10樓:不像樣

即使畫素值大於零,但是如果卷積的初始化值不全是非負值,那麼經過卷積運算後某些unit的值就可能是負值了;另外啟用函式relu引入了非線性。

看到這麼多人的回答,忍不住在說一點,好比a大於0,但是a*b不一定大於0,因為b可以大於0,小於0,等於0。

11樓:rootkitchao

誰說畫素值都是大於0的

通常preprocessing的時候都會Map image values from [0, 255] to [-1, 1]

12樓:何文謙虛謹慎得不得了

你首先要明白Relu也就是啟用層是在什麼時候起作用的,一般在CNN結構裡,是conv+batchnorm+activation構成乙個「卷積層」,在conv層時filter可以有負項,batchnorm後會讓乙個batch的分布為zero centric同樣也會出現負項,經過這兩個處理後的map再經過activation可以是relu也可以是其他non-linear function,並非直接將原圖通過relu

卷積神經網路和BP神經網路的關係?

乙個維度的BP神經網路就相當於CNN中的全連線了,無非是多幾個全連線,CNN是二維,二維如果搞成全連線就導致運算量巨大,所以有了權重共享,大大減少了運算量,CNN卷積的思想肯定也源於BP神經網路就,在影象上做二維卷積的CNN發出炫目的光芒下,BP神經網路就已經快被人們遺忘了,但是不管CNN再怎麼發展...

使用卷積神經網路處理影象時,使用資料增強和不使用(最終影象數量一樣),理論上哪個效果會更好?

Alex Sun 其他回答的答主都自己跑過實驗嗎?笑死我了 Data Augmentation在絕大多數情況下帶來的在test set上的提公升是顯著的。一般來說,在classification,detection,segmentation等task上。樓主可以嘗試運用 Mirror Flip,Ra...

卷積神經網路(CNN)和迴圈神經網路 RNN 有什麼區別?

不存在的1990 從字面區分 cnn 裡面的 c指 convolutional operation,是一種提取影象特徵方法。把這一operation加入到layer裡面構成了convolutional layer。rnn裡的r 指recurrent,中文是重複的意思。rnn構造的結構也是recurr...