• 等级
  • 234757 访问
  • 72 原创
  • 9 转发
  • 13538 排名
  • 94 评论
  • 185 获赞

强化学习实践一:Tic-Tac-Toe游戏

这里给出一个简单的强化学习例子Tic-Tac-Toe。这是一个简单的游戏,在一个3x3的九宫格里,两个人轮流下,直到有个人的棋子满足三个一横一竖或者一斜,赢得比赛游戏结束,或者九宫格填满也没有人赢,则和棋。这个例子的完整代码在我的github。例子只有一个文件,很简单,代码首先会用两个电脑选手训练模型,然后可以让人和机器对战。当然,由于这个模型很简单,所以只要你不乱走,最后的结果都是和棋,当然...

2019-01-14 16:48:08

David Silver强化学习公开课(五):不基于模型的控制

某种程度上来说,这个课程所有的内容最后都会集中于本讲内容,通过本讲的学习,我们将会学习到如何训练一个Agent,使其能够在完全未知的环境下较好地完成任务,得到尽可能多的奖励。本讲是基础理论部分的最后一讲,本讲以后的内容都是关于实际应用强化学习解决大规模问题的理论和技巧。本讲的技术核心主要基于先前一讲以及更早的一些内容,如果对先前的内容有深刻的理解,那么理解本讲内容将会比较容易。 简介In...

2018-11-19 19:41:43

强化学习笔记 - 00 - 术语和数学符号

基本概念Agent-本体。学习者、决策者。Environment-环境。本体外部的一切。 -状态(state)。一个表示环境的数据。 -所有状态集合。环境中所有的可能状态。 -行动(action)。本体可以做的动作。 -所有行动集合。本体可以做的所有动作。-状态的行动集合。本体在状态下,可以做的所有动作。 -奖赏(reward)。本体在一个行动后,获得的奖赏。 -所有...

2018-11-13 22:36:21

David Silver强化学习公开课(四):不基于模型的预测

简介Introduction通过先前的讲解,我们明白了如何从理论上解决一个已知的MDP:通过动态规划来评估一个给定的策略,并且得到最优价值函数,根据最优价值函数来确定最优策略;也可以直接进行不基于任何策略的状态价值迭代得到最优价值函数和最优策略。从本讲开始将花连续两讲的时间讨论解决一个可以被认为是MDP、但却不掌握MDP具体细节的问题,也就是讲述如何直接从Agent与环境的交互来得到一个...

2018-11-13 16:08:18

David Silver强化学习公开课(三):动态规划寻找最优策略

本讲着重讲解了利用动态规划来进行强化学习,具体是进行强化学习中的“规划”,也就是在已知模型的基础上判断一个策略的价值函数,并在此基础上寻找到最优的策略和最优价值函数,或者直接寻找最优策略和最优价值函数。本讲是整个强化学习课程核心内容的引子。 简介Introduction动态规划算法是解决复杂问题的一个方法,算法通过把复杂问题分解为子问题,通过求解子问题进而得到整个问题的解。在解决子问...

2018-10-31 09:44:19

David Silver强化学习公开课(二):马尔科夫决策过程

在强化学习中,马尔科夫决策过程(Markovdecisionprocess,MDP)是对完全可观测的环境进行描述的,也就是说观测到的状态内容完整地决定了决策的需要的特征。几乎所有的强化学习问题都可以转化为MDP。本讲是理解强化学习问题的理论基础。 马尔科夫过程MarkovProcess 马尔科夫性MarkovProperty某一状态信息包含了所有相关的历史,只要当前...

2018-10-29 09:10:13

David Silver强化学习公开课(一):简介

本讲是对于强化学习整体的一个简单介绍,描述了强化学习是什么,解决什么问题,大概用什么样的方式来解决问题。介绍了强化学习中常用的概念。这些概念非常重要,贯穿于整个强化学习始终,但是在这一讲,读者仅需对这些概念有个初步的印象。 引子强化学习在不同领域有不同的表现形式:神经科学、心理学、计算机科学、工程领域、数学、经济学等有不同的称呼。强化学习是机器学习的一个分支:监督学习、无监督学习、...

2018-10-24 20:27:55

Ray: Scheduling and Actor placement

Ray是面向增强学习场景的分布式计算框架,相关介绍参考博客。本篇文章主要对Ray中remote函数的调度以及Actor抽象的放置进行介绍。 一、Remote函数的调度1.Remote函数的定义Remote函数时Ray分布式计算中的核心概念,一般如下所示:@ray.remotedefadd(a,b):returna+bid_c=add....

2018-10-24 19:26:53

Docker学习笔记(十二):Docker Swarm

1.什么是DockerSwarm?容器集群管理工具。通过dockerswarm可以将多台机器连接在一起,通过swarm的调度可以服务的多台机器的部署,服务的伸缩。 2.DockerSwarm使用入门1)节点初始化(manager节点)dockerswarminit--advertise-addr<server_ip>说明:init命令初...

2018-09-03 10:24:58

Docker学习笔记(十一):Docker Compose

