導航:首頁 > 無線網路 > 卷積神經網路信號與系統

卷積神經網路信號與系統

發布時間:2023-03-31 08:34:04

① 怎樣通俗易懂地解釋卷積

對卷積的意義的理解:

從「積」的過程可以看到,我們得到的疊加值,是個全局的概念。以信號分析為例,卷積的結果是不僅跟當前時刻輸入信號的響應值有關,也跟過去所有時刻輸入信號的響應都有關系,考慮了對過去的所有輸入的效果的累積。在圖像處理的中,卷積處理的結果,其實就是把每個像素周邊的,甚至是整個圖像的像素都考慮進來,對當前像素進行某種加權處理。所以說,「積」是全局概念,或者說是一種「混合」,把兩個函數在時間或者空間上進行混合。




② 卷積層的主要作用是

卷積層的作用是提取一個局部區域的特徵。

卷積神經網路(Convolutional Neural Network,CNN或ConvNet)是一種具有局部連接、權重共享等特性的敗哪深層前饋神經網路。卷積神經網路是受生物學上感受野的機制而提出。感受野(Receptive Field)主要是指聽覺、視覺等神經系統中一些神經元察蘆碼的特性,即神經元只接受其所支配的刺激區域內的信號。

一維卷積經常用在信號處理中,用於計算信號的延遲累積。假設一個信號發生嘩笑器每個時刻t 產生一個信號 ,其信息的衰減率為 ,即在 個時間步長後,信息為原來的 倍。假設 ,那麼在時刻t收到的信號 為當前時刻產生的信息和以前時刻延遲信息的疊加:

③ 卷積的本質

人生實在是有太多事情難以把控,並不是說人的力量多麼渺小,而是在宇宙環境的大背景下,許多事情結果的本質往往取決於某些細節的某種程度的隨機性。人生不如意事常八九,可與言者無二三。年輕時候遇到不開心的事情喜歡想想書本里的東西,感覺上,解讀研究知識最為踏實,沒有裝模作樣沒有逆來順受,可以敞開心扉忘卻世間煩惱。現在看來那時是有些天真,想必若非為了生計應該不會甘心沉迷於此吧,況且我自身在科學技術領域並不擅長。花花世界有太多東西擾人心智,好在追求本質尚且是我一貫的執念。
就我個人來說,cv領域有很多基本理論尚需學習。盡管也做了幾個項目但仍有必要回過頭來探討一些基礎概念。那麼,從卷積開始。

先不局限於圖像領域,其實卷積是有特定的物理意義的,我本科學自動化的,那時候學習信號處理是學習了卷積的概念,但沒能深刻理解,後來初接觸到卷積神經網路發現好像又推翻了之前的理解。但實際上是沒有建立感性到理性的認識聯系。
學過物理的都知道,物理學中有沖量的概念,可以簡單描述為力F作用了t時間的結果F*t,假如保持沖量不變,讓這個時間t無限短,於是在用t做橫坐標、F做縱坐標的坐標系中,就形成一個高度極大寬度極小的形象,計算沖量可以用積分對它求面積,數學上叫卷積。
卷積其實就是為沖擊函數誕生的。「沖擊函數」是狄拉克為了解決一些瞬間作用的物理現象而提出的符號。在「信號與系統」中卷積用來表示系統對輸入信號的響應,假設系統H其響應函數為h(t),在t時刻其輸入為x(t),輸出為y(t),直觀上理解其輸出應該是y(t)=x(t)h(t),然而實際上並非如此,系統的輸出不僅和當前時刻t的響應有關還與t時刻之前的響應有關,只不過t時刻之前響應應該是衰減的過程(也可以理解為t時刻之後的衰減),s時刻(s<t)對應的響應為x(t)h(t-s),這個過程可能是連續的也可能是離散的,但總可以理解為t 時刻的響應等於每一個輸入信號在 t 時刻所產生的響應的疊加。可表示為:

圖像處理中,用一個模板和一幅圖像進行卷積可以描述為:對於圖像上的每個點,先對模板旋轉180度,為什麼旋轉看卷積公式就知道,在數學里我們知道f(-x)的圖像是f(x)對y軸的反轉, h(-m)就是把g(m)的序列反轉,h(n-m)的意義是把h(-m)平移的n點,由於大多數模板都是對稱的,旋轉後和原模板相同,所以模板不旋轉,然後讓模板的中心點和該點重合,模板上的點和圖像上對應的點相乘,然後各點的積相加,就得到了該點的卷積值。對圖像上的每個點都這樣處理,對於圖像上的邊角點與模板上的點無法對應的一般用0補齊,這就是padding方法。卷積是一種積分運算,用來求兩個曲線重疊區域面積。可以看作加權求和,可以用來消除雜訊、特徵增強。深度卷積網路中一層層的卷積本質上就是大量的卷積核在發揮不同的作用,有的去雜訊、有的做銳化、有的增強邊緣、有的做濾波等等。

圖像中一般是離散卷積,這里以離散卷積計算為例,對於S2式,N為信號f(n)的長度,y(n)為卷積結果序列,長度為len(f(n))+len(g(n))-1。
以3個元素的信號為例:

最終結果為:
y(n) = [2 7 13 11 3]
計算過程如下圖:

相應的二維卷積定義如下:

有個更加形象的圖示,針對3*3的卷積核:

針對圖像處理中的卷積理解:

總結一下,卷積的概念盡管在不同領域具有不同的含義,但似乎有一種共性,可以總結為某種系統對某個物理量或輸入的調制或污染。
至此總算對卷積的定義及計算有了基本的理解,從感性到理性是知識化理論化的過程,從理性到感性是進一步升華知識提升理解層次的過程,在這個過程中往往能體會到事事共通萬物歸一的感覺。嗯,說的有點過分了。

https://www.cnblogs.com/wujing-hubei/p/5682766.html

https://blog.csdn.net/u013539952/article/details/80610260

https://blog.csdn.net/alvinlyb/article/details/78892252

https://blog.csdn.net/tiandijun/article/details/40080823

④ 一文看懂卷積神經網路-CNN(基本原理+獨特價值+實際應用)

在 CNN 出現之前,圖像對於人工智慧來說是一個難題,有2個原因:

圖像需要處理的數據量太大,導致成本很高,效率很低

圖像在數字化的過程中很難保留原有的特徵,導致圖像處理的准確率不高

下面就詳細說明一下這2個問題:

圖像是由像素構成的,每個像素又是由顏色構成的。

現在隨隨便便一張圖片都是 1000×1000 像素以上的, 每個像素都有RGB 3個參數來表示顏色信息。

假如我們處理一張 1000×1000 像素的圖片,我們就需要處理3百萬個參數!

1000×1000×3=3,000,000

這么大量的數據處理起來是非常消耗資源的,而且這只是一張不算太大的圖片!

卷積神經網路 – CNN 解決的第一個問題就是「將復雜問題簡化」,把大量參數降維成少量參數,再做處理。

更重要的是:我們在大部分場景下,降維並不會影響結果。比如1000像素的圖片縮小成200像素,並不影響肉眼認出來圖片中是一隻貓還是一隻狗,機器也是如此。

圖片數字化的傳統方式我們簡化一下,就類似下圖的過程:

假如有圓形是1,沒有圓形是0,那麼圓形的位置不同就會產生完全不同的數據表達。但是從視覺的角度來看, 圖像的內容(本質)並沒有發生變化,只是位置發生了變化 。

所以當我們移動圖像中的物體,用傳統的方式的得出來的參數會差異很大!這是不符合圖像處理的要求的。

