从PyTorch官方的一篇教程说开去(1 - 初心)

原文在此,喜欢读原汁原味的可以自行去跟,这是一个非常经典和有学习意义的例子,在此向老爷子们致敬 - 

https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html

开源文化好是好,但是“公地的悲哀”这点避不开,很多论文/教程的代码和环境配置,是存在问题的,有些源于依赖库的变迁(上梁不正,python语言自己都不承诺版本向下兼容),有些是以讹传讹,里外里浪费大家的很多时间。

当然,其实也是提醒大家多个心眼,不要只看文章如何 tree new bee,拿到代码先在环境中跑一跑,心里有数了再引用或者转载。

上图自证(图为本地,云上也验证过) - 

第一个问题是,为啥要学习强化学习?(这句话,放到小学考试中应该是病句,很遗憾,这就是咱们国内论文翻译的现状)

因为DeepMind(捎带Google Brain牛B

坦白的说,在2022年openAI横空出世以前10多年,人工智能一块G家才是真正的“遥遥领先”(收购DeepMind) ,你所听说的术语和工具基本只此一家,别无分号。

截至2021年,产品也是为天下先,流量感满满:

        - Google Brain,第一个能识别“猫”的AI,技术栈是监督学习(大约理解为,请一大堆兼职工对海量图片进行疯狂的标记,输出用来培养AI),公开直播在Youtube上面随机视频中找猫;

        这也是今天百度“萝卜快跑”的主要技术栈;

        - 2016,阿尔法go用围棋祭天,法力无边,技术栈是DQN,公开直播对垒世界冠军李世石,搞得我看了好几遍的《棋魂》看不进去了;

        - 2017,Tensorflow,业界CNN标杆,你可以理解为手机里的安卓,浏览器里的Chrome,也是我们本次的教程背后的库;(当然,马斯克的特斯拉不想让G家独大,选择了F家的PyTorch)

        - 2019,AlphaStar联合暴雪,技术栈是DQN,公开直播AI对垒星际争霸2,看完我直接卸载游戏(大家也可以去网上找Replay,感受一下);

        两位对手(下图,虽然不是韩国人,缺少点说服力) - 
        左)虫族选手 TLO,Liquid 战队,Aligulac 世界排名72 。要求虫族选手使用神族/星灵,有点强人所难。
         - 战绩 0:5 全败!
        右)星灵族选手MaNa,波兰第二,单族排名世界第 12,不分种族世界第35,实力在二线职业选手中属于顶尖。
         - 战绩 1:10 唯一胜局来自ai主动削弱!

        - 2019,(开始年份不确定)正式放弃Maven,也就是配合美军的项目;

        - 2021,AlphaFold,AI正式应用于科研第一线;

呃,年纪大了,一不小心就喜欢掉书袋,(¬︿̫̿¬☆),其实故事里面也有一根暗线就是埃隆马斯克(怎么总是你 : How old are you),不过毕竟我们不是纯怀旧帖子,八卦略去不提。

回到技(zhuang)术(bi),这篇教程使用了gymnasium环境(注意,不是gym,gym官方已经不维护,不推荐使用)里面的自带例程,Cate Pole,倒立摆,就是通过向左或向右移动小车来保持杆子的直立。能够在更久的时间或者更多的步数中屹立不倒,是本例的目标,也是最后评估的标准。

这里是直接取得了环境参数用于训练,并不谷歌,谷歌的玩法都是要直接游戏中,标准帧率截图,然后读图取得参数并用于训练。

深度学习的基础是CNN卷积神经网络,也就是把输入参数和输出参数之间,放置一个多层的,用来转换的神经网络。比如这个例子中,就是4个参数/神经输入,转为第一层128个神经,经由第二层的128个神经,最终变换为最后的2个参数输出。

