Compiler construction 有没有专门为编译成(大型)神经网络而设计的编程语言?

Compiler construction 有没有专门为编译成(大型)神经网络而设计的编程语言?,compiler-construction,programming-languages,artificial-intelligence,neural-network,Compiler Construction,Programming Languages,Artificial Intelligence,Neural Network,我在不久前就想到了这一点,也许应该(或者已经)有一种编程语言可以编译成一个大的神经网络,在理想情况下,它可以很好地扩展到并行计算中,并具有一些其他特定于神经网络的优势,比如学习 这应该是可能的,正如我不久前发现的一篇论文所示。人们为pascal编写了一个编译器(称为jaNNet),可以编译成神经网络。它似乎有很多限制,并且不能很好地与递归一起工作,但是: 有没有其他项目尝试为神经网络设计的特定语言编写编译器 我还想到了一些功能,比如嵌入式优化功能。因此,我可以编写一个“模块”,其中我指定了一些

我在不久前就想到了这一点,也许应该(或者已经)有一种编程语言可以编译成一个大的神经网络,在理想情况下,它可以很好地扩展到并行计算中,并具有一些其他特定于神经网络的优势,比如学习

这应该是可能的,正如我不久前发现的一篇论文所示。人们为pascal编写了一个编译器(称为jaNNet),可以编译成神经网络。它似乎有很多限制,并且不能很好地与递归一起工作,但是:

有没有其他项目尝试为神经网络设计的特定语言编写编译器

我还想到了一些功能,比如嵌入式优化功能。因此,我可以编写一个“模块”,其中我指定了一些输入和一些输出,并定义了一个描述模块适用性的函数,因此编译器(以及后来的运行时)可以不断优化“模块”

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

我想知道是否没有这样的事情,因为我认为这将使机器人和更大的人工智能项目的开发更加容易,或者至少更快


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

我从未听说过用于开发人工神经网络的编程语言。在我看来,您可能需要的不是一种成熟的编程语言,而是一种特定于领域的语言。使用一种完整的编程语言,你必须处理输入、输出和程序控制等问题。要想从说出
这些神经元反馈给这些神经元的好处,需要做大量的工作


OTOH,对于大多数实现语言来说,领域特定语言很难单独编译到GPU,我认为这是ANN特定语言的巨大(潜在)优势(也就是说,ANN非常适合高度并行的体系结构,但GPGPU和其他高性能编程技术非常专业).

也许可以使用GPGPU或类似的DSL作为目标?理想情况下,您希望DSL使用非常终端用户友好的语言,如Ruby或Python,但能够生成非常专用的高性能代码。这不是实现DSL的正常用例。但我想,我实际上是想一种传统的编程语言,不仅设计了一个ANN,而且可以用来编写普通程序,比如C++或java。主要是因为我“猜”。人工神经网络的并行性、学习部分在程序中的容易集成以及良好的平台无关性,都是一个很好的优势。让我知道这是否是一个坏主意,或者为什么这太困难或不必要。设计和实现一种编程语言是一个非常有价值的挑战,但不是一项容易的任务。很少有语言能在更广泛的受众中“流行”。我认为DSL将是一个更容易的项目,并且有更好的机会被广泛使用。但别让我阻止你雄心勃勃!