iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
自我挑戰組

Machine Learning With Me ,從零開始機器學習!系列 第 12

Day 12: 人工神經網路初探 深度學習

深度學習

深度學習是多層人工精神網路或多層感知器的另一種稱呼,還有多種不同型態的深度學習系統,根據神經網路的根基以及運作準則。如:

  • 前饋神經網路(feed-forward neural)
  • 卷積網路(convolutional)
  • 遞歸神經網路(recurrent neural networks)
  • 自動編碼器(autoencoders)

一個多層感知器至少包含三種不同的layers,輸入層(input layer)、隱藏層(hidden layer)及輸出層(output layer)。你可以擁有多個隱藏層。每層可以包含一個或多個neuron。一個neuron在得到的輸入上計算後產生輸出。來自neuron的輸出被傳送給下一層作為輸入(輸出層除外)。最後會由輸出層產生最終的輸出。

https://ithelp.ithome.com.tw/upload/images/20210918/20141566PqQklpsCKU.png

Input Layer

在神經網路的第一層被稱作輸入層,這層取得在外部的資源,像是由感測機器傳來的圖片。傳至這層的輸入就是特徵值。
在輸入層的節點不會做任何的運算,這些節點單純只是傳送輸入至下一層。

這層neurons的數量和傳入特徵值的數量相同。有時會額外增加一個節點。
這個額外增加的節點被稱作偏差節點(bias node)。這個bias node是用來控制這一層的輸出,在深度學習中bias node不一定需要,但在通常做法時會添加一個。

Hidden Layer

在輸入層與輸出層之間的層面被稱作隱藏層,一個神經網路至少要有一層隱藏層,這裡就是學習開始的地方。隱藏層的neuron為了學習需求而做運算,但你可以依據現實世界的案例自行決定需要的層數。當隱藏層數越多,計算的複雜度與計算時間也會隨之增加。

無法真正確定需要多少隱藏層,也沒有相應的實際策略存在。一個通常的方式是使用上一層two-thirds (or 66%) neuron的總數。舉個例子,假如第一個隱藏層的neuron數量是100,那下一層隱藏層的數量就會是66,下下一層就會是43,以此推算。這只是一個可行的方式,使用者應照著模組的準確度去調整neuron數量。

Output Layer

在神經網路的最後一層就是輸出層。 輸出層會得到在最後一個隱藏層的輸出。輸出層的neurons數量由使用者想要神經網路解決什麼問題來決定。
遞歸問題,當網路需要預測一串連續的數值,像是股票的收盤價,這樣的輸出層只會有一個neuron。
二元問題,當網路需要預測多個中其中一個類別(one of many classes),輸出層的neurons會有和所有可能類別(class)的相同數量。假如網路被訓練用來預測四種之中某一種可能的動物,貓、狗、獅或牛,那麼輸出層就會有四個neurons,一個neuron代表一個class。

邊緣與權重的連結

權重(weight)也被稱作係數或者輸入係數,neuron的每個輸入特徵都會乘上權重,從輸入到neuron的每個連接都有權重線(weighted line)所連接。權重線表示預測我們嘗試要塑造的輸出的特徵值貢獻。將權重視為輸入特徵的貢獻或重要性。當權重值越高,他對特徵值的貢獻越大。假如權重是負值,那特徵就有負面的影響。假如權重是零,那麼代表這個輸入特徵不重要且可以從訓練集中移除。訓練神經網路的目標是為了能計算出每個輸入特徵/每個連接到的最優化權重值。


上一篇
Day 11: 人工神經網路初探 基礎知識建立
下一篇
Day 13: 人工神經網路初探 激活函數(上)
系列文
Machine Learning With Me ,從零開始機器學習!30

尚未有邦友留言

立即登入留言