人工智能簡述.ppt_第1頁
人工智能簡述.ppt_第2頁
人工智能簡述.ppt_第3頁
人工智能簡述.ppt_第4頁
人工智能簡述.ppt_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、人工智能簡述,人工智能定義,人工智能 (Artificial Intelligence ),它是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué) ,涉及到數(shù)學(xué)、計算機科學(xué)、心理學(xué)、哲學(xué)和語言學(xué)等學(xué)科 。 人工智能的主要應(yīng)用包括機器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等 。,人工智能分類,人工智能根據(jù)技術(shù)發(fā)展和研究領(lǐng)域可分為兩種 弱人工智能,機器只不過看起來像是智能的,但是并不真正擁有智能,也不會有自主意識,主要應(yīng)用的算法: 1 自動流水線技術(shù)和有限狀態(tài)機、2 模糊狀態(tài)機、3 決策樹和尋路技術(shù)、4 博弈論。 強人工智能,制造出真正能推理和解決問題的智

2、能機器,現(xiàn)在研究的算法有:1 群聚技術(shù)、 2 遺傳算法、 3 神經(jīng)網(wǎng)絡(luò)技術(shù)、4 置信網(wǎng)絡(luò),弱人工智能,弱人工智能是人工智能的一個比較流行的定義,也是該領(lǐng)域較早的定義,是由約翰麥卡錫(John McCarthy|)在1956年的達(dá)特矛斯會議(Dartmouth Conference)上提出的:人工智能就是要讓機器的行為看起來就象是人所表現(xiàn)出的智能行為一樣 弱人工智能觀點認(rèn)為不可能制造出能真正地推理(Reasoning)和解決問題(Problem_solving)的智能機器,這些機器只不過看起來像是智能的,但是并不真正擁有智能,也不會有自主意識。 現(xiàn)在,主流科研集中在弱人工智能上,并且一般認(rèn)為這一

3、研究領(lǐng)域已經(jīng)取得可觀的成就 。,自動流水線,自動流水線是生產(chǎn)組織的一種形式,把生產(chǎn)過程劃分為在時間上相等或成倍比的若干工序,并將其于按工藝過程順序排列,各自工作。 以一個機器人倒垃圾的程序來說,它的步驟很簡單:1.啟動 ;2.電機后退10圈;3.左電機轉(zhuǎn)3圈(轉(zhuǎn)身);4.電機前進(jìn)5圈;5.翻轉(zhuǎn)垃圾桶,倒垃圾;6.等待2秒后,翻轉(zhuǎn)還原垃圾桶;7.原路返回 這項技術(shù)的缺點也很明顯,由于簡單,可以說應(yīng)付不了任何突發(fā)情況,而且只要把它放在別人家里,或者更換起點,它就找不到垃圾桶的位置了,有限狀態(tài)機_1,有限狀態(tài)機,又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)

4、字模型 從編程的角度來說,就是用許多的IF ELSE來實現(xiàn),簡單的理解就是IF ELSE的多層嵌套 以倒垃圾機器人舉例,就可以有三個狀態(tài):1.待命狀態(tài);2.移動狀態(tài);3.倒垃圾狀態(tài),有限狀態(tài)機_2,狀態(tài)機第一個重要功能:就是可以自定義狀態(tài)切換的順序例如這三個狀態(tài)的切換是這樣的1.待命;2.移動;3.倒垃圾;4.移動;5.待命 狀態(tài)機第二個重要功能,就是可以賦予每個狀態(tài),不同的響應(yīng) 例如,我們可以設(shè)置只在待命狀態(tài)下,如果紅外線傳感器值XXX(感知到前方有人手在放垃圾) ,那么跳轉(zhuǎn)到移動狀態(tài)。 這樣,響應(yīng)只會在待命狀態(tài)下生效,而移動過程中,則不受干繞。,有限狀態(tài)機_3,狀態(tài)機第三個重要功能,就是歷

5、史記錄功能 :例如在移動狀態(tài)中,設(shè)置如果聲音傳感器收到了“?!边@個聲音,那么跳轉(zhuǎn)回待命狀態(tài),并記錄當(dāng)前已經(jīng)走過的步驟,比如已經(jīng)后退了10圈,并轉(zhuǎn)身2.5圈。那么在待命狀態(tài)下,我們又給機器人放上額外的垃圾,觸發(fā)機器人的移動狀態(tài),這時機器人不會從移動狀態(tài)的開始進(jìn)行,而是從我們剛剛停止的那個位置進(jìn)行,機器人會知道他已經(jīng)后退了10圈,并轉(zhuǎn)了一半的身,這時他們繼續(xù)轉(zhuǎn)完剩下的一半,然后前進(jìn)5圈,跳轉(zhuǎn)到倒垃圾狀態(tài),有限狀態(tài)機UML圖,模糊狀態(tài)機_1,模糊狀態(tài)機是有限狀態(tài)機(FSM)的進(jìn)階版本,它在有限狀態(tài)機的基礎(chǔ)上加入了模糊邏輯技術(shù)(Fuzzy Logic);如果說有限狀態(tài)機判斷的是 是與非,0或1,那么模

