自編程學(xué)習(xí)算法_第1頁
自編程學(xué)習(xí)算法_第2頁
自編程學(xué)習(xí)算法_第3頁
自編程學(xué)習(xí)算法_第4頁
自編程學(xué)習(xí)算法_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

目錄

一、基本問題。

1、機器學(xué)習(xí)理論錯誤的研究學(xué)習(xí)問題。

A、什么是學(xué)習(xí)?

B、機器學(xué)習(xí)理論的學(xué)習(xí)。

C、從“人類的智能是如何發(fā)展的”角度出發(fā)。

2、自編程序問題。

A、要使系統(tǒng)在學(xué)習(xí)中自己產(chǎn)生智力活動能力。

B、自編程序與遺傳編程。

C、自編程序技術(shù)的簡單結(jié)構(gòu)。

甲、自編程序的難點。

乙、適合自編程序的計算機語言。

丙、自編程序技術(shù)是如何解決問題的。

丁、轉(zhuǎn)向運行、反復(fù)運行如何解決?

戊、母程序。

3、可學(xué)習(xí)系統(tǒng)。

A、“學(xué)習(xí)”概念。

B、初始狀態(tài)是無智能的系統(tǒng)產(chǎn)生出智能。

C、產(chǎn)生出新的程序詞匯。

D、知識表示問題有些多余。它可用自編數(shù)據(jù)庫解決。

E、強人工智能的學(xué)習(xí)問題。

4、自主學(xué)習(xí)過程。

A、自主學(xué)習(xí)過程——嘗試錯誤學(xué)習(xí)。

B、以自編程序為學(xué)習(xí)結(jié)果的自主學(xué)習(xí)過程。

5、自主學(xué)習(xí)過程的收斂問題。

A、收斂性問題。

B、就近組合的編程。

C、自指不產(chǎn)生悖論問題。

6、受限組合設(shè)計思想。

A、簡介“泛結(jié)構(gòu)理論”。

甲、基元和組成。

乙、組成——組合方式。

丙、受限組合問題——約束。

B、漸次收斂方式。

C、新計算機程序評價的標(biāo)準(zhǔn)——允許漸次收斂。

D、分層次組合。

7、自作用和偽自作用。

A、什么是自作用。

B、自作用不出現(xiàn)麻煩的條件。

C、分辨自作用與偽自作用。

二、四大學(xué)習(xí)過程。

1、自主學(xué)習(xí)過程。

A、自主學(xué)習(xí)過程的實驗基礎(chǔ)。

B、學(xué)習(xí)過程的整體結(jié)構(gòu)。

C、自主學(xué)習(xí)過程的反饋結(jié)構(gòu)。

D、解決問題過程與外層反饋。

E、隨機操作的產(chǎn)生問題。

甲、隨機操作的收斂性問題。

乙、“隨機貼近調(diào)用”。

F、最初經(jīng)驗的學(xué)習(xí)。

G、自主學(xué)習(xí)的自主性表現(xiàn)。

H、自主學(xué)習(xí)總結(jié)。

2、模仿學(xué)習(xí)過程。

A、模仿學(xué)習(xí)的觀察基礎(chǔ)。

甲、實驗資料的缺乏。

乙、什么是模仿學(xué)習(xí)過程?

B、模仿學(xué)習(xí)過程。

C、模仿學(xué)習(xí)過程的外反饋循環(huán)。

D、模仿學(xué)習(xí)與自主學(xué)習(xí)的比較。

甲、首先看一下共同之處:

乙、下面我們再看看其不同的地方:

E、模仿對象的種類。

F、模仿學(xué)習(xí)過程的動作操作和智能操作。

甲、模仿學(xué)習(xí)過程的條件。

乙、模仿智能操作條件的簡單性。

G、智能的基本操作。

H、初級組合操作。

甲、選擇操作。

乙、替代操作。

丙、分解操作。

丁、合成操作。

I、初級思維發(fā)展。

甲、初級想象。

乙、隨機選擇。

丙、隨機比較。

丁、隨機替代。

戊、隨機分解。

己、隨機組合。

J、模仿學(xué)習(xí)和自主學(xué)習(xí)的區(qū)別。

甲、強人工智能系統(tǒng)的學(xué)習(xí)與機器學(xué)習(xí)理論的學(xué)習(xí)的極大差異。

乙、自主學(xué)習(xí)與模仿學(xué)習(xí)的區(qū)別是什么呢?

K、模仿學(xué)習(xí)過程具有編譯器的功能。

L、自模仿學(xué)習(xí)——對經(jīng)驗的移用。

3、伴隨學(xué)習(xí)過程。

A、研究伴隨學(xué)習(xí)過程的意義。

B、伴隨學(xué)習(xí)的實驗基礎(chǔ)。

C、伴隨學(xué)習(xí)的提出。

D、伴隨學(xué)習(xí)的一些例子。

E、伴隨學(xué)習(xí)的基本原理。

F、計算機的數(shù)據(jù)容量問題。

G、伴隨學(xué)習(xí)對智能發(fā)展的作用。

甲、記錄伴隨知識。

乙、記錄活動過程。

丙、對苗頭性活動的紀(jì)錄。

H、伴隨學(xué)習(xí)的重大意義。

4、反射學(xué)習(xí)過程。

A、什么是反射?

B、反射的種類。

C、先天性反射有哪些?

D、后天性反射的種類。

甲、條件反射(UCS——CR——CS反射)。

乙、工具性條件作用(CS——CR——CS)。

丙、無獎勵工具性作用(CS——CR)。

丁、動作間反射(CR——CR)。

戊、多刺激間反射(CS——CS——CS——......)。

E、我堅持反對用條件反射代替后天性反射。

F、反射學(xué)習(xí)過程的模擬。

G、模擬反射與人工神經(jīng)網(wǎng)絡(luò)理論的比較。

三、模擬智能如何在可學(xué)習(xí)的無智能系統(tǒng)中產(chǎn)生?

1、由反射學(xué)習(xí)過程積累無智能的“認(rèn)識”。

2、由自主學(xué)習(xí)過程無智能的自己編寫程序。

3、由反射學(xué)習(xí)過程和自主學(xué)習(xí)過程自建數(shù)據(jù)庫。

4、由模仿學(xué)習(xí)過程接受外界的功能和知識。

5、伴隨學(xué)習(xí)過程促進系統(tǒng)能力的發(fā)展。

6、相互作用問題。

7、強人工智能(自編程序與四大學(xué)習(xí)過程)與機器學(xué)習(xí)理論的比較一、基本問題。

目前機器學(xué)習(xí)理論內(nèi)容已經(jīng)十分龐雜。但是人們都知道它與與人類的智能相差很遠(yuǎn)。模擬與人類智能差不多的智能,一般被叫做強人工智能。那么人們是否能夠回答出這個問題:機器學(xué)習(xí)理論為什么實現(xiàn)不了強人工智能?究竟是什么是機器學(xué)習(xí)和強人工智能間的封鎖線?

1、機器學(xué)習(xí)理論錯誤的研究學(xué)習(xí)問題。

我以為,機器學(xué)習(xí)理論與強人工智能有很多差距。這使得機器學(xué)習(xí)理論無論如何也不能模擬和人類差不多的智能。

其中首要的一個問題,就是機器學(xué)習(xí)理論錯誤的研究學(xué)習(xí)問題。

A、什么是學(xué)習(xí)?

這對于人類行為來說,幾乎是無需討論的問題。

人類的學(xué)習(xí)不是為了解決某個問題而產(chǎn)生的行為,更不是為了搜索問題的解而進行的行為。

人類的學(xué)習(xí)是通過與外界的物質(zhì)、能量和信息的交流改變自己結(jié)構(gòu)的活動。這里的改變結(jié)構(gòu),包括大腦生理結(jié)構(gòu)的改變、行為經(jīng)驗的改變、智能操作的改變、知識結(jié)構(gòu)的改變。解決問題獲得到問題的解,僅僅是學(xué)習(xí)改變結(jié)構(gòu)后的結(jié)果。

不從人類學(xué)習(xí)的這個本質(zhì)的特征研究機器學(xué)習(xí)問題,僅僅從一些像那么一點智能的皮毛問題著手,就難免使整個機器學(xué)習(xí)走在錯誤的方向上,從而使機器學(xué)習(xí)理論與人類學(xué)習(xí)實際越來越遠(yuǎn),機器學(xué)習(xí)理論不能實現(xiàn)強人工智能,也就是理所當(dāng)然的結(jié)局了。B、機器學(xué)習(xí)理論的學(xué)習(xí)。

也許人們會辯解:機器學(xué)習(xí)理論就是在研究如何學(xué)習(xí)的,學(xué)習(xí)的目的就是為了解決問題的。你們看,人類的哪種學(xué)習(xí)不是要解決一些問題?也許正是這種見解把機器學(xué)習(xí)引向歧途的。

按人們的這種認(rèn)識,他們必然把“要解決的問題”擺在第一位,把“解決問題用什么方法最好”擺在第二位,把“編寫程序?qū)崿F(xiàn)理論上解決問題的方式方法”放到第三位。由此形成他們復(fù)雜的理論。形成一本又一本厚厚的機器學(xué)習(xí)理論書上的文字。

然而人們總是覺得,每當(dāng)他們解決了一個問題,帶來的新問題比已經(jīng)解決的問題還要多。我不是說目前機器學(xué)習(xí)理論完全解決不了問題,它確實在應(yīng)用上有了不少成果。但是它新帶來的問題,又使得人們覺得“靠近人類智能的旅途”遙遙無期。

例如,人們不難發(fā)現(xiàn),我們這樣編寫的程序,解決的問題總是不如人類智能靈活多變,死板而收斂性差。C、從“人類的智能是如何發(fā)展的”角度出發(fā)。其實,我們換一個角度考慮問題,我們不從人類如何解決問題出發(fā),我們從“人類的智能是如何發(fā)展的”角度出發(fā),就會看到機器學(xué)習(xí)理論的錯誤所在。我們沿著前面提出的思路思考:人類出生時智能處于什么狀態(tài)?那時人類的智能近乎等于零。聽覺有了一些,視覺尚不能看、不能分辨,其它感覺也很遲鈍。除去吃奶,四肢亂動外,站不能站,坐不能坐,爬不能爬,更不用說其它復(fù)雜的行為能力了。人類就是從這個智能“幾乎為零”的初始狀態(tài),發(fā)展出高于其它動物的高級智能的。是什么因素促使人類智能有了這個發(fā)展?遺傳基因、生物性成長都是原因。但是最重要是學(xué)習(xí)。這個學(xué)習(xí)顯然不是為了解決問題的學(xué)習(xí),不是搜索問題解的學(xué)習(xí),而是人類個體智能由無到有的學(xué)習(xí)。什么東西能夠證明遺傳基因和生物性成長不如學(xué)習(xí)重要?能夠做出證明的就是狼孩、野生兒和囚禁兒的事例。這三類事例中,他們都有人類的遺傳基因,都有人類機體的生物成長過程。但是所處環(huán)境不是人類社會(狼孩和野生兒),或不是完整的人類社會(例如囚禁兒)。因此他們都形不成人類智能。因此,這些事例證明,在人類環(huán)境中學(xué)習(xí)并使智能發(fā)展起來,是人類智能形成的關(guān)鍵性原因。其它只能形成的原因雖然不可缺少,但是不如學(xué)習(xí)這個條件重要、關(guān)鍵。那么我們反過來再看看“學(xué)習(xí)”這個概念,問一下:“什么是學(xué)習(xí)?”我們就可以理直氣壯地回答:學(xué)習(xí)一個系統(tǒng)在人類環(huán)境中,使系統(tǒng)的智能從無到有的過程。這里,解決問題是無足輕重的事情,搜索問題的解更是無足輕重的事情。重要的是如何在學(xué)習(xí)中使系統(tǒng)的智能從無到有。而不是如何找到問題的解!可見,機器學(xué)習(xí)理論對學(xué)習(xí)的認(rèn)識是非常片面的,非常武斷地認(rèn)識。因此建立在錯誤基礎(chǔ)上的機器學(xué)習(xí)理論,盡管可以幫助人們解決很多問題,但是卻不能向人類智能靠近。2、自編程序問題。

