多目标的强化学习教程-两篇均有代码

1 https://flyyufelix.github.io/2017/11/17/direct-future-prediction.html 有代码

Direct Future Prediction - Supervised Learning for Reinforcement Learning

2 原文https://www.oreilly.com/ideas/reinforcement-learning-for-complex-goals-using-tensorflow,

建议 这一段参考原文

This new formulation changes our neural network in several ways. Instead of just a state, we will also provide as input to the network the current measurements and goal. Instead of Q-values, our network will now output a prediction tensor of the form [Measurements X Actions X Offsets]. Taking the product of the summed predicted future changes and our goals, we can pick actions that best satisfy our goals over time:

量子位的中文翻译:

https://mp.weixin.qq.com/s/XHdaoOWBgOWX7SrOemY4jw 有代码

论文:

The output of the network is a prediction of future measurements for each action, composed by

summing the output of the expectation stream and the normalized action-conditional output of the

action stream:DEp = hp a 1 , . . . , p a w i = A 1 (j) + E(j), . . . , A w (j) + E(j) .

for i in range(action_size):
    action_stream = Dense(measurement_pred_size, activation='relu')(concat_feat)
    prediction_list.append(merge([action_stream, expectation_stream], mode='sum'))
def get_action(self, state, measurement, goal, inference_goal):
    """
    Get action from model using epsilon-greedy policy
    """
    if np.random.rand() <= self.epsilon:
        #print("----------Random Action----------")
        action_idx = random.randrange(self.action_size)
    else:
        measurement = np.expand_dims(measurement, axis=0)
        goal = np.expand_dims(goal, axis=0)
        f = self.model.predict([state, measurement, goal]) # [1x6, 1x6, 1x6]
        f_pred = np.vstack(f) # 3x6
        obj = np.sum(np.multiply(f_pred, inference_goal), axis=1) # num_action

        action_idx = np.argmax(obj)
    return action_idx

原文发布于微信公众号 - CreateAMind(createamind)

原文发表时间:2018-02-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术专栏

Spark SQL/Hive调优

任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。 ...

6292
来自专栏全球人工智能的专栏

TensorFlow 的 c ++ 实践及各种坑!

本文重点介绍 tensorflow C++ 服务化过程中实现方式及遇到的各种问题。

3.6K2
来自专栏深度学习入门与实践

【深度学习系列】关于PaddlePaddle的一些避“坑”技巧

最近除了工作以外,业余在参加Paddle的AI比赛,在用Paddle训练的过程中遇到了一些问题,并找到了解决方法,跟大家分享一下: ---- PaddlePa...

4216
来自专栏AILearning

使用GPU

支持的设备 在典型的系统中,有多个计算设备。在TensorFlow中,支持的设备类型是CPU和GPU。它们被表示为strings。例如: "/cpu:0":...

1985
来自专栏Python小屋

Win10系统配置Python3.6+OpenGL环境详细步骤

1、首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的文件 ? 2、解压缩,如下图所示...

4237
来自专栏何俊林

【独家】一种手机上实现屏幕录制成gif的方案

前言:一直以来,很多做apk演示效果时,通过图片的方式,总是没有看起来那样炫丽和灵动。如果能在手机上,直接通过录制屏幕,而变成gif。那可是省去了好多时间。进而...

2317
来自专栏章鱼的慢慢技术路

在Unity场景中控制日夜的轮转

1466
来自专栏CreateAMind

多目标的强化学习教程-两篇均有代码

1242
来自专栏GIS讲堂

dojo chart生成函数

1113
来自专栏和蔼的张星的图像处理专栏

DSP图像处理

最近着手把CSK移植到DSP中,先看一些DSP中图像处理的一些例子,第一件事当然就是怎么把图像数据倒入CCS工程中了,去年倒是用过一点CCS,再拿起来已经忘得差...

2422

扫码关注云+社区

领取腾讯云代金券