6、糊邏輯判斷的就是0.0到1.0,或者是一個判斷集合。 還是以倒垃圾機器人舉例: 有限狀態(tài)機同一時間只能停留在一個狀態(tài)上面,例如我們的樂高倒垃圾機器人,待命狀態(tài)就不能移動,移動狀態(tài)就不能倒垃圾。,模糊狀態(tài)機_2,而模糊狀態(tài)機則不然,它可以在同一時間運行多個狀態(tài),并且給每個狀態(tài)分配不同的權(quán)重,例如,20%的移動狀態(tài) + 80%的倒垃圾狀態(tài)。每個狀態(tài)都可以處理這個權(quán)重植,例如20%的移動狀態(tài)就是把移動速度降為原有的20%等等。 這樣做的好處是什么呢?我們想象一下人類最自然的行為是怎么樣的,我們倒垃圾和走路,不會說是像軍訓(xùn)一樣死板,先要立定,然后倒垃圾,一定等到垃圾桶完全還原,然后向后轉(zhuǎn),齊步走。這樣

7、太機械化。,模糊狀態(tài)機_3,而我們?nèi)祟悇t是非常連貫自然的行業(yè),可能在垃圾桶倒完垃圾還沒來得及翻轉(zhuǎn)回來時,就開始了轉(zhuǎn)身移動的行為。在轉(zhuǎn)身移動的過程中,我們才慢慢的把垃圾桶翻轉(zhuǎn)回來。這就是我們?nèi)祟惖哪:袨?。 如果我們的機器人加入了模糊狀態(tài)機,那么他倒垃圾的動作,將會變的更加自然,連貫,和一點點隨意,比如倒完垃圾后,就開始向后移動,開始是20%的權(quán)重,移動速度比較慢,慢慢的變成100%移動狀態(tài),而倒垃圾的80%狀態(tài)則慢慢變低,最后結(jié)束倒垃圾狀態(tài) 。,模糊狀態(tài)機_4,另外,有限狀態(tài)機在條件一定的情況下,狀態(tài)是必定切換的,百試不爽,例如倒垃圾機器人,在識別到紅外線傳感器返回的值在30以下的時候,立刻

8、切換到移動狀態(tài)。如果我們使用的是模糊狀態(tài)機,那么傳感器在30以下,有可能不會切換狀態(tài),但是有時候確又可以切換,其中的具體概率由你控制模糊狀態(tài)機在狀態(tài)的切換條件上面有一定的概率性和集合。你可以在一個判斷集合中加入兩條以上的條件,來決定是否切到某狀態(tài),而且還可以給不同的狀態(tài)以不同的權(quán)重值。,模糊狀態(tài)機_5,例如機器人感知的紅外線并不明顯,比如小于40的情況,這時機器人不確定你是否真的伸手放上了垃圾,有可能是誤操作,這時他有可能根據(jù)不同的值,分配不同的權(quán)重,比如小于40時,80%的待命狀態(tài),20%的移動狀態(tài),小于30的時候,30%待命狀態(tài),70%的移動狀態(tài),這時如果人喊“?!钡脑?,那么還是可以補救的

9、,因為沒有移動多遠(yuǎn),如果人類沒有進(jìn)行干預(yù),那么機器人會慢慢的把移動狀態(tài)加到100%,而待命狀態(tài)慢慢的降為0%并結(jié)束。也就是我們的機器人有了一定的誤識別補救措施 。,模糊狀態(tài)機UML圖,決策樹,決策樹是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過構(gòu)成決策樹來求取凈現(xiàn)值的期望值大于等于零的概率,由于這種決策分支畫成圖形很像一棵樹的枝干,故稱決策樹。在機器學(xué)習(xí)中,決策樹是一個預(yù)測模型,他代表的是對象屬性與對象值之間的一種映射 。 決策樹可以看成是模糊狀態(tài)機的一種升級,可以把決策樹上的每個子結(jié)點,想象成模糊狀態(tài)機中的子狀態(tài)。跟據(jù)不同的情況,切換不同的策略。決策樹可以靜態(tài)化,數(shù)據(jù)化,和可編輯化。,決策樹例子,在

10、魔獸爭霸3的游戲中,電腦AI就使用的決策樹技術(shù),并在它的地圖編程器中提供了編輯方法。,如圖所示是魔獸爭霸3地圖編輯器中的決策樹編輯器,可以看到,電腦在英雄的選擇上面,有六套分支概率都是17%,電腦有17%的概率從六個主要分支中選一個其中一個分支。例如第一個,首發(fā)圣騎士,次發(fā)大魔法師,三發(fā)山丘之山。召喚出這些英雄后,接下來就是考慮英雄如何升級技能,下面同樣有三個分支,如果英雄是第一個被召出來的,那么就有1號加點方案,如果是第二個被召出來的,那么就用2號加點方案。 這就是決策樹的特點,分支嵌套分支。電腦AI的決策劇本,其實早已被人類編輯好,在游戲中只是照劇本演戲而已 。,決策樹例子,決策樹還有一個

