我刚刚观看了一个Google技术讲座视频,内容涵盖了“Polyworld”。 (找到这里),他们谈论将两个神经网络一起培育成后代。我的问题是,如何组合两个神经网络?它们看起来如此不同,任何组合它们的尝试都只会构成第三个完全不相关的网络。也许我错过了一些东西,但我没有看到一个很好的方法来采取两个独立的神经网络的积极方面,并将它们组合成一个单一的神经网络。如果有人能详细说明这个过程,我会很感激。

有帮助吗?

解决方案

他们不会真正培养两个神经网络。据推测,它们具有多种遗传算法,其在给定特定序列的“基因”的情况下产生特定的神经网络结构。他们将从一群基因序列开始,产生其特有的神经网络,然后将这些网络中的每一个暴露于相同的训练方案。据推测,这些网络中的一些将比其他网络更好地响应训练(即,它们将更容易“训练”以实现期望的行为)。然后,他们将采用产生最佳“受训者”的基因序列,将它们彼此杂交,产生其特有的神经网络,然后将其暴露于相同的训练方案。据推测,第二代中的一些神经网络比第一代神经网络更容易训练。这些将成为第三代的父母,依此类推。

其他提示

到目前为止,对Polyworld的性质都没有回应!...

他们都描述了一个典型的遗传算法(GA)应用程序。虽然GA包含了Polyworld中发现的一些元素(育种,选择),但GA也暗示某种形式的“客观”。旨在指导朝着[相对]具体目标发展的标准。

Polyworld另一方面是人工生命(ALife)的框架。有了ALife,个体生物的存活以及它们将基因传递给其他世代的能力,并不是因为它们能够满足特定的“适应度函数”,而是它与各种更广泛的,非目标导向的标准,例如个体以与其大小和代谢相称的方式提供自身的能力,避免食肉动物的能力,以及寻找交配伙伴的能力还有各种运气和随机性。

与生物及其世界相关联的 Polyworld模型 相对固定(例如,他们都可以访问(尽管可能选择不使用)各种基本传感器(用于颜色,用于形状...)和各种致动器(“装置”吃,交配,转动,移动......)这些基本的感觉和运动功能不会发展(例如,它可能在本质上,例如当生物找到对热量或声音敏感的方法和/或寻找与原始运动原语等不同的移动方式时......)

另一方面,生物的大脑具有结构和连接,这两者都是生物基因构成的产物(来自其祖先的“东西”)和自己的经验。例如,用于确定神经元之间连接强度的主要算法在生物的生命周期中使用Hebbian逻辑(即,一起火,一起连线)(早期,我猜,因为算法通常具有“随着时间的推移,冷却“因素最大限度地降低了改变事物的能力”。目前尚不清楚该模型是否包含某种形式的拉马克进化,其中一些高级行为[直接]通过基因传递,而不是[可能]每一代都重新释放(在一些基因传递的间接基础上)结构)。

ALife和GA之间的显着区别(还有其他人!)就是ALife,重点是以非定向方式观察和培养 ,紧急行为 - 无论它们是什么 - ,例如,当一些生物进化出一种化妆品,提示他们在附近等待一堆绿色食物并等待深绿色生物杀死它们,或者某些生物可能开始彼此合作,例如通过寻求彼此的存在用于除了交配之外的其他目的等。对于GA,重点是关于正在进化的程序的特定行为。例如,目标可以是使程序识别视频图像中的边缘,因此在该特定方向上有利于进化。对于进化而言,更好地执行该任务的个体程序(具有一些“适应度函数”的度量)是有利的。

另一个不太明显但重要的区别在于生物(或GA的程序)的复制方式。有了ALife,个别生物会首先随机找到他们自己的交配伙伴,但是,经过一段时间后,他们可能会学会只展示具有特定属性或行为的生物。另一方面,使用GA,“性别”留给GA框架本身,例如,它选择优先交叉个体

在这种情况下,神经网络(可能)不是任意树。它们可能是具有恒定结构的网络,即相同的节点和连接,因此“繁殖”它们将涉及“平均”节点的权重。您可以平均两个相应网络中每对节点的权重,以生成“后代”网络。或者你可以使用一个更复杂的功能,依赖于更多的相邻节点集–可能性很大。 如果关于固定结构的假设是错误的或无根据的,我的答案是不完整的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top