多層感知機是一種前向傳遞類神經網路,至少包含三層結構(輸入層、隱藏層和輸出層),並且利用到「倒傳遞」的技術達到學習(model learning)的監督式學習,以上是傳統的定義。現在深度學習的發展,其實MLP是深度神經網路(deep neural network, DNN)的一種special case,概念基本上一樣,DNN只是在學習過程中多了一些手法和層數會更多更深。
Learn More →
假設有個MLP的結構,共有n筆樣本,每個樣本對應m個輸出值。隱藏層只有一層設定為p個hidden node。
Learn More →
前向傳遞(Forward propagation): 較簡單 (只有線性合成,和非線性轉換)
反向傳遞 (Backward propagation): 較複雜 (因為多微分方程)
輸入層到隱藏層
Learn More →
輸入層到隱藏層的值為sk,k=1,…,p,為輸入訊號的加權線性和(vik為第i個輸入到第k個hidden node的權重)。
Learn More →
經過 非線性轉換/激活函數(activation function,f1)後,得到hidden node的輸出hk
Learn More →
隱藏層到輸出層
Learn More →
隱藏層到輸出層的值為zj,j=1,…,m,為hidden node輸出的加權線性和(wkj為第k個hidden node輸出到第j個輸出值的權重)
Learn More →
經過 非線性轉換/激活函數(activation function,f2)後,得到推估的輸出值y^j
Learn More →
反向傳遞的目的就是利用最後的目標函數(loss/cost function)來進行參數的更新,一般來說都是用誤差均方和(mean square error)當作目標函數。如果誤差值越大,代表參數學得不好,所以需要繼續學習,直到參數或是誤差值收斂。
x^(i)為第i筆資料的輸入值,其輸出值為
Learn More →
其目標的誤差為
Learn More →
所有樣本的誤差和當作目標函數
Learn More →
最佳化的目的就是讓「所有樣本的誤差均方和」越小越好,所以目標是
Learn More →
所以要找到最佳參數解(參數只有wkj和vik),最簡單的方式就是微分方程式等於0找解
Learn More →
但參數量多無法直接找到唯一解(後面公式有偏微分後的結果,很難直接找到唯一解),所以還是需要依賴gradient descent找最佳解。
假設對gradient descent有基本認識。
利用gradient descent找最佳參數解(參數只有wkj和vik)
Learn More →
其中η為學習率(learning rate),
Learn More →
基本上微分解無法直接算出,因此用chain rule方式,可以更有效得到解,以下針對不同層別的連結算倒傳遞 (只針對一個樣本去計算)
輸出到隱藏層(wkj)
Learn More →
chain rule:
Learn More →
Learn More →
隱藏層到輸入層(vik)
Learn More →
chain rule:
Learn More →
Learn More →
所以
Learn More →
最後把n個樣本所有gradient加起來得到參數的update
Learn More →
到這邊倒傳遞也推導完成了,看完有沒有覺得很簡單(這邊只是符號多了一點而已,基本上用到的數學應該沒有很多)。
PS:裡面有一個重點,非線性轉換/激活函數(f1,f2)在倒傳遞時都有微分,所以在選擇激活函數時必須要選擇可微分函數。
MLP神經網路只是在利用gradient descent找最佳參數解
最後帶入MLP內的前向傳遞 (Forward propagation)即可得到最後的預測值。
Resize輸入的圖到448*448 執行一個卷積神經網路 基於模型輸出的信心程度(Confidence)依據閾值和Non-max suppression得到偵測結果 YOLO用的卷積神經網路 YOLO的卷積網路架構是來自GoogleNet的模型,YOLO的網路有24卷積層(convolutional layer)和2層全連結層(fully connected layer),和GoogleNet不同的地方在於作者在某些3×3的卷積層前面用1×1的卷積層來減少filter數量,(1×1的卷積層通常拿來做降維度的作用,可以減低計算量,且不影響太多mAP)。整體架構如下圖: 卷積神經網路(Convolutional neural network, CNN): 1×1卷積計算 一般API在跑張量(tensor),通常是一個批次量的資料在執行 假設有100筆資料,每個資料都是10*10的彩色圖片(所以每個資料都是3張圖片,分別為R、G、B三張),此時的輸入資料的大小就是100 ×10 ×10 ×3,解讀方式batch ×height × width × channel,這個解讀很重要,因為除了影像的長跟寬之外,又多了兩個分別是batch和channel名詞。
Feb 18, 2025Precision、Recall 一般深度學習看到的指標都是寫AP,AP就是average precision,指標有兩個分別為precision和recall;首先主要先理解:什麼是precision」和「什麼是recall」,和「什麼是AP」 Precision: 「所有被檢測為目標」但「正確分類為目標」的比例。[TP/(TP+FP)] Recall: 資料中的「所有目標」但「正確分類為目標」的比例。[TP/(TP+FN)] 比如說: 有個分類問題要分「狗」和「不是狗」 Precision: 所有被檢測為目標=所有被模型判斷為狗的個數 =是狗且被模型判斷為狗的個數(TP) + 不是狗且被模型判斷為狗的個數(FP)
Aug 12, 2020Extra功能 追蹤運動路線,實時監測運動數據(速度、海拔、時間)、運動數據分級、準確計算卡路里燃燒及豐富的社交功能 總里程、累計用時、運動次數、步數、平均時速、GPS信號強弱顯示、空氣品質顯示 以天氣狀況作為背景圖 發現(商城、陪跑、附近的人、跑步熱點) 動作教學:跑前熱身練習、運動後拉筋、瘦小腿拉伸、跑步下肢力量增強、膝蓋力量增強 在APP上看的到別人公開的運動路線 用戶可以關注某一用戶,可以私聊某一用戶,可以查看其最近運動信息
Jul 22, 2020public Mat [] thresholding(img){ Mat frame = img.rgba(); //Imgproc.cvtColor(frame, frame, Imgproc.COLOR_RGBA2GRAY); //Imgproc.Canny(frame, frame, 100, 80); //RGB灰化 //Mat copyImg = new Mat(); //frame.copyTo(copyImg, img); Imgproc.cvtColor(frame, frame,Imgproc.COLOR_BGR2GRAY);
Jul 10, 2020or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up