2009-01-26 112 views
107

我对人工神经网络非常感兴趣,但我正在寻找一个可以开始的地方。什么是学习人工神经网络的好资源?

什么资源在那里,什么是一个好的启动项目?

+0

我假设,人工神经网络?你对哪些领域感兴趣(你将如何应用它:手写,分类,逻辑)? – bias 2009-03-24 19:10:36

+0

我想,逻辑:我正在考虑一个迷宫中的机器人或类似的东西,尝试不同的算法,但是要以网络决定哪个最好的方式等等。 – cbrulak 2009-03-25 22:28:06

+3

在coursera上有一个非常棒的课程,杰弗里Hinton关于神经网络。它从基础开始,以最先进的方法结束,甚至更多。 – alfa 2013-02-08 10:06:27

回答

16

下面是一些神经网络编程的例子。 http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

你可以开始阅读这里: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html

我为我的一部分已经访问过一个关于它的课程,并通过一些文献的工作。

+2

几天前Geocities出现故障,但http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html上有一个存档版本(至少现在...) – RCIX 2009-10-28 02:46:31

28

我强烈推荐由Anoop Madhusudanan在Code Project上出色的系列作品。

他带你通过基本知识了解他们如何在易于理解的方式工作并向您展示如何使用他的brainnet库来创建自己的。

0

我认为一个好的起点永远是Wikipedia。在那里你会发现一些有用的链接到文档和使用神经网络的项目。

10

神经网络是最近几年的一种分支。 支持向量机内核方法更适合更多类的问题,然后反向传播。神经网络和遗传算法捕捉对现代机器学习知之甚少的人的想象力,但他们不是最先进的。

如果您想了解更多关于AI和机器学习的知识,我建议您阅读Peter Norvig的Artificial Intelligence: A Modern Approach。这是对人工智能和大量现代技术的广泛调查。它也覆盖了历史和较旧的技术,并将为您提供AI和机器学习基础知识更完整的基础。尽管如此,神经网络很容易实现。特别是如果你使用遗传算法来确定权重,而不是适当的反向传播。

31

首先,放弃人工神经网络与大脑有任何关系,但与生物神经元网络相似的观点。学习生物学不会帮助你有效地应用神经网络;学习线性代数,微积分和概率论。你至少应该让自己熟悉函数的基本区分,链规则,偏导数(梯度,雅可比行列式和Hessian行列式)以及理解矩阵乘法和对角化。

真的,当你训练一个网络时你正在做的是优化一个大的多维函数(最小化你对网络中每个权重的误差测量),因此对非线性数值优化技术的研究可能证明启发。这是一个广泛研究的问题,在神经网络之外有大量的文献资料,网络上有大量关于数值优化的讲义。首先,大多数人使用简单的gradient descent,但这可能比更细微的方法,如

更慢,效果也更差。一旦你掌握了基本想法,就可以开始在隐藏中试验不同的“挤压”功能增加各种正规化,并进行各种调整,使学习更快。有关“最佳实践”的完整列表,请参见this paper

关于这个问题的最好的书之一是克里斯毕晓普的Neural Networks for Pattern Recognition。在这个阶段它已经很老了,但仍然是一个很好的资源,你通常可以在网上找到大约30美元的二手拷贝。他的新书Pattern Recognition and Machine Learning中的神经网络章节也很全面。对于一个特别好的以实现为中心的教程,see this one on CodeProject.com实现了一种称为卷积网络的巧妙类型的网络,这种网络限制了连接,使得它非常善于学习分类视觉模式。

支持向量机和其他内核方法已经变得非常流行,因为您可以应用它们而不知道自己在做什么,并经常得到可接受的结果。另一方面,神经网络是巨大的优化问题,需要仔细的调整,尽管它们仍然适用于许多问题,尤其是计算机视觉领域的大规模问题。

5

我秒dwf的推荐神经网络模式识别由克里斯主教。虽然,这可能不是起始文本。 Norvig或在线教程(使用Matlab中的代码!)可能会是一个温和的介绍。

一个好的入门项目是OCR(光学字符识别)。您可以扫描文本页面并通过网络输入每个字符以执行分类。 (当然,你必须首先训练网络!)。这在我的研究过程中使用

0

我发现教科书“计算智能”非常有帮助。

4

我可以推荐从哪里开始。我购买了Kevin Gurney的An Introduction to Neural Networks,该书对亚马逊有很好的评论,并声称是“对认知和计算机科学中最重要的主题之一的高度可访问的介绍”。就个人而言,我不会推荐这本书作为开始。我只能理解它的大约10%,但也许只是我(英语不是我的母语)。我将从这个主题看看其他选项。

0

如果你想快速做了解的一个真正的模拟器一些神经网络概念的应用,有在http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main

一个伟大的在线图书(现维基)被称为“计算认知神经科学”这本书是在使用学校作为一本教科书,并带您通过许多不同的大脑区域,从个人神经元到高阶执行功能。

此外,每个部分都增加了已为您准备好的作业“项目”。只需下载,按照步骤操作,并模拟本章讨论的所有内容。他们使用的软件Emergent,虽然有点精简但却非常强大:它是我相信超过10年的工作成果。

上个学期我在一个本科生中经历过这个过程,这很棒。我一步步走过你的每一步

0

我同意其他人说谁学习生物学不是一个好的起点......因为这里有很多不相关的生物学信息。您不需要了解神经元如何重新创建其功能 - 您只需要模拟其操作。我推荐Ray Kurzweil的“如何创造一个心灵” - 它涉及与计算模型相关的生物学方面(通过结合几个输入创建一个相似的神经元,一旦达到阈值就开始射击),但忽略不相干的东西神经元如何将实际输入添加到全局中。 (例如,您只需使用+和不等式与阈值进行比较)

我还应该指出,这本书并不是真正关于“创造一个想法” - 它只关注模式识别/新皮层。自20世纪80年代以来,我一直在讨论这个主题,因此有很多旧的书籍可能包含相同信息的稍微过时的形式。例如,我读过较早的文档,说明视觉系统是一个多层模式识别器。他认为这适用于整个新皮层。另外,用一点盐来预测他的“预测” - 他的硬件估计可能相当准确,但我认为他低估了简单任务的复杂程度(例如驾驶汽车)。当然,他已经看到了很多进步(并成为其中的一部分),但我仍然认为他过于乐观。 AI车能够在90%的时间里成功驾驶一英里的时间与人类可以做到的99.9%相比有很大的区别。我不指望任何人工智能在过去的20年里都不会真正驱使我......(我并不指望在实际赛道上需要'训练'出来的宝马赛车,因为他们并不是真的玩的一样。游戏)

如果你已经有了AI的基本概念以及它是如何建模的,那么最好跳到更技术性的东西。