A、要使系統(tǒng)在學(xué)習(xí)中自己產(chǎn)生智力活動能力。

我們在前面已經(jīng)指出了:學(xué)習(xí)一個系統(tǒng)在人類環(huán)境中,使系統(tǒng)智能從無到有的過程。

這里的智能的從無到有,包括兩方面的從無到有,一方面是智能操作的從無到有。另一方面是智能的資料和結(jié)果的從無到有。前者可以說是產(chǎn)生并積累智力活動能力。后者可以說是積累知識。

我們可以看出,這里提出了一個很新的問題,就是要使系統(tǒng)在學(xué)習(xí)中自己產(chǎn)生智力活動能力。

以前的人工智能理論和機器學(xué)習(xí)是采用什么方式解決治理活動能力的?很簡單,就是由計算機工作者們研究智力活動方式,提出理論、提出模型、提出算法,然后由程序工作者編寫出程序來,從而使計算機具有智力活動能力。整個人工智能和機器學(xué)習(xí)發(fā)展的歷史,可以說就是研究智力活動方式、提出算法、編寫程序的歷史。

這里對學(xué)習(xí)提出的新要求就是,把這人工智能前一段的歷史任務(wù)交給學(xué)習(xí)來完成。停止由人類研究智力活動方式、停止由人類提出算法、停止由人類編寫程序,停止由人類進行這類的低級人工智能研究工作。把我們的工作重點轉(zhuǎn)移到一個新的高水平。

這個高水平就是,我們需要編寫一個初始條件類似嬰兒的無智能系統(tǒng),但是它可以學(xué)習(xí),并且可以在人類環(huán)境中學(xué)習(xí)產(chǎn)生與人類一樣的智力。顯然,這里的學(xué)習(xí)是一個全新意義的學(xué)習(xí)。而不是機器學(xué)習(xí)理論中那種意義很小的學(xué)習(xí)。

由于系統(tǒng)自己產(chǎn)生智力活動能力,就相當(dāng)于系統(tǒng)自己為自己編寫智力活動程序,因此這個高水平的人工智能系統(tǒng),就應(yīng)該是一個具有自編程序能力的系統(tǒng)。也就是說無需我們?yōu)樗帉懭魏沃悄艹绦颍恍枰覀兙帉懗鲆粋€在學(xué)習(xí)中可自編智力活動能力的系統(tǒng),該程序就會自己具有人類的智能。

然而這可能辦得到么?B、自編程序與遺傳編程。一提到自編程序,人們會想起“遺傳編程”這個詞匯。自編程序會不會就是遺傳編程?我個人認(rèn)為,“遺傳編程”可以看成是自編程序的一種形式,但是不能把它們等同起來。遺傳編程“它開始于由隨機生成的千百萬個計算機程序”,這就與我們提出的自編程序不同。隨機生成的計算機程序有兩個缺點:第一是它們的數(shù)量太大,不經(jīng)特殊處理,很難保證編程時選擇程序的收斂。第二是如果系統(tǒng)沒有智能,很難保證程序運行不會不停機。而圖靈已經(jīng)證明,計算機不可能自己判斷不停機問題。我們在前面是從“在學(xué)習(xí)中產(chǎn)生智力活動能力”的角度引入自編程序的。它要求系統(tǒng)的初始條件是無智能的。因此這個自編程序不可能控制編寫出的程序運行時克服不停機問題,也不可能保證系統(tǒng)選擇合適的程序時的收斂。因此,我們的自編程序技術(shù)不采用隨機生成計算機程序。而是按一定技術(shù)規(guī)則產(chǎn)生自編程序,按一定過程選擇能夠運行的程序。用這些技術(shù)保證自編程序不會不停機,不會不收斂。在遺傳編程中,要應(yīng)用達爾文的自然選擇(適者生存)確定勝出的程序,計算機程序間也模擬兩性組合,變異,基因復(fù)制,基因刪除等代代進化,直到達到預(yù)先確定的某個終止條件為止。這些都是我們自編程序技術(shù)所不需要的。采用遺傳編程的這些手段,會增加程序編寫的不收斂性,這是我們所不希望的。更主要的一個區(qū)別是:遺傳編程時要“根據(jù)一個程序完成給定的任務(wù)的能力來確定某個程序的適合度”尋找一個解決問題的程序。而自編程序?qū)ν瓿山o定任務(wù)的興趣不大,它更重要的是不斷積累智力活動程序。形成可以靈活勝任各種智能活動的智能系統(tǒng)。因此我們可以看出,遺傳編程與自編程序僅僅在系統(tǒng)能夠自己產(chǎn)生程序上有共同點。而在產(chǎn)生程序的方式、選擇程序的方式和編寫程序的目的上,都沒有共同的地方。因此自編程序,要比遺傳編程遇到的問題少,它的成功率也會遠(yuǎn)遠(yuǎn)高于遺傳編程。C、自編程序技術(shù)的簡單結(jié)構(gòu)。前面我們比較了遺傳編程與自編程序的不同。下面我們著重介紹一下自編程序技術(shù)的簡單結(jié)構(gòu)。自編程序技術(shù),也可以看成是一種算法。但是我以為稱它為技術(shù)比算法更加適合。讓計算機自編程序會遇到一些技術(shù)上的難點,自編程序技術(shù)給出解決這些難點的方式方法。算法則要給出一些編寫自編程序的流程。相比之下,自編程技術(shù)只給出解決自編程序的一些關(guān)鍵技術(shù)措施。不負(fù)責(zé)設(shè)計自編程序的流程。甲、自編程序的難點。自編程序的難點有這樣幾條:一是用什么語言編寫?二是如何編寫?由于編寫程序的是計算機自身,我們又要求計算機的初始狀態(tài)是無智能的。這些難點就顯得更難。我們知道,計算機高級語言有嚴(yán)格的語法規(guī)則和編寫邏輯,無智能的計算機無法掌握。因此用任何一種計算機高級語言作為自編程序的語言都不大合適。雖然所有計算機語言都要編譯成機器碼語言,但是直接用機器碼語言編寫程序,也需要很高的智能。不僅初始狀態(tài)為零的計算機不能使用它,就是智能較高的計算機系統(tǒng)也很難掌握用機器碼編寫程序。乙、適合自編程序的計算機語言。

因此我們必須采用一種適合計算機自編程序用的計算機語言。

適合計算機自編程序用的計算機語言要解決的問題一。

這種語言必須沒有嚴(yán)格的語法結(jié)構(gòu),不需要考慮就可以編寫出來。能否找到這種語言么?

適合計算機自編程序用的計算機語言要解決的問題二。

計算機程序在編寫時會產(chǎn)生死循環(huán),它是計算機不停機的主要原因。當(dāng)然也有些程序是因為不收斂或是多項式收斂,而被人們排除。對于初始狀態(tài)無智能的計算機,無論是死循環(huán),還是不收斂、多項式收斂,它都無法判別。讓計算機在編寫程序中作這類判斷也是不可能的。

