神经网络在实时应用中

简而言之:神经网络是否可以实时响应用户输入?

想象一个小游戏,游戏世界由一些实体组成,这些实体接收周围环境的输入,并通过神经网络生成输出以实现生存。这些实体应该具有一定的能力去杀死并吞噬其他实体,以延长饥饿倒计时,从而尽可能长时间地生存下去。

解决这个问题的一个简单方法是使用遗传算法来改进神经网络,并找到一组生存能力增强的实体(在这种情况下是适应性)。

现在,如果用户能够控制其中一个实体,系统就会崩溃,因为用户显然会因为实体的神经网络没有针对用户行为进行训练而智胜它们。可以通过让用户多次重玩游戏直到神经网络适应这种行为来实现,但这对于我的目标来说过于繁琐和耗时。

因此我的问题是:是否有可能提高神经网络的学习速度,使其能够足够快地响应用户输入,让用户感觉到变化的发生?或者是否有其他方法让学习型AI根据用户的实时行为进行改进?


回答:

从根本上讲,这个问题的答案是肯定的,即“可以非常快速地操作神经网络。”即使是大型神经网络,本质上处理的也是更新一组浮点数,这对于现代硬件来说几乎不构成挑战。

所以在你的问题主体中提到了学习速度,但同样,从根本上讲,我们仍然在讨论浮点算法:现在为了纳入你的学习规则而变得更加复杂,但仍然可能比人类的感知速度快得多。

所以我认为你真正面临的问题可能是“是否有可能实时生成训练数据?”这个问题在没有更多详细信息的情况下很难回答。为了更好地训练你的神经网络,需要什么?是必须重新运行一个复杂的模拟,还是只需调整一些输入参数就足够了?

当你说你使用遗传算法来生成神经网络的权重时,我怀疑你是在谈论更大的数据集和复杂的测试,以便创建一组“更好”的基于神经网络的实体。那么,是否有可能在人类感知时间内完成所有这些?这要困难得多,特别是因为开始有意义的解决方案是将计算分布在多台机器上(例如,Hadoop),但这无疑会进入秒级,而不是毫秒级的时间范围。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注