而 CNN 解決了這個問題,他用類似視覺的方式保留了圖像的特徵,當圖像做翻轉,旋轉或者變換位置時,它也能有效的識別出來是類似的圖像。

那麼卷積神經網路是如何實現的呢?在我們了解 CNN 原理之前,先來看看人類的視覺原理是什麼?

深度學習的許多研究成果,離不開對大腦認知原理的研究,尤其是視覺原理的研究。

1981 年的諾貝爾醫學獎,頒發給了 David Hubel(出生於加拿大的美國神經生物學家) 和TorstenWiesel,以及 Roger Sperry。前兩位的主要貢獻,是「 發現了視覺系統的信息處理 」,可視皮層是分級的。

人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素 Pixels),接著做初步處理(大腦皮層某些細胞發現邊緣和方向),然後抽象(大腦判定,眼前的物體的形狀,是圓形的),然後進一步抽象(大腦進一步判定該物體是只氣球)。下面是人腦進行人臉識別的一個示例:

對於不同的物體,人類視覺也是通過這樣逐層分級,來進行認知的:

我們可以看到,在最底層特徵基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特徵(輪子、眼睛、軀乾等),到最上層,不同的高級特徵最終組合成相應的圖像,從而能夠讓人類准確的區分不同的物體。

那麼我們可以很自然的想到:可以不可以模仿人類大腦的這個特點,構造多層的神經網路,較低層的識別初級的圖像特徵,若干底層特徵組成更上一層特徵,最終通過多個層級的組合,最終在頂層做出分類呢?

答案是肯定的,這也是許多深度學習演算法(包括CNN)的靈感來源。

典型的 CNN 由3個部分構成:

卷積層

池化層

全連接層

如果簡單來描述的話:

卷積層負責提取圖像中的局部特徵;池化層用來大幅降低參數量級(降維);全連接層類似傳統神經網路的部分,用來輸出想要的結果。

下面的原理解釋為了通俗易懂,忽略了很多技術細節,如果大家對詳細的原理感興趣,可以看這個視頻《 卷積神經網路基礎 》。

卷積層的運算過程如下圖,用一個卷積核掃完整張圖片:

這個過程我們可以理解為我們使用一個過濾器(卷積核)來過濾圖像的各個小區域,從而得到這些小區域的特徵值。

在具體應用中,往往有多個卷積核,可以認為,每個卷積核代表了一種圖像模式,如果某個圖像塊與此卷積核卷積出的值大,則認為此圖像塊十分接近於此卷積核。如果我們設計了6個卷積核,可以理解:我們認為這個圖像上有6種底層紋理模式,也就是我們用6中基礎模式就能描繪出一副圖像。以下就是25種不同的卷積核的示例:

總結:卷積層的通過卷積核的過濾提取出圖片中局部的特徵,跟上面提到的人類視覺的特徵提取類似。

池化層簡單說就是下采樣,他可以大大降低數據的維度。其過程如下:

上圖中,我們可以看到,原始圖片是20×20的,我們對其進行下采樣,采樣窗口為10×10,最終將其下采樣成為一個2×2大小的特徵圖。

之所以這么做的原因,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較小),所以為了降低數據維度,就進行下采樣。

總結:池化層相比卷積層可以更有效的降低數據維度,這么做不但可以大大減少運算量,還可以有效的避免過擬合。

這個部分就是最後一步了,經過卷積層和池化層處理過的數據輸入到全連接層,得到最終想要的結果。

經過卷積層和池化層降維過的數據,全連接層才能」跑得動」,不然數據量太大,計算成本高,效率低下。

典型的 CNN 並非只是上面提到的3層結構,而是多層結構,例如 LeNet-5 的結構就如下圖所示:

卷積層 – 池化層- 卷積層 – 池化層 – 卷積層 – 全連接層

在了解了 CNN 的基本原理後,我們重點說一下 CNN 的實際應用有哪些

卷積神經網路 – CNN 很擅長處理圖像。而視頻是圖像的疊加,所以同樣擅長處理視頻內容。下面給大家列一些比較成熟的應用�:

圖像分類、檢索

圖像分類是比較基礎的應用,他可以節省大量的人工成本,將圖像進行有效的分類。對於一些特定領域的圖片,分類的准確率可以達到 95%+,已經算是一個可用性很高的應用了。

典型場景:圖像搜索…

目標定位檢測

可以在圖像中定位目標,並確定目標的位置及大小。

典型場景:自動駕駛、安防、醫療…

目標分割

簡單理解就是一個像素級的分類。

他可以對前景和背景進行像素級的區分、再高級一點還可以識別出目標並且對目標進行分類。

典型場景:美圖秀秀、視頻後期加工、圖像生成…

人臉識別

人臉識別已經是一個非常普及的應用了,在很多領域都有廣泛的應用。

典型場景:安防、金融、生活…

骨骼識別

骨骼識別是可以識別身體的關鍵骨骼,以及追蹤骨骼的動作。

典型場景:安防、電影、圖像視頻生成、游戲…

今天我們介紹了 CNN 的價值、基本原理和應用場景,簡單總結如下:

CNN 的價值:

能夠將大數據量的圖片有效的降維成小數據量(並不影響結果)

能夠保留圖片的特徵,類似人類的視覺原理

CNN 的基本原理:

卷積層 – 主要作用是保留圖片的特徵

池化層 – 主要作用是把數據降維,可以有效的避免過擬合

全連接層 – 根據不同任務輸出我們想要的結果

CNN 的實際應用:

圖片分類、檢索

目標定位檢測

目標分割

人臉識別

骨骼識別

本文首發在 easyAI - 人工智慧知識庫

《 一文看懂卷積神經網路-CNN(基本原理+獨特價值+實際應用) 》

⑤ 卷積神經網路

關於花書中卷積網路的筆記記錄於 https://www.jianshu.com/p/5a3c90ea0807 。

卷積神經網路(Convolutional Neural Network,CNN或ConvNet)是一種具有 局部連接、權重共享 等特性的深層前饋神經網路。卷積神經網路是受生物學上感受野的機制而提出。 感受野(Receptive Field) 主要是指聽覺、視覺等神經系統中一些神經元的特性,即 神經元只接受其所支配的刺激區域內的信號

卷積神經網路最早是主要用來處理圖像信息。如果用全連接前饋網路來處理圖像時,會存在以下兩個問題:

目前的卷積神經網路一般是由卷積層、匯聚層和全連接層交叉堆疊而成的前饋神經網路,使用反向傳播演算法進行訓練。 卷積神經網路有三個結構上的特性:局部連接,權重共享以及匯聚 。這些特性使卷積神經網路具有一定程度上的平移、縮放和旋轉不變性。

卷積(Convolution)是分析數學中一種重要的運算。在信號處理或圖像處理中,經常使用一維或二維卷積。

一維卷積經常用在信號處理中,用於計算信號的延遲累積。假設一個信號發生器每個時刻t 產生一個信號 ,其信息的衰減率為 ,即在 個時間步長後,信息為原來的 倍。假設 ,那麼在時刻t收到的信號 為當前時刻產生的信息和以前時刻延遲信息的疊加:

我們把 稱為 濾波器(Filter)或卷積核(Convolution Kernel) 。假設濾波器長度為 ,它和一個信號序列 的卷積為:

信號序列 和濾波器 的卷積定義為:

一般情況下濾波器的長度 遠小於信號序列長度 ,下圖給出一個一維卷積示例,濾波器為 :

二維卷積經常用在圖像處理中。因為圖像為一個兩維結構,所以需要將一維卷積進行擴展。給定一個圖像 和濾波器 ,其卷積為:

下圖給出一個二維卷積示例:

