Py学习  »  机器学习算法

深度学习,深度 AI 宠

TensorFlow • 4 年前 • 461 次点击  

客座作者 / Michael Wang 和 Noemie Guerin,Companion



简介

在本文中,作者将介绍为什么他们要开发 CompanionPro 系统,系统如何提升宠物的幸福指数,以及为生产合适的 B2B 产品,他们在系统小型化历程中的一些思考。



用科技改善宠物生活

当今科技在改善宠物生活方面极具潜力。


就拿我来说,我收养了一只叫 Adelle 的流浪猫。但由于要工作的缘故,和其他很多宠物家长一样,白天我不得不将她独自留在家中。因为不能一直陪伴,我也时常会担心这只四岁的可爱猫咪,怕她会孤单寂寞或者无聊、有没有按时进食喝水,会不会生病。

幸运的是,现有的技术产品让我在外出时也能够查看她的状况。我有一台宠物自动喂食器,每天会定时定量为 Adelle 投放两餐,确保她每天的健康饮食;还有一个自动清洁猫砂盆,这样她全天都有干净的猫砂盆可以使用;我还为她戴上了 Whistle GPS 追踪器,即便走失了,我也可以迅速定位到她。这些同时提升了我和她的幸福指数。

尽管现有的这些设备能帮我了解宠物状态,确保她身体健康,但我一直在思考,如何进一步提升我们的幸福指数?怎样通过技术与动物交流?当我们不在家时,是否能通过某些产品让宠物保持开心并与之互动呢?数以百万计的狗狗每天需要在家中独处数小时,还有上百万只被关在救助站里,很少受到一对一的照顾,我们能否妥善利用这些时间来改善人和动物之间的关系?这些都是我们 Companion 团队有兴趣解决的问题。



Companion 简介

在过去的两年间,我们成立了一支由动物行为专家和工程师组成的小型专业团队,我们想要开发一款新设备,在主人不在家时与狗狗互动并能自主训练狗狗。


我们的首款产品 CompanionPro 通过灯光、声音和零食投喂机与狗狗互动,训练狗狗的基本的服从行为,如:坐下 (sit)、趴下 (down)、定住 (stay)、召回 (recall) 等。

我们的用户是流浪犬救助站和想要改善训犬服务的公司。对于宠物救助站来说,尽管有证据表明,对基本命令有回应并服从的狗狗更有可能被人领养,但救助站通常资源紧张,无法为所照顾的狗狗提供训练。狗狗日托 (Doggie daycares) 认为现有的训犬师很难满足机构中大量训犬服务的需求。专业的训犬机构则希望训犬师能够专注于指导狗狗完成有一定难度的任务,但他们却不得不长时间重复教狗狗同样的基础动作,以确保狗狗对基本命令有回应且服从。幸运的是,机器具有完美的一致性和无限的耐心来执行重复任务,这让我们走上了开发自主训练设备的道路。

开发这一产品面临很多挑战。首先必须通过实验证明我们可以在无训犬师的房间中训练狗狗,然后需要建立模型来理解狗狗的行为并确定如何回应他们,最后通过小型化技术,将系统植入到可向狗狗救助站和公司售卖的产品中。



使用 TensorFlow 理解动物

人与人之间的沟通始于良好的倾听,同样,犬类训练更注重对狗狗释放的信号和行为的良好理解。


为了解 TPU 能怎样帮助我们解决感知类问题,我们需要了解在理解狗狗行为的过程中,训犬师认为哪些信息很重要。以下是训犬师在训犬过程中可能会提出的一些问题:
  • 狗狗在吃零食吗?
  • 狗狗在执行“坐下”的动作吗?
  • 狗狗是否已经知道“趴下”指令?
  • 狗狗之前是否接受过训练?
  • 环境中的狗狗一般选择呆在哪里?
  • 狗狗离我有多远?
  • 狗狗在关注我吗?
  • 我训练的狗狗是个“吃货”吗?
  • 狗狗叫是因为开心还是悲伤?


为了回答上面这些问题,我们选择使用机器学习,更确切地说是深度学习。深度学习擅长解决这些与人类感知有关的问题,并且会随着时间推移寻找相关的行为模式。因此,深度学习也被广泛应用于计算机视觉和自然语言处理等领域。


那么接下来的第一步,我们需要收集的所有信号,并中找出我们所感兴趣的。我们的动物行为团队列出了我们想要收集的所有身体姿势和声音,以便理解狗狗对训练的准备情况。


为训练我们强大的计算机视觉神经网络,我们选择使用 TensorFlow 作为深度学习平台。对于同样的任务,与使用多个 GPU 相比,使用 Google 的云 TPU 训练我们的网络既快又便宜。然后我们可以使用桌面设备在 GPU 上本地运行训练出的模型,确定狗狗的实时行为并进行训练。我们的模型通过分析狗狗的肢体语言和声音,理解狗狗的当前状态并与之互动。

Companion 识别狗狗不同姿势的示例。上图是 Indy,是我们在狗狗日托的一只测试犬。训练几周后,Indy 的主人发现他对“坐下”和“召回”的反应有所改善


Boomer 是我们首席执行官的狗,正在参与多项测试中的一项



与动物自主互动

