決心打底!Python 深度學習基礎養成

決心打底!Python 深度學習基礎養成

決心打底!Python 深度學習基礎養成


資料來源:https://www.books.com.tw/products/0010861459


GITHUB: https://github.com/jash-git/flag_F0374

Ch01 深度學習基礎養成指引

Ch02 深度學習需要的 Python 語法與運算套件
2-1 安裝 Python 環境
2-2 Python 的基本語法
2-2-1 資料型別 (Data Type) 與變數 (Variable)
2-2-2 算符 (Operator)
2-2-3 list 型別
2-2-4 tuple 型別
2-2-5 dict 型別
2-2-6 if 判斷式
2-2-7 for 迴圈
2-2-8 while 迴圈
2-2-9 串列生成式 (list Comprehensions)
2-2-10 函式 (Function)
2-2-11 變數的有效範圍 (Scope Rule)
2-2-12 類別 (Class)
2-2-13 繼承 (Inheritance)
2-3 NumPy 快速上手
2-3-1 匯入 NumPy 套件
2-3-2 NumPy 的陣列
2-3-3 其他建立陣列的方式
2-3-4 再以圖解看陣列的軸 (axis)
2-3-5 利用 reshape() 改變陣列形狀
2-3-6 陣列間對應元素 (element-wise) 的運算
2-3-7 擴張 (Broadcasting)
2-3-8 陣列元素的存取
2-3-9 切片 (Slicing)
2-3-10 陣列轉置 (transpose)
2-3-11 其他常用的 NumPy 函式
2-4 Matplotlib 快速上手
2-4-1 將一堆資料點繪成圖表
2-4-2 裝飾圖表內容
2-4-3 繪製散佈圖
2-4-4 將數值以圖像呈現

Ch03 深度學習需要的數學知識
3-1 數學符號與運算式
3-1-1 利用 sigma (Σ) 表示總和
3-1-2 自然底數
3-1-3 自然對數
3-2 線性代數
3-2-1 純量 (Scalar)
3-2-2 向量 (Vector)
3-2-3 矩陣 (Matrix)
3-2-4 張量 (Tensor)
3-2-5 純量與矩陣乘積
3-2-6 對應元素 (element wise) 的乘積
3-2-7 矩陣乘積 (Matrix multiplication)
3-2-8 矩陣轉置 (Transpose)
3-3 微分
3-3-1 常微分
3-3-2 微分的公式
3-3-3 鏈鎖法則 (Chain Rule)
3-3-4 偏微分
3-3-5 全微分
3-3-6 多變數的鏈鎖法則

Ch04 神經網路的基礎
4-1 認識人類神經網路
4-2 單一神經元的人工神經網路
4-3 多層神經網路架構
4-4 再從實作認識「激活函數」
4-4-1 階梯函數 (Step function)
4-4-2 Sigmoid 函數
4-4-3 tanh 函數
4-4-4 ReLU 函數
4-4-5 Leaky ReLU
4-4-6 恆等函數
4-4-7 Softmax 函數
4-5 神經網路最廣泛的應用:迴歸與分類
4-6 實戰演練 (一):實作「單一神經元 + 單一輸出」的神經網路
4-6-1 單一神經元的架構
4-6-2 程式內容說明
4-6-3 實驗:看看權重與偏值對輸出值的影響
4-7 實戰演練 (二):實作「多層 + 單一輸出」的神經網路
4-7-1 神經網路的架構
4-7-2 程式內容說明
4-7-3 權重與偏值對輸出的影響
4-8 實戰演練 (三):實作「多層 + 多個輸出」的神經網路
4-8-1 神經網路的架構
4-8-2 程式內容說明
4-8-3 利用輸出結果替輸入資料做分類

