端侧机器学习--Google

Google 

 

 

 

端侧机器学习:

1.延迟时间更短且互动更紧密

2.网络连接(对网络不依赖,可离线运行)

3.隐私保护

 

Tensorflow Lite是一个在移动设备和嵌入式系统上的机器学习部署框架:

跨平台性(iOS/android/Linux等)

设备:智能手机(android/iOS),基于Linux的设备(如Raspberry Pi,Coral开发版),微控制器(如Arduino)

场景:

文本(分类预测)

语音(识别/文字转语音/语音转文字)

图像(对象检测/对象查找/OCR/手势识别//人脸建模分割/聚类/压缩/超分辨率)

音频(翻译/语音合成)

内容(视频生成/文本生成/音频生成)

 

ML Kit:基于Tensorflow Lite,对流型端侧机器学习场景提供了一系列预训练模型;

 

可在IOT设备中加入硬件加速器来提高机器学习的运行速度

如coral—可加速机器学习神经网络的产品

 

微控制器上运行机器学习模型:

开发者无需手动构建 模型

已集成了特定硬件优化

例子:Arduino语音检测

 

优化端侧机器学习模型部署:(让模型更小,运行更快)

端侧设备算力有限,内存有限,耗电量,应用大小(优化很重要)

方法:

1.利用硬件加速器(GPU/高通DSP)

2.使用针对移动设备优化的模型结构。  取舍:模型精度(需要更多的运行时间)和模型大小速度

3.量化:减少模型权重和激活函数的位数(如将float32映射为int8)

 

4.剪枝:1.模型训练时,移除权重小于某阈值的连接;2.密集张量现在将变得稀疏(用0填充)

剪枝优点:模型变小,稀疏张量可压缩/模型的运行速度变快,需执行的操作变少

(剪枝可以和量化一起做,效果更好)

 

 

 

原文地址:https://www.cnblogs.com/xiaowa/p/15397092.html