国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

深度學(xué)習(xí)

2019-07-20 08:21袁冰清王巖松
數(shù)字通信世界 2019年6期
關(guān)鍵詞:梯度機(jī)器卷積

袁冰清,張 杰,王巖松

(國家無線電監(jiān)測中心上海監(jiān)測站,上海 201419)

深度學(xué)習(xí)(Deep learning),也稱為深度結(jié)構(gòu)學(xué)習(xí)(Deep Structured Learning)或者是深度機(jī)器學(xué)習(xí)(Deep Machine Learning),是一類算法的集合,是機(jī)器學(xué)習(xí)的一個分支。如今,深度學(xué)習(xí)在算法領(lǐng)域可謂是大紅大紫,不只是互聯(lián)網(wǎng)、人工智能,生活中的各大領(lǐng)域都能反映出深度學(xué)習(xí)引領(lǐng)的巨大變革,如目前最先進(jìn)的語音識別、視覺對象識別等領(lǐng)域。本文先從深度學(xué)習(xí)中涉及到的一些概念去理解深度學(xué)習(xí),最后主要介紹目前在圖片識別和語言處理中應(yīng)用最廣泛的兩大類深度學(xué)習(xí)網(wǎng)絡(luò):卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)。

1 表示學(xué)習(xí)

人工智能(AI)系統(tǒng)需要具備自己獲取知識的能力,即從原始數(shù)據(jù)中提取模式的能力,這種能力就稱為機(jī)器學(xué)習(xí)(Machine Learning)。傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)在以原始形式處理自然數(shù)據(jù)能力方面是有限的。表示學(xué)習(xí)[1](Representation Learning)是允許機(jī)器自適應(yīng)原始數(shù)據(jù)并且自動發(fā)現(xiàn)這些可以檢測或者分類的表現(xiàn)形式的一系列方法。深度學(xué)習(xí)就是具有多級表示的表示學(xué)習(xí)方法,獲得更高層次、更抽象的表示層次[2]。事實(shí)證明,深度學(xué)習(xí)非常善于發(fā)現(xiàn)高維度數(shù)據(jù)中的復(fù)雜結(jié)構(gòu),除了在圖片識別與語音識別方面取得重要成就之外,深度學(xué)習(xí)在自然語言多任務(wù)理解方面也有顯著的成果,尤其是在主題分類、情感分析及語言翻譯等方面。

2 監(jiān)督學(xué)習(xí)

機(jī)器學(xué)習(xí)的主要形式就是監(jiān)督學(xué)習(xí)(Supervised learning),不管是深度還是非深度。從訓(xùn)練集中學(xué)到或建立一個模式,并依此模式推測新的實(shí)例,訓(xùn)練集就是由相對應(yīng)的輸入和預(yù)期輸出組成。實(shí)際輸出與所期望的輸出之間的誤差,我們定義為目標(biāo)函數(shù),機(jī)器可以修改內(nèi)部的權(quán)重去減少誤差。在一些典型的深度學(xué)習(xí)系統(tǒng)中,可能有數(shù)百萬計(jì)的可調(diào)權(quán)重,以及數(shù)百萬計(jì)的標(biāo)簽樣本去訓(xùn)練機(jī)器。為了正確調(diào)整權(quán)重向量,學(xué)習(xí)算法計(jì)算一個梯度矢量,對于每個權(quán)重而言,每次增加一個微小的量時,誤差就會相應(yīng)地增加或者減少一定的量,然后權(quán)重向量就向梯度矢量相反的方向調(diào)整來適應(yīng)梯度向量。實(shí)際中,大家最常用的一種稱為隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)的算法[3]。對于很多樣本,計(jì)算輸出誤差,計(jì)算樣本的平均梯度,相應(yīng)地去調(diào)整權(quán)重。這個過程重復(fù)多次,直到目標(biāo)函數(shù)的平均值減小。在訓(xùn)練之后,系統(tǒng)的性能就用一系列不同的被稱為測試集的樣本來測量,這也是測試機(jī)器的泛化能力-檢驗(yàn)對于在訓(xùn)練期間沒見過的輸入產(chǎn)生合理答案的能力。

