允中 发自 凹非寺
量子位 | 公众号 QbitAI
这篇文章我们做了一期b站视频,欢迎三连~

如何快速理解强化学习的概念?

驯只猫就行。

比如下面这位爷,巨皮。

整天就是跑酷、尿炕、抓沙发,搞到人头皮发麻、心态爆炸。

直到你忍不了了,决定对它进行残酷的猫德教育。方案是:

以后在家,每当它表现出一次守猫德的行为,就奖励一根猫条;

而每当它皮一次,你就立刻扑过去,咬它的头……

这样反复拉扯两个月之后,你的猫再也不敢皮了——

这个过程里发生的事情,就是“强化学习”

一个智能体(你的猫)在与环境(有你的你家)互动的过程中,在奖励(猫条)和惩罚(咬头)机制的刺激下,逐渐学会了一套能够最大化自身收益的行为模式(安静,躺平)。

所以其实,养猫跟搞人工智能,道理是一样的。

强化学习最著名的代表当然是AlphaGo:几万盘棋,左右互搏,最后无师自通成了独步天下的围棋之神。

如果把AlphaGo看作上面例子里的猫,那在训练里,决定它能否获得“猫条”的每盘棋最终的对弈结果——赢了就有好东西吃,输了就要被吃(bushi)。

另外,DeepMind开发出过一个能在57款雅达利游戏上都超越人类玩家的智能体,背后依靠的同样是强化学习算法。

不过这里的奖励和惩罚机制就要根据不同的游戏来具体设计了。比如玩最简单的吃豆人,就可以对每次吃到豆子的行为进行奖励,对撞到幽灵gg的状况给予惩罚。

而除了在游戏领域天空海阔之外,强化学习,其实还能拿来搞自动驾驶。

如何训练AI司机

为了更方便地说明这件事怎么实现,这里我们借用一个道具:来自亚马逊云科技的Amazon DeepRacer。

一辆看上去很概念的小车,跟真车的比例是1比18。车上安装了处理器、摄像头,甚至还可以配置激光雷达,为的就是实现自动驾驶——

当然,前提就是我们先在车上部署训练好的强化学习算法。

算法的训练需要在虚拟环境中进行,为此Amazon DeepRacer配套了一个管理控制台,里面包含一个3D赛车模拟器,能让人更直观地看到模型的训练效果。

有了这套东西,我们就能自己尝试从零开始训练一个AI司机。

具体怎么做呢?重点来了:

假设这是模拟器里的一条完全笔直的赛道,以及虚拟环境里的Amazon DeepRacer赛车。

我们的目标是让赛车以最短的时间冲刺到终点——那么对于这条赛道而言,最好的选择就是让车尽量沿着中线跑,避免因绕路或出界而导致增加时长。

为此,我们可以把赛道切分成多个网格,然后给这些网格赋予不同的分数:

靠近中间的,给更高的分;在两侧的,稍微意思一下;超出赛道范围的部分属于无效区域,如果碰到,就要从头再来。

开跑之后,一开始,赛车并不知道哪一条是最佳路线,只是在像无头苍蝇一样四处乱撞,很多时候还会冲出赛道。

但后面,随着试错的次数越来越多,在奖励函数的“指挥”下,赛车会逐渐探索出一条能够获得最高累积分数的路线。

理想状况下,一段时间的训练、迭代之后,算法就会学会“直线”最快这条真理。

而再把算法部署到车上,我们就能收获一辆会跑直线的赛车。

当然跑直线只是一种最简单的情形,实际的赛道一般都更加复杂,很多时候沿中心线跑也并不是最快的路线,为此我们就需要调整训练的策略和奖励函数的设计。

实际操作中,具体函数的编写同样通过Amazon DeepRacer的管理控制台完成。

在写函数之前,我们可以在上面调整模型的超参数,然后定义它的行动空间,规定赛车行驶的速度和转向时的角度,甚至……还能选择赛车的皮肤,等等。

Amazon DeepRacer这一整套服务,蛮像一套入门强化学习的可视化教学工具,新手跟着提示也能一步步做下来,大家如果有兴趣,不妨自己试试。

挑战吉尼斯?

当然,既然说了是赛车,自然要追求速度,越快越好。

而如果你想测试一下,自己“培养”出来的AI司机到底够不够快的话……

亚马逊云科技官方还搞了比赛,让把大家训练的AI司机全都拉出来,比一比,看看谁才是真正的秋名山车神。

这个联赛是一个全球范围内的正经比赛。18年开始办第一届,办到现在,总共有超过10万人参加。从线上模拟到线下实体比赛,都有。

比赛在全球的机器学习开发者圈子里已颇有名气。去年,还跟F1搞过联名,喊来了当时雷诺车队的车手里卡多,跟大伙一块开车。

而中国区也为中国的开发者建立了专门的Amazon DeepRacer联赛。

今年中国区联赛分为了两个赛季,每个赛季的月赛根据赛道的难易程度和模型训练难度的不同,分成了大众组和专业组。月赛组别排名靠前的选手,会有机会晋级到下一组别或参加线下比赛。

当然,比赛都有奖品。耳机、键盘、音箱……什么乱七八糟的都有;

而如果你一不小心拿了个赛季总冠军的话,那恭喜你,你可以白嫖一张去拉斯维加斯的机票(还有酒店、大会门票)。

Amazon DeepRacer联赛的报名是免费的,也没有职业要求。只不过如果你没满16周岁就来卷,就得需要监护人允许了……

今年的比赛还在进行中,现在在官网上注册了账号,就会自动获得亚马逊云服务上10个小时的训练时间,并且可以申请价值30美元的“点卡”。

