从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.pswp.cn/web/46347.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/46347.shtml

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

相关文章

每天一个数据分析题(四百三十七)- 统计量

若x1、x2、x3取自某总体的样本,当期望a已知,方差c未知时,则以下不是统计量的是 A. x1x2x3 B. min{x1,x2,x3} C. a(x1x2)/2 D. (x1x2x3)/c 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击…

用c语言实现一个alexnet

在C语言中实现一个完整的AlexNet神经网络是一个复杂的任务,涉及大量的矩阵运算和卷积操作。这个示例代码将涵盖AlexNet的主要组件,包括卷积层、ReLU激活函数、池化层和全连接层。 由于C语言本身没有像Python的NumPy那样的矩阵库,我们需要自己编写矩阵运算函数。另外,C语言…

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

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

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

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

C++ //练习 15.22 对于你在上一题中选择的类,为其添加合适的虚函数及公有成员和受保护的成员。

C Primer(第5版) 练习 15.22 练习 15.22 对于你在上一题中选择的类,为其添加合适的虚函数及公有成员和受保护的成员。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 class Shape {public:S…

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的网页结构,并获取有价值的数据。 …

linux service小例

linux service 测试 1.创建一个app // myapp.c // 间隔10s写入时间到文件 #include <stdio.h> #include <time.h> #include <unistd.h> // 引入unix标准函数定义&#xff0c;如sleep()int main() {FILE *fp;time_t now;char buffer[80];// 打开文件以追加模…

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

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

c语言程序环境和预处理

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

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

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

【保卫花果山】游戏

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

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

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

JavaScript学习笔记(九)

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

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 中的一个配置设置&#xff0c;用于控制标准 I/O 流&#xff08;如 std::cin, std::cout&#xff09;的行为。这个设置主要用于优化输入输出操作的性能&#xff0c;尤其是在处理大量数据时。 在 C 中&#xff0c;标准流库&#xf…

stm32:CAN通讯

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

分布式存储概述

1. 分布式存储概念 大规模分布式存储系统的定义如下: “分布式存储系统是大量普通PC服务器通过Internet互联&#xff0c;对外作为一个整体提供存储服务。” 分布式存储系统具有如下几个特性: 可扩展。分布式存储系统可以扩展到几百台甚至几千台的集群规模&#xff0c;而且&a…