演化,AI的第三条路!(1-2)

演化,AI的第三條路!(1/2)

过去50年来,科学家流行採取两种方法让机器模拟人类智慧,也就是撰写程式,以及囊括人类集体知识与专门技术的资料库,但其实计算理论先驱涂林还提过AI的第三条路——藉由遗传或演化搜索,以存活力的高低决定「基因」的组合。现在,科学家以达尔文演化方式运作的电脑程式,正自行製造新奇发明,其实用的程度足以取得专利。


达尔文式的发明

遗传规划利用电脑版本的演化创造出新的发明。这个方法先从数千个随机产生的检测物件中,筛选出较好的个体,然后把突变及有性生殖遗传因子互换等过程应用在这些个体上,以便产生后续的世代。经过数十个世代后,族群内的个体会愈来愈符合既定的标準。执行到最后,就可收取最好的个体,作为解决问题的答案。在电子学领域中,这项技术已複製出专利发明,其中有些属于目前最尖端的研发领域。其他发明包括天线、可识别蛋白质的电脑演算法,以及通用控制器。这些由电脑演化出来的发明中,有些应该可取得专利。我们预料不出10年,电脑的运算能力应该有足够的提升,可让遗传规划成为一种常用的桌上型发明机器,并与人类发明家平起平坐地相互竞争。

演化是个强而有力的创造过程。从个别细胞複杂的生化反应到人脑的精密结构,演化所造就的奇蹟,能达到难以想像的複杂度。演化透过突变、有性生殖的遗传因子重组,以及天择等数种简单的过程,反覆进行许多世代之后,完成了丰功伟业。现在,电脑程式设计师也把演化运用在软体设计上,企图製造出机器智慧。这项技术称为「遗传规划」(genetic programming),目前已设计出可执行特定功能的电脑程式与电路。

在电子学的领域中,遗传规划已经複製出15种先前已取得专利的发明,其中数种当初在各自领域发表时,都被推崇为极具发展潜力的重要发明(见下表)。在现有的这15种发明中,有6种是在2000年1月之后才由大型研究单位取得专利,可见这些发明在兼具科学及实用价值的领域中,代表了目前的尖端研究。这些自动生成的发明中,有些对先前取得专利的发明显然是侵权,其他的虽然也只是重複先前物件的功能,但是因为是用了新奇的方式达成而被视为新的发明,其中一种甚至比它的先例有明显的改进。

演化,AI的第三条路!(1/2)

遗传规划也对蛋白质序列进行分类,并在其他各类领域中,製造出足够与人类较量的成果,譬如天线设计、数学演算法,及通用控制器(见下表)。我们最近才为一种以遗传方式演化出来的通用控制器申请专利,相较于业界目前惯用的以数学方式推导出来的控制器,我们的控制器性能更为优越。

演化,AI的第三条路!(1/2)

遗传规划第一个实际的商业应用,可能会出现在设计领域。基本上,设计是工程师一天花八小时从事的工作,而演化所做的事也就是设计。设计领域特别适合採用遗传规划,因为人们从事设计的目的,是想为难题找出非常好、却不见得在数学上完美的答案。

一般而言,彼此竞争的考量会引发複杂的取捨过程,而且各个因子之间的最佳平衡状态,也很难预料。最后,设计通常会变成找寻事物的拓朴排列(而不只是得出一组最佳数字),这正是遗传规划十分擅长的工作。

人类工程师看待问题时,经常以理想的数学模型为基础,所以容易落入窠臼。遗传规划的好处,就是不会陷入这种狭窄的思路,演化对于数学原理一无所知,只是单纯地试着製造出愈来愈好的结果。因此,我们经常见到演化过程塑造出人类设计师从来不曾想过的、具有原创性的事物。

来自原始的沼泽

不管运用在哪个领域,遗传规划都是从「原始的沼泽」开始,沼泽里包含随机产生的试验性「有机体」,以及对有机体所应达成的功能所做的高阶描述,也就是用以评估适应度的标準。举例来说,假设有机体是基本的数学函数,而我们的目的是找出图形能符合特定曲线的函数。那幺,这个例子里的有机体,就由数字常数及加减乘除等基本运算所组成。至于函数的适应度,则是视乎函数图形与目标曲线的符合程度而定。

遗传规划程式会评估数学函数族群内每个个体的适应度。由随机方式製造出来的初始函数,一开始与目标曲线之间的符合度当然会相当低,但其中一些函数的符合度会优于其他函数。遗传规划程式往往会去除族群中较差的函数,再把遗传运算应用在存留下来的函数上,以便製造出函数的后代。最重要的遗传运算是有性生殖,或称遗传因子的「互换」(crossover)。透过这种方式,将适应度较高的有机体彼此配对,就能产出具有亲代双方遗传物质的后代(见图一上)。比如,把函数(a+1)-2与1+(a × a)配对,可能促使第一个函数内的(a+1)取代第二个函数内的a,结果产生后代1+[(a+1) × a]。利用这种方式,让两个适应度较好的有机体结合彼此的特性,有时可製造出极其优良的后代。

演化,AI的第三条路!(1/2)

图一、互换、突变,还是灭绝?(插图/Bryan Christie Design)

