---
# System prepended metadata

title: Deep Learning 簡介
tags: [李宏毅]

---

Deep Learning 簡介
===

###### tags: `李宏毅`

## 課程資訊
* [pdf](https://drive.google.com/file/d/1-MNM0r6rOnN4VKolksDO3QCZ23YbegXb/view?usp=sharing)
* [youtube](https://www.youtube.com/watch?v=Dr-WRlEFefw&ab_channel=Hung-yiLee)

## Neural Network
一個 DL Model 就是由很多層 Neural 建構的，而 Neural 中做了什麼決定了它的架構。

### Fully Connected Feedforward Network
每個 Neural 都會有各自的參數，所有 Neural 就會形成一個 Function Set。
![](https://i.imgur.com/EsnwlpW.png)

Fully Connected 是指這一層的每個 Neural 都會跟下一層的每個 Neural 連接。輸入層稱為 Input Layer，輸出層稱作 Output Layer，則中間的就是 Hidden Layer。
![](https://i.imgur.com/4yRuP9C.png)


### Matrix Operation
每一層的運算可以看作是一個矩陣運算，黃色矩陣是 Weight，綠色是 Bias，藍色是輸入，紅色則是輸出，最後通過 Activation Function。
![](https://i.imgur.com/hskAYrh.png)


所以其實整個 Neural Network 就是矩陣相乘、相加、Activation 三個步驟重複做。因此可以用 GPU 來作矩陣潠算，GPU 可以平行運算。
![](https://i.imgur.com/ZGQ3iB5.png)


### Output Layer
中間的每一層都輸出都會是下一層的新的一組 Feature，最後生成 Output Layer 會把它看作是 Multi-class Classifier 所以使用 Softmax。
![](https://i.imgur.com/LYOqAEt.png)


### Loss
為了訓練每個 Neural 的 Weight、Bias，需要一個機制去決定參數的好壞，這就是 Loss。常見的 Loss 可以是 Cross Entropy、MSE 等等。
![](https://i.imgur.com/xNIIqzy.png)


更新參數就是使用 Gradient Descent，分別把 Loss 對每個參數偏微分，得到的就是 Gradient。Alpha go 也是這樣訓練的。
![](https://i.imgur.com/E0vfz3v.png)


在 Deep Learning 有一大堆參數，所以要使用 Backpropagation 比較有效率的更新參數。


## 為什麼要 Deep Learning?
雖然看起來越深的模型可以讓 Error 越低，但其實以 ML 的角度來看，就只是使用了更多的參數，所以結果才更好，那存在 Deep Learning 的意義? 
![](https://i.imgur.com/QpKVyMq.png)