11、重要的應(yīng)用領(lǐng)域就是專家系統(tǒng),由專家憑自己多年的經(jīng)驗給你編輯的一棵決策樹,例如一個火災(zāi)救援預(yù)案啟動后,專家系統(tǒng)就會告訴你現(xiàn)在這個階段該干什么,比如問你火災(zāi)是幾級,你輸出1,那么專家系統(tǒng)會告訴你,首先要派出救援人員,然后向上級報告,做好之后,你發(fā)現(xiàn)傷員正在增加,對于不同的人數(shù),專家系統(tǒng)會告訴你在一級火災(zāi)的情況下,多少傷員,需派出多少醫(yī)療車,二級火災(zāi)的情況下,多少傷員,需派多少車,這些都是一個樹狀結(jié)構(gòu) 。,專家系統(tǒng),尋路技術(shù)也叫搜索算法,就是教機器人如何找東西的技術(shù),找的東西是多樣化的,可以找創(chuàng)意,找策略,找路徑,找物品,找一切一切。它們是通用的,也就是搜索算法相同,但是找的東西不一樣,這個是應(yīng)用非

12、常廣泛的算法。 以倒垃圾機器人為例,機器人其實是不清楚垃圾桶在那里的,他的移動完全是固定死的,如果這個垃圾桶換了位置,那么他還將移動到原先的地方。這里可以用到我們的尋路技術(shù),教機器人如何到達(dá)指定地點,而且是走最短捷徑。首先尋路技術(shù)的前提是要給機器人一張地圖,告訴他那里有障礙物,那里是邊界。,尋路技術(shù),尋路技術(shù)常用的算法有: 1 深度優(yōu)先算法 2 廣度優(yōu)先算法 3 A星算法 4 迪杰斯特拉算法 5 D星算法,尋路技術(shù),博弈論又被稱為對策論 ,主要研究公式化的激勵結(jié)構(gòu)間的相互作用。它是研究具有斗爭或競爭性質(zhì)現(xiàn)象的數(shù)學(xué)理論和方法 ,總的來說,博弈論就是研究互動決策的理論。所謂互動決策,即各行動方(即

13、局中人)的決策是相互影響的,每個人在決策的時候必須將他人的決策納入自己的決策考慮之中,當(dāng)然也需要把別人對于自己的考慮也要納入考慮之中在如此迭代考慮情形進(jìn)行決策,選擇最有利于自己的戰(zhàn)略。 博弈論的核心原理只有三個步驟-規(guī)則、窮舉、收益 。,博弈論,規(guī)則,是博弈論的第一個前提,就是它需要一個規(guī)則,它的計算結(jié)果只是在這個規(guī)則的范圍內(nèi)是終級策略。例如,象棋,圍棋,法律,游戲規(guī)則等 。 窮舉,博弈論的第二個前提,就是他所能掌握到的信息量,例如象棋圍棋,機器人是可以知道雙方所有信息的,這種博弈論可以發(fā)揮最大效果。而對于信息半透明的博弈中,機器人也可以在已知信息中計算出面對未知信息獲勝概率最高的那個策略,例

14、如麻將,軍棋,商業(yè)經(jīng)濟(jì)競爭。,博弈論,這就是博弈論唯一的缺點,他不能面對已知信息極少的情況,信息掌握不全的時候,博弈論的效果將大打折扣 。窮舉的原理就是,在規(guī)則已定的前提下,窮舉出該規(guī)則下我能做出的所有選擇以及后面N步的選擇。 也就是說,和博弈論的電腦下棋,電腦已經(jīng)在心中模擬了你能做出的所有對策,以及電腦可以應(yīng)對的所有對策 。 收益,這是博弈論唯一關(guān)注的東西,其它的AI毫不關(guān)心,博弈論電腦只關(guān)心一件事情,那就是收益最大化,收益終級化 。,博弈論,博弈論有一個經(jīng)典的案例,就是囚徒困境,它是一個非零和博弈。 兩個囚徒甲和已,拿槍偷盜,事還沒成被警察抓了,跟據(jù)當(dāng)?shù)胤?,如果兩個人都承認(rèn),那么都判10

