苹果 ML Frameworks 简介

Outline

1.背景

2.ML Framework

3.Core ML

4.Vision Framework

5.开发流程

背景

Machine Learning 的常见应用场景

苹果 ML Frameworks 简介_第1张图片

Text Prediction :文本预测,如输入法预测;

Entity Recognition:是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等;

Sentiment  Analysis:情感分析,如对京东用户商品评论进行分析。

Style Transfer:图像风格转化,如转换成梵高风格,水彩、铅笔,油墨

Image Captioning:自动图像说明,通过识别图中的实体,生成描述图像的文本;

Music Tagging:音乐分类

Text Summarization:文本摘要,如通过算法自动生成今日头条文章的摘要

苹果在ML上的应用

苹果 ML Frameworks 简介_第2张图片

其实,苹果已经在不少产品中使用了ML技术,如相册分类,输入法预测,watch上的手写识别,搜索推荐,siri语音识别。

如何来识别一朵玫瑰花?

ML的初衷是让机器学习人类的思维来解决问题。那么人是如何识别出一朵玫瑰花的呢?一个没见过玫瑰花的小朋友,自然傻傻分不清。当有人传授给他相关经验(花瓣的形状,颜色,气味等特征)后,他便拥有了比较准确的识别能力了。也许经历了几次错误识别之后,他最终真正掌握了识别玫瑰花的能力。

那么,机器也是一样。先传授给他经验,让他记住花有哪些特征。进而给出一些花让他识别,根据识别的结果总结经验,改进识别的思维,提升准确率。最终具备较高的识别玫瑰花的能力。

苹果 ML Frameworks 简介_第3张图片

当具备了某种能力之后,就需要考虑如何应用到实践中,促进社会生产力的进步,提高效率,造福人类(此处存在?)。

苹果 ML Frameworks 简介_第4张图片

假如让一台移动终端设备(iPhone)来跑ML的Model

苹果 ML Frameworks 简介_第5张图片

ML Framework

框架层级

苹果 ML Frameworks 简介_第6张图片

Accelerate 和 MPS是两个底层库,Accelerate 主要是高性能的进行图像、矩阵、向量、大数值运算。使用MPS可以直接跟GPU打交道,进行高性能图像处理。贴下官方描述:

Accelerate:Make large-scale mathematical computations and image calculations, optimized for high performance。

The Metal Performance Shaders (MPS) framework is now available on macOS, providing a highly tuned library of image processing and machine learning primitives to developers. In Metal 2, MPS expands its machine learning capabilities to enable new classes of algorithms, such as natural language processing, to execute on the GPU.

苹果 ML Frameworks 简介_第7张图片

Core MLVision之后分别单独列出介绍,NLP是专门为自然语言处理相关的应用场景而设计。

苹果目前致力于让Model可以在单个终端设备(iPhone)上运行,有挑战,也有优势:

苹果 ML Frameworks 简介_第8张图片

数据不会离开终端设备,不用担心用户隐私被泄露

不需要网络连接,无流量消耗,省钱又节能

对服务提供方来说,可以省去搭建后端服务器的花费

7*24小时随时可用,只要有电

Core ML

不同算法模型的运行:输入—>输出

苹果 ML Frameworks 简介_第9张图片

常用的一些基础算法模型

苹果 ML Frameworks 简介_第10张图片

对算法模型的运行(输入—>输出)进行抽象、规范化、通用化:Core ML Model

苹果 ML Frameworks 简介_第11张图片

常用的 Core ML model:https://developer.apple.com/machine-learning

苹果 ML Frameworks 简介_第12张图片

一般的Python算法模型转换为 Core ML model(https://pypi.python.org/pypi/coremltools)

苹果 ML Frameworks 简介_第13张图片

example:sklearn 中的LinearRegression,经过训练后的模型使用coremltools转换为MLMODEL

苹果 ML Frameworks 简介_第14张图片

Vision Framework

Vision 提供的功能

苹果 ML Frameworks 简介_第15张图片
普通人脸检测
苹果 ML Frameworks 简介_第16张图片
小脸检测
苹果 ML Frameworks 简介_第17张图片
侧脸检测
苹果 ML Frameworks 简介_第18张图片
脸部部分遮挡检测
苹果 ML Frameworks 简介_第19张图片
佩戴眼镜帽子时检测
苹果 ML Frameworks 简介_第20张图片
面部轮廓点检测
苹果 ML Frameworks 简介_第21张图片
文本检测

还有物体移动追踪,矩形区域检测等。

图片、视频检测:移动设备 VS 服务器(前面提到过,类似

个人隐私:更加私密、安全

资源消耗:免费,无数据传输

实时性:无延迟,立即运行

Vision 的抽象方案

苹果 ML Frameworks 简介_第22张图片
苹果 ML Frameworks 简介_第23张图片

简单的使用Demo

苹果 ML Frameworks 简介_第24张图片

开发流程

Core ML model 就是代码

苹果 ML Frameworks 简介_第25张图片

XCode 集成

苹果 ML Frameworks 简介_第26张图片

接口调用

苹果 ML Frameworks 简介_第27张图片

目前手上没有可运行ML Framework 的机器,本文只是理论层面的简介。运行速度、资源消耗,模型准确率对于ML的应用来说非常重要。期待一些成熟、amazing的ML app 的诞生。

参考:Introducing Core ML   Vision Framework: Building on Core ML  Core ML in depth

你可能感兴趣的:(苹果 ML Frameworks 简介)