一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何建立起強大的視覺層次結構,并最終成為強大的圖像特征提取器

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-08-16 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來,隨著一些強大、通用的深度學習框架相繼出現(xiàn),把卷積層添加進深度學習模型也成了可能。這個過程很簡單,只需一行代碼就能實現(xiàn)。但是,你真的理解“卷積”是什么嗎?當初學者第一次接觸這個詞時,看到堆疊在一起的卷積、核、通道等術語,他們往往會感到困惑。作為一個概念,“卷積”這個詞本身就是復雜、多層次的。

在這篇文章中,我們將分解卷積操作的機制,逐步將其與標準神經(jīng)網(wǎng)絡聯(lián)系起來,探索它們是如何建立起強大的視覺層次結構,并最終成為強大的圖像特征提取器的。

2D卷積:操作

2D卷積是一個相當簡單的操作:我們先從一個小小的權重矩陣,也就是卷積核(kernel)開始,讓它逐步在二維輸入數(shù)據(jù)上“掃描”。卷積核“滑動”的同時,計算權重矩陣和掃描所得的數(shù)據(jù)矩陣的乘積,然后把結果匯總成一個輸出像素。

標準卷積

卷積核會在其經(jīng)過的所有位置上都重復以上操作,直到把輸入特征矩陣轉換為另一個二維的特征矩陣。簡而言之,輸出的特征基本上就是原輸入特征的加權和(權重是卷積核自帶的值),而從像素位置上看,它們所處的地方大致相同。

那么為什么輸出特征的會落入這個“大致區(qū)域”呢?這取決于卷積核的大小。卷積核的大小直接決定了在生成輸出特征時,它合并了多少輸入特征,也就是說:卷積核越小,輸入輸出的位置越接近;卷積核越大,距離就越遠。

這和全連接層很不一樣。在上圖的例子中,我們的輸入有5×5=25個特征,而我們的輸出則是3×3=9個特征。如果這是一個全連接層,輸入25個特征后,我們會輸出包含25×9=225個參數(shù)的權重矩陣,每個輸出特征都是每個輸入特征的加權和。

這意味著對于每個輸入特征,卷積執(zhí)行的操作是使用9個參數(shù)進行轉換。它關注的不是每個特征究竟是什么,而是這個大致位置都有什么特征。這一點很重要,理解了它,我們才能進行深入探討。

一些常用的技巧

在我們繼續(xù)討論前,我們先來看看卷積神經(jīng)網(wǎng)絡中經(jīng)常出現(xiàn)的兩種技巧:Padding和Strides。

Padding

如果你仔細看了上文中的gif,你會發(fā)現(xiàn)我們把5×5的特征矩陣轉換成了3×3的特征矩陣,輸入圖像的邊緣被“修剪”掉了,這是因為邊緣上的像素永遠不會位于卷積核中心,而卷積核也沒法擴展到邊緣區(qū)域以外。這是不理想的,通常我們都希望輸入和輸出的大小應該保持一致。

padding

Padding就是針對這個問題提出的一個解決方案:它會用額外的“假”像素填充邊緣(值一般為0),這樣,當卷積核掃描輸入數(shù)據(jù)時,它能延伸到邊緣以外的偽像素,從而使輸出和輸入大小相同。

Stride

如果說Padding的作用是使輸出與輸入同高寬,那么在卷積層中,有時我們會需要一個尺寸小于輸入的輸出。那這該怎么辦呢?這其實是卷積神經(jīng)網(wǎng)絡中的一種常見應用,當通道數(shù)量增加時,我們需要降低特征空間維度。實現(xiàn)這一目標有兩種方法,一是使用池化層,二是使用Stride(步幅)。

步幅

滑動卷積核時,我們會先從輸入的左上角開始,每次往左滑動一列或者往下滑動一行逐一計算輸出,我們將每次滑動的行數(shù)和列數(shù)稱為Stride,在上節(jié)的圖片中,Stride=1;在上圖中,Stride=2。Stride的作用是成倍縮小尺寸,而這個參數(shù)的值就是縮小的具體倍數(shù),比如步幅為2,輸出就是輸入的1/2;步幅為3,輸出就是輸入的1/3。以此類推。

在一些目前比較先進的網(wǎng)絡架構中,如ResNet,它們都選擇使用較少的池化層,在有縮小輸出需要時選擇步幅卷積。

