A.I.开车学成颠覆你的想象
目录
- 引言
- 创造赛道模型
- 制作场景
- 构建赛车
- 训练AI驾驶员
- 调整赛道
- 添加对手车辆
- 测试结果
- 结论
- 结束语
🚗 创造一个AI驾驶员能够驾驶在自动生成的赛道上的方法
引言:上周我在浏览YouTube时,有了一个非常独特的想法——教一个人工智能驾驶汽车。AI驾驶员通常是根据预先定义的赛道进行训练,这意味着赛道的微小变化可能对AI的表现产生灾难性影响。这引发了我一个问题:是否可以创造一个能够在动态生成的赛道上驾驶的AI呢?
1. 创造赛道模型
为了创建动态生成的赛道,我找到了Kenny制作的一个优秀的赛车模型套件。套件中的直道和弯道有相同的尺寸,非常适合创建动态赛道。我创建了一个网格,并使用深度优先搜索算法生成了一条随机路径。这样每次生成的赛道都会有不同的赛道布局,非常有趣。然后,我复制了这个网格,并创建了起点和终点,完成了赛道的构建。
2. 制作场景
为了使赛道更加有趣,我使用了Kenny制作的其他模型,并创建了一个简单的场景脚本,随机生成模型。我添加了云和大山以增加场景的立体感。
3. 构建赛车
为了让AI驾驶员能够完成赛道,我从资产商店上找到了一辆汽车模型,并添加了基本的汽车控制器、刹车痕迹和碰撞粒子效果。我还在汽车的前部添加了11个射线探测器,以使AI能够感知周围的世界。这些射线探测器被设置为探测其他汽车、围墙以及隐形的检查点。
4. 训练AI驾驶员
在训练的第一集中,AI完全不懂得如何驾驶,所以它随机尝试不同的动作,看起来毫无能力。直到第65集,AI终于学会了驱动向前的好办法,但它还没有完全理解如何转弯。经过几集的训练,AI终于掌握了转弯的技巧,能够成功通过赛道的大部分区域。这个AI真是无敌!
然后,AI继续学习,到第691集时,它能够成功驾驶超过三分之一的赛道,尽管不是非常稳定。经过另外600多次迭代,AI似乎没有太大的改进。于是,我决定改变赛道,新的赛道有更多紧密排列的弯道,对AI驾驶员来说是一个巨大的挑战。
5. 调整赛道
新的赛道包含了更多紧密排列的弯道,这给AI驾驶员带来了巨大的挑战。然而,令人惊讶的是,AI驾驶员已经在不到一半的时间里完成了赛道。我让AI继续运行一段时间,直到第1913集时,发现AI的进展并不明显。尽管它在某些弯道上表现不错,但在其他弯道上却会卡住。
观察到AI在某些弯道上多次无法通过后,我觉得需要采取行动。在第1961集时,我将AI驾驶员送去训练营,在那里它们面对了可能遇到的所有弯道,而且每次重新生成它们的位置都是不同的,以便学会应对所有类型的弯道。起初,AI驾驶员刚开始时非常慢,很多都会撞上围墙,但最终能够驾驶通过所有可能的赛道布局。
现在,只剩下提高驾驶速度的问题。经过一段时间的训练,到了第3770集,AI的驾驶速度明显提高。
6. 添加对手车辆
在单独的赛道上观察到AI驾驶员的成功后,我觉得是时候返回普通赛道并添加其他车辆进行比赛了。然而,一开始进展并不顺利,AI驾驶员们经常相互碰撞。直到第3810集时,一辆AI驾驶员成功躲过其他车辆,并加速通过赛道,这一举动非常成功。到了第4022集,AI驾驶员们终于变得更擅长避免相互碰撞,其中一辆车几乎走完了赛道的一半。然后,在第4151集时,我们终于看到AI车辆完成了一圈的比赛。经过另外200多集的训练,几乎所有的车辆都能够在第一次尝试时成功地驾驶一圈。
7. 测试结果
我继续在一些赛道上进行测试,所有的车辆都能够完美地驾驶一圈,几乎没有错误。这个实验耗时5000多集,共计10个小时的训练,但最终取得了非常令人满意的结果。
8. 结论
通过这个实验,我们成功地创造了一个AI驾驶员,能够在任何动态生成的赛道上驾驶。然而,我们也看到训练过程中的挑战和困难,以及不断改进的必要性。这个实验证明了深度学习和模拟训练在AI驾驶技术中的潜力和重要性。
9. 结束语
希望您喜欢这个视频,请不要忘记评论、点赞和订阅等YouTube的支持。
FAQ
Q: 为什么选择动态生成赛道?
A: 动态生成的赛道可以提供更多的挑战和变化,使AI驾驶员能够适应各种赛道布局和条件。
Q: 你使用了哪些技术来训练AI驾驶员?
A: 我使用了深度学习和模拟训练的技术,通过不断的迭代和调整,让AI驾驶员学会了较复杂的驾驶技巧。
Q: AI驾驶员是否能适应不同类型的赛道?
A: 是的,经过训练后,AI驾驶员能够适应动态生成的赛道,并在各种布局和条件下进行驾驶。
Q: 这个实验的主要成果是什么?
A: 通过这个实验,我们成功构建了一个能够在动态生成的赛道上驾驶的AI驾驶员,并验证了深度学习和模拟训练在此领域的有效性。
Q: AI驾驶员的表现如何?
A: 经过充分的训练,AI驾驶员能够在动态生成的赛道上准确地驾驶,并成功地完成一圈比赛。
热门链接: