
2015-07-16 |&nλ¥bsp; 發布者:梁國(guó)芳 &♥βnbsp; | 查看↕£₽Ω(kàn):3320次
IT新聞深度學習(xí)使用(yòng)深度神經網絡(Dα♥NNs)和(hé)大(dà)數(shù)據集來(lái)教計(j ↓φì)算(suàn)機(jī)從(cóng)輸入≈<數(shù)據中檢測可(kě)識别的(de↔↑×♦)概念,去(qù)解釋或理(lǐ)解自(zì)然語言以及解讀(dú)信息等。深$λπ度學習(xí)已經運用(yòng)在研究界和(hé)工(σ&δgōng)業(yè)領域,目的(de)是✘₹₹(shì)幫助解決諸多(duō)大(dà)數(shù)"₹↓據問(wèn)題,比如(rú)相(xiàng)似搜索、≠目标檢測和(hé)定位。實際應用(yòng)包括<₹駕駛助手的(de)車(chē)輛(liàng)、↔∑®•行(xíng)人(rén)和(hé)地(dì)标識别;圖像識别;語音★• ♣(yīn)識别;自(zì)然語言處理(lǐ);神經機(j'§↔ī)器(qì)翻譯和(hé)細胞有(yǒu)絲分(fēn)裂檢測↔≤ 。
開(kāi)發一(yī)個(gè)優化(huà)的(™←de)深度神經網絡是(shì)一(yī)個(gè×÷)叠代的(de)過程。數(shù)據科(kē)學家(jiā)可(kě≠÷)能(néng)從(cóng)流行(xíng)的(de)網絡配置(比如(rα♦ú)AlexNet)開(kāi)始或者創建一(yī)個(gè)自(zì)定義的β↕∞(de)網絡,然後叠代修改成一(yī)個(ε∏≈gè)非常适合訓練數(shù)據的(de)∑✔•網絡。一(yī)旦數(shù)據科(kē)學家(jiā)們開(kāi)發±♦α 出了(le)一(yī)套有(yǒu)效的(de)網絡,他(tā)們可(kě)•"以将它部署在許多(duō)平台上(shàng)并且使用(yòng)它,包括服務↑←↑₽器(qì)、台式計(jì)算(suàn)機(jī)、移✔↓動設備和(hé)嵌入式設備(比如(rú) Jetson TK1或者 Drive PX)。圖1描述了(le)創建這(zhè)個(gè)網絡的(de)總體(tǐ)進§±程,它分(fēn)為(wèi)兩個(gè♥<Ω•)主要(yào)階段:開(kāi)發和(hé)×€∑部署。
圖1:深度學習(xí)神經網絡開(kāi)發和(hé)部署工(g↓§♥ōng)作(zuò)流程圖
對(duì)于你(nǐ)的(de)數(shù)據集,DIGITS通≤&(tōng)過動态調節開(kāi)發和(hé)訓練一(yī)✘ε♦個(gè)最優深度神經網絡所需要(yào)的(de)網絡參數Ωδ<(shù),使得(de)它開(kāi)發一(yī)個(gè)優化(hε±÷♥uà)的(de)深度神經網絡算(suàn)法變得(de)簡單。DIGITS能$Ω(néng)夠很(hěn)方便地(dì)創建新的(de)數(sh∞¶ù)據集,并從(cóng)中選擇出需要(yào)的♦•♥≈(de)訓練數(shù)據;在深度神經網絡開(kāi)發₩×階段,DIGITS可(kě)以讓你(nǐ)在數(shù)據集上(sλ≈λ←hàng)追加新數(shù)據,還(hái)可(kěσ£∞)以考慮到(dào)變化(huà)因素或者其他(tā)在¶λα 模型部署環境下(xià)可(kě)能(néng)發生(shēnα£≠g)的(de)其他(tā)失真以面向對(duì)象的(de)方式擴充數(shù∑♦>)據。
求解參數(shù)比如(rú)學習(xí)率和(hé)策略同樣容易修整¥§",精度測試的(de)批量大(dà)小(xiǎo)和(hé)節☆≤奏可(kě)以迅速被修改。DIGITS可(kě)以靈活地(dì)運用(↔γyòng)标準網絡進行(xíng)訓練、•←✔修改微(wēi)調現(xiàn)有(yǒu₩ Ω)網絡以及從(cóng)無到(dào)有(yǒu)創建自(zì)定© φ•義網絡。一(yī)旦配置完成,你(nǐ)就(jiù)可(kě)以準備開(kā∑ φ≠i)始訓練數(shù)據了(le)。在訓¥§♠練過程中,DIGITS會(huì)顯示網絡的(de)精準度,幫助你(nǐ)÷≈實時(shí)地(dì)針對(duì)訓練算(suàn)法的(de)性能(n¥>λ&éng)做(zuò)出決策,如(rú)果有(yǒu)必要(yào), α≤©你(nǐ)可(kě)以終止訓練并重新配置網絡參數(shù)₹×&。
在你(nǐ)開(kāi)發完了(le)一(yī)套有©≈¶(yǒu)效的(de)網絡之後,DIGITS可(kě)以把所有(yǒu)的(d ≤e)網絡用(yòng)到(dào)的(de)文(wén)件(jiàn)打包成單≥'λ¥個(gè)可(kě)被下(xià)載的(de)文(wén)件(jiàγ¶>¶n)。這(zhè)樣可(kě)以方便地(dì)将£≥€₩一(yī)個(gè)優化(huà)的(de)網絡部署到(dà♥↕♠δo)任何設備。即便有(yǒu)錯(cuò)分(fēn)樣本或者以後有(y φ≠ǒu)新的(de)分(fēn)類需要(yào)↑σ加入,DIGITS也(yě)很(hěn)容易調€¶±整這(zhè)個(gè)網絡,重新訓練然後重↔βΩ"新部署。
讓我們來(lái)看(kàn)看(kàn)DIGITS γ♣φ;2的(de)新特性。
DIGITS 2可(kě)以自(zì)♠λ動擴展多(duō)GPU。通(tōng)過簡單的®★(de)幾次點擊,你(nǐ)就(jiù)能(né"₽¥ng)夠選擇多(duō)個(gè)GPU<₹✘®。随著(zhe)數(shù)據集的(de)增大(dà)♥,使用(yòng)更多(duō)的(de)↔♥✔©GPU訓練數(shù)據可(kě)以使網絡在更短(duǎn)≥♦∑的(de)時(shí)間(jiān)內(nèi)獲取更多(duō₩₹ )的(de)數(shù)據,節省了(le)開σ±(kāi)發過程中寶貴的(de)時(shí)間↓σ∏£(jiān)。這(zhè)個(gè)易用(yòng)的(de)功能(♣×néng)可(kě)以在“新✔建圖像分(fēn)類模型”按鈕 π的(de)附近(jìn)找到(dào),如(rú)圖2所示:
圖2:DIGITS模型創建界面
DIGITS可(kě)以并行(xíng)地(dì)在同一₽€→&(yī)個(gè)數(shù)據集上(shàng)訓練多(duō)¥₩✔π個(gè)網絡,或者并行(xíng)地(dì)在多φ₹(duō)個(gè)數(shù)據集上(shàng)訓練同一☆₹©(yī)個(gè)網絡。在GPU選項裡(lǐ),你(nǐ)可(kě)₹£≥以為(wèi)每一(yī)個(gè)訓練數(shù✘λ<)據集選擇GPU,這(zhè)使得(de)你(nǐ)的(de)硬件( >•jiàn)在執行(xíng)多(duō)∏任務上(shàng)變得(de)更加容易。
圖3展示了(le)使用(yòng)多(duō)GPU減少(shǎo)訓練時(₹≈←shí)間(jiān)的(de)情況。柱φβ₽λ狀圖顯示了(le)在批次大(dà)小(xiǎo)為(wèi)128之下(α <xià),分(fēn)别使用(yòng)1個(gè),2個(gè)和(hé)4β"個(gè)GPU訓練GoogleNet的(d£§φe)加速情況。這(zhè)些(xiē)結果是(shì)由DIGITS λ ÷;DevBox使用(yòng)GeForce&nbs↑λp;TITAN X GPU和(hé)Caffe繪制(zΩ☆hì)而成。
圖3:使用(yòng)DIGITS在DI←♣GITS DevBox中使用(yò≥π§'ng)多(duō)個(gè)GeForce TITAN X ¥₹ GPU加速訓練。這(zhè)些(xi← ☆ē)結果是(shì)由Caffe在批次大(dà)小(xiǎo)為™±(wèi)128的(de)情況下(xià)繪制(zhì)的(de)。★¥<®
DIGITS 2增加了(le)兩個(gè)新的("÷de)解算(suàn)器(qì):自(zì)适應梯度下(xià)降(Aβ•DAGRAD)和(hé)涅斯捷羅夫加速梯度下(xi"₩$÷à)降(NESTEROV)。這(zhè)些(xiē)和(hé)其他(tā)标₽→準随機(jī)梯度下(xià)降都(dōu)是(shì)可(kě)選擇€&的(de),可(kě)以在“新建圖像分(fēn)類模型&rdquoσ≠≤;窗(chuāng)口的(de)左側的(de)解算(su→×àn)器(qì)類型下(xià)拉菜單中找到σ₩"(dào)。
圖2展示了(le)解算(suàn)器(qì)選項面闆,你(♠±nǐ)可(kě)以配置快(kuài)照(zhào)間(jiān)隔,生(sh∑Ωσ♣ēng)效間(jiān)隔,批量大(dà)小(xiǎo)以及解算(su≈γàn)器(qì)的(de)學習(xí)率策略。
GoogLeNet标準網絡
: 
圖4:LeNet網絡配置案例
在2014年(nián)舉辦的(de) ImageNet LSVRC大(dà)賽中,GoogLeNet赢得(de)了(¶↔∞le)分(fēn)類和(hé)物(wù)體(tǐ)識别的(de)挑戰。它和(≠'✔hé)其他(tā)兩個(gè)網絡——LeNet和(h™αé)AlexNet——一(yī)起發布,如(rú)圖>Ω2中标準網絡闆塊所示。一(yī)些(xiē)使用(yòng)者喜歡使用(yòn∞↑≠g)标準網絡開(kāi)始優化(huà)他(✔'♦♠tā)們的(de)網絡,然後再基于結果進行(xíng)自(zì)定義。和( ₹hé)其他(tā)标準網絡一(yī)樣,比如(rú)LeNet和₩(hé)AlexNet,針對(duì)某一(yī)數(shù)據€✘☆集開(kāi)發最佳深度神經網絡,使用(yòng)Googl→∞→♠eNet是(shì)一(yī)個(gè)非常棒的(deλ↔)起點。
自(zì)定義網絡編輯框(圖2中)有(yǒu↔≥σ)分(fēn)層的(de)設置區(qū)域≈™♦,激活函數(shù)(ReLU、TANH或者sigmo☆$id)設置和(hé)偏差設置。點擊自(zì)定義網絡标簽下(xiλ↑ à)的(de)“可(kě)視(shì)化(huà↔β)”按鈕,可(kě)以在訓練之前便捷地(dì)查看(kàn)修改內®$(nèi)容。圖4展示了(le)标準LeNet網絡的(de∑γ)可(kě)視(shì)化(huà)界面。
在訓練過程中,DIGITS 2 可(kě)'φδ以在訓練窗(chuāng)口中展示所使用(yòng)到(dào)的(de)Gδ↕PU的(de)利用(yòng)情況,如(rú)圖$∏≈∑5所示。在網絡性能(néng)圖旁邊的(de×☆)訓練口中,會(huì)顯示GPU的(de)利用(yòng)率、存儲βε✘大(dà)小(xiǎo)和(hé)溫度信息。這(zhè)樣≈↓可(kě)以讓你(nǐ)在訓練過程中實時(shí)監↑<控GPU使用(yòng)情況,即使你(nǐ↔÷)不(bù)能(néng)直接訪問(wèn)DIGITS所運λλ₹₽行(xíng)的(de)主機(jī)。如(γ♥ rú)果你(nǐ)發現(xiàn)GPU沒有(yǒσ'u)被充分(fēn)使用(yòng),你(nǐ)可(kě)以簡單的(de)φλ 就(jiù)将訓練停止,然後回到(dào)&ldquo↔↕;新建圖像分(fēn)類模型” ¥窗(chuāng)口調整網絡參數(shù),比如(rú)批量★↔π大(dà)小(xiǎo)。
圖5:訓練過程中訓練性能(néng)和(hé)GPU利用(yòng)率信息圖$α
在訓練過程中,通(tōng)過點擊訓練窗(chuāng)口(圖5)下> (xià)方的(de)“分(f∑™ēn)類一(yī)張圖片”按鈕,DIGITS可(kě)以✔迅速的(de)執行(xíng)分(fēn)類™©"。當“顯示可(kě)視(shì)化(huà)”和(÷±hé)“統計(jì)”被選中時(shí),DIλ÷GITS會(huì)從(cóng)輸入圖像中畫(huà)出網絡的(de)權重$≥©ε以及響應圖表。圖6展示了(le)第一(yī)層的(de)輸出樣例。→≠✔除了(le)網絡響應之外(wài),DIGITS現λ§π (xiàn)在可(kě)以在每層參數(s↕φ♦hù)旁邊繪制(zhì)統計(jì)信息,包括頻(pín)率,平均值和( σ$ hé)标準差。這(zhè)會(huì)幫助你(σ±nǐ)了(le)解輸入圖像的(de)全局網絡響應情況。分(fē→¶₽αn)類的(de)結果會(huì)在左側顯示,包括輸入圖像和(hé)第一×®≈(yī)個(gè)卷積層的(de)響應,包括權重、激活值和(héλ☆€)統計(jì)信息。
圖6:DIGITS 2分(fēn)類結果案列,DIG₹λ₽ITS 2 為(wèi)每一(yī)層展現(xiàn)了∏(le)統計(jì)信息。
可(kě)以非常容易地(dì)下(xià)載一(yī)個₹↔×(gè)已經訓練好(hǎo)的(de)網絡然後部署到(dào)其他¶♦₩≈(tā)系統上(shàng)。點擊已訓練模型窗( γ≈ chuāng)口下(xià)面的(de)&ldquo★♥♠;下(xià)載”按鈕,可(kě)以得(de)到×>π(dào)一(yī)份将模型部署到(dào)一(yī)台新機<σ₽≤(jī)器(qì)上(shàng)所需要↓™(yào)的(de)所有(yǒu)網絡文(wén)件(jiàn)。在目錄&ld®☆¶$quo;DIGITS根目錄/examples/c§≠lassification”下(xià),有(yǒ×☆σu)DIGITS 2提供的(de)兩個(gè≈☆α)新的(de)腳本案例。一(yī)個(gè)直接✔×≠與下(xià)載的(de).tal.gz文(wén)件(jiàn)交互,另一(©βΩyī)個(gè)是(shì)允許使用(yòng)£ 網絡文(wén)件(jiàn)的(de)規格說(sh♥σ→uō)明(míng)。下(xià)面是(shì)運行$∞ (xíng)這(zhè)些(xiē)腳本命令的(de)案例。
DIGITS 2的(de)預覽版本(帖子(zǐ)中提到(dào)∏ Ω的(de)所有(yǒu)功能(néng))∏$α今天可(kě)以獲取到(dào)。便捷安裝包可(kě)≤π©≠以在 NVIDIA開(kāi)發者網站(zhàn)上(shàng)下(xià)載。
所有(yǒu)功能(néng)和(hé)變更介紹在DIGITS☆★§的(de) 發行(xíng)說(shuō)明(míng)中。想了(le)解更多(duō)關于DIG✔↓®ITS,可(kě)以報(bào)名參加即将到(dào)來(lái)的(d→★±≈e)網絡研討(tǎo)會(huì) “Introducing DIGIT$↓ §S 2”。你(nǐ)也(yě)同樣可(kě)以閱讀(☆≥→dú)我寫的(de) 關于DIGITS首次發布的(de)帖子(zǐ)。
想獲取DIGITS源碼或者為(wèi)DIGITS項目提供貢獻,請(qǐng)$®±×訪問(wèn)我們在 GitHub上(shàng)的(de)開(kāi)源庫。有(yǒu) ↓其他(tā)問(wèn)題,反饋,或者想與DIGITS用(yòng÷∑)戶社區(qū)進行(xíng)交流,請(qǐng)參閱 ©®"←DIGITS的(de)郵件(jiàn)列表或者發送郵件(jiàn)至:digits≠↕σ-users@googlegroups.com。