Ch05 訓練神經網路
5-1 訓練神經網路的基本概念
5-2 用損失函數 (Loss Function) 計算誤差
5-2-1 均方誤差 (Mean-Square Error, MSE)
5-2-2 交叉熵 (Cross Entropy)
5-3 認識修正權重的方法 – 梯度下降法 (Gradient Descent)
5-3-1 梯度下降法的基本概念
5-3-2 利用「梯度下降法」找到誤差值最低點所對應的權重
5-4 計算梯度 (Gradient), 了解權重參數對誤差的影響
5-4-1 用「反向傳播法 (Back Propagation)」計算各層間單一權重的梯度
5-4-2 四組單一權重梯度算式的微分推導
5-4-3 梯度下降法的數學算式
5-5 訓練前的資料準備工作
5-5-1 將資料切割成「訓練資料集」與「測試資料集」
5-5-2 分批訓練的概念
5-6 將分批訓練概念引入梯度計算
5-6-1 將輸入資料、預測結果轉換成矩陣形式
5-6-2 將輸入矩陣傳入神經網路, 進行前向傳播運算
5-6-3 權重矩陣的梯度計算 (反向傳播運算)
5-7 實作演練:模擬數據讓神經網路訓練

Ch06 深度學習實戰演練
6-1 訓練神經網路常遇到的問題
6-1-1 陷入局部最小值 (Local minimum)
6-1-2 過度配適 (Overfitting) 的問題
6-1-3 梯度消失 (Vanishing gradient)
6-2 避免過度配適的方法
6-2-1 找出最佳的層數與神經元數
6-2-2 減少訓練週期
6-2-3 資料擴張 (Data Augmentation)
6-2-4 常規化 (Regularization)
6-2-5 丟棄法 (Dropout)
6-3 避免發生局部最小值的方法
6-3-1 Momentum 優化演算法
6-3-2 AdaGrad 優化演算法
6-3-3 RMSProp 優化演算法
6-3-4 Adam 優化演算法
6-4 實作演練 (一):使用神經網路替鳶尾花分類
6-4-1 範例概要說明
6-4-2 載入資料集並做前置處理
6-4-3 設定神經網路各初始值
6-4-4 用 Python 類別定義各層的運算
6-4-5 將前向傳播、反向傳播、修正權重、計算誤差等運算撰寫成函式
6-4-6 開始訓練神經網路
6-4-7 執行程式, 看看訓練成果
6-5 實作演練 (二):解決訓練成效不佳的問題
6-5-1 導入 Adagrad 演算法
6-5-2 導入丟棄法 (Dropout)
6-5-3 導入 Adagrad + Dropout
6-5-4 驗證 4 種組合的訓練成果
6-5-5 實際拿神經網路模型預測全新資料

Ch07 卷積神經網路 (CNN)
7-1 卷積神經網路 (CNN) 的基本概念
7-1-1 為什麼使用 CNN?
7-1-2 卷積神經網路 (CNN) 的基本架構
7-1-3 卷積層 (Convolution Layer) 的運算
7-1-4 池化層 (Pooling Layer) 的運算
7-1-5 池化層 → 密集層 (Dense Layer) 的運算
7-1-6 填補 (Padding) 與步長 (Stride) 的概念
7-1-7 訓練 CNN 網路的方法
7-1-8 整理本節使用的變數
7-2 認識 im2col 與 col2im 演算法
7-3 卷積層的程式實作
7-4 池化層的程式實作
7-5 密集層的程式實作
7-6 實戰演練 (一):實作卷積神經網路
7-6-1 載入手寫數字資料集
7-6-2 CNN 網路的結構
7-6-3 開始訓練 CNN 神經網路
7-6-4 執行程式, 看看訓練成果
7-6-5 實際拿 CNN 模型預測資料
7-6-6 回頭檢視卷積層的功用
7-7 實戰演練 (二):實作層數更多的 CNN 網路

Ch08 RNN、LSTM、GRU、GAN、VAE、DRL、DQN…各種深度學習技術
8-1 循環神經網路 (RNN)
8-1-1 RNN 的基本概要
8-1-2 LSTM (長短期記憶神經網路)
8-1-3 LSTM 的改良版 – GRU
8-2 生成模型與 GAN、VAE
8-2-1 GAN
8-2-2 VAE
8-3 深層強化學習 (Deep reinforcement learning)
8-3-1 強化式學習
8-3-2 深層強化學習

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *