# 深度學習專題 week 2 : 倒傳遞學習演算法簡介 ## video 1 & 2 : 倒傳遞學習演算法簡介 1. 反向傳播(Backpropagation,簡稱BP)演算法: * 目標:通過調整神經網絡的權重和偏差來最小化損失函數。 * 前向傳播: 從輸入向量開始,透過神經網絡逐層傳播,計算每個神經元的輸出。 對每個神經元進行加權求和並應用激活函數以生成輸出。直到達到輸出層為止,繼續此過程。 * 反向傳播: 在輸出層計算誤差(預測輸出與實際輸出之間的差異)。 將這個誤差向後傳播到網絡中,逐層計算損失函數對每個參數(權重和偏差)的梯度。 * 梯度下降: 根據梯度的相反方向更新網絡的參數,以最小化損失函數。 2. 隨機梯度下降法(Stochastic Gradient Descent,SGD)是一種常用的優化算法,用於訓練機器學習模型。以下是關於隨機梯度下降法的條列式介紹: * 目標:最小化或最大化一個函數,通常是損失函數,找到模型參數的最佳解。 * 基本原理: 從初始隨機值開始,SGD通過計算梯度的估計值來更新模型參數,使得損失函數值逐步趨於最小值。 * 步驟: 1.對每個樣本,計算其損失函數對模型參數的梯度。 2根據計算的梯度,更新模型參數。 * 優點: 計算效率高,尤其對大型數據集和高維模型具有良好的可擴展性。 在訓練過程中,可以實時更新模型參數,使得模型能夠快速收斂。 * 缺點: 容易陷入局部最小值。 學習率的選擇對收斂速度和模型性能具有重要影響,需要謹慎調整。 隨機性導致收斂過程不穩定,需要多次運行以獲得穩定的結果。 * 變體: * 小批量隨機梯度下降(Mini-batch SGD):每次更新時使用隨機抽樣的小批量樣本,可以平衡單樣本SGD和批量SGD的優勢。 3. 線上學習(Online Learning)或遞增式學習(Incremental Learning)是一種機器學習方法,它通常用於處理持續生成的數據流。 * 目標:在處理連續的、動態變化的數據流時,即時地更新和調整模型,以應對新數據的變化,並保持模型的準確性。. ## video 3 : Tensorflow_CG簡介檔案 * TensorFlow是一個開源的機器學習框架,由Google開發和維護。它提供了各種工具和函數(包括計算圖、自動微分等等),讓用戶可以建立和訓練各種機器學習模型。 * Computational Graph(計算圖)一種用來表示數學計算的圖形結構,其中節點代表數學運算,邊代表資料流動。通過構建計算圖,TensorFlow可以優化計算過程,實現自動微分以及分佈式執行等功能。 * 使用計算圖的好處包括: 1. 性能優化:TensorFlow可以對不同的硬體進行優化,提高運行效率。 1. 分佈式執行:模型的訓練會使用到很多很多的資料,會需要很多的計算資源,計算圖可以在多個設備或計算節點上執行,實現分佈式計算。 2. 可以使用自動微分的技術來計算梯度 3. 視覺化模型,更容易讓模型開發者理解結構以及資料的流動 * 在TensorFlow中,有兩種不同的計算圖類型:**靜態圖**和**動態圖**: 1. 靜態圖(Graph Mode):在靜態圖中,計算圖在定義之後就不再改變,這意味著所有的節點和邊都在程序運行之前就已經確定。 1. 動態圖(Eager Execution):在動態圖中,計算圖是根據程序運行時的實際計算需求動態生成的。動態圖更靈活,更適合用於探索性研究和快速原型開發。 ## video 4 : Loss函數簡介檔案 * Loss函數是評估模型效能的一大指標,他可以量化模型預測的結果與真實答案之間的差異。 * 然而Loss函數有很多種,我們可以根據問題的類型來選擇Loss函數,如同我們會針對不同的問題選擇不一樣的激活函數。 * 要注意的是,因為在模型訓練過程中會使用梯度下降等等的方法來計算「損失函數的梯度」以調整模型參數的權重(嗎?),所以Loss函數需要是「可以」微分的! * 成本函數C:整個模型的成本是由每一個樣本成本所累加出來的。 * Loss 為何使用最大「對數」似然方法(maximal log-likehood Approach)呢? A:取對數可以方便運算。 | | 公式 | | -------- | -------- | | 均方差(MSE) | $MSE=\frac{1}{n}\sum_{i}^n({y_i}-t_i)^2$ | | 二元交叉熵(BEC) | $L = \frac{1}{N}\sum_{i} L_i = \frac{1}{N}\sum_{i}-[t_i\cdot log(y_i) + (1-t_i)\cdot log(1-y_i)]$| | 類別交叉熵(CCC) | $L = \frac{1}{N}\sum_{i} L_i = - \frac{1}{N}\sum_{i} \sum_{c=1}^Mt_{ic}\log(y_{ic})$| | |激活函數| 均方差(MSE) | 二元交叉熵(Binary Cross-Entropy Cost) | 類別交叉熵(Categorical Cross-Entropy Cost) |例子| | -------- |-------- | -------- | -------- | -------- |-------- | | 常態分佈/回歸問題 |Linear Output Unit| :heavy_check_mark: | | | 預測使用電量, 對遊戲場景自動輸出材質| |二項分布|Sigmoid Output Unit ||:heavy_check_mark: ||偵測信用卡交易是否是詐騙 | |多項分布| Softmax Output Unit|| | :heavy_check_mark: |對相片進行臉部識別,將一個語言的句子轉換成另一國語言|
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up