人工智能AI芯片与Maker创意接轨 (上)

近几年来人工智能(Artificial Intelligence, AI)喴的震天价响,吃也要AI,穿也要AI,连上个厕所也要来个AI智能健康分析,生活周遭食衣住行育乐几乎无处不AI,彷佛已经来到科幻电影中的那个世界,面对这波「智能」新浪潮,身为Maker的我们自然不能缺席。本文将分成上、中、下三篇介绍AI芯片的发展,以及Maker们如何使用AI芯片与创作接轨。

AI这个领域看似深不可测,大家都说你得先学个线性代数、机率再加上一堆理论以及看了就头疼的程序代码,再经过数年修练,就能小有成就。不过,大家请不必担心,这些难的部份就先交给聪明的数据科学家和工程师,Maker们只要应用他们开发出的源码及工具(SDK)发挥创意专心创作出更具「智能化」的作品,解决更多人们的需求即可。

打个比方,「就像学开车不必先懂得车子如何设计,只需到驾训班学基本原理、操作及交通安全规则就可上路了。」但是,如果你想精进驾驶技术,甚至当个专业赛车手或开发出专属的车子,这时就必须更了解车子的设计原理,并学着如何改车及用何种方式驾驶,如此才能发挥车子的最大效能。

从开车的例子来举例:AI芯片就如同引擎,计算能力等同于决定车子的马力,而算法(模型)就像车型,不同的车型有着不同用途、解决不同的问题,如果开着跑车要载货而开着货车要竞速,相信一定不会有好的结果。而大量的资料就像汽油,少了它车子肯定动不了。

接下来就从当下最热门的议题「人工智能芯片(AI Chip)」来切入,让大家能更进一步了解AI基本术语及观念,各家AI芯片技术到底有何不同及Maker们要如何运用这些资源来提升创作使其更智能化。

人工智能与深度学习

自1950年代「人工智能」一词被提出,但受限于硬件计算能力、算法可用性及数据集的数量,几经浮沈始终未能推出实用的结果。直到2012年Alex Krizhevsky 利用深度卷积神经网络(Deep Convolutional Neural Network, CNN)以大幅差距赢得知名影像分类ILSVRC大赛,大家才重新对人工智能重燃起希望。

2016年Google的「Alpha Go」完胜最难攻克的围棋,更是激起各国政府及普罗大众对人工智能的重视。听到「人工智能」这个名词,相信大家脑中一定浮现各种科幻电影的场景,想象着计算机已经可以取代人类完成各种需要大量思考才能完成的事,但现实上并非如此。

目前市面上说的人工智能,大多是指深度学习(Deep Learning, DL)算法所产生的结果,其实只是在找一个最佳函数解,而非真正具有像人的思考方式。

更进一步来说,如下图所示(Fig. 1),人工智能包含了机器学习(Machine Learning, ML),而其下又包含了有标准答案才能学习(训练)的监督式(Supervised)学习(分类、回归),没有标准答案可自动依数据属性分群的非监督(Unsupervised)式学习(聚类)及具奖惩机制找出最佳答案的增强式(Reforcement)学习(分类)。

深度学习只是由监督式学习下的神经网络(Neural Network, NN)所演化出来的,经过这几年不断的演化,目前已从只能处理监督式学习问题扩展到非监督式及增强式学习。因此,目前市售的AI芯片发展趋势多半锁定在处理深度学习类型问题,而非处理传统机器学习及真正人工智能的问题。

Fig. 1  人工智能、机器学习与深度学习关系(图片来源:OmniXRI整理绘制)

 

深度学习技术的应用

目前应用人工智能或者更精准地说,深度学习到底能解决什么问题呢?最常见的两大领域就是影像及语音

在影像方面,可对单张影像进行单一项目分类( Fig. 2a),但若影像中,同时出现二种类型对象时,那就很有可能分类错误或者同时归属到多个类别中。再来,可找出影像中多个对象并定位出来( Fig. 2b)。

若想要再更精准描绘出对象轮廓就必须进行语义分割(Fig. 2c),换句话说就是以像素等级的方式进行分类,把每个像素分到指定的分类中,此时仍无法区分出相同对象不同个体。最高等级就是实例分割(Fig.2 d),不仅能精准分割对象轮廓且能分割出不同个体。当然,这四类型的难度也是依序提高,所需付出的计算量也相对提高。

Fig. 2  常见影像应用人工智能使用情境(图片来源:OmniXRI整理绘制)

另一个较大应用的领域就是「语音」,首先要让计算机听懂我们在说什么,就必须正确地把语音变成文字(Fig. 3e),才能提供给后续的语言(意图)解读(Fig. 3g)。当然要听懂是谁在说话,而说话的情绪为何也是很重要的(Fig. 3f),在了解说话的内容后就必须产生回答,把通顺的句子合成为柔美的语音(Fig. 3h),才能完成一个完整的对话过程,不然就变成鸡同鸭讲。

除此之外,如文章翻译、影片摘要、股市分析、交通物流、医疗照护等,非影音领域的应用也都很适合以深度学习方式进行辨识及分析。

 Fig. 3 常见语音应用人工智能使用情境(图片来源:OmniXRI整理绘制)

 

AI芯片的神经网络(NN)工作原理

为了能更进一步了解以深度学习为主的AI芯片到底要如何工作,首先要了解组成「神经网络(NN)」神经元的工作原理。

