天天看點

《人工智能:計算Agent基礎》——1.6 原型應用

本節書摘來自華章計算機《人工智能:計算agent基礎》一書中的第1章,第1.6節,作者:(加)david l.poole,alan k.mackworth 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

人工智能領域的應用廣泛而且多樣化,包括醫療診斷、工廠流程排程、險惡環境中的機器人、博弈、太空中的無人駕駛車輛、自然語言處理系統、指導系統等。這些應用并不是獨立進行的,我們抽象出這些應用的本質特點,來研究智能推理及動作背後的原理。

本節概述了4個應用領域,其中的幾個執行個體将貫穿整本書。盡管我們介紹的幾個執行個體都很29簡單(如此他們才适用于本書),但其應用領域代表了人工智能技術能夠或正在應用的領域範圍。

4個應用領域如下所示:

自主傳送機器人會在某個建築物旁徘徊,負責給裡面的人傳送包裹和咖啡。這種傳送agent能夠找到路徑、配置設定資源、接受人們的請求、決定優先順序、在不傷害到人和它本身的情況下傳遞包裹。

診斷助手幫助人們找出問題并提出修改或治療意見來改正問題。例如電工助手,能夠在給定電工問題特征的情況下就房屋中的錯誤提出建議,包括保險絲燒斷、燈開關毀壞、燈泡燒壞等情況。再如醫療診斷助手,在特定醫療領域和病人的症狀及病曆等知識的基礎上,可以發現潛在的疾病、有用的檢查以及合适的治療手段。對檢測和修理它的人們以及那些要為它們的行為最終負責的人們,這種助手可以解釋它的推理過程。

指導系統與一個學生進行互動,展示某些領域的資訊,并檢查學生的知識或行為。這不僅僅是向學生展示資訊。做到像一個好老師那樣,根據每個學生的知識、學習偏好及誤區,做到因材施教,展示不同的資訊,這是一項更具有挑戰性的工作。系統必須要了解所設計的科目以及學生們的學習情況。

一個交易agent能夠知道一個人想要什麼,能買什麼,并為他的利益服務。它應該知道他的需求和偏好,以及如何權衡競争性目标。例如,如果一個家庭要去度假,旅遊agent需要預訂飯店、飛機票、計程車以及娛樂活動,所有這些都要互相适合。它應該決定顧客的權衡。如果最舒适的飯店無法為這一家人在所有的假期内提供住宿,這時就要看他們是更喜歡在餘下時間選擇更好的飯店,還是并不喜歡變換飯店。它甚至可以為特價商品貨比三家或一直等到更好的交易出現。

本書中所有執行個體都應用到上述4個領域,在以下幾個小節我們将詳細讨論每個應用領域。

1.6.1 自主傳送機器人

我們來想象一個機器人,它具有多個輪子,能夠撿起物體并可以放下。它具有感覺能力,是以它能識别需要操控的目标物體,也能繞開障礙物。它可以以自然語言的形式接受指令,并遵循這個指令,能夠在目标發生沖突時做出合理選擇。這種機器人可以應用于辦公環境中,來傳送包裹、郵件、咖啡等物品,或者嵌入輪椅中來幫助殘障人士。它應該是有用且安全的。30

在圖1-3agent的黑盒特征中,自主傳送機器人有以下輸入:

先驗知識,由agent設計者提供,關于agent自身的能力,比如agent可能會遇到什麼樣的目标物并且區分這些物品,請求的含義,還可能有agent的環境,比如地圖;

通過動作得到的先前經驗,例如,它的動作效果,世界中的常見對象是什麼,在同一天中的不同時段會有什麼樣的請求;

目标,可以表示為應該傳送什麼,什麼時候傳,以及如何進行權衡,例如什麼時候它必須放棄一個目标去完成另外一個,或者在執行動作的迅速性與安全性之間做出權衡;

觀察值,從相機、聲波定位儀、觸覺、聲音、雷射測距儀或鍵盤這樣的輸入裝置中擷取對環境的觀察值。

機器人的輸出是機械控制,規定它的輪子如何轉動,它的四肢應該往哪兒移動,它的鉗子應該做什麼。其他的輸出還有語音和視訊輸出。