深度學(xué)習(xí)架構(gòu)都是簡單模型的多層堆疊[1],所有的或者大部分模塊都是需要學(xué)習(xí),其中許多都是非線性的輸入-輸出映射。在堆疊中的每個模塊轉(zhuǎn)變輸入以增大特征的選擇性和不變性。對于一個非線性多層網(wǎng)絡(luò)來說,比如深度是5-20層的深度,系統(tǒng)就可以進(jìn)行非常復(fù)雜的功能,對于細(xì)節(jié)的輸入就非常敏感了,比如可以區(qū)分長得很像的薩摩耶和白狼,但也可以對不相關(guān)的變量如:背景、姿勢、燈光和周圍的物體就不敏感了。

深度學(xué)習(xí)當(dāng)前應(yīng)用最廣泛,效果最佳的就在計(jì)算機(jī)視覺和語音識別領(lǐng)域。而在計(jì)算機(jī)視覺方面,卷積神經(jīng)網(wǎng)絡(luò)就是典型范例。卷積神經(jīng)網(wǎng)絡(luò)是一種特殊類型的深度前饋網(wǎng)絡(luò),更易于訓(xùn)練,并且比全接連的神經(jīng)網(wǎng)絡(luò)的泛化性能更好[4]。

3 卷積神經(jīng)網(wǎng)絡(luò)與圖像識別

卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Networks,CNN)被設(shè)計(jì)用來處理多維數(shù)組數(shù)據(jù)的,比如一個包含三個顏色通道的彩色圖片。很多數(shù)據(jù)形態(tài)都是多維數(shù)組形式:1D用來表示信號和序列如語音,2D用來表示圖像,3D用來表示視頻或者由聲音的圖像。下面我們用彩色圖像中某一個顏色通道來說明理解卷積神經(jīng)網(wǎng)絡(luò)的過程。如下圖所示:實(shí)際上卷積神經(jīng)網(wǎng)絡(luò)是一個多層的神經(jīng)網(wǎng)絡(luò),其中基本運(yùn)算包含:卷積運(yùn)算、池化運(yùn)算、全連接運(yùn)算和識別運(yùn)算[5]。

圖1 卷積神經(jīng)網(wǎng)絡(luò)原理過程

圖片的原始數(shù)據(jù)就是像素矩陣,每個像素點(diǎn)里都存儲著圖像的信息。我們再定義一個卷積核(相當(dāng)于權(quán)重),用來從圖像中提取一定的特征。卷積核與數(shù)字矩陣對應(yīng)位置相乘再相加,得到卷積層輸出結(jié)果。卷積核的取值在沒有以往學(xué)習(xí)的經(jīng)驗(yàn)下,可由函數(shù)隨機(jī)生成,再逐步調(diào)整。當(dāng)所有的像素點(diǎn)都至少被覆蓋一次后,就可以產(chǎn)生一個卷積層的輸出。機(jī)器一開始并不知道要識別的部分有什么特征,但是用過與不同的卷積核作用后得到的輸出值,相互比較來判斷哪個卷積核最能表現(xiàn)該圖片的特征。卷積層的輸出值越高,就說明匹配程度就越高,越能表現(xiàn)該圖片的特征。即卷積層就是通過不斷地改變卷積核,來確定能初步表征圖片特征的有用的卷積核是哪些,再得到與相應(yīng)的卷積核相乘后的輸出矩陣。池化層的輸入就是卷積層輸出的原始數(shù)據(jù)與相應(yīng)的卷積核相乘后的輸出矩陣。那池化層的目的:為了減少訓(xùn)練參數(shù)的數(shù)量,降低卷積層輸出的特征向量的維度,減小過擬合現(xiàn)象,只保留最有用的圖片信息,減少噪聲的傳遞。最常見的兩種池化層的形式:最大池化-選取指定區(qū)域內(nèi)最大的一個數(shù)來代表正片區(qū)域;均值池化-選取指定區(qū)域內(nèi)數(shù)值的平均值來代表整片區(qū)域。卷積和池化層的工作就是提前特征,并減少原始圖像帶來的參數(shù),然而為了生成最終的輸出,我們需要應(yīng)用全連接層來生成一個等于我們需要的類的數(shù)量的分類器。全連接層的工作原理跟一般的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)很類似,我們需要把池化成輸出的張量重新切割成向量,乘上權(quán)重矩陣,加上偏置值,然后對其使用RELU激活函數(shù),用梯度下降法優(yōu)化參數(shù)即可。卷積神經(jīng)網(wǎng)絡(luò)在卷積運(yùn)算和池化運(yùn)算中就通過三個核心想法來改進(jìn)學(xué)習(xí)效率及體現(xiàn)自然信號的屬性:稀疏交互、權(quán)值共享及等變表示。

