如何选择人工网络的输入?

时间:2013-09-09 15:23:23

标签: algorithm artificial-intelligence supervised-learning

作为任务的一部分,我必须实施一种学习方法,使扫雷人员能够避免与地雷相撞。我可以选择监督/无监督/强化学习算法。

我记得在我的一个讲座中,讲师提到ALVIN。他在教人工神经网络。

由于我正在寻找的行为或多或少与ALVINN类似,我想实现一个ANN。我之前已经实现了一个ANN来解决3-parity xor问题,这里是my solution。我从未真正理解人工神经网络的直觉。

我想知道,我的人工神经网络的输入是什么?在3parity xor问题的情况下,很明显。

2 个答案:

答案 0 :(得分:1)

鉴于它在现实世界中取得的成功,ALVIN似乎是一个很好的系统,以此为基础!当您链接到的页面进行讨论时,ALVIN基本上会收到前方道路的图像作为其输入。在较低的水平上,这通过表示30X32像素图像的960个输入节点来实现。每个节点的输入值是该节点表示的像素的颜色饱和度(0表示完全白色图像,1表示完全黑色图像,或沿着这些线表示的东西)(我很确定图片是灰度的,虽然他们现在可能正在使用颜色,例如,可以通过每个像素使用三个输入节点来实现,一个表示红色饱和度,一个表示绿色,一个表示蓝色。您是否有理由认为这对您的系统来说也不是一个好的输入?

有关更多低级详细信息,请参阅the original paper.

答案 1 :(得分:1)

对于ANN的框架,每个人都有自己的偏好。我最近使用Encog框架来实现图像处理项目,并发现它很容易实现。

现在,在你的问题陈述中,“一种让扫雷人员避免与地雷相撞的学习方法”是一个非常广泛的范围。什么确实是你对人工神经网络的投入?您必须根据它是在真实机器人上还是在模拟环境中实现来决定输入。

可以清楚地推断,如果你试图实现像ALVIN这样的东西,可以排除无监督学习。

在模拟环境中,最佳选择是基于模拟传感器数据以某种方式形成环境的网格图。然后机器人周围的占用网格可以形成机器人ANN的良好输入。

如果无法形成网格图(如果数据不足),则应尝试将所有可用且相关的传感器数据提供给ANN。但是,它们可能必须进行预处理,具体取决于仿真环境给出的建模传感器噪声。如果您有摄像头输入(如ALVIN型号),那么您可以直接跟随他们的脚步并训练您的人工神经网络。

如果这是一个真正的机器人,那么选择会有很大差异,具体取决于稳健性和准确性要求。我真的希望你不要单手建立一个强大的,准备好现场的扫雷艇。 :)对于一个小型的受控环境,您的选项将与模拟环境的选项非常相似,但是传感器噪音会更加糟糕,您必须在各种特殊情况下将其计入您的任务规划器中。尽管如此,建议将一些其他传感器(LRF,超声波等)与视觉传感器融合,并将其用作计划器的输入。如果没有别的可用,请复制粘贴ALVIN系统,只需要前置摄像头输入。

ANN培训方法将类似(如果仅使用愿景)。输出将是右/左/直等。首先尝试使用5-7个隐藏层节点,因为这是ALVIN使用的。最多可将其增加到8-10。应该管用。正确使用激活功能。