在複雜度的一系列次元中,當機器人是扁平系統時是最簡單的狀況,用一系列的狀态來表達,沒有不确定性,有可完成的目标,沒有其他agent,有給定的知識,而且具有完全理性。在這種情況下,存在一個不确定階段規劃期,決定要做什麼的問題被簡化成狀态圖中尋找一條路徑的問題。這一部分将在第3章介紹。

對于推理任務來說,每一個次元上都能增加概念複雜度:

層次分解,通過将每個子產品簡單化而且能夠被自身所了解,進而使整個系統的複雜度增加。第2章将介紹這一部分。

用一系列的特征模組化比用清晰狀态模組化使系統更容易了解。例如,可能會有機器人的位置特征,它所有的燃料數量特征,它所運送的物品特征等。用一系列的狀态進行推理,其中每一個狀态是對應于每個特征的值的配置設定,失去了這些特征提供的結構資訊。用一系列的特征表示來進行推理,可能會開發計算增益。用一系列的特征進行規劃将在第8章讨論。當涉及多個個體時(如多人或多個傳送物),用一系列的個體與關系進行推理可能會更容易些。用一系列的個體與關系進行規劃将在14.1節讨論。

如果agent僅僅是向前看幾步,它的規劃期是有限的;而如果它有一組固定的要達到的目标集,那麼它的規劃期就是不确定的。随着不間斷的需求和動作,為了長期幸存,它的規劃期是無限的,例如,郵件到達時就傳送,電池電量低時就先進行充電。

可能存在目标如“将咖啡傳送給克裡斯,并保證你自己一直有能量”。更為複雜的目标可能會是“将實驗室打掃幹淨,并将所有的東西歸位”。有時可能存在更複雜31的偏好,例如傳遞機器人要完成“郵件到達時就傳送郵件,有咖啡請求時要盡可能快地服務,但是傳送标記為重要的資訊更重要,并且當克裡斯請求咖啡時,需要更快地為她服務”。

可能會有感覺不确定性,因為基于agent有限的傳感器,它可能不知道世界中存在什麼。

可能會有行為效用的不确定性,無論是車輪滑動這樣的低層次行為,還是像agent在傳送咖啡給克裡斯時不知道是否已經将咖啡放在她的書桌上這樣的高層次行為,都具有不确定性。 圖1-7 傳送機器人環境圖,說明一個典型的實驗室環境,也說明了門的位置和它們開放哪一條路徑

可能存在多個機器人,它們可能互相協調來傳遞咖啡與包裹,也可能互相争奪電源插座。也可能會有兒童來戲弄機器人。

機器人有許多要學習的,例如地闆的光滑程度與它的發亮程度成一定的函數關系,克裡斯在同一天的不同時段去哪裡閑逛,克裡斯會在什麼時候要一杯咖啡,什麼動作會得到最高的獎勵。

《人工智能:計算Agent基礎》——1.6 原型應用

https://yqfile.alicdn.com/9cf080cbe8793020800e71632088b0a517feb775.png" >

圖1-7為傳送機器人描述了一個典型的實驗室環境。環境由4個實驗室和很多辦公室組成,機器人僅僅能夠推開門,而且圖中門的方向反映了機器人的移動方向。房間需要鑰匙,鑰匙可以從多種來源獲得。機器人需要在這些房間之間傳遞包裹、32飲料或菜肴。環境同樣包括對機器人有潛在危險的樓梯。

1.6.2 診斷助手

診斷助手在一些特定系統,如就醫的病人、房屋中的電力系統和汽車等,給人們提供建議。診斷助手應該為潛在的故障或疾病提供建議,要進行什麼檢查,要開什麼樣的處方。為了給出這些建議,診斷助手需要一個系統模型,包括關于可能的原因的知識,有效檢查的知識,有效治療的知識,以及系統的觀察值(經常稱之為症狀)。