除了有性生殖之外,遗传规划也会把大约9%的适应度最好的个体,原原本本地複製到下一代。一般来讲,这可确保下一代中最优良的有机体,适应度至少能和上一代媲美。最后,还有大约1%的个体会进行突变。比如说,a+2可能突变为(3 × a)+2。这是希望随机的改变,能够进一步改善适应度较高的个体。

上述的遗传作用,会渐渐改善数学函数族群。这种利用适应度的小变化,让整个族群在许多世代后发生重大改良的方式,就好像以複利计算小小的利率,可在数十年后让财富大幅成长一样。
你可以把这个演化过程,想像成在一个充满所有可能有机体的空间里进行搜索。互换运算执行的搜寻方式最具创造力,也因为如此,我们才用互换运算产生每一代里近90%的后代(见图一下)。相较之下,突变则倾向在现存的优良个体附近,进行局部搜寻。我们相信,除非是个特别单纯的问题,否则太高的突变率,反而会导致演化效率降低。

电脑程式的演化,是个比数学函数複杂的例子。譬如利用迭代法及记忆方式为蛋白质序列进行分类的电脑程式,在此种情况下,遗传规划可执行类似生物过程的程序,好比複製基因与删除基因,以便在演化的程式族群中,製造或删除子程式、迭代、迴圈与递迴。演化过程本身会根据解决问题的需要,决定电脑程式的特性及内容。

低通滤波器(low-pass filter)电路就是一个很好的例子,可以让我们了解遗传规划如何设计出类比电路。低通滤波器用于高传真音响系统,专门传送极低频的音波到低音喇叭。想利用遗传规划製造出低通滤波器,我们必须指定可用哪些元件来建构电路(比如电阻、电容与感应器),并且定义好候选电路的适应度,就是必须可让1000赫兹以下的音频以全功率通过,同时过滤掉高于1000赫兹的所有频率。

这种製造电路的方式,借用了发育生物学的机制。每个电路一开始就好像一个基本的「胚胎」,包含一个由输入连接到输出的线路。这个胚胎电路在建构功能的渐进作用下逐步成长。有些建构功能会在电路中插入特别的元件,有些则会改变不同元件之间的连结模式:譬如可能是複製现有串联或并联的电路或元件,也可能把某个点连接到电源、地线,或是增长中的电路里某个远处的点。这种发育过程会同时导出电路的拓朴(电路架构的型态),以及有关元件多寡的数值。这个系统可以自动合成电路,却不必动用到电机工程领域内有关电路合成的任何高阶知识。

以这种方式随机生成的基本电路族群中,大部份个体一开始的作用方式完全不像低通滤波器。但是其中有些电路在输入及输出之间存有感应器,因此可轻微阻隔较高音频的通行。有些电路在输入及地线之间则存有电容,可稍微吸收掉较高音频的能量(见图二)。这类电路被筛选出来配对的机会比其他电路多,结果后来世代中的某些子代就会带有这两种特性。针对数值式子的互换与突变运算,能够调整元件的值,让截频点朝向1000赫兹的目标趋近。其他互换与突变作用,则会去除浪费能量的电阻。额外的互换,可以让感应器与电容的组合成长两倍或三倍,而製造出AT&T的坎贝尔于1917年取得专利的「阶梯结构」。

演化,AI的第三条路!(1/2)

图二、低通滤波器的演化(插图/Bryan Christie Design)

用类似的演化与发育过程组合,也可设计出其他器材。比如天线,就是利用「图龟」(turtle)自动设计出来的。「图龟」可根据不同运算的控制(很像LO程式语言的运算),于移动及转弯时在平面上放下(或不放下)金属。

用以自动製造控制器的原始材料,包括微分器、积分器与放大器。汽车上的定速控制就是一种基本的控制器,它必须在车速变得太快时减低燃料的进量,或在速度变得太慢时,增加燃料进量。另外,车子对燃料变化的反应会延后,一个好的控制器也必须把这点考虑进去,并且持续监视车速的变化,才能防止车速超过既定目标。通用控制器极为重要,这类控制器可进一步改造,因应各种特定任务的需求,比如用以控制家庭炉灶、工厂製造流程,或是电脑磁碟储存器的读写头等。小幅改善用以製造控制器的「调谐规则」(tuning rule),都会产生经济上的庞大节约。

PID控制器是一种常见的控制器,PID三个字母分别代表「比例」(proportional)、「积分」(integral)及「微分」(derivative)三部份。这种控制器于1939年由英国诺夫威治市的帝国化学有限公司的卡伦德与史蒂文森所发明,运用十分广泛。我们的遗传规划程式,已为这个领域演化出两个明显的改进。首先,这些程式为PID控制器发展出一组新的调谐规则。从1942年开始,业界就普遍採用一组相当单纯而有效的PID控制器调谐规则,这组规则曾在1995年加以改良,不过我们发展出来的调谐规则,比1995年的版本还要好。其次,我们演化出三种新的控制器电路拓朴,性能也比採用旧有调谐规则的PID控制器更好。我们已经为一种採用新规则与新控制器拓朴的应用申请了专利,若如我们所料申请通过,相信那将是第一次由遗传规划发明的东西获得专利。(待续)


上一篇:
下一篇: