这是我参与「第四届青训营」笔记创作活动的第7天
课程主要内容
- 什么是端智能技术
- 端智能技术实践案例
- 端智能技术实践案例
什么是端智能技术
1. 端智能是什么
端智能(On-Device Machine Learning)是指把机器/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。
- 一些客户端案例
- 抖音换装特效
- 离线文字识别
- 肢体检测
- 手势识别
2. 端智能的优势
- Low Latency:低延迟、实时性高
- Privacy:保护隐私
- Power:端设备算力越来越强大
- Offline:可离线
- Low Cost:低成本
- 端云协同:端智能不是云智能的替代,是云端机器学习的延伸,是要结合云和端各自的优势,在云端之间合理分配任务以获取问题最优解。
3. 端智能的发展历程
- 2006年,深度学习被提出,又得益于大数据的发展和硬件算力提升,深度学习算法和框架也不断演进,人工智能领域迎来了一次大发展。
- 与此同时,端侧设备在算力、算法和框架上同样有突飞猛进的发展,各类端侧框架和案例层出不穷。
端智能技术案例
1. 手写数字识别
2. 左右手智能识别和应用
端智能案例落地套路
-
分三个步骤
- 首先,把问题描述和定义清楚,并调研出通过机器学习解决问题的方法。
- 然后,设计和训练出机器学习模型,并针对端侧设备优化和转换模型。
- 最后,把优化后模型部署和集成到端侧设备应用中,执行推理预测,并以进预测结果解决定义的问题。
训练AI模型
数据收集
-
数据来源方式
- 开源数据 - MNIST
- 合成数据
- 人工收集和标注的数据
- 设计和实际需求贴合的一个数据采集程序
- 兼顾不同年龄段、性别、左手/右手等
-
数据增广
- 旋转、平移、缩放变换
模型训练
- 搭建训练环境-Tensorflow
- 训练样本处理
- 模型构建-Keras
- 模型训练
- 验证模型准确度
模型压缩和转换
- 为什么要做模型压缩和转换?
- 移动端使用的是被优化的推理引擎,可以在不同CPU和GPU架构下高效的执行模型推理计算。
- 使用Tensorflow Lite作为移动端上推理引擎。
- TensorFlow模型在被TensorFlow Lite 使用前,必须转换成这种格式。
- Tensorflow Lite 提供转换器 TFLite Convert
模型部署到移动端
-
核心:让移动端可以加载到前面转化的模型
- 简单做法:放在App包体内assets目录下。
- 进阶做法:通过url动态下载,支持动态更新,同时减少包体积。
移动端推理预测
- 推理预测是指设备上执行 TensorFlow Lite 模型
- 加载模型
- 构造模型输入
- 执行推理预测
- 获取推理预测结果
拿到结果执行业务策略
小结
- 一个端智能案例的落地套路流程
端智能工程师学习长路线
回顾端智能完整流程
一些端智能技术的学习指引
入门
- 达成:对端智能技术有一定认识,可以协作完成端智能技术的需求落地
了解端智能技术是什么、可以做什么——>掌握移动端开发、Machine Learning 基础知识,了解业内端智能框架 ——>理解怎么做端智能,可以协作完成端智能技术解决实际业务问题的需求落地
进阶
- 达成:对移动端技术、端智能技术和负责业务有更深入的理解,可以站在更全面的视野上设计端上智能解决方案,建设端上智能架构。
后记
通过今天课程的学习,了解了关于端智能技术的相关知识,学会了机器学习的一些方法,也学习了一些端智能案例分析方法,以及成为端智能工程师的学习路线。