-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 景觀設(shè)計 > 專題列表 > 正文
神經(jīng)網(wǎng)絡(luò)三大分類(神經(jīng)網(wǎng)絡(luò)三大分類包括)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于神經(jīng)網(wǎng)絡(luò)三大分類的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、BP神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)能很好地解決不同的機器學(xué)習(xí)問題。神經(jīng)網(wǎng)絡(luò)模型是許多邏輯單元按照不同層級組織起來的網(wǎng)絡(luò),每一層的輸出變量都是下一層的輸入變量。
上圖顯示了人工神經(jīng)網(wǎng)絡(luò)是一個分層模型,邏輯上可以分為三層:
輸入層 :輸入層接收特征向量 x
輸出層 :輸出層產(chǎn)出最終的預(yù)測 h
隱含層 :隱含層介于輸入層與輸出層之間,之所以稱之為隱含層,是因為當(dāng)中產(chǎn)生的值并不像輸入層使用的樣本矩陣 X或者輸出層用到的標(biāo)簽矩陣 y 那樣直接可見。
下面引入一些標(biāo)記法來幫助描述模型:
!$ a^{(j)}_{i} $ 代表第j層的第i個激活單元。 !$ theta^{(j)} $ 代表從第 j 層映射到第 j+1 層時的權(quán)重的矩陣,例如 !$ theta^{(1)} $ 代表從第一層映射到第二層的權(quán)重的矩陣。其尺寸為:以第 j+1層的激活單元數(shù)量為行數(shù),以第 j 層的激活單元數(shù)加一為列數(shù)的矩陣。例如:上圖所示的神經(jīng)網(wǎng)絡(luò)中 !$ theta^{(1)} $ 的尺寸為 3*4。
對于上圖所示的模型,激活單元和輸出分別表達為:
!$ a^{(2)}_{1} = g( theta^{(1)}_{10}x_0 + theta^{(1)}_{11}x_1 + theta^{(1)}_{12}x_2 + theta^{(1)}_{13}x_3 ) $
!$a^{(2)}_{2} = g( theta^{(1)}_{20}x_0 + theta^{(1)}_{21}x_1 + theta^{(1)}_{22}x_2 + theta^{(1)}_{23}x_3 ) $
!$a^{(2)}_{3} = g( theta^{(1)}_{30}x_0 + theta^{(1)}_{31}x_1 + theta^{(1)}_{32}x_2 + theta^{(1)}_{33}x_3 ) $
!$h_{theta}{(x)} = g( theta^{(2)}_{10}a^{2}_{0} + theta^{(2)}_{11}a^{2}_{1} + theta^{(2)}_{12}a^{2}_{2} + theta^{(2)}_{13}a^{2}_{3} ) $
下面用向量化的方法以上面的神經(jīng)網(wǎng)絡(luò)為例,試著計算第二層的值:
對于多類分類問題來說:
我們可將神經(jīng)網(wǎng)絡(luò)的分類定義為兩種情況:二類分類和多類分類。
二類分類: !$ S_{L} = 0,y = 0,y = 1$
多類分類: !$ S_{L} = k, y_{i} = 1表示分到第i類;(k>2)$
在神經(jīng)網(wǎng)絡(luò)中,我們可以有很多輸出變量,我們的 !$h_{theta}{(x)} $ 是一個維度為K的向量,并且我們訓(xùn)練集中的因變量也是同樣維度的一個向量,因此我們的代價函數(shù)會比邏輯回歸更加復(fù)雜一些,為: !$ h_{theta}{(x)} in R^{K}(h_{theta}{(x)})_{i} = i^{th} output$
我們希望通過代價函數(shù)來觀察算法預(yù)測的結(jié)果與真實情況的誤差有多大,唯一不同的是,對于每一行特征,我們都會給出K個預(yù)測,基本上我們可以利用循環(huán),對每一行特征都預(yù)測K個不同結(jié)果,然后在利用循環(huán)在K個預(yù)測中選擇可能性最高的一個,將其與y中的實際數(shù)據(jù)進行比較。
正則化的那一項只是排除了每一層 !$theta_0$ 后,每一層的 矩陣的和。最里層的循環(huán)j循環(huán)所有的行(由 +1 層的激活單元數(shù)決定),循環(huán)i則循環(huán)所有的列,由該層( !$ s_l$ 層)的激活單元數(shù)所決定。即: !$h_{theta}{(x)}$ 與真實值之間的距離為每個樣本-每個類輸出的加和,對參數(shù)進行 regularization 的 bias 項處理所有參數(shù)的平方和。
由于神經(jīng)網(wǎng)絡(luò)允許多個隱含層,即各層的神經(jīng)元都會產(chǎn)出預(yù)測,因此,就不能直接利用傳統(tǒng)回歸問題的梯度下降法來最小化 !$J(theta)$ ,而需要逐層考慮預(yù)測誤差,并且逐層優(yōu)化。為此,在多層神經(jīng)網(wǎng)絡(luò)中,使用反向傳播算法(Backpropagation Algorithm)來優(yōu)化預(yù)測,首先定義各層的預(yù)測誤差為向量 !$ δ^{(l)} $
訓(xùn)練過程:
當(dāng)我們對一個較為復(fù)雜的模型(例如神經(jīng)網(wǎng)絡(luò))使用梯度下降算法時,可能會存在一些不容易察覺的錯誤,意味著,雖然代價看上去在不斷減小,但最終的結(jié)果可能并不是最優(yōu)解。
為了避免這樣的問題,我們采取一種叫做梯度的數(shù)值檢驗( Numerical Gradient Checking )方法。這種方法的思想是通過估計梯度值來檢驗我們計算的導(dǎo)數(shù)值是否真的是我們要求的。
對梯度的估計采用的方法是在代價函數(shù)上沿著切線的方向選擇離兩個非常近的點然后計算兩個點的平均值用以估計梯度。即對于某個特定的 ,我們計算出在 !$theta - epsilon$ 處和 !$theta + epsilon$ 的代價值(是一個非常小的值,通常選取 0.001),然后求兩個代價的平均,用以估計在 !$theta$ 處的代價值。
當(dāng) !$theta$ 是一個向量時,我們則需要對偏導(dǎo)數(shù)進行檢驗。因為代價函數(shù)的偏導(dǎo)數(shù)檢驗只針對一個參數(shù)的改變進行檢驗,下面是一個只針對 !$theta_1$ 進行檢驗的示例:
如果上式成立,則證明網(wǎng)絡(luò)中BP算法有效,此時關(guān)閉梯度校驗算法(因為梯度的近似計算效率很慢),繼續(xù)網(wǎng)絡(luò)的訓(xùn)練過程。
二、
三、
四、三值神經(jīng)網(wǎng)絡(luò)
權(quán)重壓縮:三值神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)尤其適合于目標(biāo)識別、分類、檢測及圖像分割等計算機視覺應(yīng)用。 典型的模型有數(shù)百萬參數(shù)并 運算量大 ;例如,AlexNet有6100萬參數(shù)(浮點數(shù)權(quán)值共占用249MB存儲空間),分類一張圖片需要15億高精度運算。 所以為降低CNN規(guī)模和使用資源,現(xiàn)在有模型修剪(model pruning,去掉值較小的權(quán)值)和權(quán)值壓縮(weight compression,利用少數(shù)幾位量化權(quán)值) 兩種方法。
權(quán)值壓縮:二值神經(jīng)網(wǎng)絡(luò)
重要點:網(wǎng)絡(luò)中的權(quán)重更新使用三值{+1,0,-1};并最小化全精度權(quán)重W和三值權(quán)重W的歐式距離。
傳播過程:
公式1的優(yōu)化問題化解為如下:
從而 解:
最終確定一個閾值 、 來構(gòu)建三值神經(jīng)網(wǎng)絡(luò);根據(jù) W 具體的分布情況來確定閾值 :
均勻分布:在 大于閾值的條件下 : 約等于均值( )*數(shù)量( )
[圖片上傳失敗...(image-885207-1554553493996)]
正態(tài)分布:
[圖片上傳失敗...(image-2a3804-1554553493996)]
最后本文章作者根據(jù)經(jīng)驗:
確定三值網(wǎng)絡(luò)中的閾值與W期望的關(guān)系 : :
均值分布: (注 在[-a,a]均勻取值,均值為 )
正態(tài)分布: (注:
算法:
[圖片上傳失敗...(image-d013ce-1554553493996)]
只在前向和后向過程中使用使用權(quán)值簡化 ,但是更新是仍然是使用連續(xù)的權(quán)值。
優(yōu)化方法:隨機梯度下降(SGD+動量)、批量標(biāo)準(zhǔn)化和學(xué)習(xí)率衰減
Momentum動量:
本實驗基于數(shù)據(jù)集MNIST、CIFAR-10、ImageNet以及三種網(wǎng)絡(luò)結(jié)構(gòu)(LeNet-5、VGG-7、ResNet-18(B))進行測試,分別使用二值神經(jīng)網(wǎng)絡(luò)、三值神經(jīng)網(wǎng)絡(luò)及全精度網(wǎng)絡(luò),評測其效果。
TWNs在benchmark表現(xiàn)比全精度網(wǎng)絡(luò)稍微差一點,但是模型壓縮率達到了16/32倍。
源碼:
前向后向 更改在conv_layer.cpp line 30-100 Forward_cpu | backward_cpu
以上就是關(guān)于神經(jīng)網(wǎng)絡(luò)三大分類相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
圖卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用(圖卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用疫情)
人工神經(jīng)網(wǎng)絡(luò)常用的算法(人工神經(jīng)網(wǎng)絡(luò)常用的算法hebb)