AI即人工智能的又一波浪潮来了。机器学习,深度学习,神经网络,语音识别,图像识别...... 常常充斥我们的耳目。不论是AI赋能产业,还是AI改变生活,有的人停留于想象,有的人却在付诸实践。
人工智能如何应用落地呢?
回忆过往,我们是如何在PC或者智能手机上开发应用的呢?其中很重要的一点就是我们拥有了计算机操作系统,从DOS到Windows,从各种Unix到各种Linux,从Symbian到安卓以及iOS,是各式的操作系统使我们可以开发多样的应用。
那么,如果有了人工智能操作系统,是否就可以让我们赋能产业,改变生活了呢?
答案应该是肯定的。但是,理解人工智能操作系统,可能还要从什么是操作系统开始。
什么是操作系统?
在工科大学的课程中,即便是非计算机专业,也会有一门关于《操作系统》的课。
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. ------来自 Wikipedia.org
简单的说,操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上最基本的系统软件。操作系统位于底层硬件与用户之间,是两者沟通的桥梁。主要功能是资源管理,程序控制和人机交互等。
操作系统可以从多种维度进行分类,例如单任务/多任务,但用户/多用户等等。从设备复杂性的维度来看,大体可以分为可分为智能卡操作系统、实时操作系统、传感器操作系统、嵌入式操作系统、个人微机操作系统、多处理器操作系统、网络操作系统和大型操作系统等等。
以现代标准而言,一个标准PC的操作系统大约具备以下的功能:
- 进程管理(Processing management)
- 内存管理(Memory management)
- 文件系统(File system)
- 网络通信(Networking)
- 安全机制(Security)
- 用户界面(User interface)
- 驱动程序(Device drivers)
什么是人工智能?
人工智能可能是一个听着简单,实际又很复杂的概念,外延比较宽泛,《人工智能简史》一书可能会给出一些历史上的脉络。
AI,来自于维基百科的解释是这样的:
Artificial intelligence is intelligence exhibited by machines, rather than humans or other animals . In computer science, the field of AI research defines itself as the study of "intelligent agents": any device that perceives its environment and takes actions that maximize its chance of success at some goal. Colloquially, the term "artificial intelligence" is applied when a machine mimics "cognitive" functions that humans associate with other human minds, such as "learning" and "problem solving". ---- 来自wikipedia.org
人工智能中的智能如何定义呢?如何解释智能呢?或许, 用图灵测试来理解人工智能更加方便。1950年, 阿兰图灵提出了图灵测试:如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器具有智能。具体地,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。
关于对人工智能的粗浅认识,可以参见《老码农眼中的简明AI》一文。
什么是人工智能操作系统?
回到主题,什么是人工智能操作系统呢?首先,它是一个操作系统,应该具有操作系统的相关功能。那人工智能操作系统是具备了人工智能能力还是提供了人工智能能力的操作系统呢?个人觉得,大概是提供并具备人工智能能力的操作系统。
人工智能操作系统应具有通用操作系统所具备的功能,并且包括语音识别、机器视觉、执行系统和认知行为系统。具体的来说大概包含以下子系统:文件系统、进程管理、进程间通讯、内存管理、网络通讯、安全机制、驱动程序、用户界面、语音识别子系统、机器视觉子系统、执行子系统、认知子系统等等。
不同维度的操作系统,如果具备并提供了人工智能的能力,大概都可以被认为人工智能操作系统,而不仅仅局限在机器人的领域。
现如今,有没有人工智能操作系统供我们使用呢? 一般意义上的人工智能操作系统可能还在期待中,但是在垂直领域的人工智能操作系统已经开始进入我们的生活了,例如DuerOS。
什么是DuerOS?
DuerOS是百度度秘事业部研发的对话式人工智能操作系统。作为一款开放式的操作系统, DuerOS能够时时进行自动学习,让机器具备人类的语言能力。简单的说,目前的DuerOS是面向语音交互的AI系统。
DuerOS 的整体架构包括三层:中间层为核心层,即对话服务系统;最上层为应用层,即智能设备开放平台;***层为能力层,即技能开放平台。
图片来自百度百科
核心层,包括了从语音识别到语音播报再到屏幕显示的一个完整交互流程(可以理解为操作系统的输入/输出),以及背后支撑交互的自然语言理解、对话状态控制、自然语言生成、搜索等等核心技术,这些技术支撑着上下两层的实现。
应用层,提供了核心接入组件、芯片模组、麦克风阵列等的开发套件,包括工业设计、结构设计、音腔设计在内的参考设计方案,以及具体的智能硬件,例如小度音箱系列产品。
能力层,是面向开发者,提供了包括了原生技能和第三方技能在内的技能开放平台,开发者可以通过技能工具,来创建并发布基于 DuerOS 的技能。
搭载DuerOS的设备可让用户以自然语言进行对话交互,实现影音娱乐、信息查询、生活服务、出行路况等多项功能的操作,同时支持第三方开发者的能力接入。
AI赋能,开发基于DuerOS的应用
作为程序员,开发基于DuerOS的应用和开发一般的web应用是类似的,只是输入变成了语音,输出也是语音或者图像显示。所谓技能,可以理解成通过http/https实现的业务逻辑所形成的服务。
开发者一般在技能开放平台(DBP,DuerOS Bot Platfrom)上完成应用的开发,测试和发布。可以把DBP看出Android 或iOS,应用的发布与在安卓商店或AppStore上类似。DBP为开发者提供了一整套技能开发、测试、部署工具。
图片来自百度百科
通过DBP 所提供Java/Javascript/PHP/Python/Go的SDK,开发变得相对简单。同时,开发者可以在DBP平台上,通过可视化界面,简单且高效地开发各类个性化技能,为用户提供个性化的服务。
有意思的是,DBP(https://dueros.baidu.com/dbp) 通过高度集成的应用模版可以提供小技能的服务,无需编程,只需要上传资源就可以实现小技能即微特性的开发和部署,非常简单有趣地在智能音箱上使用。
所有这些,大概就是人工智能操作系统给开发者带来的福音吧。
参考资料
[美] 亚伯拉罕·西尔伯沙茨,《操作系统概念精要》,机械工业出版社,2018
尼克,《人工智能简史》,人民邮电出版社,2017
https://dueros.baidu.com
https://dueros.baidu.com/dbp
https://baike.baidu.com/item/DuerOS
【本文来自51CTO专栏作者“老曹”的原创文章,作者微信公众号:喔家ArchiSelf,id:wrieless-com】