首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DeepMind到底是如何教AI玩游戏的?这篇在Medium上获得1700个赞的文章,把里面的原理讲清楚了

如果激光束摧毁飞船需要10帧画面,我敢肯定你从第9帧就可以预测到第10帧的结果。在进行学习时,你不应将间隔只有几毫秒的两帧看作为互不相关,因为这两帧明显都携带与对方相关的重要信息。...因此,我们选择隔几帧(比如至少4到5帧)观察一下“状态”。我们将之称为连续帧序列,并将一个序列作为一个状态。此外,当人类玩家移动游戏手柄时,数毫秒内游戏手柄通常都保持不动,这会包含到状态中。...这是基于以下直觉:如果下一个时间步长的序列 的最优值 对所有可能的动作 都是已知的,则最优策略是选择最大化 预期值的动作 (1) 假设你处在状态S1,你从表格(第3段有解释)中获知了所有可能动作的Q...在基于模型的强化学习中,常常需要根据用来计算下一状态的“转换矩阵”(给定某一当前状态和动作)以及用于计算奖励的“奖励函数”(给定某一当前状态和动作),来定义这些规则和物理学(physics)。...更确切地说,代理在每kth帧而不是在每一帧观察并选择动作,在跳过的帧中则重复它的最后一个动作。

1.5K60

塔秘 | DeepMind到底是如何教AI玩游戏的?

1 引言 从视觉和语音这样的高维感官输入中直接学习如何控制代理(操作的对象,agent)是强化学习(RL)的一项长期挑战。...如果激光束摧毁飞船需要10帧画面,我敢肯定你从第9帧就可以预测到第10帧的结果。在进行学习时,你不应将间隔只有几毫秒的两帧看作为互不相关,因为这两帧明显都携带与对方相关的重要信息。...因此,我们选择隔几帧(比如至少4到5帧)观察一下“状态”。我们将之称为连续帧序列,并将一个序列作为一个状态。此外,当人类玩家移动游戏手柄时,数毫秒内游戏手柄通常都保持不动,这会包含到状态中。...这是基于以下直觉:如果下一个时间步长的序列的最优值 对所有可能的动作都是已知的,则最优策略是选择最大化 预期值的动作 假设你处在状态S1,你从表格(第3段有解释)中获知了所有可能动作的Q*值,然后选择了...更确切地说,代理在每kth帧而不是在每一帧观察并选择动作,在跳过的帧中则重复它的最后一个动作。

