强化学习

MATLAB强化学习入门——二、网格迷宫、Q-learning算法、Sarsa算法

浪尽此生 提交于 2020-01-19 20:51:33
一、多步决策问题和网格迷宫 上一篇文章里讨论多臂赌机问题是单步最优决策问题的对应模型。而在这之后,则可以考虑离散的多步决策问题。离散的多步决策问题,对应的典型问题模型则是网格迷宫(Grid World)。 前文中,ε-greedy策略,softmax策略的原理及其特点得到了讨论。而这些策略,可以看作智能体应对某一状态时选择动作的方式。策略应用的前提,则是智能体对于动作的优劣有着某种估计(无论正确与否)。 当策略应用到多步决策问题上时,如果想要令同样的策略产生作用并选择动作,就需要对系统所处的每一个状态以及对应动作的优劣进行估计。状态价值函数 V(x) (state value function)以及状态-动作价值函数Q(x,a) (state-action value function)也就应运而生了。 图1 Windy Grid World 网格迷宫问题可以描述为智能主体在一个类似棋盘的离散网格空间中学习到达目标点的最优策略的问题。在普通的网格中增加一些变化,添加影响小球运动的风速,即得到Windy Grid World,如图一。智能体在该情况下的移动,受到时不变的风速影响。 状态价值函数与动作-状态价值函数之间的关系可以用Bellman方程得到,具体可参看[1]或者浙江大学的机器学习MOOC。而在算法的具体实现上,往往仅仅需要动作-状态价值函数,即Q函数。 总的思路是

Deep Reinforcement Learning for List-wise Recommendations

若如初见. 提交于 2020-01-19 19:03:15
论文题目:多个item一起进行推荐的深度强化学习方法 摘要: 推荐系统通过给用户推荐个性化商品,在缓解信息超载或服务这些问题方面起着至关重要的作用。绝大多数传统推荐系统将推荐算法视为静态过程,并且根据固定策略提出建议。在本文中,我们提出一种新颖的推荐系统,该系统具有在与用户互动期间不断改进其策略的能力。我们将用户和推荐系统之间的顺序交互建模为马尔可夫决策过程(MDP),并且用强化学习(RL),在通过推荐一些尝试的item并从用户的反馈中获得对这些item的补充策略。特别是,我们介绍一个在线的用户代理交互环境模拟器,可以在离线预先训练和评估模型参数,然后再上线。此外,我们验证了用户交互期间的用户和智能体之间的关系,并开发出一种新颖的方法将其纳入LIRD框架以获取一段推荐列表的建议。实验结果是基于一个真实的数据,并且显示了我们提出来的框架的有效性。 关键词: 推荐列表的推荐系统,深度强化学习,Actor-Crtic在线环境模拟器。 1:介绍 京东的推荐系统是智能的电子商务应用程序。他们通过建议用户帮助他们完成信息搜索任务,并推荐给他们最适合其需求和偏好的Item(产品,服务或信息)。 推荐系统越来越多近年来很流行,并且已被广泛用于电影,音乐,书籍,兴趣点和社交等领域事件[5,21,22,32–36]。 大多数现有的推荐系统都将推荐过程看做一种如果有固定模型

MATLAB强化学习入门——一、多臂赌机问题

这一生的挚爱 提交于 2020-01-18 21:54:24
零、写在前面 机器学习近几年大火,现在基本上是一个万物均可“机器学习”的状态,本课题组虽然志在航天,亦不可免俗。刚开始了解机器学习,尚觉跟风,真正学了一阵子,才发现其能力非凡。结合自己的方向,觉得强化学习这一块儿联系更大一些,便从这里入手,理解一些基础的东西。最后的目标呢,则是想实现卫星的强化学习三轴姿态控制。 写这一系列的文章,在于记录自己学习强化学习(Reinforcement Learning)的过程,并将自己对强化学习体系的理解文字化,丢在这个树洞里。如果有人看并能指点指点,或者从中有所收益,那么也就没白写。 一、何谓“ 强化学习” 强化学习是一种用于求解时序决策问题(sequential decision problem)的机器学习模型。[1] 从强化学习的建模思想上来看,它模仿了人类学习和决策中不断尝试最终得到最优解的过程。在强化学习的过程中,机器不断尝试不同的解决问题的策略,并根据环境的反馈调整策略,最终得到最优的控制策略。具体的来说,强化学习通过将复杂的空间-时序决策问题描述为马尔可夫决策过程(Markov Decision Process)以实现建模与决策。这样,时序决策问题的描述可以划分为智能主体(agent)和环境(environment)两大主体,并可由以下的多个要素进行描述: ①智能主体A:智能主体即强化学习中的控制主体,能够按照某种策略π(policy)