自從21世紀(jì)初以來,卷積神經(jīng)網(wǎng)絡(luò)就被成功地應(yīng)用在檢測、分隔和物體識別及圖像的各個領(lǐng)域方面。這些應(yīng)用都是使用了大量的有標(biāo)簽的數(shù)據(jù),比如交通信號識別,生物信息分割,面部特征探測,自然圖像中的文字,行人和人的身體部分探測。卷積神經(jīng)網(wǎng)絡(luò)當(dāng)前最成功的應(yīng)用就是人臉識別。

4 循環(huán)神經(jīng)網(wǎng)絡(luò)和語言處理

當(dāng)處理序列信息的任務(wù),如理解一句話的意思時,孤立地理解這句話的每個詞是不夠的[6],我們需要處理這些詞連接起來的整個序列,即前面的輸入跟后面的輸入是有關(guān)系的,這時候我們就需要用到深度學(xué)習(xí)領(lǐng)域中一類非常重要的神經(jīng)網(wǎng)絡(luò)-循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。

圖2 循環(huán)神經(jīng)網(wǎng)絡(luò)展開結(jié)構(gòu)圖

循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如上圖[1]所示,跟普通的全連接神經(jīng)網(wǎng)絡(luò)相比,多了一層循環(huán)層,按時間序列展開來看,就是當(dāng)前隱藏層的輸出值不僅與當(dāng)前的輸入值有關(guān),還取決于上一次隱藏層的值。循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法是BP算法的變體,BPTT(Back Propagation Trough Time)。但是在實(shí)踐中,RNN在訓(xùn)練中很容易發(fā)生梯度爆炸和梯度消失,導(dǎo)致梯度不能在較長序列中一直傳遞下去,因此RNNs不能很好地處理較長序列的問題。比如在語言文字識別中,在長語句“I grew up in France…I speak fluent French”中去預(yù)測最后的French,那么模型會推薦一種語言的名稱,但是具體到哪一種語言時就需要用到很遠(yuǎn)之前的文字France,這時候RNN可能不能夠?qū)W到前面的知識。為了解決長距離的依賴問題,通常使用一種改進(jìn)之后的循環(huán)神經(jīng)網(wǎng)絡(luò):長短時記憶網(wǎng)絡(luò)(Long Short Term Memory Network,LSTM)及其變體:GRU(Gated Recurrent Unit)。

LSTM的思路非常簡單,原始的RNN的隱藏層只有一個狀態(tài),即h,它對短期的輸入非常敏感,我們在增加一個狀態(tài)C,讓她來保持長期的狀態(tài),新增加的狀態(tài)c,成為單元狀態(tài)(cell state),按時間序列展開如圖3所示[7]:

圖3 LSTM的單元狀態(tài)展開圖

