账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
不插电学AI:快乐学习人工智慧
 

【作者: 高煥堂】2018年12月25日 星期二

浏览人次:【8647】


当今的AI是属于机器学习(Machine Learning)的一支,基于神经网路(Neural Network)的深度学习。现在,很多人想去理解AI电脑(即机器)到底是如何学习的,以便掌握AI技术热潮,踏进这项未来10年的主流产业。


然而,AI机器学习的演算法(Algorithm)又非常依赖于高等数学的运算式,包括线性、非线性函数、N维矩阵(Array)、张量(Tensor)、微分导数、梯度(Gradient)下降、梯度消失等大家很陌生的数学概念和术语,这些复杂性大幅阻碍亲近AI的机会和途径。


观摩一只老鼠的学习

例如,有一只老鼠居住在一个房间里,这房间的只有四个洞可以出入,而洞外常常会有猫咪住在那里。当老鼠走出洞时,若有猫咪住在洞外,就会受到猫咪的追逐和玩弄,老鼠会害怕、不快活。


最近,老鼠听说房间外面来了几只猫,可能住在洞外,所以可能有些洞外没有猫,老鼠可以安全地愉快进出,只是老鼠并不清楚到底那些洞外没有猫。


这个时候,老鼠只好勇敢地试错,从经验学习中来提升其智慧。一开始,老鼠没有任何经验和知识来采取最好的抉择,它想从任何一个洞出去,幸与不幸的遭遇机会大概各一半,也就是有0.5的机率性不会碰到猫(图1)。



图1 : 不知道洞外是否有猫
图1 : 不知道洞外是否有猫

于是,老鼠就展开行动,首先选择A洞试试看,小心翼翼地从A洞走出来,发现有一只猫追过来,它(老鼠)被吓得立刻奔回到洞里,它知道自己原来估算的0.5机率值是错了,就把脑海里这个机率值调整为0.0了。它记下0.0机率值,也就记住了A洞外有猫(图2)。



图2 : 探索A洞(图片引自妮图网)
图2 : 探索A洞(图片引自妮图网)

重复一样的行动,继续展开探索行动,选择B洞试试看,小心翼翼地从B洞探出头来,赫然看到也有一只猫追扑过来,它(老鼠)又立刻奔回到洞里,它知道对B洞的所估算的0.5机率值也是错了,就把脑海里这个机率值调整为0.0了(图3)。



图3 : 也就记住了B洞外有猫
图3 : 也就记住了B洞外有猫

再重复一样的行动,继续展开探索行动,选择C洞试试看,小心翼翼地探出头来,哈哈,很轻松愉快地走出来了。玩一玩之后又安全地回到房间里了。它知道自己原来估算的0.5机率值也是不对的,就把脑海里这个机率值调整为1.0了(图4)。



图4 : 记住了C洞外没有猫
图4 : 记住了C洞外没有猫

最后一个洞,也想试试看,也展开探索行动,选择D洞试试看,大胆地走出来,突然有一只猫冲过来,差一点就被抓了。好险,幸运地逃回洞里。它知道自己原来估算(D洞)的0.5机率值是错的,就把脑海里这个机率值调整为0.0了(图5)。老鼠经过4次的探索之后,从经验中学习到智慧,变聪明了。



图5 : 又记住了D洞外有猫
图5 : 又记住了D洞外有猫

记录老鼠的探索选择及结果

由于老鼠会担心过几天自己忘记了这些经验,所以就想把这些经验写在纸张上。同时,如果有其他老鼠朋友来访时,也可以把纸张给朋友们看看,学习一下就可以具有一样的智慧了,以免好朋友们被猫抓去玩弄了。


第1次探索时,选择了A洞而没有选择B、C和D洞,就以数学的阵列(Array)来表示之,就表示为:[1,0,0,0]。接着,把第2次的探索经验也记录下来,以免忘记了。


