我一直想尝试制作一个控制游戏的神经网络。 我非常接近我的目标,但我觉得我已经搞砸了! 我得到的价值与我期待的相当接近。但是有一个问题......
我决定尝试使用Flappy Bird概念...... 我目前有3个输入。
1)地面高度(越接近1)
2)距离 到屏幕顶部最近的墙
3)...屏幕底部。
3个隐藏的神经元和一个输出。
当它到达下墙时会跳跃。但是当它到达上墙时它也会跳跃。因此,在蹲下来的时候击中它。
我的问题是,是否有某种方法可以将这种跳跃转变为滴眼液? 或者你们中的任何一个人怀疑我可能会在哪里开始寻找? 1)我知道我的sigmoid功能有问题。我不知道如何写它实际上。它说
f(x)= 1 /(1 + e ^ x)
我可以用数字或东西交换e吗?这个角色是什么?我从未在物理数学中听说过它......
衍生品实际上看起来更容易。 但这是正确的公式,对吗?
fd(x)= f(x)*(1 - f(x))
答案 0 :(得分:0)
功能
f(x) = 1 / (1 + e^(-x))
只是阶梯函数的近似值,也是可微分的。
(其中e
是自然对数。)
你可以找到一些神经网络玩Flappy Bird的例子。 For example,这个开发人员似乎只使用2个输入,2个隐藏和1个输出。他的输入似乎只是与顶壁的距离和到底壁的距离。
我认为这是比你的3个输入更好的解决方案 - "距屏幕底部的距离"可能不是一个有效的功能。
注意:这还取决于您计算每个墙的距离。