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

71 阅读4分钟

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

课程主要内容

  • 什么是端智能技术
  • 端智能技术实践案例
  • 端智能技术实践案例

什么是端智能技术

1. 端智能是什么

端智能(On-Device Machine Learning)是指把机器/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。

  • 一些客户端案例
    • 抖音换装特效
    • 离线文字识别
    • 肢体检测
    • 手势识别

2. 端智能的优势

  • Low Latency:低延迟、实时性高
  • Privacy:保护隐私
  • Power:端设备算力越来越强大
  • Offline:可离线
  • Low Cost:低成本
  • 端云协同:端智能不是云智能的替代,是云端机器学习的延伸,是要结合云和端各自的优势,在云端之间合理分配任务以获取问题最优解。

3. 端智能的发展历程

  • 2006年,深度学习被提出,又得益于大数据的发展和硬件算力提升,深度学习算法和框架也不断演进,人工智能领域迎来了一次大发展。
  • 与此同时,端侧设备在算力、算法和框架上同样有突飞猛进的发展,各类端侧框架和案例层出不穷。

端智能技术案例

1. 手写数字识别

2. 左右手智能识别和应用

端智能案例落地套路

  • 分三个步骤

    • 首先,把问题描述和定义清楚,并调研出通过机器学习解决问题的方法。
    • 然后,设计和训练出机器学习模型,并针对端侧设备优化和转换模型。
    • 最后,把优化后模型部署和集成到端侧设备应用中,执行推理预测,并以进预测结果解决定义的问题。

image.png

训练AI模型

数据收集

  • 数据来源方式

    • 开源数据 - MNIST
    • 合成数据
    • 人工收集和标注的数据
      • 设计和实际需求贴合的一个数据采集程序
      • 兼顾不同年龄段、性别、左手/右手等
  • 数据增广

    • 旋转、平移、缩放变换

模型训练

  1. 搭建训练环境-Tensorflow
  2. 训练样本处理
  3. 模型构建-Keras
  4. 模型训练
  5. 验证模型准确度

模型压缩和转换

  1. 为什么要做模型压缩和转换?
    • 移动端使用的是被优化的推理引擎,可以在不同CPU和GPU架构下高效的执行模型推理计算。
  2. 使用Tensorflow Lite作为移动端上推理引擎。
    • TensorFlow模型在被TensorFlow Lite 使用前,必须转换成这种格式。
    • Tensorflow Lite 提供转换器 TFLite Convert

模型部署到移动端

  • 核心:让移动端可以加载到前面转化的模型

    • 简单做法:放在App包体内assets目录下。
    • 进阶做法:通过url动态下载,支持动态更新,同时减少包体积。

移动端推理预测

  • 推理预测是指设备上执行 TensorFlow Lite 模型
  • 加载模型
  • 构造模型输入
  • 执行推理预测
  • 获取推理预测结果

拿到结果执行业务策略

小结

  • 一个端智能案例的落地套路流程

image.png

端智能工程师学习长路线

回顾端智能完整流程

image.png

一些端智能技术的学习指引

入门

  • 达成:对端智能技术有一定认识,可以协作完成端智能技术的需求落地

了解端智能技术是什么、可以做什么——>掌握移动端开发、Machine Learning 基础知识,了解业内端智能框架 ——>理解怎么做端智能,可以协作完成端智能技术解决实际业务问题的需求落地

进阶

  • 达成:对移动端技术、端智能技术和负责业务有更深入的理解,可以站在更全面的视野上设计端上智能解决方案,建设端上智能架构。

后记

通过今天课程的学习,了解了关于端智能技术的相关知识,学会了机器学习的一些方法,也学习了一些端智能案例分析方法,以及成为端智能工程师的学习路线。