多通道卷積

當然,上述例子都只包含一個輸入通道。實際上,大多數(shù)輸入圖像都有3個RGB通道,而通道數(shù)的增加意味著網(wǎng)絡深度的增加。為了方便理解,我們可以把不同通道看成觀察全圖的不同“視角”,它或許會忽略某些特征,但一定也會強調(diào)某些特征。

彩色圖像一般都有紅、綠、藍三個通道

這里就要涉及到“卷積核”和“filter”這兩個術語的區(qū)別。在只有一個通道的情況下,“卷積核”就相當于“filter”,這兩個概念是可以互換的;但在一般情況下,它們是兩個完全不同的概念。每個“filter”實際上恰好是“卷積核”的一個集合,在當前層,每個通道都對應一個卷積核,且這個卷積核是獨一無二的。

filter:卷積核的集合

卷積層中的每個filter有且只有一個輸出通道——當filter中的各個卷積核在輸入數(shù)據(jù)上滑動時,它們會輸出不同的處理結果,其中一些卷積核的權重可能更高,而它相應通道的數(shù)據(jù)也會被更加重視(例:如果紅色通道的卷積核權重更高,filter就會更關注這個通道的特征差異)。

卷積核處理完數(shù)據(jù)后,形成了三個版本的處理結果,這時,filter再把它們加在一起形成一個總的通道。所以簡而言之,卷積核處理的是不同通道的不同版本,而filter則是作為一個整體,產(chǎn)生一個整體的輸出。

最后,還有偏置項。我們都知道每個filter輸出后都要加上一個偏置項,那么為什么要放在這個位置呢?如果聯(lián)系filter的作用,這一點不難理解,畢竟只有在這里,偏置項才能和filter一起作用,產(chǎn)生最終的輸出通道。

以上是單個filter的情況,但多個filter也是一樣的工作原理:每個filter通過自己的卷積核集處理數(shù)據(jù),形成一個單通道輸出,加上偏置項后,我們得到了一個最終的單通道輸出。如果存在多個filter,這時我們可以把這些最終的單通道輸出組合成一個總輸出,它的通道數(shù)就等于filter數(shù)。這個總輸出經(jīng)過非線性處理后,繼續(xù)被作為輸入饋送進下一個卷積層,然后重復上述過程。

2D卷積:直覺

卷積仍是線性變換

盡管上文已經(jīng)講解了卷積層的機制,但對比標準的前饋網(wǎng)絡,我們還是很難在它們之間建立起聯(lián)系。同樣的,我們也無法解釋為什么卷積可以進行縮放,以及它在圖像數(shù)據(jù)上的處理效果為什么會那么好。

假設我們有一個4×4的輸入,目標是把它轉換成2×2的輸出。這時,如果我們用的是前饋網(wǎng)絡,我們會把這個4×4的輸入重新轉換成一個長度為16的向量,然后把這16個值輸入一個有4個輸出的密集連接層中。下面是這個層的權重矩陣W:

總而言之,有64個參數(shù)

雖然卷積的卷積核操作看起來很奇怪,但它仍然是一個帶有等效變換矩陣的線性變換。如果我們在重構的4×4輸入上使用一個大小為3的卷積核K,那么這個等效矩陣會變成:

這里真的只有9個參數(shù)

注:雖然上面的矩陣是一個等效變換矩陣,但實際操作可能會不太一樣。

可以發(fā)現(xiàn),整個卷積仍然是線性變換,但與此同時,它也是一種截然不同的變換。相比前饋網(wǎng)絡的64個參數(shù),卷積得到的9個參數(shù)可以多次重復使用。由于權重矩陣中包含大量0權重,我們只會在每個輸出節(jié)點看到選定數(shù)量的輸入(卷積核的輸入)。

而更高效的是,卷積的預定義參數(shù)可以被視為權重矩陣的先驗。卷積核的大小、filter的數(shù)量,這些都是可以預定義的網(wǎng)絡參數(shù)。當我們使用預訓練模型進行圖像分類時,我們可以把預先訓練的網(wǎng)絡參數(shù)作為當前的網(wǎng)絡參數(shù),并在此基礎上訓練自己的特征提取器。這會大大節(jié)省時間。

