首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

构建闭环全栈认知 IoT 应用程序时吸取的经验教训-5

构建闭环全栈认知 IoT 应用程序时吸取的经验教训-5

人们无法清楚地认识到自己在哪些方面一无所知
在经过这一漫长而又曲折的过程之后,我总结了第 3 条经验教训:人们无法清楚地认识到自己在哪些方面一无所知。Watson Visual                Recognition                实体分类体系定义了自己的成功理念:从服务使用者(比如我自己)的角度来看,分类体系中包含的任何实体都代表着一种失败。换言之,Watson                Visual Recognition 并不知道有些实体是它所未曾察觉的。同样,我的家庭成员、宠物和车辆的分类也受到了我的经验(即,人 X 或车辆 Y                的充足图片)                以及我创建的分类体系的限制,因此在我发现新事物时,就需要动态添加新的定制类。这将需要持续管理分类体系(包括涉及训练、测试和使用的版本管理)                — 实现起来可能非常困难。
由这条经验教训得出了第一个结论:内容的综合处理影响最终成果。虽然大部分开发人员在计算机编程中都知道“垃圾进,垃圾出”这一格言,但在认知领域,这条格言是一条铁律。促使示例变成“真正事实”的方法、设备、流程和判定会对结果产生直接的影响。分类错误(比如,图片中没有猫)和缺乏事先提供的证据(比如,没有关于猫的图片)将会直接影响认知服务的质量和能力。
除了实体及其示例数据的分类体系之外,还有一个潜在的成功执行主要功能的问题,也就是当老年人出现不正常状况时通知其子孙辈。起初根据检测人的存在而推定的正常模式并非无效,但几乎让感官超负荷的潜在实体以及有待商榷的相关预测性质,令我不禁怀疑自己能否通过编程方式定义合适的通知条件。
而我妻子的一席话则令我豁然开朗。当她查看厨房中检测到的“人”的 Excel 图形时,她说:“为什么不在周日划定上午 10                点这条界限呢?他们那时应该都起床了。”显然,人类智慧和活动背景知识应该也必将在某个节点涵盖在内,我由她的话而推断出,成功的衡量标准是恰当的通知,而不是在                IoT 设备上使用图像分类对个人进行跟踪的能力。
也就是说,第二个结论是:从上至下优化目标功能。换言之,基于效用和用户期望(即,通知满意度)来聚焦收集、综合处理和其他流程。附属组件(如活动分析、实体分类、运动检测、时间间隔等)均可用实验方法加以控制,而不会受到人类先前编程知识(即,人的每日活动是作为行动依据的相关信号)的限制。
第三个结论直接来自于这种实验方法:启用动态子系统控制(例如,捕获和处理图像的频率)。这些控制措施应根据您开展的实验执行不同的操作,并且还应随实验输出一起加以记录。例如,如果图像捕获频率为每分钟一次,由此对被检测实体进行的基于时间的分析将取决于任何历史或未来比较分析的频率。成功与否的计算方式应考量所有这些实验控制措施。
最后,历史绩效并不能保证未来绩效,对任何认知服务的绩效进行持续性分析至关重要。
实际使用既然已通过使用 Watson Visual Recognition 的定制分类器并利用历史分析依据相关条件发送警报,建立了 MVP                的基本操作功能,按照我对于边缘地带低延迟、隐私性、反应灵敏且快速响应的认知 IoT 应用程序的期望,该解决方案已接近完成。虽然 Watson                Visual Recognition 低于 2 秒的延迟可以接受,但它还不够快。此外,隐私问题仍然存在,我需要避免将图像发送至 IBM Cloud                进行分类。
如先前所述,nVidia 提供了全新的 IoT 设备 ,其中包含一个 ARM 处理器(如 Raspberry Pi)和最新的 nVidia GPU 芯片。Jetson 可与                Raspberry Pi 实现二进制兼容,同时还提供了一种使用 GPU 来运行深度学习软件的方法。下一步是将 Jetson 整合到                Age-at-Home 解决方案中,同时提供在本地对图像进行分类的方法,并且进一步降低延迟。
幸好 nVidia 提供了一个开源软件包 ,它具有图形用户界面,用于在包括图像分类等众多领域对深度学习框架进行训练。此外,利用                DIGITS,还能够下载和导入使用此界面构建的图像分类模型。该软件包完美地融合了两种功能,不仅能够使用 Jetson                在边缘近乎实时地进行推理,还能使用含多个 nVidia GPU 的 IBM Cloud 裸机服务器长时间对模型运行批量训练与测试。
nVidia DIGITS 软件支持众多深度学习框架,包括 U.C.Berkeley (BVLC) 。但遗憾的是,开源软件并不包含默认图像分类器,因此需要构建基础图像分类。幸好开源社区提供了 ,此集合包含 100 万张图片,且将这些图片归入                1000 个类别,另外,该社区还提供了 {AlexNet/GoogLeNet}                示例深度学习神经网络,它可学习如何对图像进行分类。
我在云端和本地系统中都使用了 nVidia DIGITS                开源软件。该云系统根据开源范例和社区提供范例的基本语料库(例如,厨房里猫的图片)构建模型。有关更多信息,请观看我在 。
结束语发现认知 IoT 应用程序需要学习,是在此次 PoC                过程中得出的重要成果。从图像分类到日常活动分析,任何训练集合的广度和深度都不足以反映实际使用情况。训练务必要包含用户对成功和失败的评估。
这体现出了一种崭新的模式,即,应尽可能降低预先存在的偏差,并构建通过噪音传感器观测到的实体、属性和活动的数据集,然后根据用户体验反馈通过机器学习弱化这些传感器的效用。需要重复使用这种模式,才能构建任何面向使用者且运用认知处理技术的成功应用程序。必须为任何认知服务的专业化和就地训练启用这种闭环反馈机制。
应进一步明确定义本体,为这些实体、属性、价值和关系确立事实依据,并综合处理语料库以提高准确度和精密度。此外,还必须采用起源和关联的供应链技术“对管理者进行综合处理”,并建立认证机制和可信度                — 包括人类和认知代理两方面。
在所有这些工作中,必须为输入、输出和绩效建立额外的透明度,才能成功使用并准确表达这些认知服务已知和未知的事物。如果代理无法透明地展现其学习基础及其业已证明的非凡能力,所有认知服务使用者在选择时都应该慎重再慎重。
最后,用户是任何应用程序成功与否的最终裁判,他们关于事物本质的定义决定了认知代理是否能够创造价值。这不只是以明显的专业化方式来处理家庭成员、其宠物和邻里车辆,更重要的是,根据这些底层信号来实现后续认知论证或推理,例如,向子女或看护人员发送通知。误报(即一切都正常的情况下发送通知)将会惹恼接收方和祖父母辈;漏报(即情况不正常时未发送通知)则后果更糟。
认知 IoT                应用程序开发者必须收集这些误报和漏报的真实结果,并整合到其训练集合中,包括作为代理训练依据的决定性和潜在随机输入、输出以及本体和真实情况。后续训练迭代可以通过此信息来了解更多事物,并通过更多更好的示例来改善实际表现情况。
返回列表