注意這里的卷積運算並不是在圖像中框定卷積核大小的方框並將各像素值與卷積核各個元素相乘並加和,而是先把卷積核旋轉180度,再做上述運算。

在圖像處理中,卷積經常作為特徵提取的有效方法。一幅圖像在經過卷積操作後得到結果稱為 特徵映射(Feature Map)

最上面的濾波器是常用的高斯濾波器,可以用來對圖像進行 平滑去噪 ;中間和最下面的過濾器可以用來 提取邊緣特徵

在機器學習和圖像處理領域,卷積的主要功能是在一個圖像(或某種特徵)上滑動一個卷積核(即濾波器),通過卷積操作得到一組新的特徵。在計算卷積的過程中,需要進行卷積核翻轉(即上文提到的旋轉180度)。 在具體實現上,一般會以互相關操作來代替卷積,從而會減少一些不必要的操作或開銷。

互相關(Cross-Correlation)是一個衡量兩個序列相關性的函數,通常是用滑動窗口的點積計算來實現 。給定一個圖像 和卷積核 ,它們的互相關為:

互相關和卷積的區別僅在於卷積核是否進行翻轉。因此互相關也可以稱為不翻轉卷積 。當卷積核是可學習的參數時,卷積和互相關是等價的。因此,為了實現上(或描述上)的方便起見,我們用互相關來代替卷積。事實上,很多深度學習工具中卷積操作其實都是互相關操作。

在卷積的標準定義基礎上,還可以引入濾波器的 滑動步長 零填充 來增加卷積多樣性,更靈活地進行特徵抽取。

濾波器的步長(Stride)是指濾波器在滑動時的時間間隔。

零填充(Zero Padding)是在輸入向量兩端進行補零。

假設卷積層的輸入神經元個數為 ,卷積大小為 ,步長為 ,神經元兩端各填補 個零,那麼該卷積層的神經元數量為 。

一般常用的卷積有以下三類:

因為卷積網路的訓練也是基於反向傳播演算法,因此我們重點關注卷積的導數性質:

假設 。

, , 。函數 為一個標量函數。

則由 有:

可以看出, 關於 的偏導數為 和 的卷積

同理得到:

當 或 時, ,即相當於對 進行 的零填充。從而 關於 的偏導數為 和 的寬卷積

用互相關的「卷積」表示,即為(注意 寬卷積運算具有交換性性質 ):

在全連接前饋神經網路中,如果第 層有 個神經元,第 層有 個神經元,連接邊有 個,也就是權重矩陣有 個參數。當 和 都很大時,權重矩陣的參數非常多,訓練的效率會非常低。

如果採用卷積來代替全連接,第 層的凈輸入 為第 層活性值 和濾波器 的卷積,即:

根據卷積的定義,卷積層有兩個很重要的性質:

由於局部連接和權重共享,卷積層的參數只有一個m維的權重 和1維的偏置 ,共 個參數。參數個數和神經元的數量無關。此外,第 層的神經元個數不是任意選擇的,而是滿足 。

卷積層的作用是提取一個局部區域的特徵,不同的卷積核相當於不同的特徵提取器。

特徵映射(Feature Map)為一幅圖像(或其它特徵映射)在經過卷積提取到的特徵,每個特徵映射可以作為一類抽取的圖像特徵。 為了提高卷積網路的表示能力,可以在每一層使用多個不同的特徵映射,以更好地表示圖像的特徵。

在輸入層,特徵映射就是圖像本身。如果是灰度圖像,就是有一個特徵映射,深度 ;如果是彩色圖像,分別有RGB三個顏色通道的特徵映射,深度 。

不失一般性,假設一個卷積層的結構如下:

為了計算輸出特徵映射 ,用卷積核 分別對輸入特徵映射 進行卷積,然後將卷積結果相加,並加上一個標量偏置 得到卷積層的凈輸入 再經過非線性激活函數後得到輸出特徵映射 。

在輸入為 ,輸出為 的卷積層中,每個輸出特徵映射都需要 個濾波器以及一個偏置。假設每個濾波器的大小為 ,那麼共需要 個參數。

匯聚層(Pooling Layer)也叫子采樣層(Subsampling Layer),其作用是進行特徵選擇,降低特徵數量,並從而減少參數數量。

常用的匯聚函數有兩種:

其中 為區域 內每個神經元的激活值。

可以看出,匯聚層不但可以有效地減少神經元的數量,還可以使得網路對一些小的局部形態改變保持不變性,並擁有更大的感受野。

典型的匯聚層是將每個特徵映射劃分為 大小的不重疊區域,然後使用最大匯聚的方式進行下采樣。匯聚層也可以看做是一個特殊的卷積層,卷積核大小為 ,步長為 ,卷積核為 函數或 函數。過大的采樣區域會急劇減少神經元的數量,會造成過多的信息損失。

一個典型的卷積網路是由卷積層、匯聚層、全連接層交叉堆疊而成。

目前常用卷積網路結構如圖所示,一個卷積塊為連續 個卷積層和 個匯聚層( 通常設置為 , 為 或 )。一個卷積網路中可以堆疊 個連續的卷積塊,然後在後面接著 個全連接層( 的取值區間比較大,比如 或者更大; 一般為 )。

目前,整個網路結構 趨向於使用更小的卷積核(比如 和 )以及更深的結構(比如層數大於50) 。此外,由於卷積的操作性越來越靈活(比如不同的步長),匯聚層的作用變得也越來越小,因此目前比較流行的卷積網路中, 匯聚層的比例也逐漸降低,趨向於全卷積網路

在全連接前饋神經網路中,梯度主要通過每一層的誤差項 進行反向傳播,並進一步計算每層參數的梯度。在卷積神經網路中,主要有兩種不同功能的神經層:卷積層和匯聚層。而參數為卷積核以及偏置,因此 只需要計算卷積層中參數的梯度。

不失一般性,第 層為卷積層,第 層的輸入特徵映射為 ,通過卷積計算得到第 層的特徵映射凈輸入 ,第 層的第 個特徵映射凈輸入

由 得:

同理可得,損失函數關於第 層的第 個偏置 的偏導數為:

在卷積網路中,每層參數的梯度依賴其所在層的誤差項 。

卷積層和匯聚層中,誤差項的計算有所不同,因此我們分別計算其誤差項。

第 層的第 個特徵映射的誤差項 的具體推導過程如下:

其中 為第 層使用的激活函數導數, 為上采樣函數(upsampling),與匯聚層中使用的下采樣操作剛好相反。如果下采樣是最大匯聚(max pooling),誤差項 中每個值會直接傳遞到上一層對應區域中的最大值所對應的神經元,該區域中其它神經元的誤差項的都設為0。如果下采樣是平均匯聚(meanpooling),誤差項 中每個值會被平均分配到上一層對應區域中的所有神經元上。

第 層的第 個特徵映射的誤差項 的具體推導過程如下:

其中 為寬卷積。

LeNet-5雖然提出的時間比較早,但是是一個非常成功的神經網路模型。基於LeNet-5 的手寫數字識別系統在90年代被美國很多銀行使用,用來識別支票上面的手寫數字。LeNet-5 的網路結構如圖:

不計輸入層,LeNet-5共有7層,每一層的結構為:

AlexNet是第一個現代深度卷積網路模型,其首次使用了很多現代深度卷積網路的一些技術方法,比如採用了ReLU作為非線性激活函數,使用Dropout防止過擬合,使用數據增強來提高模型准確率等。AlexNet 贏得了2012 年ImageNet 圖像分類競賽的冠軍。

