二技子三乙   陳煜協    A9011102

 

Neural Network

     類神經網路(Artifical Neural Netwrk,ANN)已被研究多年。類神經網路是一種模仿生物神經系統的數學模型(mathematical model),因為生物的神經系統在語音、聽覺、影像和視覺方面均有很完美的表現,所以也期望這些模型能夠在這些方面有出色的成果。類神經網路是由很多稱為神經元(neuron)的非線性運算單(Processing Element,PE)和連結這些運算單元的神經鍵所組成,這些運算單元通常是以平行且分散的方式運算,如此就可以同時處理大量的資料,這樣的架構可以同時處理大量的資料,例如語音辨認.圖型辨認.智慧控制.影像處理...等。

 

.類神經網路的特性

神經網路所擅長的,與人類相似,具有以下幾種特性:

1.平行處理的特性

    早期人工智慧平行處理的研究只集中在小程度的平行,而最近已朝向超大型方向進行。類神經網路是以生物的樹狀神經網路為藍本的設計,原本因平行技術未成熟而無法深入研究,現在因超大型平行處理技術的成熟及若干理論的發展,又成為人工智慧中最活躍的研究領域。

2.容錯(fault tolerance)特性

    在操作上具有很高之容忍度,神經網路所有神經元都會以分散平行的方式參與解決問題之運作。如果輸入資料混雜雜訊干擾,仍然不影響其運作之正確。而且即使部份神經網路失效,仍能照常運作。

3.聯想式記憶(Associative Memory)的特性

    又稱為內容定址記憶(content addressable memory,CAM),它可以記憶曾經訓練過的輸入樣式以及對應的理想輸出值。我們只要給予一部份的資料,便可以得到全部的資料並且可以容忍錯誤,就像人類只要看到某一部份的影像可以聯想起全部的影像,這便是聯想式記憶的效果。

4.解決最佳化(Optimization)問題

    可用於處理非演算法表示的問題,或是以演算法處理很費時者。

5.超大型積體電路實作(VLSI Implementation)

    神經網路的結構具有高度的互相連接(interconnection),而且簡單,有規則性(regularity),易以超大型積體電路(VLSI)來完成。

6.能處理一般演算法難以處理的問題

    在非常大的推銷員問題中,為了增加效率起見,我們可利”個個擊破”(divide-and-conquer)的方法,來求得一條正確可走的路徑。這是用傳統的方法無法達到的。

文章出處:http://www.ee.ndhu.edu.tw/isp/Neural%20Network.htm

.Percetron

Apesar do impacto que teve o perceptron na comunidade de Inteligência Artificial, este modelo foi fortemente criticado no livro de Minsky e Papert, Perceptrons . No livro os autores citam o exemplo de que o Percetron com uma simples camada não poderia simular o comportamento de uma simples função XOR (ou-exclusivo) [WAS 89]. Após a publicação desta obra, iniciou o período chamado de anos negros das redes neurais, pelo fato desta ter desencorajado novas pesquisas e desestimulado o estudo mais profundo deste campo. A seguir segue uma breve explicação do problema do XOR.

O perceptron é capaz de aprender tudo aquilo que ele consegue representar [WAS 89]; a partir disso surge a questão: o que ele consegue representar? O perceptron com somente duas camadas consegue representar toda função linearmente separável.

 

文章出處:http://www.ulbra.tche.br/~danielnm/ia/rna/rna.html

 

.Backpropagation

O perceptron teve sua validade provada no modelo backpropagation , que possibilitou a implementação da terceira camada necessária para o aprendizado do XOR. Utilizando uma rede de neurônios como os utilizados no perceptron, o backpropagation realiza uma retro-propagação do erro da saída para as camadas anteriores. O erro é o resultado da comparação entre a saída desejada (pré-definida) e a saída real da rede. Com esta retro-propagação, juntamente com uma função limiar de valores fracionários (fugindo ao tudo ou nada ), possibilita-se a representação de funções não-lineares, permitindo o treinamento da função XOR. Por este fato, o backpropagation tornou-se uma das redes mais utilizadas, dado seu amplo espectro de representações possíveis.

Vários outros modelos foram criados desde então, embora estes citados anteriormente foram os mais destacados por terem sido os precursores e por terem definidos os paradigmas de modelos de redes neurais existentes hoje.

 

文章出處:http://www.ulbra.tche.br/~danielnm/ia/rna/rna.html

 

.SOM (self organization feature map)

 

    SOM的網路架構包括:

 

輸入層──用以表現網路的輸入向量,其處理單元(Neuron)數依問題大小而定。

輸出層──用以表現網路的輸出向量,一般由一維或二維的Neuron組成,模擬

          腦細包的排列,其處理單元數依問題大小而定。

