有没有一种编程语言可以编译成(大)神经网络?

时间:2013-02-18 16:51:08

标签: compiler-construction programming-languages artificial-intelligence neural-network

我刚才想到这一点,也许应该(或者已经是)编程语言实际上编译成一个大的神经网络,理想情况下,它可以很好地扩展到并行计算并具有一些其他NN特定优势,就像学习一样。

应该是可能的,正如我前一段时间发现的一篇论文所示。人们为pascal编写了一个编译器(称为jaNNet),编译成神经网络。它似乎有很多局限性,但在递归方面效果不佳:

http://blob.lri.fr/publication/tcs.pdf

是否还有其他项目试图为神经网络中的设计特定语言编写编译器?

我也在考虑嵌入式优化功能等功能。所以我可以写一个“模块”,我指定一些输入和一些输出,并定义一个描述模块适应性的函数,因此编译器(以及后来的运行时)可以不断优化“模块”。

这些模块应该很容易插在一起,形成一个更大的程序。显然,ifs和loop,变量和函数等语句应该是可能的。

我想知道是否没有这样的东西,因为我认为这会让机器人和更大的AI项目的开发变得更容易或者更快。

另一个问题我问自己,在并行执行和性能方面,这样一个编译过的程序是否可以击败传统程序。

1 个答案:

答案 0 :(得分:1)

我从来没有听说过用于开发人工神经网络的编程语言。在我看来,您可能想要的不是一种成熟的编程语言,而是一种特定于域的语言。使用完整的编程语言,您必须处理输入和输出以及程序控制等。为了获得theseNeurons feedForwardTo thoseNeurons的好处,需要做很多工作。

对于大多数实现语言来说,OTOH是一种特定于域的语言,难以单独编译到GPU,我认为这是针对ANN特定语言的巨大(潜在)胜利(也就是说,ANN是一个很好的匹配高度并行的体系结构,但GPGPU和其他高性能编程技术非常专业)。