https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhideYCBnco-Q7xnXSrHsnP3vGuxTXLkNdDT-ZjFoy6qDnI-_ZoqmDrnvYjBsPtgnjw1CKorGvjTHWOhmfKo4naXzQOZYtqDabgpwqxJTeuvKp7LzN1Gi9QM5bf0f2SB66zsPV3ZLZESN8/s1600/dog.png
来自 Companion 的 Michael Wang 和 Noemie Guerin 的客座文章
简介
在本文中,我将分享我们如何开发系统来理解狗狗的行为并通过训练对其进行影响,以及我们如何将计算能力缩小以适应 B2B 犬类训练产品。
利用科技改善宠物生活
今天科技有潜力改善宠物的生活。举个例子,我是一只 4 岁的救援猫阿黛尔的宠物爸爸。和其他宠物父母一样,我全职工作,每天要离开我的猫独自在家长达 8 个小时。当我上班或不在家的时候,我会担心她,因为我不想让她感到孤独或无聊,不想让她缺水或食物,也不想让她在我不在的时候生病。
幸运的是,现有的科技让我可以远程查看她并改善她的福利。例如,我有一个自动宠物喂食器,可以每天为阿黛尔提供两顿饭,这样她就可以在正确的时间吃上正确的食物,我有一个自动清理猫砂盆,这样她就可以在一天中始终拥有干净的猫砂,我还用了一个
Whistle GPS 跟踪器 来确保她不会迷路。
虽然这些设备可以帮助我确保宠物的身体健康,但我一直很好奇如何在科技应用上更进一步,以帮助解决动物福利问题。如果我们可以使用科技与动物交流呢?在我们离开它们的时候,让它们保持快乐和投入呢?每天都有数百万只狗狗在家中独自度过多个小时,还有数百万只狗狗被安置在收容所里,在那里它们很少得到个人关注。我们能否利用这段时间来提高人与动物之间的纽带质量?这些都是我们 Companion 团队希望解决的问题。
介绍 Companion
在过去的两年里,我们的小型动物行为学家和工程师团队一直在致力于开发一种新设备,这种设备能够吸引狗狗的注意力并自主进行训练,即使人们不在它们身边。我们的第一款产品 CompanionPro 通过使用灯光、声音和零食分配器与狗狗互动,帮助它们学习基本服从行为,例如坐下、躺下、停留和召回。
我们的用户是动物收容所和希望改善犬类训练服务的企业。收容所通常资源不足,无法为所有被照护的狗狗提供训练,尽管有证据表明,对基本服从指令有反应的狗狗更容易被领养到永久家庭。狗狗日托告诉我们,他们难以找到足够多的犬类训练师来满足设施对犬类训练服务的需要。而专门从事犬类训练的设施则告诉我们,他们希望训练师能够专注于教狗狗学习高级技能,但他们却不得不花费大量时间重复相同的练习,以确保狗狗对基本服从行为有反应。幸运的是,机器擅长以完美的规律和无限的耐心执行重复性任务,这让我们走上了创建自主训练设备的道路。
构建这款产品面临着许多挑战。我们首先必须进行实验来证明我们可以在没有人类训练师的情况下训练狗狗,然后构建模型来理解狗狗的行为并确定如何对其做出反应,最后将我们的技术缩小以适应可以出售给动物收容所和企业的產品。
用 TensorFlow 理解动物
就像人与人之间良好的沟通始于良好的倾听一样,良好的犬类训练依赖于对狗狗的信号和行为的良好理解。为了理解 TPU 如何帮助我们解决感知问题,我们需要了解人类训练师在理解狗狗时会发现哪些信息很重要。以下是一些人类训练师在犬类训练中可能会问自己的问题
- 狗狗正在吃零食吗?
- 狗狗正在执行“坐下”动作吗?
- 狗狗是否已经了解“躺下”指令?
- 狗狗之前接受过任何训练吗?
- 狗狗在环境中的什么位置?
- 狗狗离我有多远?
- 狗狗在关注我吗?
- 我是否在与一只以食物为动力的狗狗合作?
- 狗狗在吠叫或呜咽吗?
为了回答这些问题,我们选择使用机器学习,更具体地说,是深度学习,深度学习擅长解决与人类感知相关的問題,并寻找行为随时间变化的模式。由于这个原因,深度学习在计算机视觉和自然语言处理等领域得到了广泛应用。我们的第一步是规划我们要收集的所有信号。我们的动物行为团队列出了我们想要收集的所有身体姿势和发声,以便能够理解狗狗对训练的准备程度。
为了训练我们强大的计算机视觉神经网络,我们选择使用 TensorFlow 作为我们的深度学习平台。使用 Google 的云 TPU,训练我们的网络比使用多个 GPU 完成相同任务更快、更便宜。然后,这些模型可以在我们的台式机上的 GPU 上本地运行,以确定狗狗的实时行为,最终训练狗狗。我们的模型分析狗狗的身体语言和发声,以了解它们目前的状态并能够吸引它们的注意力。
|
图 1:Companion识别不同狗狗姿势的示例。上面是印第,是我们狗狗日托的测试犬之一。印第的妈妈发现,经过几周的训练,他對“坐下”和“召回”指令的反应能力有所提高。 |
|
布鲁默,我们 CEO 的狗狗,在他多次测试环节中的一个。 |
自主地与动物互动
一旦我们确信自己能够实时理解狗狗的行为,我们就开始对这种行为做出反应,以创造互动。我们的设备配有零食分配器,以及灯光和扬声器,可以通过音频和视觉信号以及零食奖励与狗狗进行交流。Companion 使用基于奖励的积极强化训练。这意味着我们的设备会为狗狗的行为提供奖励,以提高这种行为的频率。
这些步骤与人类训练师所采取的步骤相同。假设我们正在试图教一只狗狗学会在听到“坐下”指令时坐下并停留。我们的第一步是让狗狗适应 CompanionPro。为了让狗狗习惯这种设备,它会先无条件地给狗狗零食。当监督狗狗的人员确信狗狗已经适应了这种设备,就可以离开房间,让狗狗自主地与它互动。到目前为止,我们已经与收容所和日托设施中的数百只狗狗合作,成功地让超过 95% 的狗狗适应了我们的 CompanionPro 设备,这些狗狗包括所有品种和年龄的狗狗。
在整个训练过程中,设备会始终确保狗狗准备好了进行训练,寻找狗狗感到舒适和渴望互动迹象。CompanionPro 然后会等待狗狗自然地坐下,并立即奖励狗狗的这种行为。当狗狗开始更多地坐下时,设备就会开始使用语音指令“坐下”。使用自适应学习方法,CompanionPro 然后可以增加狗狗需要坐下的时间长度,从而开始形成停留行为。通过多次训练环节,我们可以逐渐将狗狗“坐下并停留”的时间长度从几分之一秒增加到几分钟。当一只狗狗针对多种行为完成了这个过程后,我们就可以开始与它玩游戏,在同一个训练环节中要求多种行为,从而让它加深对语音指令的理解。例如,我们可以轮流要求“坐下”、“躺下”和“召回”。
使用在大型台式机 GPU 上运行的这个系统,我们能够让狗狗参与到 CompanionPro 训练中。我们测试者的监护人一致表示,他们的狗狗对他们的语音指令反应更加灵敏,并且在他们在家练习训练时,整体上更加专注。
SF SPCA 行为诊所最常见的治疗条件之一是
分离焦虑。患有分离焦虑的狗狗在被独自留下时会变得过度焦虑,并且可能会发出声音,出现痛苦的胃肠问题,或者在主人离开家后破坏家具。这使得治疗变得很困难,因为狗狗只有在被独自留下时才会出现症状,也就是说,当周围没有人可以帮助它们平静下来时。Companion 的团队与 SF SPCA 行为团队合作,测试了使用 Companion 训练作为一种方法,在主人离开家时吸引患有分离焦虑的狗狗的注意力,并减少焦虑的迹象。
我们的早期结果 表明,我们的自动训练方法可能减轻分离焦虑的症状,从而改善狗狗的福利和主人生活质量。
经过成功的训练试验和早期迹象表明我们的技术可以帮助缓解分离焦虑,我们得到了确认,自主训练是有效的,可以为狗狗和主人带来益处。下一步是将我们的技术整合到一款足够实用的產品中,以便在犬类企业中使用。
小型化自主犬类训练
我们使用的测试系统需要大型台式机 GPU 与 TensorFlow 搭配使用,这给我们在动物收容所和犬类企业中工作带来了很多挑战。除了开发设备的实际重量之外,它们还很昂贵,而且离防犬的距离还很远。为了能够适应一款实用的產品,我们必须寻找解决方案来小型化我们的系统。
我们寻找了一个移动平台,该平台仍然具备运行我们神经网络所需的计算能力,以便能够实时理解和响应狗狗的行为。在评估了多个移动平台后,我们选择了 Google 的 EdgeTPU,它可以让我们运行 TensorFlow Lite,TensorFlow 的移动版本。我们发现,Google 的 EdgeTPU 特别允许我们将移动计算机视觉模型运行速度提高到之前的系统的 4 倍。
自从小型化以来,我们已经能够使用我们的移动平台训练更多的狗狗,并努力完成我们的產品。今天,我们能够宣布,Companion 将开始接受我们的 CompanionPro 设备的预订,这些设备将于 2020 年下半年交付。我们迫不及待地想帮助成千上万只狗狗找到家,并与它们的主人建立持久的纽带,这一切都要归功于 TensorFlowLite。
结论
在 Companion,我们开发了一款基于谷歌 TensorFlowLite(以及 EdgeTPU)的设备,用于自主训练狗狗,使其在多种行为上达到高级的响应水平,包括坐下、趴下、停留和召回。我们相信这将对美国各地收容所的犬只收养率和保留率产生积极而巨大的影响,因为这将以更低的成本为所有狗狗提供丰富和训练的机会。谷歌的 EdgeTPU 使我们能够了解狗狗与设备互动时的行为。这种理解使 CompanionPro 设备能够通过在狗狗执行所需行为时给予食物奖励来使用精确的正向强化。最终,Companion 帮助我们了解和改善宠物的生活。
资源
[1]
Companion 网站[2]
旧金山 SPCA 博客文章[3]
分离焦虑症