端智能技术演进与实践|青训营笔记

156 阅读2分钟

端智能技术演进与实践|青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第6天

01端智能技术

端智能:AI算法模型部署和应用到端侧 模型推理,常用方案就是将模型部署在云端或者服务器上,然后对外提供推理服务API给APP端。与之不同的是,直接把推理服务以SDK的形式放到APP端,供APP端直接调用,这就是“端智能”。

02端智能实例

端智能案例落地的套路

  • 问题和方案:问题描述及定义→设计机器学习解决方案
  • 训练AI模型:数据收集→模型设计&模型训练→模型压缩&模型转换
  • AI模型在移动端部署应用:模型部署到移动端→收集推理预测→拿到结果执行业务策略
2.1 手写数字识别
  • 数据收集
  • 模型设计:playground.tensorflow.org 在线模拟神经网络;10分类模型
  • 模型训练:
    1. 搭建训练环境-Tensorflow
    1. 训练样本处理
    1. 模型构建-Keras
    1. 模型训练
    1. 验证模型准确度
  • 模型压缩和转换(转为适配端引擎的端模型)
  • 模型部署到移动端
    1. 简单做法:放在APP包体的assets目录下
    1. 进阶做法:通过url动态下载,支持动态更新,同时减少包体积
  • 移动端推理预测(设备上执行Tensorflow Lite模型)
    1. 加载模型
    1. 构造模型输入:转入input byteBuffer
    1. 执行推理预测
    1. 获取推理运行结果
  • 拿到结果执行业务策略

2.2 左右手智能识别

  • 数据收集:
  • 数据格式
    1. X=[P0,P1,……PN],Pi=[x,y,w,h,destiny,dtime];
    1. Y=[left,right];
  • 收集方式(特殊客户端,内测用户收集)
    • 滑动轨迹:拦截Activity的dispatchTouchEvent事件,缓存手指滑动产生的MotionEvent事件
  • 模型设计:
    • 二分类模型,卷积神经网络
    • TensorFlow的keras
  • 模型训练和转换
  • 移动端推理预测&业务应用