深度学习还应用了其他方法/算法,典型的本例都有涉及,我在这个系列的文章中也都会依次展开,如 -

        1)梯度下降算法,

        2)折扣因子-贪婪算法,

        3)记忆锚(Replay Memory,基于抽帧回放),

        4)策略优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/46347.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效运维:构建全面监控与自动化管理体系

在当今的数字化时代,运维管理已成为企业IT架构中不可或缺的一环。它不仅关乎系统的稳定运行,更直接影响到业务的响应速度、故障处理时间以及客户满意度等多个方面。因此,构建一套全面监控与自动化管理体系,对于提升企业运维效率、…

无人机之多旋翼与固定翼的区别

多旋翼无人机和固定翼无人机是无人机技术中的两种主要形式,各自有独特的优势和应用场景。 一、飞行原理与结构 多旋翼无人机:依靠多个旋翼产生升力来平衡飞行器的重力,通过改变每个旋翼的转速控制飞行器的姿态和平稳,使其能够垂…

PDF文件无法编辑?3步快速移除PDF编辑限制

正常来说,我们通过编辑器打开pdf文件后,就可以进行编辑了。如果遇到了打开pdf却不能编辑的情况,那有可能是因为密码或是扫描件的原因。小编整理了一些pdf文件无法编辑,以及pdf文件无法编辑时我们要如何处理的方法。下面就随小编一起来…

[word] word如何编写公式? #微信#知识分享

word如何编写公式? word如何编写公式?Word中数学公式是经常会使用到的,若是要在文档中录入一些复杂的公式,要怎么做呢?接下来小编就来给大家讲一讲具体操作,一起看过来吧! 方法一:…

stm32学习:(寄存器3)系统架构