AlexNet的結構如圖,包括5個卷積層、3個全連接層和1個softmax層。因為網路規模超出了當時的單個GPU的內存限制,AlexNet 將網路拆為兩半,分別放在兩個GPU上,GPU間只在某些層(比如第3層)進行通訊。

AlexNet的具體結構如下:

在卷積網路中,如何設置卷積層的卷積核大小是一個十分關鍵的問題。 在Inception網路中,一個卷積層包含多個不同大小的卷積操作,稱為Inception模塊。Inception網路是由有多個inception模塊和少量的匯聚層堆疊而成

v1版本的Inception模塊,採用了4組平行的特徵抽取方式,分別為1×1、3× 3、5×5的卷積和3×3的最大匯聚。同時,為了提高計算效率,減少參數數量,Inception模塊在進行3×3、5×5的卷積之前、3×3的最大匯聚之後,進行一次1×1的卷積來減少特徵映射的深度。如果輸入特徵映射之間存在冗餘信息, 1×1的卷積相當於先進行一次特徵抽取

⑥ 神經網路:卷積神經網路(CNN)

神經網路 最早是由心理學家和神經學家提出的,旨在尋求開發和測試神經的計算模擬。

粗略地說, 神經網路 是一組連接的 輸入/輸出單元 ,其中每個連接都與一個 權 相關聯。在學習階段,通過調整權值,使得神經網路的預測准確性逐步提高。由於單元之間的連接,神經網路學習又稱 連接者學習。

神經網路是以模擬人腦神經元的數學模型為基礎而建立的,它由一系列神經元組成,單元之間彼此連接。從信息處理角度看,神經元可以看作是一個多輸入單輸出的信息處理單元,根據神經元的特性和功能,可以把神經元抽象成一個簡單的數學模型。

神經網路有三個要素: 拓撲結構、連接方式、學習規則

神經網路的拓撲結構 :神經網路的單元通常按照層次排列,根據網路的層次數,可以將神經網路分為單層神經網路、兩層神經網路、三層神經網路等。結構簡單的神經網路,在學習時收斂的速度快,但准確度低。

神經網路的層數和每層的單元數由問題的復雜程度而定。問題越復雜,神經網路的層數就越多。例如,兩層神經網路常用來解決線性問題,而多層網路就可以解決多元非線性問題

神經網路的連接 :包括層次之間的連接和每一層內部的連接,連接的強度用權來表示。

根據層次之間的連接方式,分為:

1)前饋式網路:連接是單向的,上層單元的輸出是下層單元的輸入,如反向傳播網路,Kohonen網路

2)反饋式網路:除了單項的連接外,還把最後一層單元的輸出作為第一層單元的輸入,如Hopfield網路

根據連接的范圍,分為:

1)全連接神經網路:每個單元和相鄰層上的所有單元相連

2)局部連接網路:每個單元只和相鄰層上的部分單元相連

神經網路的學習

根據學習方法分:

感知器:有監督的學習方法,訓練樣本的類別是已知的,並在學習的過程中指導模型的訓練

認知器:無監督的學習方法,訓練樣本類別未知,各單元通過競爭學習。

根據學習時間分:

離線網路:學習過程和使用過程是獨立的

在線網路:學習過程和使用過程是同時進行的

根據學習規則分:

相關學習網路:根據連接間的激活水平改變權系數

糾錯學習網路:根據輸出單元的外部反饋改變權系數

自組織學習網路:對輸入進行自適應地學習

摘自《數學之美》對人工神經網路的通俗理解:

神經網路種類很多,常用的有如下四種:

1)Hopfield網路,典型的反饋網路,結構單層,有相同的單元組成

2)反向傳播網路,前饋網路,結構多層,採用最小均方差的糾錯學習規則,常用於語言識別和分類等問題

3)Kohonen網路:典型的自組織網路,由輸入層和輸出層構成,全連接

4)ART網路:自組織網路

深度神經網路:

Convolutional Neural Networks(CNN)卷積神經網路

Recurrent neural Network(RNN)循環神經網路

Deep Belief Networks(DBN)深度信念網路

深度學習是指多層神經網路上運用各種機器學習演算法解決圖像,文本等各種問題的演算法集合。深度學習從大類上可以歸入神經網路,不過在具體實現上有許多變化。

深度學習的核心是特徵學習,旨在通過分層網路獲取分層次的特徵信息,從而解決以往需要人工設計特徵的重要難題。

Machine Learning vs. Deep Learning 

神經網路(主要是感知器)經常用於 分類

神經網路的分類知識體現在網路連接上,被隱式地存儲在連接的權值中。

神經網路的學習就是通過迭代演算法,對權值逐步修改的優化過程,學習的目標就是通過改變權值使訓練集的樣本都能被正確分類。

神經網路特別適用於下列情況的分類問題:

1) 數據量比較小,缺少足夠的樣本建立模型

2) 數據的結構難以用傳統的統計方法來描述

3) 分類模型難以表示為傳統的統計模型

缺點:

1) 需要很長的訓練時間,因而對於有足夠長訓練時間的應用更合適。

2) 需要大量的參數,這些通常主要靠經驗確定,如網路拓撲或「結構」。

3)  可解釋性差 。該特點使得神經網路在數據挖掘的初期並不看好。

優點:

1) 分類的准確度高

2)並行分布處理能力強

3)分布存儲及學習能力高

4)對噪音數據有很強的魯棒性和容錯能力

最流行的基於神經網路的分類演算法是80年代提出的 後向傳播演算法 。後向傳播演算法在多路前饋神經網路上學習。 

定義網路拓撲

在開始訓練之前,用戶必須說明輸入層的單元數、隱藏層數(如果多於一層)、每一隱藏層的單元數和輸出層的單元數,以確定網路拓撲。

對訓練樣本中每個屬性的值進行規格化將有助於加快學習過程。通常,對輸入值規格化,使得它們落入0.0和1.0之間。

離散值屬性可以重新編碼,使得每個域值一個輸入單元。例如,如果屬性A的定義域為(a0,a1,a2),則可以分配三個輸入單元表示A。即,我們可以用I0 ,I1 ,I2作為輸入單元。每個單元初始化為0。如果A = a0,則I0置為1;如果A = a1,I1置1;如此下去。

一個輸出單元可以用來表示兩個類(值1代表一個類,而值0代表另一個)。如果多於兩個類,則每個類使用一個輸出單元。

隱藏層單元數設多少個「最好」 ,沒有明確的規則。

網路設計是一個實驗過程,並可能影響准確性。權的初值也可能影響准確性。如果某個經過訓練的網路的准確率太低,則通常需要採用不同的網路拓撲或使用不同的初始權值,重復進行訓練。

後向傳播演算法學習過程:

迭代地處理一組訓練樣本,將每個樣本的網路預測與實際的類標號比較。

每次迭代後,修改權值,使得網路預測和實際類之間的均方差最小。

這種修改「後向」進行。即,由輸出層,經由每個隱藏層,到第一個隱藏層(因此稱作後向傳播)。盡管不能保證,一般地,權將最終收斂,學習過程停止。

演算法終止條件:訓練集中被正確分類的樣本達到一定的比例,或者權系數趨近穩定。

後向傳播演算法分為如下幾步:

1) 初始化權

網路的權通常被初始化為很小的隨機數(例如,范圍從-1.0到1.0,或從-0.5到0.5)。

每個單元都設有一個偏置(bias),偏置也被初始化為小隨機數。

2) 向前傳播輸入

對於每一個樣本X,重復下面兩步:

向前傳播輸入,向後傳播誤差

計算各層每個單元的輸入和輸出。輸入層:輸出=輸入=樣本X的屬性;即,對於單元j,Oj = Ij = Xj。隱藏層和輸出層:輸入=前一層的輸出的線性組合,即,對於單元j, Ij =wij Oi + θj,輸出=

