2

これについては少し前に考えましたが、実際に大きなニューラルネットワークにコンパイルされるプログラミング言語があるはずです(またはすでにあるはずです)。理想的には、並列コンピューティングに非常に適した拡張性があり、学習などのNN固有の利点がいくつかあります。 。

少し前に見つけた論文に示されているように、それは可能であるはずです。人々は、ニューラルネットワークにコンパイルするpascal用のコンパイラ(jaNNetと呼ばれる)を作成しました。ただし、多くの制限があり、再帰ではうまく機能しないようです。

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

ニューラルネットワーク用に設計された特定の言語用のコンパイラを作成しようとする他のプロジェクトはありますか?

組み込み最適化関数などの機能も考えています。したがって、たとえば、いくつかの入力といくつかの出力を指定し、モジュールの適合性を記述する関数を定義する「モジュール」を記述して、コンパイラー(および後でランタイム)が常に「モジュール」を最適化できるようにすることができます。

これらのモジュールは、より大きなプログラムを形成するために簡単に接続する必要があります。明らかに、ifやループ、変数や関数などのステートメントが可能である必要があります。

ロボットやより大きなAIプロジェクトの開発がかなり簡単になるか、少なくとも速くなると思うので、そのようなことはなかったのではないかと思います。

並列実行とパフォーマンスに関して、そのようなコンパイルされたプログラムが従来のプログラムを打ち負かすことができるかどうか、私は自分自身に尋ねます。

4

1 に答える 1

1

ANN を開発するためのプログラミング言語は聞いたことがありません。本格的なプログラミング言語ではなく、ドメイン固有の言語が必要なようです。完全なプログラミング言語では、入出力やプログラム制御などを処理する必要がありますtheseNeurons feedForwardTo thoseNeurons

ドメイン固有言語である OTOH は、ほとんどの実装言語にとって、GPU 向けに個別にコンパイルするのが難しいでしょう。これは、ANN 固有の言語にとって大きな (潜在的な) 勝利だと思います (つまり、ANN は、高度な並列アーキテクチャをサポートしていますが、GPGPU やその他の高性能プログラミング手法は非常に専門的です)。

于 2013-02-18T18:47:43.537 に答える