在tensorflow.js上加强深度神经网络机器学习:技巧

从头开始训练深度神经网络并非易事。

学习需要大量数据和时间,但是一些技巧可以帮助加快过程,下面我将讨论这些过程。

使用技巧演示简单迷宫的通过。 网络培训时间:1小时06分钟。 记录加速了8倍。


对于每个任务,您需要开发自己的技巧,以加快网络学习。 我将分享一些技巧,这些技巧可以帮助我更快地训练网络。

对于理论知识,我建议切换到sim0nsays通道。
我将介绍我在训练神经网络方面取得的不大成功。

问题陈述


通过深度神经网络通过误差的向后传播使二次损失函数最小化来近似收敛函数。

对于如何训练神经网络,我有一个策略选择。
鼓励成功完成任务,或者鼓励您接近完成任务。

我选择第二种方法有两个原因:

  • 网络自己到达终点的可能性很小,因此注定会受到很多负面影响。 这将重置所有神经元的权重,并且网络将无法进行进一步的训练。
  • 深度神经网络功能强大。 我不排除如果我拥有强大的计算能力和大量的培训时间,第一种方法将是成功的。 通过开发技巧,我走了成本最低的道路。

神经网络架构


根据建筑师的经验和好运,正在通过实验开发建筑。

解决问题的体系结构:

  • 3个输入神经元-代理的坐标和传递的细胞的值(我们在0到1的范围内进行归一化)。
  • 2个256和128个神经元的隐藏层(我们减小了朝向网络输出的层的尺寸)。
  • 1层丢弃随机神经元的可持续性学习网络。
  • 4个输出神经元-决定下一步选择哪一侧的概率。
  • 神经元激活功能:乙状结肠。 优化器:亚当。

sigmoid在从0到1的输出范围内给出4个概率,选择最大值,我们得到下一步的边:[jumpTop,jumpRight,jumpBottom,jumpLeft]。

建筑发展


当使用过于复杂的模型时,会发生重新训练。

这是网络记住记忆数据和网络尚未看到的新数据的时候,由于网络没有足够的记忆空间,因此无需寻找一般性信息,因此它将无法正常工作。

缺乏教育-模型不够复杂。 这是网络几乎没有训练数据可以找到概括的时候。

结论:其中的层和神经元越多,训练所需的数据就越多。

比赛场地




游戏规则


0-进入此单元格,代理被销毁。
1..44-值随每个步骤增加的单元格。
代理人走得越远,他将获得更多的回报。
45-完成。 同时,不会进行训练,只有当所有特工都被摧毁时,终点线才是例外,它只是简单地使用已经训练过的网络从迷宫的最开始进行下一次预测。

参数说明


代理从其四个方向都有一个“天线”-它们扮演着环境智能的角色,是对代理坐标和其所处单元格值的描述。

该描述起着预测代理移动的下一方向的作用。 也就是说,代理程序会先扫描下一步,然后随着时间的推移,网络会学会朝着增加像元值的方向移动,并且不会超出允许移动的范围。

神经网络的目的:获得更多奖励。
学习目的:鼓励采取正确的行动,主体越接近解决任务,对神经网络的奖励就越高。

技巧


没有技巧的第一次学习尝试花费了几个小时的培训,结果还远远没有完成。 应用某些技术,仅需一小时零六分钟即可获得结果!

代理循环


在培训期间,网络开始做出决策,来回移动-“使用”问题。 两种举动都给网络带来了积极的回报,这使探索迷宫的过程停止了,并且没有脱离当地的最低要求。

解决方案的第一个尝试是限制代理的移动次数,但这并不是最佳选择,因为代理在自毁之前花了很多时间。 最好的解决办法是,如果特工以比他所站着的价值低的价格去了该牢房,那就是要禁止他朝相反的方向前进。

研究或使用


一个简单的技巧被用来探索代理当前位置周围的路径:在每个步骤中,有5个代理将是“自愿”研究人员。 这些代理的过程将随机选择,而不是通过神经网络的预测来选择。

因此,我们增加了五个代理中的一个将比其他代理更进一步的可能性,并将有助于以更好的结果训练网络。

遗传算法


每个时代,都有500名经纪人参加比赛。 所有代理的预测都以异步模式对所有代理立即执行,此外,将计算委托给gpu。 因此,我们可以更有效地利用计算机的计算能力,从而减少了同时预测500个代理的神经网络的时间。

预测比训练更有效,因此网络有更多的机会以最少的时间和最佳的效果进一步穿越迷宫。

学习最好的一代


在整个时代,对于500名特工,他们在迷宫中前进的结果得以保留。 当最后一个特工被销毁时,从500个迷宫中选出5个最好的特工-到达最远迷宫的人。

基于该时代的最佳结果,将训练神经网络。

因此,我们将通过不保存和不对不推进网络的代理进行网络训练来减少所使用的内存量。

完成时间


由于不是该领域的专家,我在训练神经网络方面取得了一些成功,您将成功-努力吧!

力求比计算机学习更快,同时我们做得更好。

用料


带有代码的存储库
启动浏览器培训
tensorflow.js文档 ,您还可以在其中找到其他学习资源。

书本


  • 深度学习。 沉浸在神经网络世界中
    S. Nikolenko,A。Kadurin,E。Arkhangelskaya
  • 机器学习和TensorFlow
    N·沙克拉
  • 自我学习系统
    S.I. Nikolenko,A.L。Tulupyev
  • 强化训练
    R.S. Sutton,E.G. Barto
  • 自组织卡
    T·科诺宁

感谢您的关注!

Source: https://habr.com/ru/post/zh-CN452612/


All Articles