15、年,如果一人不承認(rèn),另一人承認(rèn)并指認(rèn)同伙,那么這個人將無罪釋放,而被指認(rèn)的那個人將被判20年。如果兩個人都不承認(rèn),將只是非法帶槍罪判1年。問題出來了:你如果是兩個囚徒中的一個,你會怎么選 。,囚徒困境_1,博弈論有兩種計算方式,一種是樹狀結(jié)構(gòu)的擴展式博弈(類似決策樹),另一種是矩陣結(jié)構(gòu)的標(biāo)準(zhǔn)式博弈,兩種各有各的優(yōu)點,計算結(jié)果相同。我們以標(biāo)準(zhǔn)式為例: 對方認(rèn)罪的話我有兩個選擇,選認(rèn)罪 10年, 選不認(rèn)罪 20年 2010 結(jié)果是我認(rèn)罪是最優(yōu)戰(zhàn)略. 對方不認(rèn)罪的話我也有兩個選擇,選認(rèn)罪 0年 選不認(rèn)罪1年 10 結(jié)果也是我認(rèn)罪是最優(yōu)戰(zhàn)略,也就是說不管對方怎么選擇,我認(rèn)罪都是最優(yōu)戰(zhàn)略!最終博弈結(jié)果為

16、雙方在不知對方選擇情況的時候,選認(rèn)罪是最優(yōu)戰(zhàn)略,囚徒困境_2,強人工智能,強人工智能 一詞最初是約翰.羅杰斯.希爾勒針對計算機和其它信息處理機器創(chuàng)造的,強人工智能觀點認(rèn)為計算機不僅是用來研究人的思維的一種工具;相反,只要運行適當(dāng)?shù)某绦?,計算機本身就是有思維。 傳統(tǒng)上,利用計算機解決問題時,必須知道明確的程序??墒?,人即使在不清楚程序時,根據(jù)發(fā)現(xiàn)而設(shè)法巧妙地解決了問題。如識別書寫的文字、圖形、聲音等,所謂認(rèn)識模型就是一例。再有,能力因?qū)W習(xí)而得到的提高和歸納推理、依據(jù)類推而進(jìn)行的推理等,也是其例等。,群聚技術(shù),而群聚技術(shù),是面對兩個以上,或者成千上萬個機器人共同運動時做出的智能反應(yīng)。群聚行為中每個

17、單獨的個體都要考慮到周圍其它個體的狀況而做出決策。例如鄰近單位的位置,他們的方向,以及他們和自身有多接近等信息 例如我們的倒垃圾機器人,如果有三個四個這樣的機器人同時工作,讓他們在不同的位置同時去相同的地方倒垃圾,這時就會有產(chǎn)生,碰撞,擁擠等問題,群聚技術(shù)正是用來解決這些問題的AI算法。,群聚技術(shù)_1,而群聚技術(shù),是面對兩個以上,或者成千上萬個機器人共同運動時做出的智能反應(yīng)。群聚行為中每個單獨的個體都要考慮到周圍其它個體的狀況而做出決策。例如鄰近單位的位置,他們的方向,以及他們和自身有多接近等信息 例如我們的倒垃圾機器人,如果有三個四個這樣的機器人同時工作,讓他們在不同的位置同時去相同的地方倒

18、垃圾,這時就會有產(chǎn)生,碰撞,擁擠等問題,群聚技術(shù)正是用來解決這些問題的AI算法。,群聚技術(shù)_2,群聚技術(shù)核心原理:世界任何復(fù)雜的現(xiàn)象,都是有若干個簡單的基本規(guī)律組成的,群聚技術(shù)也不例外。無論多么復(fù)雜的群聚技術(shù),最終都可以化解為三種基本行為,就和紅綠藍(lán)三原色一樣,這就是凝聚、對齊、分隔! 凝聚行為:每個單位都往其鄰近單位的平均位置行動 對齊行為:每個單位行動時,都要把自已對齊在其鄰近單位的平均方向上。 分隔行為:每個單位行動時,要避免撞上其鄰近單位,群聚技術(shù)例子,群聚技術(shù)有個很好用的開源技術(shù)庫,opensteer 群聚技術(shù)應(yīng)用:領(lǐng)隊跟隨行為 在群體中加入領(lǐng)頭者,就能讓群體的移動更有目的性,或者看

