深度學習心得
第一篇
---


---
Beginners Guide
---
If you are a total beginner to this, start here!
1. Download Anacinda & keras
2. Open it ! (I do all the code in juypter notebook)
3. Choose a comfortable chair:kissing_heart:
4. Start learning!
----
## 基礎知識1
深度學習:eye-in-speech-bubble:
1. 屬於機器學習的一種
2. 模擬腦神經網路的學習方式
3. 應用領域廣
4. 有一個很潮的名字-Deep learning
----
## 基礎知識2
1. 1958年 : The concept of Preceptron(分類器)被提出
2. 1969年 : 分類器發展遇到瓶頸(坦克辨識事件)
3. 1980年 : multi-layer perceptron(similar to DNN)
4. 2006年 : RBM initialization(深度學習開端)
=> 技術複雜,至今無人使用
5. 2009年 : GPU 開始崛起有助於Deep Learing
----
深度學習發展
---
1. 2012年 : Alex-net win the ImageNet
2. GoogleNet / Resent50 ...
3. 某些項目的辨識率已經超過人類
:::info
目前有些深度學習model
可以直接用matlab快速套用
ver 2019b
:::
---
深度學習流程
---
1. Define a set function
2. Goodness of function
函數與數據的擬合程度
3. Pick the best function
4. 就像是把大象放進冰箱一樣

----
步驟1.Define a set function
---
1. 決定神經網路的架構並間彼此相連(下圖是FNN)
2. 連接方式有很多種,如:CNN / FNN / ANN

----
FNN
---
1. Fully Connected Feedforward Network
若參數都已知 : 一個network = 一個function
若有未知參數 : 一個network = function set
:::info
**Input layer(1) -> hidden layers(many) -> output layer(1)
More hidden layers = more deep !!!**
:::
----
不同model的layers 數
---
**以下均使用CNN**
1. AlexNet :8 layers
2. GoogleNet : 22 layers
3. ResNet : 152 layers
4. SeNet : 154 layers
---
Activate Functions
---
1. ReLu (推薦使用:smile:)
2. Sigmoid
3. tanh
>ReLu : 計算量小不涉及除法,一部分神經元的輸出為 0 造成了網路的稀疏性,並且減少了參數的相互依存關係,緩解了過擬合問題的發生,而且不會有非線性發生的梯度消失的問題。缺點則在於屏蔽太多,可能導致模型無法學習到有效特徵。
----
基本流程(大致上是矩陣運算)
---
1. 輸入X * W1(first layer weight matrix)+ bias = new input X2
2. new input X2 * W2(second layer weight matrix)+ bias = new input X3
3. And so on until the output layer

----
Output Layer
---
1. Output Layer = multi-class classifier
2. 常用的函數 : softmax function
3. 放入一張數字圖要判斷是哪個數字(0~9)
輸出層=10維,可以看成是每個元素都是其對應數字的機率
> [0.1,0.2,0.1……]^T =
> [1的機率,2的機率,3的機率…]^T
找到機率最大的數字 =>
machine 說這張圖是這個數字
----
決定深度學習好壞的因素
---
1. 有一個好的function set
2. trail and error
3. intution(直覺) or 好運氣
>補充(可以跳過)
[李弘毅老師另一堂課](http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html)
[啾啾鞋-AI捉迷藏](https://www.youtube.com/watch?v=Z6fjTZAtziQ&list=LLyC9gn3BUiX1Jokk19-5Ilg&index=36&t=0s)
---
## Next Lesson ...
1. Back propagation
>
###### tags: `Deep learning` `beginner` `python` `keras` `tutorial`
{"metaMigratedAt":"2023-06-15T05:39:53.987Z","metaMigratedFrom":"YAML","title":"深度學習學習心得-1","breaks":true,"disqus":"hackmd","contributors":"[{\"id\":\"6bb13895-9bc1-441a-8b8f-cc9578e3b5bc\",\"add\":5556,\"del\":2969}]"}