Hackathon ROBO-RACE和Artin人工智能实践研讨会:

下午好,亲爱的读者们! 最近,我很幸运地参加了一场由人工智能技术举办的黑客马拉松,该马拉松由来自布尔诺(捷克共和国)的阿丁的Roboauto小组组织,领导了无人驾驶汽车的开发。 在本文中,我想分享自己的印象,并告诉我一切进展如何,我学到了什么以及学到了什么。 谁在乎,请在猫下。

关于黑客马拉松


这是关于机器学习和AI的第一次黑客马拉松,而Roboauto小组在这一领域取得了巨大的成功,因此我立即提前注册。 黑客马拉松比赛主要针对布尔诺工业大学的学生。 正如作者在黑客马拉松的Facebook页面上事先说的那样,黑客马拉松应该是赛车模拟器上的车队之间的比赛。 作者承诺将提供Java仿真程序项目,您可以将程序连接到该项目。 主要目标:为您的汽车编写Java程序,使汽车比竞争对手更快地绕行一圈。 您可以使用神经网络或编程逻辑。

竞赛曲目的视频发布在Facebook 活动页面上,我们必须经历以下过程:



黑客马拉松当天的前几天,向所有参与者发送了电子邮件,其中简要说明了如何准备活动。 必须安装具有Gradle(支持Java版本8)的Intellij Idea IDE,并在GitLab上创建一个帐户。

您可以注册您的团队或注册自己。 在第二种情况下,组织者将您连接到某个团队。 我和我的恩智浦公司的一个人一起被分配到一个团队,后者也独立注册。

图片

理论部分-简介


一切都从2小时的理论开始。 我们可以使用wifi,并向组织者和hackathon计划做了介绍。 在从12点到午夜的一天中,黑客松本身就计划了一系列的比赛,并在午餐和晚餐时段休息。 从17到19个小时,有一段关于在另一间房间中无线电控制车上的障碍物路线的经过部分。

第一位演讲者Pavel对演示进行了认可:演示了仿真器环境,他的项目之间的联系以及AI的介绍。 目的:在模拟器中教授汽车模型,使其尽可能快地行驶。 您也可以从键盘控制模型。 我们在模拟器中演示了一个示例,并在代码中实现了一个示例。

图片

图片

图片

我们获得了指向Gitlab项目的链接。 每个人都必须请求访问存储库,在计算机上本地将项目克隆到自己,然后导入IntelliJ IDEA。 该项目包括对Gradle,Maven或CMake类型生成系统的支持。 您可以立即启动该项目:这样的模拟器窗口将打开:

图片

之后,另一位演讲者Stepan简要介绍了机器学习的理论,并阐明了黑客马拉松将使用神经网络,例如前馈和教师培训。 目的是教汽车如何驾驶。 为此,首先我们将通过手动控制自己驾驶轨道,保存轨迹点。 轨迹数据集存储在CSV表中:距道路中线的距离,相对于道路的角度以及转弯值的值0、1,-1之一。 然后,我们将教网络沿尽可能接近手动控制所经过的路径的路径行驶。

与会人员提出的一个问题是一个有趣的问题:如何在网络上显示其他竞争对手汽车的位置数据。 斯蒂芬说,关于竞争对手的数据也可以设置为神经网络的输入。 如果这有助于培训,您还可以在入口处设置速度数据。

Stepan展示了如何制作两个手动控制示例:错误(任意)和正确(整齐,靠近道路中间)。 在演示训练有素的网络时,汽车在转弯处存在很大问题。

可以配置各种网络参数:输入,输出数量,训练时代数量,隐藏层中的神经元数量。 用于实现神经网络的程序使用了DL4J库: deeplearning4j.org 。 不幸的是,该库无法在32位操作系统上运行(我在装有Ubuntu 12.04的笔记本电脑上遇到问题)。

主要部分是竞争。


每个团队确定自己的汽车颜色,必须在程序代码中指明。 我们立即被告知如何在比赛中使用应用程序API控制您的汽车。

图片

我和我的同事首先解决了使用基于API的常用方法快速遍历轨道的问题。 我们的解决方案是:根据到下一弯道的距离和弯道的方向,调整汽车的加速度和旋转角度。 为了获得有关转弯接近度的信息,我们使用了系统API中的Grid对象。 网格的本质:对于汽车,您可以获取任意大小(例如,宽度8和长度10个单元格)在汽车前面(汽车的左右)的运动场表面的矩形网格。 对于每个单元格,您可以确定轨道是否通过它以及当前是否有其他汽车。

这是我们项目链接 。 主文件:Driver_team12.java,Team12.java和RunDev.java。 控制逻辑位于文件Driver_team12.java中。

傍晚,我开始处理神经网络。 从手动控制的简单轨迹记录开始。 通过对记录的数据进行训练并调整参数(迭代次数,训练时期数,学习速度),可以达到该课程的一些更好的结果。

在黑客马拉松期间,举行了几场比赛,每场比赛都在各小组之间进行了一系列比赛。 在此过程中,参与者不断完善自己的决策。 最大的问题是几辆汽车的碰撞,完全阻碍了高速公路上的行驶。 在这里,实施最佳障碍物处理的团队获胜。

图片

图片

图片

图片

在比赛中,一半的团队提出了基于神经网络的解决方案。 获胜者是这些团队之一。 一支领先的团队构建了一个由25层构成的神经网络,在输入处接收了许多参数(其中包括到道路中间的距离,来自Grid对象的速度和数据)。 另一个团队使用了两个神经网络:一个用于直线路段(以尽量减少与道路中间的偏离),另一个用于转弯。

黑客马拉松比赛可用:


其他有趣的事情


除了黑客马拉松以外,该计划还包含了一个激动人心的事件-无线电控制汽车上的障碍道通过。 在单独的房间中工作17到19个小时,您可以尝试克服带有无线电控制的汽车模型上的困难障碍。

图片

图片

图片

全天组织午餐和小吃。 晚上我们点了披萨。 也可以无限制地将啤酒倒入厨房。

图片

骇客马拉松比赛整整一整天都很有趣,令人兴奋,充满活力。 团体比赛给人留下了许多愉快的印象,许多有趣的时刻。 黑客马拉松在周末是一次很好的大脑训练,您可以在现实生活中集中精力,并尝试在简单的模拟器中学习如何驾驶无人驾驶汽车。

祝大家好运,很快再见!

Source: https://habr.com/ru/post/zh-CN410905/


All Articles