当模型可以实时理解狗狗的行为后,我们开始确定所期待的狗狗回应,以进一步建立互动。我们的设备装有零食投喂机、灯光和扬声器,可以通过声音和视觉信号与狗狗交互,并奖励狗狗零食。Companion 采用基于奖励的正强化训练机制:只要狗狗做出了符合我们期望的动作,设备就会提供奖励,从而提升此行为的频率。


这些步骤与训犬师采取的步骤相同。想象一下,我们正试着教狗狗在听到“坐下”时坐下。第一步是让狗狗适应 CompanionPro 设备,设备首先会无条件地给狗狗投喂零食。当狗狗的监护人确定狗狗对设备适应良好时就可以离开房间,让狗狗与设备自主互动。截至目前,我们与救助站和日托机构的数百只狗狗一起工作,已让其中 95% 以上不同品种和年龄的狗狗适应了我们的 CompanionPro 设备。


在整个训练过程中,设备将通过寻找表示狗狗舒适并渴望互动的迹象,始终确保狗狗愿意配合。然后 CompanionPro 会等待狗狗自然坐下,并立即就此行为奖励狗狗。当狗狗开始更频繁地坐下时,设备就会发出“坐下”的指令。CompanionPro 使用适应性学习方法,可以延长狗狗坐着的持续时间,从而开始形成“定住”的行为。通过多次训练,我们可以逐渐将“坐下不动”的持续时间从不到一秒延长到数分钟。狗狗接受了多种行为训练,经历了多次这一过程后,我们就可以开始跟狗狗玩游戏,在一次训练中发出多个行为口令,从而加深狗狗对口令的理解。例如,我们可以在“坐下”、“趴下”和“召回”这几个指令间来回切换。


在大型桌面设备 GPU 上运行这一系统,我们已经可以让狗狗参与 CompanionPro 训练。犬类测试的监护人都报告说,他们的狗狗对口令的回应更加迅速,在家里训练时通常也更专注。


SF SPCA 行为诊所治疗的最常治疗的一种症状就是分离焦虑 (Separation Anxiety)。患有分离焦虑 的狗狗在独处时会极度焦虑,在主人离家时还可能大叫、罹患紧张导致的胃肠疾病,或破坏家具。这种疾病很难治疗,因为狗狗只有在独处时(如周围没有人安慰他们)才会表现出症状。Companion 团队与 SF SPCA 行为团队合作,使用 Companion 训练方法在主人离家时与患有分离焦虑的狗狗互动减少焦虑,并测试这一方法的效果。我们的早期结果表明,自动训练方法可能缓解分离焦虑,从而提升狗狗的幸福指数和主人的生活质量。


成功完成训练试验,并且通过早期迹象表明我们的技术可以帮助减轻分离焦虑后,我们确认,自主训练有效果并且可以让狗狗及其主人受益。下一步是将我们的技术应用到可实际用于狗狗产业的产品中。



自主训犬小型化

我们使用的测试系统需要装有 TensorFlow 的桌面设备 GPU,这给我们服务的救助站和狗狗产业带来了多重挑战。我们的开发设备不仅重,还很贵,而且无法经受狗狗的破坏。为了产品的实用性,我们需要寻找解决方案——系统小型化。


我们在寻找合适的移动平台,它要有支持我们神经网络所必须的运算能力,以便实时理解并回应狗狗的行为。评估了几个移动平台后,我们选择了 Google 的 EdgeTPU,我们可以在该平台上运行 TensorFlow 的移动产品 TensorFlow Lite 。我们发现还可以在 Google EdgeTPU 上使用我们的移动计算机视觉模型,并且运行速度比以前的系统快 4 倍。


小型化后,我们就可以用移动平台训练更多狗狗,并且努力继续完善我们的产品。现在我们宣布,Companion 将开启 CompanionPro 设备的预订,并将于 2020 年底交付。我们迫不及待地想要借助 TensorFlow Lite 帮助成千上万只狗狗找到家,帮他们与主人建立持久的纽带。



结论

在 Companion,我们开发了一种设备,借助 Google 的 TensorFlowLite(和 EdgeTPU)可以自主训练狗狗,使其对坐下、趴下、定住、召回等多种行为做出高配合度回应。我们相信,这将以较低的成本训练所有狗狗,同时丰富狗狗的生活,从而对经济紧张的救助站与低领养率产生积极影响。Google EdgeTPU 能帮助我们在狗狗与设备互动时理解与学习狗狗的行为。CompanionPro 可以在狗狗做出符合期望行为时以食物奖励,从而进行更精准的正强化训练。最终,Companion 帮助我们理解并改善狗狗的生活。



资源与相关内容

[1] Companion 网站: http://joincompanion.com/
[2] SF SPCA 博文: https://www.sfspca.org/blog/companion-training/
[3] 分离焦虑症简介: 
https://www.sfspca.org/sites/default/files/dog_behavior_separation-related-problems.pdf

[4]Whistle GPS 追踪器: https://www.whistle.com/

[5]分离焦虑: https://www.sfspca.org/sites/default/files/dog_behavior_separation-related-problems.pdf

[6]早期结果表明: https://www.sfspca.org/blog/companion-training/



— 推荐阅读 —




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55007
 
461 次点击