Google TensorFlow团队:如何利用人工智能训练狗? 阅读: 2024-07-08 12:02:05 狗的训练 训练狗狗通常需要人类的训犬师,但如果没有训犬师,又怎么能达到训练的目的呢?一家名为 Companion Labs 的公司发明了第一台由人工智能 (AI) 驱动的狗狗训练设备。计算机视觉是这台机器运作的关键。它可以实时检测狗狗的行为,并调整其奖励的发放方式,以强化期望的行为。例如,它利用其计算机视觉来检测狗狗何时在做一些令人满意的事情,并发出奖励。 这款名为 Companion Pro 的训练器看起来像苏联时代的空间加热器,配备了图像传感器、Google Edge TPU AI 处理器、无线连接、灯光、扬声器和专有的“狗粮发射器”。 在这篇文章中,TensorFlow 团队分享了我们如何开发一个系统来通过训练来理解和影响狗的行为,以及我们将计算机小型化用于 B2B 产品的历程。 通过技术改善宠物的生活 当今的技术有可能改善我们宠物的生活。举个个人例子,我是一只 4 岁流浪猫 Adele 的宠物爸爸。像许多其他宠物家长一样,我全职工作,每天最多只让我的猫独自在家 8 小时。当我在工作或出城时,我会担心她,因为我不想让她感到孤独或无聊,没有水或食物Google TensorFlow团队:如何利用人工智能训练狗?,或者在我不在的时候生病。 幸运的是,现有的技术让我可以在我不在的时候检查她的情况并改善她的福利。例如,我有一个自动宠物食品分配器,每天为阿黛尔分配 2 顿饭Google TensorFlow团队:如何利用人工智能训练狗?,这样她总是能按时吃到正确份量的饭菜;我有一个自动清洁的猫砂盆,这样她一整天都能保持猫砂干净;我还使用 Whistle GPS 追踪器来确保她永远不会迷路。 虽然这些设备可以帮助我确保宠物的身体健康,但我一直对利用技术更进一步解决动物福利问题感到好奇。如果我们可以使用技术与动物交流会怎么样?当我们不在身边时,我们如何让它们开心?数百万只狗每天独自留在家中数小时,还有数百万只狗被安置在收容所,在那里它们很少得到个人关注。我们能否利用这段时间来提高与宠物相处的质量?这些都是我们 Companion 团队想要解决的问题。 在过去的两年里,我们由小动物行为学家和工程师组成的专家团队一直在研究一种新设备,这种设备可以与狗互动,并在人们无法陪伴它们时自动进行训练。我们的第一款产品 CompanionPro 通过灯光、声音和零食分配器与狗互动,以处理坐下、趴下、停留和召回等基本的服从行为。 我们的用户是狗收容所和企业,他们希望帮助改善他们的狗训练服务。尽管有证据表明,对基本服从命令做出反应的狗更有可能被永久收养,但收容所通常资源匮乏,无法为所有狗提供训练。狗日托所告诉我们,他们很难找到足够的狗训练师来满足其设施对狗训练服务的需求。专门从事狗训练的设施告诉我们,他们希望训练师专注于教狗高级任务,但他们不得不花费大量时间重复相同的练习,以确保狗对基本的服从行为做出反应。幸运的是,机器擅长以完美的一致性和无限的耐心执行重复性任务,这让我们走上了创建自动训练设备的道路。 打造这款产品面临诸多挑战。我们首先必须进行实验来证明我们可以在没有人类训练师的情况下训练狗,然后建立模型来了解狗的行为并确定如何应对它们,最后将我们的技术小型化以使其适合产品化并出售给企业。 使用 TensorFlow 了解动物 正如良好的沟通始于人与人之间良好的倾听一样,良好的狗训练取决于对狗的信号和行为的良好理解。要了解 TPU 帮助我们解决的感知问题,我们需要了解训练师认为哪些信息对于了解狗很重要。以下是人类训练师在训练狗时可能会问自己的一些问题: 狗在吃零食吗? 狗是否表现出“坐下”的行为? 狗已经知道“按”命令了吗? 这只狗以前受过训练吗? 狗去哪儿了? 这只狗离我有多远? 这只狗在关注我吗? 我是不是正在和一只吃食物的狗一起工作? 狗在叫吗? 为了回答这些问题,我们选择使用机器学习,特别是深度学习,它擅长解决与人类感知相关的问题并发现随时间推移的行为模式。因此,深度学习已广泛应用于计算机视觉和自然语言处理等领域。我们的第一步是绘制出我们想要收集的所有信号。我们的动物行为团队列出了我们想要收集的所有身体姿势和发声,以便能够了解狗是否准备好接受训练。 为了训练我们强大的计算机视觉神经网络,我们选择使用 TensorFlow 作为我们的深度学习平台。与使用多个 GPU 完成相同任务相比,使用 Google 的 Cloud TPU 训练我们的网络既快速又便宜。然后可以使用我们的桌面在 GPU 上本地运行生成的模型,以确定狗的实时行为并最终训练狗。我们的模型会分析狗的肢体语言和发声,以了解它们的当前状态并让它们保持参与。 图 1:Companion 识别不同狗狗姿势的示例。上图是 Indy,我们在 Puppy Daycare 的测试犬之一。经过几周的训练,Indy 的妈妈发现他对“坐下”和“回想”的反应能力有所提高。图 2 是 Boomer,我们 CEO 的狗 与动物自主互动 一旦我们确信自己有能力实时了解狗的行为,我们就会开始对该行为做出反应以建立互动。我们的设备配备了零食分配器、灯和扬声器,可以通过声音和视觉信号与狗交流,并奖励它们。Companion 使用基于奖励的积极强化训练。这意味着我们的设备为期望的行为提供奖励,以增加该行为的频率。 这些步骤与训练师采取的步骤相同。让我们想象一下,当我们告诉狗“坐下”时,我们试图教它坐下并待着。我们的第一步是让狗适应 CompanionPro。为了让狗习惯这个设备狗的训练,它会首先无条件地给狗零食。当看管狗的人确信狗对设备感到舒适时,他们可以离开房间,让狗自主地与设备互动。到目前为止,我们已经与收容所和日托机构中的数百只狗合作,使我们能够让超过 95% 的所有品种和年龄的狗适应我们的 CompanionPro 设备。 在整个训练过程中,该设备将始终确保狗已准备好工作,寻找狗感到舒适并渴望互动的迹象。然后,CompanionPro 将等待狗自然坐下并立即奖励该行为。当狗开始坐得更多时,该设备将引入口头命令“坐下”。使用自适应学习方法,CompanionPro 可以增加狗在开始保持原状之前需要坐下的时间。通过多次训练,我们可以将“坐下”的持续时间从几分之一秒增加到几分钟。当狗经历了具有多种行为的过程后狗的训练,我们就可以开始与狗玩游戏,在同一次训练中要求狗表现出多种行为,这样狗就可以加深对口头命令的理解。例如,我们可以在“坐下”、“趴下”和“后退”之间切换。 使用在大型桌面 GPU 上运行的该系统,我们能够让狗参与 CompanionPro 训练,并且我们的测试人员的监护人都报告说,他们的狗对口头命令的反应更灵敏,并且在家庭训练期间通常会更加注意。 SF SPCA 行为诊所治疗的最常见疾病之一是分离焦虑症。患有分离焦虑症的狗在独处时会变得极度痛苦,当它们的主人离开家时,它们会发出叫声、出现痛苦的胃肠道问题或破坏家具。这使得治疗变得困难,因为狗只有在独处时才会表现出症状,即当没有人在身边帮助安抚它们时。同伴小组与 SF SPCA 行为小组合作,测试了同伴训练作为一种治疗患有分离焦虑症的狗的方法的有效性,并减少了它们的主人离开家时痛苦的迹象。我们的早期结果表明,我们的自动化训练方法可以缓解分离焦虑症的症状,改善狗的福利和它们主人的生活质量。 经过成功的训练试验和早期迹象表明我们的技术可以帮助缓解分离焦虑,我们确认自我指导训练是有效的,可以让狗和它们的监护人都受益。下一步是将我们的技术融入到足够实用的产品中,供养狗业使用。 小型犬训练过程 我们使用的测试系统需要配备 TensorFlow 的大型桌面 GPU,这对我们从事的收容所和宠物狗行业来说带来了多重挑战。除了开发设备的物理重量外,它们还很昂贵,而且远不能防狗。为了适合实际产品,我们必须找到解决方案来缩小我们的系统。 我们正在寻找一个移动平台,该平台仍具有运行神经网络所需的计算能力,以便实时理解和响应狗的行为。在评估了多个移动平台后,我们选择了 Google EdgeTPU,它允许我们运行 TensorFlow 的轻量级框架 TensorFlow Lite。我们发现 Google 的 EdgeTPU 特别允许我们采用移动计算机视觉模型,并且运行速度比以前的系统快 4 倍。 自小型化以来,我们已经能够使用我们的移动平台训练更多的狗,并且正在努力包装我们的产品。我们迫不及待地想通过 TensorFlowLite 帮助成千上万的狗找到家并与它们的主人建立持久的联系。 综上所述 在 Companion,我们使用 Google 的 TensorFlow Lite(和 Edge TPU)开发了一款设备,可以自动训练狗对多种行为做出高水平的反应,包括坐下、趴下、停留等。我们相信,这将对美国各地精简收容所的收养率和保留率产生非常大的积极影响,因为它可以让所有狗的充实和训练变得更加经济实惠。Google 的 Edge TPU 使我们能够了解狗与设备互动时的行为。这种理解使 Companion Pro 设备能够通过在狗表现出期望的行为时给予食物奖励来使用精确的正强化。最终,它可以帮助我们了解和改善宠物的生活。 更多 Google EdgeTPU 和 TensorFlow 的真实示例 Gravitylink 的 Model Play 和 Tiorb AIX 也能完美支持 Edge TPU。AIX 是集成计算机视觉和智能语音交互两大核心功能的人工智能硬件。Model Play 是面向全球开发者的 AI 模型资源平台,内置多样化的 AI 模型,结合 Tiorb AIX,基于谷歌开源神经网络架构与算法构建自主迁移学习功能,无需编写代码,通过选择图片、定义模型、类别名称即可完成 AI 模型训练。