計算機編寫程序時,最好是不做任何判斷只管編寫,編寫的程序卻可以不出現(xiàn)死循環(huán)、不收斂等問題。這種編寫方式可能存在么?丙、自編程序技術(shù)是如何解決問題的。下面我們看看自編程序技術(shù)是如何解決前面提出的兩個問題的。我們采用這樣一種計算機語言,這個語言的詞匯是一些能夠獨立成功運行的小程序,它本身要保證運行時不會死機。這些小程序要能夠互相連接運行,當(dāng)然也要能夠在運行連接時交換數(shù)據(jù)。在這種語言中不使用任何運行轉(zhuǎn)向的結(jié)構(gòu)。我們分析一下這種語言為什么能夠滿足“在無智能系統(tǒng)中自編程序”的要求。第一,它沒有任何連接規(guī)則,即它沒有復(fù)雜的計算機語言的語法。它的語法僅僅有一條:用它的詞匯(小程序)相互連接。這種連接的工作是不需要智能的。第二,這個語言的設(shè)計有兩個不死機的保證。一是小程序不會死機,二是不會因為運行的轉(zhuǎn)向而造成死機。這個設(shè)計就避開了計算機自身對自身不停機問題的判定。圖靈已經(jīng)證明了計算機是無法判定自身的不停機問題的。我們無法超越這個證明,于是我們設(shè)置了這些保證,使得計算機在無智能初始狀態(tài)下,不會不停機。顯然我們設(shè)計的這種程序語言是一種高級語言,但是它又是結(jié)構(gòu)非常簡單的高級語言,是目前尚未出現(xiàn)的高級語言。由于它基本上沒有體現(xiàn)什么先進的思想理念,也許是目前計算機專家們不屑一顧的計算機語言。然而我們追求的并不是什么先進的思想理念,我們追求的是用一個無智能的計算機系統(tǒng),實現(xiàn)自編程序。那么,對一段程序的反復(fù)運行或轉(zhuǎn)向運行不同小程序都是必要的。如何解決這類問題呢?丁、轉(zhuǎn)向運行、反復(fù)運行如何解決?我們把轉(zhuǎn)向運行、反復(fù)運行的任務(wù)交給系統(tǒng)來完成。計算機自編程序,必須依靠一個基本的程序來進行,不可能用一臺裸機來進行自編程序。這個基本程序,我們一般叫做系統(tǒng)程序(不是指得目前計算機的操作系統(tǒng),而是我們?yōu)樽跃幊绦蚓帉懙南到y(tǒng)),為了與小程序、自編程序相對應(yīng),我們把這個系統(tǒng)程序又叫做母程序。它是一個人編程序。戊、母程序。我設(shè)計的母程序主要用途不是來自編程序的,它是要在學(xué)習(xí)中“由無智能發(fā)展出類似于人類的智能”的。但是自編程序是它發(fā)展出高級智能的主要基礎(chǔ)。因此我們此處著重討論母程序在自編程序時的作用。母程序在自編程序過程中起編寫、調(diào)試、修改、調(diào)用、控制的作用。編寫:就是把小程序連接為自編程序。母程序要提供一些實現(xiàn)這種連接的手段。調(diào)試:就是檢驗這些自編程序的效果。母程序要為這種調(diào)試提供一些完整的過程。修改:如果自編程序無效,母程序要進行修改。即做出新的連接。調(diào)用:如果自編程序成功,母程序要在需要某個程序時進行這個程序的調(diào)用??刂疲耗赋绦蛞軌蚴垢鱾€自編程序及時的調(diào)用和終止。對這些自編程序的運行進行控制。顯然,在母程序控制自編程序時,我們可以利用它的控制作用實現(xiàn)程序運行的反復(fù)、轉(zhuǎn)向。也就是說,與通常使用高級語言編程不同的是,程序某些段落的反復(fù)和轉(zhuǎn)向不設(shè)置在一個自編程序內(nèi)。而是設(shè)計成幾個不同的自編程序,由母程序利用調(diào)用和終止來實現(xiàn)反復(fù)和轉(zhuǎn)向。這種由母程序作反復(fù)和轉(zhuǎn)向的好處是:反復(fù)的次數(shù)是由母程序一次一次調(diào)用某個自編程序?qū)崿F(xiàn)的,次數(shù)是受控的,不是自動反復(fù)的。因此不會出現(xiàn)死循環(huán)。轉(zhuǎn)向也是由母程序一個一個程序調(diào)用實現(xiàn)的,當(dāng)轉(zhuǎn)向有可能出現(xiàn)死循環(huán)時,母程序就不再繼續(xù)調(diào)用,終止轉(zhuǎn)向,從而避免了轉(zhuǎn)向造成的死循環(huán)。此是計算機雖然不能自己解決不停機問題,但是我們的設(shè)計會使它不出現(xiàn)不停機問題。當(dāng)然從運行速度上看,這樣的運行速度就會慢得多。不過這個方案顯然適合無智能的母程序使用,因為它是無智能的,它連反復(fù)運行幾次終止的程序也不會編寫。3、可學(xué)習(xí)系統(tǒng)。上面我們談得是自編程序技術(shù)。我只簡單地介紹了它的核心思想。下面我們看一看我們怎樣要計算機來自己為自己編程序?A、“學(xué)習(xí)”概念。我們是采用可學(xué)習(xí)系統(tǒng)來進行自編程序的。這時系統(tǒng)學(xué)習(xí)的目標(biāo)不是解決某個問題,而是獲得并積累程序。也就是說我們使用的“學(xué)習(xí)”與機器學(xué)習(xí)理論的“學(xué)習(xí)”概念有很大的不同。這里學(xué)習(xí)的目的不是解決某個或某些問題。這里學(xué)習(xí)的目的就是為了系統(tǒng)自己為自己編寫程序。我們把可學(xué)習(xí)系統(tǒng)的學(xué)習(xí)目的確定為獲得并積累程序。還有更深的含義。首先說一下“獲得”。在這里,獲得程序包含著多種自己編寫程序的方式。例如它可以模仿外界的操作給自己編寫程序,例如它可以按接受來的操作方法給自己編寫程序。雖然獲得程序的基本方式就是自編程序,但是這里的自編已經(jīng)不是系統(tǒng)封閉起來的自編。再說一下“積累”程序。由于這種可學(xué)習(xí)系統(tǒng)的目的是編寫程序,一旦獲得一個成功程序,它就要把程序保存起來。在系統(tǒng)解決問題時使用。我們可以看到,系統(tǒng)的學(xué)習(xí)目的不是解決問題,但是自編程序后的系統(tǒng)是可以解決問題的。程序的積累,又可以使一個系統(tǒng)解決很多問題。B、初始狀態(tài)是無智能的系統(tǒng)產(chǎn)生出智能。這樣的系統(tǒng)就會實現(xiàn)我們的預(yù)定目標(biāo),初始狀態(tài)是一個無智能的系統(tǒng),它基本不能解決任何問題。但是經(jīng)過學(xué)習(xí)自編程序后,它積累了很多成功的程序,就產(chǎn)生出智能,就可以解決很多問題,并且可以靈活的解決各種問題。這里的“靈活”既包括它可以用多種方式解決問題,也包括在解決不了問題時,自編出新程序解決問題。C、產(chǎn)生出新的程序詞匯。積累程序還有另一個含義:自編出的程序,也可以作為新的程序詞匯,參與自編程序。我們在介紹自編程序語言是說過:自編程序使用的語言是以一些小程序作為詞匯,而系統(tǒng)在學(xué)習(xí)中自編的程序,也可以成為與小程序同等的詞匯,參與組成新程序。也就是說,積累程序也同時在積累編程的詞匯,因此自編程序使用語言的詞匯量(小程序量)是遞增的。D、知識表示問題有些多余。它可用自編數(shù)據(jù)庫解決。人工智能有一個問題叫做知識表示問題。它是研究如何使智能系統(tǒng)的資料更適合于處理的。但是我以為研究知識表示,無非是想從人類的知識表示里得到啟示,再找到計算機里實現(xiàn)它的方式,最后用人編程序?qū)崿F(xiàn)它。對知識表示研究的本身,我就認(rèn)為它有些多余,并且與人類的知識結(jié)構(gòu)不符。因為人類的頭腦里的知識不是定態(tài)的,而是不斷整理,不斷變化的。這樣就使任何你所研究出的知識表示,相形見絀。人腦里的知識呈現(xiàn)怎樣動態(tài)呢?它會在不斷抽象中壓縮、簡化,形成提綱挈領(lǐng)的東西。到需要表達時,再把綱領(lǐng)性的東西重編寫成文章,使知識復(fù)原。因此人腦中的知識才能夠做到“既容量大,又回憶起來容易”。顯然,人腦知識的動態(tài)狀態(tài),是在智能操作的支持下形成的,無論是壓縮、簡化,還是編寫復(fù)原,都需要強智能操作。但是我們?nèi)绻S著系統(tǒng)自編程序的同時。也讓系統(tǒng)自建數(shù)據(jù)庫,構(gòu)建自己的知識體系。讓系統(tǒng)的自編程序不斷進行知識的壓縮和簡化工作,自動地在需要時復(fù)原。這樣它就會和人腦一樣,自己構(gòu)建自己的知識表示。這顯然會比人們搜腸刮肚的研究知識表示要優(yōu)越得多。因此我們在主張自編程序的同時,也要自編數(shù)據(jù)庫,把自編程序與自建數(shù)據(jù)庫一起在學(xué)習(xí)過程中解決。這種學(xué)習(xí)過程的功能,顯然是機器學(xué)習(xí)理論不具有的。那么,這種學(xué)習(xí)過程是什么樣的呢?E、強人工智能的學(xué)習(xí)問題。于是自編程序的問題又回到我們的老問題上來了,這個問題就是學(xué)習(xí)問題。那么在這里,我反對機器學(xué)習(xí)理論,又想設(shè)計什么樣的學(xué)習(xí)呢?我不提出什么像機器學(xué)習(xí)理論那樣的“學(xué)習(xí)”模式。我只想模擬人類的學(xué)習(xí),讓我的系統(tǒng)由無智能自編出豐富的智能,并利用系統(tǒng)自己產(chǎn)生的智能,靈活的、多變的、有創(chuàng)造性地解決問題。為什么我不提出各種學(xué)習(xí)模式呢?因為你提出的學(xué)習(xí)模式再新穎、再巧妙,一旦編寫成程序,也就固定化了,對于變幻多端的問題,它也就相形見絀了。有了模式,就等于局限于模式。沒有模式,就等于給出了適應(yīng)性最廣的模式。在上面的思路下,我提出四種基本學(xué)習(xí)過程,它們不是學(xué)習(xí)模式,而是適應(yīng)不同學(xué)習(xí)環(huán)境的必須經(jīng)歷的學(xué)習(xí)過程。這四個學(xué)習(xí)過程分別是:自主學(xué)習(xí)過程、模仿學(xué)習(xí)過程、伴隨學(xué)習(xí)過程和反射學(xué)習(xí)過程。對比機器學(xué)習(xí)理論,人們就會匪夷所思,人們就會發(fā)現(xiàn)它們一點與機器學(xué)習(xí)理論對不上茬。這也就表明,我主張的學(xué)習(xí)與機器學(xué)習(xí)理論根本不是同樣的學(xué)習(xí)概念。有些人會問,你憑什么提出這四個學(xué)習(xí)過程?我的依據(jù)很簡單,依據(jù)人類和動物的實際學(xué)習(xí)過程,依據(jù)人們關(guān)于學(xué)習(xí)所作的各種生物實驗。在五樓。建設(shè)西路東口網(wǎng)友提出:“讓系統(tǒng)的自編程序……自己構(gòu)建自己的知識表示……計算機是如何做到這個“無中生有”的?”回復(fù):因為大腦里的智能不過是大腦對外部世界的一種反映。只要大腦與外部世界建立了有效映射,任何類似大腦的系統(tǒng),都會產(chǎn)生與大腦的類似的智力。我先舉一個智能操作的例子:“分析”是一種重要的智能操作,但究其根源,它來自外部世界物體被分裂、分割這種現(xiàn)象,人們由感覺到這些現(xiàn)象,到動手制造這種現(xiàn)象,形成“拆分經(jīng)驗”。當(dāng)系統(tǒng)把這種經(jīng)驗用于對內(nèi)部資料進行“拆分”時,就產(chǎn)生了“分析”操作?!渌悄懿僮饕捕伎梢灶愃频卣业酵獠坑成湓?。再說知識表示,它是對外部世界物品堆放方式的映射,外部物品的不同堆放方式,成為大腦內(nèi)部模仿的對象。外部世界還有對物品堆放的整理,這也映射為大腦內(nèi)部整理知識的方式。系統(tǒng)經(jīng)過模仿堆放知識,模仿整理知識,漸漸就形成內(nèi)部固定模式的知識表示方法。以上整套(這里只是簡述)理論,叫做“智能在學(xué)習(xí)中生成理論”,它可以用數(shù)學(xué)描述,該數(shù)學(xué)叫做“智能數(shù)學(xué)”。4、摸索學(xué)習(xí)過程。A、摸索學(xué)習(xí)過程——嘗試錯誤學(xué)習(xí)。摸索學(xué)習(xí)過程是人們較為熟悉的學(xué)習(xí)過程。通常被叫做嘗試錯誤學(xué)習(xí)。它是有實驗基礎(chǔ)的學(xué)習(xí)過程。最初用實驗發(fā)現(xiàn)這個學(xué)習(xí)過程的是心理學(xué)家桑代克。他最先進行的實驗叫做迷籠,是一個讓貓學(xué)會打開開關(guān),走出籠子,獲得籠外食物的實驗。后來又大量進行白鼠走迷津?qū)嶒?,研究這個學(xué)習(xí)過程的規(guī)律。它是一種對自身基本動作隨機組合,然后執(zhí)行組合動作,由感覺活動執(zhí)行結(jié)果的反饋信息。在反復(fù)修改組合動作,直到成功地達到目的的學(xué)習(xí)循環(huán)。由于學(xué)習(xí)中需要大量的嘗試,因此叫做嘗試錯誤學(xué)習(xí)。由于這種學(xué)習(xí)方式僅僅由需要發(fā)動,沒有任何誘導(dǎo)學(xué)習(xí)結(jié)果的因素出現(xiàn),它顯示了這種學(xué)習(xí)的自主性,因此我把它叫做摸索學(xué)習(xí)過程。目前機器學(xué)習(xí)理論的很多地方都采用了這種學(xué)習(xí)過程。例如人工神經(jīng)網(wǎng)絡(luò)理論的一些模型,以及其程序運行時的訓(xùn)練,都是根據(jù)嘗試錯誤學(xué)習(xí)原理設(shè)計的。另外的一些搜索理論也是建立在嘗試錯誤學(xué)些基礎(chǔ)上的。遺傳算法、遺傳編程的變異也是一些嘗試學(xué)習(xí)。因此人們實際上對摸索學(xué)習(xí)并不生疏。B、以自編程序為學(xué)習(xí)結(jié)果的摸索學(xué)習(xí)過程。我們的摸索學(xué)習(xí)過程在結(jié)構(gòu)上與計算機理論中使用的嘗試學(xué)習(xí)過程基本類似。但是它又是以自編程序為學(xué)習(xí)結(jié)果的。為了體現(xiàn)摸索學(xué)習(xí),我們設(shè)計的學(xué)習(xí)過程是由一個需要機制開始的。需要機制的詳細(xì)結(jié)構(gòu)和原理,我們以后有機會再討論。它的工作過程大體如下:系統(tǒng)檢查自身的狀態(tài)和輸入信息后,由內(nèi)外信息產(chǎn)生學(xué)習(xí)的需要,學(xué)習(xí)過程由“學(xué)習(xí)需要”激發(fā)開始運行。當(dāng)學(xué)習(xí)中編寫的自編程序,完成“學(xué)習(xí)需要”的要求時,系統(tǒng)的狀態(tài)自動有所表示,需要機制根據(jù)系統(tǒng)狀態(tài)決定終止學(xué)習(xí)過程的運行。這個需要機制的存在,會使系統(tǒng)具有自主性。摸索學(xué)習(xí)由需要機制發(fā)動后,便進入一個循環(huán)。這個循環(huán)有兩層。外層叫做鞏固循環(huán),內(nèi)層叫做自編程序循環(huán)。運行首先越過外層循環(huán)直接進入內(nèi)層循環(huán),即進入自編程序循環(huán)。在自編程序循環(huán)后,系統(tǒng)首先把小程序(前面說過的程序語言)組編成大程序,然后把大程序交付運行,把運行結(jié)果反饋回系統(tǒng),由系統(tǒng)判別程序是否成功,不成功就改編自編程序,再交付運行,再反饋回系統(tǒng)。直到獲得成功的程序,解決問題。并把成功程序命名并保存起來,同時還要記錄下程序的運行條件,解決的問題。在獲得成功程序后,學(xué)習(xí)進入外層循環(huán),通過反復(fù)成功的運行,獲得確認(rèn)。最后命名、記錄運行條件、解決問題、保存。通過這樣一個摸索學(xué)習(xí)的循環(huán)結(jié)構(gòu),系統(tǒng)完成自編程序的學(xué)習(xí)。請注意,這里設(shè)計的是一個通用的摸索學(xué)習(xí)的程序結(jié)構(gòu),它可以學(xué)習(xí)到很多解決問題的程序,編寫出的成功程序都作為可反復(fù)調(diào)用的程序保存在系統(tǒng)中。這種保存不僅有在同樣問題出現(xiàn)時可調(diào)用該程序的作用。還可以像前面所說的,把這些自編程序作為新的編程詞匯,編寫成更復(fù)雜大程序。保存自編程序還有另一個作用,那就是移用作用。我們以后再介紹。5、摸索學(xué)習(xí)過程的收斂問題。上面,我們介紹了我設(shè)計的摸索學(xué)習(xí)過程的結(jié)構(gòu)。人們會對這個結(jié)構(gòu)提出很多疑問,我們下面一一來解決人們的這些疑問。A、收斂性問題。首先要解決的是,這種學(xué)習(xí)的收斂性問題。在機器學(xué)習(xí)理論中,也有類似的組合并搜索最佳方式的方法,但是為了解決收斂問題,人們還要設(shè)計很多搜索方案。如果我們也采用這些方案,我們的方法就與機器學(xué)習(xí)理論一致了,我的整個主題也就沒有意義了。我的摸索學(xué)習(xí)過程關(guān)鍵就是它不會出現(xiàn)不收斂問題。怎么可能?道理很簡單,我們的智能學(xué)習(xí)是面向自編程序的學(xué)習(xí),它不像機器學(xué)習(xí)是指向知識的。在機器學(xué)習(xí)中,知識越豐富,搜索越困難。而知識不豐富,問題的解就會被漏到知識之外。自編程序是以小程序為基礎(chǔ)的,我們確定為智能小程序的不超過十個(理由以后會討論)。因此它們的組合數(shù)量就相對的較少。不會出現(xiàn)豐富不豐富的矛盾問題。另外,我們采用智能程序按層次自編的方式。每一層次限制參與編寫的小程序數(shù)量。這就大大壓縮了一個層次內(nèi)編程的嘗試次數(shù),有效地解決了不收斂問題。假設(shè)我們選擇了十個小程序,第一層次限制是兩個小程序組合,剔除有些組合不能操作后,剩下的組合量就有限了,嘗試就在這有限的個數(shù)間進行,就一定不會不收斂。然后按這個層次網(wǎng)上編寫,每一層次的數(shù)量都會比無層次的組合少得多。但是問題又來了,由于自編出的程序也可以作為小程序參與組合,越往高層次,數(shù)量就會越大,這會不會造成高層次嘗試學(xué)習(xí)的不收斂?B、就近組合的編程。解決高層次編程不收斂的方法也很簡單,就是不采用真正的隨機組合編程方式,而采用功能就近組合的編程方式。什么是真正的隨機組合?那就是用“純隨機函數(shù)”為編寫組合的選擇原則。我們知道計算機實現(xiàn)純隨機本身就很困難,而純隨機表面上公平,卻加大了隨機帶來的不確定性。因此純隨機未必有益處。什么是功能就近組合方式?我們在摸索學(xué)習(xí)過程的介紹中,曾經(jīng)說到,每記錄一個成功程序,就要為它命名,并記錄下它實現(xiàn)的條件。實現(xiàn)的條件,就是這個自編出的程序的適用條件。就近組合,就是選擇與當(dāng)前任務(wù)接近的自編程序,作為組合的元素。由于系統(tǒng)的無智能性,科學(xué)的選擇很難,于是就可以在就近的程序中隨機選擇。這樣,“就近”這個原則,就把組合量壓縮到很小的范圍。為了使這個意思形象化,我們舉個例子,這個例子雖然不是智能的自編程序,但是比智能程序敘述起來簡單的多。比如我們學(xué)習(xí)用手握住杯子,如果采用純隨機方式,會出現(xiàn)一個個手指單獨動作、兩個手指單獨動作、每個手指的伸直動作.....等大量組合手指動作的可能。組合量會非常大,嘗試過程也會非常長,因此還可能出現(xiàn)不收斂的情況。但是根據(jù)以前手指的操作經(jīng)驗,五個手指一起收攏,會只嘗試一、兩次,就學(xué)會握杯子。這個例子形象的表明,就近組合減少組合嘗試數(shù)量的程度。C、自指不產(chǎn)生悖論問題。我們前面提出了使摸索學(xué)習(xí)不會不收斂的一些措施。其中包括:1、設(shè)置很少的組合基元。2、設(shè)置分層次組合。3、設(shè)置就近組合。而在智能的一些操作在自主學(xué)習(xí)中編寫出以后,我們還可以用這些自編程序參與選擇。這就是4、由自編的智能程序參與到自編程序中來,以限制尋找成功組合的盲目性。這一點在有些人看來,好像是一種自指,自編程序自指向自編程序。他們會擔(dān)心由此產(chǎn)生悖論,由此會產(chǎn)生程序運行的無限循環(huán)。這是一種看問題不認(rèn)真造成的錯誤認(rèn)識。雖然已經(jīng)編出的自編程序和尚未編出的程序都叫做自編程序。但是實際上它們是不同的程序。已經(jīng)編出的程序是成功運行的程序,一旦它編出后,除去來源于我們?nèi)司幊绦虿煌谶\行上與我們?nèi)司幊绦蚴且粯拥?。因此已?jīng)編出的自編程序參與自編程序,與我們用人編程序進行自編程序,運行是一樣的。由于已經(jīng)編出的自編程序和尚未編出的自編程序是兩類不同的程序,由已經(jīng)編出的自編程序參與尚未編出的自編程序的編寫,是“它指”而不是自指。那些看問題不仔細(xì)不認(rèn)真的人,僅僅看到都是自編程序,就擔(dān)心自指,就擔(dān)心悖論,就擔(dān)心無限循環(huán),顯然是一種不必要的擔(dān)心。我們再具體說一下,自編出的程序參與以后的自編的意義。例如在推理操作程序自編成功以后,系統(tǒng)再進行新的組合時,就調(diào)用推理操作進行組合的選擇,那樣的選擇就會更有目的性,就不會在無限解空間盲目的搜索。顯然就不會不收斂。6、受限組合設(shè)計思想。為了使人們更深刻地理解我們前面說的“不會不收斂”,我們下面介紹一下“受限組合設(shè)計思想”。這里與數(shù)學(xué)的組合研究方式不同,數(shù)學(xué)重點研究組合的數(shù)量,這里則很重視組合的形式。A、簡介“泛結(jié)構(gòu)理論”?!胺航Y(jié)構(gòu)理論”是我首先提出描述任意結(jié)構(gòu)的理論。我簡單介紹一下:甲、基元和組成。參與組合的最小元素,我們叫做基元?;蛟剡M行組合的方式我們就叫做“組成”。如果不限制組合方式,那么只有一個基元也能夠組合出無窮多個組合結(jié)果來。例如我們只用一個點作為組合的元素,不限制它的組合方式,我們可以通過一種組合方式,看看它如何能夠產(chǎn)生無窮多組合結(jié)果來。我們先把點組合成不同數(shù)量的點群。并命名一個點的點群為“1”,兩個點的點群為“2”,三個點的點群為“3”......,十個點的點群為“0”。并且只組合出這樣十個一級點群。如果組合出無限的一級點群,其一級點群的組合結(jié)果就是無窮的。下面,我們就可以把這十個一級點群作為十個數(shù)字,組合成十進制數(shù)字的高級點群,顯然其組合結(jié)果是無窮的。因此,如果不限制組合方式,任何基元的組合都會是無窮的。因此減少基元并不能減少組合結(jié)果的無窮性。也就因此不能使將來的程序運行不收斂。但是我們可以看出,并不是任何組合方式都會使點群的組合結(jié)果是無窮的,只要我們限制一些組合方式,只允許不產(chǎn)生無窮組合的組合方式。那些就會有效的防止將來程序運行的不收斂。乙、組成——組合方式。由上面一個點為組合基元的例子,我們可以看出,影響組合的因素不僅僅是基元的數(shù)量,還有組合方式?;獮橐粋€,已經(jīng)是基元的最小數(shù)量了,但是選擇某個組合方式,它還可以有無窮多的組合結(jié)果的。因此人們往往把對組合的搜索看成是對組合結(jié)果的簡單搜索,這是不正確的。要得出全部的組合結(jié)果,往往還要對“組合方式”進行搜索,找出獲得最后結(jié)果的組合方式。舉個數(shù)學(xué)的例子,集合論中的自然數(shù)集合,就是先找出一種特殊的組合方式,然后再從這種組合方式找到組合結(jié)果的。并不是所有的人隨隨便便的就能提出自然數(shù)集合的,這就表明搜索組合方式也非易事。由于這個原因,一般的組合的搜索域往往是很難收斂的。丙、受限組合問題——約束。為了解決收斂問題。我們必須研究受限組合問題。什么是受限組合?顧名思義,就是組合形式受到了一定限制的組合。在實際的大多數(shù)組合過程中,并不是所有組合方式都成立,制革方式會受到很多限制,在“泛結(jié)構(gòu)論”里,把組合時所受到的限制叫做約束。顯然,由于組合形式受到了限制,組合結(jié)果也就同時受到了限制。這就會大大減少組合的數(shù)量。但是只有當(dāng)組合結(jié)果被減少到數(shù)量有限,而且搜索不會是高次多項式收斂時,收斂性才能得到有效的保證。這樣,受限組合的討論就集中在,組合方式受限后,怎樣保證它的結(jié)果不是無窮多的,怎樣保證它的結(jié)果不是高次多項式收斂的。顯然,如果讓我們設(shè)計的初始無智能系統(tǒng),自己解決上面的問題,是辦不到的。而像機器學(xué)習(xí)理論那樣,由人們提出一些方式,經(jīng)過理論證明,保證它們收斂。就影響了這種智能的靈活性、適應(yīng)性、巧妙性等。因此受限組合研究的重點就有歸結(jié)為,如何提出一種讓無智能系統(tǒng)自行解決收斂問題的方案。B、漸次收斂方式。在機器學(xué)習(xí)理論中,人們提出了很多方法想使得問題收斂。但是截止到目前,還沒有一個能夠完全保證運行結(jié)果收斂的方法。那么這個方法是否存在呢?我們需要換一個角度思考這個問題。這就是,我們這樣提問,人類智能是如何實現(xiàn)解決問題的收斂性呢?如果這個問題得到解決,我們模擬這個問題的答案,編寫計算機程序就行了!首先,我認(rèn)為,人類智能并不能保證解決問題永遠(yuǎn)收斂。舉一個例子證明,歌德巴赫猜想,至今沒有解決。我國著名的數(shù)學(xué)家僅僅解決了1+2的問題,就與世長辭了。這起碼表明,在陳景潤先生的那臺大腦計算機里,“運行解決歌德巴赫猜想程序”并沒有收斂,或者說它僅僅運行到“1+2”就中止了。這就表明,人腦智能運行并不能保證永遠(yuǎn)收斂。那么歌德巴赫猜想要如何解決呢?人類智能是由一個個人類個體連續(xù)運行,并且靠偶然的先進個體的出現(xiàn),最后解決難題的。計算機收斂問題難道不能由此得到些什么啟發(fā)么?也就是說,人類智能并不要求運行起來,絕對能夠收斂。但是人類不會因為問題的不解決而長久運行。我們只要在計算機程序里設(shè)置一些終止點,在問題長期得不到解決時,終止運行,分析長期得不到結(jié)果的原因。陳景潤先生的去世,相當(dāng)于解決歌德巴赫猜想的程序的一個終止點。其他人繼續(xù)完成這個課題,相當(dāng)于分析修改原來的程序后,繼續(xù)運行。由于計算機不會像人類那樣死亡,繼續(xù)工作可以有一臺計算機進行。這便是我們受限組合理論解決收斂問題的第一招。C、新計算機程序評價的標(biāo)準(zhǔn)——允許漸次收斂。然而,人們應(yīng)該注意到,我們上述的招數(shù),竟然是目前計算機理論中所不允許的!倒不是有明文規(guī)定,說這種方式不能使。而是目前判斷計算機程序效率的各種方式,都不會允許這一招的實現(xiàn)。在我們上面提出的方法中,意味著允許一個計算機程序毫無結(jié)果的運行后終止。在目前計算機程序效能的判定中,這種程序是被判定為無效的、無用的、無意義的。實際上如果一個計算機程序運行無效后,對于運行過程沒有報留下任何痕跡,那么它的運行也確實是無效的、無用的、無意義的。但是我們的程序卻是要記錄保留運行過程的。因此它的一次運行雖然沒有結(jié)果后,但是卻記錄下了運行過程和運行的很多中間結(jié)果。再次運行,程序便可以對這些運行過程的記錄進行分析,進行改進。使改進后的運行接近成功的運行。如果再次不成功,就再次終止運行,再次分析運行過程,再次改進。有人說,你這個方法有什么稀罕?我們編程時都是這樣做的呀!但是關(guān)鍵的區(qū)別在于,我們編程時是人在進行分析改進工作?,F(xiàn)在是計算機自己在進行分析改進工作。不需要人的干涉參與。這正是這種計算機設(shè)計具有強智能特征的所在。但是這個方案的實現(xiàn),卻要求我們重新確定計算機程序評價的標(biāo)準(zhǔn)。要求允許計算機反復(fù)運行后才成功,也看成是計算機程序有效、有意義。甚至在評價計算機效率時,關(guān)注計算機運行過程和中間結(jié)果,比關(guān)注計算機運行的最后結(jié)果還要重要。陳景潤先生證明的“1+2”就是一個運行的中間結(jié)果。數(shù)學(xué)界并沒有因為他沒有最終證明歌德巴赫猜想而否定他的研究,因為他的研究提供了很多有益的數(shù)學(xué)研究的思想方法。而“1+2”也是歌德巴赫猜想證明的一個重要的進展。因此把這種人類智能評價方式,用在對計算機智能的評價。這是對計算機評價理論的新要求。但是,這個改變的前提是:計算機一定要能夠記錄運行過程,要能夠自己分析和改進自己的智能活動。這也是我們在前面強調(diào)程序運行中要不斷積累經(jīng)驗的原因了。而目前機器學(xué)習(xí)理論仍然處于重視運行結(jié)果,而不重視積累經(jīng)驗的及其低級的水平?。?、分層次組合。有了允許終止運行并修改程序和記錄運行過程、中間結(jié)果兩項措施后。我們再反過頭來看看分層次組合對受限組合的意義。分層次組合本身如果無限進行下去,并不會減少組合的數(shù)量,因此也不會因為分層次組合而保證收斂。但是如果我們在記錄運行過程和結(jié)果的基礎(chǔ)上再考慮分層次組合。情況就不同了。首先我們分層次時要使低層次的組合量小一些。這一點我們是可以通過分層次的方式控制的。由于低層次組合量少,它們的收斂性就會得到保證。在組合和運行低層次組合的程序時,由于允許終止、修改和記錄過程、結(jié)果。就在低層次把一些無法成功運行的組合淘汰掉,它們也就不能繼續(xù)參與高層次的組合。因此分層次后,高層次組合量還是會比低層次的多一些,但是數(shù)量已經(jīng)大大減少。這就很有利于收斂。而且低層次的過程、結(jié)果記錄,還相當(dāng)于一種知識,它將會成為進一步組合程序時,推斷程序性能的依據(jù)。還要注意的是,我們在組合中編寫的程序不是別的什么程序,而是智能程序,這些程序的漸次編出,就會不斷提高系統(tǒng)的智力。已經(jīng)編出的智力程序加上紀(jì)錄的程序運行知識,就會使那些不可能成功的程序組合在運行前被排除。這也大大壓縮了程序的組合量。上述組合方式顯然會使程序由低層次向高層次發(fā)展時,雖然數(shù)量會有所增加,但是不會呈現(xiàn)出爆炸式的形式增加。因此也就確保了高層次組合的收斂。而在智力程序不斷編出后,智力提高到一定水平。以后的程序組合將不會是任意的組合,而是有目的的組合。這就絕對的保證了自編程序過程的收斂性。還需要指出的是,我們利用受限組合,保證自編程序的組合收斂,不是制定出一些受限規(guī)則。制定任何規(guī)則都會使系統(tǒng)的靈活性受到那種規(guī)則的限制。我們是利用操作自身使組合數(shù)量受限。例如允許終止運行和終止后修改,不是什么規(guī)則,而是操作方式。再例如,記錄程序運行過程和中間結(jié)果也不是什么規(guī)則,而是操作方式。分層次組合是一種操作方式,它含有一個低層次組合數(shù)量要少的規(guī)則。但是這個規(guī)則本身并不能保證系統(tǒng)的高層次組合收斂。而保證高層次組合收斂的是紀(jì)錄的知識和編出的智力程序參與新的程序組合。在計算機理論中,有人依據(jù)歌德爾定理提出一個所謂規(guī)則的規(guī)則悖論。在這里由于我們的受限是操作自身限制組合的數(shù)量,沒有規(guī)則參與。因此也就沒有規(guī)則導(dǎo)致的規(guī)則悖論出現(xiàn)。以上的討論,我們采取了一系列技術(shù),排除了系統(tǒng)在自編程序中不收斂的可能,從而保證了系統(tǒng)自編程序的正常運行。以上措施不是我們杜撰的措施,而是根據(jù)人類智能的情況模擬出來的。因此它也能與人類智能更加貼近。7、自作用和偽自作用。人們可能還不相信我們的方法可以解決自編程序組合式的收斂問題。我們下面在介紹一下我們解決這個問題的重要保證——自作用和偽自作用。A、什么是自作用。什么是自作用?一個程序作用于它自身,就是自作用。有人認(rèn)為這是自指,會出麻煩的。實際上自指未必都出麻煩。我可以舉一個小小的例子,說明程序如何自作用,又如何不出麻煩。大約在二十年前,我想用匯編語言編寫模擬智能的實驗程序。但是在業(yè)余條件下,無法買到匯編語言的編譯器。所以只好利用DOS中的DEBUG編寫小型程序。但是在DEBUG中編寫程序,不能把整篇的文本文件(源程序)輸入,要一句句輸入源程序,操作很是麻煩。后來我就想到要找出該程序匯編的入口,這樣就可以由此輸入整篇源程序了。為了偵測DEBUG匯編入口,我就用的DEBUG來解讀DEBUG,也就是把用DEBUG的跟蹤功能,跟蹤到其匯編指令的入口。這就是一個程序自身對自身的操作。最后我找到了入口,并在修改該入口后制作出自己的助記符語言編譯器。借助它我做了大量模擬智能實驗。用DEBUG來解讀DEBUG,是一種程序?qū)ψ陨淼淖宰饔?,但是我沒有因為采用這種自作用而遇到蠻煩。因為這種自作用不會造成自作用的無限循環(huán),它是一次性的自作用。B、自作用不出現(xiàn)麻煩的條件。但是這種自作用不出現(xiàn)麻煩是有原因的。在這個自作用過程中,DOS操作系統(tǒng)是把DEBUG程序作為兩個文件使用的。我們在鍵入DOS命令“DEBUGDEBUG.EXE”時,前一個DEBUG,DOS把它作為程序調(diào)用,后一個DEBUG.EXE,DOS把它作為文件調(diào)用。兩個DEBUG對DOS來說性質(zhì)并不相同??此谱宰饔茫瑢嶋H又不是真正的自作用。為了區(qū)別真正的自作用,我把這種看似自作用,又不是真正的自作用的情況,叫作偽自作用。這里自作用的“偽”就偽在,名稱相同、內(nèi)容相同,但是性質(zhì)不同的兩個東西在進行作用。它們一個是正在運行的程序(它的作用是操作者),另一個是程序的文本紀(jì)錄(是數(shù)據(jù),它的作用是操作對象)。在DOS兩次處理這個程序時,分兩次調(diào)用它。一次是作為運行程序調(diào)用,另一次作為程序處理的文件調(diào)用。在我們的眼皮底下,DEBUG被DOS處理成不同性質(zhì)的文件。也正是因為如此,這種自作用(自指)才不會出現(xiàn)任何麻煩。人類智能中也存在大量的自指和偽自指,我們模擬人類智能時也要模仿自指和偽自指。C、分辨自作用與偽自作用。在了解了自作用與偽自作用以后。我們再去看前三段講的。前面編出的程序用于后面的編程工作。就是一個智能程序作用于智能程序的過程。但是這不是一個自作用,而是一個偽自作用。因為已經(jīng)編出的智能程序,與正在編寫的智能程序并不是同一個程序,它們在名義上都屬于智能程序,但是實際上不是同一個程序。因此并不是真正的自作用,完全不用擔(dān)心這種作用引起無限循環(huán)。在機器學(xué)習(xí)理論中,目前還沒有敢于設(shè)計這種偽自作用的思路。我在強人工智能中引入這個思路,就會使系統(tǒng)前面的自編程序起到幫助后面自編程序編寫的作用。它們會造成系統(tǒng)智能的累積效應(yīng)。使得系統(tǒng)智能越來越高,也使得越復(fù)雜的智能操作程序,反而越容易收斂。當(dāng)然,由于越復(fù)雜的智能程序越容易收斂,必須有前面簡單智能程序已經(jīng)編出,并成功運行為基礎(chǔ)。如果有人愣要抬杠,說“既然越復(fù)雜的智能操作程序越容易收斂,那就先編復(fù)雜得好了”,顯然他們是編不出來的,因為這種抬杠忘記了前面的基礎(chǔ)??梢哉f,系統(tǒng)自編程序間的偽自作用,使我們保證系統(tǒng)智能快速增長、智能程序快速收斂的法寶。二、四大學(xué)習(xí)過程。在花了很長篇幅討論了自編程序的收斂性以后。我們開始討論自編程序是如何形成的。遺傳編程把編程的過程也叫學(xué)習(xí)。但是我們在討論四大學(xué)習(xí)過程后,就會知道自編程序要經(jīng)歷一個怎樣的學(xué)習(xí)過程,從而會理解強人工智能與機器學(xué)習(xí)理論有什么不同。產(chǎn)生自編程序的四大學(xué)習(xí)過程是:反射學(xué)習(xí)過程、摸索學(xué)習(xí)過程、模仿學(xué)習(xí)過程、伴隨學(xué)習(xí)過程。機器學(xué)習(xí)理論中一般只采用摸索學(xué)習(xí)過程。不采用其它三種學(xué)習(xí)過程。為了說明這些,我們要一一討論這些學(xué)習(xí)過程,證明它們可以確保系統(tǒng)產(chǎn)生于人類智能一樣的能力。1、摸索學(xué)習(xí)過程。A、摸索學(xué)習(xí)過程的實驗基礎(chǔ)。在四大學(xué)習(xí)過程中,反射學(xué)習(xí)過程、摸索學(xué)習(xí)過程、伴隨學(xué)習(xí)過程都是有相應(yīng)生物學(xué)或心理學(xué)實驗的。只是因為模仿學(xué)習(xí)太常見了,它反而沒有嚴(yán)格的實驗。我們只能依據(jù)經(jīng)驗來構(gòu)建它的程序模型。下面我就來介紹一下摸索學(xué)習(xí)過程的實驗基礎(chǔ)。這個實驗在西方心理學(xué)中都有介紹,它是由桑代克最先完成的,就此實驗,桑代克提出自己的很多解釋。我不是桑代克理論的支持者,而且認(rèn)為它的解釋有很多錯誤。因此我對他的解釋毫無興趣,只對這個實驗感興趣。因此閱讀到此處的人,千萬不要把這里對實驗的敘述與桑達克本人的理論聯(lián)系在一起理解。最初桑代克用饑餓的貓和一個帶有插銷門的籠子進行實驗,因此也叫做迷籠試驗。饑餓的貓看到門外的食物,就用各種動作嘗試逃出籠子,獲得食物。當(dāng)它十分偶然的碰到門上的插銷,門就被它打開,它也就逃出籠子,獲得食物。實驗的觀察這就記錄貓?zhí)映龌\子所用時間,以及記錄貓嘗試動作的次數(shù)。在貓?zhí)映龊?,用這只貓(仍等它處于饑餓狀態(tài))再次進行實驗。此時貓仍舊要用很長時間,經(jīng)歷大量錯誤的嘗試動作,最后才再次偶然碰到門插銷,逃出籠子,獲得食物。此類實驗不斷反復(fù)進行下去。實驗觀察者發(fā)現(xiàn),貓的錯誤嘗試動作在后來越來越少,逃離籠子所用時間也越來越短。直到后來,把貓一關(guān)進籠子,貓就一下子觸動插銷,打開籠門。也就是說,貓通過嘗試錯誤的反復(fù)學(xué)習(xí),最后學(xué)會了貓本能中沒有的動作——打開籠門插銷的動作。此后此類實驗大量用白鼠走迷津的方式進行,實驗記錄更加準(zhǔn)確。該實驗表明動物和人的一種在沒有經(jīng)驗支持下的學(xué)習(xí)本領(lǐng)。人們一般叫做嘗試錯誤學(xué)習(xí)。在人工神經(jīng)網(wǎng)絡(luò)的很多模型里,都應(yīng)用了這個嘗試錯誤學(xué)習(xí)構(gòu)建模型。我把這個學(xué)習(xí)過程叫做摸索學(xué)習(xí)過程,以表示我僅尊重桑代克實驗,而對桑代克理論的不贊同。叫做摸索學(xué)習(xí)過程的另一個原因,是我認(rèn)為,這個實驗也表現(xiàn)出動物和人自主能力的來源。表現(xiàn)出最原始的自主性。B、學(xué)習(xí)過程的整體結(jié)構(gòu)。首先指出,機器學(xué)習(xí)并沒有完整的研究過學(xué)習(xí)過程,因此它的一些分支即便是進行某種學(xué)習(xí),也是是支離破碎的學(xué)習(xí),而且為了解決學(xué)習(xí)的收斂問題,加入了很多人為的、不自然的搜索手段,這反而增增加了機器學(xué)習(xí)的困難。由附圖中我們可以看出,一個完整的學(xué)習(xí)過程,可以抽象的分為四個部分。我們還要具體結(jié)合自主學(xué)習(xí)過程(嘗試錯誤學(xué)習(xí)過程)分析這四個部分。圖上方的方框?qū)懙氖菍W(xué)習(xí)環(huán)境,它是影響學(xué)習(xí)的外部因素。在桑代克實驗中,籠門有插銷的迷籠,和籠外的食物,構(gòu)成這個學(xué)習(xí)的學(xué)習(xí)環(huán)境。它影響學(xué)習(xí)過程的各個部分,我們用三條連線表示這個作用。圖的左側(cè)方框是需要機制,它是學(xué)習(xí)的動力部分,是學(xué)習(xí)活動的發(fā)動力。在桑代克實驗中,貓的饑餓狀態(tài)(食欲),是這個學(xué)習(xí)的發(fā)動力。圖的中部方框,寫的是學(xué)習(xí)過程,它是學(xué)習(xí)過程的主體,四大學(xué)習(xí)過程,關(guān)鍵區(qū)別在于學(xué)習(xí)主體部分不同。對于摸索學(xué)習(xí)(嘗試錯誤學(xué)習(xí))的詳細(xì)過程分析,我們以后還要進行。圖的右側(cè)是學(xué)習(xí)結(jié)果部分。機器學(xué)習(xí)把學(xué)習(xí)結(jié)果歸結(jié)于問題的解,很是片面。實際上學(xué)習(xí)的結(jié)果有有兩部分。一部分是學(xué)習(xí)中積累的活動經(jīng)驗,另一部分才是活動的直接結(jié)果。在桑代克實驗中,學(xué)習(xí)的直接結(jié)果是貓獲得食物。但是在桑代克進行實驗時,就很不在乎這個結(jié)果。他們重視的結(jié)果是貓能夠打開籠門。因此,具有重要意義的學(xué)習(xí)結(jié)果是“貓打開籠門經(jīng)驗”的獲得。三個方框之間用直線相連,表示它們的操作順序。在我的強人工智能學(xué)習(xí)理論中,把學(xué)習(xí)結(jié)果歸結(jié)為自編程序(與貓獲得開籠門經(jīng)驗相當(dāng))和自建數(shù)據(jù)庫(與貓在學(xué)習(xí)中認(rèn)識到打開籠門可以獲得食物相當(dāng))。在機器學(xué)習(xí)理論中采用很多人為方法(搜索解的方法)幫助計算機解決問題,人們編出的程序已經(jīng)代替了系統(tǒng)自己獲得的經(jīng)驗。盡管有些機器學(xué)習(xí)模型使用了嘗試錯誤學(xué)習(xí)原理,當(dāng)時實質(zhì)上已經(jīng)與嘗試錯誤學(xué)習(xí)差了很多。學(xué)習(xí)過程圖

