这是我参与【第四届青训营】笔记创作活动的第五天,这节课我了解到端智能是什么以及一个完整的端智能项目实现的流程
端智能技术介绍
What端智能
端智能(On-Device Machine Learning)是指把机器学习/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。
如上图,我们可以在手机端部署机器模型进行肢体检测
Why端智能
端云协同︰端智能不是云智能的替代,是云端机器学习的延伸,是要结合云和端各自的优势,在云端之间合理分配任务以获取问题最优解。
我们将部分云端的推理计算转移到端设备进行计算,可以省去网络交互,降低延迟。除此外还有以下原因:
- Power :端设备算力越来越强大
- Low Cost:低成本
- Privacy:保护隐私
- Offline:可离线
端智能技术实践案例(手写数字识别流程)
需求背景:App要做一个手写输入法模块,支持输入数字0~9,如何实现?
问题和方案(架构)
- 问题:手写输入法模块,支持输入数字0-9
- 方案:训练一个可以识别手写数字的机器学习模型。将此模型部署应用到App中,实现手写输入到识别的过程,并将识别结果供给用户选择输入。机器学习部分:手写输入数字,判断出其可能代表的数字数值,多种可能时给出各自置信度。
训练AI模型(算法)
- 数据收集:开源数据、合成数据,人工收集和标注的数据
- 模型设计:10分类模型,全连接神经网络。参考Tensorflow官方样例https:/www.tensorflow.org/tutorials/q…
输入28*28的图片,二维展开为一维,得到分量,经过全连接层,最后输出十个分量,代表0-9数字的执行度
- 模型训练:
1.搭建训练环境-Tensorflow code.visualstudio.com/docs/datasc…
2.训练样本处理.
3模型构建-Keras
4.模型训练
5.验证模型准确度
- 模型压缩与转换:将模型转换为适配的端模型,因为移动端和PC端CPU和GPU架构不同。可以使用Tensorflow Lite作为移动端上推理引擎。
AI模型在移动端部署应用(迭代调优)
- 模型部署到移动端:让移动端可以加载到前面转化的模型
- 移动端推理预测:在设备上执行Tensorflow Lite模型
- 拿到结果,执行业务策略:拿到模型之后,运行到业务中去解决问题,并不断对模型优化
总结
这节课我很清晰地了解到端智能是什么,我们可以拿端智能来做些什么,生活中见到的例子也让我有了更深的理解,除此之外,收获更大的是了解到一个完整的端智能应用项目从0到1的实现过程,让我的整体逻辑思维也有了很大的提升。