3) 向後傳播誤差

計算各層每個單元的誤差。

輸出層單元j,誤差:

Oj是單元j的實際輸出,而Tj是j的真正輸出。

隱藏層單元j,誤差:

wjk是由j到下一層中單元k的連接的權,Errk是單元k的誤差

更新 權 和 偏差 ,以反映傳播的誤差。

權由下式更新:

 其中,△wij是權wij的改變。l是學習率,通常取0和1之間的值。

 偏置由下式更新:

  其中,△θj是偏置θj的改變。

Example

人類視覺原理:

深度學習的許多研究成果,離不開對大腦認知原理的研究,尤其是視覺原理的研究。1981 年的諾貝爾醫學獎,頒發給了 David Hubel(出生於加拿大的美國神經生物學家) 和Torsten Wiesel,以及Roger Sperry。前兩位的主要貢獻,是「發現了視覺系統的信息處理」, 可視皮層是分級的 。

人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素Pixels),接著做初步處理(大腦皮層某些細胞發現邊緣和方向),然後抽象(大腦判定,眼前的物體的形狀,是圓形的),然後進一步抽象(大腦進一步判定該物體是只氣球)。

對於不同的物體,人類視覺也是通過這樣逐層分級,來進行認知的:

在最底層特徵基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特徵(輪子、眼睛、軀乾等),到最上層,不同的高級特徵最終組合成相應的圖像,從而能夠讓人類准確的區分不同的物體。

可以很自然的想到:可以不可以模仿人類大腦的這個特點,構造多層的神經網路,較低層的識別初級的圖像特徵,若干底層特徵組成更上一層特徵,最終通過多個層級的組合,最終在頂層做出分類呢?答案是肯定的,這也是許多深度學習演算法(包括CNN)的靈感來源。

卷積神經網路是一種多層神經網路,擅長處理圖像特別是大圖像的相關機器學習問題。卷積網路通過一系列方法,成功將數據量龐大的圖像識別問題不斷降維,最終使其能夠被訓練。

CNN最早由Yann LeCun提出並應用在手寫字體識別上。LeCun提出的網路稱為LeNet,其網路結構如下:

這是一個最典型的卷積網路,由 卷積層、池化層、全連接層 組成。其中卷積層與池化層配合,組成多個卷積組,逐層提取特徵,最終通過若干個全連接層完成分類。

CNN通過卷積來模擬特徵區分,並且通過卷積的權值共享及池化,來降低網路參數的數量級,最後通過傳統神經網路完成分類等任務。

降低參數量級:如果使用傳統神經網路方式,對一張圖片進行分類,那麼,把圖片的每個像素都連接到隱藏層節點上,對於一張1000x1000像素的圖片,如果有1M隱藏層單元,一共有10^12個參數,這顯然是不能接受的。

但是在CNN里,可以大大減少參數個數,基於以下兩個假設:

1)最底層特徵都是局部性的,也就是說,用10x10這樣大小的過濾器就能表示邊緣等底層特徵

2)圖像上不同小片段,以及不同圖像上的小片段的特徵是類似的,也就是說,能用同樣的一組分類器來描述各種各樣不同的圖像

基於以上兩個假設,就能把第一層網路結構簡化

用100個10x10的小過濾器,就能夠描述整幅圖片上的底層特徵。

卷積運算的定義如下圖所示:

如上圖所示,一個5x5的圖像,用一個3x3的 卷積核 :

   101

   010

   101

來對圖像進行卷積操作(可以理解為有一個滑動窗口,把卷積核與對應的圖像像素做乘積然後求和),得到了3x3的卷積結果。

這個過程可以理解為使用一個過濾器(卷積核)來過濾圖像的各個小區域,從而得到這些小區域的特徵值。在實際訓練過程中, 卷積核的值是在學習過程中學到的。

在具體應用中,往往有多個卷積核,可以認為, 每個卷積核代表了一種圖像模式 ,如果某個圖像塊與此卷積核卷積出的值大,則認為此圖像塊十分接近於此卷積核。如果設計了6個卷積核,可以理解為這個圖像上有6種底層紋理模式,也就是用6種基礎模式就能描繪出一副圖像。以下就是24種不同的卷積核的示例:

池化 的過程如下圖所示:

可以看到,原始圖片是20x20的,對其進行采樣,采樣窗口為10x10,最終將其采樣成為一個2x2大小的特徵圖。

之所以這么做,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較小),所以為了降低數據維度,就進行采樣。

即使減少了許多數據,特徵的統計屬性仍能夠描述圖像,而且由於降低了數據維度,有效地避免了過擬合。

在實際應用中,分為最大值采樣(Max-Pooling)與平均值采樣(Mean-Pooling)。

LeNet網路結構:

注意,上圖中S2與C3的連接方式並不是全連接,而是部分連接。最後,通過全連接層C5、F6得到10個輸出,對應10個數字的概率。

卷積神經網路的訓練過程與傳統神經網路類似,也是參照了反向傳播演算法

第一階段,向前傳播階段:

a)從樣本集中取一個樣本(X,Yp),將X輸入網路;

b)計算相應的實際輸出Op

第二階段,向後傳播階段

a)計算實際輸出Op與相應的理想輸出Yp的差;

b)按極小化誤差的方法反向傳播調整權矩陣。

⑦ 乘法的豎式運算與卷積→卷積的本質

乘法的豎式運算是非常有效的演算法,其原理卻讓人捉摸不透,很難看出有什麼幾何意義。在看了《深入淺出通信原理》關於卷積的介紹後,才發現,原來它是一種卷積運算。卷積,對普通人來說是非常陌生的,即使對於學習過積分變換中的卷積定理的人而言,似乎也從未真正理解它的含義,僅僅是記住了公式然後去套用。所以,這篇文章希望通過類比的方式,告訴你卷積不過是豎式運算的一種抽象,在我們很小的時候就掌握了它的計算方法。

首先讓我們回顧乘法的豎式運算,如下圖所示

先用被乘數乘最右邊的數,對應寫下來,然後用被乘數乘右起第二個數,像左平移一位後對應寫下來,這樣直到把乘數的所有位乘一遍,最後把得到的這些數對應加起來,就得到了最終結果。整個計算過程中,我們都是在做平移,乘積,求和的簡單步驟,一個復雜的大數乘積問題,就被分解為這樣的基礎運算,非常高效。

現在,換一個角度來看這個過程,由於數字是十進制的,所以總可以分解為這樣的數字多桐渣項式,也就是一般的多項式,將未知數取為10。

既然當x=10的時候,我們可以這樣來計算,x為其他的值的時候能否這樣算呢?答案就在下面的圖。

多項式的乘法也可以通過豎式運算來求結果,而且同樣的簡單。移位,乘積,求和。不過,也是有所區別的,就比如結果出現了超過10的數,之前是十進制的,滿足關系

所以逢10進位,類似的對於其他進制的數,有類似的進位關系:

二進制

八進制

但是,現在,x是未知的,所以進位關系就不再成立了。於是出現了超過10的數,其實這個數可以任意大,因為x可以任意大。

好的,中間穿插了一些數制的討論,現在回到正題。經過上面的討論,我們發現豎式運算可以輕易推廣到多項式的情形,那麼再貪心一些,能不能將他推廣到更一般的情形上呢?我們都知道,多項式是泰勒級數的特例,是有限項的泰勒級數。那麼能否推廣到泰勒級數的乘積上去呢?當然也是可以的,但是,對於無窮項書寫起來就太麻煩了,所以還是選擇另一個推廣方向。傅里葉多項式是傅里葉級數的有限形式,所以,我們可以試著推廣豎式運算到傅里葉多項式。

