乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Google翻譯是如何把深度學(xué)習(xí)“塞進(jìn)”手機(jī)的?

       quasiceo 2016-01-16

      Google翻譯是如何把深度學(xué)習(xí)“塞進(jìn)”手機(jī)的?

      原文出處: Otavio Good   譯文出處:張玉宏   歡迎分享原創(chuàng)到伯樂(lè)頭條

      前幾天谷歌更新了它們的翻譯App,該版本有諸多提升的地方,其中最大的是提升了所謂“字鏡頭”實(shí)時(shí)視頻翻譯性能和通話(huà)實(shí)時(shí)翻譯性能。怎么提升的呢?字鏡頭技術(shù)首創(chuàng)者、Google 研究院翻譯項(xiàng)目組資深軟件工程師Otavio Good近日在Google Research Blog詳述了相關(guān)原理。
      以下是正文:

      今天(2015年7月29日),我們發(fā)布了Google翻譯手機(jī)App,現(xiàn)在這款A(yù)pp可支持20多種語(yǔ)言的即時(shí)視覺(jué)翻譯(Visual Translation),也就是說(shuō),您可拿著手機(jī)攝像頭對(duì)著實(shí)物,實(shí)物中的文字就可被即時(shí)識(shí)別出,并被翻譯成目標(biāo)語(yǔ)言。這項(xiàng)技術(shù)就是Google翻譯中最新增加的特性——字鏡頭(Word Lens),如圖1所示。

      圖 1  Google翻譯手機(jī)版(圖片來(lái)源:Google)

      因此,倘若下一次您有機(jī)會(huì)蒞臨一個(gè)陌生國(guó)家的城市,例如布拉格(Prague,捷克共和國(guó)首都和最大城市),當(dāng)您饑腸轆轆地邁進(jìn)一家飯館時(shí),再也不用擔(dān)心看不懂那“宛如天書(shū)般”外文菜單了,因?yàn)榇丝涛覀冞@款A(yù)pp可以悄然地幫您化解點(diǎn)菜的尷尬。那么,這款A(yù)pp是如何能夠快速識(shí)別這些新語(yǔ)言的?下面我就給大家說(shuō)道說(shuō)道這款A(yù)pp背后的事兒。

      言簡(jiǎn)意賅地說(shuō),我們的這款即時(shí)視覺(jué)翻譯App,用到了深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)技術(shù)。

      當(dāng)年,我們字鏡頭(Word Lens)研究團(tuán)隊(duì)加入Google這個(gè)大家庭時(shí),我們非常興奮,因?yàn)檫@樣就有機(jī)會(huì)和Google深度學(xué)習(xí)領(lǐng)域的大牛們一起工作。在過(guò)去幾年里,神經(jīng)網(wǎng)絡(luò)猶如“磐涅重生”,重新喚起人們的極大關(guān)注,研究人員們亦不負(fù)眾望,在諸如圖像識(shí)別等領(lǐng)域取得不斐的成就。

      就在五年前,如果您交給計(jì)算機(jī)一幅阿貓或阿狗的圖像,讓它識(shí)別,通常它會(huì)很作難——水平有限,貓狗難辨。但時(shí)過(guò)境遷,由于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network)技術(shù)的誕生,計(jì)算機(jī)不但可輕易分別出阿貓阿狗,它們甚至還可以分別出狗的不同品種,不管這狗是中國(guó)藏獒、德國(guó)牧羊犬,還是拉布拉多犬、西伯利亞雪橇犬,計(jì)算機(jī)都能分辨出個(gè)“子丑寅卯”來(lái)。

      圖2 數(shù)碼迷幻藝術(shù)(圖片來(lái)源:Google DeepDream)

      是的,現(xiàn)在計(jì)算機(jī)的威力,已經(jīng)不限于“玩玩”數(shù)碼迷幻藝術(shù)(trippy art,參見(jiàn)例圖2)了。如果你下載了Google翻譯App的最新發(fā)布版,用之翻譯您看不懂的外文菜單,那背后為您服務(wù)就是深度神經(jīng)網(wǎng)絡(luò)技術(shù)。

      或許,您會(huì)不以為然,唔,這個(gè)…… 這個(gè)還好吧,Google已經(jīng)把深度學(xué)習(xí)用得“爐火純青”了,再把這技術(shù)用在文字翻譯上,似乎在情理之中,意料之內(nèi)。在人工智能時(shí)代,這類(lèi)演示好像已有不少了吧。

      但是,您可能不知道的是,我們這款A(yù)pp最棒的地方在于,它可在不聯(lián)網(wǎng)的情況下也能正常工作,也就是說(shuō),所有深度學(xué)習(xí)的計(jì)算完全在手機(jī)上完成的。您是知道的,深度學(xué)習(xí)的計(jì)算量是不容小覷的。可這又是怎么做到的呢?

      一步一步來(lái),循序漸進(jìn)
      (1)找到圖片中字符

      當(dāng)利用手機(jī)攝像頭把圖像讀取進(jìn)來(lái)后,Google即時(shí)翻譯App要做的是,找到圖片中需要翻譯的字母。這款A(yù)pp首要要剔除諸如樹(shù)木或汽車(chē)等背景對(duì)象,凸顯出想要翻譯的文字。在識(shí)辨圖片中的文字過(guò)程中,這款A(yù)pp通過(guò)識(shí)別類(lèi)似的、連續(xù)的色素塊,來(lái)完成任務(wù)。如果某些像素顏色相似、位置彼此靠近,那么就可能是我們要找的字符,這些字符連接成一行,或許就是我們要找的一行文字(下圖左1子圖為原始圖片,左2子圖中紅色方框框出的,即為標(biāo)識(shí)出來(lái)的字符)。

      圖3 圖片文字識(shí)別及翻譯流程

      (2)識(shí)別圖片中字符

      接下來(lái),這款A(yù)pp就要識(shí)別出第(1)步定位的字符。這時(shí)就該讓“深度學(xué)習(xí)”出馬了。我們要用到卷積神經(jīng)網(wǎng)絡(luò),并在字母和非字母集合上訓(xùn)練這個(gè)網(wǎng)絡(luò),這樣做的目的在于,讓它學(xué)習(xí)到不同字母的長(zhǎng)得是啥模樣(在圖3左3子圖中,瑞典語(yǔ)“M?rk”為識(shí)別出的字符)。

      有意思的是,我們的訓(xùn)練集,并非都是那些方方正正的“純潔的”字符集合,因?yàn)樘热舨皇沁@樣,訓(xùn)練出來(lái)的識(shí)別器,就無(wú)法識(shí)別出在這個(gè)“并不純潔”的大千世界中的字符。要知道,在真實(shí)的世界里,這些字符可能會(huì)因?yàn)榉瓷?、灰塵、污跡及各種稀奇古怪的破損,導(dǎo)致攝像頭拍攝出來(lái)的字符“似是而非”。

      因此,我們構(gòu)建了一個(gè)字符生成器,來(lái)偽造生成各式各樣的陰影、扭曲字符?;蛟S您要問(wèn),為什么你們不用真實(shí)世界中的圖片字符,而是使用合成的數(shù)據(jù)集,來(lái)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)呢?

      嗯,其實(shí)原因很簡(jiǎn)單,我們很難找到足夠多的、多種語(yǔ)言的、各種“光怪陸離”文字樣本。當(dāng)我們想要訓(xùn)練一個(gè)真正高效的,緊湊的神經(jīng)網(wǎng)絡(luò)時(shí),更加困難的是,真實(shí)世界的字符樣本非常難以精細(xì)控制。

      圖4 本圖顯示的是我們用作訓(xùn)練的各種“臟”字母。這些“臟”字母包括有污垢的,有亮點(diǎn)的和有扭曲的等各類(lèi)字符,但這些情況不能有太多,因?yàn)樘噙@樣的非正常字符會(huì)讓我們的神經(jīng)網(wǎng)絡(luò)“迷糊”。
      (3)查詢(xún)字典,翻譯識(shí)別出的字符

      接下來(lái),就是通過(guò)查字典,將這些識(shí)別出來(lái)的文字翻譯為目標(biāo)語(yǔ)言。在第(2)步的字符識(shí)別過(guò)程中,可能存在失準(zhǔn)的地方,比如說(shuō),將“super”識(shí)別成“5uper”(也就是說(shuō),把字符S識(shí)別成5),但這也關(guān)系不大,在字典查詢(xún)過(guò)程中,匹配允許存在一定的模糊性,“5uper”還是有可能被糾正為“super”(在圖3左3子圖中,將瑞典語(yǔ)的“M?rk”翻譯成英語(yǔ)的“Dark”)。

      (4)重新渲染翻譯的文字

      最后一步,我們會(huì)重新渲染翻譯出來(lái)的文字,讓翻譯文字和圖片中原文的字體和顏色一致。之所以我們可以做到這點(diǎn),是因?yàn)槲覀円呀?jīng)從圖像中找到并識(shí)別出我們要想的字符,并已確切地知道它們?cè)谠紙D片中的位置。于是,在獲取字符周?chē)念伾?,就可以從原始圖像中“剔除”原始字符。然后,我們?cè)诒3衷记熬吧蛔兊幕A(chǔ)上,在原始文字位置上,添加翻譯出來(lái)的字符,這樣就可以達(dá)到,加工出的圖像和翻譯出來(lái)的文字猶如 “渾然天成”(對(duì)比一下:圖3左1子圖為原始圖,左4子圖為即時(shí)翻譯系統(tǒng)的加工圖,如果不了解內(nèi)情,可能您都會(huì)認(rèn)為,這是廠(chǎng)商發(fā)布的兩種語(yǔ)言版本的廣告呢)。

      將深度學(xué)習(xí) “塞進(jìn)”手機(jī)中

      如果要將上述4步即時(shí)視覺(jué)翻譯的流程,放置到我們的數(shù)據(jù)中心(data center)上去完成,這看起來(lái)并不是什么太難的事情。

      但是,想一想,很多我們的手機(jī)用戶(hù),特別是那些僅在下載我們App時(shí)才僅此一次的用到我們數(shù)據(jù)中心的用戶(hù),他們的手機(jī)網(wǎng)絡(luò),要么慢如蝸牛,要么時(shí)斷時(shí)續(xù),加之智能手機(jī)又耗電得要命,讓他們的手機(jī)將拍攝到的圖像,發(fā)送到遠(yuǎn)程的Google數(shù)據(jù)中心上,在計(jì)算完畢后,再將識(shí)別結(jié)果發(fā)回手機(jī),在上述場(chǎng)景下,是非常的不便!

      那些低端手機(jī)的性能,可能要比一個(gè)稍微好點(diǎn)的筆記本電腦慢上50倍,而這個(gè)性能稍好的筆記本電腦,在計(jì)算性能上,和我們的數(shù)據(jù)中心相比,亦是差得何止十萬(wàn)八千里。而事實(shí)上,我們的數(shù)據(jù)中心,才是運(yùn)行常規(guī)圖像識(shí)別系統(tǒng)的平臺(tái)。

      那么,在沒(méi)有和任何云計(jì)算平臺(tái)相連的背景下,如何利用這些四處移動(dòng)的手機(jī)攝像頭捕獲圖像,并完成即時(shí)的視覺(jué)翻譯呢?

      答案很簡(jiǎn)單:自力更生,豐衣足食!我們開(kāi)發(fā)了一個(gè)非常小型的神經(jīng)網(wǎng)絡(luò),讓它在計(jì)算能力有限的智能手機(jī)上,獨(dú)立工作。在訓(xùn)練這個(gè)小型的神經(jīng)網(wǎng)絡(luò)時(shí),我們做了若干個(gè)嚴(yán)格的限定,也就是說(shuō),我們?cè)O(shè)置了它所能處理的信息密度上限。因此,工作的挑戰(zhàn)——如何生成最有效的訓(xùn)練數(shù)據(jù),立馬凸顯出來(lái)了。

      在生成適用的訓(xùn)練數(shù)據(jù)上,我們可是費(fèi)了老大勁的。例如,我們僅希望識(shí)別出小幅扭曲變型的字符。因?yàn)槿绻址で冗^(guò)大,為了識(shí)別它,神經(jīng)網(wǎng)絡(luò)就會(huì)在過(guò)多不重要的事物上,使用過(guò)高的信息密度,這就大大增加深度神經(jīng)網(wǎng)絡(luò)的計(jì)算量。所以,我們花了很大功夫,做出了一套工具,這些工具極大地提升了迭代效率和可視化渲染效果。在數(shù)分鐘內(nèi),我們可以改變我們的神經(jīng)網(wǎng)絡(luò)算法,讓這個(gè)算法產(chǎn)生訓(xùn)練數(shù)據(jù),并重新訓(xùn)練參數(shù),最后給出可視化識(shí)別結(jié)果。

      從這里,我們可以找到,哪些字符識(shí)別失敗,并及時(shí)查明原因。在這點(diǎn)上,我們故意將訓(xùn)練數(shù)據(jù)過(guò)度扭曲,這樣一來(lái),字符“$” 一開(kāi)始可能被識(shí)別為“S”。但這沒(méi)有關(guān)系,我們能夠快速地確認(rèn)這種“失誤”何在,然后調(diào)整數(shù)據(jù)扭曲參數(shù),來(lái)降低“失誤率”。這就有點(diǎn)像,在現(xiàn)實(shí)生活中,我們要徒手畫(huà)一副畫(huà),剛開(kāi)始,我們畫(huà)得可能很不像,但我們不斷地修正,每次重畫(huà),都能進(jìn)步一點(diǎn)點(diǎn),最后您會(huì)看到,中途所有的不完善,都是為了畫(huà)出一個(gè)完美的畫(huà)面。

      為了達(dá)到翻譯的即時(shí)性,我們也做了大量的優(yōu)化工作,而且優(yōu)化和反復(fù)調(diào)試的工作量很大。此外,為了改善計(jì)算性能,在某些數(shù)學(xué)運(yùn)算上,也需要手工重度調(diào)優(yōu)。我們充分利用SIMD(Single instruction, multiple data,單指令流多數(shù)據(jù)流),這是一種數(shù)據(jù)并行的模式,來(lái)挖掘智能多核手機(jī)的并行潛能。同時(shí),我們還優(yōu)化矩陣乘法,提高矩陣運(yùn)算的局部性,使之在各級(jí)緩存(Cache)中,提高Cache的命中率。

      最后,如您所見(jiàn),我們終于讓這個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的翻譯系統(tǒng)在手機(jī)上跑起來(lái)了,而翻譯的效果比老版翻譯系統(tǒng)高出一大截,而在運(yùn)行速度上,一點(diǎn)也不遜色于老版翻譯系統(tǒng)。

      有時(shí)候,新技術(shù)看起來(lái)非常抽象,找到諸如卷積神經(jīng)網(wǎng)絡(luò)這類(lèi)新技術(shù)的用武之地,并不總是那么顯而易見(jiàn)。打破語(yǔ)言障礙——做一款棒棒的、多語(yǔ)言的即時(shí)視覺(jué)翻譯系統(tǒng),我想,這應(yīng)是一個(gè)偉大的應(yīng)用案例。

      原文來(lái)自:Google Research Blog

      譯者介紹:張玉宏,博士。2012年畢業(yè)于電子科技大學(xué),現(xiàn)執(zhí)教于河南工業(yè)大學(xué)。中國(guó)計(jì)算機(jī)協(xié)會(huì)(CCF)會(huì)員,ACM/IEEE會(huì)員。主要研究方向?yàn)楦咝阅苡?jì)算、生物信息學(xué),主編有《Java從入門(mén)到精通》一書(shū)。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多