程序员有福了:谷歌深夜发布AI动作捕捉模型教程!
动作AI(或理解为动作捕捉类的人工智能)
机器学习有很多机会来影响或控制物理系统。 例如,仓库或零售库存管理系统可以使用对象检测来识别供应量低或位置错误。 然后,系统可以决定最佳纠正措施,例如发送警报或自动下订单以重新供应仓库。
类似地,装配线上的质量控制系统可以利用对象检测模型来查找产品中的缺陷,然后采取措施隔离该项目以供进一步检查。 您甚至可以更进一步,使用机器学习见解和机器人来纠正问题。
在这些方面,我们想要展示一个系统如何利用机器学习来看世界,了解复杂和快速变化的事件,然后实时响应它所看到和理解的东西。
设计目标
系统设计考虑包括:
云和物理世界。随着越来越多的机器和设备成为“思维机器”,我们想要展示AI可以以物理设备的形式驱动的“运动” - 在这种情况下是机器人球。为此,我们的目标是使用云进行复杂的强化培训,在现实世界中部署预测来控制物理设备。
杠杆。我们的目标是尽可能使用现有的工具,模型和应用程序。我们希望展示使用广泛可用的资产构建优秀的东西,因此我们使用TensorFlow社区发布的现有博客,API和脚本来帮助我们快速移动。
自动化。机器学习项目可能是劳动密集型的。我们想展示如何在数据生成和模拟等领域设计近似,以降低成本并缩短产品上市时间。
乐趣。最后,我们的演示需要与人们进行互动,并获得与教育一样有趣的体验。
架构决策
为了加速培训并展示云的优势,我们决定在云中进行所有培训。这一决定意味着我们可以以低成本对我们的模型进行快速迭代,并且我们可以利用最新的硬件开发,如GPU和TPU。
第二个重要的考虑因素是需要进行设备上的预测。设备上预测模仿许多需要低延迟决策的现实场景。此外,本地预测表明即使互联网连接可能无法使用,AI也可用于移动或物联网设备。我们选择使用Android设备(Pixel 2),但我们的方法在许多具有必要计算能力的物联网设备中非常有用。
为了完成本地预测和接近实时的游戏玩法,我们意识到我们至少需要两个模型:一个是“看”发生了什么,另一个是“预测和反应”。在我们的案例中,我们将“视觉”模型称为对象检测模型和“反应”模型,我们称之为Commander模型。两种模型都可以在现有的TensorFlow资源和TensorFlow社区中找到。
AI游戏
我们设计的机器人游戏都是标签的变种。他们要求已部署的模型查看物体和障碍物,然后根据其看到的内容做出关于最佳方向和路径的近实时决策。我们尝试了许多替代方案,但确定了四种截然不同的AI-Human游戏。
机器人冻结标签。在这个游戏中,一个人工智能控制的机器人玩了三个人控机器人。 AI bot的目标是在时间用完之前“标记”或碰到所有人控机器人。当一个人控机器人被标记时,它会被冻结,直到一个人类队友用他或她自己的机器人触摸机器人来解开它。玩家根据人类玩家避免冻结的时间以及解冻队友获得积分。
人类冻结标签。我们在这个游戏中扭转了局面,三个AI机器人只玩一个人类玩家。人类玩家的目标是在时间用完之前标记所有AI控制的机器人。当玩家标记一个AI球时,球被冻结,直到其中一个AI队友通过触摸机器人解开它。根据玩家冻结所有AI机器人的速度获得积分。
Zombie Apocalypse。在游戏开始时,一个AI机器人和三个人类玩家竞争。 AI bot的目标是标记未标记的人控机器人。起初,所有三个人类玩家都必须避开AI机器人。然而,当人类的机器人被标记时,它加入了“它”团队并且不得不与AI机器人和其他受感染的玩家合作以标记剩余的未受感染的玩家。根据玩家未标记的时间长度获得分数。
夺旗。在这个游戏中,一个人类玩家与两个AI训练的机器人竞争,目的是触摸四个目标中的每一个(“旗帜”),同时避免被AI控制的机器人标记。根据捕获四个旗帜的速度获得积分,由AI机器人标记丢失点数。
我们决定使用Sphero机器人,用硬化塑料包裹的球形球大小的圆球,能够滚动,并由智能手机或平板电脑控制。我们选择Sphero机器人是因为它们具有简单的SDK,最终用户应用,低成本和整体遏制吸引力。
处理
我们使用的过程是一个通常简单的机器学习过程,如几个TensorFlow 101培训中所述,例如Yufeng Guo的精彩博客系列AI Adventures。
该过程包括:
收集并准备数据。在我们的例子中,我们必须生成和模拟数据。
选择一个型号。我们能够利用和修改现有模型。
训练,评估和调整。云是培训的关键加速器。
预测。近实时设备预测是体验的关键。
您也可以将人工智能应用于物理世界中存在的问题。在Next 18的AI in Motion项目中,我们开始展示一个可以看到,理解并对世界做出反应的系统。我们设定了关键的设计原则,并通过简单的标准组件制定了反映可能性的架构决策,并且我们计划了一系列机器人游戏,其中AI控制的机器人与人控机器人进行交互。
请继续关注更多 - 我们将在未来几周内发布本系列的第二和第三部分。在本系列的第二部分中,我们将引导您完成我们用于生成和准备数据的实际步骤,选择用于对象检测和控制的模型,以及训练,评估和调整模型。第三部分将分享我们如何管理设备预测以驱动AI控制的游戏玩法。
说到硬件——谷歌还发布了Edge TPU,特定用途 ASIC 芯片。
谷歌在2017年I/O大会上已经明确喊出“AI First”(人工智能优先)的口号,在今年的IO大会上,谷歌推出了第三代TPU。根据官方介绍,TPU3.0的计算能力最高可达100PFlops,是TPU2.0的8倍多。它是谷歌自主研发的针对深度学习加速的专用人工智能芯片。TPU是专为谷歌深度学习框架TensorFlow设计的人工智能芯片。著名的AlphaGo使用的就是TPU2.0芯片。
此外,谷歌还发布了Edge TPU,特定用途 ASIC 芯片,专为在设备上运行 TensorFlow Lite ML 模型而设计,用来处理 AI 预测部分。
它的特点是比训练模型的计算强度要小。而且 Edge TPU 还可以自己运行计算,不需要与多台强大计算机相连,因此应用程序可以更快、更可靠地工作。它们可以在传感器或网关设备中与标准芯片或微控制器共同处理 AI 工作。
针对Edge TPU的新设备是:AIY Edge TPU Dev 开发板和 AIY Edge TPU 加速器,二者皆采用 Google 的 Edge TPU 芯片。