人工神經網絡- 維基百科,自由嘅百科全書
文章推薦指數: 80 %
... neural network,簡稱「ANN」)係指一啲模仿生物神經網絡(即係動物嘅中樞神經系統,尤其 ... 一個人工神經網絡由大量嘅人工神經細胞(artificial neuron)組成。
人工神經網絡
出自維基百科,自由嘅百科全書
跳去導覽
跳去搵嘢
一個前饋人工神經網絡嘅抽象圖;每個圓圈代表咗一粒模擬嘅神經細胞,而每粒神經細胞嘅啟動程度由佢打前嗰排神經細胞嘅啟動程度話事-就好似動物嘅神經系統噉[1]。
人工神經網絡(粵拼:jan4gung1san4ging1mong5lok6;英文:artificialneuralnetwork,簡稱「ANN」)係指一啲模仿生物神經網絡(即係動物嘅中樞神經系統,尤其係個腦)嘅結構同功能嘅數學模型:一隻(例如)靈長目動物嘅腦閒閒地有斷百億計嘅神經細胞(neuron),一粒神經細胞喺俾電同化學物訊號刺激到嗰陣,會跟住以電或者化學物嚟傳新訊號,所以當一粒神經細胞射訊號嗰陣可以引起連鎖反應,將資訊(information)喺成個神經網絡度傳開去[2][3];而人工神經網絡主要以電腦程式模擬呢個過程,令電腦程式能夠出現類似動物神經系統噉嘅行為-對人工智能同機械人學等嘅領域嚟講好有用[4][5]。
一個人工神經網絡由大量嘅人工神經細胞(artificialneuron)組成。
喺用電腦程式整神經網絡嗰陣,研究者(通常)會每粒人工神經細胞都同佢設返個數值代表佢嘅啟動程度(activationlevel)[6],而每粒神經細胞嘅啟動程度嘅數值都有條式計,呢條式包括咗喺佢之前嗰啲神經細胞嘅啟動程度。
啲函數當中嘅參數可以變化,而如果個神經網絡嘅程式令到佢識得靠自己嘅經驗嚟到調整呢啲參數嘅話,嗰個神經網絡就會具有學習嘅能力[7][8]。
即係例如個程式foreach細胞有一條類似噉樣嘅算式:
A
=
W
1
A
1
+
W
2
A
2
.
.
.
{\displaystyleA=W_{1}A_{1}+W_{2}A_{2}...}
;(啟動函數)
A
{\displaystyleA}
代表粒神經細胞嘅啟動程度,
A
n
{\displaystyleA_{n}}
代表前嗰排嘅神經細胞當中第
n
{\displaystylen}
粒嘅啟動程度,而
W
n
{\displaystyleW_{n}}
就係前嗰排嘅神經細胞當中第
n
{\displaystylen}
粒嘅權重(指嗰粒細胞有幾影響到
A
{\displaystyleA}
)。
所以當一粒人工神經細胞啟動嗰陣,會帶起佢後面啲細胞跟住佢啟動-似十足生物神經網絡入面嗰啲細胞噉。
假如個神經網絡嘅程式令佢能夠自行按照經驗改變
W
n
{\displaystyleW_{n}}
嘅數值嘅話,佢就會曉學習[註1][7][9]。
到咗廿一世紀初,人工神經網絡經已俾科學界廣泛噉用落去各種各樣嘅問題嗰度。
喺應用上,事實證實咗人工神經網絡能夠處理機械視覺同埋語音識別呢啲傳統嘅電腦程式好難解決到嘅問題[10][11];而喺理論性嘅認知科學上亦有聯結主義(connectionism)理論,主張心靈可以用人工神經網絡嚟模擬[12]。
目錄
1基本諗頭
2網絡組成
2.1人工神經細胞
2.1.1傳遞函數
2.2網絡結構
2.2.1結構分類
3網絡學習
3.1基本諗頭
3.2反向傳播算法
3.3學習演算法
3.4批量式訓練
3.5學習率
3.5.1動量
3.6在線學習
3.7修剪法
4學習範式
4.1監督式學習
4.2非監督式學習
4.3強化學習
4.3.1Q-學習
5進階變種
5.1圖像處理
5.2深度學習
5.3長短期記憶
6應用
7批評
7.1「黑盒」問題
7.2理論特性
7.3硬件問題
8簡史
8.1起源
8.2海伯學習
8.3反向傳播演算法
8.4廿一世紀初
9註釋
10相關領域
11睇埋
12文獻
13攷
14拎
基本諗頭[編輯]
睇埋:神經細胞
人工神經網絡最基本嘅諗頭係要用人工方法模仿動物神經細胞嘅功能。
一粒動物神經細胞喺受到某啲特定刺激嗰陣,會用電或者化學方式向第啲神經細胞傳出訊號,然後同呢粒神經細胞相連嗰啲神經細胞會受到佢嘅訊號刺激,跟住又會各自噉射新嘅訊號-於是資訊就會喺成個神經系統當中傳播開去[13];例如係眼塊視網膜上面嗰啲感光神經細胞噉,呢啲細胞喺受到光刺激嗰時,會傳訊號(signal)去同佢哋相連嘅神經細胞嗰度,而呢一串神經細胞一路連到上去個腦嗰度,所以喺每一個時刻,對眼嗰啲感光細胞都會受到光刺激並且射訊號,而啲訊號就會一路傳上去個腦嘅視覺相關區域,個腦靠住收到嘅資訊(有幾多粒感光神經細胞射訊號、射訊號嘅係喺眼邊忽嘅感光細胞等),就可以判斷對眼睇到啲乜嘢[14][15]。
呢種訊號傳遞過程就係人工神經網絡技術想模擬嘅嘢[16]。
一粒動物神經細胞嘅圖解;神經細胞會收訊號(
x
n
{\displaystylex_{n}}
),按訊號改變自己啟動程度,而啟動程度決定佢會唔會傳新訊號(
y
n
{\displaystyley_{n}}
)。
網絡組成[編輯]
人工神經細胞[編輯]
內文:人工神經細胞
人工神經細胞(artificialneuron)係人工神經網絡嘅基本組成部件。
一粒人工神經細胞係一個人造嘅物體,會好似動物神經細胞噉接收訊號、並且按照所收到嘅訊號改變自己內在嘅狀態,跟住再按照自己內在狀態,決定係咪要射新訊號以及要射點樣嘅新訊號-原理上同動物嘅神經細胞極之相似(但唔完全一樣[17])。
當一大柞人工神經細胞互相連繫住,就會形成一個人工神經網絡,而每當研究者俾某啲輸入(input)數值落去其中一啲人工神經細胞嗰陣,佢哋就會帶動其他人工神經細胞跟住啟動,最後每一粒人工神經細胞都會達致某啲啟動值-即係話個網絡可以有一啲輸出(output)數值。
實用嘅研究證實咗,一個人工神經網絡嘅輸出值同輸入值會成某啲特定嘅關係,呢點表示人工神經網絡可以攞嚟做一啲有用嘅運算(詳情睇下面)[16][18]。
一粒典型嘅人工神經細胞結構如下[16]:
a
1
{\displaystylea_{1}}
至
a
n
{\displaystylea_{n}}
係各個輸入嘅數值,啲輸入可以係嚟自外界嘅,但又可以嚟自同一個網絡入面嘅第啲人工神經細胞都得。
w
1
{\displaystylew_{1}}
至
w
n
{\displaystylew_{n}}
係每個輸入嘅權重,代表咗嗰一個輸入對呢粒人工神經細胞嘅啟動程度有幾大影響力。
b
{\displaystyleb}
指偏向(bias),即係嗰粒神經細胞本身喺啟動上嘅傾向,例如如果有某一粒人工神經細胞嘅
b
{\displaystyleb}
係正數而且數值大,佢就會傾向無論輸入係幾多都有強烈嘅啟動[19][20]。
SUM
{\displaystyle{\text{SUM}}}
(以下簡稱「
S
{\displaystyleS}
」)指粒人工神經細胞嘅啟動程度(activationlevel),呢個數值由上面嗰柞因素話事,個函數如下:
S
(
T
+
1
)
=
f
(
S
(
T
)
,
a
(
T
)
,
θ
s
)
{\displaystyleS(T+1)=f(S(T),a(T),\theta_{s})}
S
(
T
+
1
)
{\displaystyleS(T+1)}
指粒細胞喺時間點
T
+
1
{\displaystyleT+1}
嘅啟動程度,
S
(
T
)
{\displaystyleS(T)}
指粒細胞喺時間點
T
{\displaystyleT}
嘅啟動程度,而
a
(
T
)
{\displaystylea(T)}
指喺時間點
T
{\displaystyleT}
嗰柞輸入嘅數值。
呢條式表示,
S
(
T
+
1
)
{\displaystyleS(T+1)}
嘅值由
S
(
T
)
{\displaystyleS(T)}
、
a
(
T
)
{\displaystylea(T)}
、同埋
θ
s
{\displaystyle\theta_{s}}
呢三個數值話事。
好多人工神經細胞嘅啟動函數會包含
θ
s
{\displaystyle\theta_{s}}
呢個數值。
呢個係所謂嘅門檻值(thresholdvalue):一粒典型嘅動物神經細胞係一定要所受到嘅刺激有返咁上下勁,先會射訊號嘅;如果佢受嘅刺激數值唔超過門檻值嘅話,佢就乜嘢訊號都唔會射;為咗要更加接近動物神經細胞,好多研究人員喺設計神經網絡嗰時會特登每粒人工神經細胞俾個門檻值佢,令個網絡嘅各粒人工神經細胞好似動物神經細胞噉,收到嘅輸入唔超過門檻值就完全唔射訊號。
t
{\displaystylet}
係粒人工神經細胞嘅輸出數值。
f
{\displaystylef}
係
S
{\displaystyleS}
同埋
t
{\displaystylet}
之間嗰個函數,可以有多個款,但
f
{\displaystylef}
好多時會係一個恆等函數(identityfunction)-即係話
t
{\displaystylet}
數值好多時同
S
{\displaystyleS}
一樣。
傳遞函數[編輯]
內文:啟動函數
喺數學上,一粒普通嘅人工神經細胞成個傳遞函數(propagationfunction)可以簡化噉用以下呢條式表達:
t
=
f
(
W
′
→
A
→
+
b
)
{\displaystylet=f({\vec{W'}}{\vec{A}}+b)}
W
′
→
{\displaystyle{\vec{W'}}}
係權重向量(weightvector),即係指包括嗮所有權重在內嘅一個向量[註2]。
A
→
{\displaystyle{\vec{A}}}
係輸入向量(inputvector),同理係指包括嗮所有輸入在內嘅一個向量。
t
{\displaystylet}
係粒人工神經細胞嘅輸出,係一個純量(scalar)。
以上呢個函數所講嘅嘢用日常用語表達係噉嘅:粒人工神經細胞嘅輸出值取決於佢收到嘅輸入值、啲權重、同埋佢嘅偏向值[16]。
上述呢個例子係一個線性函數(linearfunction;即係如果將
t
{\displaystylet}
同是但一個
a
{\displaystylea}
畫幅圖,會出一條直線),不過喺實際應用上,人工神經細胞嘅傳遞函數仲有得用sigmoid函數(sigmoidfunction)等唔同類嘅函數嚟模擬:例如喺sigmoid函數之下,y嘅數值會一路大致上等如0,直至x嘅數值超越某個臨界值為止,而喺x過咗個臨界值之後,y嘅數值會一路大致等如佢最大可能數值(下圖)-就好似現實世界嘅神經細胞噉,要輸入訊號超過一個臨界值先會射新訊號[21]。
睇埋線性整流函數(rectifier)。
網絡結構[編輯]
睇埋:生物神經網絡
當有多粒人工神經細胞互相連埋一齊,就會組成一個人工神經網絡。
喺實際使用上,設計者一般會用電腦程式嚟整人工神經網絡,叫個程式喺開始嗰陣粒粒人工神經細胞都設個數代表佢嘅啟動程度,再設啲數代表神經細胞之間嘅連結權重。
人工神經網絡多數會用多層結構-同一層嘅神經細胞唔會影響彼此嘅啟動程度,但粒粒嘅啟動程度都會受前一層嘅神經細胞影響。
例如常見嘅多層前饋網絡(multilayerfeedforwardnetwork)可以想像成以下噉嘅樣[22][23]:
幅圖入面嘅每一個圓圈都代表咗一粒人工神經細胞,箭咀表示箭咀前嗰粒細胞嘅啟動能夠影響箭咀後嗰粒細胞嘅啟動(箭咀後細胞嘅啟動
=
f
(
{\displaystyle=f(}
箭咀前細胞嘅啟動
)
{\displaystyle)}
)。
呢個網絡由三大層組成,分別係[22]:
輸入層(inputlayer)嘅人工神經細胞負責由外界嗰度攞資訊-佢哋嘅啟動程度主要由呢啲外界資訊話事(輸入層嘅啟動
=
f
(
{\displaystyle=f(}
外界資訊
)
{\displaystyle)}
)。
隱藏層(hiddenlayer)係輸入層同輸出層之間嘅一排排人工神經細胞,可以得一層或者有好多層都得,一粒喺隱藏層入面嘅人工神經細胞嘅啟動程度通常都係主要取決於佢打前嗰層嗰啲人工神經細胞嘅啟動程度(隱藏層嘅啟動
=
f
(
{\displaystyle=f(}
前一排細胞嘅啟動
)
{\displaystyle)}
)。
一般嚟講,隱藏層愈多人工神經細胞,個神經網絡嘅就愈會有顯著嘅非線性(nonlinearity),但表現唔一定會愈好[24]。
喺實際應用上,啲科學家整神經網絡嗰陣,會設每浸隱藏層嘅神經細胞數目做輸入層嘅1.2至1.5倍。
輸出層(outputlayer),呢層嗰啲人工神經細胞嘅啟動程度由佢哋之前嗰層嘅人工神經細胞嘅話事(輸出層嘅啟動
=
f
(
{\displaystyle=f(}
前一排細胞嘅啟動
)
{\displaystyle)}
),負責俾出個神經網絡嘅運算結果。
亦都有一啲人工神經網絡係冇隱藏層嘅-呢啲神經網絡浸輸出層嘅啟動程度數值會直接噉由輸入層嘅決定,即係話佢哋嘅結構如下:
當中左手邊黑點代表輸入層嘅人工神經細胞。
呢種冇隱藏層嘅神經網絡嘅缺點係,佢哋所模擬嘅輸入同輸出之間嘅關係唔會太複雜-而一旦個設計者需要個輸入同輸出之間嘅關係唔係簡單嘅線性(linear)嗰陣,單層嘅人工神經網絡好多時就會搞唔掂[25][26]。
結構分類[編輯]
內文:前饋神經網絡同遞迴神經網絡
按照結構嚟分類嘅話,神經網絡有得分做好多種,而以下呢兩大種最常見[27]:
前饋神經網絡(feedforwardnetwork),指訊號淨係由輸入到輸出一個方向流動嘅神經網絡-冇任何人工神經細胞能夠影響自己前排嗰啲人工神經細胞,好似上面嗰幾幅圖所描述嘅噉。
遞迴神經網絡(recurrentnetwork),指啲訊號會喺個神經網絡之內「遞迴」,即係話個神經網絡啲人工神經細胞當中有至少一部份嘅會有能力影響佢哋之前嗰幾層嘅人工神經細胞嘅啟動程度[28]。
因為佢哋呢種結構上嘅特徵,佢哋識得處理喺時間上前後倚賴嘅資訊,例如係人口講嘅嘢噉[29]:一個人講一句嘢嗰陣,句嘢嘅第二個字會影響到第一個字嘅意思(例如「家吓」同「家庭」嘅意思就唔同嗮),所以喺分析喺時間點
t
{\displaystylet}
聽到嘅字嗰陣,要考慮埋喺打前嗰啲時間點聽到嘅字先可以理解到嗮成個意思-遞迴神經網絡比起前饋神經網絡更加能夠做到呢一點。
而事實係喺廿一世紀初,已經有科學家成功噉運用遞迴神經網絡嚟令到電腦學識處理人類用自然語言(naturallanguage;指好似廣東話同閩南話呢啲日常傾偈用嘅語言)講嘅嘢(睇埋機械翻譯)[29]。
例如以下呢幅圖噉:
喺呢個網絡當中,一粒細胞可以影響佢自己喺下一個時間點嘅啟動程度-係一個簡單嘅冇隱藏層遞迴神經網絡。
例子碼
有咗上面嘅知識式,就可以用電腦程式嚟整人工神經細胞,例如以下呢段用Python程式語言寫嘅源碼定義咗一個簡單嘅感知機(perceptron)神經網絡[註3][30]:
defPerceptron(input1,input2,output):#定義一個網絡,個網絡有兩個輸入同埋一個輸出。
outputP=input1*weights[0]+input2*weights[1]+biais*weights[2]#個網絡嘅輸出條式
ifoutputP>0:#activationfunction(hereHeaviside)#如果個輸出值大過0,噉將輸出值set做1。
outputP=1
else:
outputP=0#呢個網絡係一個開關網絡,即係話佢輸出值淨係得兩個可能性,「0」同「1」。
網絡學習[編輯]
基本諗頭[編輯]
睇埋:機械學習
學習法則(learningrule)係指一啲改變個神經網絡嗰柞參數嘅法則。
一個神經網絡喺收到一個輸入嗰陣會計一個輸出出嚟,但係呢個輸出唔一定係正確嘅,可能會同正確嘅結果有所出入。
所以如果要用神經網絡嚟計出正確嘅結果,好多時就要靠一個好似學習噉嘅過程[31]:例如喺監督式學習當中,個研究者可以走去搵柞數據返嚟-呢柞數據就係所謂嘅訓練集(trainingset);呢個訓練集會包括咗一連串嘅輸入個案,而每個個案都有一個已知嘅正確輸出值;跟手個研究者就可以將個訓練集嘅數據入落去個神經網絡度,等部電腦自動噉計出喺每一個個案入面,個神經網絡俾出嚟嘅輸出同正確嘅輸出值有幾大出入,跟手啲事先編寫好嘅學習法則就會按照呢啲落差值計吓啲(例如)權重要點樣改變先可以令到個神經網絡俾出更準確嘅答案。
如是者,喺個神經網絡運算過大量嘅個案之後,佢嗰啲權重等嘅參數就會有所改變,變到更加能夠計到正確嘅答案-個研究者就可以攞呢個神經網絡嚟去預測一啲將來會撞到嘅同類個案(睇埋通用近似定理)[16]。
喺呢個過程裏面,個研究者會想令以下條方程式入面嗰個殘差平方和
C
^
{\displaystyle\textstyle{\hat{C}}}
有咁細得咁細[32][33]:
C
^
=
1
N
∑
i
=
1
N
(
f
(
x
i
)
−
y
i
)
2
{\displaystyle\textstyle{\hat{C}}={\frac{1}{N}}\sum_{i=1}^{N}(f(x_{i})-y_{i})^{2}}
;(誤差函數;errorfunction)當中
N
{\displaystyleN}
係個訓練集入面嘅個案數量;
x
i
{\displaystylex_{i}}
係第
i
{\displaystylei}
個個案入面嗰個輸入;
f
(
x
i
)
{\displaystylef(x_{i})}
係個神經網絡用
x
i
{\displaystylex_{i}}
做輸入嗰陣俾出嚟嘅輸出;而
y
i
{\displaystyley_{i}}
係第
i
{\displaystylei}
個個案入面嗰個正確輸出;所以
C
^
{\displaystyle\textstyle{\hat{C}}}
呢個數值反映咗攞個神經網絡嚟計嘢嗰陣嘅平均誤差。
反向傳播算法[編輯]
內文:反向傳播算法
反向傳播算法(backpropagation)係一種用嚟計個神經網絡啲權重要點樣調整嘅方法,喺個神經網絡俾出咗佢嘅運算結果之後,就可以計個結果同正確數值差幾遠[34][35],例如確率勾配降下法(stochasticgradientdescent)噉,就會運用以下呢條算式嚟計出每個權重值要點變[36]:
w
i
j
(
t
+
1
)
=
w
i
j
(
t
)
+
η
∂
C
∂
w
i
j
+
ξ
(
t
)
{\displaystylew_{ij}(t+1)=w_{ij}(t)+\eta{\frac{\partialC}{\partialw_{ij}}}+\xi(t)}
;當中
w
i
j
(
n
)
{\displaystylew_{ij}(n)}
係指喺時間點
n
{\displaystylen}
嘅權重值
w
i
j
{\displaystylew_{ij}}
;
η
{\displaystyle\eta}
係學習率;
C
{\displaystyleC}
係個誤差,反映咗喺個個案入面個神經網絡俾嘅輸出同正確輸出差幾遠;
∂
C
∂
w
i
j
{\displaystyle{\frac{\partialC}{\partialw_{ij}}}}
係
C
{\displaystyleC}
隨住
w
i
j
{\displaystylew_{ij}}
嘅偏導數(partialderivative);
ξ
(
t
)
{\displaystyle\xi(t)}
係一個隨機(stochastic)嘅數值[37][38]。
如果一個以電腦程式寫嘅神經網絡跟呢條式(或者係類似嘅式)嚟行嘅話,佢喺計完每一個個案之後,都會計出佢裏面嘅權重值要點樣改變,並且將呢個「每個權重應該要點變」嘅資訊傳返去個網絡嗰度(所以就叫「反向傳播」)。
而每次有個權重值改變嗰陣,佢嘅改變幅度會同「誤差值」有一定嘅關係,而且佢對計個輸出嘅參與愈大,佢嘅改變幅度會愈大[39]-個神經網絡會一路計個案一路變,變到誤差值愈嚟愈接近零為止[22][40]。
而除咗確率勾配降下法之外,反向傳播仲有好多其他方法做,詳情可以睇同最佳化(optimization)相關嘅課題[41][42]。
學習演算法[編輯]
用反向傳播算法幫神經網絡學習嘅演算法如下[43][44][45]:
第一步:傳播
由數據嗰度邏一個個案,按照個神經網絡嘅權重同埋個個案嘅輸入值計個神經網絡會俾啲乜嘢輸出值(計
f
(
x
i
)
{\displaystylef(x_{i})}
);
計吓個誤差係幾多(計
(
f
(
x
i
)
−
y
i
)
2
{\displaystyle(f(x_{i})-y_{i})^{2}}
同
C
^
{\displaystyle\textstyle{\hat{C}}}
);
用條式計吓每個權重數值應該要變幾多(計
w
i
j
(
t
+
1
)
{\displaystylew_{ij}(t+1)}
)。
第二步:更新權重值
每一個權重值,佢都會由條式嗰度有一個梯度值(gradient);
每一個權重值嘅改變幅度等如個梯度值乘以
η
{\displaystyle\eta}
-如果
η
{\displaystyle\eta}
係0,噉個神經網絡永遠都唔會變,而如果
η
{\displaystyle\eta}
數值大,噉個神經網絡會變化得好快,所以
η
{\displaystyle\eta}
掌管咗個神經網絡學習有幾快;
將邇柞值「反向傳播」返去個神經網絡嗰度,將每個權重值變成佢嘅新數值(實際更新
w
i
j
{\displaystylew_{ij}}
值);
重複以上步驟,理想嘅係直至誤差值變成0為止,或者係變到一個接受得到嘅程度。
可以睇埋過適。
例子碼
以下係一段用MATLAB(一種程式語言)寫嘅簡單前饋神經網絡嘅源碼[46]:
functionm=neural()
[Attributes,Classifications]=mendez;%由「mendez」嗰度攞數據,「mendez」係個檔案嘅名。
n=2.6;%設個變數做學習率。
nbrOfNodes=8;
nbrOfEpochs=800;
%設矩陣嚟代表啲權重。
W=rand(nbrOfNodes,length(Attributes(1,:)));
U=rand(length(Classifications(1,:)),nbrOfNodes);
m=0;figure;holdon;e=size(Attributes);
%係噉run若干次。
whilem
error=output-outputP#計個誤差值-即係「實際輸出」同「個感知機俾嘅輸出」差幾遠。
weights[0]+=error*input1*a
weights[1]+=error*input2*a
weights[2]+=error*bias*a
#按誤差值計吓,每個權重值要改變幾多。
print(x,"or",y,"is :",outputP)#將輸入值同輸出值show出嚟俾個用家睇。
foriinrange(50):
Perceptron(1,1,1)
Perceptron(1,0,1)
Perceptron(0,1,1)
Perceptron(0,0,0)
#俾柞數據個感知機run好多次。
由呢柞數據睇得出,數據所顯示嘅係一個邏輯或-當「是但一個輸入係1」或者「兩個都係1」嗰陣,個輸出要係「1」,而當「兩個都係0」嗰陣,輸出要係「0」-「輸出係1」if「第一個輸入係1」or「第二個輸入係1」。
#結果係,初頭嗰陣個感知機會犯錯,例如喺其中一個輸入係1另一個係0嗰陣俾0做輸出,但係慢慢學吓學吓,佢就變到識得做邏輯或噉嘅反應。
非監督式學習[編輯]
聚類分析嘅圖解;每一點代表一個個案,每個個案喺用X軸同Y軸分別代表嗰兩個變數上都各有其數值,由幅圖睇得出,啲個案明顯可以按呢兩個變數分三大類。
內文:非監督式學習
喺非監督式學習(unsupervisedlearning)當中,個研究者會有一柞數據
x
{\displaystyle{\displaystyle\textstylex}}
俾個神經網絡處理,但係同監督式學習唔同嘅係,個研究者唔會明確噉話俾個神經網絡知佢做嘅預測係啱定錯-所以就嗌做「非監督」式學習[67][68]。
非監督式學習最常見嘅用途係攞嚟做聚類分析(clusteranalysis)。
舉個例子說明,家吓有個生態學家想研究吓一個區域入面嗰啲樹傾向聚集喺啲乜嘢位置,佢可以坐直昇機或者用人造衛星影啲相返嚟,再記錄嗮嗰個區域入面每樖樹生喺邊個位(呢個過程會嘥唔少時間),會得出一個數據庫,記錄嗮每樖樹喺X軸同Y軸嗰度嘅坐標。
跟手佢就可能會想睇吓啲樹會唔會傾向聚集喺個區域入面嘅某啲位置(呢啲資訊可能有助佢保育一啲靠樹生存嘅動物)。
如果有某一柞嘅樹彼此之間距離近,又同佢哋以外嘅樹距離遠,噉就可以話佢係「聚埋一羣」,而聚類分析就正係用嚟分析一柞個案入面會唔會有幾羣個體係「彼此之間距離近,同羣以外嘅個體距離遠」嘅[69][70]。
喺呢次研究入面,個生態學家唔會事先知道啲樹要點分羣,所以用唔到監督式學習[68],但係佢可以運用非監督式學習嚟整一個神經網絡幫佢手做呢個聚類分析。
一個簡單嘅可能做法係好似以下噉:將浸輸入層設做「樖樹嘅坐標」,等啲隱藏層用每一樖樹嘅數據逐個逐個計吓,而浸輸出層就有(例如)5粒人工神經細胞,喺每樖樹嘅運算之後都會有一粒輸出層神經細胞嘅啟動程度係大過其他嘅-所以個生態學家就可以按「喺將嗰樖樹嘅數據入咗落去個神經網絡度之後,邊粒輸出層神經細胞嘅啟動程度最大」為準則將啲樹分做聚類,而且佢仲有得按照分類結果分得好唔好,嚟計吓使唔使改變吓個神經網絡嗰啲參數-個神經網絡喺度進行學習。
除咗噉,電腦科學界仲有第啲更加精良嘅演算法嚟做非監督式學習[68][70]。
例子碼
想像一個做聚類分析,用四個變數將啲個案分做三類嘅神經網絡:個神經網絡有四個輸入同三個輸出;每個個案喺嗰四個變數上都會各有一個數值,而當用呢個四個數值做個神經網絡嘅輸入嗰陣,會令個神經網絡嗰三粒輸出細胞都各有一定程度嘅啟動(每粒細胞都有一個向量代表呢個啟動)-跟住視乎嗰個個案引致邊粒輸出細胞有最勁嘅啟動,就可以將個個案歸做三個類嘅其中一個,同埋更新啲權重嘅數值。
以下係個神經網絡嘅Python源碼[71]:
#指明要用邊柞指令。
importnumpyasnp
importpandasaspd
#由網站嗰度讀取數據集,將柞數據集擺喺ds嗰度。
ds會係一個表,列嗮每個個案同埋佢喺變數上嘅數值出嚟。
url="https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
names=['sepallength','sepalwidth','petallength','petalwidth','class']
ds=pd.read_csv(url,names=names)
ds.head()
#整柞list,並且將所有數字normalize,每個list包含咗所有個案喺一個變數上嘅數值,個數據集有四個用嚟將個案分類嘅變數,所以有四個list。
list_sl=[]
list_sw=[]
list_pl=[]
list_pw=[]
forslinds['sepallength']:
sl=(sl-min(ds['sepallength']))/(max(ds['sepallength'])-min(ds['sepallength']))
list_sl.append(sl)
forswinds['sepalwidth']:
sw=(sw-min(ds['sepalwidth']))/(max(ds['sepalwidth'])-min(ds['sepalwidth']))
list_sw.append(sw)
forplinds['petallength']:
pl=(pl-min(ds['petallength']))/(max(ds['petallength'])-min(ds['petallength']))
list_pl.append(pl)
forpwinds['petalwidth']:
pw=(pw-min(ds['petalwidth']))/(max(ds['petalwidth'])-min(ds['petalwidth']))
list_pw.append(pw)
#X係一個array,當中每個組成元素係一個個案喺四個變數上嘅數值(normalize咗)。
X=np.array(list(zip(list_sl,list_sw,list_pl,list_pw)))
#設定啲參數
nc=3#要將啲個案分做三類
W=[]#儲住柞每粒輸出層細胞嘅權重嘅向量
M=len(X)#有幾多個個案
N=len(X[0])#有幾多個變數
#呢個子程式會俾出隨機產生嘅數字,用嚟初始化嗰陣產生柞權重值。
defget_weights():
y=np.random.random()*(2.0/np.sqrt(M))
return0.5-(1/np.sqrt(M))+y
#產生權重,並且將柞數值放入去W嗰度。
foriinrange(nc):#三粒輸出層細胞,所以W有三個元件。
W.append(list())
forjinrange(N):#每粒輸出細胞又有四個子元件做權重,即係話每當個網絡讀到一個個案喺四個變數上嘅數值嗰時,三粒輸出層細胞都會分別有若干程度嘅啟動。
W[i].append(get_weights()*0.5)
#一個子程式;呢個子程式會計出兩個點(向量)之間嘅距離。
呢個子程式會俾個距離做輸出。
defdistance(w,x):
r=0
foriinrange(len(w)):
r=r+(w[i]-x[i])*(w[i]-x[i])
r=np.sqrt(r)
returnr
#又一個子程式;呢個子程式會搵出x入面邊個向量同W呢個array當中嘅向量最接近。
defFindclosest(W,x):
wm=W[0]
r=distance(wm,x)
i=0
i_n=i
forwinW:
ifdistance(w,x)
forkinrange(10):
forxinX:#ForX入面每個元件x,搵出W入面邊個最近x,跟住...
wm=Findclosest(W,x)[0]
foriinrange(len(wm)):#再調較柞權重
wm[i]=wm[i]+la*(x[i]-wm[i])
la=la-dla
Data=list()#整個叫「data」嘅新list出嚟。
foriinrange(len(W)):
Data.append(list())
dfList=ds['class'].as_matrix()
DS=list()#整個叫「DS」嘅新list出嚟。
呢個list每個元件係一個個案由個神經網絡分嘅類同埋佢(根據個數據集)個實際類。
i=0
forxinX:#ForX入面每個元件,做以下嘅指令。
i_n=Findclosest(W,x)[1]
Data[i_n].append(x)
DS.append([i_n,dfList[i]])
i=i+1
print(DS)#Show個DS出嚟睇。
結果係,個神經網絡做嘅分類同數據集嘅分類好一致。
強化學習[編輯]
強化學習過程嘅圖解;一個運用神經網絡解決問題嘅機械會自己同個環境互動,再睇自己嘅行動會帶嚟啲乜嘢回輸。
內文:強化學習
強化學習(reinforcementlearning)係機械學習嘅一種,喺機械人設計上好有用。
喺神經網絡強化學習嘅過程裏面,個研究者唔會有個數據庫
x
{\displaystyle{\displaystyle\textstylex}}
俾個神經網絡睇同跟住學,而係俾個神經網絡係噉同佢周圍嘅環境互動:喺每一個時間點
t
{\displaystyle{\displaystyle\textstylet}}
,個神經網絡(agent)會產生一個用輸出嘅數字表示嘅動作(action;例如用「0」代表「企喺度唔郁」同「1」代表「向前行」呀噉),而跟住佢周圍個環境(environment)會俾返一啲回輸(feedback)-簡單啲講就係話返俾個神經網絡聽佢個動作係咪一個好嘅決定(例如個地下有個窿,「向前行」會跌得好痛),然後個網絡會有方法(interpreter)知到呢個結果。
而個神經網絡跟手就會根據呢個回輸計吓,睇吓要點樣改佢嗰啲參數先可以令到下次佢做行動嗰陣得到正面回應嘅機會率高啲-而上述嘅呢個例子就有可能可以攞嚟教一個機械人行路[72][73][74]。
人工神經網絡強化學習嘅過程大致可以想像成噉[75][76]:
個神經網絡俾出一個輸出,
a
{\displaystylea}
;
個環境會根據佢嘅內部運作法則決定回輸,
r
(
i
,
a
,
j
)
{\displaystyler(i,a,j)}
,係乜(
i
{\displaystylei}
係現時狀態,而
j
{\displaystylej}
係下一個狀態);
個神經網絡會根據
r
(
i
,
a
,
j
)
{\displaystyler(i,a,j)}
決定係咪要修改自己內部嘅參數同埋(如果要)要點改;
返去步驟1。
個神經網絡內部要有一個演算法,個演算法要用
r
(
i
,
a
,
j
)
{\displaystyler(i,a,j)}
做輸入,然後輸出「內部參數要變幾多」。
Q-學習[編輯]
內文:Q-學習
Q-學習(Q-learning)係強化學習上常用嘅一種演算法,用Q-學習嘅人工神經網絡會儲住一個數據庫,個數據庫包含咗一大柞「狀態-行動」嘅配對,每當有個行動喺某個狀態之下引致正面結果嗰陣,相應嘅狀態-行動配對嘅數值會上升,反之就下降-而當個神經網絡撞到類似狀態嗰陣,就可以靠「邊個行動同呢個狀態嘅配對數值最大」做準則決定採取乜嘢行動。
Q-學習嘅核心係以下嘅更新算式[75][77]:
Q
(
i
,
a
)
←
[
1
−
L
]
Q
(
i
,
a
)
+
L
[
f
e
e
d
b
a
c
k
]
{\displaystyleQ(i,a)\leftarrow[1-L]Q(i,a)+L[feedback]}
,當中
Q
(
i
,
a
)
{\displaystyleQ(i,a)}
係狀態
i
{\displaystylei}
同行動
a
{\displaystylea}
之間嘅配對值;
L
{\displaystyleL}
係學習率;
f
e
e
d
b
a
c
k
{\displaystylefeedback}
係環境所俾嘅回輸,數值視乎
r
(
i
,
a
,
j
)
{\displaystyler(i,a,j)}
等因素而定。
呢條式表達嘅係,喺每一個時間點,
Q
(
i
,
a
)
{\displaystyleQ(i,a)}
都有可能改變數值,而佢新數值由「佢之前個數值」同「環境所俾嘅回輸」話事,學習率就主宰咗「環境所俾嘅回輸」對佢有幾大影響力。
一個簡單-得兩個行動同兩個狀態-嘅Q-學習神經網絡嘅演算法例子大致上如下(個網絡可以想像成有兩層,每層兩粒神經細胞)[75]:
初始化,將行動1粒神經細胞嘅權重,
w
(
1
,
1
)
{\displaystylew(1,1)}
同
w
(
2
,
1
)
{\displaystylew(2,1)}
(兩個權重分別代表嗰粒細胞同輸入層嗰兩粒細胞嘅連繫),設做隨機揀嘅數值,而行動2嘅相應神經細胞,
w
(
1
,
2
)
{\displaystylew(1,2)}
同
w
(
2
,
2
)
{\displaystylew(2,2)}
,設做同一數值,以是但一個狀態開始系統模擬,「發生咗幾多次狀態改變」(
k
{\displaystylek}
)設做0,將
k
{\displaystylek}
嘅最大值(
k
m
a
x
{\displaystylek_{max}}
)設做一個大嘅數值。
i
{\displaystylei}
係現時狀態,
j
{\displaystylej}
就係下一個狀態。
評估每個Q-因素(Q-factor;狀態-行動配對嘅數值)。
更新啲權重,等下次再撞到
i
{\displaystylei}
噉嘅狀態嗰陣,個網絡比較有機會作出能夠帶嚟回報嘅行動。
將
k
{\displaystylek}
數值提升1,除非
k
{\displaystylek}
大過或者等如
k
m
a
x
{\displaystylek_{max}}
,返去步驟2。
進階變種[編輯]
睇埋:人工神經網絡種類一覽
學界有好多進階嘅神經網絡類型。
呢啲網絡類型複雜過普通嘅前饋同遞迴網絡,好多時每種都係專門攞嚟處理某啲特定類型嘅問題嘅,好似係[78][79][80]:
圖像處理[編輯]
卷積神經網絡嘅抽象圖解;隱藏層(藍色嗰柞)嘅一粒細胞負責處理輸入層(紅色嗰浸)當中嘅一橛,唔會同佢負責嗰橛以外嘅部份有連繫。
睇埋:卷積神經網絡
人工神經網絡可以攞嚟幫電腦處理傳統演算法好難搞得掂嘅圖像。
想像以下一個噉嘅神經網絡:佢係一個卷積神經網絡(convolutionalneuralnetwork;一種處理圖像上常用嘅神經網絡),輸入層有若干粒細胞,若干浸隱藏層,同一浸輸出層;輸入層每粒細胞代表咗一個像素(幅圖片上面嘅某一個點),第一浸隱藏層就每粒細胞相應輸入層嘅某一橛仔-例如第一粒隱藏層細胞負責處理輸入層最左上角嗰3x3粒像素大嘅一橛仔(令到個網絡能夠處理啲解像度高嘅圖像),而最後輸出層有10粒細胞,每一粒輸出層細胞代表咗一個類別;個神經網絡有個演算法能夠由一幅圖片嗰度讀取輸入,所以每當佢讀到一幅圖片嗰陣,佢嘅神經細胞會跟住輸入層嘅啟動,最後輸出層嘅規律就可能提供到「幅圖屬於邊個類別」嘅資訊[81][82][83]。
喺電腦入面,一幅圖片可以用數字代表:一幅圖片由好多粒細點(像素)組成,每粒細點都有特定嘅色水;用三原色模式想像嘅話,任何色水都可以由紅、綠、同藍呢三隻原色砌出嚟,所以一個點嘅色水可以用
[
r
,
g
,
b
]
{\displaystyle[r,g,b]}
噉嘅陣列代表-當中
r
{\displaystyler}
表示嗰一點嘅紅色量,
g
{\displaystyleg}
代表嗰點嘅綠色量,而
b
{\displaystyleb}
代表嗰點嘅藍色量,而一幅圖片喺部電腦內部可以用類似噉嘅陣列代表[81][84][85]:
[
[
207
,
229
,
78
]
,
[
141
,
159
,
138
]
,
[
146
,
109
,
81
]
,
.
.
.
]
{\displaystyle[[207,229,78],[141,159,138],[146,109,81],...]}
,表示第一個點有207個單位咁多嘅紅、229咁多個單位嘅綠、同78個單位咁多嘅藍,如此類推。
例演算法
一個可以攞嚟將圖片分類嘅卷積神經網絡演算法(監督式學習)大致上如下[86][87]:
指定「有啲乜嘢類別」同埋啲輸入嘅圖片有幾多像素等嘅資訊;
由目標位置嗰度讀取圖片數據,得到每幅圖片嘅相應陣列,而且每幅圖片都要有個已知嘅類別;
做一啲事前處理(preprocessing),等啲圖片方便由神經網絡處理;
建立一個卷積神經網絡,輸入層嘅細胞係圖片每粒像素嘅色水,而輸出層就係幅圖片「屬乜嘢類別」;
重複噉做監督式學習嘅基本過程(俾個網絡計出佢嘅答案,將佢嘅答案同正確答案相比,再按結果更改柞權重)。
最後如果順利嘅話,呢個神經網絡就會曉分一幅圖片到底係(例如)屬於A類定B類。
深度學習[編輯]
一個有3粒輸入層細胞同4粒隱藏層細胞嘅RBM;一個深度信念網絡內含多個噉嘅結構。
睇埋:深度學習同埋深度信念網絡
喺廿一世紀嘅社會,互聯網嘅發展令到資訊嘅傳播變得好快,極大量嘅數據喺互聯網上流動,呢啲數據可以好有用,但係因為量大,所以用傳統嘅數據分析法好難處理,而大數據(BigData)就係一門廿一世紀初嘅新興領域,專門研究點樣做自動化嘅數據分析同埋用呢啲分析方法嚟到由大量嘅數據當中提取有用嘅資訊,而人工神經網絡-尤其係深度信念網絡(deepbeliefnetwork)-就係大數據處理上常用嘅一種工具[88][89]。
深度信念網絡結構係噉嘅:一個深度信念網絡由多個受限玻茲曼機(restrictedBoltzmannmachine;RBM)再加一個前饋神經網絡組成;一個RBM得一浸隱藏層,而隱藏層細胞之間冇任何相互連繫,但曉將佢哋嘅啟動回輸返去輸入層嗰度;一個受緊訓練嘅深度信念網絡會以第一層RBM嘅隱藏層細胞做第二層嗰個RBM嘅輸入,再用演算法做學習嘅過程[90]。
例演算法
一個深度信念網絡嘅演算法大致上如下[91]:
初始化-指定好啲參數同埋隨機設定權重值等等;
按照輸入層細胞嘅啟動同權重,計隱藏層細胞嘅啟動程度;
按照隱藏層細胞嘅啟動同權重,計輸入層細胞嘅啟動程度;
按重構誤差更新權重;
重複上述工序,直至誤差細過某個值為止。
喺一個RBM完成學習之後,個程式會「疊」另一個RBM喺上面-攞之前嗰個RBM嘅隱藏層做新嗰個RBM嘅輸入層,再重複上面嘅步驟,直至成個深度信念網絡有若干層RBM為止[92]。
研究表明咗,深度信念網絡能夠有效噉處理一啲冇事先標籤好嘅數據-例如係喺互聯網上流動、冇人幫手事先執靚嘅數據噉[93]。
長短期記憶[編輯]
睇埋:記憶同埋長短期記憶
長短期記憶(longshort-termmemory,LSTM)係一種能夠記住長期記憶嘅遞迴神經網絡:一般嘅遞迴網絡曉處理連串性嘅資訊,例如係用自然語言寫嘅句子噉,但現實世界嘅解難好多時都要求一個個體能夠睇得出時間上差距大嘅因同果,例如要完全了解一個故仔嘅結局,可能要諗返起故仔開頭嘅情節。
事實證明咗,普通嘅遞迴神經網絡好多時都難以應付呢啲問題[94]。
LSTM網絡特徵係內置一啲門控神經細胞(gatedneuron),呢啲特殊嘅人工神經細胞有「門」(gate),曉決定要儲起乜嘢資訊同埋幾時讀取、寫入、或者刪除資訊:喺LSTM網絡嘅碼當中,會有演算法幫門控細胞決定幾時要改變自身嘅啟動程度;相比之下,一般嘅遞迴神經網絡冇能力控制現存嘅過去資訊會唔會喺新資訊嚟到嗰陣被替換。
呢個特點令到LSTM網絡有能力儲資訊儲好耐,而且有能力由輸入嘅數值當中搵出時間上相距不定嘅因同果[94][95]。
一個基本LSTM入面嘅一粒細胞;方格代表成粒細胞,
x
t
{\displaystylex_{t}}
係喺時間點
t
{\displaystylet}
嘅輸入,而
h
t
{\displaystyleh_{t}}
係粒細胞喺時間點
t
{\displaystylet}
嘅輸出,細胞A有箭咀指去細胞B表示A能夠影響B,而交叉就代表「做嘢」。
一粒LSTM嘅人工神經細胞除咗主細胞(
c
{\displaystylec}
)之外仲有幾個元件[94]:
輸出門(outputgate;
o
{\displaystyleo}
)、
輸入門(inputgate;
i
{\displaystylei}
)、同埋
遺忘門(forgetgate;
f
{\displaystylef}
)。
呢三道門當中每一道都可以當係一粒子細胞噉嚟睇,有各自嘅啟動程度值,會受到第啲人工神經細胞影響,決定自身嘅啟動程度,再按自身嘅啟動程度睇吓係咪要「做嘢」。
輸出門「做嘢」嘅話會左右甚至封鎖粒細胞嘅輸出,輸入門「做嘢」嘅話會左右甚至封鎖粒細胞嘅輸入,而遺忘門「做嘢」嗰陣就可以完全刪除粒主細胞入面嘅資訊-即係重設粒主細胞嘅啟動值或者權重等[96][97]。
研究表明咗,LSTM網絡可以用嚟教電腦做一啲要求長期記憶嘅作業,例如係閱讀理解呀噉[94][98]。
應用[編輯]
人工神經網絡能夠模擬輸入同輸出之間一啲非線性(non-linear)嘅關係,所以好多時都能夠有效噉對現實世界嘅現象做出預測。
比較普通嘅前饋同遞迴神經網絡都有好廣泛嘅用途:
醫療診斷:喺醫療上,人工神經網絡能夠幫手對病人做診斷。
曉寫程式嘅醫療人員可以製作一啲人工神經網絡,輸入設做「病徵」,而輸出設做「診斷」(兩者都用某啲數字代表),再用已有嘅醫療數據俾啲網絡做監督式學習,就會造出能夠基於病徵預測「診斷應該係乜」嘅網絡。
事實係,廿一世紀初嘅學界經已有曉有效噉基於病人資訊診斷肺癌[99]、大腸癌[100]、同前列腺癌[101]等病症嘅神經網絡。
有啲神經網絡仲曉靠有關細胞形狀嘅數據嚟分辨邊啲癌細胞係比較惡性(大機會散佈去身體第啲部份)嘅[102][103]。
電腦保安:電腦保安係一個研究點樣確保電腦同互聯網安全嘅領域,包含咗對電腦病毒等惡意程式嘅應付同埋探測黑客等等嘅課題。
人工神經網絡嘅技術可以用嚟教電腦分辨邊啲程式係惡意程式[104]、搵出搞破壞嘅人(例如係黑客)嘅戶口[105]、探測邊啲網址具有威脅性[106]、同埋探測信用卡詐騙呀噉[107];例:用一個監督式學習嘅神經網絡,輸入設做個網站嘅特徵(「有冇嘗試攞個瀏覽者嘅IP」、「有冇彈視窗出嚟」、或者「有冇啲連咗去已知惡意網站嘅連結」等等)而輸出設做「係咪惡意網站」[105]。
遊戲控制:有遊戲人工智能方面嘅研究者指出,人工神經網絡能夠相當準確噉預測一個玩家有幾鍾意隻遊戲(遊戲特性做網絡輸入,玩家鍾意程度做輸出);於是佢哋就提議一個做法,將一隻電子遊戲嘅遊戲程式編寫成喺每一個時間點,都會用一個神經網絡按遊戲參數估計玩家有幾享受隻遊戲,並且計算「享受度」隨「遊戲參數」嘅偏導數(得知享受度會點樣隨遊戲參數變化),然後個程式會按呢份資訊調整隻遊戲;實驗結果顯示,噉嘅做法能夠提升一隻遊戲嘅玩家享受程度[108]。
結構分析:喺建築學同結構工程學上,設計一棟建築物嗰陣需要分析吓棟嘢能唔能夠穩陣噉企到喺度,而建築師等嘅人員可以將有關過去嘅建築物嘅數據攞嚟幫個神經網絡做監督式學習(例:輸入做「棟建築物嘅形狀同幾何特徵」等嘅變數,而輸出就設做「棟嘢係五十年內會冧嘅機會率」),用嚟預測一楝建築物有幾穩陣[109][110][111]。
其他:
教電腦玩遊戲[112];
圖形辨識[113][114];
金融[115];
機械翻譯[116]。
...等等。
批評[編輯]
「黑盒」問題[編輯]
睇埋:解釋得嘅AI
有好多神經網絡相關領域嘅學者批評神經網絡係「黑盒」(blackbox)[117]。
人類用個腦諗完嘢解決完問題之後,曉將自己嘅思考過程口頭報告返出嚟。
但係一個神經網絡唔會識做呢樣嘢,唔會話到俾研究者聽佢經過啲乜嘢思考過程先能夠達到佢所俾嘅輸出。
所以有人將神經網絡比喻做一個黑盒-就算佢嘅輸出係準確嘅都好,個研究者都淨係知個神經網絡嘅輸入同輸出,冇辦法知道當中嘅思考過程。
即係話對於「個神經網絡俾嘅答案點解係啱」呢條問題,目前唯一嘅答覆係「因為一部醒過人類嘅系統俾咗個答案出嚟」,雖然呢點唔損害神經網絡喺實用上預測現象嘅能力,但噉表示神經網絡嘅可解釋度(explainability)低得好交關,令好多學者都覺得難以接受[118][119][120]。
因為噉,有好多科學家都致力研究點樣先可以拆解一個經歷咗訓練、做緊準確預測嘅神經網絡[117][121]。
喺科學同工程學上,一個黑盒系統嘅輸入同輸出之間有已知嘅關係,問題係研究者唔知佢內部點樣運作,點樣由輸入產生輸出[122]。
理論特性[編輯]
雖然話人工神經網絡成個諗頭係建基於生物神經網絡嘅,但查實佢喺好多地方都同生物神經網絡好唔同,例如[17]:
拓撲特徵:一個普通嘅人工神經網絡會分開做若干層(同一層嘅人工神經細胞彼此之間冇任何連繫),而且做起運算上嚟好多時都係逐層逐層噉做嘅,但生物嘅神經網絡通常都冇明顯分層,而且做起運算上嚟係成個網絡各部份同時間噉做嘅。
有關唔分層嘅神經網絡,可以睇霍菲特網絡(Hopfieldnetwork)[17]。
速度:喺生物神經網絡當中,訊號嘅速度唔淨只影響個網絡嘅運算速度,仲可以影響所傳送嘅資訊嘅內容,例如係人類嘅眼噉,眼嘅感光神經細胞會向個腦塊視覺皮層傳訊號,話俾個腦知睇到啲乜,而神經科學上嘅研究表明咗,一粒感光神經細胞射訊號嘅頻率係用嚟俾個腦知道光嘅強度嘅(詳情可以睇神經編碼);相比之下,一個普通嘅人工神經網絡之中訊號嘅速度同頻率淨係會影響個網絡嘅運算速度[123]。
容錯:喺生物神經網絡當中,一份資訊係儲多咗幾份嘅,所以個網絡能夠容許訊號傳播上嘅出錯,就算傳訊號嘅過程裏面個訊號走咗少少樣,都唔會造成記憶損失,而且生物神經網絡冇「中央」部份,就算個腦某部份受損,個腦嘅第啲部份好多時都有能力自己改變等自己可以做埋受損嗰部份本嚟做嘅工作。
相比之下,人工神經網絡一般冇呢啲能力[124]。
反向傳播:生物神經網絡並冇任何類似反向傳播嘅機制[125]。
因為呢啲原因,科學界普遍質疑到底人工神經網絡可唔可以喺人工智能等嘅領域上攞嚟模仿人類同第啲動物所展現嘅智能。
硬件問題[編輯]
廿一世紀初,大同有效嘅人工神經網絡要求相當多嘅運算資源[126]。
動物嘅腦嘅能量效率好高,例如普通大人嘅腦平均用大約20瓦嘅能量;相比之下,廿一世紀初嘅GPU閒閒地要用幾百瓦嘅能量,而且能量流失好勁,行起上嚟產生嘅熱可以令塊GPU熱到攝氏50至80度(相對於人腦能夠維持喺攝氏37至38度左右)。
由此可見,廿一世紀初嘅人工神經網絡喺能量嘅使用效率上苲過生物神經網絡好多,而事實係,到咗2019年為止都仲係冇方法用近似生物神經網絡嘅能量效率嘅方法做一個模擬人腦嘅人工神經網絡[17][126]。
有電腦科學家指出,廿一世紀初人工神經網絡之所以會再興起,好大程度上係因為電腦硬件上嘅進步:喺1991至2015年間,GPU嘅運算力提高咗成100萬倍咁多,令到反向傳播算法變成有可能-打前嘅電腦因為運算速度低,可能同一個得幾粒細胞嘅神經網絡做反向傳播都要做幾日咁耐,所以實際應用上根本冇用[127]。
而運算能力上嘅進步令到本嚟要用成幾個月先做完嘅人工神經網絡學習喺幾日之間就做得嗮[126][128]。
簡史[編輯]
法蘭·羅新伯拉特嘅相
睇埋:聯結主義
起源[編輯]
人工神經網絡呢條橋最先係由美國神經科學家和倫·麥扣羅(WarrenSturgisMcCulloch)同邏輯學家華特·畢特斯(WalterPitts)喺1943年提出嘅[129],佢哋基於數學方法同一種叫做閾值邏輯(thresholdlogic)嘅演算法創造咗神經網絡嘅基本計算模型,令到科學界對神經網絡嘅研究分植咗做兩個唔同嘅子領域,一個專係分析大腦裏面嘅生物學過程,而另一個就研究神經網絡可以點樣應用落去人工智能嗰度,正式開展現代人工神經網絡研究[129]。
海伯學習[編輯]
內文:海伯理論
1950年代仲開始有研究者受海伯理論(Hebbiantheory)啟發整人工神經網絡:喺1940年代尾,加拿大心理學家當奴海伯(DonaldO.Hebb)諗咗個假說出嚟描述神經細胞點隨住隻動物進行學習而有所改變,呢個後嚟會演變成所謂嘅海伯理論(Hebbiantheory)。
海伯理論嘅基本原則係,兩粒神經細胞愈係會一齊射神經訊號,就愈係會有強嘅連繫[130],呢個理論後尾演變做描述長期增強作用(long-termpotentiation)嘅模型。
喺1954年,美國有一啲科學家用運算機械去模擬一個跟住海伯定律嚟行嘅神經網絡[131],而呢種嘗試仲有第啲科學家跟住做,確立咗人類用運算機械(好似電腦噉)嚟模擬神經網絡嘅做法[132]。
不過呢個時期嘅人工神經網絡受當時啲電腦嘅運算能力局限:美國心理學家法蘭·羅新伯拉特(FrankRosenblatt)喺1956年創造咗感知機(perceptron)呢個演算法嚟去做模式識別[133],用簡單嘅加減實現咗一個兩層嘅電腦學習網絡。
羅新伯拉特仲用數學符號描述咗啲基本感知機冇嘅迴路,例如係異或(exclusive-orcircuit)迴路噉,呢啲迴路要打後電腦運算能力提高先有得用運算機械實現[134];後尾烏克蘭裔蘇聯數學家阿力斯·伊凡卡諾高(AlexeyIvakhnenko)同佢嘅同事史上首次成功噉整咗個行到嘅多層神經網絡出嚟。
雖然神經網絡學界有呢啲成就,但係因為嗰陣啲電腦運算能力低得滯,搞到好多時啲科學家都冇辦法真係攞部電腦去模擬佢哋啲神經網絡模型,令到對人工神經網絡嘅研究停滯咗成十幾年[135][136]。
反向傳播演算法[編輯]
後嚟喺1975年出現咗個關鍵性嘅進展-反向傳播演算法(backpropagationalgorithm)。
呢個演算法有效噉解決咗異或嘅問題同埋多層神經網絡要點樣訓練嘅問題,令到對神經網絡嘅研究開始復甦[134]。
喺廿世紀80年代中,科學界開始興用分散式並列處理(paralleldistributedprocessing)模型嚟模擬人腦當中嘅過程,呢種模型將人腦當做一個同一時間處理大量資訊嘅物體(而唔係好似電腦噉好多時單一線路處理),而一班美國心理學家詳細噉論述咗點樣將呢種模型用落去用電腦模擬神經活動嗰度[137]。
廿一世紀初[編輯]
打後嘅1990年至2000年代係人工神經網絡受挫同再起嘅時期:當時支援向量機(supportvectormachines)同第啲簡單過神經網絡嘅運算方法喺機械學習(machinelearning;指教機械學嘢嘅領域)上嘅人氣超越咗神經網絡,搞到神經網絡研究又稍微低沉咗一輪,但係喺2000年代尾興起嘅深度學習(deeplearning)又重新激發咗人對神經網絡嘅興趣[138][139]。
到咗2010年代,運算力勁嘅電腦同埋人工智能領域嘅展開令到世界各地嘅科學家都開始睇重神經網絡研究[140]。
神經網絡俾人廣泛噉用嚟解決一啲之前以為係電腦冇可能解到問題,例如係翻譯、視覺、數學上嘅解難甚至乎係藝術創作噉[141][142],仲開始有啲國際比賽俾啲科學家鬥用神經網絡嚟解決難題[143]。
總括嚟講,廿一世紀初嘅神經網絡學界可以話係多姿多采[144]。
註釋[編輯]
↑學習定義上係「根據經驗改變自己嘅行為」。
↑喺實際應用上,一個人工神經網絡嘅權重可以用陣列或者矩陣表示,個陣列或者矩陣每格記住一個
w
{\displaystylew}
值。
↑呢部感知機未有機制改變權重,所以唔會識學習。
↑Foreach係一種控制流程功能;一個foreach會掕住一柞工序,叫個程式攞某柞物件,為(for)柞嘢當中每一件(each)做段工序一次。
相關領域[編輯]
認知科學
神經科學
電腦科學
人工智能
機械學習
機械人學
資訊理論
睇埋[編輯]
通用近似定理
多層感知機
深度學習
腦
神經編碼
演算法
語義網絡
文獻[編輯]
BhadeshiaH.K.D.H.(1999)."'NeuralNetworksinMaterialsScience"(PDF).ISIJInternational.39(10):966–979.doi:10.2355/isijinternational.39.966.
Bishop,Christopher(1995).Neuralnetworksforpatternrecognition.ClarendonPress.ISBN978-0198538493.OCLC33101074.
Borgelt,Christian(2003).Neuro-Fuzzy-Systeme:vondenGrundlagenkünstlicherNeuronalerNetzezurKopplungmitFuzzy-Systemen.Vieweg.ISBN9783528252656.OCLC76538146.
Coolen,A.C.(1998).Abeginner'sguidetothemathematicsofneuralnetworks(PDF).InConceptsforNeuralNetworks(pp.13-70).Springer,London.
Cybenko,G.V.(2006)."ApproximationbySuperpositionsofaSigmoidalfunction".InvanSchuppen,JanH.(ed.).MathematicsofControl,Signals,andSystems.SpringerInternational.pp.303–314.
Dewdney,A.K.(1997).Yes,wehavenoneutrons:aneye-openingtourthroughthetwistsandturnsofbadscience.NewYork:Wiley.ISBN9780471108061.OCLC35558945.
Duda,RichardO.;Hart,PeterElliot;Stork,DavidG.(2001).Patternclassification(2ed.).Wiley.ISBN978-0471056690.OCLC41347061.
Egmont-Petersen,M.;deRidder,D.;Handels,H.(2002)."Imageprocessingwithneuralnetworks–areview".PatternRecognition.35(10):2279–2301.CiteSeerX10.1.1.21.5444.doi:10.1016/S0031-3203(01)00178-9.
Fahlman,S.;Lebiere,C(1991)."TheCascade-CorrelationLearningArchitecture"(PDF).
createdforNationalScienceFoundation,ContractNumberEET-8716324,andDefenseAdvancedResearchProjectsAgency(DOD),ARPAOrderNo.4976underContractF33615-87-C-1499.
Gurney,Kevin(1997).Anintroductiontoneuralnetworks.UCLPress.ISBN978-1857286731.OCLC37875698.
Haykin,SimonS.(1999).Neuralnetworks:acomprehensivefoundation.PrenticeHall.ISBN978-0132733502.OCLC38908586.
Hertz,J.;Palmer,RichardG.;Krogh,AndersS.(1991).Introductiontothetheoryofneuralcomputation.Addison-Wesley.ISBN978-0201515602.OCLC21522159.
Informationtheory,inference,andlearningalgorithms.CambridgeUniversityPress.25September2003.ISBN9780521642989.OCLC52377690.
Krishnan,G.P.,Tadros,T.,Ramyaa,R.,&Bazhenov,M.(2019).Biologicallyinspiredsleepalgorithmforartificialneuralnetworks(PDF).arXivpreprintarXiv:1908.02240.
Kruse,Rudolf;Borgelt,Christian;Klawonn,F.;Moewes,Christian;Steinbrecher,Matthias;Held,Pascal(2013).Computationalintelligence:amethodologicalintroduction.Springer.ISBN9781447150121.OCLC837524179.
Lawrence,Jeanette(1994).Introductiontoneuralnetworks:design,theoryandapplications.CaliforniaScientificSoftware.ISBN978-1883157005.OCLC32179420.
MacKay,David,J.C.(2003).InformationTheory,Inference,andLearningAlgorithms(PDF).CambridgeUniversityPress.ISBN9780521642989.
Masters,Timothy(1994).Signalandimageprocessingwithneuralnetworks:aC++sourcebook.J.Wiley.ISBN978-0471049630.OCLC29877717.
Misra,J.,&Saha,I.(2010).Artificialneuralnetworksinhardware:Asurveyoftwodecadesofprogress(PDF).Neurocomputing,74(1-3),239-255.
Ripley,BrianD.(2007).PatternRecognitionandNeuralNetworks.CambridgeUniversityPress.ISBN978-0-521-71770-0.
Siegelmann,H.T.;Sontag,EduardoD.(1994)."Analogcomputationvianeuralnetworks".TheoreticalComputerScience.131(2):331–360.doi:10.1016/0304-3975(94)90178-3.
Smith,Murray(1993).Neuralnetworksforstatisticalmodeling.VanNostrandReinhold.ISBN978-0442013103.OCLC27145760.
Wasserman,PhilipD.(1993).Advancedmethodsinneuralcomputing.VanNostrandReinhold.ISBN978-0442004613.OCLC27429729.
攷[編輯]
↑"ArtificialNeuralNetworksasModelsofNeuralInformationProcessing|FrontiersResearchTopic".Retrieved2018-02-20.
↑Russell,StuartJ.;Norvig,Peter(2010).ArtificialIntelligenceAModernApproach.PrenticeHall.p.578.
↑Gardner,M.W.,&Dorling,S.R.(1998).Artificialneuralnetworks(themultilayerperceptron)—areviewofapplicationsintheatmosphericsciences.Atmosphericenvironment,32(14-15),2627-2636.
↑Omidvar,O.,&Elliott,D.L.(1997).Neuralsystemsforcontrol.Elsevier.
↑Bryson,ArthurEarl(1969).AppliedOptimalControl:Optimization,EstimationandControl.BlaisdellPublishingCompanyorXeroxCollegePublishing.p.481.
↑TheMachineLearningDictionary-activationlevel互聯網檔案館嘅歸檔,歸檔日期2018年8月26號,..
↑7.07.1Learningprocessofaneuralnetwork互聯網檔案館嘅歸檔,歸檔日期2021年2月11號,..TowardsDataScience.
↑Tahmasebi;Hezarkhani(2012)."Ahybridneuralnetworks-fuzzylogic-geneticalgorithmforgradeestimation".Computers&Geosciences.42:18–27
↑Ivakhnenko,A.G.;GrigorʹevichLapa,Valentin(1967).Cyberneticsandforecastingtechniques.AmericanElsevierPub.Co.
↑AkiraHirose,ShotaroYoshida(2012)."GeneralizationCharacteristicsofComplex-valuedFeedforwardNeuralNetworksinRelationtoSignalCoherence".IEEETNNLS,23(4):541-551.
↑ForrestM.D.(April2015)."SimulationofalcoholactionuponadetailedPurkinjeneuronmodelandasimplersurrogatemodelthatruns>400timesfaster".BMCNeuroscience.16(27):27.
↑Marcus,GaryF.(2001).TheAlgebraicMind:IntegratingConnectionismandCognitiveScience(Learning,Development,andConceptualChange).Cambridge,Massachusetts:MITPress.pp.27–28.
↑Herz,A.V.,Gollisch,T.,Machens,C.K.,&Jaeger,D.(2006).Modelingsingle-neurondynamicsandcomputations:abalanceofdetailandabstraction.Science,314(5796),80-85.
↑Neuringer,M.,Connor,W.E.,Lin,D.S.,Barstad,L.,&Luck,S.(1986).Biochemicalandfunctionaleffectsofprenatalandpostnatalomega3fattyaciddeficiencyonretinaandbraininrhesusmonkeys.ProceedingsoftheNationalAcademyofSciences,83(11),4021-4025.
↑Hubel,D.H.,&Wiesel,T.N.(1962).Receptivefields,binocularinteractionandfunctionalarchitectureinthecat'svisualcortex.TheJournalofphysiology,160(1),106-154.
↑16.016.116.216.316.4Zell,Andreas(1994)."chapter5.2".SimulationNeuronalerNetze[SimulationofNeuralNetworks](inGerman)(1sted.).Addison-Wesley.
↑17.017.117.217.3ThedifferencesbetweenArtificialandBiologicalNeuralNetworks.TowardsDataScience.
↑Hagan,Martin.NeuralNetworkDesign.PWSPublishingCompany.1996.
↑Abbod,MaysamF(2007)."ApplicationofArtificialIntelligencetotheManagementofUrologicalCancer".TheJournalofUrology.178(4):1150–1156.
↑Dawson,ChristianW(1998)."Anartificialneuralnetworkapproachtorainfall-runoffmodelling".HydrologicalSciencesJournal.43(1):47–66.
↑Multi-LayerNeuralNetworkswithSigmoidFunction—DeepLearningforRookies(2).TowardsDataScience.
↑22.022.122.2Schmidhuber,J.(2015)."DeepLearninginNeuralNetworks:AnOverview".NeuralNetworks.61:85–117.
↑Ivakhnenko,A.G.(1973).CyberneticPredictingDevices.CCMInformationCorporation.
↑Wanas,N.,Auda,G.,Kamel,M.S.,&Karray,F.A.K.F.(1998,May).Ontheoptimalnumberofhiddennodesinaneuralnetwork.InIEEECanadianConferenceonElectricalandComputerEngineering(Vol.2,pp.918-921).
↑Auer,Peter;HaraldBurgsteiner;WolfgangMaass(2008)."Alearningruleforverysimpleuniversalapproximatorsconsistingofasinglelayerofperceptrons".NeuralNetworks.21(5):786–795.
↑"2.3.4Single-LayerNetwork".原著喺2018年9月15號歸檔.喺2018年8月30號搵到.
↑ThemostlycompletechartofNeuralNetworks,explained.TowardsDataScience.
↑Siegelmann,H.T.;Sontag,E.D.(1991)."Turingcomputabilitywithneuralnets".Appl.Math.Lett.4(6):77–80.
↑29.029.1Sak,Hasim;Senior,Andrew;Beaufays,Francoise(2014)."LongShort-TermMemoryrecurrentneuralnetworkarchitecturesforlargescaleacousticmodeling互聯網檔案館嘅歸檔,歸檔日期2018年4月24號,."(PDF).
↑30.030.1Firstneuralnetworkforbeginnersexplained(withcode).TowardsDataScience.
↑HowdoArtificialNeuralNetworkslearn?互聯網檔案館嘅歸檔,歸檔日期2018年6月5號,..
↑Haykin,S.S.,Haykin,S.S.,Haykin,S.S.,Elektroingenieur,K.,&Haykin,S.S.(2009).Neuralnetworksandlearningmachines(Vol.3).UpperSaddleRiver:Pearsoneducation.
↑Jain,A.K.,Mao,J.,&Mohiuddin,K.M.(1996).Artificialneuralnetworks:Atutorial.Computer,(3),31-44.
↑Nielsen,MichaelA.(2015)."Chapter6".NeuralNetworksandDeepLearning.
↑Kelley,HenryJ.(1960)."Gradienttheoryofoptimalflightpaths".ARSJournal.30(10):947–954.
↑Mei,Song(2018)."Ameanfieldviewofthelandscapeoftwo-layerneuralnetworks".ProceedingsoftheNationalAcademyofSciences.115(33):E7665–E7671.
↑Dreyfus,Stuart(1962)."Thenumericalsolutionofvariationalproblems".JournalofMathematicalAnalysisandApplications.5(1):30–45.
↑Rumelhart,DavidE.;Hinton,GeoffreyE.;Williams,RonaldJ.(1986)."Learningrepresentationsbyback-propagatingerrors".Nature.323(6088):533–536.
↑Dreyfus,Stuart(1973)."Thecomputationalsolutionofoptimalcontrolproblemswithtimelag".IEEETransactionsonAutomaticControl.18(4):383–385.
↑Dreyfus,StuartE.(1990-09-01)."Artificialneuralnetworks,backpropagation,andtheKelley-Brysongradientprocedure".JournalofGuidance,Control,andDynamics.13(5):926–928.
↑Huang,Guang-Bin;Zhu,Qin-Yu;Siew,Chee-Kheong(2006)."Extremelearningmachine:theoryandapplications".Neurocomputing.70(1):489–501.
↑Widrow,Bernard;etal.(2013)."Theno-propalgorithm:Anewlearningalgorithmformultilayerneuralnetworks".NeuralNetworks.37:182–188.
↑Werbos,PaulJ.(1994).TheRootsofBackpropagation.FromOrderedDerivativestoNeuralNetworksandPoliticalForecasting.NewYork,NY:JohnWiley&Sons,Inc.
↑EijiMizutani,StuartDreyfus,KenichiNishio(2000).OnderivationofMLPbackpropagationfromtheKelley-Brysonoptimal-controlgradientformulaanditsapplication.ProceedingsoftheIEEEInternationalJointConferenceonNeuralNetworks(IJCNN2000),ComoItaly,July2000.
↑ArthurE.Bryson(1961,April).Agradientmethodforoptimizingmulti-stageallocationprocesses.InProceedingsoftheHarvardUniv.Symposiumondigitalcomputersandtheirapplications.
↑Averysimpleandintuitiveneuralnetworkimplementation.MathWorks.
↑47.047.1WhatistheDifferenceBetweenaBatchandanEpochinaNeuralNetwork?互聯網檔案館嘅歸檔,歸檔日期2019年6月20號,..
↑UnderstandingNeuralNetworkBatchTraining:ATutorial互聯網檔案館嘅歸檔,歸檔日期2019年6月20號,..
↑HowtoConfiguretheLearningRateHyperparameterWhenTrainingDeepLearningNeuralNetworks互聯網檔案館嘅歸檔,歸檔日期2019年6月20號,..
↑Hwang,S.K.J.(1988).Analgebraicprojectionanalysisforoptimalhiddenunitssizeandlearningratesinback-propagationlearning.InIEEE...InternationalConferenceonNeuralNetworks(Vol.1).SOSPrinting.
↑Reed,R.,&MarksII,R.J.(1999).Neuralsmithing:supervisedlearninginfeedforwardartificialneuralnetworks.MitPress.p.72.
↑52.052.152.252.3Zeiler,M.D.(2012).ADADELTA:anadaptivelearningratemethod.arXivpreprintarXiv:1212.5701.
↑Li,Y.;Fu,Y.;Li,H.;Zhang,S.W.(1June2009).TheImprovedTrainingAlgorithmofBackPropagationNeuralNetworkwithSelf-adaptiveLearningRate.2009InternationalConferenceonComputationalIntelligenceandNaturalComputing.1.pp.73–76.
↑D.E.Rumelhart,G.E.Hinton,andR.J.Williams,“Learningrepresentationsbyback-propagatingerrors,”Nature,vol.323,pp.533–536,1986.
↑55.055.1Bottou,Léon(1998)."OnlineAlgorithmsandStochasticApproximations".OnlineLearningandNeuralNetworks互聯網檔案館嘅歸檔,歸檔日期2018年9月1號,..CambridgeUniversityPress.
↑WHATISNEURALNETWORKPRUNINGANDWHYISITIMPORTANTTODAY?.
↑Molchanov,P.,Tyree,S.,Karras,T.,Aila,T.,&Kautz,J.(2016).Pruningconvolutionalneuralnetworksforresourceefficientinference.arXivpreprintarXiv:1611.06440.
↑Pruningdeepneuralnetworkstomakethemfastandsmall.
↑59.059.159.2Ojha,VarunKumar;Abraham,Ajith;Snášel,Václav(2017-04-01)."Metaheuristicdesignoffeedforwardneuralnetworks:Areviewoftwodecadesofresearch".EngineeringApplicationsofArtificialIntelligence.60:97–116.
↑TingQin,etal."AlearningalgorithmofCMACbasedonRLS."NeuralProcessingLetters19.1(2004):49–61.
↑M.R.SmithandT.Martinez(2011)."ImprovingClassificationAccuracybyIdentifyingandRemovingInstancesthatShouldBeMisclassified".ProceedingsofInternationalJointConferenceonNeuralNetworks(IJCNN2011).pp.2690–2697.
↑Looney,C.G.(1997).Patternrecognitionusingneuralnetworks:theoryandalgorithmsforengineersandscientists(pp.171-172).NewYork:OxfordUniversityPress.
↑Tu,J.V.(1996).Advantagesanddisadvantagesofusingartificialneuralnetworksversuslogisticregressionforpredictingmedicaloutcomes.Journalofclinicalepidemiology,49(11),1225-1231.
↑CancerDetection-MATLABExample[失咗效嘅鏈].
↑Menéndez,L.Á.,deCosJuez,F.J.,Lasheras,F.S.,&Riesgo,J.Á.(2010).Artificialneuralnetworksappliedtocancerdetectioninabreastscreeningprogramme.MathematicalandComputerModelling,52(7-8),983-991.
↑Milani,C.,&Jadavji,N.M.(2017).Solvingcancer:Theuseofartificialneuralnetworksincancerdiagnosisandtreatment.JournalofYoungInvestigators,33(4).
↑IntroductiontoUnsupervisedLearning互聯網檔案館嘅歸檔,歸檔日期2019年6月22號,..
↑68.068.168.2UnsupervisedLearningandDataClustering.TowardsDataScience.
↑Unsupervisedlearning-MathWorks.
↑70.070.1Dostál,P.,&Pokorný,P.(2009).Clusteranalysisandneuralnetwork.In17thAnnualConferenceProceedingsonTechnicalComputingPrague(pp.131-57).
↑NeuralNetworkforClusteringinPython互聯網檔案館嘅歸檔,歸檔日期2019年6月22號,..
↑Dominic,S.;Das,R.;Whitley,D.;Anderson,C.(July1991)."Geneticreinforcementlearningforneuralnetworks".IJCNN-91-SeattleInternationalJointConferenceonNeuralNetworks.IJCNN-91-SeattleInternationalJointConferenceonNeuralNetworks.Seattle,Washington,USA:IEEE.
↑Hoskins,J.C.;Himmelblau,D.M.(1992)."Processcontrolviaartificialneuralnetworksandreinforcementlearning".Computers&ChemicalEngineering.16(4):241–251.
↑Bertsekas,D.P.;Tsitsiklis,J.N.(1996).Neuro-dynamicprogramming.AthenaScientific.p.512.
↑75.075.175.2NEURALNETWORKSANDREINFORCEMENTLEARNING互聯網檔案館嘅歸檔,歸檔日期2018年10月24號,.(PDF).
↑Miller,W.T.,Werbos,P.J.,&Sutton,R.S.(Eds.).(1995).Neuralnetworksforcontrol.MITpress.
↑Tsitsiklis,J.,(1994),'AsynchronousStochasticApproximationandQ-learning.MachineLearning'.
↑Sengupta,Nandini;Sahidullah,Md;Saha,Goutam(August2016)."Lungsoundclassificationusingcepstral-basedstatisticalfeatures".ComputersinBiologyandMedicine.75(1):118–129.
↑Fukushima,K.(1980)."Neocognitron:Aself-organizingneuralnetworkmodelforamechanismofpatternrecognitionunaffectedbyshiftinposition".Biol.Cybern.36(4):193–202.
↑Ran,Lingyan;Zhang,Yanning;Zhang,Qilin;Yang,Tao(12June2017)."ConvolutionalNeuralNetwork-BasedRobotNavigationUsingUncalibratedSphericalImages".Sensors.17(6):1341.
↑81.081.1ImageClassificationusingDeepNeuralNetworks—AbeginnerfriendlyapproachusingTensorFlow互聯網檔案館嘅歸檔,歸檔日期2019年6月24號,..TowardsDataScience.
↑Parisi,R.,DiClaudio,E.D.,Lucarelli,G.,&Orlandi,G.(1998,May).Carplaterecognitionbyneuralnetworksandimageprocessing.InISCAS'98.Proceedingsofthe1998IEEEInternationalSymposiumonCircuitsandSystems(Cat.No.98CH36187)(Vol.3,pp.195-198).IEEE.
↑Egmont-Petersen,M.,deRidder,D.,&Handels,H.(2002).Imageprocessingwithneuralnetworks—areview.Patternrecognition,35(10),2279-2301.
↑LeCunetal.,"BackpropagationAppliedtoHandwrittenZipCodeRecognition,"NeuralComputation,1,pp.541–551,1989.
↑Szegedy,Christian;Liu,Wei;Jia,Yangqing;Sermanet,Pierre;Reed,Scott;Anguelov,Dragomir;Erhan,Dumitru;Vanhoucke,Vincent;Rabinovich,Andrew(2014).GoingDeeperwithConvolutions.ComputingResearchRepository.
↑ImageClassifier-CatsvsDogs互聯網檔案館嘅歸檔,歸檔日期2019年4月21號,..Medium.
↑AlltheStepstoBuildyourfirstImageClassifier(withcode).TowardsDataScience.
↑J.GantzandD.Reinsel,ExtractingValuefromChaos.Hopkinton,MA,USA:EMC,Jun.2011.
↑Larochelle,Hugo;Erhan,Dumitru;Courville,Aaron;Bergstra,James;Bengio,Yoshua(2007).AnEmpiricalEvaluationofDeepArchitecturesonProblemswithManyFactorsofVariation.Proceedingsofthe24thInternationalConferenceonMachineLearning.ICML'07.NewYork,NY,USA:ACM.pp.473–480.
↑DeepLearning :DeepBeliefNetworkFundamentals[失咗效嘅鏈].Medium.
↑Hinton,G.E.(2010)."APracticalGuidetoTrainingRestrictedBoltzmannMachines".Tech.Rep.UTMLTR2010-003.
↑Bengio,Y.(2009)."LearningDeepArchitecturesforAI".FoundationsandTrendsinMachineLearning.2(1):1–127.
↑Al-Jarrah,O.Y.,Yoo,P.D.,Muhaidat,S.,Karagiannidis,G.K.,&Taha,K.(2015).Efficientmachinelearningforbigdata:Areview.BigDataResearch,2(3),87-93.
↑94.094.194.294.3SeppHochreiter;JürgenSchmidhuber(1997)."Longshort-termmemory".NeuralComputation.9(8):1735–1780.
↑Bayer,Justin;Wierstra,Daan;Togelius,Julian;Schmidhuber,Jürgen(14September2009).EvolvingMemoryCellStructuresforSequenceLearning(PDF).ArtificialNeuralNetworks–ICANN2009.LectureNotesinComputerScience.5769.Springer,Berlin,Heidelberg.pp.755–764.
↑Fernández,Santiago;Graves,Alex;Schmidhuber,Jürgen(2007)."Sequencelabellinginstructureddomainswithhierarchicalrecurrentneuralnetworks".InProc.20thInt.JointConf.OnArtificialIntelligence,Ijcai2007:774–779.
↑Graves,Alex;Fernández,Santiago;Gomez,Faustino(2006)."Connectionisttemporalclassification:Labellingunsegmentedsequencedatawithrecurrentneuralnetworks".InProceedingsoftheInternationalConferenceonMachineLearning,ICML2006:369–376.
↑Gers,F.A.,Schraudolph,N.N.,&Schmidhuber,J.(2002).LearningprecisetimingwithLSTMrecurrentnetworks.Journalofmachinelearningresearch,3(Aug),115-143.
↑Ganesan,N."ApplicationofNeuralNetworksinDiagnosingCancerDiseaseUsingDemographicData互聯網檔案館嘅歸檔,歸檔日期2019年6月26號,."(PDF).InternationalJournalofComputerApplications.
↑Bottaci,Leonardo."ArtificialNeuralNetworksAppliedtoOutcomePredictionforColorectalCancerPatientsinSeparateInstitutions互聯網檔案館嘅歸檔,歸檔日期2018年11月23號,."(PDF).TheLancet.
↑Djavan,B.,Remzi,M.,Zlotta,A.,Seitz,C.,Snow,P.,&Marberger,M.(2002).Novelartificialneuralnetworkforearlydetectionofprostatecancer.JournalofClinicalOncology,20(4),921-929.
↑Alizadeh,Elaheh;Lyons,SamantheM;Castle,JordanM;Prasad,Ashok(2016)."MeasuringsystematicchangesininvasivecancercellshapeusingZernikemoments".IntegrativeBiology.8(11):1183–1193.
↑Lyons,Samanthe(2016)."Changesincellshapearecorrelatedwithmetastaticpotentialinmurine".BiologyOpen.5(3):289–299.
↑Nix,R.;Zhang,J.(May2017)."ClassificationofAndroidappsandmalwareusingdeepneuralnetworks".2017InternationalJointConferenceonNeuralNetworks(IJCNN):1871–1878.
↑105.0105.1"MachineLearning:DetectingmaliciousdomainswithTensorflow".TheCoruscanProject.
↑"DetectingMaliciousURLs互聯網檔案館嘅歸檔,歸檔日期2019年7月14號,.".ThesystemsandnetworkinggroupatUCSD.
↑Ghosh,S.,&Reilly,D.L.(1994,January).Creditcardfrauddetectionwithaneural-network.InSystemSciences,1994.ProceedingsoftheTwenty-SeventhHawaiiInternationalConferenceon(Vol.3,pp.621-630).IEEE.
↑Yannakakis,G.N.,&Hallam,J.(2009).Real-timegameadaptationforoptimizingplayersatisfaction.IEEETransactionsonComputationalIntelligenceandAIinGames,1(2),121-133.
↑Nabian,MohammadAmin;Meidani,Hadi(28August2017)."DeepLearningforAcceleratedReliabilityAnalysisofInfrastructureNetworks".Computer-AidedCivilandInfrastructureEngineering.33(6):443–458.
↑Nabian,MohammadAmin;Meidani,Hadi(2018)."'AcceleratingStochasticAssessmentofPost-EarthquakeTransportationNetworkConnectivityviaMachine-Learning-BasedSurrogates".TransportationResearchBoard97thAnnualMeeting.
↑Díaz,E.;Brotons,V.;Tomás,R.(September2018)."Useofartificialneuralnetworkstopredict3-Delasticsettlementoffoundationsonsoilswithinclinedbedrock".SoilsandFoundations.58(6):1414–1422.
↑Silver,David,etal."MasteringthegameofGowithdeepneuralnetworksandtreesearch."Nature,529.7587(2016):484.
↑Sengupta,Nandini;Sahidullah,Md;Saha,Goutam(August2016)."Lungsoundclassificationusingcepstral-basedstatisticalfeatures".ComputersinBiologyandMedicine.75(1):118–129.
↑Choy,ChristopherB.,etal."3d-r2n2:Aunifiedapproachforsingleandmulti-view3dobjectreconstruction."Europeanconferenceoncomputervision.Springer,Cham,2016.
↑French,Jordan(2016)."Thetimetraveller'sCAPM".InvestmentAnalystsJournal.46(2):81–96.
↑Bahdanau,D.,Cho,K.,&Bengio,Y.(2014).Neuralmachinetranslationbyjointlylearningtoalignandtranslate.arXivpreprintarXiv:1409.0473.
↑117.0117.1THEBLACKBOXPROBLEMCLOSESINONNEURALNETWORKS互聯網檔案館嘅歸檔,歸檔日期2018年6月22號,..TheNextPlatform.
↑Trust,anddon’tverify:theAIblackboxproblem互聯網檔案館嘅歸檔,歸檔日期2018年7月30號,..Medium.
↑Peres,D.J.;Iuppa,C.;Cavallaro,L.;Cancelliere,A.;Foti,E.(1October2015)."Significantwaveheightrecordextensionbyneuralnetworksandreanalysiswinddata".OceanModelling.94:128–140.
↑Dwarakish,G.S.;Rakshith,Shetty;Natesan,Usha(2013)."ReviewonApplicationsofNeuralNetworkinCoastalEngineering".ArtificialIntelligentSystemsandMachineLearning.5(7):324–331.
↑Dewdney,A.K.(1April1997).Yes,wehavenoneutrons:aneye-openingtourthroughthetwistsandturnsofbadscience.Wiley.p.82.
↑Holzinger,Andreas;Plass,Markus;Holzinger,Katharina;Crisan,GloriaCerasela;Pintea,Camelia-M.;Palade,Vasile(3August2017)."Aglass-boxinteractivemachinelearningapproachforsolvingNP-hardproblemswiththehuman-in-the-loop".arXiv:1708.01104
↑Adrian,EdwardD.(1926)."Theimpulsesproducedbysensorynerveendings".TheJournalofPhysiology.61(1):49–72.
↑KandelER,SchwartzJH,JessellTM(2003)."Chapter55:Theformationandregenerationofsynapses".PrinciplesofNeuralScience(fourthed.).Cambridge:McGrawHill.
↑Crick,Francis(1989)."Therecentexcitementaboutneuralnetworks".Nature.337(6203):129–132.
↑126.0126.1126.2Edwards,Chris(25June2015)."Growingpainsfordeeplearning".CommunicationsoftheACM.58(7):14–16.
↑Schmidhuber,Jürgen(2015)."Deeplearninginneuralnetworks:Anoverview".NeuralNetworks.61:85–117.
↑"ASurveyofFPGA-basedAcceleratorsforConvolutionalNeuralNetworks",NCAA,2018.
↑129.0129.1McCulloch,WarrenS.;Pitts,Walter.Alogicalcalculusoftheideasimmanentinnervousactivity.Thebulletinofmathematicalbiophysics.1943-12-01,5(4):115–133.
↑Hebb,D.O.(1949).TheOrganizationofBehavior.NewYork:Wiley&Sons.
↑Farley,B.G.;W.A.Clark(1954)."SimulationofSelf-OrganizingSystemsbyDigitalComputer".IRETransactionsonInformationTheory.4(4):76–84.
↑Rochester,N.;J.H.Holland;L.H.Habit;W.L.Duda(1956)."Testsonacellassemblytheoryoftheactionofthebrain,usingalargedigitalcomputer".IRETransactionsonInformationTheory.2(3):80–93.
↑Rosenblatt,F.(1958)."ThePerceptron:AProbabilisticModelForInformationStorageAndOrganizationInTheBrain".PsychologicalReview.65(6):386–408.
↑134.0134.1Werbos,P.J.(1975).BeyondRegression:NewToolsforPredictionandAnalysisintheBehavioralSciences.
↑Schmidhuber,J.(2015)."DeepLearninginNeuralNetworks:AnOverview".NeuralNetworks.61:85–117.
↑Ivakhnenko,A.G.(1973).CyberneticPredictingDevices.CCMInformationCorporation.
↑Rumelhart,D.E;McClelland,James(1986).ParallelDistributedProcessing:ExplorationsintheMicrostructureofCognition.Cambridge:MITPress.
↑Qian,N.;Sejnowski,T.J.(1988)."Predictingthesecondarystructureofglobularproteinsusingneuralnetworkmodels".JournalofMolecularBiology.202.pp.865–884.Qian1988.
↑Rost,B.;Sander,C.(1993)."Predictionofproteinsecondarystructureatbetterthan70%accuracy".JournalofMolecularBiology.232.pp.584–599.Rost1993.
↑Strukov,D.B.;Snider,G.S.;Stewart,D.R.;Williams,R.S.Themissingmemristorfound.Nature.2008,453:80–83.
↑AIPainter互聯網檔案館嘅歸檔,歸檔日期2018年8月25號,..
↑SymbolicMathematicsFinallyYieldstoNeuralNetworks.QuantaMagazine.
↑2012KurzweilAIInterviewwithJürgenSchmidhuberontheeightcompetitionswonbyhisDeepLearningteam2009–2012互聯網檔案館嘅歸檔,歸檔日期2018年8月31號,..
↑Misra,J.,&Saha,I.(2010).Artificialneuralnetworksinhardware:Asurveyoftwodecadesofprogress.Neurocomputing,74(1-3),239-255.
拎[編輯]
維基同享有多媒體嘅嘢:Artificialneuralnetworks
AbriefintroductiontoNeuralNetworks(PDF),一本250頁長嘅大學教科書,教有關人工神經網絡嘅基本知識。
AnIntroductiontoDeepNeuralNetworks.
ATutorialofNeuralNetworkinExcel.
YouTube上面嘅MITcourseonNeuralNetworks
AConciseIntroductiontoMachineLearningwithArtificialNeuralNetworks
NeuralNetworksforMachineLearning–acoursebyGeoffreyHinton
DeepLearning
Interactivevisualizationofneuralwork
NeuralNetworksandDeepLearning.
睇傾改機械學習同數據探勘可以睇埋機械學習詞彙同數據科學基本概念人工智能·學習·運算學習論·線性可分性·事前數據處理·特徵提取·知識表示數學模型迴歸模型·決策樹(蒙地卡羅樹搜尋)·貝葉斯網絡·支援向量機·關聯規則學習神經網絡網絡基礎人工神經細胞·前饋網絡(感知機·多層感知機)遞迴網絡霍菲特網絡·玻茲曼機·長短期記憶·神經圖靈機深度學習卷積網絡·受限玻茲曼機(深度信念網絡)·深度強化學習網絡概念反向傳播算法·關注機制·生成對抗網絡·基於流嘅生成模型自編碼器·脈衝神經網絡·自組織對映·網絡種類一覽最佳化誤差函數·爬山演算法·梯度下降法·全局最佳化·正則化·變分推斷·資訊最大化學習範式監督式學習·非監督式學習·強化學習·遺傳演算法·主動機械學習模型評估自助抽樣法·交叉驗證·訓練曲線·適合度函數·過適主要應用統計分類·表徵學習·降維(特徵選擇)·聚類分析·異常檢測相關領域認知科學·電腦科學·統計學·資訊理論·資訊系統
睇傾改AI人工智能(AI詞彙表)研究點樣人工噉創造智能體嘅學問基本概念智能體·智能(超智能)·演算法同電腦程式編寫·複雜·基於規則嘅系統·AI完全重要問題自動推理·行動選擇同自動計劃·運動規劃·群體智能·情感運算同性格運算·瓣瓣掂玩遊戲
機械感知(電腦視覺·邊緣檢測·手寫辨識·物體檢測)·機械學習(知識表示·深度學習)
自然語言處理(語音識別·機械翻譯)·運算創意·強AI·協作智能運算方法符號AI·貝葉斯網絡·神經網絡·遺傳演算法·解釋得嘅AIAI應用電子遊戲嘅AI·專家系統·自駕車·傾偈機械人·認人樣系統·虛擬助理·聰明玩具·環境智能AI哲學圖靈測試·中文房間·AI箱·AI叛變·友好嘅AI·機械人三定律AI史圖靈·AI低谷·DeepMind·OpenAI相關領域認知科學動物行為學同認知心理學·神經科學(運算神經科學)·語言學電腦科學(軟件工程)·應用數學(統計學)·控制理論·機械人學·經濟學拉雜相關心靈·認知·意識·智能放大·機械人(人形機械人)·數碼鬅客·科技奇異點·通用心理測量
由「https://zh-yue.wikipedia.org/w/index.php?title=人工神經網絡&oldid=1790030」收
屬於6類:神經科學資訊科學人工智能機械學習人工神經網絡電腦科學屬於5隱類:Webarchive模wayback連結有失效鏈嘅頁模用重複參數嘅版面正文用緊ISBN魔術鏈嘅版
導覽選單
個人架生
未簽到同呢個互聯網地址嘅匿名人傾偈貢獻開戶口簽到
空間名
文章討論
粵語
expanded
collapsed
外觀
閱改睇返紀錄
多啲
expanded
collapsed
查嘢
導覽
頭版目錄正嘢時人時事是但一版關於維基百科聯絡處捐畀維基百科
交流
說明書城市論壇社區大堂最近修改
架撐
有乜連過嚟連結頁嘅更改上載檔案專門版固定連結此版明細引用呢篇文維基數據項
打印/匯出
下載PDF印得嘅版本
第啲維基項目
維基同享
第啲話
العربيةAzərbaycancaБългарскиবাংলাBosanskiCatalàČeštinaDanskDeutschΕλληνικάEnglishEsperantoEspañolEestiEuskaraفارسیSuomiFrançaisGaeilgeGalegoעבריתहिन्दीHrvatskiMagyarՀայերենBahasaIndonesiaÍslenskaItaliano日本語ქართული한국어LatinaLietuviųLatviešuMalagasyМакедонскиമലയാളംBahasaMelayuNederlandsNorsknynorskNorskbokmålଓଡ଼ିଆPolskiPortuguêsRunaSimiRomânăРусскийSimpleEnglishSlovenčinaСрпски/srpskiSvenskaதமிழ்ไทยTürkçeУкраїнськаاردوTiếngViệt吴语中文Bân-lâm-gú
改拎
延伸文章資訊
- 1人工神經網絡- 維基百科,自由嘅百科全書
... neural network,簡稱「ANN」)係指一啲模仿生物神經網絡(即係動物嘅中樞神經系統,尤其 ... 一個人工神經網絡由大量嘅人工神經細胞(artificial neuron)組成。
- 2神經網路(Neural Network)與深度學習(Deep Learning) - YC Note
本篇內容涵蓋神經網路(Neural Network, NN)、深度學習(Deep Learning, DL)、反向傳播算法(Backpropagation, BP)、Weight-elimina...
- 3神經網路Neural Networks - 資料科學・機器・人
很多讀者可能會感到驚訝,神經網路(Neural Networks)的運作原理其實非常簡單,一點也不難理解。我將為各位簡單說明如何利用深度學習(Deep Learning)和一台簡易相機 ...
- 4What are Neural Networks? | IBM
Neural networks, also known as artificial neural networks (ANNs) or simulated neural networks (SN...
- 5人工神經網路- 維基百科,自由的百科全書
人工神經網路(英語:Artificial Neural Network,ANN),簡稱神經網路(Neural Network,NN)或類神經網路,在機器學習和認知科學領域,是一種模仿生物神經網路...