如下图(Fig. 4a)所示,每个神经元有n个输入值,每个输入值有一个权重(Weight)值,把所有输入值乘权重值加总起来,有时会另外加上一个偏置值(Bias)来调整,将得到的值再经过一个激活函数(Activation function)即可产生新的输出值。从另一个角度来看,相当于每个权重值决定对应的输入值对这个神经元的影响程度。

以Fig.4a为例,由左至右为推论(Inference),可得到算输出结果,过程中需要n个权重值加上1个偏置值,而这些值是需要经由训练(Training)而得。训练前须取得许多(越多越好)已知答案或称为标签(Label)的训练数据,假设输出值只有二种答案,是(1.0)或者不是(0.0)。

如果第一组输入数据已知答案为是(1.0),但经过推论后只得到0.6,则表示权重及偏置值不理想需要调整,此时利用根据差值(1.0 – 0.6 = 0.4)由右至左调整每个权重及偏置值,而至于调多少则随不同方式也有不同。

同样的步骤再输入第二组数据进行调整,直到所有训练数据都做过一轮(Epoch)。此时,大家可能会问这样就训练好了吗?我们还得拿出另一组未曾出现在训练资料中,但却已知答案的数据来进行验证,就如同学校老师教了许多内容,但要透过考试成绩才能知道学生是否学会了,如果分数不及格,就要重新训练加强磨练。

相同地,我们必须反复执行这些步骤直到验证数据都得到满意的答案,因此,可想而知所需来回的次数相当大,所以通常训练会需要设计什么时候停止,可选择成绩(正确率)到达某个门坎,或者不管成绩只考虑训练次数。这就好比学校的模拟考,虽然学生每次都考高分,但真正考试时成绩仍不理想,此时就得增加学习样本重新训练。

为了能处理更复杂的问题,一个神经元可扩展成一组简单(单层)神经网络,如Fig. 4b所示,会有输入层、隐藏层(Hidden Layer)及输出层,推论及训练的概念和一个神经元大致相同。若待解决问题更困难,如Fig. 4c所示,则可增加每一层的神经元或隐藏层数来解决。

Fig. 4 神经网络:(a)神经元工作原理;(b)简单(单层)神经网络;(c)复杂(深层)神经网络(图片来源:OmniXRI整理绘制)

 

深度学习的代表作–卷积神经网络(CNN)

不过,问题来了,当输入的数据为影像时,随便一张32*32的单色灰阶影像,就有高达1024个输入;若是彩色影像还要乘以三倍(R,G,B),如此庞大的网络,参数(权重、偏重值)数量实在多到难以计算。于是深度学习的代表作「卷积神经网络(CNN)」因此诞生了。

如 Fig. 5 所示,这是一个用来辨识手写数字(0~9)的案例(模型),称为「LeNet」,输入为32*32点单色灰阶影像,输出为0~9的机率。其中应用到一种名称「卷积」或「回旋积」的技巧,它让权重值可以共享,在 Fig. 5中显示的 C1层就是由六组 5*5的卷积核计算后的结果,则只需156((5*5+1)*6)个参数就够了。当输入点数降低到够少点数时再采用全连结(Full Connection)方式(如上图Fig. 4a, 4b),Fig. 5中的F6层。不过即便是如此,LeNet整个完整网络仍有六万个参数需要进行训练。

Fig. 5 神经网络:卷积神经网络(CNN,LeNet)(图片来源:OmniXRI整理绘制)

为了解决各种不同问题,于是各种不同的网络(Net)结构或模型(Model)被提出。从Fig. 6中可看出,横轴是计算量,每个乘法或加法就算一次运算(Operations, Ops),不同算法从数千万次到数百亿次的计算才能推论一笔数据,通常计算量和参数量(圆圈直径)有直接关系,参数量可能从数百万到数亿个。不过正确率和参数量及计算量则不一定有直接关连,对实际使用上来说当然希望找到计算量越低、正确率越高的模型,而正是AI科学家及工程师努力的方向。

Fig. 6 影像分类之神经网络之参数量、计算量及精确度比较图

对Maker而言只需根据需求(正确率、计算量)及计算时间找到一个够用的的模型及硬件平台(AI芯片)来用即可,就像只有几个纸箱的东西要搬,不必找一台货柜车或一台千万跑车来载。反之应用上若很在意正确率,则可能就要多浪费一些计算量(时间)及昂贵的硬件平台来换。

小结

由上述内容可知虽然运用深度学习神经网络可得到较理想的辨识结果,但所需付出的代价也同样非常惊人,光推论一笔数据就要计算数千万次到数百亿次,更不要说训练时要训练数万到数百万笔资料,数十到数千次循环周期(Epoch),所以如何加速训练及推论时间就成了最重要的工作。

为了完成这么庞大的工作,就必须有强悍运算能力的硬件平台。下一篇我们将继续介绍目前市面上的各类AI芯片,也会针对不同类型的芯片进行分析。

原文参考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247484263&idx=3&sn=e597c235807f75f608d41a009287c621&chksm=fb22e4a2cc556db4836c191bf2837e4531189881d109f2c22cf3187169eb714a264a57afd9b5&token=968588391&lang=zh_CN#rd

猜你喜欢

转载自www.cnblogs.com/Astar-STEAM/p/9790699.html