從這個意義上講,雖然同為線性變換,卷積相比前饋網(wǎng)絡的優(yōu)勢就可以被解釋了。和隨機初始化不同,使用預訓練的參數(shù)允許我們只需要優(yōu)化最終全連接層的參數(shù),這意味著更好的性能。而大大削減參數(shù)數(shù)量則意味著更高的效率。

上圖中我們只展示了把64個獨立參數(shù)減少到9個共享參數(shù),但在實際操作中,當我們從MNIST選擇784幅224×224×3的圖像時,它會有超過150,000個輸入,也就是超過100億個參數(shù)。相比之下,整個ResNet-50只有約2500萬個參數(shù)。

因此,將一些參數(shù)固定為0可以大大提高效率。那么對比遷移學習,我們是怎么判斷這些先驗會產(chǎn)生積極效果的呢?

答案在于先前引導參數(shù)學習的特征組合。

局部性

在文章開頭,我們就討論過這么幾點:

卷積核僅組合局部區(qū)域的幾個像素,并形成一個輸出。也就是說,輸出特征只代表這一小塊局部區(qū)域的輸入特征。

卷積核會在“掃描”完整張圖像后再生成輸出矩陣。

因此,隨著反向傳播從分類節(jié)點開始往前推移,卷積核就可以不斷調(diào)整權重,努力從一組本地輸入中提取有效特征。另外,因為卷積核本身應用于整個圖像,所以無論它學習的是哪個區(qū)域的特征,這些特征必須足夠通用。

如果這是任何其他類型的數(shù)據(jù),比如應用程序的安裝序列號,卷積的這種操作完全不起作用。因為序列號雖然是一系列有順序的數(shù)字,但他們彼此間沒有共享的信息,也沒有潛在聯(lián)系。但在圖像中,像素總是以一致的順序出現(xiàn),并且會始終對周圍像素產(chǎn)生影響:如果所有附近的像素都是紅色,那么我們的目標像素就很可能也是紅色的。如果這個像素最終被證明存在偏差,不是紅色的,那這個有趣的點就可能會被轉換為特征。

通過對比像素和臨近像素的差異來學習特征——這實際上是許多早期計算機視覺特征提取方法的基礎。例如,對于邊緣檢測,我們可以使用Sobel edge detection:

用于垂直邊緣檢測的Sobel算子

對于不包含邊緣的網(wǎng)格(如天空),因為大多數(shù)像素都是相同的值,所以它的卷積核的總輸出為0。對于具有垂直邊緣的網(wǎng)格,邊緣左側和右側的像素存在差異,所以卷積核的輸出不為零,激活邊緣區(qū)域。雖然這個卷積核一次只能掃描3×3的區(qū)域,提取其中的特征,但當它掃描完整幅圖像后,它就有能力在圖像中的任何位置檢測全局范圍內(nèi)的某個特征。

那么深度學習和這種傳統(tǒng)方法的區(qū)別是什么?對于圖像數(shù)據(jù)的早期處理,我們確實可以用低級的特征檢測器來檢測圖中的線條、邊緣,那么,Sobel邊緣算子的作用能否被卷積學習到?

深度學習研究的一個分支是研究神經(jīng)網(wǎng)絡模型可解釋性,其中最強大的是使用了優(yōu)化的特征可視化。它的思路很簡單,就是通過優(yōu)化圖像來盡可能強烈地激活filter。這確實具有直觀意義:如果優(yōu)化后的圖像完全被邊緣填充,這其實就是filter本身正在尋找激活特征,并讓自己被激活的強有力證據(jù)。

GoogLeNet第一個卷積層的3個不同通道的特征可視化,請注意,雖然它們檢測到不同類型的邊緣,但它們?nèi)匀皇堑图夁吘墮z測器

GoogLeNet第二個、第三個卷積層的12個通道的特征可視化

這里要注意一點,卷積圖像也是圖像。卷積核是從圖像左上角開始滑動的,相應的,它的輸出仍將位于左上角。所以我們可以在這個卷積層上在做卷積,以提取更深層的特征可視化。

然而,無論我們的特征檢測器如何深入,在沒有任何進一步改變的情況下,它們?nèi)詫⒃诜浅P〉膱D像塊上運行。無論檢測器有多深,它的大小就只有3×3,它是不可能檢測到完整的臉部的。這是感受野(Receptive field)的問題。

感受野