19、起來比較有 智能。比如:戰(zhàn)爭模擬游戲中,計算機控制一群飛機追擊玩家。可以讓其 中的一架作為領(lǐng)頭者,其他飛機采用基本群聚規(guī)則跟著領(lǐng)頭者跑。在和玩 家發(fā)生混戰(zhàn)時,可以適時關(guān)閉群聚規(guī)則,讓飛機分散進(jìn)攻。這個實際上應(yīng) 用到了凝聚行為+分隔行為,遺傳算法,遺傳算法(Genetic Algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機理的生物進(jìn)化過程的計算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法。遺傳算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經(jīng)過基因(gene)編碼的一定數(shù)目的個體 遺傳算法是計算機科學(xué)人工智能領(lǐng)域中用于解決最優(yōu)化的一種搜索啟發(fā)

20、式算法,是進(jìn)化算法的一種。進(jìn)化算法最初是借鑒了進(jìn)化生物學(xué)中的一些現(xiàn)象而發(fā)展起來的,這些現(xiàn)象包括遺傳、突變、自然選擇以及雜交等。,遺傳算法原理_1,生物經(jīng)過許多世代的進(jìn)化,才能使生存和繁殖的任務(wù)獲得最大的成功,遺傳算法也遵循同樣的方式,需要經(jīng)過長時間的成長和演化,最后才能收斂到針對某類問題的一個或多個解。所以遺傳算法和生命機體演化知識有關(guān)。 從本質(zhì)上說,任何生物機體都是細(xì)胞的組合,而每個細(xì)胞都包含染色體的相同集合(也就是DNA鏈)。當(dāng)兩個生物進(jìn)行配對和復(fù)制時,它們的染色體相互混合,產(chǎn)生一個由雙方基因組成的全新染色體組,這一過程就叫重組或雜交。,遺傳算法原理_2,在生物的重組過程中,后代可能繼承上

21、一代優(yōu)良的基因,也可能繼承它們的不良基因。繼承優(yōu)良的基因,后代可能更成功,更適應(yīng)環(huán)境,將有更多的機會進(jìn)行下一代重組。而不良基因,則可能導(dǎo)致不能再繼續(xù)重組了。這樣,每一代總是比父母一代更加完美,更加適應(yīng)環(huán)境 另外,在基因傳遞給子孫后代的時候,會有很小的概率出現(xiàn)了差錯,使得基因得到微小的改變,這就使得生物體產(chǎn)生新的特征,這就是基因的變異。如果是成功的變異,將一代一代的傳遞下去。而不成功的變異,則最終將滅亡。這就是生物進(jìn)化的完成。,遺傳算法原理_3,遺傳算法的工作過程實質(zhì)上就是模擬生物進(jìn)化,首先,確定一個編碼方法,使得你的問題任一一個潛在可行解都能表示一個數(shù)字染色體,然后,創(chuàng)建一個由隨機的染色體組成

22、的初始群體(每個染色體代表一個不同的候選群),接著,在一定的時期內(nèi),以培育適應(yīng)性最強個體的方法,讓他們進(jìn)化。其中,需要在某些染色體中間加入少量變異。 經(jīng)過許多代以后,運氣好的話,會收斂到一個解。遺傳算法不確保一定能找到解,也不確保這個解是最優(yōu)解。但遺傳算法的最大優(yōu)點是,你不需要知道怎么解決這個問題,僅需要知道怎么用可行的方式對可行解進(jìn)行編碼,讓它能被遺傳算法機制使用。,遺傳算法進(jìn)化步驟,隨機創(chuàng)建一定數(shù)目染色體,也就是一系列二進(jìn)制字符串(110101010) 檢查每個染色體,看它解決問題的性能如何,并相應(yīng)分配一個分?jǐn)?shù) 從當(dāng)前群體選出兩個成員,選出的概率正比于染色體的分?jǐn)?shù),分?jǐn)?shù)越高,被選中的概率越

23、大,常用方法有賭輪選擇法等。 按照預(yù)先設(shè)置的雜交率,從每個選中染色體的一個隨機點上進(jìn)行雜交 按照預(yù)先設(shè)置的變異率,通過對選中染色體位的循環(huán),把相應(yīng)的位進(jìn)行翻轉(zhuǎn) 重復(fù)選擇步驟,直到和原來數(shù)目一樣的染色體新群體被創(chuàng)建出來。,遺傳算法常用概念_1,賭輪選擇法是從染色體群體中選擇一些成員的方法,被選中的幾率和它們的適應(yīng)性分?jǐn)?shù)成比例,適應(yīng)性分?jǐn)?shù)越高的染色體,被選中的概率越大,但不能保證一定會被選中。其工作過程如下: 將所有的適應(yīng)性分?jǐn)?shù)由一張餅圖來表示,這就和賭博的轉(zhuǎn)輪形式一樣,餅圖中塊的大小和適應(yīng)性分?jǐn)?shù)成正比,就好像賭輪一樣,旋轉(zhuǎn)這個輪盤,將一個小球跳入其中,等這個輪盤停下來的時候,看小球停在那一塊,就

24、選中和它對應(yīng)的染色體。,遺傳算法常用概念_2,雜交率是用來確定兩個染色體進(jìn)行局互換以產(chǎn)生兩個新的子代的概率,實驗室表明一般取數(shù)值0.7比較理想。具體工作過程如下: 每一次從群體中選擇兩個染色體,然后從0到1之間生成一個隨機數(shù),根據(jù)這個隨機數(shù)來確定需不需要雜交,如果低于數(shù)值(0.7),就進(jìn)行雜交,然后從染色體中隨機選擇一個位置,然后把位置后的位全部置換 例如 字符串 1000100100101001和 0001001001110101,隨機選擇一個位置,比如說第10位,互換第10位以后的所有位,然后字符串就變成 1000100100 110101 和 0001001001 101001,遺傳算法

