简而言之:神经网络是否可以实时响应用户输入?
想象一个小游戏,游戏世界由一些实体组成,这些实体接收周围环境的输入,并通过神经网络生成输出以实现生存。这些实体应该具有一定的能力去杀死并吞噬其他实体,以延长饥饿倒计时,从而尽可能长时间地生存下去。
解决这个问题的一个简单方法是使用遗传算法来改进神经网络,并找到一组生存能力增强的实体(在这种情况下是适应性)。
现在,如果用户能够控制其中一个实体,系统就会崩溃,因为用户显然会因为实体的神经网络没有针对用户行为进行训练而智胜它们。可以通过让用户多次重玩游戏直到神经网络适应这种行为来实现,但这对于我的目标来说过于繁琐和耗时。
因此我的问题是:是否有可能提高神经网络的学习速度,使其能够足够快地响应用户输入,让用户感觉到变化的发生?或者是否有其他方法让学习型AI根据用户的实时行为进行改进?
回答:
从根本上讲,这个问题的答案是肯定的,即“可以非常快速地操作神经网络。”即使是大型神经网络,本质上处理的也是更新一组浮点数,这对于现代硬件来说几乎不构成挑战。
所以在你的问题主体中提到了学习速度,但同样,从根本上讲,我们仍然在讨论浮点算法:现在为了纳入你的学习规则而变得更加复杂,但仍然可能比人类的感知速度快得多。
所以我认为你真正面临的问题可能是“是否有可能实时生成训练数据?”这个问题在没有更多详细信息的情况下很难回答。为了更好地训练你的神经网络,需要什么?是必须重新运行一个复杂的模拟,还是只需调整一些输入参数就足够了?
当你说你使用遗传算法来生成神经网络的权重时,我怀疑你是在谈论更大的数据集和复杂的测试,以便创建一组“更好”的基于神经网络的实体。那么,是否有可能在人类感知时间内完成所有这些?这要困难得多,特别是因为开始有意义的解决方案是将计算分布在多台机器上(例如,Hadoop),但这无疑会进入秒级,而不是毫秒级的时间范围。