这是我参与「第四届青训营 」笔记创作活动的第6天
一、什么是端智能技术
端智能是指把机器学习/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机、智能手表,也可以是物联网IOT设备。
例如:抖音换装特效、离线文字识别、肢体检测、手势识别
端云协同:端智能不是云智能的替代,是云端机器学习的延申,是要结合云和端各自的优势,在云端之间合理分配任务以及获取问题最优解。
端侧机器学习框架,例如谷歌的Tensorflow Lite、ML Kit;华为的HiAI、ML Kit;阿里的MNN以及小米的Mace等
二、端智能技术实践案例
手写数字识别
手写输入数字识别是什么数字。
可以训练一个识别手写数字的机器学习模型,将此模型应用部署到APP中,实现手写输入到识别的过程,并将识别结果供给用户,训练模型,收集训练所需要的样本和数据(数据可以来源于开源数据集或者脚本合成),数据增广是通过旋转、平移、缩放变换
端智能案例落地的套路:首先要明白问题的描述和定义,从而设计机器学习解决方案,从而训练AI模型,通过数据收集对模型进行设计以及训练,之后将模型压缩转换,最后AI模型在移动端部署应用,将模型部署到移动端,收集输入推理预测,拿到结果执行业务策略。
模型部署到移动端
核心:让移动端可以加载到前面转化的模型。
- 简单做法:放在APP包体内assets目录下。
- 进阶做法:通过URL动态下载,支持动态更新,同时减少包体积。
要想学端智能技术首先对端智能技术有一定认识,可以协作完成端智能技术的需求落地,同时还要对机器学习入门进行学习,此后要对移动端技术、端智能技术和负责业务有更深入的理解,可以站在更全面的视野上设计端上智能解决方案,建设完善的端智能框架。