無論是什么CNN架構,它們的基本設計就是不斷壓縮圖像的高和寬,同時增加通道數(shù)量,也就是深度。如前所述,這可以通過池化和Stride來實現(xiàn)。局部性影響的是臨近層的輸入輸出觀察區(qū)域,而感受野決定的則是整個網(wǎng)絡原始輸入的觀察區(qū)域。

步幅卷積背后的想法是我們只滑動固定距離的間隔,并跳過中間的網(wǎng)格。

如上圖所示,把stride調(diào)整為2后,卷積得到的輸出大大縮小。這時,如果我們在這個輸出的基礎上做非線性激活,然后再上面再加一個卷積層,有趣的事就發(fā)生了。相比正常卷積得到的輸出,3×3卷積核在這個步幅卷積輸出上的感受野更大。

這是因為它的原始輸入?yún)^(qū)域就比正常卷積的輸入?yún)^(qū)域大,這會對后續(xù)特征提取產(chǎn)生影響。

這種感受野的擴大允許卷積層將低級特征(線條、邊緣)組合成更高級別的特征(曲線、紋理),正如我們在mixed3a層中看到的那樣。而隨著我們添加更多Stride層,網(wǎng)絡會顯示出更多高級特征,如mixed4a、mixed5a。

通過檢測低級特征,并使用它們來檢測更高級別的特征,使其在視覺層次結構中向前發(fā)展,最終能夠檢測到整個視覺概念,如面部,鳥類,樹木等。這就是卷積在圖像數(shù)據(jù)上如此強大、高效的一個原因。

結論

現(xiàn)如今,CNN已經(jīng)允許開發(fā)者們從構建簡單的CV應用,到把它用于為復雜產(chǎn)品和服務提供技術動力,它既是照片庫中用于檢測人臉的小工具,也是臨床醫(yī)學中幫助醫(yī)生篩查癌細胞的貼心助手。它們可能是未來計算機視覺的一個關鍵,當然,一些新的突破也可能即將到來。

但無論如何,有一件事是確定的:CNN是當今許多創(chuàng)新應用的核心,而且它們的效果絕對令人驚嘆,這項技術本身也有掌握、了解的必要。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 檢測器
    +關注

    關注

    1

    文章

    894

    瀏覽量

    48684
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4814

    瀏覽量

    103601
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122794