游戏AI

混江龙づ霸主 提交于 2020-01-17 16:31:00
现在比较流行的游戏角色AI开发方法,无外乎“状态机”和“行为树”两种,而这两种在数据结构上,是可以无损转换的,也就是说本质上是一样。这两个技术,都是为了帮游戏开发者,更准确、更完整的表述AI逻辑判断的数据结构。 而机器学习的程序,就好像录像机一样,可以通过记录我们操控的角色的行为,去学习如何模仿我们的操控。当我们表演的足够丰富后,机器学习就可以完全取代人工的操控,做出一些和预设相同的行为特征。 DeepMind 强化学习教父David Silver 喊出了 AI = DL + RL , 意思就是为了解决这个问题, 我们可以先用监督学习让神经网络学习, 监督学习机器每时每刻都知道正确或者错误, 而后再上强化学习, 这样让机器学习到从当下到未来的战略思考。 强化学习本质上还是一个数学优化优化算法。 它的起初的成功得自一个称为Markov决策的框架。 所谓的马尔可夫, 就像物理把原子看成一个行星轨道模型一样, 是一种对真实问题的霸王硬上弓的强行简化。 三步理解 AlphaStar 背后的黑科技 机器学习能在游戏开发中做什么 来源: https://www.cnblogs.com/losophy/p/10589475.html

强化学习---DQN相关知识及代码实现

随声附和 提交于 2020-01-16 02:04:45
DQN全名为Deep Q-Network,是结合了Q-learning和深度学习网络的一个网络结构模型。 接下来分析DQN的实现流程及细节处理: 一:为什么提出DQN: Q-learning作为传统的强化学习算法,功能强大且好实现,但存在一个致命的弱点,便是,Q-learning需要一个状态转移表,来保存状态及决定下一步的action,但当状态很多时,且可采取的行动较多时,这个表格便会变得异常庞大,且不好维护,不好拟合训练。比如FlappyBird游戏中,训练Bird自动飞行,因为管道跟bird的位置不定,所以存在的状态将会很多。 所以便结合深度学习,使用网络结构,将当前的画面信息作为net的输入,将下一步action作为net的输出,通过计算loss反向传递训练网络。 二:网络构建及数据准备 (1).DQN有两个结构相同的网络,分别为eval_net跟target_net,两个网络结构相同,参数可以互相替换,eval_net是用于训练的网络,为了输出评估值,记作y_eval,target_net是用于输出目标值,记作y_target,在间隔一定迭代训练次数,便将eval_net网络的参数复制给target_net,网络训练loss计算便是y_eval-y_target。 (2).将当前环境信息s输入eval_net,输出Q值,选取对应的action,或者随机生成action

人工智能资源

*爱你&永不变心* 提交于 2020-01-15 04:03:32
人工智能资源下载 #人工智能各类国内外资源2T(含数学基础、机器学习、深度学习、强化学习、深度强化学习等)可以通过添加 (秋秋裙:eight+eight+two+eight+seven+three+nine+one+two)就可以了。 来源: CSDN 作者: qq_janono 链接: https://blog.csdn.net/qq_22799687/article/details/103940975

深度强化学习泡沫及路在何方?

泄露秘密 提交于 2020-01-10 15:52:00
一、深度强化学习的泡沫 2015年,DeepMind的Volodymyr Mnih等研究员在《自然》杂志上发表论文Human-level control through deep reinforcement learning[1],该论文提出了一个结合深度学习(DL)技术和强化学习(RL)思想的模型Deep Q-Network(DQN),在Atari游戏平台上展示出超越人类水平的表现。自此以后,结合DL与RL的深度强化学习(Deep Reinforcement Learning, DRL)迅速成为人工智能界的焦点。 过去三年间,DRL算法在不同领域大显神通:在视频游戏[1]、棋类游戏上打败人类顶尖高手[2,3];控制复杂的机械进行操作[4];调配网络资源[5];为数据中心大幅节能[6];甚至对机器学习算法自动调参[7]。各大高校和企业纷纷参与其中,提出了眼花缭乱的DRL算法和应用。可以说,过去三年是DRL的爆红期。DeepMind负责AlphaGo项目的研究员David Silver喊出“AI = RL + DL”,认为结合了DL的表示能力与RL的推理能力的DRL将会是人工智能的终极答案。 RL论文数量迅速增长[8] 1.1 DRL的可复现性危机 然而,研究人员在最近半年开始了对DRL的反思。由于发表的文献中往往不提供重要参数设置和工程解决方案的细节,很多算法都难以复现

