人工智慧與類神經網路簡介
一、人工智慧概論
人工智慧的發展可以追溯到第二次世界大戰的末期,當時為了解決一些軍事上和情報上的問題,科學家們開始研究發展一種有智慧的機器。後來在1956年McCarthy主持了Dartmouth會議,成為公認之人工智慧發展史的開端。
在人工智慧的研究方面,有幾位有名的始祖。A. M. Turing是奠定電腦科學基礎的人,他曾提出棋奕論(gram playing)與電腦的研究成果。M. L. Minsky則是發表框架(frame)理論的人,也就是先將大量相關資訊輸入電腦,再將這些資訊按照情形來定義為選擇性的條件或是強制性的條件,用這種方法來解決模稜兩可或是有例外的問題。J. McCarthy則體會到必須用符號語言(symbol manipulation language)來代替以公式為處理中心的語言,因而發表了LISP (LIST Processor)人工智慧語言。此外尚有發表通信理論的C. Shannon和發表生產系統的A. Newell。
究竟什麼是人工智慧呢?先讓我們嘗試著為生命做個定義:一個生命必須有1.新陳代謝和消耗精力的行為2.生長3.繁衍後代4.對於環境的刺激有所反應,進而適應所處的環境。
人工智慧精確的定義是:一個電腦系統具有人類的知識和行為,並具有學習、推理判斷來解決問題、記憶知識和了解人類自然語言的能力。人工智慧的產生過程則是:對於人類因問題和事物所引起的刺激和反應,以及因此所引發的推理、解決問題、學習、判斷及思考決策等過程,將這些過程分解成一些基本步驟,再透過程式設計,將這些人類解決問題的過程模組化或公式化,使得電腦能夠有一個結構的方法來設計或應付更複雜的問題。這套能夠應付問題的軟體系統,即稱之為人工智慧系統。人工智慧是一種技術,而不是一項產品。它的目的是讓電腦更能了解一般化的事物。
人工智慧研究的題材約可分為: (1)聯絡溝通(connectionism),以及如何使電腦更有智慧了解人的語言與知識。(2)符號處理(symbol manipulation),如LISP人工智慧語言、生產系統(production system)、黑板系統(blackboard system)等領域研究。(3)經驗法則搜尋技巧(heuristic search)。(4)邏輯(logic)系統,如複雜事實的歸納及推理等。
在Dartmouth會議之後,相關的人工智慧實驗室便相繼成立,如Stanford、MIT、Carnegie Mellon等學校。今日國內各大學資訊相關科系也多有設立人工智慧實驗室,上網便可以獲得相關資訊。
未來人工智慧的發展包含:將人工智慧技術運用在機器上、將原來順序邏輯架構的電腦改為高速平行架構的電腦、以及發展具有經濟價值的商業應用產品。研究的方式包含了理論和實驗兩層面,其中實驗層面還可以細分為基礎部分和應用部分。研究的方向則有生物的方向和世界整體現象的方向。
研究人工智慧所牽涉的學科包含:數學和邏輯、基礎科學、心理學和神經生理學、程式設計語言(若包含機械語言更好)。
至於人工智慧所引發的哲學和倫理問題,目前仍有無法定論的問題,有些目前尚未被重視。也許目前只有哲學家們會比較注意這些議題吧?
二、類神經網路介紹
《起源》:
為了在語音及影像辨認獲至與人腦相似的功能,自1940年起,科學家即著手從事此方面的研究,仿造最簡單的神經元模式,開始建立最原始的類神經網路(Artificial Neural Network ANN),歷經40年的發展,類神經的研究工作雖曾一度陷入低潮,近幾年又再度復甦,並且結合了生理,心理,電腦等科技而成為新的研究領域。
電腦的功能雖然日新月異,但卻不能因此就完全取代人腦。因人腦可輕易的聽、說、讀、寫、看,電腦卻力有未逮。尤其是在影像處理或語音辨認等問題,電腦更是無法勝任。這顯然意謂人腦有著尚未為人所知的特殊結構。要如何模擬這種複雜的人類行為進而建立一部可以人腦匹敵的電腦,可說是電腦科學家的一大夢想。
《簡介》
類神經網路已被研究多年。這些類神經網路的模型主要是嘗試著去模仿人類的神經系統,因為人類的神經系統在語音、聽覺、影像和視覺方面均有很完美的表現,所以也期望這些模型能夠在這些方面有出色的成果。很明白的,類神經的架構就是來自於現今對人類神經系統的認識。現今的類神經網路是由很多非線性的運算單元(我們叫神經元Neuron)和位於這些運算單元間的眾多連結所組成,而這些運算單元通常是以平行且分散的方式在作運算,如此就可以同時處理大量的資料,由這樣的設計就可以被用來處理各種需要大量資料運算的應用上,比如說語音辨認等。
1. 類神經網路的特性
神經網路所擅長的,與人類相似,具有以下幾種特性:
1.平行處理的特性
早期人工智慧平行處理的研究只集中在小程度的平行,而最近已朝向超大型方向進行。類神經網路是以動物的樹狀神經網路為藍本的設計,原本因平行技術未成熟而無法深入研究,現在因超大型平行處理的成熟及若干理論的發展,又成為人工智慧中最活躍的研究領域。
2.容錯(fault tolerance)特性
其在操作上具有很高之容忍度,整個神經網路都會參與解決問題之運作。如果輸入資料混雜少許雜訊干擾,仍然不影響其運作之正確。而且即使10%的神經網路失效,仍能照常運作。
3.結合式記憶(Associative Memory)的特性
其又稱為內容定址記憶(content addressable memory),它可以記憶曾經訓練過的輸入樣式以及對應的理想輸出值。我們只要給予一部份的資料,便可以得到全部的資料並且可以容忍錯誤,就像人類只要看到某一部份的影像可以回憶起全部的影像,這便是結合式記憶的效果。
4.解決最佳化(Optimization)問題
可用於處理非演算法表示的問題,或是以演算法處理很費時者。
5.超大型積體電路實作(VLSI Implementation)
神經網路的結構具有高度的互相連接(interconnection),而且簡單,有規則性(regularity),易以超大型積體電路(VLSI)來完成。
6.能處理一般演算法難以處理的問題
在非常大的推銷員問題中,為了增加效率起見,我們可利”個個擊破”(divide-and-conquer)的方法,來求得一條正確可走的路徑。這是用傳統的方法所以無法達到的。
(二)神經網路基本模型
每一個神經細胞網路模型,其特性是由網路的拓樸(Topology)圖形,節點的特性加以決定。在訓練的過程中這些法則最初是由一組初始加權(Initial Weights)值來決定,並在學習過程中調整其加權以增進效率,經由不斷的調整和學習,使得真正的網路輸出與目標值能達到相同值後,才固定網路中的加權值,此時才算訓練完成。
(三)神經網路的架構與訓練演算法
1.單層知覺網路:其可形成兩個決定區域(Decision Region), 牽而此二區域由一超平面(Hyperplane)加以分隔開來。有一特殊情形就是,若網路只涉到兩個輸入,則超平面便退化成一條直線。
2.多層知覺網路:其是在輸入層節點與輸出層節間多了一層或多層的隱藏層(Hidden Layer),即輸入節點沒有直接接往輸出節點。
(四)學習演算法(Learning Algorithm)
假如我們想要把輸入的類別完全劃分開來,則需要利用演算法來調整節點與節點的加權及節點本身的偏移量。例如逆傳遞訓練演算法(Backpropagation Training Algorithm)的基本精神,在於使輸出層之實際輸出值(Actual Output)和希望達到的期望(Desired Output)之間的平均平方差(Mean Square Error)達到最小境界,使整個網路的加權,儘可能朝向所希望的目標值調整。像圖形辨認這類型問題很適合用神經網路來解決,因只須將無法明白消化的知識,透過學習,即可自動存到網路中。除此之外,如何改良網路的學習方法,亦是研究類神經網路非常迫切的話題。隨著類神經網路的日趨成熟,相信未來它將有可能取代以往傳統的辨認技術。
三、傳統電腦與類神經電腦的比較
類神經網路由人腦結構所啟發而生的新計算方式和現今廣泛使用的電腦是十分不同的。因其是一個高密度排列的連接點(interconnections),以及不可思議的簡便處理器(simple processors)而形成的巨大平行網路。其仍是模擬真正人腦的神經細胞而得名,但許多細胞中的細節已被省略刪除,即使如此卻仍然保留了人腦的基本本質。
它提供了廣大應用範圍的有效處理方式,如圖案的繪製,修補,分類;把金融資料檔案轉換後,形成未來走勢的評估或繪製可見的影像作為對機器人的指令及對那些片段遺落或不清的受干擾圖案,亦可以利用那些已受訓資料來修補全部圖案的輪廓。
類神經網路擁有大量處理器和許多彼此相連繫組合的平行處理結構,這些較傳統的中央處理單元(CPUs)更為簡便。一個典型的CPU有能力做一百個或更多的基本指令,而類神經網路處理單元則可一次處理大量的計算,並做一些計算結果的分析。
四、生物神經系統簡介
人的心智活動基礎是神經系統,其基本功能及結構的單元是神經元,又稱神經細胞﹔這些神經細胞經由特定的方式相互聯接成一複雜無比的網路,身體內部或外界環境的訊息就透過這樣的神經網路傳遞和處理。
神經細胞包含了許多不同形態,不同功能的細胞,通常伸出許多細長的分支,短的叫做樹突,長的叫做軸突。細胞的表面帶有一些受體分子,通常是些大蛋白質分子。不同的受體會被不同的訊號激活,例如視網膜上的感光神經細胞帶有感光的受體,受到光線的刺激就會被活化;有些神經細胞則帶有乙醯膽鹼受體,可以與別的神經細胞放出的乙醯膽鹼結合而被活化。活化指的是受體分子因為接受到刺激而產生了本身分子結構上的變化,這種變化會影響細胞內的一些負責訊息傳遞的分子,引發一連串的生化反應。信號經過這一連串的分子傳遞下去,最後引起細胞膜上的一些離子通道的打開或關閉,影響了離子的進出,而造成膜電位的變化。膜電位的變化再沿著樹突、細胞體、軸突的方向傳遞,最後在突觸引起神經傳導物質的釋放。放出的神經傳導物質則再激化下一個神經細胞的受體,再度產生一連串的反應。訊號就這樣子在腦中傳遞。
神經信號基本上是膜電位變化的傳遞;不同的細胞會受到不同的刺激,但傳出的膜電位變化都差異不大,真正決定的內涵是神經細胞之間的聯接。例如感光神經細胞經過幾層細胞的聯接,信號再送入大腦某特定感光的部位。雖然信號傳遞方式都一樣,但因為它是從感光細胞傳來的,所以代表光線的刺激,而不是痛覺信號。由最初單純每一個感光細胞是否感受到亮光的信號,經過許多層次的運算,最後我們即可感知一個視覺的畫面,這些資訊運算處理的基礎也就是各個神經細胞之間的聯結網路。
當一個神經細胞伸出軸突要尋找接觸對象時,有許多不同的分子(或者在其它的細胞表面,或者在細胞分泌出的基質中)會作為路標,沿途指引方向。當然這個神經細胞本身也必須帶有一些受體分子,才能夠認識這些路標分子。神經細胞的性質是受它所帶的這一群分子所決定,但它不是固定不變的。不斷的刺激可以造成信號傳遞鏈中某些分子性質的長期改變,或是突觸傳遞信號的強度改變,這些變化可能是感覺適應及記憶的基礎。
五、人工類神經網路
人工類神經網路使用數個微處理器,用來當做人腦之中的神經元,將它們組合成人腦的神經網路結構型態,然後選定一個數學推論出來的演算法,將這演算法置入這個類神經網路中,最後選定你所要讓類神經網路學習的東西,將它轉成類神經網路所能接受的型態,經由介面輸入,則類神經網路就開始學習,並且自己調整每個微處理器(神經元)之間的加權值,直到符合你所要學習的目標。
六、類神經網路的發展潛力
類神經網路在未來的計算領域中,就如同大海撈魚一般深的潛力。目前有許多有價值的應用以被工程師設計出來,並加以商品化,未來相信將有更多的研究擴展類似的成果。
類神經網路的應用強調的領城是他們能展現較傳統計算方式更合適的解決方法。 較適合用神經網路解決的問題像:圖案的辦別、圖案的繪製、有雜訊的訊息處理、圖案完成、結合 (associative) 查詢、及使用時須要學習或調整的系統等。上述處理問題的時實例包括:語音的合成與辦識、影像處理與分析、聲納及地震訊號之分類﹔此外,類神經網路也能從事一些知識處理的工作,並且可以用來作結合記憶。 一些求最佳解的工作,當然也可能用類神經網路加以指引。由以上得知,類神經網路未來應用的範圍市是相當有潛力的。
如果你現在去任何一個電腦商店,也許可以找到用手寫,字體就會在螢幕出現之軟體。這是類神經網路的一種應用研究。
第二種應用研究是“說話網路”(NET-talk), 它是一個試著將書寫文章轉化為“發音字串”(phonetic strings)。 此種網路的輸入是以句子形態出現的連續字母之英文文章,而網路的輸出則是輸入文章相對的正確發音符號, 最後此發音符號在送至一個語音的產生器,所以觀察的人就會發現此網路是一個學習人類說話的網路。
第三種類神經網路的應用研究是適性控制 (adaptive control)。此種類神經網路系統典型的實作是“掃把平衡”(broom balancing) 實驗,此實驗最初由Widrow 在1963年使用一個曾權數的適性網路所做成的。此網路學著在車子最後停留的地方,以將掃柄的頂端倒放置而達平衡的方法來前後移動車子。 最近則將此研究,應用於教導機械人的手臂如何去發揮它最佳的工能,並且研究如何使機械人的手臂更加穩定。如今亦有不少研究者,著手教導類神經網路去操控簡單的自主交通工具。
在廣大範圍的研究領域,許多其他應用方式正在加緊腳步實驗中。一般常會以結合的記憶體來製作類神經網路。 類神經網路的應用,除了上述幾個領域以外,它尚可應用於各式各樣的金融分析上,或訊號 (signal) 的分析,它可做生化中困難圖案分類工作一樣的好。至於音樂方面,像小提琴弦如何撥弄的問題,即是手指頭與弦搭配問題,目前有人試圖使用類神經網路的方法來產生旋律樂章。
以上的介紹,可以看的出來,類神經網路將在工程師及工業資源的充分發展中扮演一個新的角色。
七、類神經網路與影像處理
1. 影像處理
影像處理的目的,是由影像處理的結果為圖形辨認提供一套完整又是最有效的資料,以便作進一步的分析。人類的成像系統是眼球,製造出來的影像是連續的。然而人造的影像系統則必須經由取樣(sampling)及量化(quantization)的過程取得數位影像。
對於這些數位影像,我們必須面對一些影像處理的問題:(1)焦距不精準所產生的模糊影像,必須經過加強(enhancement)處理手續。(2)影像所含雜訊太多,就需要去雜訊(noise removal)的手續。(3)為了提供影像中有價值的特徵,必須有邊線偵測的技術。此外,研究範疇上包括:影像轉換(image transform)、影像還原(image restoration)、影像編碼(image encoding)等等。
影像處理和影像分析是不同的,因為影像處理的目的是將原始輸入影像進行處理並改進,然後再作輸出;影像分析則是將輸入的影像做一個完整的描述(description)。
影像處理可能應用的領域如下:
我們在描述一個影像時,除了作邊界偵測外,還需要將影像分割成確定的區域(region)或物體(objects),之後在描述各個物體或區域的特性和他們之間的關係。分割影像時還有一些基本要求:分割手續的標準應該有齊一性(uniformity)、相鄰兩區域齊一性分割時須有一個普遍的準則。
1.
圖案的辨認
傳統辨認圖形的種類有:(1)有理論根據的統計圖案(statistical pattern)的辨認 (2)文章語法圖案的辨認(syntactic pattern)的辨認(3)經驗法則(heuristic)的圖案辨認。
統計圖案辨認的傳統做法如下:
輸入影像à 特徵萃取器à 特徵à 傳統統計法à 分類後的特徵à 認知器à 辨認結果
文章語法圖案的辨認過程如下:
輸入影像à 抽取局部特徵à 辨認每一個特徵的組成要素(primitive)à 文法剖析程式(parser)à 分析語法à 輸出辨認結果
經驗法則式圖形辨認:較前兩者的效率為高,但缺乏理論基礎,全憑往昔所累積的經驗來辨認圖案。
八、類神經網路未來的發展
過去以人工智慧或邏輯語言為基礎的第五代電腦,與掌管思路的人類左腦相似,類神經電腦則與根據圖形處理或經驗來進行直覺判斷的右腦相似。所以在不久的未來,以類神經網路的平行資訊處理技術,勢必將與逐次資訊處理、人工智慧、專家系統、模糊邏輯(fuzzy logic)等結合,產生出更有彈性的電腦