25、常用概念_3,變異率是在一個染色體將位實現(xiàn)翻轉(zhuǎn)(即0變1,1變0)的概率,這個值一般都是設(shè)置得比較低。例如0.001. 因此,無論在群體中怎么選擇染色體,首先應(yīng)該檢查是否需要雜交,然后在從頭到尾檢查子代染色體的位,并按規(guī)定的幾率對其中的某些位進(jìn)行突變,也就是翻轉(zhuǎn)。,遺傳算法例子,以一個尋找路徑的問題,來看看遺傳算法是怎樣工作的 首先用程序建立一個迷宮,左邊有一個入口,右邊有一個出口。并有一些障礙物在其中。如下圖,1表示障礙,5表示入口,8表示出口,遺傳算法例子,然后對染色體進(jìn)行編碼。每個染色體將迷宮的每一步記錄下來。迷宮的行走有四個方向,對著四個方向進(jìn)行編碼,這樣,就可以根據(jù)一個隨機的二進(jìn)制字

26、符串,來決定迷宮的行走 例如 11,11,01,00,11,10,11,00,11,01,.,然后,生成一定數(shù)量的隨機字符串。根據(jù)這些方向一步步進(jìn)行迷宮行走,如果碰到障礙物就執(zhí)行下一條指令,直到用完所有的指令或者找到迷宮出口。遺傳算法以這些初始群體來測試它們每一個離迷宮出口有多遠(yuǎn),然后讓那些表現(xiàn)好的來孵化后代,不停重復(fù),直到找到迷宮出口。 在這個遺傳算法例子中,有四個參數(shù)最重要: 雜交率,一般設(shè)成0.7;變異率,一般設(shè)成0.001 初始群體數(shù)量 ; 染色體長度,也就是字符串長度。,遺傳算法例子,另外,在這個例子中,還有一個重要的函數(shù),就是計算適應(yīng)性分?jǐn)?shù)。這里用兩個距離來決定的 int DIFF

27、X = abs(posx m_iEndx) int DIFFY = abs(posy m_iEndy) 其中 DIFFX, DIFFY是最終到達(dá)坐標(biāo)相對于迷宮出口的水平和垂直距離,而適應(yīng)性分?jǐn)?shù)就是把這兩個距離加起來求倒數(shù) 1 /(double) (DIFFX+ DIFFY+1),遺傳算法例子,然后,生成一定數(shù)量的隨機字符串。根據(jù)這些方向一步步進(jìn)行迷宮行走,如果碰到障礙物就執(zhí)行下一條指令,直到用完所有的指令或者找到迷宮出口。遺傳算法以這些初始群體來測試它們每一個離迷宮出口有多遠(yuǎn),然后讓那些表現(xiàn)好的來孵化后代,不停重復(fù),直到找到迷宮出口。 在這個遺傳算法例子中,有四個參數(shù)最重要: 雜交率,一般設(shè)成

28、0.7;變異率,一般設(shè)成0.001 初始群體數(shù)量 ; 染色體長度,也就是字符串長度。,遺傳算法例子,學(xué)習(xí)遺傳算法只有通過自己編程,實驗各種參數(shù),才能學(xué)得更快,從而培養(yǎng)出一種感覺,知道什么可以什么不可以。在現(xiàn)在的發(fā)展中,遺傳算法還沒有什么通用的規(guī)則,這使得它具有一定的藝術(shù)性。只有時間和實踐能夠使編程者明白,對于特定的問題,采用多大的種子群才合適,需要設(shè)置多大的變異率才合理。,遺傳算法說明,神經(jīng)網(wǎng)絡(luò)技術(shù),人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,

29、進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,從而達(dá)到處理信息的目的 。 神經(jīng)網(wǎng)絡(luò)是通過對人腦的基本單元神經(jīng)元的建模和聯(lián)接,探索模擬人腦神經(jīng)系統(tǒng)功能的模型,并研制一種具有學(xué)習(xí)、聯(lián)想、記憶和模式識別等智能信息處理功能的人工系統(tǒng) 。,神經(jīng)網(wǎng)絡(luò)原理,因為人工神經(jīng)網(wǎng)絡(luò)是仿造生物大腦來進(jìn)行工作的,所以,我們首先要連接大腦是如何工作的。 大腦有兩層,灰色的外層和白色的內(nèi)層,其中灰色層只有幾毫米厚,但它壓縮了幾十億個微小的神經(jīng)細(xì)胞,而白色層在灰色層下面,是由無數(shù)神經(jīng)細(xì)胞組成,神經(jīng)細(xì)胞的結(jié)構(gòu)入下圖所示:,神經(jīng)細(xì)胞由一個細(xì)胞 體,一些樹突和一根 很長的