C、摸索學(xué)習(xí)過程的反饋結(jié)構(gòu)。細(xì)致地分析摸索學(xué)習(xí)過程,就會發(fā)現(xiàn)它是由反饋循環(huán)組成的。一個摸索學(xué)習(xí)過程有兩個反饋循環(huán)組成。兩個反饋過程分別組成內(nèi)外兩個反饋環(huán)。內(nèi)反饋環(huán)我叫它為成功動作生成環(huán),它實際就是桑代克實驗一次實驗的過程。附圖就顯示出這個內(nèi)反饋環(huán)的具體工作過程。我們后面再仔細(xì)討論。外反饋環(huán)我叫它為成功動作鞏固環(huán),它實際就是桑代克實驗多次實驗的過程。在機器學(xué)習(xí)理論的一些模型中,一般只模擬了桑代克實驗的內(nèi)反饋環(huán),沒有注意到它的外反饋環(huán),因為計算機的記憶是不用鞏固的。但是,外反饋環(huán)的鞏固作用對應(yīng)著遺忘,使系統(tǒng)清理無用信息的重要方式。同時鞏固反饋環(huán)對于系統(tǒng)以后的學(xué)習(xí)能夠加快收斂起很重要的作用。我們附圖給出的成功動作生成環(huán),它的結(jié)構(gòu)也比機器學(xué)習(xí)理論模型中的嘗試學(xué)習(xí)細(xì)致。從附圖我們可以看出,在需要機制發(fā)動一次實驗的學(xué)習(xí)后,實驗動物由大腦的隨機操作機制隨機發(fā)出動作指令,該動作被操作部分執(zhí)行,其效果由實驗動物的感覺器官感知。依據(jù)感覺的判定,信息分兩路傳遞:如果效果顯示是成功的,一次實驗的學(xué)習(xí)過程停止,成功動作被記錄為印象。如果感覺判定效果是失敗的,信息被反饋回大腦,經(jīng)過調(diào)整,隨機機制再發(fā)出新的動作指令。反饋循環(huán)就繼續(xù)進行。直到成功動作產(chǎn)生。需要解釋的是,由于一次實驗產(chǎn)生的成功動作,還不鞏固,不能被大腦記憶住。因此只能成為記憶不牢的印象。我們這里把印象定義為不鞏固的記憶。需要解釋的另一點就是,在失敗信息反饋回到腦的過程中,失敗動作還有一個被保存為負(fù)印象的環(huán)節(jié)。什么是負(fù)印象?它就是對失敗動作不牢固的記憶。這種負(fù)印象是否存在?在桑代克實驗中,以后多次實驗中,實驗觀察著記錄的錯誤嘗試動作次數(shù)明顯減少。這表明有一種東西起到是錯誤嘗試動作減少的作用。這種東西顯然是實驗動物對錯誤嘗試動作的記憶。對錯誤動作的記憶,起到限制錯誤動作再次發(fā)生的作用。但是一次實驗,這種記憶是不牢固的,因此我們把它成為負(fù)印象。多次實驗后,錯誤的嘗試動作也會鞏固為記憶。這種記憶的意義十分重大。我們在分析外反饋循環(huán)時再詳細(xì)討論。摸索學(xué)習(xí)過程

