智能应用 影音
工研院
ST Microsite

跨越深度学习技术产品化的障碍

除了深度学习技术,在实务上时常会混搭各种机器学习演算法。(示意图)法新社

即使深度学习技术在各个领域带来突破,甚至逐渐翻转各种产品服务,可是还能听到产业界对于这些新颖的研究能否应用到产品上抱持着怀疑的态度。

当然不是所有的学术研究都能带入产品中,但这个时刻正好是前瞻研究以及产业需求汇流的时候,我们看到非常多的技术突破可以引领全新产品、改进营运效率、或是呈现客户未来需求等。这也就为什麽这几年在顶尖学术会议中,产业界投入大量的人员、资金、展示等,希望能事先掌握技术走势,甚至深化为产品。 

一般而言,拦阻这些研究成为产品的障碍包括:运算速度/耗能、模型/演算法设计、场域稳定度(正确率)、训练数据等。过去4年我们有机会在各式运算平台(云端、ARM 、DSP、或是定制化的加速器上)实现各种智能产品,希望这些经验可以消除某些疑虑。

运算速度(耗能)是首要挑战。基于成本考量,产品的运算资源以及耗能有诸多限制。大部分的学术研究专注在「技术创意」的面向,一般忽略这些偏工程应用的考量。产品设计上,我们建议先拉高正确率,接下来有诸多的技术可以降低运算量以及耗能,例如精简网络、降低网络层数、简化参数量,替换其他backbone、或是将浮点运算换为整数运算等。在之前的专栏文章中曾讨论到多种做法,在此先忽略。

模型/演算法的设计是另一个常见的挑战。因着诸多限制,无法将开源软件直接成为产品,但是这些开源的数据集,程序码,绝对可以做为产品开发的重要基石。产品开发上一定得修改(网络)模型,应用领域内的知识对于网络(演算法)设计大有帮助,尽量善用。除了深度学习技术,在实务上时常会混搭各种机器学习演算法,例如流型、数据降维、杂凑法、SVM等,所以研发团队必须有人熟悉紮实的(整套)演算法工具,无法偏废。

因为产品得落实在客户端,所以稳定度、正确率、泛化能力是无法打折的。产品开发方式与研究非常类似,需要有(多个)测试数据集来了解任何演算法修改之后的变化,并能解释各技术元件的影响,绝对不能黑箱作业,不然产品推出之后反而成为客户的负担。时常提醒开发团队,这样的技术推出之后,是不是能睡好觉?是不是心安?一般常会遇到正确率不足的问题,可以利用cascaded的做法,用数个演算法接力处理计算结果,确保正确率。过去Google Maps上的人脸/车牌侦测就是采用类似的策略。

训练数据当然越多越好。尽量使用多个公开数据集,降低收整合本,但是这样无法满足产品落地的需要,还是得收集应用场域内的数据。为了降低数据标注的成本,可以使用类似Active Learning的方式来挑出关键的数据;这一年来也发现self-training的方式,也就是将其他数据上的能力逐渐转移到未标注的数据上,在某些情境上,也有不错的功效。至于其他训练数据的问题,可以参考之前的专栏文章。

产品智能化(或是智能化产品)绝对是极大的技术障碍,但也是产业典范转移中的分水岭,就像是1993年左右开始的网络浪潮,改变了接下来的产品服务设计,甚至是社会、经济型态。我们能不跨过吗?

徐宏民(Winston Hsu)现任富智捷(MobileDrive)技术长暨副总经理以及台大信息工程学系教授。哥伦比亚大学电机博士,专精于机器学习、大规模影像视讯查找与识别。为讯连科技研发团队创始成员,慧景科技(thingnario)共同创始人,NVIDIA AI Lab计划主持人;曾任IBM华生研究中心客座研究员、美国微软研究院客座研究员。习惯从学术及产业界的角度检验技术发展的机会;十余年产学合作及新创经验。曾获2018 IBM Research Pat Goldberg Memorial Best Paper Award 、2018伪装人脸识别冠军、杰出信息人才奖、吴大猷先生纪念奖等国内外研究奖项。