為了能夠使用,診斷助手必須提供一些附加值,讓人們能夠容易使用它,而不是變得比其價值更為麻煩。診斷助手與網際網路相連,可以從全世界吸收專家意見,它的行為會以最新的研究為基礎。然而,它必須能夠判定所提出的診斷或行為是不是合适。人類應該是對計算機系統持懷疑态度,因為它不透明而且令人費解。當人類為他們所做的負責時,即使是基于計算機系統的建議,他們也應該為所提出的行為提供合理的判斷。

就圖1-3agent的黑盒定義來說,診斷助手有以下輸入:

先驗知識,例如開關和燈泡如何正常工作,疾病或故障怎樣顯現出來,檢查所提供的資訊,以及修理或治療後的效果。

先前經驗,是以前案例的一系列資料,包括修理或治療後的效果,故障或疾病的流行程度,這些疾病和故障的特征的普遍程度,檢查的準确度。這些資料通常是關于類似的人工産品或病人的,而非實際需要診斷的那個。

修複裝置的目标以及在多種選擇中進行權衡,例如是修理還是替換不同的部件,病人是否希望活得更久些,那将意味着會遭受更多的疼痛。

裝置或病人的症狀觀察值。

診斷助手的輸出是一系列治療方法或檢查的建議,以及提出這些建議的理由。

【例1-10】 圖1-8描述了一個房屋中的電力分布系統。在這個房屋中,電能通過斷路器進入房屋,然後轉到插座或通過電燈開關轉到電燈處。例如,當有電進入房屋,斷路器cb1打開,開關s1和s2都合上去或合下來時,燈l1是開着的。這是一類模型,33正常情況下,房主都會将電源放置在屋内,在給定開關位置,哪些燈開着哪些燈關着的狀況下,通過模型确定所出現的問題。這個診斷助手可以幫助房主或電工檢查電力問題。

《人工智能:計算Agent基礎》——1.6 原型應用

https://yqfile.alicdn.com/91f4ba4f4595585257c34bf45a9289d813977d76.png" >

每個次元都與診斷助手相關:

層次分解允許在處理低層原因的同時維持高層目标,而且能夠進行詳細的系統監控。例如在醫療領域,一個子產品可以處理心髒監控的輸出,并給出高層的觀察值,如在心率發生變化時給出通知;另外一個子產品會接收這個觀察值和其他高層的觀察值,并注意心率變化的同時引起的其他症狀。在電氣領域,圖1-8描述的是一個抽象層次,更低層次可以較長的描述電壓、電線如何連接配接和開關的内部結構。

大多數系統太過複雜而無法用一系列的狀态進行推理,是以它們經常用一系列的特征或個體部件及它們間的關系來描述。例如,人的身體可以用一系列各種各樣的部件的特征值來描述。設計者在不知道實際個體的情況下,可能會想建立動力學模型。例如,電力診斷系統的設計者在知道哪些燈和開關存在于房屋裡之前,也就是在知道它們的特征之前,34為燈和開關如何工作建立模型。這時可以利用一系列的關系與互動,當知道個體時通過添加獨立部件來完成這個模型。

對靜态系統進行推理是可能的。例如,給定開關位置,當燈處于關閉狀态時,對可能出現的問題進行推理。也可以對檢查和治療的結果進行推理,agent會一直進行檢查和治療,直到問題解決,或者agent會實施持續的系統監控,持續修複任何問題。

感覺不确定性是診斷需要面對的基本問題。如果agent無法直接觀察到系統的内部結構,這時就需要進行診斷。

效用不确定性也會存在,因為agent可能不知道治療結果,而且治療經常會出現未預料到的結果。

目标,可能會像“确定出錯的問題”這麼簡單,但通常會涉及花費、疼痛、預期壽命、診斷的正确率、療效的不确定性、治療的副作用不确定性等方面的複雜權衡。

盡管診斷通常是一個單agent問題,但當涉及多個專家時,診斷會變得更複雜,因為他們可能會有沖突的經驗或模型,也可能會有多個病人來競争agent的資源(例如醫生的時間、手術室)。

學習是診斷的基礎。通過學習我們可以得知疾病的進展情況,以及治療進行得怎麼樣。對于學習來說,診斷是一個具有挑戰性的領域,因為所有的病人都是不同的,而每個醫生的經驗都隻是針對帶有任意特定特征集的少部分病人。醫生們看到是有偏差的人口樣本,那些來看病的人,通常都會有一些不尋常的或疼痛的病症。

