础滨驱动的设计应用
作者:Michael Thompson,Synopsys公司产物营销经理
人工智能(AI)使机器能够感知其环境,并以增加其对人类用处的方式做出 响应。 伴随着人工智能近期的发展 ,它已经成为一个热门话题。但是人工智能存在的时间可能比你想象的要长。这个术语在1950年代中期就出现了,当时它作为一门科学学科被首次引入。现在,随着处理器技术的进步,人工智能正在从大 型 机转向嵌入式应用,同时仍然在快速演变之"中。Synopsys正处于这一技术转型的前沿,我们正在开 始看到 AI的全部潜力。几年后,随着技术不断成熟,人工智能将会进一步提高生产力,改变我们获 取信息 及执行 重复任务的方式,并深刻改变我们的生活。
美国计算机科学家约翰·麦卡锡(John McCarthy)在1956年的达特茅斯(Dartmouth)会议上创造 了“人 工 智能”一词。今天,人工智能已经成为一个涵盖广泛内容的术语,它包含各种各样的处理任务,例如云端搜 索、机器人、语音识别和翻译、专家系统,等等。人工智能一般 可以划分为“弱人工智 能”(也称为狭义人 工智能[narrow AI])和“强人工智能”(又称为人工一般智能[artificial general intelligence])。“弱人工 智能” 意味着它能够解决特定的任务;而“强人工智能”是指当机器面对不熟悉的任务时,其能够寻找到 一个解决 方案。强人工智能目前尚未问世,目前所有的人工智能系统都是基于专为特定任务设计的弱人工智能。
对于人工智能的研究重点是如何创造出能够学习并解决新挑战的机器,而强人工智能将在未来 几年 内 开 始找到其应用之"路。目前我们听到的对于人工智能的大部分消息都来自于Google、Yahoo、Microsoft 和 Amazon等公司,他们正在为云计算开发各种应用。这些功能是重要的,但不太广为人知的是,这些人工 智能功能正在迅速从大型服务器场迁移到嵌入式以及深度嵌入式应用中,这样的 应用可以在我们 口袋 里 的设备上运行。
有些人认为人工智能并不是真正的智能,而只不过是由似乎显示出一点 智慧的计 算机对数据和 我们情绪 进行复杂的操纵。这种看法也不足为奇。而且这个观点也不是没有道理,但它是基 于对智能之" 含义的 有 限解释。
就与人类的关系而言,智能可以定义为对推理的娴熟运用,尤其是对关系推理(relational reasoning)的 娴 熟运用。但在更广泛的层面上,智能可以被定义为能够感知环境并采取行动的能力,而且 这样的 行动可以 让成功完成目标的机会进一步增加;这就是目前的人工智能的含义。人工智能将继续进步,而且随着 时间的 推 移,将包括推理的能力,并很可能在这个过程中使人类的智力相形见绌。但是,这项技术到目 前为 止还 没 有出现,部分原因是,人类的智力以及推理能力是由许许多多非常复杂的过程构成的。
当我们思考人工智能时,我们往往会想起复杂的类人机器的形象。但实际上,当今的人 工智能机器 更 类 似 于Amazon Echo(亚马逊回声)。它能够将良好的语音识别(感知)与快速处理(决策)结合起来,并能 够采取行动(响应),例如回答您的问题、播放音乐或打开灯光。 大多数人 工智能应用都采 用了 相同 的 感知、决策和响应流程。
感知可以采取多种方式来进行。它可以来自于传感器、照相机、数据库、口头请求或其 他来源。 决策由 处 理器完成,并可以在云端与本地处理器之"间分担工作,以提高性能。响应是采取的某些行动,它可以是 音 频、机械、数据库更新或许多其他工作,这取决于正在执行的功能。
目前,人工智能在使用方面有着不同的层次。例如,国际象 棋游戏使用基本 程度的人工智 能。 这种 程序 分析你移动棋子的位置,然后通过强力计算,计算机查看成千上万个可能的位置,再根据具 有最高 赢棋 概 率的行棋步骤确定其下一步落子位置。语音识别也已经存在一段时间了,但是它正在迅速发展,能够 支 持 自然语言识别和语言翻译。自然语言识别需要更高级的计算,因为它需要 了解所说的内容。 语言 翻译则需 要更进一步,因为它需要理解目标语言的字词结构。这不仅需要强力计算,而且还需要对计算机进行编程,以便理解使用该语言的环境和领域。如今,人工智能的概念包括理解语言、解释复杂数据、机器视觉、内容 交付网络中的智能路由,以及自主车辆。
机器视觉是一个正在使用人工智能的领域,而且其使用神经网络技术取得了显著进步,大幅度提高了 准确 性。神经网络模仿我们的大脑学习并利用所学信息来识别模式的方式。在过去的五年中,这项技 术的不 断 优化已经达到了这样的程度:在图像识别和其他任务方面,现在机器 能够达到比 人类更高水 平的精确度。 机器视觉方面的研究仍在继续,新算法层出不穷,它们不仅更快、更准确,而且更简单。 图1是 机器视 觉 用于进行场景分割和对象识别的例子,其中采用了卷积神经网络算法。
图1:Toshiba(东芝)和Denso 2016年新闻稿 中提 供的机 器视觉 场 景分割示例
但是视觉领域并不是神经网络的唯一用途。图像字幕生成、文本生成、字符识别、语言翻译、雷达、音 频 以及其他许多应用都是正在处理的领域。例如,NASA(美国宇航局)正在使用神经网络技 术来分 析望远 镜获得的数据,以寻找新的行星。该系统不仅比人类更准确,而且可以使分析 数据的速度 提高许多个 数 量 级。利用这个系统,NASA最近发现了围绕着一颗恒星(开普勒-90)运转的第八颗行星,距离我们2545光 年 -- 这是我们自己的太阳系之"外首个已知的具有八颗行星的太阳系。
与几年前相比,我们现在在新闻中能够频繁听到对于人工智能的信息。 这是因为使用人 工智能的应 用正在 更密切地走向大众市场消费者。人工智能正从学术界和大型计算机转向嵌入式应用,其中包括我们 每天都 在使用的设备。这种转变是由工艺技术、微处理器和人 工智能算法的进步所推动的。 运行人工智能应 用需 要大量的处理能力和内存。这在大型计算机中不是太大问题,因为其资源更充裕。 要想把人 工智能转移到 便携式和嵌入式应用中m性能和内存容量都需要增加,同时功耗也要大幅度降低。这很不容易实现,因为随 着处理器性能和内存容量的增加,功耗也会增加。幸运的是,随着半导体工艺向更小的几何形状发展,电路 面 积和功耗正在缩小。这使得设计人员可以将人工智能所需要的更大量内存和更高级处理器置入一块芯片上。
随着微处理器功能的提升,加之"当前工艺技术的进步,处理器能够在非常小的尺寸 上提供几年前不可 能达 到的性能水平,这就使得在嵌入式应用中实施人工智能变得容易。例如,具有超标量 流水线的 DesignWare ARC? HS44每个内核可提供高达5500 DMIPS(16FF最差情形),并且可以纳入0.06 mm2的硅片中, 而功 耗 只有不到50uW/MHz。利用双核版本和四核版本,其还可以轻松扩展至更高性能。ARC HS 系列内核 可 以 用于应用主机、通信、控制以及预处理和后处理,它们都是面向 人工智能应 用的任务的一部分。 图2 显示 了一个可用于各种人工智能应用的人工智能开发平台。
图2:采用ARC HS处理器的人工智能平台 -- 来自台湾NARL
虽然诸如ARC HS等处理器可用于某些人工智能任务,但专用处理器可用于特定的人工智能任务,而且这 样 的处理器可以为嵌入式人工智能应用提供卓越的性能。例如,GPU过去已经被用于机器视觉应用,但是它 们现在正在被更新型的专用视觉处理器(例如Synopsys公司的DesignWare EV6x嵌入式视觉处理器)所取 代。EV6x系列包含EV61、EV62和EV64等型号,能够配置一个可编程的卷积神经网络(CNN)引擎,以执 行对高达4K的高清视频流进行对象检测和分类。EV6x系列具有集成的异构处理单元 (图3),可配置多达 3520 个MAC单元 , 每秒可支持高达4.5T MAC操作 , 而且支持全系列的CNN算法 , 包括AlexNet、GoogLeNet、ResNet、SqueezeNet和TinyYolo。这种高水平的处理能力达到了几乎难以想象的程度,而且 这种 处 理 能 力可以集成到SoC中,并可以在场景分割和分类等应用中支持对高清视频流进行高级视觉处理,如图1所示。
图3:DesignWare EV6x嵌入式视觉处理器包括多达四 个视觉 CPU 和 一个可选CNN引擎
这些专用处理器不仅在性能上得到提高,而且在这些处理器 上运行的算法也正 在变得更 加精确。 图 4 显 示了最近的CNN分类图,其在准确性和能力上有了显著提高。ResNet的错误率仅为3.6%,优于任何人类(包括专家)在图像识别方面的表现。这些算法也可以运行在诸如DesignWare EV6x 处理器等视觉处理 器 上,并可以设计在SoC中以及用于嵌入式应用中,例如安装在监控摄像机或移动设备中。
图4:用颁狈狈实现对象分类的算法改进
虽然目前的人工智能已经很神奇了,但关注它在未来五到十年的发展将会更有趣。当然,汽车将能够 自动 驾驶,个人助理将会更智能,自然语言翻译将会显得天衣无缝,以至于我们之"中 那些到处旅 行的人如果离 开了它将不知所措。我们尚没有梦想到的人工智能新应用将由于持续改进的微处理器、人工智 能算法和 工 艺技术而得以实现。Synopsys一直处于人工智能的前沿,而我们才 刚刚 开始看到人 工智能所具备的能 力 。 无论是提高生产力,还是不断改变我们的旅行方式,人工智能都将会对我们的生活产生深远影响。