深度學習中相關概念詳解

2021-07-31 23:04:20 字數 2166 閱讀 8469

# 神經網路中的偏置值什麼意思?

就是b值....wx+b的b,打個比方 有點(1,1) 屬於1類  點(2,2)屬於2類,請問是否能從原點畫一條線把他們分開,不可以,所以需要偏置值b,這樣線段就不從(0,0)點出發了。

# 分類與回歸的區別是什麼?

分類和回歸的區別在於輸出變數的型別。

定量輸出稱為回歸,或者說是連續變數**;

定性輸出稱為分類,或者說是離散變數**。

舉個例子:

**明天的氣溫是多少度,這是乙個回歸任務;

**明天是陰、晴還是雨,就是乙個分類任務。# 感知器與多層感知器?

感知器(perception)是基本的處理元素,它具有輸入、輸出,每個輸入關聯乙個連線權重(connection weight),然後輸出是輸入的加權和。

上圖就是乙個單層的感知器,輸入分別是x0、x1、x2,輸出y是輸入的加權和:

y = w0x0 + w1x1 + w2x2

感知器具有很強的表現力,比如布林函式and和or都可以使用上面的單層感知器實現。但是對於xor操作則不行,因為單層感知器只能模擬線性函式,對於xor這種非線性函式,我們需要新型的感知器。

對於xor這種非線性函式的模擬,我們需要採用多層感知器,即在最初的輸入和輸出層之間隱藏著一到多個層,比如:

多層感知器(multiayer perceptrons, mlp)可以實現非線性判別式,如果用於回歸,可以逼近輸入的非線性函式。其實mlp可以用於「普適近似」,即可以證明:

具有連續輸入和輸出的任何函式都可以用mlp近似

,已經證明,具有乙個隱藏層(隱藏節點個數不限)的mlp可以學習輸入的任意非線性函式。

對n-1層和n層而言

n-1層的任意乙個節點,都和第n層所有節點有連線。即第n層的每個節點在進行計算的時候,啟用函式的輸入是n-1層所有節點的

加權。全連線是一種不錯的模式,但是網路很大的時候,訓練速度回很慢。部分連線就是認為的切斷某兩個節點直接的連線,這樣

訓練時計算量大大減小

前饋網路是一種神經網路結構,比如多層感知器,rbf網路。bp是一種神經網路的學習演算法。通常,前饋網路用的都是bp演算法。

但是,前饋網路不一定用bp演算法,也可以用別的比如hebb演算法進行訓練。bp演算法也可以用在其他型別網路的訓練。

最近在組會講解框架時,在感受野這個小知識點,大家開始產生歧義,今天我就簡單的給大家講解下這個小知識點,也給初學者帶來乙個對receptive field嶄新的認識,如果對只是有深入了解的你,就可以直接跳過o(∩_∩)o~~!

現在開始進入正題!!!

以前我的理解就是,感受野嘛,其實那就是乙個視覺感受區域大小。對於單層網路來說,下一層的乙個畫素點其感受野大小也就是卷積層濾波器的大小,想想其實很明了的就理解了,但對於多層,那就有一點點(也就那麼一點點複雜而已)!

正式定義:

在神經網路中,感受野的定義是:

卷積神經網路的每一層輸出的特徵圖(feature ap)上的畫素點在原影象上對映的區域大小。

現在就開始來說怎麼計算吧!(看點來了)其實很簡單!

首先可以簡單知道(前面也提及到了),第一層卷積層的輸出特徵影象素的感受野的大小就等於等於卷積層濾波器的大小;然後其繼續進行前向傳播,這樣的話,後面深層的卷積層感受野大小就和之前所有網路層的濾波器大小和步長有關係了,在計算的時候,忽略影象padding的大小。網路中的每乙個層有乙個strides,該strides是之前所有層stride的乘積,即:

查資料知,感受野大小的計算採用從深層到前層的方式計算, 即先計算最深層在前一層上的感受野,然後逐漸反饋到第一層,公式具體記如下:

其中v^ 為得的感受野大小, v 為最後層在前一層的感受野大小,size_ 為卷積層濾波器大小。

深度學習 0 相關概念

卷積核 3 3 3 前兩個 3是卷積核大小,後乙個是通道數,指定步長後滑動一次生成 乙個 x,y,1 假設有n個卷積核,這樣就生成 x,y,n 縮小大小,厚度增加 引數 n個卷積核 n 3 3 n 偏執 對於32 32 3的 28 28 64 卷積 28 28 64 14 14 64 池化 通常也有...

深度學習概念

深度學習是基於機器學習延伸出來的乙個新的領域,由以人大腦結構為啟發的神經網路演算法為起源加之模型結構深度的增加發展,並伴隨大資料和計算能力的提高而產生的一系列新的演算法。深度學習什麼時間段發展起來的?其概念由著名科學家geoffrey hinton等人在2006年和2007年在 sciences 等...

詳解CI CD相關概念

在軟體的編譯發布的過程中,經常能夠看到ci cd這樣的詞語。其實他們是專業的縮寫短語,這裡介紹下他們的概念和區別。敏捷軟體開發,英文全稱 agile software development,是從1990年代開始逐漸引起廣泛關注的新型軟體開發方式,是一種應對快速變化的需求的一種軟體開發能力。它們的具...