您知道是否有人尝试将高级编程语言(java、c# 等)编译成递归神经网络,然后对其进行演化?
我的意思是包括内存使用在内的整个过程都存储在神经网络的图形中,我说的是复杂程序(考虑自然语言处理问题)。
当我说神经网络时,我指的是传播激活的有向加权图,节点是其输入的函数(线性、S 形和乘法以保持简单)。
此外,这是人们在遗传编程中的意思还是有区别?
最佳答案
神经网络并不是特别适合演化程序;他们的优势往往在于分类。如果有人尝试过,我还没有听说过(考虑到我几乎不接触神经网络,这并不奇怪,但我目前活跃于通用 AI 领域)。
神经网络对生成程序没有用的主要原因是它们基本上代表一个数学方程(数字,而不是函数)。给定一些数字输入,你会得到一个数字输出。在比简单算术更复杂的程序上下文中很难解释这些。
遗传编程传统上使用 Lisp ,这是一种纯函数式语言,程序通常以 TreeMap 的形式显示(有时看起来类似于某些神经网络图 - 这是您混淆的根源吗?)。通过在程序之间交换树的整个分支(函数及其所有参数)或随机重新生成整个分支来进化程序。
关于这两个主题肯定有很多好的(也有很多不好的)引用资料——我没有列出它们,因为不清楚你真正感兴趣的是什么。维基百科涵盖了这些技术中的每一种, 并且是一个很好的起点。
关于neural-network - 有没有人尝试过将代码编译成神经网络并对其进行进化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097144/