1
類神經網路
在智慧型管理決策之應用
盧 坤 勇
第一部份
類神經網路介紹
壹、導論
貳、類神經網路架構 參、類神經網路演算法 肆、類神經網路之應用
3
壹、導論
一、類神經網路簡介 二、類神經網路之類型 三、類神經網路之運作
四、類神經網路之需求能力
一、類神經網路簡介
類神經網路之定義:
「類神經網路是一種由軟體和硬體所組成之計算系統
,使用許多相連的人工神經元來模仿生物神經網路。
透過人工神經元從外界環境或其它神經元取得所需 資訊,經過簡單的運算之後,將結果輸出到外界環 境或其它神經元,這些資訊可作進階使用。」
5
一、類神經網路簡介 ( 續 )
類神經網路之背景
‧ 早在 1957 年即有人提出此觀念
‧ 早期是一種感知機( perception )之型式
‧ 在 1960 年代中期即告沒落
‧ 在 1980 年代中期之後又再度流行
一、類神經網路簡介 ( 續 )
生物神經網路之組成元素
神經核( soma )
軸索(或稱神經軸)( axon )
樹突(或稱神經樹)( dendrites ) 突觸(或稱神經節)( synapse )
7
一、類神經網路簡介 ( 續 )
神經樹 神經節
神經核
神經軸
生物神經元模型示意圖
一、類神經網路簡介 ( 續 )
人工神經元模型
X1 X2
閥值 輸入訊號
連結加權值
處理單元 淨值
轉換函數 輸出訊號
9
一、類神經網路簡介 ( 續 )
人工神經元資訊處理模型
其中
Yj 表模仿生物神經元模型的輸出訊號
f 表模仿生物神經元模型之轉換函數( transfer function ) Wij 表模仿生物神經元模型之神經節強度,又稱為連結加
權值
Xi 表模仿生物神經元模型之輸入訊號 θj 表模仿生物神經元模型之閥值
)
( j
i
i ij
j
f W X
Y
一、類神經網路簡介 ( 續 )
類神經網路組成單元
輸入層:用來輸入外在環境之資訊 隱藏層 ( 有些網路模型無此層 ) :
提供類神經網路表現處理單元間之交互作用,
以及所處理問題之內在結構能力 輸出層:用來輸出訊息給外在環境
11
一、類神經網路簡介 ( 續 )
倒傳遞類神經網路模型
輸 入 向 量
輸入層 隱藏層 輸出層
輸 出 向 量
二、類神經網路之類型
‧監督式學習模型( Supervised learning network )
‧非監督式學習模型( Unsupervised learning network )
‧聯想式學習( Associated learning network )
‧最適化應用網路( Optimization application network )
可綜合為四大類
13
監督式學習模型
範例 : 老師在黑板書寫英文字母 A B C D ,後向學生說明它們是英文字母 A B C D , 學生開始學習認字。
下次老師重新寫上英文字母 A B C D ,雖 然與前次之樣子不太相同,但學生依然 可認出其為英文字母 A B C D 。
非監督式學習模型
範例 : 老師在黑板書寫英文字母 A B C D ,但不向學生說明它們是何字。
下次老師重新寫上英文字母 A B C D , 雖然與前次之樣子不太相同,但學生依 然可認出其為前次書寫之英文字母 A B C D 中之某一個。
15
聯想式學習
範例 : 老師在黑板書寫英文字母 A B C D ,學生則學習老師之書寫筆順。
下次老師重新寫上英文字母 A B C D , 縱使英文字母之筆畫有部份殘缺,但學 生依然可聯想其正確筆順。
最適化應用網路
針對一問題,設定相關變數及對應值,在 滿足限制條件下,使得目標函數可達最 佳化。
17
二、類神經網路之類型 ( 續 )
監督式學習
從問題領域中取得所需之學習範例(必須 有輸入變數值和輸出變數值),透過範例 之學習以取得輸入變數與輸出變數之對應 規則
再以此規則應用於新案例之推論(只有輸 入值,輸出值 則以推論方式取得)。
二、類神經網路之類型 ( 續 )
監督式學習常用模型
感知機網路(
Perception
)倒傳遞網路(
Back-propagation Network ,簡稱 BPN
)機率神經網路(
Probabilistic Neural Network ,簡稱 PNN
)學習向量量化網路(
Learning Vector
Quantization ,簡稱 LVQ
)19
二、類神經網路之類型 ( 續 )
非監督式學習
從問題領域中取得所需之學習範例(只有輸入變 數值),透過範例學習找出內在之聚類規則,再 以這個聚類規則應用於新的案例之分析。
二、類神經網路之類型 ( 續 )
非監督式學習常用模型
自組織映射網路(
Self-Organization Map ,簡稱 SOM
)自適應共振理論網路(
Adaptive Resonance
theory Network ,簡稱 ART
)21
二、類神經網路之類型 ( 續 )
聯想式學習
從問題領域中取得所需之學習範例(狀態變數 值),透過學習範例導出內在記憶規則,再以 這個規則應用於新的案例之分析。
二、類神經網路之類型 ( 續 )
聯想式學習常用模型
霍普菲爾網路(
Hopfield Neural Network ,簡稱 HNN
雙向聯想記憶網路(
Bi-directional
Associative Memory ,簡稱 BAM
)23
二、類神經網路之類型 ( 續 )
最適化應用網路
類神經網路除可應用於學習過程外,也可依問 題本質來決定其設計變數值, 在滿足設計之 限制條件下,使得所設計之目標可達於最佳狀 態。
二、類神經網路之類型 ( 續 )
最適化應用網路常用模型
霍普菲爾 - 坦克網路(
Hopfield –Tank Neural Network ,簡稱 HTN
)退火神經網路(
Annealed Neural
Network ,簡稱 ANN
)25
三、類神經網路之運作
類神經網路之運作方式乃模擬人類之學習過 程,事前透過學習以取得一些經驗法則,事 後則透過聯想方式,比對待解決問題與所記 憶之類型。
學習與訓練
三、類神經網路之運作 ( 續 )
學習與回想型態
監督式:範例資料是由代表範例特徵輸入變數 向量和代表範例分類或預測目標值之輸出變數 共同組成。
非監督式:範例資料僅由代表範例特徵輸入變 數向量所組成。
27
三、類神經網路之運作 ( 續 )
學習與回想型態
聯想式:範例資料僅由代表範例特徵之狀態變 數向量所組成(變數同時具有輸入和輸出之特 性,是以迭代方式來決定變數值,故稱為狀態 變數)。
三、類神經網路之運作 ( 續 )
類神經網路運作過程
訓練範例 學習演算法
未學習 網路
已學習 網路
(調整加權值)
測試範例 回想演算法法
已學習 網路
已學習 網路
(確認精度)
29
四、類神經網路之需求能力
高速計算能力 龐大的記憶容量 學習能力
容錯能力
優良的類神經網路應具備
貳、類神經網路架構
一、網路構成元素 二、處理單元
三、網路層的規劃 四、網路處理過程
五、網路設計綜合探討
31
一、網路構成元素
類神經網路之組成單元
處理單元 (processing element) 層 (layer)
網路 (network)
一、網路構成元素 ( 續 )
處理單元
(processing element)
為網路最基本單元,通常透過下列函數來 處理資料:
‧ 集成函數
‧ 作用函數
33
一、網路構成元素 ( 續 )
層
(layer )
由具有相同作用之若干個處理單元所組成
,作用特性可分成三類:
‧ 輸入層
‧ 輸出層
‧ 學習層
一、網路構成元素 ( 續 )
網路
(network)
‧ 網路是由「層」集合而成
‧通常具有學習和回想兩種作用
35
二、處理單元
處理單元之類型
‧集成函數 (summation function)
‧作用函數 (activity function)
‧轉換函數 (transfer function)
二、處理單元 ( 續 )
處理單元間作用關係示意圖
其它處理 單元輸出
網路 連結
集成函數值
作用 函數
轉換
I
net 集成
函數
X W f1 f2
37
集成函數
集成函數之功能在於將從其它處理單元轉來之資訊 加以綜合,可用下式表示:
常用的集成函數有下列型式:
‧ 加權乘積和 ‧ 歐式距離
二、處理單元 ( 續 )
) ,
(
W X f
I
i i
ij
j
W X
I
) 2
(
i
ij i
j
X W
I
作用函數
作用函數之功用在於將集成函數值與處理單元目 前之狀態加以綜合,函數型式如下:
常用的作用函數有三種型式:
‧ 直接使用集成函數之輸出
二、處理單元 ( 續 )
) ,
,
( 1 1
nj nj n j
j
f I I net
net
n j n
j
I
net
. 1
n n
n
I c I
net
39
轉換函數
轉換函數的功用是將作用函數之輸出值轉換成處 理單元之輸出值,函數型式為:
常用的轉換函數型式:
‧ 硬限函數
‥Perceptron 函數(又稱為階梯函數 step function )
二、處理單元 ( 續 )
) (
net
jf
Y
0 0
0 1
j j j
net net Y
如果
如果
‥Hopfield 函數
‥Signum 函數
二、處理單元 ( 續 )
0 1
jj
net
Y
如果 如果
0 0
0 0 1
1
j j n
j
j n
j
net net Y
net Y
如果
如果
如果
41
‥Signum0 函數
‥BAM 函數
二、處理單元 ( 續 )
0 1
0 0
0 1
j j
j j
net net
net Y
如果 如果
如果
0 0
0 0 1
1
j j n
j
j j
net net Y
net Y
如果
如果
如果
‧ 線性函數
‥ 門限型函數
‥ 無門限型函數
二、處理單元 ( 續 )
0 0
0
j j j
j
net net net
Y
如果 如果
net
Y
43
‧ 非線性函數
‥ 雙彎曲函數( Sigmoid function )
‥ 雙曲線正切函數( Hyperbolictangent function )
二、處理單元 ( 續 )
netj
j
e
Y
1
1
j j
j j
net net
net net
j
e e
e
Y e
三、網路層的規劃
隨不同的網路模式而有不同的的作用 形態,常用的「層」作用有三種形式:
‧ 正規化輸出 ‧ 競爭化輸出 ‧ 競爭化學習
45
三、網路層的規劃 ( 續 )
正規化輸出
正規化輸出是將同一層中的處理單元之原始輸
出向量予以正規化,轉成單位長度向量後,才作
為層的輸出。
三、網路層的規劃 ( 續 )
競爭化輸出
競爭化輸出是從同一層中的處理單元之原始輸 出向量選擇若干個最強的處理單元,將其值設為 1 ,其餘值設為 0 ,然後將結果作為層的輸出。
47
三、網路層的規劃 ( 續 )
競爭化學習
競爭化學習是從同一層中的處理單元之原始輸
出向量選擇若干個最強的處理單元(優勝單元),
網路只調整與優勝單元相連的下層網路連結。
四、網路處理過程
運作過程可分成兩個階段:
‧ 學習階段( Learning )
學習階段乃將適量的學習範例套入學習演算法,
經逐次的學習之後,調整網路連結之加權值。
49
四、網路處理過程 ( 續 )
‧ 回想階段( Recalling )
回想階段乃將適量的測試範例套入回想演算法內,
用來測試所建構之網路品質。
四、網路處理過程 ( 續 )
類神經網路學習演算法
從能量函數( Energy function )的觀點推導 演算法,能量函數可用來測度網路之學習效果,學 習過程則在於求得能量函數之最小化。
51
四、網路處理過程 ( 續 )
常見的學習演算法有三種型態:
‧ 監督式學習演算法 ‧ 非監督式學習演算法 ‧ 聯想式學習演算法
四、網路處理過程 ( 續 )
能量函數型式
監督式學習演算法
非監督式學習演算法
聯想式學習演算法
)2
2 (
1
j
j
j
Y
T E
) 2
2 (
1
i
ij
i
W
X E
X W X
E
153
四、網路處理過程 ( 續 )
學習過程
‧ 通常採用最陡坡降法來求取能量函數之最小化
‧ 結果通常會收斂於一個鄰近起始值之局部最小化
‧ 實務上需要用許多不同的起始值去搜尋總體最小值
‧ 學習之目的在於調整網路連結加權值
四、網路處理過程 ( 續 )
各種學習演算法之推導結果如下:
‧ 監督式學習演算法
‥ 差距法則( Delta Rule )
‥ 通用差距法則( General Delta Rule )
X
W
ij . j .
i k
ik
X
W
.
.
55
四、網路處理過程 ( 續 )
‧ 非監督式學習演算法
‧ 自聯想式學習法
‧ 異聯想式學習法
) (
. i ij
ij
X W
W
p
p ij p
j p
i p
ij
X X W
W ( . )
p
p ij p
j p
i p
ij
X Y W
W ( . )
四、網路處理過程 ( 續 )
本節使用符號之意義
網路連結加權修正值
Wkj= 處理單元 k 的上層處理單元 j 之連結加權值 學習速率,用於控制每次加權值改變
量之幅度
差距量,可作為修正加權值之依據
W
ijij
j
57
四、網路處理過程 ( 續 )
本節使用符號之意義
Tj = 連結輸出側之單元目標輸出值 Yj = 連結輸出側之單元推論輸出值
= 第 p 個式樣(訓練範例特徵向量)前部第 i 個 元素質
= 第 p 個式樣(訓練範例特徵向量)後部第 j 個 元素質
p
X
i pY
j五、網路設計綜合探討
在規劃類神經網路時,不同的參數設計會得到不 同的運作效率。 重要影響參數為:
‧ 隱藏層之處理單元數 ‧ 隱層層數
‧ 學習效率
59
五、網路設計綜合探討 ( 續 )
隱藏層之處理單元數
‧ 處理單元數越多,則網路收斂速度越慢,但是卻 可得到更小的誤差值
‧ 超過某個限度之後,對於訓練之誤差度之縮小就 沒有多大的助益
五、網路設計綜合探討 ( 續 )
隱藏層之處理單元數計算公式
或是
2
輸出單元數 輸入單元數
單元數
輸入單元數 . 輸出單元數
1/2單元數
61
五、網路設計綜合探討 ( 續 )
隱層層數
‧ 隱藏層數目以一到兩層具有最好的收斂效果 ‧ 太多或太少其收斂效果較差
‧ 簡單問題取一層即可,複雜問題則取兩層
五、網路設計綜合探討 ( 續 )
學習效率
‧ 學習速率會影響網路加權值之修正量
‧ 太大或太小對於網路之收斂效果均有不例之影響 ‧ 依經驗值,學習速率可設定在 0.5 或 0.1 到 1 之
間
63
參、類神經網路演算法
一、網路架構 二、網路演算法
三、評估網路學習效果 四、網路學習過程
五、網路回想過程
一、網路架構
以倒傳遞網路為例
倒傳遞網路是由輸入層、隱藏層、輸出層所構成,其 網路架構下圖所示。
輸 入
輸入層 隱藏層 輸出層
輸 出
65
一、網路架構 ( 續 )
輸入層
用來呈現網路之輸入變數,處理單元之個數 依實際問題而定,通常使用線性函數作為轉 換函數,亦即: f(x) = x 。
一、網路架構 ( 續 )
隱藏層
用來呈現輸入處理單元間之交互作用,處理單元數 之設定並無一定準則可供參考,實務上通常是以試 驗方式來決定,轉換函數通常採用非線性函數。
網路架構可以沒有隱藏層之設計,也可以具有一層 以上之隱藏層。
67
一、網路架構 ( 續 )
輸出層
用來呈現網路之輸出變數,處理單元之個數依實 際問題而定,通常使用非線性函數作為轉換函數。
一、網路架構 ( 續 )
隱藏層與輸出層通常選用雙彎取函數作為轉換函數
e
xx
f
1 ) 1
(
1,0 1,0
69
二、網路演算法
倒傳遞神經網路之演算法,是透過訓練範例 之輸入向量 X 與目標輸出向量 T 來修正網路 連結加權值 W ,達到學習之目的。
演算法之推導過程如下四個步驟:
二、網路演算法 ( 續 )
設 Aj 表第 j 個單元推論輸出值, Tj 表第 j 個單元目 標輸出值,第 n 層之第 j 個輸出值與第 n-1 層單元 輸出值之關係可表示為:
其中 表集成函數, f 表轉換函數,且
) (
njn
j
f net
A
j n
i ij n
j
W A
net
1 1.
n
net
j71
二、網路演算法 ( 續 )
2. 透過能量函數來降低網路輸出單元之目標輸出值與 推論輸出值之差距,
再以最陡坡降法求取能量函數之最小值
)
22 (
1
j
j
j
A
T E
ij
ij
W
W E
.二、網路演算法 ( 續 )
3. 透過微積分之連鎖率( chain rule ),將 轉成下式
及
W
ijE
/
ij n j n
j
ij
W
net net
E W
E
njn n j
n
W
net net
A A
E W
E
73
二、網路演算法 ( 續 )
3-1 第 n 層即為最終層,相當於網路之輸出層
3-2 第 n 層不是最終層,而是網路之隱藏層之一
) (
) 2 (
1
nj j
k
n k n k
j n
j
A T
A A T
A
E
jk k
n n k
j
A W
E
1
二、網路演算法 ( 續 )
4. 總結
4-1 Wij介於輸出層與隱藏層間
4-2 Wij非介於輸出層與隱藏層間
) (
. )
( j nj ' nj
n
j
T
A f net
) .(
.
.
'1 n
j jk
n k n
j
W f net
75
二、網路演算法 ( 續 )
倒傳遞演算法關鍵公式
如果所使用之轉換函數為雙彎曲函數形式,如下式:
則
. 1
.
W
ij njA
innetj
j
e
net
f
1 ) 1
(
1 ( )
. ) (
)
' (
j j
j
f net f net
net
f
三、評估網路學習效果
‧ 學習過程通常需要邊學習邊檢驗學習效果
‧ 事前可將收集資料分成兩個部分,一半作為訓練範 例用,另一半作為測試用
‧ 訓練過程可在每學習幾個學習循環,即將測試範例 載入,以供檢視網路之誤差程度是否收斂
77
三、評估網路學習效果 ( 續 )
誤差程度之評估方式
‧ 誤差均方根法
‧ 總錯誤率
N M
Y T
M p
N j
p j p
j
.
)
(
2
範例總數
錯誤分類之範例總數 總錯誤率
四、網路學習過程
學習過程可分成八個步驟
1. 設定網路參數:諸如網路種類、層樹、處理單元 樹、網路連結等。
2. 使用均勻分配隨機亂數,產生加權值矩陣與閥值 向量初始值。
3. 輸入一個訓練範例之輸入向量 X ,以及一個目標 輸出向量 T 。
79
四、網路學習過程 ( 續 )
4. 計算推論輸出向量 Y 5. 計算差距量 δ
6. 計算加權值矩陣修正量,以及閥值向量修正量 7. 更新加權值及閥值
8. 重複步驟 3 到 7 ,直到收斂為止。
五、網路回想過程
回想過程在於求取待求解問題之輸出向量值 可依下述四個步驟來進行
1. 設定網路相關參數值。
2. 讀入訓練過程所得之加權值矩陣及閥值。
3. 輸入待求解問題之輸入向量 X 。 4. 計算推論輸出向量 Y
81
肆、類神經網路之應用
實例一:信用卡持卡者之信用判斷
實例二:從技術面預測證交所隔日收盤指數之 變化率
實例三:從技術面預測證交所隔日收盤指數之 變化
實例四:從穩定液之成分及濃度來預估黏度 實例五:從取得之樣本值來診斷乳癌之良惡性
情形
實例六:依據施工條件及地層基礎選擇適合的 建築基樁型式
肆、類神經網路之應用
( 續 )
83
實例一
信用卡持卡者之信用判斷
說明:可利用歷史案例之關鍵變數,以類神經網路來判定信用 卡持卡者之信用狀態。
用途:金融診斷 實作:
1. 輸入變數分類:小孩人數、職業、房屋數、每月收入、每月 支出、銀行帳戶數、持卡張數、前幾月付款情形。
2. 輸出變數分類:以有序分類多神經元來表示可能發生問題、
有能力還款但會拖延及準時付款等三類。
3. 分類模型:非模糊分類。
4. 網路模式:倒傳遞網路。
5. 網路架構: 14 – 14 - 3 。
實例二
從技術面預測證交所隔日收盤指數 之變化率
說明:利用歷史收盤指數變化情形,預估隔日收盤指數之變化。
用途:投資決策 實作:
1. 輸入變數分類:以單神經元編碼方式,將前數日之開盤指數、
最高指數、最低指數、收盤指數、成交量列為輸入變數。
2. 輸出變數分類:以實數之單神經元表示隔日收盤指數之變化率
。
3. 分類模型:時間數列型。
85
說明:可利用歷史之收盤指數變化情形,預估隔日收盤指數之 變化。
用途:投資決策 實作:
1. 輸入變數分類:以單神經元編碼方式,將前十日之收盤指 數列為輸入變數。
2. 輸出變數分類:以實數值之單神經元表示隔日收盤指數。
3. 分類模型:時間數列型。
4. 網路模式:倒傳遞網路。
5. 網路架構: 10 – 10 - 1 。
實例三
從技術面預測證交所隔日收盤
指數之變化
說明:可利用投入之化學成分,預估成品之黏度。
用途:化學分析 實作:
1. 輸入變數分類:將高分子濃度、分散劑濃度及皂土濃度以 單神經元方式編碼。
2. 輸出變數分類:以實數值之單神經元表示漏斗之黏滯度。
3. 分類模型:非時間數列型。
4. 網路模式:倒傳遞網路。
實例四
從穩定液之成分及濃度來預估黏度
87
說明:可利用取得之樣本值來診斷乳癌之良惡性情形。
用途:醫學診斷 實作:
1. 輸入變數分類:以模糊邏輯變數單神經元編碼方式,將下列因 素列為輸入變數,
clump-thickness, cell-size- uniformity
cell-shape—uniformity, marginal-adhesion, single-epithelial-cell-size, bare-nuclei,
bland-chromatin, normal-nucleoli, mitosis,
實例五
從取得之樣本值來診斷是否罹患乳癌
實例五 ( 續 )
1. 輸出變數分類:以邏輯變數單神經元表示乳癌是否為惡 性( 0= 偽 , 1= 真)。
2. 分類模型:非模糊分類型。
3. 網路模式:倒傳遞網路。
4. 網路架構: 9 – 9 - 1 。
89
實例六
依據施工條件及地層基礎選擇適 合的建築基樁型式
說明:利用給定之施工條件及地質基礎資料,選定合適的基樁 形式。
用途:工程決策 實作:
1. 輸入變數分類:以單神經元編碼方式,將上部結構、土層型 態、鄰近結構、噪音管制、施工空間、基礎形式、工期要求
、地下水位、交通狀況、貫入能力、含大礫石及土壤種類等 十二項因素列為輸入變數。
實例六 ( 續 )
2. 輸出變數分類:以無序分類多神經元編碼方式,將基樁型式 分成八類:
展式基腳、 H- 鋼樁、場鑄混凝土樁、預鑄混凝土樁、乾孔 無套管鑽掘式基樁、穩定液套管鑽掘式基樁、穩定液無套管 鑽掘式基樁及鋼管樁。
3. 分類模型:非模糊分類模型。
4. 網路模式:倒傳遞網路。
5. 網路架構: 12 – 12 - 8 。
91
伍、未來發展 與限制
一、待突破之問題點 二、未來發展方向
一、待突破之問題點
‧ 大型化的問題
‧ 可靠度方面的問題
‧ 欠缺智慧型的決策能力
‧ 欠缺高等智慧能力
93
二、未來發展方向
‧ 擬生物神經網路之研究
‧ 基本理論之研究
‧ 電腦硬體架構之配合
‧ 網路模式之改良與創新
‧ 新的應用開發