感知人工智能操作系統
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】