D、解決問題過程與外層反饋。我們上面討論了摸索學(xué)習(xí)過程(嘗試錯誤學(xué)習(xí))的內(nèi)層反饋環(huán)——成功動作生成環(huán)。下面我們要討論摸索學(xué)習(xí)過程的外層反饋環(huán)——成功動作鞏固環(huán)。為了更確切的理解成功動作鞏固環(huán)。我們在附圖中給出了完整地解決問題過程方框圖。摸索學(xué)習(xí)過程的外層反饋環(huán)就在這個過程中間。附圖的左端首先是進入學(xué)習(xí)環(huán)境,也就是進入解決問題環(huán)境。環(huán)境激發(fā)需要機制,需要機制激發(fā)活動后并不立即進入摸索學(xué)習(xí)過程。它要先檢驗經(jīng)驗(相當(dāng)于計算機的動作程序)的有無。如果有相應(yīng)的經(jīng)驗(這相當(dāng)于動物學(xué)會成功動作的狀態(tài)),就調(diào)用經(jīng)驗順利地完成動作,解決問題(獲得食物)。如果沒有成功的經(jīng)驗,才進入摸索學(xué)習(xí)過程。附圖中標(biāo)有摸索學(xué)習(xí)過程的方框,相當(dāng)于上一段所說的一次實驗過程,相當(dāng)于上一幅附圖的描述。如果這已經(jīng)是第二次實驗,就表明進入反復(fù)進行實驗的過程,也就是進入成功動作鞏固反饋環(huán)。最初摸索學(xué)習(xí)過程的結(jié)果還是形成正印象,其生成負(fù)印象的部分包括在摸索學(xué)習(xí)過程的方框內(nèi),沒有標(biāo)出。(注:摸索學(xué)習(xí)過程原來叫做自主學(xué)習(xí)過程,原圖中的自主學(xué)習(xí)就是摸索學(xué)習(xí))附圖下面?zhèn)€黑線,就是反饋信號傳輸線。實驗重復(fù)一些次數(shù)后,正印象便被鞏固為正經(jīng)驗。在我們這里經(jīng)驗被定義為鞏固后的操作方法,或者說是鞏固后的印象。它相當(dāng)于自編好的程序。正經(jīng)驗就是成功的活動的經(jīng)驗。一旦經(jīng)驗形成,外層反饋環(huán)就結(jié)束循環(huán)。再次進入學(xué)習(xí)環(huán)境時,只能調(diào)用成功經(jīng)驗進行活動了。只有在環(huán)境變化后,在需要新的學(xué)習(xí)。上述解決問題的摸索學(xué)習(xí)過程,就是一個程序的流程,顯然可以全部編寫成程序(包括一次實驗過程),由計算機模擬??梢钥闯?,模擬這個過程的計算機程序,重要的結(jié)果不是解決問題(獲得食物),而是獲得了新環(huán)境下的活動方式,即自編出活動程序(形成成功活動的經(jīng)驗)。因此我認(rèn)為摸索學(xué)習(xí)過程是自編程序的重要過程。人工神經(jīng)網(wǎng)絡(luò)的很多模型都有摸索學(xué)習(xí)過程的痕跡。例如對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,就是一個一次實驗(多次嘗試)摸索學(xué)習(xí)過程。它用神經(jīng)元權(quán)值的不斷改變,作為學(xué)習(xí)結(jié)果。最后確定的勸止,相當(dāng)于正印象。但是這個學(xué)習(xí)不能夠同時積累負(fù)印象。也不能積累多條正經(jīng)驗。對此做法的危害性,我們以后還要討論。完整的解決問題過程

