我目前正在尝试用C++编写一个扮演炸弹人的人工智能,我想用CNTK将其实现为神经网络(强化学习)。该工具包有很多教程和示例,甚至有一个用于强化学习,但它是用python编写的,我不知道。
有没有使用CNTK教授强化学习的实用C++示例或教程?
我最关心的第一个问题是如何使用CNTK C++ api创建模型。
我正试图通过Keras,Python的强化学习来训练一个关于玩Tic脚趾的神经网络。当前,网络获取当前板的输入:
array([0,1,0,-1,0,1,0,0,0])
1 = X
-1 = O
0 = an empty field
如果网子赢了一场比赛,它的每一次动作(输出)都会得到奖励。[0,0,0,0,1,0,0,0,0],如果网输了,我想用坏的奖励训练它。[0,0,0,0,-1,0,0,0,0]
但是目前我得到了很多0.000e-000的精确性。
我能训练一个“坏的奖励”吗?或者如果不能用-1来做它,我应该怎么做呢?
提前谢谢。
我只是在没有神经网络的情况下实现了Q-学习,但我仍然坚持用神经网络实现它们。
我将给您一个伪代码,显示我的Q-学习是如何实现的:
train(int iterations)
buffer = empty buffer
for i = 0 while i < iterations:
move = null
if random(0,1) > threshold:
move = random_move()
else
move = n
我正在为一个大学项目开发一个简单的游戏,使用统一。这个游戏利用机器学习,所以我需要TensorFlow来建立一个神经网络( NN ),根据神经网络的预测来完成游戏中的某些动作。
特别是我的学习方法是强化学习。我需要监视用C#编码的环境中的状态和回报,并将它们传递给用Python编码的NN。然后,来自Python代码的预测应该被发送回环境到C#代码。
可悲的是,我很困惑如何让C#和Python进行交流。我在网上读了很多书,但什么也帮不了我。有人能澄清我的想法吗?谢谢。