人工智能介紹(下)


深度學(xué)習(xí)網(wǎng)絡(luò)-DNN
????神經(jīng)網(wǎng)絡(luò)是基于感知機(jī)的擴(kuò)展,而DNN可以理解為有很多隱藏層的神經(jīng)網(wǎng)絡(luò)。多層神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)DNN其實(shí)也是指的一個(gè)東西,DNN有時(shí)也叫做多層感知機(jī)。局限性有參數(shù)數(shù)量膨脹,局部最優(yōu),梯度消失,無(wú)法對(duì)時(shí)間序列上的變化進(jìn)行建模。

卷積神經(jīng)網(wǎng)絡(luò)-CNN
????CNN并不是所有的上下層神經(jīng)元都能直接相連,而是通過(guò)“卷積核”作為中介。同一個(gè)卷積核在多個(gè)圖像內(nèi)是共享的,圖 像通過(guò)卷積操作仍能保留原先的位置關(guān)系。CNN之所以適合圖像識(shí)別,正式因?yàn)镃NN模型限制參數(shù)個(gè)數(shù)并挖掘局部結(jié)構(gòu)的這個(gè)特點(diǎn)。讓一個(gè)小塊對(duì)應(yīng)一個(gè)神經(jīng)元,計(jì)算出的一個(gè)像素就是一個(gè)神經(jīng)元,一張圖片由無(wú)數(shù)個(gè)神經(jīng)元鋪滿。CNN由一個(gè)或多個(gè)卷積層和頂端的全連通層組成,同時(shí)也包括關(guān)聯(lián)權(quán)重和池化層,多用于圖像、自然語(yǔ)言處理、推薦系統(tǒng)等應(yīng)用。
????輸入層:將每個(gè)像素代表一個(gè)特征節(jié)點(diǎn)輸入到網(wǎng)絡(luò)中
????卷積層:卷積運(yùn)算的主要目的是使原信號(hào)特征加強(qiáng),并降低噪音
????降采樣層:降低網(wǎng)絡(luò)訓(xùn)練參數(shù)及模型的過(guò)擬合程度
????全連接層:對(duì)生成的特征進(jìn)行加權(quán)
????Sofymax層:獲得當(dāng)前樣例屬于不同類別的概論
????卷積核在二維輸入數(shù)據(jù)上“滑動(dòng)”,對(duì)當(dāng)前輸入部分的元素進(jìn)行矩陣乘法,然后將結(jié)果匯為單個(gè)輸出像素值,重復(fù)這個(gè)過(guò)程直到遍歷整張圖像,這個(gè)過(guò)程就叫做卷積。這個(gè)權(quán)值矩陣就是卷積核。卷積操作后的圖像稱為特征圖。卷積輸出都是所有數(shù)據(jù)的加權(quán)求和。卷積后的輸出值是所有可能性穿在的概率值不是0或1。
????局部連接:每個(gè)輸入特征不用查看每個(gè)輸入特征,而只需查看部分輸入特征
????權(quán)值共享:卷積核在圖像上“滑動(dòng)過(guò)程中不變”
????卷積運(yùn)算的主要目的是使原信號(hào)特征加強(qiáng),并降低噪音。對(duì)圖像用卷積核進(jìn)行卷積運(yùn)算實(shí)際上是一個(gè)濾波的過(guò)程。每個(gè)卷積核都是一種特征提取方式,將圖像中符合條件的部分篩選出來(lái)。
? ? 計(jì)算圖像一個(gè)區(qū)域上的某個(gè)特定特征值的平均值或最大值,這種聚合操作就叫做池化。卷積層的作用是探測(cè)上一層特征的局部連接,而池化的作用是在語(yǔ)義上把相似的特征合并起來(lái),損失部分信息但提高空間不變性,達(dá)到降維的目的。
????常用的池化方法有均值池化和最大池化。均值池化對(duì)池化區(qū)域內(nèi)的像素點(diǎn)取均值,均值池化得到的特征數(shù)據(jù)對(duì)背景信息更加敏感。最大池化對(duì)池化區(qū)域內(nèi)所有像素點(diǎn)取最大值,最大池化得到的特征數(shù)據(jù)對(duì)紋理特征信息更加敏感。
????步長(zhǎng)是卷積操作的重要概念,表示卷積核在圖片上移動(dòng)的格數(shù)。通過(guò)步長(zhǎng)的變換,可以得到不同尺寸的卷積輸出結(jié)果。
????通過(guò)降采樣以減少數(shù)據(jù)處理量的同時(shí)保留有用信息。
????


深度學(xué)習(xí)框架
????Caffe:2013年,UC Berkeley的賈揚(yáng)清在Github上發(fā)布的第一款主流的工業(yè)級(jí)深度學(xué)習(xí)框架。優(yōu)點(diǎn)是上手快、速度快、模塊化、開(kāi)放性、社區(qū)好、GPU和CPU之間無(wú)縫切換。缺點(diǎn)有Caffe 不能支持細(xì)粒度網(wǎng)絡(luò)層,構(gòu)建復(fù)雜的層類型必須以低級(jí)語(yǔ)言完成,由于其遺留架構(gòu),Caffe對(duì)循環(huán)網(wǎng)絡(luò)和語(yǔ)言建模的支持總體上很薄弱。
????TensorFlow:2015年,TensorFlow在Apache 2.0協(xié)議下開(kāi)源發(fā)布當(dāng)前最流行的深度學(xué)習(xí)框架。優(yōu)點(diǎn):支持多語(yǔ)言接口(C++/Python/Java/Go/R),支持細(xì)粒度的網(wǎng)格層,模型的不同部分可在不同的并行設(shè)備上被訓(xùn)練。缺點(diǎn):文檔混亂,版本混亂,版本間兼容性問(wèn)題大。
????PyTorch:2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推 出了PyTorch,PyTorch在學(xué)術(shù)研究者中很受歡迎。優(yōu)點(diǎn):易于使用的API—它就像Python一樣簡(jiǎn)單,動(dòng)態(tài)計(jì)算圖—取代了具有特定功能的預(yù)定義圖形,PyTorch在數(shù)據(jù)處理方面與numpy類似,可以Python完美結(jié)合。缺點(diǎn):部署不方便。
????Tengine:2017年,Tengine發(fā)布第一個(gè)版本面向端側(cè)的深度學(xué)習(xí)框架。優(yōu)點(diǎn):上手快、速度快、開(kāi)放性,支持端側(cè)大部分設(shè)備CPU,GPU,AIPU,NPU,支持異構(gòu)計(jì)算。缺點(diǎn):社區(qū)發(fā)展正在進(jìn)行中。

本文是OPEN AILAB人工智能介紹課程部分內(nèi)容的整理筆記