端智能技术演进与实践|青训营笔记
这是我参与「第四届青训营 」笔记创作活动的第6天
01端智能技术
端智能:AI算法模型部署和应用到端侧 模型推理,常用方案就是将模型部署在云端或者服务器上,然后对外提供推理服务API给APP端。与之不同的是,直接把推理服务以SDK的形式放到APP端,供APP端直接调用,这就是“端智能”。
02端智能实例
端智能案例落地的套路
- 问题和方案:问题描述及定义→设计机器学习解决方案
- 训练AI模型:数据收集→模型设计&模型训练→模型压缩&模型转换
- AI模型在移动端部署应用:模型部署到移动端→收集推理预测→拿到结果执行业务策略
2.1 手写数字识别
- 数据收集
- 模型设计:playground.tensorflow.org 在线模拟神经网络;10分类模型
- 模型训练:
-
- 搭建训练环境-Tensorflow
-
- 训练样本处理
-
- 模型构建-Keras
-
- 模型训练
-
- 验证模型准确度
- 模型压缩和转换(转为适配端引擎的端模型)
- 模型部署到移动端
-
- 简单做法:放在APP包体的assets目录下
-
- 进阶做法:通过url动态下载,支持动态更新,同时减少包体积
- 移动端推理预测(设备上执行Tensorflow Lite模型)
-
- 加载模型
-
- 构造模型输入:转入input byteBuffer
-
- 执行推理预测
-
- 获取推理运行结果
- 拿到结果执行业务策略
2.2 左右手智能识别
- 数据收集:
- 数据格式
-
- X=[P0,P1,……PN],Pi=[x,y,w,h,destiny,dtime];
-
- Y=[left,right];
- 收集方式(特殊客户端,内测用户收集)
-
- 滑动轨迹:拦截Activity的dispatchTouchEvent事件,缓存手指滑动产生的MotionEvent事件
- 模型设计:
-
- 二分类模型,卷积神经网络
-
- TensorFlow的keras
- 模型训练和转换
- 移动端推理预测&业务应用