原文標題:什么是深度學習的卷積?

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    功率半導體器件——理論及應用

    結構、器件的制造和模擬、功率半導體器件的應用到各類重要功率半導體器件的基本原理、設計原則和應用特性,建立起一系列不同層次的、復雜程度漸增的器件模型,闡述了各類重要功率半導體器件各級模
    發(fā)表于 07-11 14:49

    VirtualLab:CMOS傳感仿真

    CMOS傳感由于其從每個像素單獨提取信息的能力以及其低成本和低功耗,已成為圖像傳感的主導技術。后者主要歸因于近年來CMOS像素尺寸的快速
    發(fā)表于 06-16 08:49

    揭秘ABAQUS強大到超乎想象的分析功能有哪些?

    在工程技術領域,有限元分析(FEA)軟件扮演著至關重要的角色,而ABAQUS無疑是這一領域的佼佼者。作為達索公司旗下的旗艦產(chǎn)品,ABAQUS憑借其強大的分析功能和廣泛的應用領域,成為了工程師
    的頭像 發(fā)表于 05-21 16:15 ?193次閱讀
    揭秘ABAQUS<b class='flag-5'>強大</b>到超乎想象的分析功能有哪些?

    基于LockAI視覺識別模塊:C++使用圖像的統(tǒng)計信息

    圖像處理中,統(tǒng)計信息可以幫助我們了解圖像的特性,例如區(qū)域內(nèi)的像素分布、顏色轉換以及特定區(qū)域的分析。本文將介紹基于LockAI視覺識別模塊如何提取興趣區(qū)域(ROI)、轉換顏色通道、計算
    的頭像 發(fā)表于 05-08 10:09 ?235次閱讀
    基于LockAI<b class='flag-5'>視覺</b>識別模塊:C++使用<b class='flag-5'>圖像</b>的統(tǒng)計信息

    給個思路也可以(不知道這個無線通信模塊怎么實現(xiàn))

    有償定做一個智能考勤機 要求:(1)指紋模塊:采集指紋圖像和傳輸指紋信息,對指紋圖像進行預處理,消除噪聲干擾,還原圖像的真實特征信息。完成特征提取
    發(fā)表于 03-21 16:50

    ?VLM(視覺語言模型)?詳細解析

    的詳細解析: 1. 核心組成與工作原理 視覺編碼器提取圖像特征,常用CNN(如ResNet)或視覺Transformer(ViT)。 語
    的頭像 發(fā)表于 03-17 15:32 ?4086次閱讀
    ?VLM(<b class='flag-5'>視覺</b>語言模型)?詳細解析

    使用安森美圖像傳感優(yōu)化視覺系統(tǒng)設計

    現(xiàn)代圖像傳感在工廠自動化、視頻會議、監(jiān)控、智能門鈴和增強現(xiàn)實等眾多應用中實現(xiàn)了越來越多的強大視覺系統(tǒng)功能。摩爾定律及其推論推動了更節(jié)省空間、性能更好的 CMOS
    的頭像 發(fā)表于 02-07 10:06 ?652次閱讀
    使用安森美<b class='flag-5'>圖像</b>傳感<b class='flag-5'>器</b>優(yōu)化<b class='flag-5'>視覺</b>系統(tǒng)設計

    使用機器學習改善庫特征提取的質(zhì)量和運行時間

    基于靜態(tài)時序分析(STA)的現(xiàn)代設計流程非常依賴標準單元、IO、存儲和定制模塊的特征化Liberty模型。高效、準確的庫特征提取是全芯片或模塊級設計流程的關鍵步驟之一,因為它能確保所有庫單元在所
    的頭像 發(fā)表于 12-26 11:15 ?465次閱讀
    使用機器學習改善庫<b class='flag-5'>特征提取</b>的質(zhì)量和運行時間

    請教,matlab對于與多個參數(shù)名稱匹配的問題。

    ); % 步驟二:圖像預處理及特征提取函數(shù) function [features] = extractFeatures(image) % 灰度化 grayImage = rgb2gray(image
    發(fā)表于 11-29 21:51

    強大視覺方案:i.MX8MP與AR0144的完美結合

    大聯(lián)大友尚集團推出基于NXPi.MX8MP處理和onsemiAR0144圖像傳感的全新視覺方案。該方案不僅具備強大
    的頭像 發(fā)表于 10-29 08:04 ?659次閱讀
    <b class='flag-5'>強大</b><b class='flag-5'>視覺</b>方案:i.MX8MP與AR0144的完美結合

    AI大模型在圖像識別中的優(yōu)勢

    大模型借助高性能的計算硬件和優(yōu)化的算法,能夠在短時間內(nèi)完成對大量圖像數(shù)據(jù)的處理和分析,顯著提高了圖像識別的效率。 識別準確性 :通過深度學習和計算機視覺技術,AI大模型能夠自動提取
    的頭像 發(fā)表于 10-23 15:01 ?2433次閱讀

    深度識別人臉識別在任務中為什么有很強大的建模能力

    通過大量數(shù)據(jù)進行訓練,能夠自動學習到人臉的特征表示,而不需要人為設計特征提取算法。 多層神經(jīng)網(wǎng)絡結構 :深度學習模型通常包含多層神經(jīng)網(wǎng)絡,這使得模型能夠捕捉到人臉的復雜特征和變化。 端
    的頭像 發(fā)表于 09-10 14:53 ?837次閱讀

    存儲層次結構包括哪些

    存儲層次結構是計算機系統(tǒng)中一個關鍵且復雜的部分,它決定了數(shù)據(jù)的存儲、訪問和處理效率。存儲層次結構
    的頭像 發(fā)表于 09-10 14:28 ?1562次閱讀

    視覺檢測是什么意思?機器視覺檢測的適用行業(yè)及場景有哪些?

    檢測的定義與原理 機器視覺檢測,是利用光學成像、數(shù)字信號處理和計算機技術,模擬人類視覺的功能,對目標物體進行自動檢測和分析的技術。它包括圖像采集、預處理、特征提取、分類識別等多個環(huán)節(jié),
    的頭像 發(fā)表于 08-30 11:20 ?887次閱讀

    在進行開環(huán)分析時,Aol(開環(huán)增益)曲線與1/β(噪聲增益)曲線的交點頻率如何用等式建立起來?

    如上圖電路所示,在進行開環(huán)分析時,Aol(開環(huán)增益)曲線與1/β(噪聲增益)曲線的交點頻率如何用等式建立起來?
    發(fā)表于 08-15 08:17