首页 > PHP资讯 > Python培训 > Google翻译是如何把深度学习“塞进”手机的?

Google翻译是如何把深度学习“塞进”手机的?

Python培训
  摘要:前几天谷歌更新了它们的翻译App,其间最大的进步了是“字镜头”实时视频翻译和通话实时翻译。怎样做到的?字镜头技能首创者、Google 研讨院翻译项目组资深软件工程师Otavio Good近日在博客上胪陈了有关原理。

  前几天谷歌更新了它们的翻译App,该版别有许多进步的当地,其间最大的是进步了所谓“字镜头”实时视频翻译功能和通话实时翻译功能。怎样进步的呢?字镜头技能首创者、Google 研讨院翻译项目组资深软件工程师Otavio Good近日在Google Research Blog胪陈了有关原理。

  以下是正文:

  今日(2015年7月29日),咱们发布了Google翻译手机App,如今这款App可支撑20多种言语的即时视觉翻译(Visual Translation),也即是说,您可拿着手机摄像头对着什物,什物中的文字就可被即时辨认出,并被翻译成目标言语。这项技能即是Google翻译中最新增加的特性——字镜头(Word Lens),如图1所示。

  

 

  图 1 Google翻译手机版(图画来历:Google)

  因而,假使下一次您有时机莅临一个生疏国家的城市,例如布拉格(Prague,捷克共和国首都和最大城市),当您饥不择食地迈进一家饭店时,再也不必忧虑看不明白那“宛如天书般”外文菜单了,由于此时咱们这款App可以悄然地帮您化解点菜的为难。那么,这款App是怎样可以疾速辨认这些新言语的?下面我就给咱们说道说道这款App背面的事儿。

  要言不烦地说,咱们的这款即时视觉翻译App,用到了深度神经网络(deep neural network,DNN)技能。

  当年,咱们字镜头(Word Lens)研讨团队参加Google这个咱们庭时,咱们十分振奋,由于这么就有时机和Google深度学习范畴的大牛们一同作业。在曩昔几年里,神经网络犹如“磐涅重生”,从头唤起大家的极大关注,研讨人员们亦不负众望,在比如图画辨认等范畴取得不斐的成就。

  就在五年前,假如您交给核算机一幅阿猫或阿狗的图画,让它辨认,通常它会很作难——水平有限,猫狗难辨。但时过境迁,由于卷积神经网络(convolutional neural network)技能的诞生,核算机不但可容易分别出阿猫阿狗,它们乃至还可以分别出狗的不一样种类,不论这狗是中国藏獒、德国牧羊犬,仍是拉布拉多犬、西伯利亚雪橇犬,核算机都能分辩出个“子丑寅卯”来。

  

 

  图2 数码迷幻艺术(图画来历:Google DeepDream)

  是的,如今核算机的威力,现已不限于“玩玩”数码迷幻艺术(trippy art,拜见例图2)了。假如你下载了Google翻译App的最新发布版,用之翻译您看不明白的外文菜单,那背面为您服务即是深度神经网络技能。

  或许,您会不以为然,唔,这个…… 这个还好吧,Google现已把深度学习用得“登峰造极”了,再把这技能用在文字翻译上,如同在情理之中,意料以内。在人工智能年代,这类演示如同已有不少了吧。

  但是,您也许不知道的是,咱们这款App最棒的当地在于,它可在不联网的情况下也能正常作业,也即是说,一切深度学习的核算彻底在手机上完结的。您是知道的,深度学习的核算量是不容小觑的。可这又是怎样做到的呢?

  一步一步来,按部就班

  (1)找到图画中字符

  当运用手机摄像头把图画读取进来后,Google即时翻译App要做的是,找到图画中需求翻译的字母。这款App首要要除掉比如树木或汽车等布景目标,凸显出想要翻译的文字。在识辨图画中的文字过程中,这款App经过辨认类似的、接连的色素块,来完结任务。假如某些像素色彩类似、方位互相接近,那么就也许是咱们要找的字符,这些字符连接成一行,或许即是咱们要找的一行文字(下图左1子图为初始图画,左2子图中赤色方框框出的,即为标识出来的字符)。

  

 

  图3 图画文字辨认及翻译流程

  (2)辨认图画中字符

  接下来,这款App就要辨认出第(1)步定位的字符。这时就该让“深度学习”出马了。咱们要用到卷积神经网络,并在字母和非字母调集上练习这个网络,这么做的意图在于,让它学习到不一样字母的长得是啥容貌(在图3左3子图中,瑞典语“Mörk”为辨认出的字符)。

  有意思的是,咱们的练习集,并非都是那些方方正正的“纯真的”字符调集,由于假使不是这么,练习出来的辨认器,就无法辨认出在这个“并不纯真”的大千国际中的字符。要知道,在实在的国际里,这些字符也许会由于反射、灰尘、污迹及各种八怪七喇的破损,致使摄像头拍照出来的字符“貌同实异”。

  因而,咱们构建了一个字符生成器,来假造生成林林总总的暗影、歪曲字符。或许您要问,为何你们不必实在国际中的图画字符,而是运用组成的数据集,来练习深度神经网络呢?

  嗯,本来缘由很简单,咱们很难找到足够多的、多种言语的、各种“光怪陆离”文字样本。当咱们想要练习一个实在高效的,紧凑的神经网络时,更加艰难的是,实在国际的字符样本十分难以精密操控。

  

 

  图4 本图显现的是咱们用作练习的各种“脏”字母。这些“脏”字母包括有尘垢的,有亮点的和有歪曲的等各类字符,但这些情况不能有太多,由于太多这么的非正常字符会让咱们的神经网络“含糊”。

  (3)查询字典,翻译辨认出的字符

  接下来,即是经过查字典,将这些辨认出来的文字翻译为目标言语。在第(2)步的字符辨认过程中,也许存在失准的当地,比如说,将“super”辨认成“5uper”(也即是说,把字符S辨认成5),但这也关系不大,在字典查询过程中,匹配答应存在必定的含糊性,“5uper”仍是有也许被纠正为“super”(在图3左3子图中,将瑞典语的“Mörk”翻译成英语的“Dark”)。

  (4)从头烘托翻译的文字

  最终一步,咱们会从头烘托翻译出来的文字,让翻译文字和图画中原文的字体和色彩共同。之所以咱们可以做到这点,是由于咱们现已从图画中找到并辨认出咱们要想的字符,并已确切地知道它们在初始图画中的方位。所以,在获取字符周围的色彩后,就可以从初始图画中“除掉”初始字符。然后,咱们在保持初始前景色不变的基础上,在初始文字方位上,增加翻译出来的字符,这么就可以到达,加工出的图画和翻译出来的文字犹如 “浑然天成”(对比一下:图3左1子图为初始图,左4子图为即时翻译体系的加工图,假如不了解底细,也许您都会以为,这是厂商发布的两种言语版别的广告呢)。

  将深度学习 “塞进”手机中

  假如要将上述4步即时视觉翻译的流程,放置到咱们的数据中心(data center)上去完结,这看起来并不是什么太难的作业。

  但是,想一想,许多咱们的手机用户,特别是那些仅在下载咱们App时才仅此一次的用到咱们数据中心的用户,他们的手机网络,要么慢如蜗牛,要么断断续续,加之智能手机又耗电得要命,让他们的手机将拍照到的图画,发送到长途的Google数据中心上,在核算结束后,再将辨认成果发回手机,在上述场景下,是十分的不方便!

  那些低端手机的功能,也许要比一个略微好点的笔记本电脑慢上50倍,而这个功能稍好的笔记本电脑,在核算功能上,和咱们的数据中心比较,亦是差得何止十万八千里。而事实上,咱们的数据中心,才是运转常规图画辨认体系的渠道。

  那么,在没有和任何云核算渠道相连的布景下,怎样运用这些四处移动的手机摄像头捕获图画,并完结即时的视觉翻译呢?

  答案很简单:自给自足,丰衣足食!咱们开发了一个十分小型的神经网络,让它在核算才能有限的智能手机上,独立作业。在练习这个小型的神经网络时,咱们做了若干个严格的限制,也即是说,咱们设置了它所能处理的信息密度上限。因而,作业的应战——怎样生成最有效的练习数据,立马凸显出来了。

  在生成适用的练习数据上,咱们但是费了老大劲的。例如,咱们仅期望辨认出小幅歪曲变型的字符。由于假如字符歪曲幅度过大,为了辨认它,神经网络就会在过多不主要的事物上,运用过高的信息密度,这就大大增加深度神经网络的核算量。所以,咱们花了很大功夫,做出了一套东西,这些东西极大地进步了迭代功率和可视化烘托作用。在数分钟内,咱们可以改变咱们的神经网络算法,让这个算法发生练习数据,并从头练习参数,最终给出可视化辨认成果。

  从这儿,咱们可以找到,哪些字符辨认失败,并及时查明缘由。在这点上,咱们故意将练习数据过度歪曲,这么一来,字符“$” 一开始也许被辨以为“S”。但这没有关系,咱们可以疾速地承认这种“失误”安在,然后调整数据歪曲参数,来下降“失误率”。这就有点像,在现实生活中,咱们要徒手画一副画,刚开始,咱们画得也许很不像,但咱们不断地批改,每次重画,都能进步一点点,最终您会看到,半途一切的不完善,都是为了画出一个完美的画面。

  为了到达翻译的即时性,咱们也做了很多的优化作业,并且优化和重复调试的作业量很大。此外,为了改善核算功能,在某些数学运算上,也需求手艺重度调优。咱们充分运用SIMD(Single instruction, multiple data,单指令流多数据流),这是一种数据并行的形式,来挖掘智能多核手机的并行潜能。一起,咱们还优化矩阵乘法,进步矩阵运算的局部性,使之在各级缓存(Cache)中,进步Cache的命中率。

  最终,如您所见,咱们总算让这个根据深度神经网络的翻译体系在手机上跑起来了,而翻译的作用比老版翻译体系高出一大截,而在运转速度上,一点也不差劲于老版翻译体系。

  有时候,新技能看起来十分笼统,找到比如卷积神经网络这类新技能的用武之地,并不老是那么显而易见。打破言语障碍——做一款棒棒的、多言语的即时视觉翻译体系,我想,这应是一个巨大的应用事例。(文章来自南京欣才PHP培训机构

本文由欣才IT学院整理发布,未经许可,禁止转载。