【51CTO.com原创稿件】2017年12月1日-2日,由51CTO主办的WOTD全球软件开发技术峰会将在深圳中州万豪酒店隆重举行。本次峰会以软件开发为主题,数十位专家级嘉宾将带来多场精彩的技术内容分享。届时,黄文波先生将在软件性能优化专场与来宾分享"深度学习在移动端的优化实践"主题演讲,为大家详细阐述深度学习模型的设计和优化策略等问题。51CTO诚邀您莅临大会,与我们共享技术带来的喜悦。
深度学习是机器学习中一种基于对数据进行表征学习的方法,深度学习的好处是用非监督式或半监督式的特征学习、分层特征提取高效算法来替代手工获取特征。深度学习在声频、图像、视频处理上已经取得了令人印象深刻的进步,但是它通常需要功能强大的电脑才可以进行,如果它出现在我们的手机上呢?日前,51CTO有幸专访到蘑菇街-图像算法工程师黄文波先生,聆听他对于深度学习模型在移动端的设计和利用方面的见解。
移动端的深度学习从平台角度来说,分为iOs和安卓,iOs发布的时候就已经提出比较基础的深度学习的功能,并且已经达到了可用的阶段。安卓这方面的情况要稍微复杂一些,因为安卓涉及到的技术比较多,每个厂家采用的CPU存在一些差距,无法统一起来。蘑菇街技术团队目前针对iOs和安卓框架都进行了一些典型的尝试。
黄文波
【黄文波,图像算法工程师,主要从事深度学习相关工作,包括模型加速压缩、GAN、人脸相关应用,尤其对深度学习在移动端的本地优化运行有较深入的研究。】
在深度学习模型方面,蘑菇街做了很多工作。想要应用在手机上面,除了保证性能,模型的大小也是非常重要的限制性因素。手机的空间有限,不可能一个机器里面搭载一个只有几百兆的模型,所以模型压缩这一块的工作非常重要,目前具体的应用是在内网里面,类似于上线分析的功能现在已经在做,比如图像分析,包括对身体的各个部分,可以从像素级分析出来,蘑菇街已经覆盖和实现了。之前还做过一些识别服装款式的功能,比如说拍到你的衣服,我们可以告诉你的终端机器,用机器自动识别它是什么T恤。
前几年的模型发展是往深度做,当时他们把模型做的很深,有上百层。这样做深的话,有一部分模型会非常大,放在一个手机上的话,就要把这个模型塞到一个APP里面,一个APP里面本来就有自己的空间,还要搭载这个模型,这是不太现实的。另外手机的性能也有限,手机端的内存肯定跟服务器没办法比,500兆的模型放进去,要耽误非常大的内存空间,这是内存。另外手机上的CPU性能也没有服务器好,所以在手机上进行深度学习的时候,你的计算机也要有很高的指标。另外功耗方面,虽然手机现在的功耗是降低的,如果模型功耗很大的话,耗电量也会受到的影响。
提到模型的压缩的标准化,其实就是在保证精度的情况下,让你的模型尽量的变小,模型变小就意味着参数变少,意味着计算量变小。最基本的条件就是你要保证精度不能下降太多,下降10%到20%是可以接受的。另外的压缩标准就是空间,想要把模型压缩到足够小,能够在手机上用才行。比如说几百兆的模型肯定是不适合的。比如我们现在可以达到7兆或者10兆,这样就可以放在手机里面,放在一个APP里面了。
另外一种思路就是去年开始比较多的,从网络结构的设计上让它变的非常非常小。现在也是很多手机上都在用这个模式。它用的深度学习模型从设计开始就特别小,在模型的场景里面就不需要再压缩了。
蘑菇街是时尚和电商结合起来的服务运营商。通过在移动端搭载深度学习模型,我们想要实现智能化的时尚推荐服务,让手机端的蘑菇街"更了解你"。
例如在本地分析用户相册里面的穿衣风格,我们会进行本地分析,不需要用户上传到服务器,我们在本地分析用户相册里面照片的风格,分析得出你的穿衣喜好,在APP里为用户做更精准的推荐。甚至除了分析相册,也可以直接选中一张图片,比如某一个时尚达人,或者某一个模特,根据他们的穿衣风格,在服务器上面向用户推荐跟这个穿衣风格匹配的衣服,或者是裤子、帽子、包包之类。通过深度学习模型在移动端的应用,我们力求让蘑菇街成为用户最贴心的私人时尚顾问,蘑菇街除了有技术人才,还有很多时尚专家,各部门联手为用户的穿衣打扮提供更加智能化的服务。
使用优惠码[2017WOTDSZ],和我一起去WOTD全球软件开发技术峰会。8折优惠,仅剩48小时!
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】