如圖所示,豎式運算同樣可以求解傅里葉多項式的乘法,不過,出現了新的變化,傅里葉多項式的基有正有負,所以逐位相乘的時候需要仔細確定他的平移位置,像這里,由於有一次的負基,所以整體向右平移了一位。

於是,豎式運算其實反映了這樣的一種多項式乘法的本質,多項式的系數乘法往往被稱為卷積,豎式運算就是這種系數乘法的表現形式。

於是,至少在有限情形下,對卷積的理解做了些探索,對於連續的情形,就涉及一些問題,收斂性,基之間的運算。姑且當作一種直觀對應吧,

接下來是我嘗試使用連續基向量空間模型來理解函數的卷積的內容。關於連續基向量空間模型的解釋可以去看我之前寫的線性算符和矩陣的四篇文章。

首先任意可測函數都可以視為連續基向量空間中的向量,這個向量空間的基可以取實數集中的任意點,也就是集合 ,我們考慮的函數可以記為連續基的線性組合。

於是通常的函數乘法,給出的是

也就是逐點乘積,兩個基相同的時候才可以將系數相乘,基的作用可有可無。

而卷積則是

這就是一種高明的向量運算,利用到了連續基的運算性質 ,這種性質可以類比傅里葉級數中的復指數基 ,因為連續基可以視為復指數基的極限情形。

這樣看來,卷積是一種更加自然的運算,有著更好的性質,本質上就是有限維向量空間上乘法的一種推廣,還是多項式乘法。而函數的基畝乘法則是一種粗糙的運算,丟失了很多向量空間的搏輪森性質。

這篇文章,有點久了,沒有發出來,是因為後面的部分有一些錯誤,而且感覺並沒有找到卷積的本質。

最近在看信號與系統,響應信號的卷積求法,又藉助於看廣義函數論的一些認識,總算是明白了卷積的本質。

下面就是我的理解,可能需要對測度有一定了解。

廣義函數作用於函數,表現為積分的形式,比如狄拉克分布,int[f(x)*δ(x)]dx=f(0), 可以視為對函數f的定義域空間定義了一個測度,僅在原點處質量為1,其他部分均為零,這只是一種形象的描述,這種描述的正式定義還是比較復雜的。

類比考慮廣義函數的卷積形式,int[f(x)δ(t-x)]dx, 也就是發生了一些變化,測度還是一樣的,但是原點位置卻隨著參數t的變化而不斷變化,於是從點變成了函數。

所以卷積就是一種帶參數的廣義函數作用,他給出了一種帶權值的測量網格,隨參數的改變,網格的位置發生變化。

可以考慮卷積神經網路,也就是圖像處理中的卷積運算,雖然是離散情形,卻給出了本質特徵,他就是一個權值網格,比如3*3的卷積模板,就是對這九個像素分別賦予一個權值,然後對初始像素反轉後加權求和,而參數就是起到了移動模板的作用,一次移動一個像素,直到計算完所有的像素,就得到了輸出,輸入一個像素矩陣,卷積後輸出一個像素矩陣。

解釋:右圖是離散卷積模版的權值,對應的像素要乘上相應的倍數,然後相加,左圖的圓圈代表卷積模板的中心,參數的作用就是移動這個中心,計算每一個像素的值。

對於信號處理中涉及的連續情形,其實是一樣的道理,這里的像素就是沖激信號,任何信號都可以表示為沖激信號的線性組合。這種表示,可以理解為函數空間的連續基。其實也可以這樣理解,函數是定義在實數集上的,對於可測函數而言,每一個實數上的取值都是獨立的,所以,對每一個實數對應一個沖激信號,就可以將函數變成不可數個沖激信號乘上對應函數值之和,一般可簡化為積分。卷積就是利用這樣的連續性的模板,進行加權求和,也就是加權積分,其實就是泛函作用,或者說廣義函數作用。而參數則是起到移動這個連續性模板的作用,直到計算完所有的實數。就得到了輸出,輸入一個實函數,輸出一個實函數。

解釋:右圖是連續性卷積模版的權值分布,豎線是連續性卷積模版的中心,參數的作用同樣是移動這個中心,計算每一個實數的值。

至此,卷積的本質可以說被完全的揭示出來了。它是一種含參數的泛函作用,也就是說定義域每一點都對應一個泛函,每一個點的輸出就是對應泛函與輸入函數的作用。

值得注意的是,卷積不僅包括這種泛函作用及參數平移,還有一個翻轉的運算,將圖像矩陣,或者信號先翻轉過來,然後再進行這種運算,這也是他的重要特徵。所以理解卷積,首先要知道這種作用,這種作用有正有反,採用原始輸入就是正作用,採用翻轉後的原始輸入就是反作用,卷積就是反作用。

通過卷積模版,也可理解為什麼具緊支集的連續函數或可測函數非常重要,因為,這樣的函數,往往可以保證卷積積分的收斂,也就是卷積的存在,所以也可是認為是可進行卷積運算的恰當的函數集。預先給出這個假設,就可以毫無顧忌的使用卷積運算了。

這個問題總算是得到了解決,確實不容易,求隨機變數函數的概率分布,時域卷積與頻域乘積,圖像處理的卷積模板,信號處理中響應的卷積演算法,積分變換裡面的卷積定理,多項式乘積的卷積本質,卷積確實是無處不在,可是,卻很難找到一個合理的解釋。要麼就太過唯象了,試圖使用圖片來解釋這個抽象概念,要麼太過理論化了,數學的描述非常正確,卻無法給出圖像。不過,我感覺,我給出的這個解釋還是比較難以理解的。不過,對我而言,卻是足夠清晰了,將一個運算的大雜燴,拆分成了有明確意義的兩步操作,如此簡單,卻是幾年都未曾發覺。只能說世事奇妙,沒有如此多的對比與積累,這種本質還是很難發現的。

⑧ 卷積神經網路中的卷積的物理意義和現象

從數學上講,卷積就是一種運算

在信號與系統中卷積的公式如下:

對應相乘再相加,這是在坐標軸上進行的

對於在圖像中這樣一個二維矩陣的卷積中,我們可以想像的就是卷積神經網路中的「平滑問題」

如下圖所示為對圖像做平滑,一個典型的8領域平滑,其結果中的每個值都來源於原對應位置和其周邊8個元素與一個3X3矩陣的乘積,也就相當於對原矩陣,按照順序將各區域元素與W矩陣相乘,W 矩陣為

這也被稱作核(Kernel, 3X3)

最後我們可以得到如右圖所示的數字「3」。

如果依次平滑過去便可以得到卷積圖的像素值數值變化。

內核放置在圖像的左上角。內核覆蓋的像素值乘以相應的內核值,並且乘積相加。結果放置在與內核中心相對應的位置的新映像中。下圖顯示了第一步的一個例子。

內核被移動一個像素,這個過程被重新設置,直到圖像中的所有可能的位置被過濾如下,這次是水平的Sobel過濾器。請注意,在卷積圖像周圍存在空值的邊框。這是因為卷積的結果放在內核的中心。為了解決這個問題,我們使用了一個叫做「padding」或者更常見的「零填充」的過程。這僅僅意味著在原始圖像周圍放置了一個零邊框,以使其四周變寬。卷積然後按正常進行,但是卷積結果現在將產生與原始大小相同的圖像。

卷積後發現邊緣空白,為了使圖像有原來的尺寸,邊緣填0,也即padding, 但是填完了再利用「核」再做一次卷積,所以執行下面的操作:

