2016年度挑戰完成!馬克·佐克伯公開100小時打造的AI管家「賈維斯」

2016.12.20 by
紀品志
Mark Zuckerberg
馬克·佐克伯今年給自己的挑戰是,在家裡開發出一個人工智慧管家,如同《鋼鐵人》電影中的「賈維斯」。現在佐克柏的「賈維斯」已經能利用口語及文字訊息溝通,操控家中的燈光、空調、音樂和保全了。

Facebook創辦人馬克·佐克伯(Mark Zuckerberg)今日發表一篇網誌,公布2016年自我挑戰的成果。

我2016年的個人挑戰是,建造一套簡單的人工智慧管家--像《鋼鐵人》裡的「賈維斯」(Jarvis)。

100多小時打造「賈維斯」

佐克伯稱今年花了大約一百多個小時,利用閒暇時間,開發了「賈維斯」系統,現在已經建立好簡單的AI,可透過手機、電腦與「賈維斯」溝通,操控家中的電器、音樂及保全。「賈維斯」能用文字訊息或口語溝通聲控開關燈、依個人喜好播放音樂、自動辨識門口的訪客並發表通知、觀察女兒在家的動態,並在起床時自動播放中文課程等。

「賈維斯」智慧管家使用的人工智慧技術,包括自然語言處理、語音識別、物體及臉部辨識以及強化學習,以Python、PHP、Objective C語言編寫。

佐克伯於網誌中表示,原本預期透過這項挑戰,學習AI技術與工具,但過程中同時也更了解家庭自動化的概況,及親身接觸Facebook工程師使用的各種內部技術工具。文中他也分別就家庭系統連接、自然語言處理、視覺辨識、訊息機器人等方面,提出一些實作心得、目前限制與未來趨勢。

家庭物聯網目前的困難

佐克柏文章中提到,實作時由於不同設備系統都使用不同語言與協定,要先寫程式處理,才能著手建構AI。此外,目前多數電器也還沒有連網。要使「賈維斯」這樣的智慧管家能多方應用,需要更多設備連接,業界也需要開發通用的API與標準,使設備間能相互通訊。

自然語言的複雜性

佐克柏讓「賈維斯」理解自然口語有兩步驟,首先要讓AI能以文字訊息進行溝通;接著利用語音轉文字技術,就能直接用語音溝通。

不過,人類語言其實相當複雜。除了利用關鍵字理解指令,佐克柏很快發現,AI還需進一步學習同義詞才能理解(如「家人房」(family room)和「客廳」(living room)兩個詞,在佐克柏家是指同樣的空間)。

對任何AI來說,環境脈絡線索也很重要。同樣一句「開燈」或「打開我的辦公室的空調」,由佐克柏或由太太Priscilla Chan說出口,可能是指完全不同的空間。

自然語言在播放音樂方面也很複雜,因為系統要處理大量關鍵字,指令範圍也更大。佐克柏舉了個有趣的例子:同樣是「play X」(「播放X」)的指令,「play someone like you」、「play someone like Adele」、「play Adele」,看似微小的差異,意思卻完全不同,分別是播放Adele的「someone like you」這首歌、請系統建議與Adele類似的音樂、以及建立一個Adele的歌曲列表來播放。透過正反饋系統,AI能夠學習區別差異。

此外,佐克柏也提到,雖然語音識別系統近來已改進,但仍然不足以理解多人對話的語音。語音識別依賴聽與預測,所以結構化的語音仍比非結構化的對話更容易理解。

視覺與臉部辨識的應用

佐克柏在自家門口安裝數架攝影機,並建立簡單的伺服器,進行人臉偵測與辨識處理。識別身分後,會檢查列表,確認是不是預期的訪客,決定是否放行,並通知佐克柏。

電腦視覺也可以拿來判斷女兒何時醒來,就可以開始播放音樂或華語課程;也可以判斷人正在屋內何處,AI就能正確回應像「開燈」這樣缺乏環境線索的指令。AI系統擁有的線索資訊越多,整體就越聰明。從佐克柏的心得看來,視覺辨識對於提供語言表面的指令之外的環境線索相當有幫助。

文字訊息使用得比預期多

為了能從任何地方透過手機與「賈維斯」進行溝通,佐克柏利用自家的Messenger架構(messenger.com/platform),開發賈維斯對話機器人,發送文字或語音,就會立即轉發到伺服器處理、執行命令。

出乎佐克柏意料的是,相較於語音,使用文字訊息溝通的情況比預期多得多,主因是簡訊比較不會干擾旁人,「賈維斯」傳來的訊息也可以等想看時再看。

佐克柏提到,喜歡文字通訊大於語音通訊的偏好,符合在Messenger與WhatsApp觀察到的狀況,全世界的文字訊息比語音通訊量增長更快。未來AI產品不能僅專注於語音,還需要私人訊息介面。利用像Messenger的平台,也比從頭開發新的應用軟體更好。佐克柏的經驗認為,我們未來都會與像「賈維斯」這樣的機器人溝通。

「我們的內部工具跟基礎建設做得很棒!」

佐克伯看來相當自豪於Facebook軟體基礎工程和內部工具,並強調今年透過自己親身開發AI的經驗發現,Facebook程式碼資料庫組織極有條理、容易搜尋,無論是臉部識別、語音識別、對話機器人框架或iOS開發,以及各種開源資源工具,都使「賈維斯」的開發節省非常多時間,也逐一羅列Facebook所提供的各種資源。

佐克伯考慮過開放「賈維斯」的程式碼,只是目前系統緊密綁定到自己的家庭、電器和網路配置,若將來建立更抽象一層的家庭自動化功能,也許就會釋出。

重點在於「教會AI自己學習新東西」

雖然這項挑戰將進入尾聲,佐克伯表示將會繼續改進「賈維斯」。佐克伯也提到,他的長遠目標是摸索如何教導人工智慧自行學習新技能,而不是必須教它執行特定任務。若多花一年時間在這個挑戰上,他會更聚焦在學習「學習」是如何運作的。他提到:

某種程度上,人工智慧比我們想的更近、也更遠。AI越來越接近能做到比多數人預期的更強大的事:駕駛汽車、治療疾病、發現行星、理解媒體。這些都將對世界產生巨大影響,但我們仍在找尋真正的智慧是什麼。

自然語言、臉部識別、語音識別等,其實都是相同的模式辨識技術的變體,也就是向電腦展示許多例子,以使其能準確識別,不過這些都還是專門用來解決特定問題,而不是通用的人工智慧系統。我們仍不清楚「學習」是如何運作的,以及如何建立一個可以自行學習新技能的系統。

今天佐克伯也接受媒體FastCompany獨家採訪,並公布一小段「賈維斯」智慧管家的影片。

佐克伯也宣布將在幾週內,分享他下一年度的個人挑戰。

所以,「賈維斯」的聲音聽起來怎麼樣?

可能有人還記得,前一陣子佐克伯在Facebook上問大家:賈維斯的聲音該用誰的好呢?還因此「釣出」飾演東尼·史塔克(賈維斯的主人)小羅勃·道尼(Robert Downey Jr.)來留言!因此佐克伯今天還賣了一個關子,表示明天他將會釋出賈維斯的影片,到時候大家就會知道賈維斯的聲音會是誰的了。

2016/12/21更新:佐克伯釋出賈維斯的影片,我們也知道是哪兩個人幫賈維斯配音了 XD

資料來源:馬克·佐克伯的FacebookFastCompany

延伸閱讀

每日精選科技圈重要消息