標籤:

《人工智慧》第一周問題集agent & enviroment

課程地址:人工智慧(Artificial Intelligence) | Coursera

1. 什麼是AI?

書中的分類方式用了兩個維度human/rational, think/act,它假設說human不完全是rational的。

這本書講的是acting rationally,也是這四類當中比較單純的。

另外一種分類方式就是John Serale的Strong/Weak AI. 他是一個哲學家,所以也能看到Strong/Weak AI的分類方式也是偏哲學的。

同時John Serale認為,能表現出智能行為,不一定代表其有智能的心靈。(其實我覺得Strong/Weak AI這種分類方式是錯誤的,我認為智能行為就是智能心靈)

從John Serale的分類,本書/課程講的是weak AI。

2. Acting Humanly

如果認定AI的標準是Acting humanly,那麼最有名的的就是圖靈測試。

每年還有圖靈測試的比賽 loebner。

驗證碼其實就是一種圖靈測試。

ELIZA是一個心理醫生聊天程序,當時它被認為還是很想心理醫生的,騙過了很多人,但是它其實只是進行了句式的轉換:

loebner 2013年冠軍的程序:Mitsuku Chatbot

3. Thinking Humanly

Thinking Humanly要比acting humanly困難一些。困難在於我們自己也不知道自己是如何思考的。

要了解我們如何思考,這個學科叫做認知科學。

認知科學有兩種研究方式,早期主要以top-down方式研究,就是提出一個認知模型,然後預測人類的行為,根據觀察人類的行為來驗證。(心理學中的行為學派)

隨著生化科學的發展,目前更多是用神經科學去研究腦的認知,bottom-up的方式。

John Serale提出了中文屋,認為即使能表現出行為上的智能,也不一定有心靈上的智能。(但我不認為是這樣)

現在電腦的處理能力已經接近甚至超過了人腦:

這裡老師推薦了一本書《on intelligence》,這本書認為人腦的原理不是在於計算,而是在於記憶-預測。為什麼呢?比如我們看到一張人臉,如果從計算的觀點,那麼可能需要1000個步驟,每個步驟(cycle time)是10^{-3} 秒,那麼就需要1s,但實際上我們識別一張人臉可能只需要幾毫秒就夠了。人類的計算只會用到和你的記憶-預測不同的地方,比如如果你看完這課後,別人問你這個老師穿的什麼顏色的polo衫,你很可能不記得,但如果這個老師是光著膀子來上課的話,你一定記得,這就是和你的預測不同的地方才會記得。

4. Thinking Rational

就是邏輯。

那和Thinking Humanly有什麼區別呢?

邏輯和我們的日常邏輯不一定是吻合的,比如,爸爸對孩子說,如果你今天考100分,我就帶你去吃牛排。那麼從人的角度來理解,如果沒有考100分,肯定就不吃牛排了。但是從邏輯的角度來理解,不考100分也可以去吃牛排。

5. Acting Rational

那做right thing不一定需要思考。

6. 什麼是Agent?

7. AI涉及到的學科?

可以看到原來很多常用的概念是從別的學科拿過來的啊。

比如utility, decision tree都是從經濟學拿來的。

8. AI的歷史?

computation complexity是在AI研究推動的。

81年發明了自組織神經網路(self organizing neural network)

9. Agent和Enviroment

agent function和agent program的區別是function通常不太考慮現實實現的方面,比如是不是需要無限的內存。。。無窮的搜索空間。。。而program則要考慮現實實現的各種的限制。

而sensors和actuators都可能有失真,比如sensor用紅外線測量到離牆邊還有50cm,但實際上可能是49cm,而actuator比如我想要輪子轉一圈,一圈是30cm,但可能因為打滑,雖然轉了一圈,但實際上走了29cm。

而agent function->agent program也有可能失真,因為現實實現時的資源並不是無限的。

10. 掃地機器人的例子

在填這個table的時候,有些percept squence是不可能出現的(如果根據我們的function執行的話),但是這裡為了邏輯的完備性,比如說機器可能會出故障導致連續兩次出現在[A,clean]狀態,所以要把所有的可能都列出來。

11. 那這個table該如何定義呢,什麼狀態下應該對應什麼動作呢?

這就引出了performance measure的定義了。

rational的意思就是要最大化performance measure。而定義performance measure有時挺困難的,因為你定義時可能會有一些漏洞。

expected是說如果環境是有一定隨機的,那麼希望達到最大化的期望performance。而如果環境沒確定,沒有隨機性的話,那麼就直接最大化performance measure。

合理不不代表完美(omniscience)

12. 什麼是PEAS

就是定義一個agent的四個方面:performance measure代表了agent function的內容。

sensors, performance measure, actuators, enviroment

13. 有哪些Enviroment?

enviroment的不同,基本上決定了agent實現的難度。

如果是multiagent competitive的話,2個agent和>=3個agent會很不一樣,2個agent就是零和遊戲,>=3個agent則場面會變的很複雜(想想三國),就會涉及到很多博弈論的東西了。

eposodic/sequential是說你上一步的決策會不會影響到下一步。

14. 有哪些種類的agent?

simple reflex agents也叫memory less。這種agent只能work在full observable的環境下,比如一個掃地機器人要往前走,但是前面是一堵牆,但是它不知道前邊是一堵牆,它根據它已知的信息就只能一直撞牆。

model-based agents就有state了。它會根據sensor和state來猜測世界是如何的(model)。還以剛才的掃地機器人為例,如果它撞牆了,它會發現自己的上一個state,action和現在的state是在同一個position,它就可以猜測前邊可能有個障礙物,即使它並沒有一個sensor來探測前方是否有障礙物。

所以model-based agents就是為了解決partial observalbe的問題。所以model是給出基於當前信息,做出對世界狀況的最好猜測,但猜測不一定是真確的,比如阻擋你的可能不是牆,而是我的腳,那我阻擋你一會也許就走了,所以重複撞牆興許是對的。

因為要做猜測,所以就可以引入一些概率模型。

很多時候,我們只知道環境狀態是不夠的,不夠決策用,還需要目標。

而目標可能不止一個,那麼就是utility-based

15. 會學習的agent

其中problem generator的作用是探索


推薦閱讀:

余凱:不做AI晶元,如何改變世界?
找點書看,也不用那麼難(峰哥做個 community)
從NNVM和ONNX看AI晶元的基礎運算運算元
人人生而平等,AI讓社會更平等
[一周一paper][ISCA] In-Datacenter Performance Analysis of a Tensor Processing Unit?

TAG:人工智能 |