所以池化層的目的也比較明確,就是減小尺寸,去除padding產生的數據信息。

現在我們有了我們的卷積圖像,我們可以使用色彩映射來顯示結果。在這里,我只是規范了0到255之間的值,以便我可以應用灰度可視化:

神經網路中,卷積+池化是特徵提取器,全連接層是分類器.

參考文獻:

[1] https://www.hu.com/question/39022858

[2] https://mlnotebook.github.io/post/CNN1/

[3] https://www.hu.com/question/22298352

⑨ 用於量子計算機的深度卷積神經網路

量子計算機將用於什麼用途?量子計算機有望在許多領域幫助解決難題,包括機器學習。

本文詳細講述 量子計算機 卷積神經網路 (CNN)的理論實現。我們將此演算法稱為 QCNN ,我們證明了它可以比CNN 更快 地運行,並且精度 很高

為此,我們必須提出 卷積積 量子形式 ,找到實現非線性和池化的方法,以及對 表示圖像 量子態 進行層析成像的新方法,以 保留有意義的信息



簡而言之,我們可以說 量子物理系統可以描述為 維度為2^n的某些希爾伯特空間中的 向量 ,其中n是粒子數。實際上,這些向量表示許多可能的觀察結果的疊加。

另一方面,機器學習,尤其是神經網路,正在粗略地使用向量和矩陣來理解或處理數據。 量子機器學習(QML)旨在使用量子系統對向量進行編碼,並使用新的量子演算法對其進行學習 。一個關鍵的概念是在許多矢量上使用量子疊加,我們可以同時處理它們。

我不會更深入地介紹量子計算或QML。有關更多詳細信息,可以參考NeurIPS 2019中有關 Quantum k-means的 一篇文章 :

卷積神經網路(CNN)是一種流行且高效的神經網路,用於圖像分類,信號處理等。在大多數層中,將 卷積積 應用於圖像或張量的輸入上。通常後面是 非線性層和池化層

3D張量輸入X ^ 1(RGB圖像)和4D張量內核K ^ 1之間的卷積。



在本章中,我將重點介紹一層,解釋什麼是量子CNN。

這里的核心思想是我們可以根據矩陣乘法來重新構造卷積積。

該演算法首先以量子疊加方式載入矩陣的 所有行和列 。然後,我們使用先前開發的 Quantum Inner Proct Estimation估算 輸出的每個像素。在實踐中,這就像只計算一個輸出像素(圖中的紅點),但是以 量子疊加的方式進行計算可以使罩山吵它們同時全部都具有 !然後,我們可以同時對它們中的每一個應用非線性。

不幸的是,我們所擁有的只是一個量子狀態,其中所有像素並行存在,並不意味著我們可以訪問所有像素。如果我們打開"量子盒"並查看結果(一個度量),我們 每次都會隨機地只看到一個輸出像素 。在打開盒子之前,這里都有"四處漂浮"的東西,就像著名的薛定諤的死活貓。

為了解決這個問題,我們引入了唯鉛一種 只檢索最有意義的像素的方法 。實際上,量子疊加中的每個輸出像素都有一個幅度,與我們測量系統時 被看到 的幅度有關。在我們的演算法中,我們強制此幅度等於像素值。 因此,具有高值的輸出像素更有可能被看到。

在CNN中,輸出中的高值像素非常重要。它們代表輸入中存在特定模式的區域。通過了解不同模式出現的位置,神經網路可以理解圖像。因此,這些 高價值像素承載著有意義的信息 ,我們可以舍棄其他希望CNN適應的 像素

圖像上量子效應(雜訊,隨機性,采樣)的小示例。憑直覺,我們僅對高值像素采樣後仍可以"理解"圖像。

請注意,在對這些輸出像素進行采樣時,我們可以在存儲它們時應用任何類型的 合並 (有關技術細節,請參見論文)。我們將這些像素存儲在經典內存中,以便可以將它們重新載入為 下一層的 輸入。



傳統上,CNN層需要時間 Õ( 輸出大小 x 內核大小 。這就是為什麼例如使用許多大內核來訓練這些網路變得昂貴的原因。我們的 量子CNN 需要時間 為O( σ X 輸出大小) X Q) ,其中 σ 是我們從輸出(<1)繪制樣品的比率,和 Q 表示量子精度參數和數據相關的參數一束。有 沒有在內核大小更依賴 (數量和尺寸),這可能允許進行更深入物侍的CNN。

通過量子CNN的這種設計,我們現在也想用量子演算法對其進行訓練。訓練包括遵循梯度下降規則更新內核參數。在這里也可以找到一種更快的量子演算法,它幾乎等同於具有某些額外誤差的通常的梯度下降。

QCNN和量子反向傳播看起來不錯,但暗示了很多近似,雜訊和隨機性。盡管有這些偽像,CNN仍然可以學習嗎?我們比較了小型經典CNN的訓練和QCNN在學習對手寫數字進行分類(MNIST數據集)的任務上的模擬。這表明 QCNN可以以相似的精度學習

量子和經典CNN訓練曲線之間的比較。 σ 是從每一層後的輸出提取的高值像素的比率。期望 σ 太小,QCNN可以很好地學習。請注意,此數值模擬很小,只能給出直覺,不是證明。

在這項工作中,我們設計了第一個量子演算法,通過引入量子卷積乘積和檢索有意義的信息的新方法,幾乎​​可以重現任何經典的CNN體​​系結構。它可以允許使用更深,更大的輸入或內核來大大加快CNN的速度。我們還開發了量子反向傳播演算法,並模擬了整個訓練過程。

請讀者思考的問題:我們可以在其他數據集使用大型架構上訓練QCNN嗎?


⑩ 什麼是卷積

最近有一個項目要用到圖像檢測,所以現在系統的開始入手深度學習的知識。本來打算用 Google 的 TensorFlow 來實現,畢竟 TFBoy 近幾年熱度不減,但考慮到項目實施周期,打算前期用網路的 EasyDL 來實現,和網路 AI 的產品經理聊了幾次,說是類似的項目,200張樣本訓練,識別能達到80%,應該算是一個不錯的識別率了。

當然,一些基礎知識還是要了解一下,這裡面有不少的概念還挺不好理解的。深度學習,有專門的卷積神經網路,在圖像領域取得了非常好的實際效果,已經把傳統的圖像處理的方法快乾趴下了。看了很多關於卷積的解釋,在這里整理一下。

網上流傳的一個段子,非常形象。比如說你的老闆命令你幹活,你卻到樓下打檯球去了,後來被老闆發現,他非常氣憤,扇了你一巴掌(注意,這就是輸入信號,脈沖),於是你的臉上會漸漸地鼓起來一個包,你的臉就是一個系統,而鼓起來的包就是你的臉對巴掌的響應,好,這樣就和信號系統建立起來意義對應的聯系。

下面還需要一些假設來保證論證的嚴謹:假定你的臉是線性時不變系統,也就是說,無論什麼時候老闆打你一巴掌,打在你臉的同一位置,你的臉上總是會在相同的時間間隔內鼓起來一個相同高度的包來,並且假定以鼓起來的包的大小作為系統輸出。好了,那麼,下面可以進入核心內容——卷積了!

如果你每天都到樓下去打檯球,那麼老闆每天都要扇你一巴掌,不過當老闆打你一巴掌後,你5分鍾就消腫了,所以時間長了,你甚至就適應這種生活了……。如果有一天,老闆忍無可忍,以0.5秒的間隔開始不間斷的扇你,這樣問題就來了,第一次扇你鼓起來的包還沒消腫,第二個巴掌就來了,你臉上的包就可能鼓起來兩倍高,老闆不斷扇你,脈沖不斷作用在你臉上,效果不斷疊加了,這樣這些效果就可以求和了,結果就是你臉上的包的高度隨時間變化的一個函數了(注意理解)。