網路連結──每個輸出層單元和輸入層單元相連結的加權值所構成的向量,表示

            一個訓練資料對映樣本點聚類之形心座標。

 

              。。。。。。。。。。。

              。。。。。。。。。。。

              。。。。。。。。。。。    <=== 輸出層

              。。。。。。。。。。。

              。。。。。。。。。。。

                       

                ┌───┴───┐

                              

                網路連結矩陣

                             

                └───┬───┘

                       

                             <=== 輸入層

                   a  b  c  d

 

上圖代表一個典型的SOM網路架構,其中的網路連結矩陣為輸出層與輸入層

所有Neuron的完全連接(Fully Connected)

 

    SOM的重要概念如下:

 

網路拓撲: SOM網路的輸出處理單元的相對位置具有意義,此與一般的類神

          經網路模式有很大的不同。可為一維、二維、甚至三唯,而形狀

          可以是矩形、圓形等。

拓撲座標: 指標定一輸出層處理單元在網路拓撲中位置的座標,以上圖為例

          左上角的Neuron座標為(0,0)、右上角的Neuron(0,11)、右下

          角為(11,11)、其餘類推。

樣本空間座標: 由輸入層處理單元所決定,以上圖為例,樣本空間為四維。

臨近區域: 指在網路拓撲中,以某一輸出處理單元為中心的區域稱之。臨近

          區域內的Neuron會相互影響,臨近區域會在網路學習過成中逐漸

          縮小。例如:

 

           。。。。。。。。。。。。。。。。。。

           。┌──────────────┐。

           。│ 。。。。。。。。。。。。。 │。

           。│ ┌────────┐ │。

           。│ 。。。。。。。 │。

           。│ 。┌───┐。 │。

           。│ 。│  A │。 │。

           。│ 。└───┘。 │。

           。│ 。。。。。。。 │。

           。│ └────────┘ │。

           。│ 。。。。。。。。。。。。。 │。

           。└──────────────┘。

           。。。。。。。。。。。。。。。。。。

 

 

臨近中心: 控制臨近區域的中心位置的參數,如上圖的Neuron A.

臨近半徑: 控制臨近區欲大小的參數。

 

 

 

 

網路演算法:

 

    可分為學習過程(Learning Phase)及回想過程(Retrieving Phase)

 

()、學習過程:

 

      1. 計算輸入向量與各輸出處理單元的歐氏距離平方。

      2. 具有最小的歐氏距離平方的輸出處理單元稱為優勝單元(Winner),

         找出優勝單元。

      3. 以優勝單元作為臨近中心,並根據臨近半徑定出臨近區域。

      4. 調整臨近區域中的輸出處理單元與輸入處理單元之間的網路連結

         加權值,使得在臨近區域內所有Neuron的形心座標(即這些加權值)

         向輸入向量的座標方向靠近,而且越靠進臨進中心的Neuron,其移

         動的允許幅度就越大。

      5. 依續將所有的輸入向量餵入SOM網路中,重覆步驟14

      6. 步驟15稱為一次Iteration,在每次的Iteration結束後,縮小臨

         近半徑的大小,並開始另一次新的Iteration,如此反復訓練,直到

         得到輸入訓練樣本的聚類形心座標為止。

 

()、回想過程:

 

      1. 將在學習過程所得到的網路連結矩陣載入到SOM網路中。

      2. 輸入測試向量到SOM網路的輸入層。

      3. 計算輸入向量與各輸出處理單元的歐式平方距離。

      4. 找出輸出層中的優勝單元,則該輸入測試向量即屬於該優勝單元所

         屬之聚類(Class)

 

 

    注意到輸入測試向量可與早先在學習過程中所用到的輸入訓練向量不同

,因此說SOM可由過去的經驗中去學習訓練樣本的內在聚類規則,轉換成網路

的連結加權矩陣後(即記憶),用以推論新的測試向量所在的分類。亦其可由

經驗中去學習,而用以推論出新的結果。

 

 

 

討論:

 

    SOM網路經常遇到的問題包括下列兩種:

 

()、輸出層單元優勝率不均的問題

      初始的網路連結矩陣其各形心點分配不均時,會造成某些輸出處理單

      元經常是優勝單元,導至某一特定的聚類囊括大部份樣本的現像。其

      解決方法有下列幾種:

      1. 對優勝率高的輸出層單元客以「懲罰距離」以抑制其優勝率。

      2. 增加輸出層的Neuron數目。

      3. 改變網路連結矩陣初始的亂數種子。

      4. 改變輸入向量的輸入順序。

 

()、在網路回想過程發現測試誤差太大

      其原因多半為所輸入的所有訓練向量根本沒有明顯的聚類現象,或是

      所採用的訓練向量對整個問題領域而言,代表性不足。此時會造成網

      路遲遲不能收斂的現象。解決的方法有二:

      1. 增加輸入向量的維度。

      2. 增加輸入向量的數目,使其更具有代表性。

 

文章出處:http://www.csie.nctu.edu.tw/~syhwang/class/AI/advance1/kohonen