神经网络深入(连载1)神经网络的拓扑



游戏编程中的人工智能技术



连载1:演化神经网络的拓扑

(Evolving Neural Network Topology)

            看来,我们已经到达了计算机技术可能到达的那种极限了,虽然说这样话需要小心一些,但在这5年中它们确实已经变得相当笨拙了

-         John Von Neumann 1949   

        前面我们已经看到,神经网络的体系结构(architecture)或者说拓扑(topology)对网络的有效性起着十分重要的作用。但我们同时也看到,如何为网络体系结构选择各种参数更多地是一种艺术而不是一门科学。这样通常就会使程序蕴藏许多麻烦。你虽然可以为此开发一种“感觉”,但由此设计出来的网络拿去演化寻找最优拓扑能够很理想吗?要让一个网络去学习你想要它学习的东西并不难,但要它在学习过程种能合理地进行归纳、不失去推广能力,就不是那么简单的了。

        当使用演化算法开发神经网络的拓扑时,我们可以设想有一幅可以用来代表适应性大小的、起伏不平的场景图(landscape),在这一场景图中,每一个点代表网络结构的一种类型。所谓演化型人工神经网络EANN  (Evolutionary ArtificialNeural Network)的目的,就是要在这一块场地上尽可能广泛地进行游历,直到找到它的全局性最优解。

 

 注释:
   曾经有人利用某些非进化型的方法处理了这一问题。研究者们在试图创造网络时,有时用建设性的方法,有时则用破坏性的方法。破坏性方法是在超过要求的一个大网络上开始进行的,它有许多神经细胞、细胞层、和连接(links)。破坏性方法就是通过训练过程,有系统地进行剪枝来压缩这个网络结构。而建设性的过程则是用相反的方式来得到所要求的结果,它从一个最小的网络开始,通过训练,不断加入神经细胞和细胞间的链接。但这些方法都已发现了有相同的问题,即所得到的网络会收敛到局部最优。并且,更有甚者,在网络结构上也有相当大的局限。也就是说,在所有可能的网络拓扑结构谱中,通常只有其中的一小部分能够利用这些技术来产生。

   已有不同领域的众多研究人员把大量大量的时间和精力化在这个问题上了。我将利用本章的第一部分来描述许多可用技术之中的某一些,而在本章的第二部分则要介绍我认为是比较好的一种简单实现方法。

       如同处理其他所有利用演化算法来处理的问题一样,任何可行的解决方案都必须指出网络的编码方法、适应性分数的计算方法、以及为执行基因组的突变操作与/或杂交操作的有效方法。我说‘或杂交’操作,是因为有些方法完全放弃了这种有潜在麻烦的操作,而宁可全部依靠突变操作在搜索空间进行搜索。因此在我介绍一些流行的EANNs以前,让我先来向你说明为什么这里进行的杂交操作会遇到麻烦问题。

 

11.1竞争约定问题(competingconvention problem)

       为候选网络进行编码的主要困难之一是所谓的竞争约定问题(competingconvention problem),有时称为结构-功能映射问题(structural-functional mapping problem)。简单地说就是,一个编码系统,有可能为呈现完全相同功能的网络而提供若干个不同形式的编码。例如,以图11.1所示的一对简单网络作为例子,一种简单的编码方式可能会把其隐藏层中神经细胞出现的先后次序作为网络的编码。


图11.1  一种简单编码方式

      如果使用这样的简单编码,则网络1应编码为:

A B C D

而网络2则编码成:

D C B A

       但如果你仔细地考察一下这两个网络的图形结构就会发现,尽管神经细胞的排列顺序不同,因而它们的基因组也不相同,但两个网络实质上完全相同。这两个网络将呈现完全精确一致的行为。这就是问题的所在,因为,如果你把一种杂交操作用于这两个网络,比如,在基因组的中间点断裂,进行单点杂交,则产生的子孙将是:

A B B A   或   D C C D

而这显然是一个不希望有的结果:两个子代一方面都从父母继承了双份的神经细胞,而另一方面都又失去了父母的50%的功能(functionaliry),这显然不大可能象是一种性能的改进。(即使它们中的一个真又产生了像19世纪70年代Super Trooper(超级骑兵)和DancingQueen(舞蹈皇后)那样的典故。<一笑>)。

       显然,网络的结构愈大,这样的问题也会遇到的更频繁。而这种结果在基因组群体上会产生更大的负面效应。因此,这是研究人员们在设计编码方案时要尽最大努力去避免的一个问题。 

 注释:
      对竞争约定问题还有一派人持有不同看法。这些研究人员相信,为避免这个问题而采取的任何措施实际上可能产生更多的问题。他们认为,不如简单地忽略这个问题、允许演化过程处置这样的“残废”网络,或者完全抛弃杂交操作并完全依赖突变操作来遍历搜索空间。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页