时钟系统 时钟树 在STM32中有3种不同的时钟源用来驱动系统时钟(SYSCLK): HSI振荡器时钟(High Speed Internal oscillator,高速内部时钟)HSE振荡器时钟(High Speed External(Oscillator / Clock&#xff…

Ruby爬虫技术:深度解析Zhihu网页结构

在互联网时代,数据的价值日益凸显,尤其是在社交媒体和问答平台如Zhihu(知乎)上,用户生成的内容蕴含着丰富的信息和洞察。本文将深入探讨如何使用Ruby爬虫技术来解析Zhihu的网页结构,并获取有价值的数据。 …

啊?原来你也看环法赛!—VELO Angel Glide坐垫,与你共攀环法荣耀之路!

当七月的热浪席卷赛道,环法自行车赛(Tour de France)的战鼓再次响起,挑战与梦想交织的火花在每一寸赛道上绽放。自1903年首届赛事以来,环法已成为全球最具声望的自行车赛事,吸引着无数顶尖骑手和观众的目光…

c语言程序环境和预处理

test.c(源文件) --> 编译器 --> test.obj(目标文件,在debug里) 链接库和多个目标文件 经过 链接器的处理,最终生成可执行程序.exe 编译阶段 预处理/预编译阶段 :1.头文件的包含 2.define定义符号的替换,并删除定义的符号 3.删除注释 这…

医学影像归档与通讯系统源码,C#PACS源码,涵盖放射、超声、内镜、病理、核医学

医学影像归档与通讯系统(PACS)系统,是一套适用于从单一影像设备到放射科室、到全院级别等各种应用规模的医学影像归档与通讯系统。PACS集患者登记、图像采集、存档与调阅、报告与打印、查询、统计、刻录等功能为一体,有效地实现了…

【保卫花果山】游戏

游戏介绍 拯救花果山是一款玩家能够进行趣味闯关的休闲类游戏。拯救花果山中玩家需要保护花果山的猴子,利用各种道具来防御妖魔鬼怪的入侵,游戏中玩家需要面对的场景非常的多样,要找到各种应对敌人的方法。拯救花果山里玩家可以不断的进行闯…

【开源 Mac 工具推荐之 2】洛雪音乐(lx-music-desktop):免费良心的音乐平台

旧版文章:【macOS免费软件推荐】第6期:洛雪音乐 Note:本文在旧版文章的基础上,新更新展示了一些洛雪音乐的新功能,并且描述更为详细。 简介 洛雪音乐(GitHub 名:lx-music-desktop )…

JavaScript学习笔记(九)

56、JavaScript 类 56.1 JavaScript 类的语法 请使用关键字 class 创建一个类。 请始终添加一个名为 constructor() 的方法。 JavaScript 类不是对象。 它是 JavaScript 对象的模板。 语法: class ClassName {constructor() { ... } }示例:例子创…

C#实现数据采集系统-ModbusTCP查询报文分析和实现、通信实现、测试项目

ModbusTcp的应用 Modbus是工业通信协议中广泛使用的协议,大部分设备都支持。Modbus TCP是一种基于TCP/IP网络的工业通信协议,它是Modbus协议的一种变种,专门设计用于在网络上传输数据。 Modbus TCP/IP保留了Modbus串行协议的数据结构和功能特性,同时利用了TCP/IP网络的高…

什么是 std::ios::sync_with_stdio(false)

介绍 std::ios::sync_with_stdio(false) 是 C 中的一个配置设置,用于控制标准 I/O 流(如 std::cin, std::cout)的行为。这个设置主要用于优化输入输出操作的性能,尤其是在处理大量数据时。 在 C 中,标准流库&#xf…

stm32:CAN通讯

目录 介绍 协议层 CAN的 帧/报文 种类 数据帧 远程帧(遥控帧) 错误帧 过载帧 帧间隔 总线仲裁 stm32的CAN外设 工作模式 测试模式 功能框图 时序 标准时序 例子 环回静默模式测试 寄存器代码 HAL版本 介绍 一种功能丰富的车用总线标…

24暑假算法刷题 | Day15 | LeetCode 110. 平衡二叉树,257. 二叉树的所有路径,404. 左叶子之和,222. 完全二叉树的节点个数

目录 110. 平衡二叉树题目描述题解 257. 二叉树的所有路径题目描述题解 404. 左叶子之和题目描述题解 222. 完全二叉树的节点个数题目描述题解 110. 平衡二叉树 点此跳转题目链接 题目描述 给定一个二叉树,判断它是否是平衡二叉树 平衡二叉树 是指该树所有节点的…

Redis-布隆过滤器(Bloom Filter)详解

文章目录 什么是布隆过滤器 布隆过滤器的优点:布隆过滤器的缺点:其他问题 布隆过滤器适合的场景布隆过滤器原理 数据结构增加元素查询元素删除元素 如何使用布隆过滤器 Google开源的Guava自带布隆过滤器Redis实现布隆过滤器 Redis中配置布隆过滤器Redis…

【echarts】tooltip 增加单位

单个柱子 const data [{value: 1,per: 2},{value: 22,per: 2},{value: 222,per: 3} ];tooltip: {trigger: axis,show: true,axisPointer: {type: line,lineStyle: {color: rgba(0, 0, 0, 0.03),type: solid,width: 60,},},formatter(params) {return ${params[0].name}: ${par…

数据结构历年考研真题对应知识点(树、森林)

目录 5.4.2树、森林与二叉树的转换 1.树转换为二叉树 【树和二叉树的转换及相关性质的推理(2009、2011)】 2.森林转换为二叉树 【森林和二叉树的转换及相关性质的推理(2014)】 3.二叉树转换为森林 【由遍历序列构造一棵二叉树并转换为对应的森林(2020、2021)】 5.4.3树和…

C# 各版本语法新功能汇总

C# 8.0 以后 官网 C# 7.3 》》in C# 7.2 》》 命名参数、具名参数 》》》 条件 ref 表达式 C# 7.1 》》 default 运算符 default 在C#7.1中得到了改进,不再需要default(T)了 //变量赋值C#7.0 var s "字符串"; s default(s…