Skip to main content
 首页 » 编程设计

neural-network之原型(prototype)神经网络

2024年12月31日16dflying

根据您的经验,哪种方法是实现人工神经网络原型(prototype)的最有效方法?很多关于 R 的炒作(免费,但我没有使用它)或 Matlab(不是免费的),另一种可能的选择是使用像 C++/Java/C# 这样的语言。这个问题主要针对那些试图测试一些神经网络架构或学习算法的人。
如果您选择使用与上述三种不同的编程语言,您能否告诉我它们的名称以及有关您选择的一些解释(除了:这是我所知道的唯一/最常用的语言)。
谢谢。

请您参考如下方法:

由于科学家大量使用神经网络,而不是程序员,因此选择一种针对科学家并为神经网络提供良好库的编程语言。

Python 是一个合理的选择,因为它被科学家广泛使用。开始的两个发行版是

http://www.pythonxy.com/

http://code.enthought.com/

这些 Python 发行版包括许多不在标准 Python 库中的附加模块,但它们对于科学家所做的编程类型非常有用。搜索 Python 包索引会出现一些神经网络包,如果您只是学习神经网络,这些包可能没问题。

http://pypi.python.org/pypi?:action=search&term=neural&submit=search

但是,如果您正在认真使用神经网络,您将需要快速神经网络库之类的东西。它带有 Python 绑定(bind),因此您可以在 Python 中进行编程,使用各种 Python 模块进行绘图、可视化、数据操作等。但是,您的神经网络将使用 FANN 库中经过优化的编译代码运行。两全其美的。

换句话说,要运行实际的神经网络代码,您需要 C,而不是 Java。由于 C 库不能很好地与 Java 集成,因此请选择一种能够与 C 库顺利集成的语言。 Python 做到了这一点,而且比 Java 更高效,因为解释算法所需的代码行数要少得多。有些人发现生产力比 Java 提高了 10 倍。

您提到 R,可能是因为它具有您需要使用的统计功能,或者您有可以编写 R 代码的人。同样,选择 Python 还是 R 并不是一个非此即彼的决定。您可以同时使用两者。

RPY 库允许 Python 程序访问 R 库和代码。使用它,您可以用 Python 编写主程序,并将 R 视为提供库的工具,就像您使用用 C 编写的 FANN 库一样。

https://rpy2.github.io/

还有另一个名为 RSPython 的模块可以双向工作,因此 R 程序可以访问用 Python 编写的库。如果您有专业的 R 程序员帮助您,这将很有用。

http://www.omegahat.org/RSPython/

这还不是全部。您可以利用 Python 来简化 Java 编程。如果您有 Java 神经网络引擎,您仍然可以使用在 Java VM 上运行并允许您在代码中使用任何 Java 库和类的 Jython 版本在 Python 中编写大部分程序。您仍然可以使用快速 FANN 库,因为它们为 Java 程序提供绑定(bind)。

我为你的工作推荐 Python 的主要原因是它被大量科学家使用,这就是为什么有两个面向科学的发行版可用的原因。第二个原因是 Python 对新手程序员来说很容易上手,在探索神经网络时,您可能会从更简单的模拟开始,然后通过更多的数据处理和结果分析来处理更复杂的模拟。 Python 将允许你建立自己的代码库,成为一名专家级的 Python 程序员,这样你就可以将更多的注意力集中在神经网络问题上。如果您使用一点 Java、一点 C++ 和一点 R,那么您将能够在神经网络上花费更少的时间。这种策略可能适合那些想从事编程职业的人,但不适合想通过神经网络取得一些重大成果的人。

即使您的神经网络工作扩展到专门的硬件,即所谓的神经形态芯片,您仍然可以利用 Python,正如 NIH 的这篇论文所展示的那样:

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701676/