診斷通常需要快速地回答,沒有時間進行詳盡的推理或做到完全合理。

1.6.3 智能指導系統

智能指導系統是在某些領域指導學生的計算機系統。

例如,在基礎實體的指導系統中,如力學,系統會介紹理論知識,給出一些固有的例子,還會向學生提問,當然它必須能夠了解學生的回答,并基于學生的回答判定他掌握知識的程度。這會影響學生向系統提出什麼問題以及系統向學生提出什麼問題。學生向系統提問問題,系統應該能夠解決在實體學領35域内的問題。

就圖1-3agent的黑盒定義來說,智能指導系統有以下輸入:

先驗知識,由agent設計者提供,包括教學主題、教學政策、可能誤差和學生的誤解。

先前經驗,是指導系統通過與學生互動獲得的,關于學生犯的錯誤、學習一些知識需要多少例子和學生所遺忘的。所獲得的資訊可以針對一般學生,也可針對特定學生。

關于每個話題的重要性、學生期望得到的成就水準以及與可用性相關的花費的偏好,它們之間通常會有很複雜的權衡。

學生測驗結果的觀察值,學生與系統互動(或不互動)的觀察值。學生可以提出問題或提供新的執行個體。

指導系統的輸出是給學生提供的資訊、學生應該要做的測試、問題的答案給父母和教師的報告。

每個次元都與指導系統相關:

應當有agent的層次分解和教學任務分解兩個部分。在學習高層概念之前,學生應該被教授基礎知識。指導系統有高層教學政策,但是在更多較低的層次上,它必須為一個測驗設計執行個體的細節部分與特殊問題。

指導系統可以用一系列學生的狀态來進行推理。然而,實際上學生以及教學科目一般都具有多個特征。如果所有的例子都是固定的,而且是針對一個學生進行推理,那麼實體指導就能夠用在設計時就已知的一系列特征來進行推理。對于更複雜的情況,指導系統應該會涉及個體及其之間的關系。如果指導系統或學生能夠利用多個個體創造執行個體,那麼這個系統在設計時可以不知道特征,并用一系列個體及其之間的關系進行推理。

在規劃期方面,在測驗的整段時期内,認為此領域是靜态的,而且學生在測驗時不會進行學習的假設是合理的。對一些子任務來說,有限期比較合适。例如,可能會有教學、測驗、再教學這樣的序列。在其他情況下,在設計時系統根本不知道會進行到哪一步,直到學生掌握一些概念,這是一個無限期。還可以對教學模組化以作為一種持續的學習和測驗過程,并伴随着适當的休息,同時不希望系統在此過程中終止。

不确定性起很大的作用。系統不能直接觀察到學生的知識,它隻是基于36學生提問的問題或沒有提問的問題以及測驗結果的一些感覺輸入,系統不會确切地知道某個特定的教學片段的确定效果。

盡管系統有一些像教授某些特定概念這樣的簡單目标,但它可能更需要考慮很多複雜的偏好。其中一個理由是由于不确定性,根本就沒有辦法保證學生能夠知道所教授的概念;任何使學生知道一個概念的可能性最大化的方法都很惱人;因為當疲勞或無聊導緻學生的微小錯誤時,系統都會持續反複地進行教學與測驗。更多複雜的偏好使如下方面的權衡成為可能:概念的充分講解、學生的厭煩情緒、所花的時間和重複測驗的數量。使用者可能對教學風格有偏好也應該考慮。

将系統作為一個單agent問題進行處理更為合适。然而,學生、老師和父母都有必須考慮的不同偏好。每一個agent都能不說出真相地政策性地實施動作。

我們期望系統能夠學習以下内容:教學政策是什麼,測驗概念時的一些問題怎麼樣,學生犯的共同錯誤是什麼。它能夠學習一般知識或針對某一主題的特定知識(例如,對于教授力學知識來說,學習什麼政策适用),或者針對某個特定學生的知識,如對sam管用的知識。