在當(dāng)前t時刻,LSTM的輸出有兩個,當(dāng)前時刻LSTM輸出值ht、和當(dāng)前時刻單元狀態(tài)ct,輸出值ht不僅跟當(dāng)前的輸入Xt有關(guān),還跟上一層的輸出ht-1、ct-1有關(guān)。因此LSTM的關(guān)鍵就是怎樣控制長期狀態(tài)C,而長期控制狀態(tài)是通過三個門(實(shí)際上是一層全連接層)來控制的,分別是遺忘門、輸入門和輸出門。GRU作為LSTM的一種變體,將遺忘門跟輸入門合并為一個單一的更新門,同樣混合了單元狀態(tài)和隱藏狀態(tài),最終的模型比標(biāo)準(zhǔn)的模型要簡單,是也是非常流行的變體。

但是往往在語言識別中,同樣的一句話有不同的意義,比如兩個外語學(xué)院的學(xué)生,一種意思是兩個外語學(xué)院的/學(xué)生,另一種意思是兩個/外語學(xué)院的學(xué)生。這時候,把句子看成是詞的序列輸入是不夠的,必須按照樹結(jié)構(gòu)去處理信息,而不是序列,這就是遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN),跟循環(huán)神經(jīng)網(wǎng)絡(luò)的縮寫一樣,看以看成是循環(huán)神經(jīng)網(wǎng)絡(luò)更一般的形式,它可以處理樹、圖這樣的遞歸結(jié)構(gòu)。遞歸神經(jīng)網(wǎng)絡(luò)可以把樹/圖結(jié)構(gòu)信息編碼為一個向量,也就是把信息映射到一個語義空間中,通過編碼后向量的距離來代表句子意義的相近問題如圖4所示[8]。所以說遞歸神經(jīng)網(wǎng)絡(luò)是一種表示學(xué)習(xí),可以將詞、句、段、篇按照他們的語義映射到同一向量空間中,把組合的信息表示為一個個有意義的向量。但是因?yàn)檫f歸神經(jīng)網(wǎng)絡(luò)的輸入必須把每個句子標(biāo)注為語法解析樹的形式,需要花費(fèi)很大的精力,因此在實(shí)際應(yīng)用中反而不太流行。

圖4 遞歸神經(jīng)網(wǎng)絡(luò)中語義解析

5 深度學(xué)習(xí)的展望

人類視覺是一個智能的,基于特定方式的利用小或大分辨率的視網(wǎng)膜中央窩與周圍環(huán)繞區(qū)域?qū)饩€采集成像的活躍的過程。我們期望未來的機(jī)器視覺進(jìn)展是來自于端到端的訓(xùn)練系統(tǒng),并將卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)結(jié)合起來,采用增強(qiáng)學(xué)習(xí)來決定走向。結(jié)合深度學(xué)習(xí)和增強(qiáng)學(xué)習(xí)的系統(tǒng)還處于起步階段,但是他們已經(jīng)超越來在分類任務(wù)中超過了被動視覺系統(tǒng),并在學(xué)習(xí)操作視頻游戲中產(chǎn)生了令人印象深刻的效果。

自然語言理解是深度學(xué)習(xí)的另一個領(lǐng)域,有望在未來幾年內(nèi)產(chǎn)生巨大的影響。我們希望使用RNN 的系統(tǒng)能夠理解句子或者整個文檔,當(dāng)他們學(xué)習(xí)有選擇性地學(xué)習(xí)了某時刻部分加入的策略。

總之,人工智能將取得重大的進(jìn)展,通過將表現(xiàn)學(xué)習(xí)與復(fù)雜推理學(xué)習(xí)結(jié)合起來。盡管深度學(xué)習(xí)和段時間了,我們?nèi)孕枰ㄟ^操作大量向量的新范式來取代基于規(guī)則的字符表達(dá)式操作。

猜你喜歡
梯度機(jī)器卷積
機(jī)器狗
一個帶重啟步的改進(jìn)PRP型譜共軛梯度法
機(jī)器狗
一個改進(jìn)的WYL型三項(xiàng)共軛梯度法
隨機(jī)加速梯度算法的回歸學(xué)習(xí)收斂速度
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
卷積神經(jīng)網(wǎng)絡(luò)的分析與設(shè)計(jì)
從濾波器理解卷積
一個具梯度項(xiàng)的p-Laplace 方程弱解的存在性
未來機(jī)器城