2.5K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用 Java 训练出一只“不死鸟”

    算法整体的架构是 Q-Learning + 卷积神经网络(CNN),把游戏每一帧的状态存储起来,即小鸟采用的动作和采用动作之后的效果,这些将作为卷积神经网络的训练数据。...size, 2) 的矩阵,矩阵的第二个维度就是小鸟 (振翅不采取动作) 对应的收益。...处于 Explore 周期时,我们会根据权重选取随机的动作或使用模型推理出的动作来作为小鸟的动作。训练前期,随机动作的权重会非常大,因为模型的决策十分不准确 (甚至不如随机)。...step 数量设置为 50000,在 observe 周期我们会先向 replayBuffer 中存储 1000 个使用随机动作生成的 step,这样可以使智能体更快地从随机动作中学习。...,为了获得连续四帧的连续图像,我们维护了一个全局的图像队列保存游戏线程中的图像,每一次动作后替换掉最旧的一帧,然后把队列里的图像 stack 成一个单独的 NDArray。

    35320

    UniFormer v2改进升级 | CUENet优化SA注意力,用高效加性注意力机制,加速Transformer落地!

    作为一个预处理步骤,首先识别出有人存在的帧,基于这样的前提:暴力行为只会在有人在场时发生。然后,3D-CNN从过滤后的帧中提取时空特征,并通过softmax层对结果进行分类。...这项工作采用了一种方法,基于帧的颜色、纹理和运动特征,使用颜色直方图、灰度共生矩阵和光流从视频中提取关键帧。...作者选择提取行人,并使用包含行人的最大边界框来空间裁剪视频帧,这样既不会丢失围绕行人的信息,又能通过移除行人不在的环境部分来最大化关注的重要区域。...3.1.2 3D Convolution Backbone 随后,之前模块裁剪的空间视频帧 \mathbf{X}^{\prime} 作为输入传递到3D卷积 Backbone 网络中,在这里使用3D卷积...同样,从表3中可以看出,当使用MEAA代替自注意力时,FLOPs计数减少,表明计算复杂度降低。

    67910

    PaddlePaddle版Flappy-Bird—使用DQN算法实现游戏智能

    V-Q树 注意画红圈中的两个节点,体现了重叠子问题特性。如何理解这个性质呢?...这样做的好处是:当算法收敛的时候,策略 π(a|s) 必然是一个 one-hot 型的矩阵。用数学公式表达如下: ? ▲ 图14....算法收敛时候的策略π 强化学习中的动态规划方法实质上是一种 model-based(模型已知)方法,因为 MDP 五元组是已知的,特别是状态转移概率矩阵 ? 是已知的。...TD方法的解空间搜索过程 有了 TD 的框架,既然我们要求状态值函数 v、状态-行为值函数 q 的最优解,那么是否能直接选择最优的 TD 目标作为 Target 呢?...输入动作 a 是 one-hot,与 output_1 作哈达马积后产生的 output_2 是一个数字,作为损失函数中的 Q(s,a|θ),也就是 y。

    69630

    一种在终端设备上用量化和张量压缩的紧凑而精确的视频理解

    02 背景 此外,YOLO最初是为从图像中检测物体而设计的。目前还不知道如何将其扩展到视频数据分析中,如目标检测和动作识别。递归神经网络(RNN)将其应用于视频数据的序列间建模,取得了巨大的成就。...然而,视频数据的高维输入使得从输入到隐藏层的权重矩阵映射非常大,阻碍了RNN的应用。最近的工作利用CNN来预处理所有视频帧,由于没有进行端到端训练,这些视频帧可能会受到次优权重参数的影响。...在我们分享中,研究者开发了一个RNN框架,使用从YOLO中提取的特征来分析视频数据。针对终端设备上的应用,进一步开发了YOLO的8位量化以及RNN的张量压缩。...Basics of YOLO YOLO将目标检测重新定义为一个信号回归问题,直接从每帧的图像像素到边界框坐标和类概率。卷积网络同时预测多个边界框和这些框的类概率。...我们将讨论如何生成具有8位量化的YOLO模型(即Q-YOLO)。 还开发了一种具有量化的激活,它将实数特征映射a∈[0,1]量化为8位特征映射a q∈[0,1]。

    15020

    Playing Atari with Deep Reinforcement Learning

    在每一个时间步,代理从合法的游戏动作集 中选择一个动作 ,模拟器接收到该动作并修改其内在状态,反映到游戏得分上。...在算法的内循环中,我们将 Q-learning 更新应用于从存储的记忆中随机采样的小批量经验样本 。在执行完经验回放后,代理循 贪婪策略选择并执行一个动作。...在本研究的试验中,算法中函数 将一个状态序列的最后 4 帧进行上述预处理,并堆叠在一起作为 Q-函数的输入。...实验中使用的具体算法和超参数设置如下: 学习率调整:RMSProp 算法 小批量大小: 32 策略:前 1,000,000 帧画面中 线性地从 1 到 0.1 下降;之后保持 0.1(测试时使用...代理只会在每 帧进行观察并选择动作,而不是每一帧,在跳过的帧中重复最近一次选择的动作。

    1.5K31

    在终端设备上部署量化和张量压缩的紧凑而精确的算法

    02 背景 此外,YOLO最初是为从图像中检测物体而设计的。目前还不知道如何将其扩展到视频数据分析中,如目标检测和动作识别。递归神经网络(RNN)将其应用于视频数据的序列间建模,取得了巨大的成就。...然而,视频数据的高维输入使得从输入到隐藏层的权重矩阵映射非常大,阻碍了RNN的应用。最近的工作利用CNN来预处理所有视频帧,由于没有进行端到端训练,这些视频帧可能会受到次优权重参数的影响。...在我们分享中,研究者开发了一个RNN框架,使用从YOLO中提取的特征来分析视频数据。针对终端设备上的应用,进一步开发了YOLO的8位量化以及RNN的张量压缩。...Basics of YOLO YOLO将目标检测重新定义为一个信号回归问题,直接从每帧的图像像素到边界框坐标和类概率。卷积网络同时预测多个边界框和这些框的类概率。...我们将讨论如何生成具有8位量化的YOLO模型(即Q-YOLO)。 还开发了一种具有量化的激活,它将实数特征映射a∈[0,1]量化为8位特征映射a q∈[0,1]。

    18730

    本文教你完美实现深度强化学习算法DQN

    DQN 的伪代码(复制自 Mnih et al. [2015])见算法 1。深度卷积架构提供一个通用机制从图像帧的短历史(尤其是最后 4 帧)中评估 Q 函数的值。...后面两个贡献主要关于如何使迭代的 Q 函数估计保持稳定。 ? 监督式深度学习研究中,在小批量数据上执行梯度下降通常是一种高效训练网络的方式。在 DQN 中,它扮演了另外一个角色。...在环境中的每一步之后,智能体添加经验至内存。在少量步之后(DQN 论文使用了 4 步),智能体从内存中进行小批量随机采样,然后在上面执行 Q 函数更新。...这个例子中两个网络的 Q 值是很相近的,但是各自选择的动作是不同的。在第二帧的场景中,假如智能体没有采取向左移动的动作,球就会掉落,游戏终止。在这个例子中,两个网络的 Q 值差别是很大的。...图 2 展示了在 Breakout 和 Seaquest 中,把和不把生命数损失作为最终状态的区别。在 Breakout 中,使用生命数的结束作为最终状态的学习器的平均分值增长要远快于另一个学习器。

    1.5K70

    视频行为识别检测综述 IDT TSN CNN-LSTM C3D CDC R-C3D

    简单的行为识别即动作分类,给定一段视频,只需将其正确分类到已知的几个动作类别, 复杂点的识别是视频中不仅仅只包含一个动作类别,而是有多个, 系统需自动的识别出动作的类别以及动作的起始时刻。...高斯混合模型建模与聚类建模的对比 K-means是最常用的聚类方法之一,我们的例子中,有N幅图像,每幅图像有x∈Rp×q的特征, 那么所有数据的特征矩阵为X∈Rp×Nq。...视频级框架TSN可以从整段视频中建模动作。 和two-stream一样,TSN也是由空间流卷积网络和时间流卷积网络构成。...但不同于two-stream采用单帧或者单堆帧,TSN使用从整个视频中稀疏地采样一系列短片段, 每个片段都将给出其本身对于行为类别的初步预测,从这些片段的“共识”来得到视频级的预测结果。...通常都是将一整段动作视频进行学习,而事实上这段视频中有一些帧与动作的关系并不大。 因此进行关键帧的学习,再在关键帧上进行CNN模型的建立有助于提高模型效果。 本文达到了93%的正确率吗,为目前最高。

    3.7K41

    组会系列 | 强化学习在目标跟踪中的应用

    今天介绍三篇关于强化学习在目标跟踪中的工作,分别利用强化学习来决策使用的特征,多个跟踪器的切换以及是否更新模板。...Rewards: 奖励函数R(S_{l-1},S_l)反应了采取动作A_l后,从状态S_{l-1}到状态S_l的定位精度提升(或下降),精度采用 IOU 衡量,奖励函数计算如下: 当动作不为 stop...Deep Q-learning:本文使用 value-based 的 DQN 来选择动作,该方法需要学习一个动作-价值函数Q(S_l,A_l), 选择能够使得 Q 最大的动作 A。...termination network 作为 Actor 评估正在使用的跟踪器性能,以决定它是否应该在当前帧终止。...4 小结 以上三种方法分别介绍了利用强化学习来决策使用的跟踪特征,多个跟踪器的切换以及是否更新模板。可以发现,应用的方向基本都是把跟踪方法中某些需要启发式设计的模块换成了强化学习进行智能决策。

    50810

    关于机器学习的知识点,全在这篇文章里了

    机器学习过程: 数据的收集和准备 特征选择 算法选择 参数和模型选择 训练 评估 专业术语: 输入:输入向量x作为算法输入给出的数据 突触:wij是节点i和节点j之间的加权连接,类似于大脑中的突触,排列成矩阵...GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...用当前策略选择动作 重复: 实行动作a并得到奖赏r 采样新的状态s' 用当前策略选择动作a 更新Q(s, a)Q(s, a)+u(r+...sarsa 算法产生了一个非常安全的路线,因为在它的Q的估计中包含了关于动作选择的信息,而Q-learning生成了一条冒险但更短的路线。哪种路线更好由你决定,并且依赖于跌落悬崖的后果有多么严重。...具体算法 如果所有的样本都具有同一标记:返回标记为该类标记的叶子节点。 否则,如果没有剩余特征用于测试:返回标记为最常见标记的叶子节点, 否则:使用公式选择S中具有最大信息增益的特征户作为下一个节点。

    65320

    【收藏】关于机器学习的知识点,全在这篇文章里了

    机器学习过程: 数据的收集和准备 特征选择 算法选择 参数和模型选择 训练 评估 专业术语: 输入:输入向量x作为算法输入给出的数据 突触:wij是节点i和节点j之间的加权连接,类似于大脑中的突触,排列成矩阵...GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...用当前策略选择动作 重复: 实行动作a并得到奖赏r 采样新的状态s' 用当前策略选择动作a 更新Q(s, a)Q(s, a)+u(r+...sarsa 算法产生了一个非常安全的路线,因为在它的Q的估计中包含了关于动作选择的信息,而Q-learning生成了一条冒险但更短的路线。哪种路线更好由你决定,并且依赖于跌落悬崖的后果有多么严重。...具体算法 如果所有的样本都具有同一标记:返回标记为该类标记的叶子节点。 否则,如果没有剩余特征用于测试:返回标记为最常见标记的叶子节点, 否则:使用公式选择S中具有最大信息增益的特征户作为下一个节点。

    46610

    澳门大学讲座教授陈俊龙:从深度强化学习到宽度强化学习 - 结构,算法,机遇及挑战

    再添加一个类似的 Q 矩阵,代表智能体从经验中所学到的知识。矩阵的行代表智能体当前的状态,列代表到达下一状态的可能动作。...依据这个公式,矩阵 Q 中的一个元素值就等于矩阵 R 中相应元素的值与学习变量 Gamma 乘以到达下一个状态的所有可能动作的最大奖励值的总和。...智能体的大脑中现在包含了一个更新后的 Q 矩阵。 对于下一次训练,随机选择状态 3 作为初始状态。观察 R 矩阵的第 4 行,有 3 个可能的动作,到达状态 1,2 和 4。...随机选择到达状态 1 作为当前状态的动作。现在,观察矩阵 R 的第 2 行,具有 2 个可能的动作:到达状态 3 或者状态 5。...现在计算 Q 值:Q(3, 1) = R(3, 1) + 0.8 * Max[Q(1, 2), Q(1, 5)] = 0 + 0.8 *Max(0, 100) = 80,使用上一次尝试中更新的矩阵 Q

    80360

    【干货】关于机器学习的知识点,全在这篇文章里了

    机器学习过程: 数据的收集和准备 特征选择 算法选择 参数和模型选择 训练 评估 专业术语: 输入:输入向量x作为算法输入给出的数据 突触:wij是节点i和节点j之间的加权连接,类似于大脑中的突触,排列成矩阵...GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...用当前策略选择动作 重复: 实行动作a并得到奖赏r 采样新的状态s' 用当前策略选择动作a 更新Q(s, a)Q(s, a)+u(r+...sarsa 算法产生了一个非常安全的路线,因为在它的Q的估计中包含了关于动作选择的信息,而Q-learning生成了一条冒险但更短的路线。哪种路线更好由你决定,并且依赖于跌落悬崖的后果有多么严重。...具体算法 如果所有的样本都具有同一标记:返回标记为该类标记的叶子节点。 否则,如果没有剩余特征用于测试:返回标记为最常见标记的叶子节点, 否则:使用公式选择S中具有最大信息增益的特征户作为下一个节点。

    85010

    干货 | 关于机器学习的知识点,全在这篇文章里了

    机器学习过程: 数据的收集和准备 特征选择 算法选择 参数和模型选择 训练 评估 专业术语: 输入:输入向量x作为算法输入给出的数据 突触:wij是节点i和节点j之间的加权连接,类似于大脑中的突触,排列成矩阵...GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...用当前策略选择动作 重复: 实行动作a并得到奖赏r 采样新的状态s' 用当前策略选择动作a 更新Q(s, a)Q(s, a)+u(r+...sarsa 算法产生了一个非常安全的路线,因为在它的Q的估计中包含了关于动作选择的信息,而Q-learning生成了一条冒险但更短的路线。哪种路线更好由你决定,并且依赖于跌落悬崖的后果有多么严重。...否则,如果没有剩余特征用于测试:返回标记为最常见标记的叶子节点, 否则:使用公式选择S中具有最大信息增益的特征户作为下一个节点。为每一个特征户的可能取值f增加一个分支。

    50941

    1万+字原创读书笔记,机器学习的知识点全在这篇文章里了

    机器学习过程: 数据的收集和准备 特征选择 算法选择 参数和模型选择 训练 评估 专业术语: 输入:输入向量x作为算法输入给出的数据 突触:wij是节点i和节点j之间的加权连接,类似于大脑中的突触,排列成矩阵...GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...用当前策略选择动作 重复: 实行动作a并得到奖赏r 采样新的状态s' 用当前策略选择动作a 更新Q(s, a)Q(s, a)+u(r+...sarsa 算法产生了一个非常安全的路线,因为在它的Q的估计中包含了关于动作选择的信息,而Q-learning生成了一条冒险但更短的路线。哪种路线更好由你决定,并且依赖于跌落悬崖的后果有多么严重。...具体算法 如果所有的样本都具有同一标记:返回标记为该类标记的叶子节点。 否则,如果没有剩余特征用于测试:返回标记为最常见标记的叶子节点, 否则:使用公式选择S中具有最大信息增益的特征户作为下一个节点。

    47720

    一文总结机器学习常见知识点

    机器学习过程: 数据的收集和准备 特征选择 算法选择 参数和模型选择 训练 评估 专业术语: 输入:输入向量x作为算法输入给出的数据 突触:wij是节点i和节点j之间的加权连接,类似于大脑中的突触,排列成矩阵...GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...用当前策略选择动作 重复: 实行动作a并得到奖赏r 采样新的状态s' 用当前策略选择动作a 更新Q(s, a)Q(s, a)+u(r+...sarsa 算法产生了一个非常安全的路线,因为在它的Q的估计中包含了关于动作选择的信息,而Q-learning生成了一条冒险但更短的路线。哪种路线更好由你决定,并且依赖于跌落悬崖的后果有多么严重。...否则,如果没有剩余特征用于测试:返回标记为最常见标记的叶子节点, 否则:使用公式选择S中具有最大信息增益的特征户作为下一个节点。为每一个特征户的可能取值f增加一个分支。

    51810

    Deep Q-Learning 简介:一起玩 Doom

    本文是使用 Tensorflow 的深度强化学习课程的一部分。 上一次,我们了解了 Q-Learning:一种生成 Q-table 的算法,代理使用它来找到在给定状态下采取的最佳动作。...如何处理时间限制问题 为什么我们使用经验回放 DQL 背后的数学原理是什么 如何在 Tensorflow 中实现它 将“深度”添加到 Q-Learning 在上一篇文章中,我们通过 Q-learning...这将是我们深度 Q 学习的架构: ? 这看起来很复杂,但我将逐步解释架构。 我们的 Deep Q 神经网络将一叠四帧作为输入。它们通过它的网络,并为给定状态下可能的每个动作输出一个 Q 值向量。...如果它无法确定物体移动的位置和速度,它又如何做出正确的决定? 使用卷积网络 帧由三个卷积层处理。这些图层允许您利用图像中的空间关系。而且,由于帧堆叠在一起,您可以利用这些帧的一些空间属性。...随机选择一小批元组并使用梯度下降更新步骤从中学习。

    74330

    小白系列(6)| Q-Learning vs. Deep Q-Learning vs. Deep Q-Network

    在强化学习中,目标是随着时间的推移最大化累积奖励,智能体通过反复尝试和错误来选择获取最高奖励的动作。 下图说明了智能体在强化学习中如何与环境进行交互: 以马里奥游戏为例。...Q-Learning中的“Q”代表质量(quality),表示如何通过最大化未来奖励来获得有价值的行动。 作为一种基于模型的算法,Q-Learning不需要了解转移和奖励函数。...作为一种基于值(value)的算法,Q-Learning训练值函数来学习每个状态下哪些动作更有价值,并相应地选择最优动作。...3.2 Q-Learning的工作原理 当智能体暴露于环境中并通过执行不同的动作获得不同的奖励时,值会根据以下方程进行更新: 在这个情况下, 代表当前的Q值, 代表更新后的Q值, 是学习率,...在其最简单的形式中,Q值是一个以状态为行、动作为列的表格(或矩阵)。Q表格被随机初始化,智能体开始与环境进行交互,并测量每个动作的奖励。然后,它计算观察到的Q值并更新Q表格。

    1.3K10
    领券