与之同时,亚马逊云科技官方还在搞一个“挑战吉尼斯世界纪录”的活动,目标是突破4387这个参赛人数数字,申请成为全世界“最大规模的机器学习竞赛”。

今年的每个参赛选手都会成为纪录的一部分——甚至,每人都有机会得到一张吉尼斯世界纪录的挑战证书

至于这次挑战的最终结果,会在十月份公布。

到时,今年的亚马逊云科技线上中国峰会将在10月开启,会上除了公布Amazon DeepRacer吉尼斯挑战结果,还会有云计算领域的众多大咖做分享,以及相关的技术成果展示。

目前,线上峰会已经开启报名,海报和链接在此:

报名链接(或点击阅读原文):

https://summit.awsevents.cn/2022/signin?source=gh/ZsR4xii4TX2Vs20QVMuBJ8myz/eb2C54wsCCG96M=&tab=1&type=2

—  —

点这里

怎样从零开始训练一个AI车手?相关推荐

  1. python写一个游戏多少代码-使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...

  2. 50行python游戏代码_使用50行Python代码从零开始实现一个AI平衡小游戏

    使用50行Python代码从零开始实现一个AI平衡小游戏 发布时间:2020-10-23 09:26:14 来源:脚本之家 阅读:74 集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何 ...

  3. 手把手教你用MindSpore训练一个AI模型!

    首先我们要先了解深度学习的概念和AI计算框架的角色(https://zhuanlan.zhihu.com/p/463019160),本篇文章将演示怎么利用MindSpore来训练一个AI模型.和上一章 ...

  4. 神经网络听上去高大上?带你从零开始训练一个网络(基于MNIST)

    目录 1 什么是神经网络? 2 卷积神经网络 3 实验流程 3.1 搭建神经网络 3.2 加载数据集 3.3 训练模型 4 算法分析 1 什么是神经网络? 我们知道人工智能发展过程中有三个主要流派: ...

  5. python50行小游戏_使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...

  6. 如何写一个游戏AI(四)如何使用卷积神经网络训练一个斗地主AI

    经过3个星期得努力,终于初步达成效果,由于训练数据少(因为我在公司使用的电脑只能使用CPU训练,所以数据不能太多,否则就要很长时间)训练出了个傻子.之后我便没有在继续这个工作了.原因有二:1.我身后的 ...

  7. ZEGO教程:如何从零实现一个AI老师

    上周,即构推出了AI智能课堂解决方案.方案采用即构独有的"切换推流视频无缝衔接"技术,解决了AI教师视频无延迟无卡顿实时切流播放.多个视频同时推流对服务器的巨大压力两大技术难点,实 ...

  8. AI学习笔记(九)从零开始训练神经网络、深度学习开源框架

    AI学习笔记之从零开始训练神经网络.深度学习开源框架 从零开始训练神经网络 构建网络的基本框架 启动训练网络并测试数据 深度学习开源框架 深度学习框架 组件--张量 组件--基于张量的各种操作 组件- ...

  9. 无需训练RNN或生成模型,我写了一个AI来讲故事

    作者 | Andre Ye 译者 | 弯月 出品 | AI科技大本营(ID:rgznai100) 这段日子里,我们都被隔离了,就特别想听故事.然而,我们并非对所有故事都感兴趣,有些人喜欢浪漫的故事,他 ...

  10. 用AI从零开始创建一个宫崎骏的世界

    前言 学习人工智能有段日子了,一直感觉问题定义难,模型设计难,算力不足难,部署落地更难.期间掉坑无数,出坑不易.结合这段时间的心路历程,完整的记录一个AI应用,从实际问题出发到模型选型.数据收集.数据 ...

最新文章

  1. jquery easyui 动态绑定数据列
  2. jQuery分析(3) - jQuery.fn.init
  3. Delphi中的dll操作
  4. Akka简介多线程问题《four》译
  5. .net中SessionState相关配置
  6. oracle11gr2克隆安装,克隆安装Oracle 11G HOME
  7. 可恨的KYLIN OS:动不动就不支持老机
  8. VC++ EasyPR车牌识别
  9. 125、什么是核心交换机的链路聚合、冗余、堆叠、热备份
  10. MS4200 PCI串口卡驱动
  11. 在线视频下载网址合集
  12. DNS 动态域名解析
  13. v20超级计算机,荣耀v20正式发布 成为首款通过泰尔实验室的综合游戏体验五星手机...
  14. 《Windows 8 权威指南》——2.2 Windows 8 Metro界面
  15. 什么人不可以喝普洱熟茶?
  16. 二叉树最强总结(python实现)
  17. TCP/IP详解(卷1)勘误表
  18. Unity游戏开发中的向量运算-点乘和叉乘
  19. No connection could be made because the target machine actively refused it 127.0.0.1:8888
  20. STM8/STM32硬件I2C读取APDS9930程序代码

热门文章

  1. python的工具库谁写_python工具库库介绍-bidict: 双向字典
  2. Ai 缺失字体解决方法
  3. 2N个数排成一行(每个数有2个), 2个1之间有1个数,2个2 之间有2个数,...2个N之间有N个数... 例312132
  4. 别细看|请收藏|堆垛机故障大全及解决办法
  5. Alibaba Cloud Linux 搭建Frp内网穿透服务(兼容Centos)
  6. maven项目中JRE System Library Problem J2SE-1.5问题
  7. 【渝粤教育】广东开放大学 管理会计 形成性考核 (33)
  8. 穿山甲android对接错误码40029,头条 穿山甲广告 错误码列表
  9. 【练习】基于Vue全家桶的仿小米商城系统
  10. Ground Rover with Mavros