30、軸突組成。,神經(jīng)網(wǎng)絡(luò)原理,神經(jīng)細(xì)胞體是一個星形的球狀物,里面有一個細(xì)胞核。樹突從細(xì)胞體向各個方向長出,本身有分支,它們是用來接收信號的,軸突也有很多分支,通過分支的末梢和其他神經(jīng)細(xì)胞的樹突相接觸,形成所謂的突觸,神經(jīng)細(xì)胞通過軸突和突觸將產(chǎn)生的信號發(fā)送到其他神經(jīng)細(xì)胞 每個神經(jīng)細(xì)胞通過樹突和大概1萬個其他神經(jīng)細(xì)胞相連,這使得人的大腦中所有神經(jīng)細(xì)胞之間的連接可能有10000000億個 。 神經(jīng)細(xì)胞通過電化學(xué)過程來交換信號。輸入信號來自其他的神經(jīng)細(xì)胞。信號在大腦的傳遞是一個相當(dāng)復(fù)雜的過程。,神經(jīng)網(wǎng)絡(luò)原理,神經(jīng)細(xì)胞的信號可以看成和計算機一樣,用一系列的0和1進(jìn)行操作。大腦的細(xì)胞也只有兩種狀態(tài),興奮和不興

31、奮。神經(jīng)細(xì)胞用一種我們還不知道的方法,將所有樹突進(jìn)來的信號進(jìn)行相加,如果信號超過閥值,將使得細(xì)胞進(jìn)行興奮狀態(tài),否則將處于抑制狀態(tài),由于細(xì)胞數(shù)量巨大,使得大腦具有很強的能力,例如人類大腦就具有以下的能力 能實現(xiàn)無監(jiān)督的學(xué)習(xí),大腦能夠?qū)崿F(xiàn)自我學(xué)習(xí),而不需要導(dǎo)師的教導(dǎo)。如果神經(jīng)細(xì)胞在一段時間內(nèi)收到高強度的刺激,則它和輸入信號的神經(jīng)細(xì)胞之間的連接強度將會改變,使得該神經(jīng)細(xì)胞收到下一次刺激更容易興奮。,神經(jīng)網(wǎng)絡(luò)原理,對損傷有冗余性,大腦即使有一部分受到傷害,也能執(zhí)行復(fù)雜的工作,例如科學(xué)家曾切除老鼠的一部分腦細(xì)胞,老鼠還是能找到迷宮。 處理信息的效率極高,由于神經(jīng)細(xì)胞采用并行工作方式,所以雖然神經(jīng)細(xì)胞的工

32、作頻率很低,只有100HZ,但大腦能夠同時處理大量的數(shù)據(jù),例如大腦處理通過視網(wǎng)膜的一幅圖像時,只需要100MS就能完成 善于歸納總結(jié),大腦最擅長的一件事,就是模式識別,能夠根據(jù)已經(jīng)熟悉的信息進(jìn)行歸納推廣。 大腦是有意識的。,人工神經(jīng)網(wǎng)絡(luò)例子,神經(jīng)網(wǎng)絡(luò)有一款比較好的游戲,蟲腦-BugBrain。他是神經(jīng)網(wǎng)絡(luò)入門的最好游戲之一,可以說,玩通這款游戲,你的神經(jīng)網(wǎng)絡(luò)就已經(jīng)基本入門了。 BugBrain將讓你從零開始構(gòu)造一個大腦, 你開始完成的可能只是一個簡單的電路,之后從生物思考最原始的原理出發(fā)完成的是一個瓢蟲的大腦,他有躲天敵,越障礙等生物智能,之后你將給這個大腦加上學(xué)習(xí)和記憶的能力,最終你將編輯人

33、的大腦。最終關(guān)將開放神經(jīng)元編輯器,人工神經(jīng)網(wǎng)絡(luò)例子,第一關(guān)相當(dāng)簡單,沒有神經(jīng)元,紅色是輸入,藍(lán)色是輸出,紅色輸入設(shè)備為一個電源按鈕,按下就通電,藍(lán)色輸出設(shè)備為一個燈炮,只要將輸入和輸出用一跟黃色的神經(jīng)聯(lián)起來,這關(guān)就過了,在右邊的調(diào)試器上,我們可以看到紅色設(shè)備的信號強度,和藍(lán)色設(shè)備的信號強度。,人工神經(jīng)網(wǎng)絡(luò)例子,下一關(guān)左邊的紅色輸出電流信號會從弱變強,再由強變?nèi)?,反?fù)運行,信號強度從0-100 這一關(guān)的科學(xué)家要得到的結(jié)果是信號強度80時,燈炮才亮,而80時,燈炮熄滅。這時我們就要用到神經(jīng)元,拖一個大綠球,這個就是神經(jīng)元,神經(jīng)元的兩端分別用神經(jīng)連接輸入設(shè)備和輸出設(shè)備。這時我們再次開啟測試,發(fā)現(xiàn)結(jié)果

34、沒有變化,依然什么樣的輸入,就有什么樣的輸出,燈光忽暗忽滅,達(dá)不到最終要求。我們右鍵點擊這個大綠球神經(jīng)元,可以看到原來神經(jīng)元有個重要功能就是閥值 。,人工神經(jīng)網(wǎng)絡(luò)例子,我們把這個神經(jīng)元的閥值設(shè)置成80,這一關(guān)就順利通過了。閥值為80的意義在于,只有輸入進(jìn)來的信號大于80,才進(jìn)行輸出。這樣在紅色輸入設(shè)備的信號強度沒有到80前,這個神經(jīng)元都不會輸出任何東西,只有超過了80,燈炮才被點亮,之后慢慢的輸入設(shè)備的信號又降到了80以下,燈炮就會再次得不到輸出而熄滅 。,人工神經(jīng)網(wǎng)絡(luò)例子,我們再來關(guān)注一下和神經(jīng)元左邊的藍(lán)色突起小球,這個東西叫突觸,突觸的主要功能,你可以將它想象成電阻,他可以限制或加強輸入的