这次探索选择了B洞而没有选择A、C和D洞,就以数学的阵列(Array)来表示之,就表示为:[0,1,0,0]。同样地,也把第3、4次的探索经验也记录下来。总共写下了4次的探索经验。如图6所示。



图6 : 写下了它探索时的选择
图6 : 写下了它探索时的选择

接着,老鼠发现到了,这样的纪录似乎仍不够完整,最好把「有没有看到猫」的实际结果也记载下来,就更完美了。如下图7所示。



图7 : 把探索的结果也写下来
图7 : 把探索的结果也写下来

其实,结果只有两种可能:「没有猫」或是「有猫」。于是,老鼠就拿1与0来代表之。也就是,以1代表成功走出洞外;而0代表看到猫又逃回洞里。这就包含两个阵列了,分别是:「探索选择」阵列与「探索结果」阵列。并且拿X来表示「探索选择」阵列;并且拿T来表示「探索结果」阵列。如图8所示。于是,就纪录完整、不必担心会忘记这些探索的经验了。



图8 : 拿X[]和T[]阵列来表示两项资料
图8 : 拿X[]和T[]阵列来表示两项资料

老鼠当教练:训练AI机器人

以简单数学式,让机器人表达智慧

话说有一天,老鼠的一位朋友来访,想在老鼠家(这个房间)居住几天。这位朋友是华硕公司出产的Zenbo机器人,老鼠知道Zenbo也很怕猫,所以很想把自己的经验迅速传授给Zenbo机器人。


于是,老鼠就来想一想,如何让自己成为教练,把自己的探索经验和智慧传授给Zenbo。而且基于机器人的超快运算能力,只要几秒钟的学习,就能得到很好的智慧。如图9所示,老鼠就进一步思考:如何教导(或训练)这些机器人朋友呢?



图9 : 把智慧表示出来
图9 : 把智慧表示出来

于是,老鼠就正式担任起教练的角色了,让Zenbo机器人来模拟老鼠的学习和提升智慧的过程。一开始,老鼠没有任何经验和知识来采取最好的抉择,它想从任何一个洞出去,幸与不幸的遭遇机会大慨各一半,也就是有0.5的机率性不会碰到猫。所以,一开始估算各洞的机率值都是0.5。就拿一个简单的数学式来表示为:


y = x1*0.5 + x2*0.5 + x3*0.5 + x4*0.5


其中,x1、x2、x3、x4就代表一次探索的选择,现在就把这数学式写入到Zenbo机器人的脑海里(图10)。



图10 : 把数学式放入机器人脑海里
图10 : 把数学式放入机器人脑海里

拿第1笔资料来训练机器人

老鼠第1次探索时选择了A洞,就是:


[x1, x2, x3, x4] = [1, 0, 0, 0]


而y就代表这次探索的整体估算值,可以估算出这次能顺利走出房间的机率值,也就是这只老鼠的信心度。于是,就把这个阵列值[1,0,0,0]带入数学式里,可以让机器人来运算(图11)。



图11 : 带入X[]资料,展开训练
图11 : 带入X[]资料,展开训练

把这个阵列值[1,0,0,0]带入数学式里,经过机器人的快速运算,可以算出y值为:0.5。这y值就代表这次探索的整体估算值,也就是这次能顺利走出房间的机率值(图12)。



图12 : 估算第1次探索的成功信心度(即y值)
图12 : 估算第1次探索的成功信心度(即y值)

以上,完成了老鼠智慧的模仿,也成为机器人智慧的表达,就能让机器人运用智慧来进行估算,以达到三思而后行的效果。


老鼠在房间里针对其探索的选择,在还没有任何经验下,运用其现有智慧来估算后,得出0.5估算值(即猜想有50%是没有猫)之后,展开行动走出A洞。却发现了猫追扑过来,赶快转身奔回洞内。


它回到洞内,静下心想了一想,以它现在所纪录的智慧,所估算的值0.5与实际值0(即有猫),两者来比较一下,是很大落差的。机器人也可以模仿及表达如图13所示。



图13 : 比较一下估算值与实际值
图13 : 比较一下估算值与实际值

