Neural network 有人试过把代码编译成神经网络并进化它吗?

Neural network 有人试过把代码编译成神经网络并进化它吗?,neural-network,genetic-algorithm,genetic-programming,Neural Network,Genetic Algorithm,Genetic Programming,你知道有没有人试图将高级编程语言(java、c#等)编译成递归神经网络,然后对其进行进化 我的意思是,包括内存使用在内的整个过程都存储在一个神经网络图中,我在谈论复杂的程序(思考自然语言处理问题) 当我说神经网络时,我指的是扩散激活的有向加权图,节点是它们输入的函数(保持简单的线性、S形和乘法) 此外,这是人们在遗传编程中的意思还是有区别?遗传编程与神经网络非常不同。你的建议更像是基因编程——对程序进行小的随机更改,可能是“培育”成功的程序。这并不容易,我怀疑它能否在一个大型项目中成功完成 您可

你知道有没有人试图将高级编程语言(java、c#等)编译成递归神经网络,然后对其进行进化

我的意思是,包括内存使用在内的整个过程都存储在一个神经网络图中,我在谈论复杂的程序(思考自然语言处理问题)

当我说神经网络时,我指的是扩散激活的有向加权图,节点是它们输入的函数(保持简单的线性、S形和乘法)


此外,这是人们在遗传编程中的意思还是有区别?

遗传编程与神经网络非常不同。你的建议更像是基因编程——对程序进行小的随机更改,可能是“培育”成功的程序。这并不容易,我怀疑它能否在一个大型项目中成功完成

您可能更幸运地提取程序的一个小而关键的部分,这个部分有一些特定的“方面”(如参数值),您可以尝试进行改进


谷歌是你的朋友。

神经网络并不特别适合进化程序;他们的实力倾向于分类。如果有人尝试过,我还没有听说过(考虑到我几乎不接触神经网络,这并不奇怪,但我目前在一般人工智能领域很活跃)

神经网络在生成程序中不起作用的主要原因是它们基本上代表了一个数学方程(数值的,而不是函数的)。给定一些数字输入,就会得到一个数字输出。在一个程序的上下文中,很难解释这些,比简单的算术更复杂

遗传编程传统上使用的是一种纯函数式语言,通常程序通常显示为树形图(有时看起来类似于某些神经网络图-这是你困惑的根源吗?)。程序是通过在程序之间交换树的整个分支(函数及其所有参数)或随机重新生成整个分支来进化的


当然,这两个主题都有很多好的(和很多不好的)参考资料——我不想列出它们,因为不清楚你真正感兴趣的是什么。维基百科涵盖了这些技术中的每一种,是一个很好的起点。

一些复杂的反病毒程序以及复杂的恶意软件使用正式语法和遗传算子,通过神经网络相互进化

以下是关于该主题的示例文件:


资料来源:几年前我上了一堂关于人工智能的课。

关于你的主要问题,据我所知,从来没有人在编程语言上尝试过,但在进化计算领域,有一门课可以与之相比(但这显然是一个牵强的比较)。出于可能的兴趣,我刚才问了一个关于改进编译器的问题

要了解遗传算法和遗传编程之间的区别,请参阅

神经网络与遗传算法或遗传编程无关,但很明显,你可以用它们来进化神经网络(就像其他任何事情一样)。

你可以看看他们声称在哪里发现了一些由遗传编程产生的接近人类的竞争结果


我以前从未听说过自我进化和自我改造项目。它们可能存在于像genetic-programming.org这样的特殊研究工具中,但却没有任何可靠的通用工具。即使它们存在,它们也非常局限于特殊用途的操作,如阿兰提到的恶意软件检测。

Java不是函数式编程语言。@SLaks如果你是这样使用它的,它可以是。它不是一种特别方便的函数式编程语言(有些人认为它也不是一种特别方便的面向对象语言),但它肯定不会禁止您使用函数式编程。您可能混淆了您的术语。当你说“Functional”时,你是指组织成方法(通常称为“functions”)的语言吗?或者你是说一种被组织成无副作用的一系列转换的语言?我只是指像java这样的高级语言。我会改变它。我不同意/不理解:你可以有许多输出神经元,并以你喜欢的方式解释它们……如果你有足够的输出单元,你可以对数组进行排序。当然,我也检查了wikipedia和google先开始,但没有得到足够的信息。@Uri当然,有足够的神经元,你可以做任何事情,这就是背后的理论。但是,实际的限制(RAM、时间)防止这些被实现。如果你对发展命令式语言而不是函数式语言感兴趣,你可能想研究语法的发展。如果你对发展NN中的程序感兴趣,你很可能超出了现有的研究范围,这意味着你必须尝试一下,看看会发生什么(然后写下来,让下一个感兴趣的人知道它是否有效).我知道它们是不同的,但我的建议和遗传编程之间有区别吗?如果我能用神经网络模拟编程的基本操作,为什么不能全部编程?据我所知,你建议的是神经网络之上的遗传算法。也就是说,后者进化了前者。因此从某种意义上说,这是遗传编程的一个应用,但下面有一个神经网络并不是“典型的”。