2015年负责新一代儿童手表产品的研发,落地智能语音问答,2018年负责360智能音箱的开发,做了360的语音云平台,2019年发布了边缘计算的产品360家庭安全大脑,做了视频的边缘计算。2021年开始在摄像机上力主研发端边云融合的推理框架AI LAB,几年时间从语音到图像,做了很多项目。
我一直有坚定的AI信仰,也在身体力行的推动AI的落地,然而在公司内部想推动达成共识并不容易,经常被问到AI有啥用,因此在2021年底,在360 IoT推进面向安防的场景化视频AI战略的分享,目的是帮助管理层在内的人员了解AI相关的基础知识,推进AI的战略落地。
分成多个章节分别整理,请参考:AI 系列分享
AI基础&概念
AI的相关概念及要素
深度学习是机器学习的一种深度学习是机器学习的一个分支,它是一种基于神经网络的机器学习方法。深度学习可以自动从原始数据中学习特征和模式,并用这些特征和模式对数据进行分类或预测。与传统的机器学习方法不同,深度学习能够学习到多层抽象的特征,从而可以处理更加复杂和高维的数据。
深度学习之所以强大的原因在于方法的通用性,关建的三要素是算法、数据、场景。
传统机器学习和深度学习的区别
传统机器学习本质上是一个专家设计的自动化程序,通过行业专家针对具体任务设计特征抽取等方法,指导机器算法做学习。深度学习则是基于海量数据,让算法自己学习特征提取参数、设计权重。
以我我再本科时做的一个基于步态特征做行人识别的项目为例,说明两者的差异。
特征抽取对环境要求高,对摄像机角度、人员遮挡等有高要求!
特征计算参数相对简单,仅有头部、躯体面积、步长、质心偏移比例等,可解释、可理解,但是鲁棒性不强。
方法仅对步态有意义,对其他检测方法不适用、通用性差。
基于深度学习的方法能怎么实现?
同样的,放到如今很热门的行人重识别RE-ID算法上,传统机器学习和深度学习也有不同的实现方式。
方法的通用性使深度学习在各领域持续取得突破
通过这里的案例可以看到,传统专家系统的方式,必须针对具体任务设定系统参数,这里能设计的参数量和通用性极其有限。而深度学习的方式,则可以将算法封装成一个相对的黑盒,不用关心细节的参数设计,只需要制定整体的算法策略,就可以通过大量的数据训练,让算法自己学习参数、权重,因此这种方法具有更强的通用性。也正是这种通用性,是的深度学习算法在不同领域均取得较大的突破。
机器学习算法分类
监督学习:分类、回归
无监督学习:聚类,找出隐藏结构
无监督学习算法的目标是以某种方式组织数据,然后找出数据中存在的内在结构。这包括将数据进行聚类,或者找到更简单的方式处理复杂数据,使复杂数据看起来更简单。
用户画像、推荐系统
强化学习:交互、决策
强化学习是一种学习模型,它不会直接给你解决方案,通过与环境的交互来提高其性能。
两个核心特征
试错学习:环境没有给出直接的“标准答案”,而是给出奖励。代理要不断与环境进行交互,通过试错的方式学习最佳策略。
延迟奖励:在强化学习下中,代理采取的部分行动可能没有即时的奖励,但是每一步行动对最终的结果都会产生影响。一个动作的全部影响,只有等到整个决策过程结束时, 才能进行判断。 因此强化学习中,需要学习过去行动的价值。
五个基本要素
状态(State):代理可以获得的所有环境信息,是对环境的完整描述;
动作(Action):对代理行为的描述,是代理所有可能动作的集合;
奖励(Reward):代理在一种状态之下,采取特定行动之后,所得到环境的反馈。
策略(Policy):在一种状态下,代理应该采取什么样的行动。
价值(Value):代理采取行动的预期回报函数。
AI的技术与工程架构
基础设施:深度学习框架
深度学习框架是一系列经过高级计算机语言封装的深度学习底层算法,内含可实现样本数据的调用、分类及输入、神经网络架构建设、激活函数及损失函数等函数设置、超参数设定及调整等功能的完整函数工具。通过对深度学习框架的引用,人工智能应用开发者无需熟知底层算法开发逻辑即可完成应用开发,人工智能应用开发的技术门槛大幅降低。
目前的主流深度学习框架均已开源
基础框架开源促进技术创新
利好生态完善
利好相关算法、服务的商业化
开源框架有商用受限风险
核心技术自主研发
和硬件平台深度结合优化
为何国内企业还在自研底层框架?
以旷视为例,按照其招股书中的表述,自研框架的目的是:
1、更快的训练速度(图为推理速度)
2、更好的性能(图为显存占用)
3、更好的移动端适配
目前国内底层框架真正有希望的还是百度和华为,百度本身做的早,生态相对丰富,华为未来和国产化算力、芯片、平台捆绑,也会有一定的体量。
百度、华为,发力全栈解决方案
MindSpore是华为于2019年8月推出的新一代全场景AI计算框架,2020年3月28日,华为宣布MindSpore正式开源。而MIndSpore只是华为从底层芯片层到应用层中间的一个环节,华为已经做了一个全栈的解决方案。
小米、阿里、腾讯等多聚焦移动端推理框架
小米、阿里等厂商也有动作,但是不具备全栈的能力,更多是从移动端的适配和性能优化上再推理框架上入手,如小米的MACE:
Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台(支持Android, iOS, Linux, Windows)优化的神经网络计算框架。 主要从以下的角度做了专门的优化:
性能:
代码经过NEON指令,OpenCL以及Hexagon HVX专门优化,还对启动速度进行了专门的优化。
功耗
支持芯片的功耗管理,例如ARM的big.LITTLE调度,以及高通Adreno GPU功耗选项。
系统响应
支持自动拆解长时间的OpenCL计算任务,来保证UI渲染任务能够做到较好的抢占调度, 从而保证系统UI的相应和用户体验。
内存占用
通过运用内存依赖分析技术,以及内存复用,减少内存的占用。另外,保持尽量少的外部 依赖,保证代码尺寸精简。
模型加密与保护
模型保护是重要设计目标之一。支持将模型转换成C++代码,以及关键常量字符混淆,增加逆向的难度。
硬件支持范围
支持高通,联发科,以及松果等系列芯片的CPU,GPU与DSP(目前仅支持Hexagon)计算加速。CPU模式支持Android, iOS, Linux等系统。
主流算法模型均已开源,但是改进调优空间大
如常见的图像分类、目标检测算法,均已开源。
虽然算法开源,但是仍然有较大的改进调优空间,如:
深度残差网络(Deep residual network, ResNet)
2015年,何凯明,微软亚洲研究院,ImageNet5项冠军
DenseNet:将输出从相加改为“相并联”
2016年,康奈尔大学的 Gao Huang 和清华大学的 Zhuang Liu
Wide Residual Network(WRN):从“宽度”入手做提升
Sergey Zagoruyko 和 Nikos Komodakis
ResNeXt
2017年2月,何凯明,Facebook
谷歌 MobileNet:视觉模型往移动端轻量级发展
大幅改进移动端的性能,同精度功耗只需要原来的1/30.
SuffleNet:超越谷歌 MobileNet
旷视孙剑团队
双通道网络 DPN:结合残差网络与 DenseNet 两者优点
2017年颜水成团队,360夺得 ImageNet 2017 目标定位冠军
AI使能平台:提效、降本
提效率
封装上百种机器学习算法,通过可视化拖拽实现模型训练,一键部署。
提性能
支持高维稀疏数据场景,支持千亿特征、万亿样本规模模型加速训练。
降成本
支持CPU/GPU混合调度,云原生弹性伸缩,适用多种场景的计费方式。
快速开发
泛推荐、内容理解等场景算法解决方案,帮助企业快速构建业务方案。
视觉智能开放平台:提供SaaS增值服务
AI能力产品化
快速体验、快速接入,降低试错成本。
多数是在线服务,少部分支持私有云部署,也有部分离线SDK开放。
标准化的公共服务
大量的标准化的公共服务,避免冷启动,相同场景的AI能力可以直接使用。
只能选择场景最接近的公有服务,无法做细化定制。
评论