從機器學習到人工智慧

從機器學習到人工智慧

4 人贊了文章前言

人工智慧技術在21世紀發展迅速,為人類社會帶來了巨大影響,大至智能城市、小至電視空調電冰箱等都能見到人工智慧的蹤影。2016年3月8日至15日,AlphaGo在圍棋競賽中擊敗韓國職業九段棋手李世石,更是宣告了人工智慧時代的來臨。

人工智慧不再是科幻電影中的橋段。電影「她(Her)」中,男主角Theodore在現實生活中是個不折不扣的Loser,自從遇到了人工智慧操作系統——Samantha,不但生活有了重心,夜裡還與Samantha談心而甜蜜入睡。就是這些橋段,如今也因人工智慧技術與機器學習演算法的突破,正悄悄地從幻想走入人們的日常生活。

那麼,到底何謂人工智慧? 過去的定義是:人工智慧是指由人工製造出來的系統所表現出來的智慧。通常人工智慧是指通過電腦實現的智慧。

一開始的人工智慧研究,有一部分是設法把人的思考模式拆解成一步一步的可以告訴機器的指令。這在過去計算資源有限的條件下來看,似乎是很有道理的方式之一,但是這種方式在「演繹、推理和解決問題」的能力上是十分受限的。

隨著計算資源的增加和機器學習演算法的進步,讓機器從資料中去自動學習和找到規則,也是一種實現人工智慧的方法,這也進一步讓人工智慧、機器學習、深度學習等演算法間有著密不可分的聯繫。由下圖[注1]可以清楚看出,為了達成人工智慧的目的,機器學習是其中的一種方法,而深度學習是機器學習領域裡面的一個分支。

由於人工智慧技術的突破,過去的「任務型AI助理」已經不能稱為智能的表現了,例如:對著Siri大喊「今天天氣怎麼樣啊?」,雖然它會反饋天氣訊息,但是這樣又與搜索引擎有什麼區別呢?未來的技術應該是要偵測到user的情感與意圖,例如:「我要跟女朋友去約會」,那麼AI agent 應該要根據現在的時間、地點、日期、天氣等來進行回復,「現在外面下著小雨,建議可以從事室內活動,先吃個下午茶,然後去看最新上映的xxx電影,這部電影很適合情侶觀看,可以增進彼此的感情……」

理解用戶的情感與意圖是一件十分具有挑戰性的任務,這絕非是單個機器學習或深度學習演算法就能完成的任務。唯有在相當優秀的演算法與計算機既有的強大能力完美配合時,才能真正創造出具備情感智能的機器人。

由於各領域演算法繁雜不及備載,本文將挑選四種最重要的演算法框架來介紹。在這四種演算法框架內,可以放入各種不同類型的演算法;若把最新的深度學習演算法分別放入該框架,則可以在該應用領域中達到相當可觀的成效。除了這四種框架外,在本文的最後還會介紹到Emotibot內部的整合範例,利用這個範例,讓讀者能清楚地了解兼具情感和理解人類意圖的對話機器人是如何被實現的。

監督式學習(Supervised learning)

Supervised learning 是機器學習領域內最常見的一種問題型態,也叫監督式學習,不過「填鴨式學習」這個詞,似乎能更清楚地表達supervised learning的精神。實際操作手法(舉例)如下:

(1)假設我們有很多貓跟狗的照片,而且每張照片都標明這張照片是貓還是狗。

(2)把這些照片拿來訓練 AI agent ,使其具備分辨照片上的動物是貓或是狗,在此我們在意的是他的辨識結果是否正確,並不在意他是怎麼學會的。

(3)最後再拿另外一些沒有在教材內的貓與狗的照片當作測試試題,來測驗AI agent 是否學會此技能。

具體精神是:

先幫AI agent 準備好有標準答案的練習題目,接著讓 AI答題,最後藉由比對AI agent 寫的答案與標準答案,來進行修正。至於為什麼稱為「填鴨式學習」,是因為如果這個 AI agent 是很懶惰的,它就會直接把題目跟答案全部背下來,所以在練習題上它會表現得非常好,但是給它看沒看過的題目,它就不會寫了。因此為了衡量AI agent 的學習狀況,通常還會特別準備一組測試試題,利用測試試題的表現來衡量AI agent的學習狀態。

自主學習(Unsupervised learning)

相較於填鴨式學習,Unsupervised Learning的演算法,是讓機器具備自主學習能力。舉例來說,讓計算機看很多動物圖片,但是不跟計算機說每個動物的名稱。雖然計算機不清楚動物名稱,但是仍然可以根據自主學習到的模式來發現規則與類別。

筆者使用了這種演算法,從11051本小說中挑了17,515,150句子給 AI agent 閱讀,然後輸入一些句子,讓 AI agent 來幫我們挑選語意相近的句子,結果如下。

其中很有趣的是,從AI agent 挑選出來的句子來看,AI agent 似乎學習到了:「兒臣」和「臣妾」、「主子」和「娘娘」、「早膳」和「奶茶」、「準備好了」和「熬制好了」,這些都具備有某程度的相似性。

舉一反三學習(Transfer learning)