35、信號強度。例如 。,我們把突觸的權(quán)重值設(shè)為 50,就代表輸入 設(shè)備的信號0-100,被壓縮成為0-50 ,輸入信 號為10的時候,經(jīng)過突觸后傳給神經(jīng)元的其 實是5,輸入信號為20的時候,經(jīng)過突觸后 傳給神經(jīng)元的其實是10. 。,人工神經(jīng)網(wǎng)絡(luò)例子,其實再復(fù)雜的智能和思考,說到最后,都是生物電通過無數(shù)個突觸和神經(jīng)元完成的,給我一個電阻和一個閥值,就能通過無數(shù)的神經(jīng)元聯(lián)接來創(chuàng)造無比復(fù)雜的智能與思考。 假如我們小的時候被蛇咬過,那么我們關(guān)聯(lián)到存儲蛇信息的神經(jīng)元的閥值就會特別高,導(dǎo)致信號無法輸出,如果沒有特別高的信號刺激你,你是不會去摸蛇的,當(dāng)你面臨生命危險,必須抓住一條蛇來充饑時,這時大腦給你的信號強

36、度就會超過這個神經(jīng)元的閥值,于是你發(fā)現(xiàn)你突然就敢抓蛇了。一切一切的思考過程,都可以用神經(jīng)元與突觸創(chuàng)造 .,人工神經(jīng)網(wǎng)絡(luò),要創(chuàng)建一個人工神經(jīng)網(wǎng)絡(luò),就需要和大腦一樣,將許多的神經(jīng)細(xì)胞相互連接在一起。為此有許多的連接方式。其中最常見的,就是如下圖所示,將神經(jīng)細(xì)胞一層層連接在一起,這也叫前饋神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)中的每一層的細(xì)胞輸出 都向前饋送到它們的下一 層,直到獲得網(wǎng)絡(luò)的輸出,人工神經(jīng)網(wǎng)絡(luò),一個人工神經(jīng)網(wǎng)絡(luò),肯定有一個輸出層,一個輸入層,中間還有0n個隱藏層,在處理大多數(shù)問題的時候,一個隱藏層就足夠了,每一層都有任意個神經(jīng)細(xì)胞,這取決于問題的復(fù)雜度,神經(jīng)細(xì)胞愈多,網(wǎng)絡(luò)的工作速度越慢,所以,一般來說,要求網(wǎng)

37、絡(luò)的規(guī)模盡可能的保持小。 另外,在圖中,盡管沒標(biāo)記,必須注意到每一個箭頭指向的連線上,都要有一個權(quán)重(縮放)值 ,輸入層的每個節(jié)點,都要與的隱藏層每個節(jié)點做點對點的計算,計算的方法是加權(quán)求和+激活 。,人工神經(jīng)網(wǎng)絡(luò),利用隱藏層計算出的每個值,再用相同的方法,和輸出層進(jìn)行計算。 隱藏層一般都是用Sigmoid作激活函數(shù),而輸出層用的是Purelin。這是因為Purelin可以保持之前任意范圍的數(shù)值縮放,便于和樣本值作比較,而Sigmoid的數(shù)值范圍只能在01之間 起初輸入層的數(shù)值通過網(wǎng)絡(luò)計算分別傳播到隱藏層,再以相同的方式傳播到輸出層,最終的輸出值和樣本值作比較,計算出誤差,這個過程叫前向傳播(

38、Forward Propagation) 。,反向傳播算法,事實上,網(wǎng)絡(luò)的每條連接線上都有一個權(quán)重參數(shù),如何有效的修改這些參數(shù),使誤差最小化,成為一個很棘手的問題。從人工神經(jīng)網(wǎng)絡(luò)誕生的60年代,人們就一直在不斷嘗試各種方法來解決這個問題。直到80年代,誤差反向傳播算法(BP算法)的提出,才提供了真正有效的解決方案,使神經(jīng)網(wǎng)絡(luò)的研究絕處逢生 。 BP算法是一種計算偏導(dǎo)數(shù)的有效方法,它的基本原理是:利用前向傳播最后輸出的結(jié)果來計算誤差的偏導(dǎo)數(shù),再用這個偏導(dǎo)數(shù)和前面的隱藏層進(jìn)行加權(quán)求和,如此一層一層的向后傳下去,直到輸入層(不計算輸入層),最后利用每個節(jié)點求出的偏導(dǎo)數(shù)來更新權(quán)重 。,人工神經(jīng)網(wǎng)絡(luò)例子,假如我們有一組數(shù)測量

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論