前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇卷積神經網絡概述范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
手寫體數字識別在郵政、金融等領域應用廣泛。對于數字識別,人們往往要求識別器有很高的識別可靠性,數字識別的錯誤所帶來的影響比文字識別等其他識別所帶來的影響更大,特別是有關金融方面的數字識別錯誤所帶來的后果是無法想象的,識別錯一個數字,這其中的差距可能是幾的差距,也可能是幾十、幾百的差距,這些都還是小問題;但更有可能這一個數字代表的差距是幾萬、幾千萬甚至幾億乃至更多,那么這個錯誤造成的損失就無法估量了。因此,O計出有著高可靠性與高識別率的數字識別系統已經成為了字符識別領域一個非常重要的環節。
1 網絡模型和數據庫及學習算法的選擇
1.1 關于Mnist數據庫的介紹
首先,Mnist是NIST數據庫的一個優化子集。它是一個有著60000個訓練樣本集與10000個測試樣本集的手寫體數字數據庫。此數字庫一共有4個文件。
此數字庫的所有樣本集都有圖像文件以及標簽文件。標簽文件的作用是用來儲存樣本集中的每個樣本的數值標簽,而每一個樣本的圖像數據信息則是由圖像文件存儲著。此數據庫的圖像數據均保存在二進制文件之中,且每個樣本圖像的大小均為28*28。
1.2 數字識別的模型選擇
手寫體數字雖然只有0~9十個數字,但由于寫法因人而異,不同地域同樣一個數字有多種不同的寫法,每個人都有自己的書寫習慣。且一些紙質差異、筆畫粗細、光線問題、位置、尺度大小等等多種因素都能對輸入產生影響。考慮到這些因素,為讓網絡有良好的識別能力,我們這里采用在圖像識別領域有著優秀表現的卷積神經網絡作為此數字識別系統的訓練模型。
1.3 學習算法的選擇
一個優秀的網絡模型必須具備良好的學習算法,每個學習網絡都有著相對來說較為合適自己的學習算法,而并不是說越高端的算法就越好。在此文中,我選擇的學習算法是較為成熟的BP算法。此算法在文字前面有些許介紹,此處不再多做說明。
2 基于卷積神經網絡的數字識別系統的設計
2.1 輸入層以及輸出層設定
根據樣本的特征與此網絡的網絡結構,可以大概判斷出輸入層與輸出層該如何設置。隱含層的個數可以是一個,也可以是多個,這與要分類的問題有關。
前文提及到在mnist數據庫中,所有的圖像都是28*28大小的,且以整個圖片的像素形式存儲在數據文件之中。每張圖像大小為28*28,故一個圖片像素點個數為784個。這里,卷積神經網絡的輸入即為這784個像素點。
因為數字識別需要識別的是0~9這十個數字,即需要識別十種字符類別,所以將這個神經網絡輸出層的神經元節點數設置為10。
2.2 網絡的中間層設置
卷積神經網絡的中間層有兩個部分,即卷積層(特征提取層)與下采樣層(特征映射層),由第二章中圖2-1所示,C1、C3為卷積層,S2、S4為降采樣層。
1)激活函數選擇
激活函數選擇sigmoid函數。同樣,在第二章有所提及。Sigmoid函數是嚴格遞增函數,能較好的平衡線性與非線性之間的行為,比較貼近生物神經元的工作。相比于其他函數,sigmoid函數還存在著許多優勢,比如光滑性、魯棒性以及它的導數可以用它自身來表示。
sigmoid函數為:
(1)
其中,x為神經元凈輸入。
激活函數導數為:
(2)
2)卷積層設計
圖像經過卷積核對特征圖進行卷積,之后再經過sigmoid函數處理在卷積層得到特征映射圖。特征映射圖相比于原圖像,其特征更為明顯突出。
卷積運算其實就是一個加權求和的過程。離散卷積是本文所選取的方法,規定卷積核在水平和豎直兩個方向每次都是移動一個像素,即卷積的步長為1。
3)下采樣層的設計
根據圖像局部相關性這一原理,為了降低網絡的學習維度、減少需要處理的數據量且保留圖像的有用信息,可以對卷積后的圖像進行下采樣。這里,我們采取的是取卷積層4個像素點平均值為下采樣層的一個像素點的方法。這樣可以降低網絡規模。
2.3 網絡總體結構CNN-0
根據LeNet-5結構,再結合上文中的對輸入層、輸出層、中間層的設計,完成了如圖3-1所示的基本網絡結構:
相比于LeNet-5,CNN-0做了一些修改,并非完全按照LeNet-5網絡結構模型。Sigmoid函數是本網絡中的激活函數,選擇這個函數的好處在于可以讓所有層得到的輸出都在區間[-1,1]之內。網絡訓練的學習率固定值為1或者是衰減的學習速率。經過卷積后的一維向量與輸出層沒有沿用LeNet-5的徑向基函數網絡,而是采取全連接方式,省去了F6層。
3.3 卷積神經網絡訓練過程
在模式識別中,學習網絡有無指導學習網絡與有指導學習網絡兩個類別。無指導學習網絡一般是用來進行聚類分析,本文采取的是有指導學習網絡。
卷積神經網絡其實就是從輸入到輸出的一種映射,它可以學量的映射關系,只需要用現有的模式對網絡進行訓練,網絡就能具備映射能力。而不需要輸入與輸出之間的精確的關系。
訓練算法與傳統的BP算法相差無幾(BP算法在第二章有做概述),主要可分為四個步驟,而這四個步驟可以歸為向前傳播階段與向后傳播階段:相前傳播:
1)隨機的從樣本集中獲取一個樣本(A, ),然后將A輸入至網絡中;
2)根據公式(3)計算出實際輸出:
(3)
向后傳播:
1)計算和理想輸出之間的差;
2)根據極小化誤差方法調整權值矩陣。
結語
在手寫數字識別這一塊,相對來說比較有難度的應該就是脫機自由手寫字符識別了,不過本文所研究的并不是這一系統,本設計是一個基于卷積神經網絡的手寫數字識別系統,因卷積神經網絡的局部感受野和降采樣以及權值共享、隱性特征提取等優點,它在圖像識別領域得到了非常廣泛的應用。此程序是在Caffe這個框架上進行運行的,操作系統為Linux系統ubuntu14.04版本。Caffe是一個開源的深度學習框架,也可以說是一個編程框架或者模板框架,它提供一套編程機制。因此,本文所需要實際的卷積神經網絡就可以根據這個框架來進行構建。
參考文獻:
[1]張偉,王克儉,秦臻.基于神經網絡的數字識別的研究[J].微電子學與計算,2006年第23卷第8期.
2. 應用領域安防
實時從視頻中檢測出行人和車輛。
自動找到視頻中異常的行為(比如,醉酒的行人或者逆行的車輛),并及時發出帶有具體地點方位信息的警報。
自動判斷人群的密度和人流的方向,提前發現過密人群帶來的潛在危險,幫助工作人員引導和管理人流。
醫療
對醫學影像進行自動分析的技術。這些技術可以自動找到醫學影像中的重點部位,并進行對比比分析。
通過多張醫療影像重建出人體內器官的三維模型,幫助醫生設計手術,確保手術
為我們每個人提供康建議和疾病風險預警,從而讓我們生活得更加健康。
智能客服
智能客服可以像人一樣和客戶交流溝通。它可以聽懂客戶的問題,對問題的意義進行分析(比如客戶是詢問價格呢還是咨詢產品的功能呢),進行準確得體并且個性化的回應。
自動駕駛
現在的自動駕駛汽車通過多種傳感器,包括視頻攝像頭、激光雷達、衛星定位系統(北斗衛星導航系統BDS、全球定位系統GPS等)等,來對行駛環境進行實時感知。智能駕駛系統可以對多種感知信號進行綜合分析,通過結合地圖和指示標志(比如交通燈和路牌),實時規劃駕駛路線,并發出指令,控制車子的運行。
工業制造
幫助工廠自動檢測出形態各異的缺陷
3. 概念什么是人工智能?
人工智能是通過機器來模擬人類認知能力的技術。
人工智能的三種訓練方式分別是監督學習、非監督學習、強化學習。下文會一一介紹。
二、這是不是鸞尾花(分類器)1. 特征提取人類感官特征
花瓣數量、顏色
人工設計特征
先確定哪些特征,再通過測量轉化為具體數值
深度學習特征
這里先不提及,文章后面會說
2. 感知器
老師給了一道題:
要區分兩種鸞尾花,得畫出一條直線區分兩類花,你可以畫出無數條直線,但是哪條才是最好的呢?
怎么辦呢?我可是學渣啊,靠蒙!
隨便找三個數a=0.5、b=1.0、c=-2 帶入 y = ax[1] + bx[2] + c,
每朵花的兩個特征也代入x[1]、x[2],比如帶入(4, 1) 得出 y[預測] = 1,此時 y[實際] = 1 (樣本設定變色鸞尾花為 1,山鸞尾為 -1 ),所以y[實際] – y[預測] = 0.
重復以上兩步,得出所有的『實際值和預測值的差距的綜合,記為 Loss1
可怎么知道是不是最優的直線呢?繼續猜啊!繼續懵!像猜世界杯一樣猜就好了。
通過沿 y = ax[1] + bx[2] + c 梯度(梯度就是求導數,高中有學的!)下降的方向繼續猜數字,具體過程大概是這樣子的:
上述所屬的實際值和預測值的差距 實際上是一種損失函數,還有其他的損失函數,比如兩點間直線距離公式,余弦相似度公式等等可以計算預測結果和實際結果之間的差距。
劃重點:損失函數就是現實和理想的差距(很殘酷)
3. 支持向量機
*判斷依據的區別也導致了損失函數的不同(但依舊是猜)
直觀的說,縫隙(上圖的分類間隔)越大越好
4. 多分類
如果有多種花怎么辦?
一趟植物課上,老師請來了牡丹鑒別專家、荷花鑒別專家、梅花鑒別專家。老師拿出了一盤花給各個專家鑒定,牡丹角色這是牡丹的概率是0.013、荷花專家角色這是荷花的概率是0.265、梅花專家角色這是梅花的概率是0.722。
老師綜合了各位專家的意見后,告訴同學們,這是一盤梅花。
小明:這老師是不是傻,一朵花是啥都不知道,還要請三個專家
老師:你給我滾出去
實際計算過程就是通過用 2.2 和 2.3 等方法訓練的二分類器,分別輸出對應的分類值(比如三種花的分類器分別輸出-1,2,3),那怎么把這些分類值轉化成概率呢?這就要用到歸一化指數化函數 Softmax(如果是二分類就用 Sigmoid函數),這里就不拿公式來說,可以直觀的看看書中這個表格就懂了:
5. 非監督學習第 2.2 能從預測值和實際值的差別判斷”是否猜對了”,是因為生物老師告訴了學渣,哪些樣本是山鸞尾花,哪些變色鸞尾花。但如果老師連樣本實際的類別也不告訴學渣(非監督式學習),學渣不知道樣本分別是什么花。
那該怎么辦呢?
機器學習的入門課程總是在講鸞尾花,也是夠煩的。
這里我們換個場景:
假如你是某直播老板,要找一堆小主播,這時候你有一堆應聘者,然而你只有她們的胸圍和臀圍數據。一堆8份簡歷擺在你面前,你是不知道哪些更加能干( capable啊 ! ) 的,更能吸引粉絲。你也沒空全部面試,那應該怎么挑選呢?
這時候你把她們的胸圍和臀圍都標準在一張二維坐標圖上:
這是你隨手一劃,把她們分成兩組,可以說“聚成兩類了”。
用某種計算方式(比如平均值)找到這個聚類的中心。點離聚類中心越近,代表越相似。
求出每個聚類中的點到藍色聚類中心點和黃色聚類中心的距離
如果一個點離黃色聚類中心更近卻被你隨手劃到了藍色分組(上圖用紅色邊框標出的小方塊),那么就把它劃入黃色分組。
這時因為分組范圍和分組內包含哪些小姐姐都發生了變化。這時候你需要以 步驟3 的方法重新計算聚類的中心
重復步驟 4 (算點中心距離)-> 重復步驟 5 (調整黃色小姐姐們和藍色小姐姐們)-> 重復步驟 3 (算中心),一直循環這個過程直到藍色和黃色聚類下所包含的小姐姐不再發生變化。那么就停止這一循環。
至此,小姐姐們已經被分為兩大類。你可以得出兩類小姐姐:
計算機在沒有監督的情況下,成功把小姐姐們分成兩類,接下來就可以在把兩種主播各投放2個到平臺看看誰更能干。效果更好的,以后就以那個聚類的樣本特征擴充更多能干的主播。
小明:有什么了不起的,我一眼就能看出黃色小姐姐更能干
老師:你給我滾出去
上面聚類小姐姐的算法就叫做 K 鄰近算法,K 為要聚類的數量(這需要人工指定),上述例子 K=2.那么如果分成三類就是 K=3,訓練過程可以看下圖,有個直觀的了解:
三、這是什么物品(圖像識別)1. 特征提取人類感官特征
花瓣顏色、花瓣長度、有沒有翅膀(區分貓和小鳥)、有沒有嘴巴和眼睛(飛機和小鳥)
感官的特征通過量化得到顏色(RGB值)、邊緣(圓角、直角、三角)、紋理(波浪、直線、網格)數值特征
人工設計特征
深度學習特征
通過卷積提取圖像特征
劃重點:卷積的作用就是提取圖像有用信息,好比微信把你發出的圖片壓縮了,大小變小了,但是你依舊能分辨出圖像的主要內容。
1維卷積 1*5+2*4+3*3=22、1*4+2*3+3*2=16、1*3+2*2+3*1=10
2維卷積 1*2+3*0+2*4+4*2=28…
通過卷積就可以得到圖像的特征信息,比如邊緣
垂直邊緣檢測
水平邊緣檢測
方向梯度直方圖
2. 深度學習和傳統模式分類的區別既然有傳統模式分類,為什么還要神經網絡呢?
區別就在于傳統的模式分類需要人為設置特征,比如花瓣長度、顏色等等。而深度學習省略掉人工設計特征的步驟,交由卷積操作去自動提取,分類器的訓練也同時融入到神經網絡當中,實現了端對端的學習
劃重點:端對端學習(End to End)就是從輸入直接得出輸出,沒有中間商,自己賺差價。
3. 深(多)層神經網絡存在的問題一般來說,神經網絡層數增多,會提高準確率。但是,網絡層數加深導致:
過擬合學渣把高考預測試題的答案都背一遍而不理解,考試的時候,如果試題是考生背過的,那么考生就能答對;如果沒背過那么考生就不會回答了。我們就可以說,學渣『過擬合了預測試題。
與之對應的是:欠擬合渣得不能再渣的人,連預測試題都背不下來,即使考試試題和預測試題一模一樣,他也只能答對30%。那么就可以說這種人~~欠揍~~欠擬合。
有興趣的還可以了解一下梯度彌散和梯度爆炸下面是網上很火很勵志的一個公式,權重在多層網絡中相乘,比如每一層的權重都是0.01,傳遞100層 就是 0.01 的100 次方,變得非常小,在梯度下降 Gradient Descent 的學習過程中,學習將變得非常慢。(好比從一個碗頂部放下一個小球,在底部徘徊的速度會越來越慢)
非凸優化學習過程可能在局部最小值(極小值)就停止了,因為梯度(斜率)為零。在局部最低停止而不是全局最低停止,學習到的模型就不夠準確了。
看圖感受一下
你說的底不是底,你說的頂是什么頂
解決的辦法
均勻初始化權重值(Uniform Initialization)、批歸一化(Batch Normalization)、跳遠鏈接(Shortcut)涉及到比較多數學邏輯,這里就不展開說明了。
4. 應用人臉識別
自動駕駛把汽車頂部拍攝到的圖片切分層一個個小方塊,每個小方塊檢測物體是車還是行人還是狗,是紅燈還是綠燈,識別各種交通標識等等。再配合雷達等判斷物體距離。
四、這是什么歌(語音識別)1. 特征提取人類感官特征音量、音調、音色
通過采樣、量化、編碼。實現聲波數字化(聲波轉電信號)
人工設計特征梅爾頻率在低頻部分分辨率高,高頻部分分辨率低(這與人耳的聽覺感受是相似的,即在一定頻率范圍內人對低頻聲音比較敏感而對高頻聲音不敏感)。
關系為:
在每一個頻率區間對頻譜求均值,它代表了每個頻率范圍內聲音能量的大小。一共有26個頻率范圍,從而得到26維的特征。倒譜操作后,得到 13 維的梅爾頻率倒譜系數(Mel-FrequencyCepstralCoefficients,MFCCs)
深度學習特征通過 3.1 所介紹的 1維卷積進行特征提取
2. 應用音樂風格分類
輸入:音頻文件特征:聲音特征輸出:音樂種類
語音轉文字
輸入:音頻文件特征:聲音特征輸出:聲學模型(比如26個英文字母)
再把聲學模型送入另外的學習器
輸入:聲學模型特征:語義和詞匯輸出:通順的語句(可以查看第6點,如何讓計算機輸出通順的語句)
聽歌識曲通過窗口掃描(把音樂分割成一小段一小段的),然后通過4.1說的方法提取這一段的特征,就得到一個特征向量。對數據庫的歌和用戶錄音的歌做同樣的操作得到特征向量,然后兩兩之間計算相似度(兩個向量的距離可以用余弦公式算夾角大小或者兩點間距離公式來算)
五、視頻里的人在做什么(視頻理解,動作識別)1. 介紹視頻,本質是由一幀幀圖片連續組成的,因為人視覺的暫留效應(Persistence of vision,人眼在觀察景物時,光信號傳入大腦神經,并不立即消失,讓人產生畫面連續的印象),看上去是連續的,也就是視頻。識別視頻里面有什么物體,可以用上文說過的圖像識別和分類方法去實時分析單幀圖像,比如:
但是視頻相對于圖像有一個更重要的屬性:動作(行為)。
怎么從一個連續的視頻分析動作呢?
舉個例子,像上圖那只二哈,腿部的像素點相對于黃色的方框(框和狗相對靜止)在左右”移動”,這里的”移動”我們引入一個概念——光流(一個像素點從一個位置移動到另一個位置),通過像素點移動形成的光流作為神經網絡的訓練特征(X),『奔跑作為訓練目標值(Y),經過多次的迭代訓練,機器就可以擬合得出一個 Y = f(X) 用于判斷視頻中的物體(Object)是否在奔跑。
2. 光流假設,1)相鄰兩幀中物體運動很小2)相鄰兩幀中物體顏色基本不變
至于神經網絡是怎么跟蹤某個像素點的,這里不展開說明。
第 t 時刻的點指向第 t+1 時刻該點的位置,就是該點的光流,是一個二維的向量。
整個畫面的光流就是這樣:
整個視頻的光流(軌跡)是這樣的
不同的虛線代表圖像上某個點移動的軌跡
假設視頻寬width、高 height、一共有 m 幀,那么該視頻可以用 width * height * m * 2 的張量(就是立體的矩陣)來表示,把向量喂到神經網絡即可進行分類訓練。
進一步優化,可以把光流簡化為8個方向上的,把視頻某一幀的所有光流累加到這八個方向上得出某一幀的光流直方圖,進一步得出 8 維的特征向量。
六、一段文字在表達什么(自然語言處理)1. 特征提取
這里有4個句子,首先進行分詞:
去掉停用詞(副詞、介詞、標點符合等等,一般在文本處理上都有一個停用詞表)
編碼詞表
句子向量化
這樣就得到一個句子19 維 的 特征向量,再把這19維的特征向量用普通卷積網絡或者 LSTM 循環神經網絡作為 X 讀入(喂它吃東西),文本的分類(比如積極、消極)作為訓練標簽值 Y,迭代訓練得到的模型可以用于情感分析或文本分類等任務。
2. 進階詞向量化厲害-牛逼、計算機-電腦是同義詞。光從上面的步驟,我們可能認為厲害和牛逼是兩個完全不一樣的詞語,但其實他們是近似的意思,怎么才能 AI 學習知道這點呢?需要從多個維度去進一步給詞語更豐富的內涵,比如:
舉例來說,男性用1表示,女性用0表示,不帶性別傾向就是0.5。多個維度擴展之后,就得到“男人”這個詞的特征向量(1,0, 0.5,0,1)
逆向文檔頻率一個詞在一類文章出現的多,而在另外分類的文章出現的少,越能說明這個次能代表這篇文章的分類。比如游泳在體育類的文章中出現的多(2次),而在工具類的文章出現的少(0次),相比其他詞語(1次)更能代表體育類的文章。
假設句子中有 N 個詞, 某個詞出現次數為 T,一共有 X 個句子,該詞語在 W 個句子出現,則逆向文檔頻率 TF-IDF 為 T/N * log(X/W)
3. 應用
七、讓計算機畫畫(生成對抗網絡)從前有個人,以賣臨摹名家的畫來賺錢。他開始臨摹一副名畫:
第一次他畫成這樣子了:
鑒賞家一眼就看出來是假的,他不得不回去畫第二幅畫、第三幅畫…
經過了10萬次”畫畫-鑒別”的過程,這個臨摹者畫出來的畫,鑒賞家居然認為這是真的原作,以高價買入了這副畫。
這種生成(畫畫)- 鑒別(鑒偽)的模式正是生成對抗網絡(GAN)的核心。
通過生成器,把隨機像素點有序排列形成具有意義的畫面,再通過鑒別器得出生成的畫面的分類、和真實畫面之間的差距,并告訴生成器要往什么方向去優化。多輪的訓練之后,生成器就學會了畫『真畫了。
計算機是怎么把隨機像素點變成有意義的畫面的呢?我們通過一個簡化的例子來看看。
直線上一些均勻分布的點,經過 y=2x+1變換后變成了非均勻分布。一張隨機排布的像素點畫面,經過某個f(x) 變換后就會變成具有某種意義的畫面,而生成器就是不停地去近似f(x), 就像 2.2 感知器擬合一條直線那樣。
下圖為計算機生成手寫數字的過程
劃重點:函數可以變換數據分布(庫克說:可以把直的變成彎的)
八AlphaGo是怎么下棋的?(強化學習)1. 粗略認知監督/無監督訓練:盡可能讓每一次任務正確強化學習:多次任務是否達成最終目標
每一次任務都準確,不就是能達成最終目標嗎?我們來看一個例子:
一家批發商店的老板愛麗絲要求她的經理比爾增加銷售額,比爾指導他的銷售員多賣一些收音機,其中一個銷售員查爾斯弄到了一個可以獲利的大單,但是之后公司因為供應緊缺無法交付這些收音機。
應該責怪誰呢?
從愛麗絲的角度來看,查爾斯的行為讓公司蒙羞了(最終任務沒完成)。
但是從比爾的角度,查爾斯成功地完成了他的銷售任務,而比爾也增加了銷量(子任務達成)。——《心智社會》第7.7章
2. AlphaGo下圍棋,最古老的辦法是決策樹,從左上角的位置開始到右下角的位置遍歷,每一個空的位置就是一個分支,然后預測每種棋局贏的概率,找出最大概率的走法玩。這就是落子預測器。
但是由于圍棋19X19的超大棋盤,空間復雜度高達10的360次方,要窮盡所有的走法幾乎是不可能的,如大海撈針。
要降低復雜度,關鍵是要降低搜索的廣度和深度。
我們栽培一顆小盆栽的時候,如果不對枝葉進行修剪,那么養分就會浪費在沒長好的枝條上。需要及時對枯萎或者異常的枝條進行修剪以保證養分往正常(或者說我們希望它生長的方向)枝條上輸送。
同樣的道理,有限的計算機算力如果浪費在窮盡所有圍棋走法上,將導致棋局推演非常慢,而且耗費大量的時間也難以找到最優的方案。
是否可以通過 “修剪” 落子選擇器這顆龐大的決策樹,加快較優落子方案的選擇呢?怎么判斷哪些是好的”枝條”,哪些是壞的”枝條”呢?這就需要棋局價值評估器(哪個棋盤的贏的概率更大),把沒有價值的棋局先去掉不再往下遍歷,這就同時減少了搜索的廣度和深度。
其中,落子預測器有個名稱,叫做政策網絡(policy network)價值評估器有個名稱,叫做價值網絡(value network)政策網絡(policy network)利用蒙特卡洛搜索樹從當前棋局推演(隨機下棋)到最終的棋局,最終勝則回報為正,反之回報為負。之后該算法會反向沿著該對弈過程的落子方案步步回溯,將路徑上勝者所選擇的落子方案分數提高,與此對應將敗者的落子方案分數降低,所以之后遇到相同局面時選擇勝者方案的概率就會增加。因此可以加速落子選擇,稱為快速走子網絡。
通過 政策網絡 + 價值網絡 + 蒙特卡洛搜索樹 實現最優落子方案的選擇,同時兩個機器人互相對弈,這樣就不停地訓練網絡,學習落子方案。
3. 定義接下來說一下枯燥的定義
什么是強化學習?
當我們關注的不是某個判斷是否準確,而是行動過程能否帶來最大的收益時使用強化學習(reinforeement learning)。比如在下棋、股票交易或商業決策等場景中。
強化學習的目標是要獲得一個策略(poliey)去指導行動。比如在圍棋博弈中,這個策略可以根據盤面形勢指導每一步應該在哪里落子;在股票交易中,這個策略會告訴我們在什么時候買入、什么時候賣出。
一個強化學習模型一般包含如下幾個部分:
一組可以動態變化的狀態(sute)
對于圍棋棋盤上黑白子的分布位置對于股票交易來說,就是股票的價格
一組可以選取的動作(metion)
對于圍棋來說,就是可以落子的位置;對于股票交易來說,就是每個時間點,買入或者賣出的股票以及數量。
一個可以和決策主體(agent)進行交互的環境(environment)這個環境會決定每個動作后狀態如何變化。
棋手(主體)的落子會影響棋局(環境),環境給主體獎勵(贏)或懲罰(輸)操盤手(主體)的買入或賣出會影響股票價格(環境,供求關系決定價格),環境給主體獎勵(賺錢)或懲罰(虧錢)
關鍵詞:麥克風陣列,陣列信號處理,語音增強
(一)引言
在日常生活和工作中,語音通信是人與人之間互相傳遞信息溝通不可缺少的方式。近年來,雖然數據通信得到了迅速發展,但是語音通信仍然是現階段的主流,并且在通信行業中占主導地位。在語音通信中,語音信號不可避免地會受到來自周圍環境和傳輸媒介的外部噪聲、通信設備的內部噪聲及其他講話者的干擾。這些干擾共同作用,最終使聽者獲得的語音不是純凈的原始語音,而是被噪聲污染過的帶噪聲語音,嚴重影響了雙方之間的交流。
應用了陣列信號處理技術的麥克風陣列能夠充分利用語音信號的空時信息,具有靈活的波束控制、較高的空間分辨率、高的信號增益與較強的抗干擾能力等特點,逐漸成為強噪聲環境中語音增強的研究熱點。美國、德國、法國、意大利、日本、香港等國家和地區許多科學家都在開展這方面的研究工作,并且已經應用到一些實際的麥克風陣列系統中,這些應用包括視頻會議、語音識別、車載聲控系統、大型場所的記錄會議和助聽裝置等。
本文將介紹各種麥克風陣列語音增強算法的基本原理,并總結各個算法的特點及存在的局限性。
(二)常見麥克風陣列語音增強方法
1.基于固定波束形成的麥克風陣列語音增強
固定波束形成技術是最簡單最成熟的一種波束形成技術。論文大全,陣列信號處理。論文大全,陣列信號處理。1985年美國學者Flanagan提出采用延時-相加(Delay-and-Sum)波束形成方法進行麥克風陣列語音增強,該方法通過對各路麥克風接收到的信號添加合適的延時補償,使得各路輸出信號在某一方向上保持同步,使在該方向的入射信號獲得最大增益[1]。此方法易于實現,但要想獲取較高的噪聲抑制能力需要增加麥克風數目,并且對非相干噪聲沒有抑制能力,環境適應性差,因此,實際中很少單獨使用。后來出現的微分麥克風陣列(DifferentialMicrophone Arrays),超方向麥克風陣列(Superairective MicrophoneArrays)和固定頻率波束形成(Frequency-InvariantBeamformers)技術也屬于固定波束形成。
2.基于自適應波束形成器的麥克風陣列語音增強
自適應波束形成是現在廣泛使用的一類麥克風陣列語音增強方法。最早出現的自適應波束形成算法是1972年由Frost提出的線性約束最小方差(LinearlyConstrained Minimum Variance, LCMV)自適應波束形成器[2]。其基本思想是在某方向有用信號的增益一定的前提下,使陣列輸出信號的功率最小。在線性約束最小方差自適應波束形成器的基礎上,1982年Griffiths和Jim提出了廣義旁瓣消除器(GeneralizedSidelobe Canceller, GSC)[3],成為了許多算法的基本框架(圖1)。
圖1 廣義旁瓣消除器的基本結構
廣義旁瓣消除器是麥克風陣列語音增強應用最廣泛的技術,帶噪聲的語音信號同時通過自適應通道和非自適應通道,自適應通道中的阻塞矩陣將有用信號濾除后產生僅包含多通道噪聲參考信號,自適應濾波器根據這個參考信號得到噪聲估計,最后由這個被估計的噪聲抵消非自適應通道中的噪聲分量,從而得到有用的純凈語音信號。
如果噪聲源的數目比麥克風數目少,自適應波束法能得到很好的性能。但是隨著干擾數目的增加和混響的增強,自適應濾波器的降噪性能會逐漸降低。
3.基于后置濾波的麥克風陣列語音增強
1988年Zelinski將維納濾波器應用在了麥克風陣列延時—相加波束形成的輸出端,進一步提高了語音信號的降噪效果,提出了基于后置濾波的麥克風陣列語音增強方法[4](圖2)。基于后置濾波的方法在對非相干噪聲抑制方面,具有良好的效果,還能夠在一定程度上適應時變的聲學環境。它的基本原理是:假設各麥克風接收到的目標信號相同,接收到的噪聲信號獨立同分布,信號和噪聲不相關,根據噪聲特性,依據某一準則實時更新濾波器權系數,對所接收到數據進行濾波,從而達到語音增強的目的。
圖2 結合后置濾波的固定波束形成器
后置濾波方法存在以下不足:首先,算法的性能受到時延誤差的影響,使增強后的語音信號有一定失真。其次,該方法對方向性的強干擾抑制效果不佳。后置濾波方法極少單獨使用,常與其他方法聯合使用。文獻[5]研究了后置濾波和通用旁瓣對消器結合使用的問題。論文大全,陣列信號處理。
4.基于近場波束形成的麥克風陣列語音增強
當聲源位于麥克風陣列近場(即陣列的入射波是球面波)情況下,聲波的波前彎曲率不能被忽略,如果仍然把入射聲波作為平面波考慮,采用常規的波束形成方法來拾取語音信號,那么麥克風陣列系統輸出效果會很不理想。解決這個問題,最直接的方法就是根據聲源位置和近場聲學的特性,對入射聲波進行近場補償[6],但是這種方法需要已知聲源位置,這在實際應用中難以是滿足。由于近場聲學的復雜性,目前有關近場波束形成麥克風陣列語音增強方法的研究相對較少。
5.基于子空間的麥克風陣列語音增強
子空間方法的基本思想是計算出信號的自相關矩陣或協方差矩陣,然后對其進行奇異值分解,將帶噪聲語音信號劃分為有用信號子空間和噪聲子空間,利用有用信號子空間對信號進行重構,從而得到增強后的信號。由Asano等提出的基于相干子空間的麥克風陣列語音增強方法是一種典型的子空間方法[7]。該方法首先將語音信號劃分到不同頻帶,然后在每個頻帶再利用空間信息,進行子空間處理。
基于子空間的麥克風陣列語音增強方法雖然降噪性受噪聲場是否相關影響較小,在相干和非相干噪聲場中均有一定的消噪效果,但是由于計算量較大,實現實時處理具有一定困難。
6.基于盲源分離的麥克風陣列語音增強
在很多實際應用中,信號源情況和信道的傳遞參數都很難獲取,盲源分離技術(BlindSource Separation, BSS)就是在這種需求下提出的。盲源分離是根據輸入源信號和干擾的統計特性,從傳感器陣列接收到的混合信號中提取出各個獨立分量的過程。法國學者Herault.J和Jutten.C在信源與信道先驗條件未知的情況下,利用人工神經網絡分離出了有用信號,開創了盲源分離的先河[8]。目前為止,已有許多學者將盲源分離技術應用于麥克風陣列語音增強。論文大全,陣列信號處理。
經過二十多年來國內外學者的不斷深入研究,盲源分離技術已經取得了巨大的進步和發展,對盲信號分離問題的研究己經從瞬時混迭模型擴展成為線性卷積模型和非線性瞬時混迭模型,但是由于盲源分離仍屬一個新興的研究方向,理論上還不成熟,這類方法一般運算量大,全局收斂性和漸進穩定性有待加強,距離實際應用有一段距離。
7.其他方法
90年代以來,一些學者將各種信號處理算法與麥克風陣列技術相融合,各種語音增強算法不斷涌現,諸如倒譜分析、小波變換、神經網絡、語音模型等方法已經在語音信號處理領域得到應用。雖然這些方法從不同角度對語音增強系統的性能進行了不同程度的改善,但大多計算量龐大,不適合時變性較強的聲學環境,而且在需要實時處理的場合,對硬件的要求也將大大提高。論文大全,陣列信號處理。
近些年國內一些高校,如清華大學,大連理工大學,電子科技大學,西安電子科技大學等也做了一些關于麥克風陣列技術的研究工作,取得了一定的研究成果。張麗艷等提出一種改進的麥克風陣列倒譜域語音去混響方法,改善混響環境下的語音質量[9]。崔瑋瑋等提出一種基于一階差分麥克風陣列的實時噪聲譜估計和抵消方法,提高輸出信噪比的同時降低了計算量[10]。曾慶寧等將陣列交叉串擾信號的自適應噪聲抵消方法應用于麥克風陣列語音增強,適用于在多種噪聲環境中實時實現[11]。
(三)結論
語音信號增強是諸如智能控制、辦公自動化、多媒體消費品等領域的關鍵技術之一,將麥克風陣列技術應用于語音增強,能夠取得傳統單麥克風難以達到的增強效果。論文大全,陣列信號處理。語音信號作為一種寬帶的非平穩信號,在傳輸過程中不可避免地會受到各種噪聲的干擾,所以采用麥克風陣列系統時需滿足在一個比較寬的聲域范圍抑制各種噪聲干擾,減少語音的失真,同時也要降低系統成本和計算時間,以達到較好的實時性和實用性。在實際應用中應根據具體的使用環境的噪聲特性,設計合適的麥克風陣列結構,選擇最佳的算法及其具體的實現形式。
【參考文獻】
[1]Flanagan J L, JohnstonD J, Zahn R, et al. Computer-steered microphone arrays for sound transductionin large rooms[J]. Journal of Acoustical Society of American. 1985, 78(5).
[2]O. L. Frost. Analgorithm for linearly-constrained adaptive array processing[J]. Proc. IEEE.1972, 60(8).
[3]L. J. Griffiths, C. W.Jim. An alternative approach to linearly constrained adaptive beamforming[J].IEEE Trans. On Antennas and Propagation. 1982, 30(1).
[4]Zelinski R. A microphone array with adaptive post-filtering for noise reductionin reverberant rooms[A]. IEEE International Conference on Acoustics, Speech andSignal Processing, USA: 1988.
[5]S. Cannot and I. Cohen. Speech enhancement based on the general transfer function GSC andpostfiltering[J]. IEEE Trans. Speech and Audio Processing, 2004, 12(6).
[6]Khalil F, Jullien J P, Crilloire A. Microphone array for sound pickup inteleconference systems[J]. Audio Engineering Society, 1994, 42( 9).
[7]Asano F, Hayamizu S. Speech enhancement using css-based array processing[A].IEEE International Conference on Acoustics, Speech and Signal Processing. Germany: 1997.
[8]Jutten C and Herault J. Blind separation of sources, part I: an adaptivealgorithm based on neuromimetic architecture[J]. Signal Processing, 1991,24(l).
[9]張麗艷等.一種適用于混響環境的麥克風陣列語音增強方法[J].信號處理.2009,25(5).
[10]崔瑋瑋等.基于FDM陣列技術的雙通道語音增強方法[J].清華大學學報(自然科學版).2008,48(7).
[11]曾慶寧等.基于陣列抗串擾自適應噪聲抵消的語音增強[J].電子學報.2005,33(2).