由上面兩個例子,我們可以明白,在適當的演算法設計和配上大量的資料後,AI agent 是有辦法學習到某些技能與知識的。但是,如果每個任務都要從頭學起,那豈不是太麻煩也太不智能了? 因此科學家們提出了transfer learning的理論與概念,簡言之,transfer learning 是利用知識與經驗的轉移,達到舉一反三以及觸類旁通的能力。

舉實例來說[注2],假設各位讀者看過《食夢者》這部漫畫,可以發現,其實漫畫家和研究生有一定程度上的相似性(見下面的圖表)。假設一位新入學的研究生,因為看了《食夢者》這部漫畫,領悟到了如何成為一名合格的研究生,這個動作就稱為transfer learning,即舉一反三與觸類旁通的能力。

筆者在這邊舉個在圖像識別中使用transfer learning的例子,假設現在的目標是把「人、上衣、包、長褲、鞋子」辨識出來,為了要training AI agent 去辨識這些物品,我們需要這些物品的資料,但是如果是直接從頭開始訓練AI,則收集這些類別「人、上衣、包、長褲、鞋子」的照片,每個類別需要約數十萬張照片。這種做法在實際上是不可行的。因此,我們使用了transfer learning的概念。

(1)首先,我們在ImageNet上找到約120萬張被標註過的照片,其中共有1000個類別。

(2)用這些類別的照片訓練 AI agent的視覺能力。

(3)針對「人、上衣、包、長褲、鞋子」等類別分別收集約2000張照片。

(4)在AI agent 已經發展好的視覺系統內,再拿這些例子來擴增AI的視覺能力。結果如下圖:

以上只是一個簡單的transfer learning在影像上的的範例。同樣的道理,我們也把這種經驗移轉的演算法,應用在情感辨識、文字辨識、語音辨識上,並且利用另一種經驗整合的演算法,把這些各自獨立的資訊,整合在AI agent的大腦整合區內,讓AI agent有更全面的思考與決策能力。

獎勵式學習(Reinforcement Learning

Reinforcement Learning,是以獎勵信息來鼓勵 AI agent的良好表現,如下圖所示。

舉例來說,當一個小朋友在吵鬧時,老師跟他說「不要吵鬧就有糖吃」後,小朋友選擇不吵鬧,老師就給小朋友一個糖果。在這樣的情境下,「AI Agent」是小朋友,「獎勵信息」則是糖果,小朋友選擇的回應策略是「不吵鬧」。老師則是包含在環境內的一個角色。

筆者參考了deep mind的研究成果「Playing Atari with deep reinforcement learning」,設計了一個演演算法來讓電腦學會如何打電動(Flappy Bird),獎勵機制如下:

(1)如果 Flappy Bird飛過水管,會得到1分;

(2)撞到水管,則會扣1分;

(3)若沒有撞到水管,也沒有飛過水管,會得到0.1分。

最後電腦很容易就拿到了105分。

由上面簡單的例子可以得知,當設計好合適的演算法與獎勵機制後,AI agent 就能根據環境條件,自主學習發展一套最合適的生存策略,同時對於環境的專業知識需求並不是那麼大。

Emotibot 的AI agent 也應用這個機制,使其時時具備自我反省與自動修正的能力。

Emotibot的演算法架構

如前文所提,理解用戶的情感與意圖十分困難,需要多種的機器學習演算法才能完成。因此,Emotibot 情感計算與理解用戶的核心精神,是通過語音、圖像、文字這三個方面來使用各種不同的機器學習技術,並整合這三個的信息分析來實現這個智能化的系統。智能化系統的整合範例大致上可以拆解成下列幾個深度學習模型的互相搭配與應用:

(1)首先,藉由transfer leaning 搭配 supervised learning 的深度模型,將使用者的原始訊息萃取出更高階層的meta-information,例如「今天和女朋友看了一部好電影」的語意是和女朋友看了電影,情感是喜悅。

(2)這些萃取出來的meta-information 會進入一個自學習模型,這個模型已經閱讀了許多的書籍與日常對話情境,藉由自學習模型,產生出許多可以回應的訊息。

(3)就像AlphaGO 的演算法里的決策網路一樣,由自學習模型生成的信息,也會進入我們的決策模型,整合併評估現有的信息與環境,挑選出最符合現狀的回復。

(4)當我們的AI agent 計算出最合宜的回應訊息後,我們會根據使用的回復,給AI agent的回應打分數,藉由獎勵式模型,來獎勵回應決策模型與自學習模型。

Emotibot的情感計算就是這樣結合多種模型來完成聽懂、讀懂、看懂的「懂你」機器人,除了各種最先進的演算法與技術外,Emotibot 的團隊成員是來自各方的領域專家與一群技術超群的工程人員,大家正在共同解決情感計算的問題。

同時,利用機器人的記憶能力,讓它足以建立起情感鏈接、在對話中記憶用戶的喜好、習慣、狀態,再結合情感上的理解作出合宜回應,最終讓機器人成為能夠陪伴我們談心、談問題的貼心好朋友。

?參考文獻

[注1] Michael Copeland,NVIDIA News,OL, What』s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning?

[注2] 台灣大學電機系李宏毅教授課堂舉例

作者:竹間智能 Emotibot數據科學家林志豪

鏈接:竹間智能Emotibot

來源:知乎

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

推薦閱讀:

TAG:機器學習 | 人工智慧演算法 | 人工智慧 |