我正在做一个简单的学习模拟,屏幕上有多个有机体。 他们应该学习如何吃,使用他们简单的neural network。 他们有4个神经元,每个神经元激活一个方向的运动(从鸟的angular度来看,这是一个2D平面,所以只有四个方向,因此需要四个输出)。 他们唯一的投入是四个“眼睛”。 当时只有一只眼睛是活跃的,它基本上是指向最近物体(绿色食物块或另一个生物体)的指针。 因此,networking可以这样想像: 而一个有机体看起来是这样的(理论上和实际的模拟,他们真的是他们周围的红色块): 这就是这一切的样子(这是一个旧版本,眼睛仍然没有工作,但它是相似的): 现在我已经描述了我的一般想法,让我来谈谈问题的核心。 初始化 | 首先,我创造了一些生物和食物。 然后,他们的neural network中的所有16个权重被设置为随机值,如下所示:weight = random.random()* threshold * 2。 阈值是描述每个神经元为了激活(“火”)需要多lessinput的全局值。 通常设置为1。 学习 | 默认情况下,neural network中的权重每步降低1%。 但是,如果某些有机体真的设法吃东西,最后积极的投入和产出之间的联系就会加强。 但是,有一个很大的问题。 我认为这不是一个好的方法,因为他们实际上并没有学到任何东西! 只有那些初始权重随机设定为有益的人才有机会吃东西,只有他们的权重才会加强! 那些关系不好的人呢? 他们会死的,而不是学习。 我如何避免这种情况? 想到的唯一的解决办法是随机增加/减less权重,以便最终有人会得到正确的configuration,并偶尔吃东西。 但是我觉得这个解决scheme非常简单和丑陋。 你有什么想法? 编辑:谢谢你的答案! 他们中的每一个都非常有用,有些则更加相关。 我决定使用以下方法: 将所有权重设置为随机数。 减less重量随着时间的推移。 有时随机增加或减less一个重量。 单位越成功,权重就会变得越less。 新 当生物体吃东西时,增加相应input和输出之间的权重。
有人可以向我解释如何更新反向传播中的偏见吗? 我读过不less书,但是找不到更新! 我明白,偏见是一个额外的input1附加一个权重(每个神经元)。 必须有一个公式。 谢谢, @msw 最有趣的。 谢谢,我认为有两点好处:1.“如果你省略偏置项,那么具有最常用的隐层激活函数的多层感知器的”通用逼近“属性并不成立,但是Hornik(1993)没有偏差的通用逼近性质的充分条件是没有激发函数的导数在原点处消失,这意味着在通常的S形激活函数中,可以使用固定的非零偏差项而不是可训练的偏差。 2.可以像其他权重一样学习偏差项。“所以我要么join一个”恒定的权重“,要么像使用梯度下降一样训练这个权重。 我理解对吗?
对方有什么不好的地方呢? 我理解他们所做的理论,但他们在实际应用中的局限性和能力又是什么? 我正在考虑Drools vs一个新的AI项目的java prolog,但是打开其他的build议。 推理复杂关系数据集或替代方法的一些stream行方法是什么?
我正在研究一个更高阶的定理certificate,其中统一似乎是最困难的子问题。 如果Huet的algorithm仍然被认为是最先进的,那么是否有任何人有任何解释的链接,这些链接是由程序员而不是math家来理解的? 或甚至任何它在哪里工作的例子和通常的一阶algorithm都没有?
任何好的教程与源将演示如何开发neural network(步湾台阶的傻瓜;-))
我一直着迷于机器学习的主题,直到我决定教自己如何去做。 所以我在网上发表了斯坦福大学提供的课程。 但是,我对它所包含的math的数量感到震惊。 那么,我应该能够理解机器学习algorithm的math背景是什么呢? 是否有任何图书馆能够抽象出所有的math知识,并着重于devise一个能够学习的软件?
我在学校使用了几个AIalgorithm,我发现人们使用Fuzzy Logic这个词来解释他们可以解决的情况。 当我回到书籍上时,我只是读了一下,而不是一个从“开”到“关”的状态,这是一条对angular线,在两个状态中,可以是不同的“等级”。 我已阅读维基百科条目和几个教程,甚至编程的东西,“使用模糊逻辑”(边缘检测器和单轮自控机器人),我仍然发现从理论到代码非常混乱。对你来说,在较不复杂的定义中,什么是模糊逻辑?
我一直喜欢AI和演化algorithm的想法。 不幸的是,大家都知道,这个领域在最初几乎没有像预期那样快速发展。 我正在寻找的是一些有“哇”因素的例子: 以意想不到的方式改编的自主学习系统。 特别活跃的游戏代理商制定了意想不到的策略 符号表示系统,实际上产生了一些有意义和有见地的输出 有趣的多代理系统中的紧急行为。 我们不要深入定义AI的语义。 如果它看起来或听起来像AI,让我们听听 。 我会先从1997年的故事开始 。 Adrian Thompson博士尝试使用遗传algorithm在FPGA中创build语音识别电路。 几千年后,他成功地让设备区分“停止”和“去”语音命令。 他检查设备的结构,发现一些有效的逻辑门与电路的其余部分断开连接。 当他禁用这些所谓无用的门,电路停止工作… 编辑 我们是否可以尝试并将讨论延伸到产生令人印象深刻的技术/algorithm? 我可以谷歌,如果我想了解数以千计的AI技术, 在早期阶段,但显示承诺 。
我今天在想什么可能是有史以来最复杂/令人印象深刻的应用程序。 于是我开始思考我对日常使用的数据库感到舒适。 然后,我进入了未知的领域(对我们大多数人来说), 政府 。 我只能想象NASA应用程序的复杂性,使它们能够与火星上的漫游者进行通信。 但是后来我开始考虑自从我还是小孩以来每天都在使用的东西, 游戏 。 不是一个游戏开发者,这给我的想象带来了大量关于AI和计算复杂性的问题,这个问题超出了我所能想到的。 游戏是最复杂/令人印象深刻的应用?
我所看到的所有关于neural network的例子都是针对图像和固定长度数据的固定input。 你如何处理可变长度的数据,如句子,查询或源代码? 有没有办法将可变长度数据编码成固定长度的input,仍然可以得到neural network的泛化特性?