走出A洞之前的估算值0.5,与走出A洞时得到的实际值0,两者拿来比较一下,发现其所依赖的智慧是有待改进的。俗语说:不经一事、不长一智。所以老鼠经历了这次的探索之后,它的智慧就会有所成长了。


那么,又如何让机器人来表达其智慧的成长呢?也就是如何调整上一小节里所纪录的智慧呢?可以来看看估算值和实际值的差距有多大,两者相减得到-0.5的误差。接着拿这项误差值(即-0.5)来修正机器人里的数学式(图14)。



图14 : 修正数学式的叁数(权重)
图14 : 修正数学式的叁数(权重)

此时,拿这项误差值(即-0.5)来与权重相加,其计算是:-0.5 + 0.5 = 0.0。因此,得到新的权重是:0.0。如图15所示。



图15 : 智慧成长了
图15 : 智慧成长了

此时,已经修正了数学式里的参数,又称为:权重(Weight)。修正后,其数学式变成为:


y = x1*0.0 + x2*0.5 + x3*0.5 + x4*0.5


由于第1次探索时选择了A洞,就是:


[x1, x2, x3, x4] = [1, 0, 0, 0]


而y就代表这次探索的整体估算值,机器人可以估算出这次能顺利走出房间的机率值。于是,就把这个阵列值[1,0,0,0]带入数学式里,如下:


y = x1*0.0 + x2*0.5 + x3*0.5 + x4*0.5


= 1 * 0.0 + 0 * 0.5 + 0 * 0.5 + 0 * 0.5


= 0


所以修正数学式之后,经由运算而得到的估算值是:0。而实际值也是0,非常准确,没有误差,这呈现机器人智慧的成长了。


拿第2笔资料来训练机器人

接着,老鼠准备给予Zenbo展开第2笔资料的训练,这次是基于老鼠先前探索B洞的经验记录,来做为训练资料。于是,把X[]阵列值[0,1,0,0]带入数学式里(图16)。



图16 : 带入X[]资料,展开第2笔的训练
图16 : 带入X[]资料,展开第2笔的训练

把这个阵列值[0,1,0,0]带入数学式里,经过机器人的快速运算,可以算出y值为:0.5。这y值就代表这次探索的整体估算值,也就是这次能顺利走出房间的机率值(图17)。



图17 : 比较一下估算值与实际值
图17 : 比较一下估算值与实际值

依据老鼠的经验,它走出B洞之前的估算值0.5,与走出B洞时得到的实际值0,两者拿来比较一下,发现其所依赖的智慧是有待改进的。所以老鼠经历了这次的探索之后,它的智慧就会有所成长了。


那么,也让Zenbo机器人的智慧也继续成长吧。现在来看看估算值和实际值的差距有多大,两者相减得到-0.5的误差。就拿这项误差值(即-0.5)来修正机器人里的数学式(图18)。



图18 : 修正数学式的权重
图18 : 修正数学式的权重

也就是,拿这项误差值(即-0.5)来与权重相加,其计算是:-0.5 + 0.5 = 0.0。因此,得到新的权重是:0.0。如图19所示。



图19 : 智慧继续成长了
图19 : 智慧继续成长了

此时,已经修正了数学式里的权重,修正后,其权重变为:0.0。而数学式也变成为:


y = x1*0.0 + x2*0.0 + x3*0.5 + x4*0.5


由于这是基于老鼠的第2次探索经验,当时选择了B洞,就是:


[x1, x2, x3, x4] = [0, 1, 0, 0]


而y就代表这次探索的整体估算值,机器人可以估算出这次能顺利走出房间的机率值。于是,就把这个阵列值[0,1,0,0]带入数学式里,如下:


y = x1*0.0 + x2*0.0 + x3*0.5 + x4*0.5


= 0 * 0.0 + 1 * 0.0 + 0 * 0.5 + 0 * 0.5 = 0