1.什么是DockerCompose?编排和配置容器集群的工具。编排:定义被部署的对象的各组成部分之间的耦合关系,部署流程中各个动作的执行顺序,部署过程所需要的依赖文件和被部署文件的存储位置和获取方式,以及如何验证部署成功。这些信息都会在编排工具中以指定的格式定义并保存下来,从而保证这个流程可以在新的环境中快速的复现。 2.DockerCompose安装下载docker...

2018-09-03 10:05:10

Docker学习笔记(十):Docker Machine

1.什么是DockerMachine?DockerMachine是一个工具,它可以帮你在虚拟主机安装docker,并且通过docker-machine相关命令控制主机。你可以用dockermachine在mac、windows、单位的网络、数据中心、云提供商(AWS或DigitalOcean)创建docker主机。 通过docker-machinecommands,你能启...

2018-09-03 09:33:01

Docker学习笔记(九):Docker +Jenkins +Github持续集成

本次配置时,jenkins需要配置在外网可访问的服务器上,因为在gitpush内容到github时,触发Webhooks并推送到jenkins服务器上。 1.配置Github(通过秘钥登录)生成秘钥:ssh-keygen-trsa-b4096-C"1248741476@qq.com"在github设置密钥(公钥):将公钥id_rsa.pub里的内...

2018-08-28 22:40:12

Ray:评估代码性能

本文档适用于想要了解如何在Ray上运行时评估其代码性能的Ray用户。分析代码的性能对于确定性能瓶颈或找出可能无法正确并行化的代码的位置非常有用。如果你有兴趣查明为什么你的Ray应用程序可能无法实现预期的加速,仔细阅读本文。 一个基础分析示例尝试分析一个简单的例子,并比较编写简单循环的不同方式会如何影响性能。作为计算密集且可能运行比较慢的函数的代表,我们将远程函数定义为只睡眠0.5秒...

2018-08-28 10:39:08

TensorFlow: A System for Large-Scale Machine Learning

简介TensorFlow是一种机器学习系统,可在大规模和异构环境中运行。TensorFlow使用数据流图来表示计算,共享状态以及改变该状态的操作。它将数据流图的节点映射到集群中的多台机器上,并且单台机器上跨多个计算设备,包括多核CPU,通用GPU和定制设计的ASIC,称为张量处理单元(TPU)。这种架构为应用程序开发人员提供了灵活性:在以前的“参数服务器”设计中,共享状态的管理内置于系统中,T...

2018-08-24 09:38:54

Jenkins ---- 持续集成工具

Jenkins相关概念jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java,c#,php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket...

2018-08-21 09:50:36

Docker学习笔记(八):Dockerfile相关操作

1.利用Dockerfile创建镜像什么是Dockerfile?定义:Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义镜像。基本结构:Dockerfile由一行行的命令语句组成。并且支持以#开头的注释行。一般Dockerfile分为四个部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时的指令。 Dockerfile示例:...

2018-08-16 23:18:19

Docker学习笔记(七):docker网络

1.容器对外服务(以mysql为例)当容器内运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射。使用-P映射时,Docker会随机映射一个端口至容器内部开放的端口:dockerrun--namemy_mysql-d-eMYSQL_ROOT_PASSWORD=1234-Pmysql:5.6通过dockerps可以看到端...

2018-08-14 20:27:47

Docker学习笔记(六):数据卷的相关操作

1.数据卷数据卷是一个可供容器使用的特殊目录,有如下特性:1)数据卷可以在容器之间共享和重用2)数据卷修改会立即生效3)数据卷的更新不会影响镜像4)如果有容器使用数据卷,该卷会一直存在 在容器内创建数据卷在使用dockerrun命令时,使用-v标记可以在容器内创建一个数据卷,并可以指定挂在一个本地已有的目录到容器中作为数据卷:dockerrun-d...

2018-08-14 16:56:54

CIEL : a universal execution engine for distributed data-flow computing

简介本文介绍了CIEL,一种用于分布式数据流程序的通用执行引擎。与以前的执行引擎一样,CIEL掩盖了分布式编程的复杂性。与那些系统不同,CIEL作业可以做出与数据相关的控制流决策,这使它能够计算迭代和递归算法。 我们还开发了Skywriting,一种直接在CIEL上运行的图灵完整脚本语言。执行引擎为Skywriting脚本和用其他编程语言编写的高性能代码提供透明的容错和分发。我们在云...

2018-08-13 19:59:01

Docker学习笔记(五):创建私有仓库和仓库加速

1.DockerHub仓库是集中存放镜像的地方。目前Docker官方仓库维护了一个公共仓库。大部分需求都可以通过在DockerHub中直接下来镜像来实现。用户无需登录可以通过dockersearch命令来查找官方仓库中的镜像,并利用dockerpull下载到本地,可以通过dockerpush命令将本地镜像推送到dockerhub。 2.创建和使用私有仓...

2018-07-27 20:49:52

xl.zhang

熟悉JAVA的WEB编程、大数据编程和分布式机器学习。
关注
  • 计算机软件
  • 中国 江苏省 南京市
奖章
  • 专栏达人
  • 1024勋章