用于制作人工智能程序的语言是什么?

发布时间:2018-12-18 作者:jasonli

这取决于方法和AI科学家。

有些人专注于机器学习技术,(广义上讲)采用统计和数据挖掘方法。然后,他们可能会使用适合此类计算的编译语言来使用一些现有的库(或自己编写代码),例如C ++,Java(可能与OpenCL或GPUDU的CUDA混合使用)。他们可能想要使用一些数据库。在某种意义上,数据比代码更重要:人工神经网络可以简单地在几千行中编码(并且有许多库用于此),但其大部分性能由其网络和神经元上的系数给出,两者都是数据。

其他人保持一种更具象征意义的方法(有时被贬义地称为GOFAI - 好老式的AI-,但请参阅McDermott的论文和J.Pitrat的博客,以获得有趣的反驳)。然后,Common Lisp或Prolog等编程语言非常适合。

最后,有些人(特别是J.Pitrat,还有D.Lenat)认为AI需要一种自举方法。然后,语言的选择不再重要。他们正在构建他们的AI系统,有点像花哨的编程语言实现,不断发展(语言规范及其实现)。因此,他们系统地使用元编程方法(可以与机器学习技术相结合)。他们的系统在生成大多数(或有时全部)其的可执行文件(和C或C ++或Java或Lisp的“源”)代码,他们可能使用一些编译器(以避免处理低级别,机器特定,编译器优化方面)或一些JIT库。然后,生成的代码中使用的编程语言无关紧要(可能是C,C ++,Java,JVM字节码,LLVM字节码等)。他们不断改进他们的AI系统,用更好,更具声明性的重新制定来替换它的一部分,并让系统再次重新生成自己的代码。

AI目前的“最佳努力”基于“人工神经网络”。

神经网络非常简单 - 你可以在几百行代码中用几乎任何编程语言构建一个。

聪明不在编程中,而在于如何将神经网络与完整的解决方案相结合 - 以及如何训练它们。

难度级别来自于你需要大型神经网络的事实 - 而且很多时候,为了从中获得任何有用的东西,你需要一台超级计算机。

目前正在努力通过定制电子设备加速神经网络 - 这使您远离编写实际程序。

目前,在AI工作的人可能正在使用现有的库代码用于神经网络部分 - 并编写相对少量的“胶合逻辑”代码来为其提供训练数据并互连多个神经网络。

毫无疑问,还有其他人在做更多平凡的事情,例如为AI提供用户界面和图形输出 - 但这项工作与AI本身无关。

这几乎可以用任何语言完成。

如果你想进入那个领域 - 你应该学习Python和C ++。但大多数情况下,您需要快速了解神经网络及其使用方式......这与计算机编程完全没有关系。


息息.AI生活.更简单 xixi生活

©2016-2018 成都轻雨科技有限公司 Made in chengdu

蜀ICP备 17039669号-1

更多ai生活 请关注息息公众号