如果老闆再狠一點,頻率越來越高,以至於你都辨別不清時間間隔了,那麼,求和就變成積分了。可以這樣理解,在這個過程中的某一固定的時刻,你的臉上的包的鼓起程度和什麼有關呢?和之前每次打你都有關!但是各次的貢獻是不一樣的,越早打的巴掌,貢獻越小,所以這就是說,某一時刻的輸出是之前很多次輸入乘以各自的衰減系數之後的疊加而形成某一點的輸出,然後再把不同時刻的輸出點放在一起,形成一個函數,這就是卷積,卷積之後的函數就是你臉上的包的大小隨時間變化的函數。

本來你的包幾分鍾就可以消腫,可是如果連續打,幾個小時也消不了腫了,這難道不是一種平滑過程么?反映到劍橋大學的公式上,f(a) 就是第 a 個巴掌,g(x-a)就是第 a 個巴掌在x時刻的作用程度,乘起來再疊加就 ok 了。

從數學上講,卷積就是一種運算。通俗易懂的說,卷積就是

** 輸出 = 輸入 * 系統**

雖然它看起來只是個簡單的數學公式,但是卻有著重要的物理意義,因為自然界這樣的系統無處不在,計算一個系統的輸出最好的方法就是運用卷積。更一般的,我們還有很多其他領域的應用:

統計學中,加權的滑動平均是一種卷積。

概率論中,兩個統計獨立變數X與Y的和的概率密度函數是X與Y的概率密度函數的卷積。

聲學中,回聲可以用源聲與一個反映各種反射效應的函數的卷積表示。

電子工程與信號處理中,任一個線性系統的輸出都可以通過將輸入信號與系統函數(系統的沖激響應)做卷積獲得。

物理學中,任何一個線性系統(符合疊加原理)都存在卷積。

計算機科學中,卷積神經網路(CNN)是深度學習演算法中的一種,近年來被廣泛用到模式識別、圖像處理等領域中。

這6個領域中,卷積起到了至關重要的作用。在面對一些復雜情況時,作為一種強有力的處理方法,卷積給出了簡單卻有效的輸出。對於機器學習領域,尤其是深度學習,最著名的CNN卷積神經網路(Convolutional Neural Network, CNN),在圖像領域取得了非常好的實際效果,始一出現便橫掃各類演算法。

其定義如下:
我們稱 (f * g)(n) 為 f,g 的卷積
其連續的定義為:

其離散的定義為:

再通俗的說,看起來像把一張二維的地毯從角沿45度斜線捲起來。
以下是一張正方形地毯,上面保存著f和g在區間[a,\b]的張量積,即U(x,y)=f(x)g(y)。

再看下面最簡單的一個例子。
考慮到函數 f 和 g 應該地位平等,或者說變數 x 和 y 應該地位平等,一種可取的辦法就是沿直線 x+y = t 捲起來:

卷了有什麼用?可以用來做多位數乘法,比如:

要解決的問題是:有兩枚骰子,把它們都拋出去,兩枚骰子點數加起來為4的概率是多少?

分析一下,兩枚骰子點數加起來為4的情況有三種情況:1+3=4, 2+2=4, 3+1=4
因此,兩枚骰子點數加起來為4的概率為:

在這里我想進一步用上面的翻轉滑動疊加的邏輯進行解釋。
首先,因為兩個骰子的點數和是4,為了滿足這個約束條件,我們還是把函數 g 翻轉一下,然後陰影區域上下對應的數相乘,然後累加,相當於求自變數為4的卷積值,如下圖所示:

樓下早點鋪子生意太好了,供不應求,就買了一台機器,不斷的生產饅頭。
假設饅頭的生產速度是 f(t),那麼一天後生產出來的饅頭總量為:

饅頭生產出來之後,就會慢慢腐敗,假設腐敗函數為 g(t),比如,10個饅頭,24小時會腐敗:

用一個模板和一幅圖像進行卷積,對於圖像上的一個點,讓模板的原點和該點重合,然後模板上的點和圖像上對應的點相乘,然後各點的積相加,就得到了該點的卷積值。對圖像上的每個點都這樣處理。由於大多數模板都是對稱的,所以模板不旋轉。卷積是一種積分運算,用來求兩個曲線重疊區域面積。可以看作加權求和,可以用來消除雜訊、特徵增強。
把一個點的像素值用它周圍的點的像素值的加權平均代替。
卷積是一種線性運算,圖像處理中常見的mask運算都是卷積,廣泛應用於圖像濾波。
卷積關系最重要的一種情況,就是在信號與線性系統或數字信號處理中的卷積定理。利用該定理,可以將時間域或空間域中的卷積運算等價為頻率域的相乘運算,從而利用FFT等快速演算法,實現有效的計算,節省運算代價。

有這么一副圖像,可以看到,圖像上有很多噪點:

自然圖像有其固有特性,也就是說,圖像的一部分的統計特性與其他部分是一樣的。這也意味著我們在這一部分學習的特徵也能用在另一部分上,所以對於這個圖像上的所有位置,我們都能使用同樣的學習特徵。

更恰當的解釋是,當從一個大尺寸圖像中隨機選取一小塊,比如說 8x8 作為樣本,並且從這個小塊樣本中學習到了一些特徵,這時我們可以把從這個 8x8 樣本中學習到的特徵作為探測器,應用到這個圖像的任意地方中去。特別是,我們可以用從 8x8 樣本中所學習到的特徵跟原本的大尺寸圖像作卷積,從而對這個大尺寸圖像上的任一位置獲得一個不同特徵的激活值。

下面給出一個具體的例子:假設你已經從一個 96x96 的圖像中學習到了它的一個 8x8 的樣本所具有的特徵,假設這是由有 100 個隱含單元的自編碼完成的。為了得到卷積特徵,需要對 96x96 的圖像的每個 8x8 的小塊圖像區域都進行卷積運算。也就是說,抽取 8x8 的小塊區域,並且從起始坐標開始依次標記為(1,1),(1,2),...,一直到(89,89),然後對抽取的區域逐個運行訓練過的稀疏自編碼來得到特徵的激活值。在這個例子里,顯然可以得到 100 個集合,每個集合含有 89x89 個卷積特徵。

以上,未知來源出處無法一一註明。

閱讀全文

與卷積神經網路信號與系統相關的資料

熱點內容
手機網路忽然4g變2g 瀏覽:440
win7設置無線網路名 瀏覽:217
計算機網路自下而上 瀏覽:560
企業的網路營銷規劃 瀏覽:218
手機怎麼連接網路不能用 瀏覽:217
怎麼通過伺服器訪問網路 瀏覽:647
mac連不上網路和手機熱點 瀏覽:255
如何解決網路異常現象 瀏覽:86
網路連接顯示500 瀏覽:588
車載ce導航無線網路 瀏覽:532
特徵融合分類網路怎麼做 瀏覽:649
自己家的wifi沒有網路了怎麼設置 瀏覽:514
電腦怎麼蹭wifi的網路 瀏覽:995
電視只能用有線網路不能連接wifi 瀏覽:557
二級交換網路的交叉點怎麼計算 瀏覽:921
威寧企業網路營銷 瀏覽:444
有線電視網路能上wifi嗎 瀏覽:150
不想要電腦怎麼設置網路 瀏覽:805
天長教體局無線網路 瀏覽:185
月卡無線網路 瀏覽:67

友情鏈接