E、隨機操作的產(chǎn)生問題。甲、隨機操作的收斂性問題。在整個摸索學(xué)習(xí)過程的工作過程都清楚以后。我們再仔細(xì)看看“摸索學(xué)習(xí)過程圖”中的隨機操作部分。這個問題在實際編程過程中非常重要,如果它隨機到產(chǎn)生無窮多無法成功的操作的程度,那么這個摸索學(xué)習(xí)過程是無法用計算機模擬的。為了解決這個隨機問題,我也和很多人交換過意見,有些人建議把操作程序編成數(shù)字號碼,用隨機函數(shù)產(chǎn)生一個個號碼,以保證對操作的純隨機調(diào)用。其實,我個人認(rèn)為,只要是能夠把所有操作都經(jīng)歷遍,給每一個可能成功的操作以平等的機會,并保證做過的操作不再重復(fù),就足夠了。至于是否是純隨機的,意義并不大。就用順序方式調(diào)用系統(tǒng)的操作,給調(diào)用過的操作程序以“調(diào)用過”的標(biāo)記。就很不錯了。真正關(guān)鍵的問題不在于隨機的“純”與“不純”上,而在于調(diào)用的操作如何保證盡快收斂上。我們不妨分析一下桑代克迷籠實驗的情況。被關(guān)進迷籠的貓,并不會用無關(guān)程度很高的動作嘗試打開籠門。例如它不會用清潔皮毛的動作嘗試打開籠門,它不會用刨坑蓋屎的動作去嘗試打開籠門。它采用的是撲、咬、前爪抓、把爪子試圖伸到門外、用頭拱嘗試鉆出、用屁股拱嘗試退出等方式。這些都是它平時遇到障礙,學(xué)習(xí)到的克服障礙的動作。由此,我們在前面討論自編程序的收斂性時,才指出采用“貼近調(diào)用”的方式加快收斂。顯然,貓對動作的這種選擇,已經(jīng)不是純隨機調(diào)用,而是“隨機貼近調(diào)用”。乙、“隨機貼近調(diào)用”。什么是“隨機貼近調(diào)用”?也就是在一定范圍內(nèi)的隨機調(diào)用,這個一定范圍是與解決學(xué)習(xí)環(huán)境提出的問題接近的那些操作,而不是系統(tǒng)所有的操作。那么這個一定范圍的選擇是否是有智能的呢?這倒不一定!我們可以用程序來想象。如果我們的系統(tǒng)中的每個操作程序,都有它產(chǎn)生的環(huán)境紀(jì)錄,只要機械的調(diào)用這些紀(jì)錄,就可以“知道”它是否與問題貼近。如此我們就可以確定“隨機貼近調(diào)用”的流程:過程進入“隨機調(diào)用”程序塊以后,先去一一檢查已有的操作程序的相關(guān)紀(jì)錄,僅調(diào)用那些記錄上與環(huán)境提出問題接近的操作。那么判斷貼近要不要智能呢?也大可不必。這個貼近比較不是精確比較,只要有粗略相同就可以了。因為實際上要由“具體操作的成功與否”決定哪個操作被最終確定,這里做精確比較沒有意義。但是問題又出來了:計算機對“精確比較確定”比較在行,對于“粗略比較確定”反而很無能。一般要采用模糊數(shù)學(xué)來處理。這里是否要引入模糊數(shù)學(xué)來處理呢?答案是不需要!貓對學(xué)習(xí)環(huán)境的感知會激發(fā)很多不同的需要,迷籠里的貓被激發(fā)有饑餓的需要(食欲)和逃出籠子的需要(避險欲),只要在記錄操作程序時把相關(guān)需要記錄在相關(guān)程序上,此時需要就會幫助系統(tǒng)作出粗略的選擇。顯然,我們模擬摸索學(xué)習(xí)時,也模擬需要機制,在此就可以起到粗略選擇的作用。無須用什么模糊數(shù)學(xué)處理?。啤⒆畛踅?jīng)驗的學(xué)習(xí)。在前一段中,我們說到,桑代克的迷籠實驗中的貓,在摸索學(xué)習(xí)時的隨機操作是隨機的調(diào)用貼近的經(jīng)驗。那么最初的經(jīng)驗是否能夠通過摸索學(xué)習(xí)完成呢?我通過對嬰兒學(xué)習(xí)簡單動作的觀察,證明了最初的經(jīng)驗也可以通過自主學(xué)習(xí)完成。下面舉我觀察的一個嬰兒在嬰兒車學(xué)習(xí)坐起的例子。因為他還沒有在床上坐起過,在嬰兒車的坐起應(yīng)該是他最初的動作經(jīng)驗積累。他往前伸手、往起探身企圖坐起來(實際上他還不知道坐是怎么回事,也不知道坐起是什么感覺,我們用詞——“企圖坐起來”有些過分)。但是他總是半途就又摔了回去。孩子對這類事情是很有耐心的,他可以一個小時不知疲倦的重復(fù)。有時已經(jīng)快坐起來了,他竟然把腿舉起來,結(jié)果可想而知:重心向頭部的移動使他又躺了下去。就這樣一次又一次的失敗,而孩子還在一次又一次的嘗試。直到他終于獲得一次成功!觀察到他一次成功需要花很長時間,連觀察者也需要足夠的耐心。在他一次成功后,我為了加快觀察,把他又放倒。他與迷籠中的貓一樣,果然并沒有學(xué)會坐起的動作。又經(jīng)過大量嘗試(有時因為疲勞而不再嘗試了)才能再次坐起來。也是經(jīng)過這樣多次嘗試成功,才學(xué)會了順利完成坐起的動作。經(jīng)過又是一次次的失敗,他才再次作了起來。學(xué)習(xí)幾天以后,他才學(xué)會順利地坐起來。這個時候他的經(jīng)驗已經(jīng)形成。整個觀察是對一些原來不會坐起的嬰兒進行的,這確實是他的基本經(jīng)驗積累。而學(xué)習(xí)過程是與桑代克實驗的過程完全類似的。這表明通過摸索學(xué)習(xí)過程積累基本經(jīng)驗,是人與動物共同具有的學(xué)習(xí)過程。這段討論還可以對我們上一段“隨機貼近調(diào)用”討論的補充。也就是說,我們在設(shè)計自主學(xué)習(xí)的隨機操作功能時,既可以由本能操作組成最初的經(jīng)驗,也可以由已經(jīng)積累的經(jīng)驗做“隨機貼近調(diào)用”,還可以由本能動作、經(jīng)驗動作隨機組合成復(fù)雜的動作?!半S機貼近調(diào)用”(或“隨機貼近組合”)是隨機操作的基本原則。它可以保證摸索學(xué)習(xí)的快速收斂。G、摸索學(xué)習(xí)的自主性表現(xiàn)。桑代克把他的實驗叫做嘗試學(xué)習(xí),我把它叫做摸索學(xué)習(xí)過程。我是認(rèn)為它與自主性密切相關(guān)。我在認(rèn)真分析了桑代克實驗以后,發(fā)現(xiàn)人們認(rèn)為“很難弄明白的”動物和人的自主性,就在這個實驗里體現(xiàn)出來。而且我進一步認(rèn)為,抓住桑代克實驗中表現(xiàn)出的自主性,我們進行模擬,就可以使計算機在模擬自主性上有所突破。這也是機器學(xué)習(xí)理論根本涉及不到的內(nèi)容。我們前幾段著重分析內(nèi)反饋循環(huán)(一次實驗過程)中的隨機操作,也是為了討論自主性打一個基礎(chǔ)。動物和人為什么有自主性?從機械的動物神經(jīng)反射機制來看,從調(diào)用動物的本能操作來看,從調(diào)用成熟的經(jīng)驗操作來看,都看不出自主性的來源。但是從桑代克實驗中,我們就可以看到自主性來自何方。桑代克實驗最大的特點,是讓實驗動物參與一種它本能動作中少見的動作學(xué)習(xí),也是讓它參與一種成熟動作中少見的動作學(xué)習(xí)?;蛘邠Q一種說法,是讓動物學(xué)習(xí)解決前所未見過的動作的學(xué)習(xí)。而促使動物完成這種學(xué)習(xí)的,就是動物具有自主性。它可以自主地找出解決問題的方法。是什么因素使動物有了這種自主性呢?就是它們的隨機調(diào)用能力。也就是在前面兩段中討論的,內(nèi)反饋循環(huán)中的隨機操作。在實驗中,需要機制(食欲)逼迫動物解決問題,動物就采用隨機調(diào)用各種操作常識的方式,自主地找到解決問題的方法。因此我把整個學(xué)習(xí)過程叫做自主學(xué)習(xí)過程。實驗顯示,可以采用的自主方式有三類:第一類是在本能動作的基礎(chǔ)上自主隨機組合。第二類是對已經(jīng)形成的經(jīng)驗進行“隨機貼近調(diào)用”。第三種是對已經(jīng)形成的經(jīng)驗進行自主隨機組合。第二類的意義更重要,它是把一種經(jīng)驗用在與之目的完全不同的地方。心理學(xué)上叫做經(jīng)驗的轉(zhuǎn)移,我把它叫做“移用”。相當(dāng)于我們在計算機中把編好某種用途的程序,用到與其原來目的不同的地方。由于計算機程序處理的數(shù)據(jù)往往不具有通用性,因此這類對經(jīng)驗的移用,一般不會成功。但是在模擬智能系統(tǒng)中,由于處理信息具有通用性,經(jīng)驗的轉(zhuǎn)移或移用對于系統(tǒng)程序的自編,意義十分重大!H、摸索學(xué)習(xí)總結(jié)。以上對摸索學(xué)習(xí)過程進行了較為完整的討論,但是由于篇幅限制,每一部分都沒有詳細(xì)談透。這是網(wǎng)絡(luò)文章不容易克服的缺點。下面我們對摸索學(xué)習(xí)過程作一個總結(jié)。首先我們介紹了摸索學(xué)習(xí)過程(嘗試錯誤學(xué)習(xí))的心理學(xué)實驗基礎(chǔ)。以表明摸索學(xué)習(xí)過程是一個有堅實實驗基礎(chǔ)的學(xué)習(xí)過程。然后我們用信息反饋網(wǎng)絡(luò)對摸索學(xué)習(xí)過程進行了分析。分別討論了摸索學(xué)習(xí)過程的內(nèi)反饋循環(huán)(一次學(xué)習(xí)循環(huán))和外反饋循環(huán)(鞏固循環(huán))。在討論中我們用圖形形象地給出摸索學(xué)習(xí)過程的主要步驟。實際也給出模擬摸索學(xué)習(xí)過程的程序流程圖。在討論內(nèi)反饋循環(huán)時,我們研究了實驗中負(fù)經(jīng)驗的形成和應(yīng)用問題。它是保證摸索學(xué)習(xí)過程中嘗試動作迅速減少的一個關(guān)鍵。在分析摸索學(xué)習(xí)過程的時候,我們也對比了機器學(xué)習(xí)理論種種相關(guān)的內(nèi)容,指出機器學(xué)習(xí)理論做得很不像話的那些地方。我們還分析了內(nèi)反饋循環(huán)中隨機操作的內(nèi)部結(jié)構(gòu),進一步為模擬摸索學(xué)習(xí)過程提供了依據(jù)。我們著重強調(diào)了大腦隨機操作不是純隨機操作,指出它是一種對經(jīng)驗的“隨機貼近調(diào)用”?!半S機貼近調(diào)用”會進一步加快摸索學(xué)習(xí)過程的收斂速度。我們最后還研究了隨機操作內(nèi)部結(jié)構(gòu)中的最初經(jīng)驗形成和在經(jīng)驗基礎(chǔ)上作“隨機貼近調(diào)用”的兩種經(jīng)驗形成形式。使程序設(shè)計考慮更加周到。A、模仿學(xué)習(xí)的觀察基礎(chǔ)。甲、實驗資料的缺乏。模仿學(xué)習(xí)在模擬人類智能(即強人工智能)中具有相當(dāng)重要的位置。它實際在人類智能的形成過程中,也起著非常重要的作用。我們甚至可以說,沒有模仿學(xué)習(xí)過程的存在,人類的智能是不可能一代代相傳發(fā)展的。但是目前為止,人們還沒有對模仿學(xué)習(xí)過程有嚴(yán)格、詳盡的實驗研究。我由于條件有限,也僅僅是通過觀察獲得有關(guān)模仿學(xué)習(xí)的情況。乙、什么是模仿學(xué)習(xí)過程?什么是模仿學(xué)習(xí)過程?模仿學(xué)習(xí)過程就是一個機體按照外界某種活動的模式進行模仿,從而產(chǎn)生自身活動方式的過程。我們可以從動物那里看到很多模仿學(xué)習(xí)的例子。例如母貓在撫育小貓的過程中,常常不把捉住的老鼠咬死,而是在小貓面前把老鼠放掉,讓小貓模仿著自己的示范動作去捉。這就是典型的模仿學(xué)習(xí)。我們在電視片“動物世界”里也經(jīng)??梢钥吹?,父母動物讓幼小動物進行模仿學(xué)習(xí)的場面。我們的教育,絕大多數(shù)進行的也是模仿學(xué)習(xí)。不過很多場合模仿學(xué)習(xí)的對象不是外顯的動作,而是內(nèi)隱的思維活動。例如嬰幼兒的語言學(xué)習(xí),就基本是靠模仿學(xué)會的(當(dāng)然還有替代操作、聯(lián)想操作、隨機組合操作等參與)。在例如,學(xué)生學(xué)會思考一些習(xí)題的解題方法,就是模仿老師的解決思路學(xué)會的。對學(xué)生的理論教育,說到底,不過是讓學(xué)生進行一種高級別的模仿學(xué)習(xí),學(xué)生模仿到的是一些原則的東西,再通過自己的思考和實踐,把模仿學(xué)到的原則轉(zhuǎn)變?yōu)榫唧w的方法和行為,自己去解決具體問題。即便是自學(xué),在讀書的過程中,也不能光把書本上的東西背下來,要能夠理解和運用,而理解和運用不過是對書本知識的模仿學(xué)習(xí)??赡苁怯捎谀7聦W(xué)習(xí)太常見了,人們才沒有對它進行更多的嚴(yán)格試驗。B、模仿學(xué)習(xí)過程。我們可以用附圖中的“模仿學(xué)習(xí)過程圖”來描繪模仿學(xué)習(xí)過程。在這個學(xué)習(xí)過程中首先要有一個來自學(xué)習(xí)者以外的模仿學(xué)習(xí)對象。對于模仿對象的情況我們以后要專門討論。模仿對象發(fā)出的信息,要經(jīng)過一個信息傳輸過程到達學(xué)習(xí)過程的信息接收部分。該部分實際就是感覺系統(tǒng)。模仿學(xué)習(xí)者在接受到模仿信息后,把接收的信息轉(zhuǎn)換為模仿指令。這是模仿學(xué)習(xí)的極其重要的部分。在加德納夫婦對大猩猩的實驗中,大猩猩就無法學(xué)會人類的聲音語言,因為大猩猩不具備人類的發(fā)聲能力,它們也就無法把人類的聲音語言(模仿對象)轉(zhuǎn)化為自己的模仿指令(控制發(fā)聲動作)。后來加德納夫婦讓大猩猩學(xué)習(xí)手勢語言,大猩猩具有把這個模仿對象(手勢)轉(zhuǎn)化為自身操作指令(控制手勢)的能力,因而也就能夠?qū)W會手勢語言。計算機要能夠?qū)崿F(xiàn)對某個模仿對象的模仿,也需要人們在它的軟件和硬件設(shè)備上賦予它“模仿指令生成”能力,否則就無法實現(xiàn)對該對象的模仿學(xué)習(xí)。對計算機的“模仿指令生成”能力的討論,我們以后也會進行。后面是模仿操作執(zhí)行部分,這一部分不必多說。需要注意的是,一次模仿未必成功,因此模仿學(xué)習(xí)也要進入一個反饋循環(huán)鏈。模仿操作執(zhí)行時也要發(fā)出信息,該信息被學(xué)習(xí)者接收到,并與模仿對象的信息進行對比,對比后產(chǎn)生校正指令,然后交給模仿動作執(zhí)行部分執(zhí)行。學(xué)習(xí)經(jīng)過多次后,對比時發(fā)現(xiàn)不了差別,便形成成功操作記錄在經(jīng)驗中。一個模仿學(xué)習(xí)終于完成。模仿學(xué)習(xí)過程圖

C、模仿學(xué)習(xí)過程的外反饋循環(huán)。上面介紹的模仿學(xué)習(xí)過程,也僅僅是成功地完成的一次模仿學(xué)習(xí)。它形成的動作仍然是“印象”級別的。還需要多次鞏固才能成為穩(wěn)定的模仿動作經(jīng)驗。也就是說在上面介紹的過程的基礎(chǔ)上,模仿學(xué)習(xí)也需要一個鞏固外循環(huán)。由于模仿學(xué)習(xí)的鞏固反饋外循環(huán)與摸索學(xué)習(xí)的一樣,我們就不再另行用圖示表示了。之所以大腦要由內(nèi)外兩個反饋循環(huán)完成一條動作經(jīng)驗的積累,是因為大腦的記憶機制需要鞏固。大腦的要經(jīng)過反復(fù)鞏固才能保證記憶的形式,有它的好處。這種鞏固的方式便于大腦記憶進行遺忘。對于遺忘我們要多說幾句。很多人認(rèn)為,遺忘具有保護作用,可以防止系統(tǒng)里多余的信息太多,影響系統(tǒng)的正常工作。這種說法顯然有一定的道理。但是并不全面。大腦有抽象操作可以有效的起到壓

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論