模仿学习(Imitation Learning)概述

爷,独闯天下 提交于 2019-12-30 19:06:56
本篇文章是基于台大李宏毅老师的课程写的,如有疏漏,请看原课程。 https://www.youtube.com/watch?v=rl_ozvqQUU8 1. 什么是模仿学习? 模仿学习(Imitation Learning)也被称为基于演示的学习(Learning By Demonstration)或者学徒学习(Apprenticeship Learning)。 机器是可以与环境进行交互的,但是大部分情况下,机器却不能从这个过程中显示的获得奖励(例外是类似于马里奥之类的游戏,显然获得的分数就是奖励)。奖励函数是难以确定的,人工制定的奖励函数往往会导致不可控制的结果(比如,我想通过强化学习让机器人学会自动抓握物体,如果我设计的奖励函数是机器手与目标物体的距离,机器人可能会通过掀桌子等手段让目标物体靠近机器手,而不是像人类一样抓握)。因此我们考虑让机器学习人类的做法,来使得机器可以去做人类才能完成的事。 模仿学习主要有两种方式:行为克隆(Behavior Cloning)和逆向强化学习(Inverse Reinforcement Learning),接下来我们一一介绍。 2. 行为克隆(Behavior Cloning) 行为克隆是一种十分简单,十分直接的想法。假设我们有许多专家的示例数据,它们以这样的形式出现:<s1,a1>,<s2,a2>,...,<sn,an>,si代表当前的环境

【神经网络与深度学习】从迁移学习到强化学习

前提是你 提交于 2019-12-26 21:57:31
一. 深度学习及其适用范围 大数据造就了深度学习,通过大量的数据训练,我们能够轻易的发现数据的规律,从而实现基于监督学习的数据预测。 没错,这里要强调的是基于监督学习的,也是迄今为止我在讲完深度学习基础所给出的知识范围。 基于卷积神经网络的深度学习(包括CNN、RNN),主要解决的领域是 图像、文本、语音 ,问题聚焦在 分类、回归 。然而这里并没有提到推理,显然我们用之前的这些知识无法造一个 AlphaGo 出来,通过一张图来了解深度学习的问题域: 2016年的 NIPS 会议上,吴恩达 给出了一个未来 AI方向的技术发展图,还是很客观的: 毋庸置疑,监督学习是目前成熟度最高的,可以说已经成功商用,而下一个商用的技术 将会是 迁移学习(Transfer Learning),这也是 Andrew 预测未来五年最有可能走向商用的 AI技术。 二. 迁移学习(举一反三的智能) 迁移学习解决的问题是 如何将学习到知识 从一个场景迁移到另一个场景? 拿图像识别来说,从白天到晚上,从 Bottom View 到 Top View,从冬天到夏天,从识别中国人到 识别外国人…… 这是一个普遍存在的问题,问题源自于你所关注的场景缺少足够的数据来完成训练,在这种情况下你需要 通过迁移学习来实现 模型本身的泛化能力 。 借用一张示意图(From:A Survey on Transfer Learning

机器学习-深度学习-强化学习

旧街凉风 提交于 2019-12-26 21:57:08
仅供学习使用 机器学习的核心,从数据中自动学出规律。 深度学习是一个框架,受到了人工神经网络的启发。 深度学习模型: 更加强大的表达能力、具备层次表示能力、全局的泛化能力、迁移学习能力 机器学习领域的两个大类: 有监督学习 D=(X,y) 学习X->y的学习关系 数据既有特征,又有标签。 学习映射关系。 线性映射关系、非线性映射关系。 svm 无监督学习 D=(X) 寻找X中的特征或者规律 营销领域,给用户分类。个性化营销 聚类k-means 强化学习 AlphaGo 常见的机器学习算法 监督学习 线性回归、逻辑回归(分类问题)、朴素贝叶斯、决策树、随机森林、SVM、神经网络 无监督学习 PCA、K-means、GMM、LDA 矩阵分解、xgboost 区别: 回归问题:输出数连续数值,例如:股价、温度、身高、气温 分类问题:输出是类别,例如:阴晴、好坏。图像识别、文本分类。类别之间没有大小关系 区别概念: 特征、标签、样本 标量、向量、矩阵、张量 机器学习建模流程: 数据源 数据预处理:去噪、填补空白、数据对齐 特征工程:Feature Engine 建模 验证 端到端的方法:跳过特征工程,直接用数据预处理到建模 强化学习 一种学习策略,和遗传算法同范畴吧。(个人理解) 来源: https://www.cnblogs.com/xuehuiping/p/11694965.html