强化学习(四):基本算法实现 发表于 2017-06-27 | 分类于 强化学习 前面的两篇基本算法博文介绍了强化学习领域最基本算法的原理和适用情况,在这篇博文中,选择时间差分中的四类算法:Q-学习、Sarsa学习、Sarsa(lambda)学习、Q(lambda)学习进行实现,重点关注每类算法在更新和改进Q函数时的不同方式,以及不同算法中资格迹的实现方式。 阅读全文 »
强化学习(三):基本算法 PART 2 发表于 2017-06-22 | 分类于 强化学习 本文介绍求解最优策略的基本算法第二部分:时间差分类算法。时间差分(Temporal Difference)控制算法是在实际场景中应用的最广泛的算法,这得益于它具有的二个特点:时间步上的灵活性、支持在线增量式学习。在基本算法的第一部分中介绍的马尔科夫控制算法最大的两个应用困难在于:它评估和改进算法的周期是episode-by-episode的,而且只适用于episode(场景式)任务,这带来的问题便是策略迭代速度太慢,不能够很好满足大部分实际场景的在线增量式更新需求而且对任务要求有限制。时间差分算法很好的解决了这个问题,它对于Q函数的改进周期是step-by-step的,不限制任务为场景式。其中最简单的Q学习和Sarsa学习均只需要知道后一个状态的Q值便能够更新和改进Q函数,而资格迹的引入使得时间差分更加灵活。 阅读全文 »
强化学习(二):基本算法 PART 1 发表于 2017-06-15 | 分类于 强化学习 本文介绍求解最优策略的基本算法第一部分。当环境能够通过离散的马尔科夫决策过程进行描述时,根据Bellman最优方程,遵循策略评估和策略改进的基本步骤,能够计算或估算出最优策略。动态规划算法是一个理论上完美的模型,它假设环境的状态转移概率分布和回报值函数是已知的,我们通过对其的分析熟悉策略评估和策略改进的基本步骤,然后将这个步骤扩展到无模型情况下的算法,比如马尔科夫控制算法,但是因为其不支持在线的增量式学习,因此限制了它的应用范围。本文分析动态规划和马尔科夫控制算法的前提假设和应用场景,以及各自的优缺点。 阅读全文 »
强化学习(一):基础知识部分 发表于 2017-06-10 | 分类于 强化学习 本文介绍了强化学习与有监督学习、无监督学习的区别和联系,以及它所希望解决的问题。首先介绍强化学习的理论基础:马尔科夫随机过程,在此基础上,建立状态值函数和动作值函数,并根据他们所满足的Bellman方程,介绍求解强化学习问题的基本思路。 阅读全文 »
Long Short-term Memory PART 1 发表于 2017-05-21 | 分类于 深度学习 本篇博客主要介绍针对解决序列预测问题的LSTM模型以及常见的几种应用场景。首先简单介绍时间递归神经网络的结构以及它所具有的不足,然后介绍在长期记忆上更具有优势的LSTM模型的结构,然后通过几个toy question来了解LSTM几种常见的应用场景和Keras下具体的搭建方式以及为什么需要这样来搭建。 阅读全文 »