• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于光網(wǎng)絡(luò)的深度學(xué)習(xí)算法研究

    2017-07-25 13:52:39孟海東冀小青宋宇辰
    現(xiàn)代電子技術(shù) 2017年14期
    關(guān)鍵詞:計(jì)算機(jī)視覺卷積神經(jīng)網(wǎng)絡(luò)

    孟海東+冀小青+宋宇辰

    摘 要: 光網(wǎng)絡(luò)是一種輕便的、通用的和純基于Matlab的深度學(xué)習(xí)框架。其思想是為深度學(xué)習(xí)研究提供一個(gè)易于理解、易于使用和高效的計(jì)算平臺(tái)。實(shí)現(xiàn)此框架可以支持大部分深度學(xué)習(xí)架構(gòu)例如多層感知器網(wǎng)絡(luò)(MLP)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。該框架支持CPU和GPU無縫轉(zhuǎn)換。實(shí)驗(yàn)證明此框架在計(jì)算機(jī)視覺、自然語言處理以及機(jī)器人技術(shù)中有不同的應(yīng)用。

    關(guān)鍵詞: 計(jì)算機(jī)視覺; 圖像理解; 卷積神經(jīng)網(wǎng)絡(luò); 多層感知器

    中圖分類號(hào): TN915.63?34; TP311 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)14?0170?04

    Abstract: The optical network is a lightweight, versatile and purely Matlab?based deep learning framework. The idea underlying its design is to provide an easy?to?understand, easy?to?use and efficient computational platform for deep learning research. The framework supports major deep learning architectures such as multilayer perceptron(MLP) networks, convolutional neural networks (CNN) and recurrent neural networks (RNN). The framework also supports the straightforward switch between both CPU and GPU for computation. The experiment result indicates that the framework has different applications in computer vision, natural language processing and robotic technology.

    Keywords: computer vision; image understanding; convolutional neural network; multilayer perceptron

    0 引 言

    深層神經(jīng)網(wǎng)絡(luò)[1]已經(jīng)給出了許多機(jī)器智能問題的主要進(jìn)展,最新的神經(jīng)網(wǎng)絡(luò)模型的實(shí)現(xiàn)主要強(qiáng)調(diào)效率。這些框架可以由20萬~50萬行代碼組成,并經(jīng)常涉及多個(gè)編程語言[2?4]。它需要付出巨大的努力來徹底理解和改進(jìn)模型。一個(gè)簡(jiǎn)單的和自我解釋的深層學(xué)習(xí)框架是高度預(yù)期的且加快深層神經(jīng)網(wǎng)絡(luò)模型的理解和應(yīng)用。

    在此提出的光網(wǎng)絡(luò)是一個(gè)輕便的、通用的和純基于Matlab的深層神經(jīng)網(wǎng)絡(luò)模型。簡(jiǎn)潔、高效的Matlab編程技術(shù)已被用來實(shí)現(xiàn)所有的計(jì)算模塊。許多神經(jīng)網(wǎng)絡(luò)流行的類型,如多層感知器、卷積神經(jīng)網(wǎng)絡(luò)、神經(jīng)網(wǎng)絡(luò)都在光網(wǎng)絡(luò)中得以實(shí)現(xiàn),是結(jié)合隨機(jī)梯度下降的幾個(gè)變化(SDG)為基礎(chǔ)的優(yōu)化算法。

    自從光網(wǎng)絡(luò)僅用Matlab實(shí)現(xiàn),主要的計(jì)算用幾百行代碼來矢量化和執(zhí)行,數(shù)量級(jí)比現(xiàn)有的框架更簡(jiǎn)潔。所有基本操作都可以輕松定制,只需有Matlab編程基本知識(shí)。數(shù)學(xué)化研究人員可以專注于數(shù)學(xué)建模的一部分而不是工程部分。

    應(yīng)用程序的用戶可以很容易地理解和修改任何部分的框架,開發(fā)新的網(wǎng)絡(luò)架構(gòu),使他們適應(yīng)新的應(yīng)用。除了簡(jiǎn)單,光網(wǎng)絡(luò)還具有以下特點(diǎn):光網(wǎng)絡(luò)包含最現(xiàn)代的網(wǎng)絡(luò)架構(gòu);計(jì)算機(jī)視覺中的應(yīng)用、自然語言處理和強(qiáng)化學(xué)習(xí)已被證明;光網(wǎng)絡(luò)提供了一個(gè)綜合的優(yōu)化算法的收集;光網(wǎng)絡(luò)支持在CPU和GPU之間計(jì)算的簡(jiǎn)單切換;快速傅里葉變換來有效地計(jì)算卷積,從而使大卷積核被支持;光網(wǎng)絡(luò)自動(dòng)化的超參數(shù)優(yōu)化了新型選擇性的SGD算法。

    1 模 塊

    主要的計(jì)算模塊包括前饋過程和向后/反向傳播過程。前饋過程評(píng)估模型,反向傳播報(bào)告網(wǎng)絡(luò)梯度。隨機(jī)梯度下降算法是用來優(yōu)化模型參數(shù)。

    1.1 核心計(jì)算模塊

    光網(wǎng)絡(luò)能夠?qū)W⒂跀?shù)學(xué)部分而不是低層次的工程細(xì)節(jié)。為了使本文更完備,在此說明光網(wǎng)絡(luò)中的主要計(jì)算模塊。本文的所有網(wǎng)絡(luò)和相關(guān)實(shí)驗(yàn)都是建立在這些模塊的基礎(chǔ)之上。

    1.1.1 線性感知器層

    一個(gè)線性感知器層可以表示為y=Wx+b。在這里,x表示input_dim×1大小的輸入數(shù)據(jù),W表示output_dim× input_dim大小的權(quán)重矩陣,b是一個(gè)output_dim× 1大小的偏置向量,y表示output_dim× 1大小的線性層輸出。

    從線性感知器輸入映射到最終的網(wǎng)絡(luò)輸出可以表示為z=f(y)=f(Wx+b),f是一個(gè)非線性函數(shù),它表示在更深層次的網(wǎng)絡(luò)的計(jì)算;z是網(wǎng)絡(luò)輸出,通常是一個(gè)損失值。

    1.1.2 卷積層

    卷積層由一個(gè)多維濾波器組kio將輸入特征圖Nmap_in映射到輸出特征圖Nmap_out。每個(gè)輸入特征圖xi與相對(duì)應(yīng)的濾波器組kio進(jìn)行卷積,卷積的結(jié)果是求和并添加偏置值Bo生成o?th輸出圖: 。允許使用大的卷積核,快速傅里葉變換(FFT)是用來計(jì)算卷積(及相關(guān))。根據(jù)卷積定理[5],在空間域卷積等價(jià)于在頻域的逐點(diǎn)乘法。因此,ki*xi可以用傅里葉變換計(jì)算:ki*xi=F-1{F{ki}·F{xi}}。在這里,F(xiàn)表示傅里葉變換,“”表示逐點(diǎn)乘法運(yùn)算,卷積層支持填充和跨越。

    從o?th輸出特征圖到網(wǎng)絡(luò)輸出的映射可以表示為z=f(yo)。這里f是從o?th輸出特征圖yo到最終的網(wǎng)絡(luò)輸出的非線性映射。與第1.1.1節(jié)類似,,,需要在反向的過程中計(jì)算。

    1.1.3 Max?pooling層

    最大pooling層計(jì)算在窗口中的最大元素與步幅大小,一個(gè)定制的im2col_ln功能是實(shí)現(xiàn)轉(zhuǎn)換pooling補(bǔ)丁為列向量,來矢量化在Matlab中的pooling計(jì)算。內(nèi)置的最大功能是這些列向量可以返回pooling結(jié)果和這些最大值的指數(shù),然后,在原來的批量數(shù)據(jù)恢復(fù)相應(yīng)指數(shù)。此外,零填充可應(yīng)用于輸入數(shù)據(jù)。

    不失一般性,從Max?pooling層輸入到最終的網(wǎng)絡(luò)輸出的映射可以表示為z=f(y)=f(Sx),其中S是選擇矩陣,x是一個(gè)列向量,它表示輸入數(shù)據(jù)到這層。

    在反向的過程中,被計(jì)算并傳遞給淺層:。

    當(dāng)pooling范圍小于或等于該步長(zhǎng)大小時(shí),可以用Matlab中簡(jiǎn)單的矩陣索引技術(shù)計(jì)算出。具體來說,與輸入數(shù)據(jù)相同大小的一個(gè)空的張量dzdx被創(chuàng)建。dzdx(from)=dzdy,from是pooling指數(shù),dzdy是一個(gè)記錄pooling結(jié)果的張量。當(dāng)pooling范圍大于步長(zhǎng)大小時(shí),x中的每一個(gè)條目都可以被匯集多次,并且反向傳播梯度需要為這些多個(gè)匯集條目積累。在這種情況下,計(jì)算可以利用Matlab自帶的功能accumarray()。

    1.1.4 修正線性單元

    修正線性單元(ReLU)作為一個(gè)主要的非線性映射函數(shù)被實(shí)現(xiàn),一些其他的函數(shù)包括sigmoid和tanh這里的討論就省略了。ReLU函數(shù)是很獨(dú)特的函數(shù),如果輸入大于0,則輸出0,否則y=ReLU(x)=x·ind(x>0)。在反向的過程中,如果輸入數(shù)據(jù)是非負(fù)的,則梯度傳遞到較淺層,否則,梯度被忽略。

    1.2 損失函數(shù)

    通常,一個(gè)損失函數(shù)會(huì)和最深核心計(jì)算模塊的輸出相連。目前,為了達(dá)到分類任務(wù)光網(wǎng)絡(luò)還支持softmax 中的LogLoss函數(shù)。

    1.3 優(yōu)化算法

    隨機(jī)梯度下降(SGD)為基礎(chǔ)的優(yōu)化算法是訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)的主要工具。標(biāo)準(zhǔn)的SGD算法和它的一些流行的變型如adagrad[6],rmsprop[7], Adam[8],同樣實(shí)現(xiàn)了深度學(xué)習(xí)的研究。值得一提的是,在此實(shí)現(xiàn)了一個(gè)新的選擇性的SGD算法便于參數(shù)尤其是學(xué)習(xí)速率的選擇。

    2 實(shí) 驗(yàn)

    2.1 多層感知器網(wǎng)絡(luò)

    在MNIST數(shù)據(jù)上[9]構(gòu)造一個(gè)多層感知器網(wǎng)絡(luò)來測(cè)試光網(wǎng)絡(luò)的性能。網(wǎng)絡(luò)從MNIST圖像數(shù)據(jù)集取得28×28輸入,在接下來的兩層分別有128個(gè)節(jié)點(diǎn)。然后,128維特征連接10個(gè)節(jié)點(diǎn)來計(jì)算softmax輸出。實(shí)驗(yàn)結(jié)果見圖1。

    和測(cè)試階段的損失和錯(cuò)誤率

    2.2 卷積神經(jīng)網(wǎng)絡(luò)

    在cifar?10數(shù)據(jù)[10]上由4個(gè)卷積層構(gòu)建一個(gè)卷積網(wǎng)絡(luò)來測(cè)試光網(wǎng)絡(luò)的性能。此結(jié)構(gòu)與來自MatConvNet的一個(gè)報(bào)告相同[3]。32,32,64,64在前三層有5×5大小的卷積核,最后一層有4 × 4大小的內(nèi)核。ReLU函數(shù)應(yīng)用到每一個(gè)卷積層之后作為非線性映射函數(shù)。光網(wǎng)絡(luò)自動(dòng)選擇和調(diào)整學(xué)習(xí)速率并可以達(dá)到非常精確。與有固定的學(xué)習(xí)速率的SGD標(biāo)準(zhǔn)比較,選擇性SGD具有更好的精度。最重要的是,使用選擇性SGD避免手動(dòng)調(diào)諧的學(xué)習(xí)速率。圖2為實(shí)驗(yàn)結(jié)果。計(jì)算在一個(gè)Intel i5 6600K CPU和Nvidia Titan X GPU(12 GB內(nèi)存)的臺(tái)式電腦上進(jìn)行。當(dāng)前版本的光網(wǎng)絡(luò)用這種網(wǎng)絡(luò)結(jié)構(gòu)在GPU上每秒可以處理750個(gè)圖像,大約比使用的CPU速度快5倍。

    2.3 LSTM網(wǎng)絡(luò)

    長(zhǎng)短期記憶(LSTM)[11]是一個(gè)流行的遞歸神經(jīng)網(wǎng)絡(luò)模型。由于光網(wǎng)絡(luò)的通用性,LSTM網(wǎng)絡(luò)作為一個(gè)特定的應(yīng)用程序可以在光網(wǎng)絡(luò)包中實(shí)現(xiàn)。值得注意的是,在光網(wǎng)絡(luò)中的核心計(jì)算模塊用于執(zhí)行時(shí)域前向過程和反向傳播為L(zhǎng)STM。

    在一個(gè)LSTM模型中的前向過程可以用公式表示為:

    和測(cè)試階段的損失和錯(cuò)誤率

    優(yōu)化LSTM模型,在LSTM中通過時(shí)間的反向傳播實(shí)現(xiàn)和計(jì)算最關(guān)鍵值:

    采用一個(gè)關(guān)鍵的迭代屬性來計(jì)算上述值:

    一些其他的梯度可以通過使用上述計(jì)算輸出的鏈規(guī)則計(jì)算:

    LSTM網(wǎng)絡(luò)測(cè)試一個(gè)字符語言建模任務(wù),該數(shù)據(jù)集由選自莎士比亞作品的20 000個(gè)句子組成,每個(gè)句子斷成67字(和標(biāo)點(diǎn)符號(hào)),LSTM模型可以根據(jù)前一個(gè)字符預(yù)測(cè)下一個(gè)字符。網(wǎng)絡(luò)模型中使用30個(gè)隱含節(jié)點(diǎn)并且RMSProp用于訓(xùn)練。在后10次訓(xùn)練,下一個(gè)字符的預(yù)測(cè)精度提高到70%。

    2.4 Q?網(wǎng)絡(luò)

    作為強(qiáng)化學(xué)習(xí)中的應(yīng)用,創(chuàng)建一個(gè)和MLP網(wǎng)絡(luò)一致的Q?network[12]。然后將Q?network應(yīng)用到經(jīng)典的Cart?Pole的問題中[13]。Cart?Pole系統(tǒng)的動(dòng)力學(xué)可以在一個(gè)兩層網(wǎng)絡(luò)數(shù)百次迭代中學(xué)習(xí)到。對(duì)Q?network更新過程的一次迭代為:

    式中,act是由概率ε隨機(jī)選擇的。所需的網(wǎng)絡(luò)輸出值Qnew是利用觀測(cè)到的reward和由此產(chǎn)生的狀態(tài)的貼現(xiàn)值γV(statenew)計(jì)算出來的,通過均衡器預(yù)測(cè)當(dāng)前的網(wǎng)絡(luò)。通過使用最小平方損失函數(shù):

    3 結(jié) 論

    為了深層神經(jīng)網(wǎng)絡(luò)模型的理解與發(fā)展,光網(wǎng)絡(luò)提供了一個(gè)易于擴(kuò)展的生態(tài)系統(tǒng)。在Matlab環(huán)境下,整個(gè)計(jì)算過程可以很容易地跟蹤和可視化。這些設(shè)置的主要功能可以對(duì)深度學(xué)習(xí)研究界提供獨(dú)特的便利。

    參考文獻(xiàn)

    [1] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks [J]. Advances in neural information processing systems, 2012, 25(2): 1097?1105.

    [2] JIA Y, SHELHAMER E, DONAHUE J, et al. Caffe: Convolutional architecture for fast feature embedding [C]// Proceedings of the ACM International Conference on Multimedia. [S.l.]: ACM, 2014: 675?678.

    [3] VEDALDI A, LENC K. Matconvnet: Convolutional neural networks for Matlab [C]// Proceedings of the 23rd Annual ACM Conference on Multimedia. [S.l.]: ACM, 2015: 689?692.

    [4] BASTIEN F, LAMBLIN P, PASCANU R, et al. Theano: new features and speed improvements [J]. arXiv preprint arXiv, 2012, 20: 42?51.

    [5] MALLAT S G. A wavelet tour of signal processing: the sparse way [J]. Academic press, 1998 , 31 (3) :83?85.

    [6] DUCHI J, HAZAN E, SINGER Y. Adaptive subgradient methods for online learning and stochastic optimization [J]. The journal of machine learning research, 2011 (12): 2121?2159.

    [7] TIELEMAN T, HINTON G. Lecture 6.5?rmsprop: Divide the gradient by a running average of its recent magnitude [J]. Neural networks for machine learning, 2012, 4 (2): 20?26.

    [8] KINGMA D, BA J. Adam: A method for stochastic optimization [C]// Proceedings of the 3rd International Conference for Learning Representations. San Diego: [s.n.], 2015: 1412?1418.

    [9] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278?2324.

    [10] KRIZHEVSKY A, HINTON G. Learning multiple layers of features from tiny images [M]. [S.l.: s.n.], 2009.

    [11] HOCHREITER S, SCHMIDHUBER J. Long short?term memory [J]. Neural computation , 1997, 9(8): 1735?1780.

    [12] MNIH V, KAVUKCUOGLU K, SILVER D, et al. Human?level control through deep reinforcement learning [J]. Nature 2015, 518(7540): 529?533.

    [13] BARTO A G, SUTTON R S, ANDERSON C W. Neuronlike adaptive elements that can solve difficult learning control problems [J]. IEEE transactions on systems, man and cybernetics, 1983, (5): 834?846.

    猜你喜歡
    計(jì)算機(jī)視覺卷積神經(jīng)網(wǎng)絡(luò)
    基于卷積神經(jīng)網(wǎng)絡(luò)溫室智能大棚監(jiān)控系統(tǒng)的研究
    基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識(shí)別算法
    雙目攝像頭在識(shí)別物體大小方面的應(yīng)用
    機(jī)器視覺技術(shù)發(fā)展及其工業(yè)應(yīng)用
    危險(xiǎn)氣體罐車液位計(jì)算機(jī)視覺監(jiān)控識(shí)別報(bào)警系統(tǒng)設(shè)計(jì)
    計(jì)算機(jī)視覺在交通領(lǐng)域的應(yīng)用
    基于計(jì)算機(jī)視覺的細(xì)小顆粒團(tuán)重量測(cè)量的研究
    深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
    基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實(shí)現(xiàn)
    軟件工程(2016年8期)2016-10-25 15:47:34
    基于卷積神經(jīng)網(wǎng)絡(luò)的樹葉識(shí)別的算法的研究
    徐州市| 疏勒县| 江川县| 绵竹市| 乐亭县| 桓仁| 宜城市| 安龙县| 沙坪坝区| 体育| 卓资县| 济源市| 菏泽市| 射阳县| 大新县| 金乡县| 新河县| 南靖县| 新田县| 永嘉县| 青冈县| 宁化县| 樟树市| 竹溪县| 集安市| 方正县| 南靖县| 昭平县| 商都县| 罗源县| 阜阳市| 灯塔市| 沙湾县| 成都市| 栖霞市| 扎赉特旗| 专栏| 华蓥市| 黄山市| 乌鲁木齐市| 临沧市|