![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
强化学习 笔记
观看莫凡强化学习教程的笔记
Lezvin
这个作者很懒,什么都没留下…
展开
-
VR+强化学习 格斗游戏相关文献资料
整体思路:自训练AI -> 玩家键盘接入交互 -> 搭虚拟环境 -> 体感交互(Kinect) -> VR设备+体感交互对手Agent模块设计:这块主要用强化学习来做存在的问题:AI强度设置(已有相关论文研究AI强度适宜问题) 【见另一个文档】主要需要关心:玩家的舒适/满意度FightingICE核心思想:设置一个Balancing Constant(平衡常数)值,在格斗游戏中,这个值往往设置成双方生命量的差异。观测参数设置:物理空间...原创 2020-11-28 10:43:47 · 992 阅读 · 1 评论 -
深度学习 学习笔记 AlexNet优化
https://blog.csdn.net/u011268787/article/details/84926246https://blog.csdn.net/u011268787/article/details/85043511class AlextNet(nn.Module): def __init__(self, in_channel, n_class): super(AlextNet, self).__init__() # 第一阶段 s原创 2020-11-15 17:28:22 · 872 阅读 · 0 评论 -
深度学习 学习笔记六
理论:1.网络优化递度下降:批量递度下降(BGD)、随机梯度下降(SGD)、小批量递度下降(MBGD)批量递度下降(BGD):优点:一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。 由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,BGD一定能够得到全局最优。缺点:当样本数目 m 很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。从迭代的次数上来看,BGD迭代的次数相对较少。其迭代的收敛曲线示意...原创 2020-11-10 21:42:40 · 2188 阅读 · 0 评论 -
深度学习 学习笔记五
理论:前馈神经网络的问题卷积的作用和卷积的运算https://www.cnblogs.com/shine-lee/p/9932226.html函数角度:从这个角度看,多层卷积是在进行逐层映射,整体构成一个复杂函数,训练过程是在学习每个局部映射所需的权重,训练过程可以看成是函数拟合的过程。模板匹配角度:即认为卷积核定义了某种模式,卷积(相关)运算是在计算每个位置与该模式的相似程度,或者说每个位置具有该模式的分量有多少,当前位置与该模式越像,响应越强。一维...原创 2020-11-08 13:05:19 · 1184 阅读 · 0 评论 -
深度学习 学习笔记四
理论:激活函数:为什么要用激活函数:线性转为非线性,如果不运用激活函数,输出信号仅仅是一个简单的线性函数,此时神经网络就是一个线性回归模型,无法学习和模拟如图像、语言等复杂数据。深度学习前期用到的激活函数有Sigmoid和Tanh,后期有Relu、LeakyRelu、pRelu、Elu、softplushttps://blog.csdn.net/u013289254/article/details/98472343特点:Sigmoid 函数可以把输入的值映射到0到...原创 2020-11-07 22:43:22 · 306 阅读 · 0 评论 -
深度学习 学习笔记三
1.回归和分类都是有监督学习问题嘛?分类与回归,这两者都属于监督学习的范畴,都是学习的方法。之所以会去两个不同的名字,就是因为其对应的输出值形式不同,仅此而已。对于回归任务其输出值是连续的实数值,而对于分类任务其输出值为离散的类别数。因此这两者的本质是一样的,仅仅是输出形式不同而已。当然由于其输出形式不同,在构建误差函数(就是监督系统中的使得盒子往正确答案发展的驱动装置)时会有区分,这里对于分类和回归的误差函数的设计不多做介绍,后续会单独聊一聊。链接:https://www.jiansh...原创 2020-11-05 18:03:51 · 1002 阅读 · 0 评论 -
深度学习 学习笔记二
理论:1.线性判别函数和决策边界线性判别函数若分属于ω1,ω2的两类模式可用一方程d(x) =0来划分,那么称d(x) 为判别函数,或称判决函数、决策函数。一个线性分类模型(Linear Classification Model)或线性分类器(Linear Classifier),是由一个(或多个)线性的判别函数f(x,w)= wTx+b和非线性的决策函数g(·)组成。两类分类(Binary Classification)的类别标签y只有两种取值,通常可以 设为{+1,−1}。在两...原创 2020-11-04 18:26:53 · 774 阅读 · 0 评论 -
AI强度相关的研究:康复游戏中难于调整的多周期强化学习
通常,治疗游戏的难度级别由治疗师手动调节。 但是,基于家庭的康复游戏需要用于自动难度调整的技术。 本文提出了一种针对康复游戏的个性化难度调整技术,该技术可根据患者的技能实时自动调节难度设置。 为此,强化学习的思想被用来动态调整游戏的难度。 我们表明难度调整是一个多目标问题,其中一些目标可能在不同时期进行评估。 为了解决这个问题,我们提出并使用多周期强化学习(MPRL),使您可以在不同的时期评估难度调整的不同目标。 实验结果表明,MPRL的用户满意度参数优于传统的多目标强化学习(MORL),并且提高了患者的运原创 2020-10-30 20:37:33 · 738 阅读 · 1 评论 -
AI强度相关的研究:MCTS 蒙特卡洛树搜索 Monte Carlo Tree Search
提供具有挑战性的人工智能对手是使视频游戏令人愉悦和身临其境的重要方面。 太简单或反之太难的游戏可能会让玩家感到沮丧或无聊。 动态难度调整是一种方法,旨在通过为对手提供量身定制的挑战来改进传统的难度选择方法,从而使挑战对玩家来说处于最佳水平。 这项研究使用蒙特卡洛树搜索(Monte Carlo Tree Search)方法对三种不同的动态难度调整方法进行了玩家评估,并评估了它们对玩家享受度,真实感和感知难度的影响,尤其是调查了采用不同赢/输比例的影响 通过动态难度调整,使得玩家能获得最大的欢乐。背景2原创 2020-10-28 22:16:58 · 277 阅读 · 0 评论 -
深度学习 学习笔记一
数学基础logistic函数logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。Sigmoid 是常用的非线性的激活函数,可以将全体实数映射到(0, 1)区间上,其采用非线性方法将数据进行归一化处理;sigmoid函数通常用在回归预测和二分类(即按照是否大于0.5进行分类)模型的输出层中。优点:...原创 2020-10-21 22:12:24 · 1181 阅读 · 0 评论 -
AI强度相关的研究:Balancing Constant
AI强度相关的研究:Balancing Constant我们旨在创建一个具有两个同时要针对的隐性目标的Agent:学习如何玩游戏,同时学习如何与玩家保持联系以维持游戏的发展。RL任务的关键部分是我们如何根据学习者在环境中的行为来奖励或惩罚学习者。 为了解决游戏的平衡问题,奖励功能必须预见Agent在游戏环境中的行为(例如,如何移动或如何战斗)以及平衡本身(如何不比玩家差或好得多)。 因此,我们提出了一个基于游戏的奖励功能,该功能包括一个平衡常数,旨在指出Agent如何成为玩家的公平对手。这样,他原创 2020-10-20 17:49:02 · 114 阅读 · 0 评论 -
游戏里常见的动态难度调节机制(DDA, dynamic difficulty adjustment)
原作者:Caleb Compton在上周的文章中,我探讨了一些游戏中最有趣也最常见的隐藏机制。然而,有一类隐藏机制相比之下更加多样化且普遍——调整游戏难度和平衡的机制。这些机制被总称为动态难度调节(dynamic difficulty adjustment,下文简称DDA)。DDA是电子游戏根据玩家水平调整游戏难度的过程。若玩家表现优秀,游戏将加大难度和挑战。相反,若玩家打得很吃力,游戏可能会降低难度帮玩家度过难关。DDA分为短期和长期两种。短期DDA与游戏的随机数生成器挂钩,目的是为了防止玩家转载 2020-10-10 11:33:47 · 5170 阅读 · 0 评论 -
蒙特卡洛树搜索 Monte Carlo Tree Search
什么是 MCTS?全称 Monte Carlo Tree Search,是一种人工智能问题中做出最优决策的方法,一般是在组合博弈中的行动(move)规划形式。它结合了随机模拟的一般性和树搜索的准确性。MCTS 受到快速关注主要是由计算机围棋程序的成功以及其潜在的在众多难题上的应用所致。超越博弈游戏本身,MCTS 理论上可以被用在以 {状态 state,行动 action} 对定义和用模拟进行预测输出结果的任何领域。基本算法基本的 MCTS 算法非常简单:根据模拟的输出结果,按照节点构造搜索树转载 2020-10-08 17:29:11 · 3881 阅读 · 0 评论 -
A3C & DPPO
A3CAsynchronous Advantage Actor-Critic一句话概括 A3C: Google DeepMind 提出的一种解决 Actor-Critic 不收敛问题的算法. 它会创建多个并行的环境, 让多个拥有副结构的 agent 同时在这些并行环境上更新主结构中的参数. 并行中的 agent 们互不干扰, 而主结构的参数更新受到副结构提交更新的不连续性干扰, 所以更新的相关性被降低, 收敛性提高.DPPO根据 OpenAI 的官方博客, PPO 已经成为他们在强化学习原创 2020-09-26 20:03:13 · 647 阅读 · 0 评论 -
Policy Gradients & Actor Critic
Policy Gradients直接输出概率Policy gradient 是 RL 中另外一个大家族, 他不像 Value-based 方法 (Q learning, Sarsa), 但他也要接受环境信息 (observation), 不同的是他要输出不是 action 的 value, 而是具体的那一个 action, 这样 policy gradient 就跳过了 value 这个阶段. 而且个人认为 Policy gradient 最大的一个优势是: 输出的这个 action 可以是一个连续原创 2020-09-26 20:02:14 · 393 阅读 · 0 评论 -
DQN & Double DQN
Deep Q NetworkQ-Learning + DL问题:情况太多,Q表格存不下Experience replay: 有一个记忆库,可以记忆之前的经历,每次更新时可以随机抽取之前的经历进行学习Fixed Q-targets:有两个神经网络分别预测Q现实和Q估计包含:记忆库(用于重复学习)神经网络计算Q值暂时冻结q_target参数(切断相关性,更有效率的收敛) q_target (Q现实)现实中的值需要建立...原创 2020-09-26 19:59:43 · 347 阅读 · 0 评论 -
Sarsa & Sarsa(λ)
Sarsa和Q-Learing的区别:更新方式不同Q Learing 估计出来的下一个action不一定会走,但是sarsa一定会走import numpy as npimport pandas as pdclass RL(object): def __init__(self, action_space, learning_rate=0.01, reward_decay=0.9, e_greedy=0.9): self.actions = action_原创 2020-09-26 19:55:29 · 233 阅读 · 0 评论 -
强化学习 基础分类
几大要素:StateActionRewardmlagents-learn D:\ML-Agent\ml-agents-master\config\sac\Fight.yaml --env=D:\ML-Agent\Training\ml-selfplay-fighter --run-id=firstRunModel-Free RL 不理解环境(只能一步一步走)Model-Based RL 理解环境(能通过想象预判情况)基于概率和价值分类基于概率(...原创 2020-09-26 19:46:05 · 131 阅读 · 0 评论 -
Q-Learning
Q table#一维探索者import numpy as npimport pandas as pdimport timenp.random.seed(2) # reproducibleN_STATES = 6 # the length of the 1 dimensional world 有多少种状态ACTIONS = ['left', 'right'] # available actions 有两个可以选的动作EPSILON = 0.9 # ...原创 2020-09-26 19:48:53 · 99 阅读 · 0 评论