今天我們要介紹類神經網路與演算法
單一神經細胞
假設圖1是一個神經細胞元,在神經細胞傳遞中需要有輸入,也需要包含輸出,每個神經元可能會包含多個輸入(A & B),加上一個或多個Bias(b),並包含一個輸出
我們通常會以一個簡單的公式來計算輸出值Y=A*W1+B*W2+b
W1與W2就是類神經元的權重
多層類神經架構
W的計算為 A*W11+B*W21+b1
X的計算為 A*W12+B*W22+b1
輸出Y則是W*N11+X*N21
在神經網路中W與N這些都代表權重值,而權重本身影響決策
在訓練過程中,權重會依照每次計算結果的誤差進行修正
初始權重值通常是經驗值或亂數決定
實際運算
計算時先假設所有權重初值皆為1(實務上為亂數),並忽略Bias
那麼計算出來的Y=(1*1+1*1)*1+(1*1+1*1)*1=4
如圖3所示,經過運算後的delta值為-3,因為delta值為負表示計算結果離目標輸出過大,那就需要將權重W與權重N調小
假設修正公式W(new)=W(old)+beta*delta=W(old)*0.2*(-0.3)
Ps.假設beta=0.2(該值依經驗調整)
權重修正計算如下
W11=W11+beta*delta=1*0.2*(-3)=0.4
W12=W12+beta*delta=1*0.2*(-3)=0.4
W21=W21+beta*delta=1*0.2*(-3)=0.4
W22=W22+beta*delta=1*0.2*(-3)=0.4
N11=N11+beta*delta=1*0.2*(-3)=0.4
N21=N21+beta*delta=1*0.2*(-3)=0.4
修正後權重結果為0.4
重新運算輸出得到如下
Y=(1*0.4+1*0.4)*0.4+(1*0.4+1*0.4)*0.4=0.32
新的誤差量已降至1-0.32=0.68
依照上述方式不斷運算直到誤差量等於0.便完成訓練
但實務上運到0是非常耗時的且可能落入區域極值
故我們可能會設定目標0.0001或0.001這樣趨近於0的目標.較0符合經濟效益
教學與操作影片
3月 14, 2021



0 意見:
張貼留言