微软将人工智能嵌入 Windows 10 更新

阅读数:61 2018 年 3 月 27 日

话题:开源微软语言 & 开发AI

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

下一轮Windows 10 更新为 Windows 应用程序与人工智能功能的集成提供了新途径,将直接令数以亿计的个人电脑、平板、IoT 边缘设备等 Windows 设备受益。

新版Windows ML 平台可供开发者直接通过 Visual Studio 将预先训练好的深度学习模型与自己的应用程序集成,在导入 VS 工具前,模型必须转换为 Open Neural Network Exchange(ONNX)格式。

ONNX 是一种开源的机器学习框架,由微软和 Facebook 在 2017 年 9 月发布,随后 AWS 也加入了这一项目。ONNX 使得不同神经网络框架可以相互移植,将使用诸如PytorchApache MxNetcaffe2或 Microsoft Cognitive Toolkit(CNTK)等工具训练的模型能够转换为 ONNX 格式,并应用在 Windows 应用程序中。包括 NVIDIA、Intel、Qualcomm 以及 AMD 在内的众多 Windows 硬件供应商已经开始支持该格式,并发布了面向 ONNX 优化的硬件。

微软的很多应用程序和服务中均已广泛应用了人工智能技术,例如图像和面容处理、搜索结果相关性、语音识别以及数据安全等。这些 AI 功能依赖在云端训练的模型,需要耗费密集的计算资源。然而对于云端 API 的以来会导致产品功能在使用过程中遇到延迟,让用户产生与数据隐私有关的顾虑,并且会增加设备能耗。

借助 Windows ML 与 ONNX 的配合,需要耗费大量计算能力的模型训练过程依然可以放在云端进行,但推理和计算操作可以直接在应用程序中进行。这样便可脱机使用,可降低能耗,避免需要外传私密数据,同时由于延迟大幅降低还可实现实时处理。在构建模型的过程中,开发者和数据科学家依然可以根据习惯选择自己最适应的框架,随后可将训练好的模型转换为 ONNX 格式,并将转换后的模型集成到 Windows 应用程序中。

据 Gartner 的调研,设备上的人工智能能力,其潜在用例主要将围绕个人助理、欺诈检测、设备资源优化或虚拟现实等。嵌入式的人工智能能力还能让需要直接使用用户私密数据的应用程序,如医疗健康诊断、个性化书写工具、生物特征身份验证等工具获益。

Windows ML 并非仅限深度学习模型,同样可用于导入来自其他框架的经典机器学习模型,例如Core MLScikit-LearnXGBoost以及LibSVM

Apple 也按照类似方式提供了CoreML 模型格式。CoreML 是一种 Python 软件包,可将多种类型的模型转换为 CoreML 模型格式,并集成到 macOS 和 iOS 应用中。CoreML 更倾向于经典机器学习模型,例如 Scikit-Learn、LIBSVM 和 XGBoost,并且仅支持 Caffe V1 和 Keras 1.2 这两个深度学习框架。此外 Google 也在通过TensorFlow Lite框架将机器学习能力带到运行 Android 的移动设备上

虽然 TensorFlow 和 Core ML 并不兼容 ONNX,但社区项目提供的ONNX-TensorFlow以及ONNX-CoreML库可分别将相应的模型转换为 ONNX 格式。

人工智能技术的应用范围正在飞速增加,而这一趋势与将一定程度的机器学习能力嵌入 IoT 设备以改善效率的做法不谋而合。通过将人工智能能力直接推进到距离最终用户更近的设备和应用程序中,微软、Google 和 Apple 正在努力跑完人工智能之路的最后一公里。

阅读英文原文Microsoft Embeds Artificial Intelligence in Windows 10 Update