所以修正数学式之后,经由运算而得到的估算值是:0。而实际值也是0,非常准确,没有误差。这呈现了机器人的智慧继续成长了。至此,老鼠已经对机器人朋友完成第2笔资料的调教(训练)了。其藉由训练资料来驱动机器人对其数学式做修正,让其估算更加准确。


拿第3笔资料来训练机器人

刚才已经展开了2次训练了,依循同样的过程,老鼠准备给予Zenbo展开第3笔资料的训练,这次是基于老鼠先前探索C洞的经验记录,来做为训练资料。


依据老鼠的经验,它走出C洞之前的估算值0.5,与走出C洞时得到的实际值1,两者相减得到误差值:0.5。接着,继续拿这项误差值(即0.5)来修正机器人里的数学式。如图20所示。



图20 : 修正数学式的权重
图20 : 修正数学式的权重

也就是,拿这项误差值(即0.5)来与权重相加,其计算是:0.5 + 0.5 = 1.0。因此,得到新的权重是:1.0。


拿第4笔资料来训练机器人

刚才已经展开了3次训练了,依循同样的过程,现在,老鼠准备给予Zenbo展开第4笔资料的训练。依据老鼠的经验,它走出D洞之前的估算值0.5,与走出D时得到的实际值0,两者拿来比较一下,发现其所依赖的智慧是有待改进的。此时,已经修正了数学式里的权重,修正后,其权重变为:0.0。如图21。



图21 : 经过4笔资料的训练
图21 : 经过4笔资料的训练

至此,老鼠已经对机器人朋友完成第4笔资料的调教(训练)了。


验证

经过4笔资料的训练,其训练后的权重值,可以表示为:


W = [w1, w2, w3, w4] = [ 0.0, 0.0, 1.0, 0.0]


于是,老鼠就来检测一下Zenbo机器人的智慧,看看它依据数学式而计算出来的估算值,是否与实际值是一致的。


Step-1

首先,老鼠再拿取训练资料X[]和T[],把其中的第1笔: X = [1,0,0,0 ]


交给Zenbo机器人,它立即展开数学是的计算:


y = x1*w1 + x2*w2 +x3*w3 + x4*w4


= 1*0.0 + 0*0.0 + 0*1.0 + 0*0.0 = 0


得出的估算值是0,它与实际值0是一致的。


Step-2

检测过了第1笔资料,接着检验第2笔: X = [ 0,1,0,0 ]


交给Zenbo机器人,它立即展开数学是的计算:


y = x1*w1 + x2*w2 +x3*w3 + x4*w4


= 0*0.0 + 1*0.0 + 0*1.0 + 0*0.0 = 0


得出的估算值是0,它与实际值0是一致的。


Step-3

检测过了第2笔资料,接着检验第3笔:X = [ 0,0,1,0 ]


交给Zenbo机器人,它立即展开数学是的计算:


y = x1*w1 + x2*w2 +x3*w3 + x4*w4


= 0*0.0 + 0*0.0 + 1*1.0 + 0*0.0 = 1.0


得出的估算值是1.0,它与实际值1是一致的。至此,经过了检测,看到Zenbo的智慧已经相当不错了,其估算值都符合训练资料的要求。于是,老鼠教练的初步训练工作就算大功告成了。


相关文章
生成式AI与PC革新
机器学习可以帮助未来的癌症诊断
资料科学与机器学习协助改善颈部损伤评估
MATLAB与Simulink整合自动化机器学习与DevOps
强化转型核心动力 打造更强数位韧性
comments powered by Disqus
相关讨论
  相关新闻
» 明纬推出新系列30W~90W??墙式可换AC??头适配器环球认证
» RIN国际研发高峰会手举行 金属中心展出亮眼成果
» 西门子工具机软硬体解决方案 构建数位制造核心应用
» 明纬推出NGE100(U)系列:100W环球通用4埠USB氮化??快速充电器
» TPCA展??2024台湾PCB产值 有??复苏达8,182亿新台币


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83TBNYPOISTACUK9
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw