从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)策略优化。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 20:42:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 20:42:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 20:42:03       58 阅读
  4. Python语言-面向对象

    2024-07-18 20:42:03       69 阅读

热门阅读

  1. ubuntu 可以直接在图像界面打开命令行吗

    2024-07-18 20:42:03       18 阅读
  2. pandas库学习之read_excel函数

    2024-07-18 20:42:03       16 阅读
  3. QTableView

    2024-07-18 20:42:03       18 阅读