選擇最合适的材料來介紹知識需要花費大量的計算時間。然而,學生必須及時做出反應,有限理性能夠確定在學生等待時系統不會計算過長時間。

1.6.4 交易agent

交易agent就像是一個機器人,但它不是與實體環境進行互動,而是與資訊環境進行互動。它的任務是為使用者擷取商品及服務。它必須了解使用者的需求,并與賣者進行互動(如在網上)。最簡單的交易agent是拍賣場所為使用者進行代理投标的agent,系統會在達到使用者的價格限制之前一直維持出價的狀态。更複雜的交易agent會購買多個互補的物品,像預訂機票、飯店、計程車這樣一個組合,并權衡競争性偏好。另外一個交易agent的執行個體是一種可以顯示家裡有多少食物與雜貨的agent,可以監控價格,并在購買之前調整順序,使費用降低到最小。

在圖1-3agent的黑盒定義中,交易agent有以下輸入:

關于貨物或服務類型、出售業務、拍賣流程等的先驗知識;37

先前經驗,哪兒是尋找特價物品的最好地方,拍賣中價格會随時間如何變化,特價什麼時候會有上升的傾向;

使用者想要的物品的偏好,怎樣權衡有沖突的目标;

什麼物品是可用的、物品的價格、可購買的時間範圍這幾個方面的觀察值。

交易agent的輸出是使用者能夠接受或拒絕的建議,或者是一個實際購買。

交易agent應該考慮以下次元:

由于域的複雜度,層次分解是必要的。考慮為旅行者做好假期所有的安排與購物這樣一個問題。如果有一個專門購買機票并且能優化轉乘和時間的子產品,而不是在做這些事情同時來決定通過哪個門到計程車站,就會更簡單些。

交易agent的狀态空間對于個體狀态推理來說太大了。還存在太多的個體,因而無法用特征的方式進行推理。交易agent不得不按照如顧客、天數、飯店、航班等這樣的個體進行推理。

交易agent一般不會隻進行一次購物,通常會進行一個序列的購物,會有大量的序列決策(例如,預訂飯店客房可能會需要預訂陸地交通,然後是存儲包裹),通常會為持續的采購制定計劃,例如agent必須確定家裡一直會有足夠的食物。

感覺不确定性,因為交易agent不會知道所有的可用選擇以及它們的可用性,但是必須找出那些很快會過時的資訊(例如,是否有飯店會被預訂一空)。旅行agent不會知道一個航班是否會被取消或延遲、旅客的行李是否會丢失等資訊。這種不确定性意味着agent必須為意料之外的事情做計劃。

效用不确定性,因為agent不知道一次嘗試性的購物會不會成功。

複雜的偏好是交易agent的核心部分。主要問題是允許使用者描述他想要的東西。使用者的偏好一般是功能描述,而不是部件描述。例如,典型的計算機買主一般不知道要買什麼樣的硬體,但是知道他們需要什麼樣的功能,以及能夠使用那些也許還不存在的新特性的靈活性。類似的,在旅遊領域,使用者想要什麼樣的活動依賴于具體的地理位置。即使他們可能根本不知道這些風俗是什麼,使用者也可能想在目的地參加當地的風俗活動。

交易agent必須對其他的agent進行推理。在貿易中,價格由供需關系決定;這就意味着對其他競争性agent進行推理是重要的,比如在很多物品38通過拍賣進行出售的世界中。當物品必須互補時,推理變得很困難,如航班與飯店預訂,還有可以互相取代的物品,比如公共汽車或計程車。

交易agent應該了解一些資訊,例如,什麼物品賣得比較快,哪個供應商可靠,在哪裡能有比較劃算的交易,會有什麼意料之外的事發生等。

交易agent面臨嚴峻的通信局限性。當發現物品可用并與其他物品協調時,物品可能已經賣完了。這種情況會在賣家同意保有某些物品(同時不會賣給别人)時有所緩解,但賣家不可能在别人也想買的時候長時間持有這些物品。

由于交易agent的個性化本質,它應該會比通用購買者做得更好些,比如,隻提供套裝旅遊。

繼續閱讀