卷積神經(jīng)網(wǎng)絡(luò)有以下幾種應(yīng)用可供研究:
創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、安陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為安陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1、基于卷積網(wǎng)絡(luò)的形狀識別
物體的形狀是人的視覺系統(tǒng)分析和識別物體的基礎(chǔ),幾何形狀是物體的本質(zhì)特征的表現(xiàn),并具有平移、縮放和旋轉(zhuǎn)不變等特點(diǎn),所以在模式識別領(lǐng)域,對于形狀的分析和識別具有十分重要的意義,而二維圖像作為三維圖像的特例以及組成部分,因此二維圖像的識別是三維圖像識別的基礎(chǔ)。
2、基于卷積網(wǎng)絡(luò)的人臉檢測
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的人臉檢測方法不同,它是通過直接作用于輸入樣本,用樣本來訓(xùn)練網(wǎng)絡(luò)并最終實(shí)現(xiàn)檢測任務(wù)的。它是非參數(shù)型的人臉檢測方法,可以省去傳統(tǒng)方法中建模、參數(shù)估計(jì)以及參數(shù)檢驗(yàn)、重建模型等的一系列復(fù)雜過程。本文針對圖像中任意大小、位置、姿勢、方向、膚色、面部表情和光照條件的人臉。
3、文字識別系統(tǒng)
在經(jīng)典的模式識別中,一般是事先提取特征。提取諸多特征后,要對這些特征進(jìn)行相關(guān)性分析,找到最能代表字符的特征,去掉對分類無關(guān)和自相關(guān)的特征。然而,這些特征的提取太過依賴人的經(jīng)驗(yàn)和主觀意識,提取到的特征的不同對分類性能影響很大,甚至提取的特征的順序也會影響最后的分類性能。同時(shí),圖像預(yù)處理的好壞也會影響到提取的特征。
沒有卷積神經(jīng)網(wǎng)絡(luò)的說法,只有卷積核的說法。電腦圖像處理的真正價(jià)值在于:一旦圖像存儲在電腦上,就可以對圖像進(jìn)行各種有效的處理。如減小像素的顏色值,可以解決曝光過度的問題,模糊的圖像也可以進(jìn)行銳化處理,清晰的圖像可以使用模糊處理模擬攝像機(jī)濾色鏡產(chǎn)生的柔和效果。用Photoshop等圖像處理,施展的魔法幾乎是無止境的。四種基本圖像處理效果是模糊、銳化、浮雕和水彩。?這些效果是不難實(shí)現(xiàn)的,它們的奧妙部分是一個(gè)稱為卷積核的小矩陣。這個(gè)3*3的核含有九個(gè)系數(shù)。為了變換圖像中的一個(gè)像素,首先用卷積核中心的系數(shù)乘以這個(gè)像素值,再用卷積核中其它八個(gè)系數(shù)分別乘以像素周圍的八個(gè)像素,最后把這九個(gè)乘積相加,結(jié)果作為這個(gè)像素的值。對圖像中的每個(gè)像素都重復(fù)這一過程,對圖像進(jìn)行了過濾。采用不同的卷積核,就可以得到不同的處理效果。?用PhotoshopCS6,可以很方便地對圖像進(jìn)行處理。模糊處理——模糊的卷積核由一組系數(shù)構(gòu)成,每個(gè)系數(shù)都小于1,但它們的和恰好等于1,每個(gè)像素都吸收了周圍像素的顏色,每個(gè)像素的顏色分散給了它周圍的像素,最后得到的圖像中,一些刺目的邊緣變得柔和。銳化卷積核中心的系數(shù)大于1,周圍八個(gè)系數(shù)和的絕對值比中間系數(shù)小1,這將擴(kuò)大一個(gè)像素與之周圍像素顏色之間的差異,最后得到的圖像比原來的圖像更清晰。浮雕卷積核中的系數(shù)累加和等于零,背景像素的值為零,非背景像素的值為非零值。照片上的圖案好像金屬表面的浮雕一樣,輪廓似乎凸出于其表面。要進(jìn)行水彩處理,首先要對圖像中的色彩進(jìn)行平滑處理,把每個(gè)像素的顏色值和它周圍的二十四個(gè)相鄰的像素顏色值放在一個(gè)表中,然后由小到大排序,把表中間的一個(gè)顏色值作為這個(gè)像素的顏色值。然后用銳化卷積核對圖像中的每個(gè)像素進(jìn)行處理,以使得輪廓更加突出,最后得到的圖像很像一幅水彩畫。我們把一些圖像處理技術(shù)結(jié)合起來使用,就能產(chǎn)生一些不常見的光學(xué)效果,例如光暈等等。希望我能幫助你解疑釋惑。
不管何種模型,其損失函數(shù)(Loss Function)選擇,將影響到訓(xùn)練結(jié)果質(zhì)量,是機(jī)器學(xué)習(xí)模型設(shè)計(jì)的重要部分。對于判別模型,損失函數(shù)是容易定義的,因?yàn)檩敵龅哪繕?biāo)相對簡單。但對于生成模型,損失函數(shù)卻是不容易定義的。
GAN算法原理:
1)G是一個(gè)生成圖片的網(wǎng)絡(luò),它接收一個(gè)隨機(jī)的噪聲z,通過這個(gè)噪聲生成圖片,記做G(z)。
3)在最理想的狀態(tài)下,G可以生成足以“以假亂真”的圖片G(z)。對于D來說,它難以判定G生成的圖片究竟是不是真實(shí)的,因此D(G(z)) = 0.5。
4)這樣目的就達(dá)成了:得到了一個(gè)生成式的模型G,它可以用來生成圖片。
在訓(xùn)練過程中,生成網(wǎng)絡(luò)G的目標(biāo)就是盡量生成真實(shí)的圖片去欺騙判別網(wǎng)絡(luò)D。而判別網(wǎng)絡(luò)D的目標(biāo)就是盡量把G生成的圖片和真實(shí)的圖片分別開來。這樣,G和D構(gòu)成了一個(gè)動態(tài)的“博弈過程”。
2.再以理論抽象進(jìn)行說明:
GAN是一種通過對抗過程估計(jì)生成模型的新框架。框架中同時(shí)訓(xùn)練兩個(gè)模型:捕獲數(shù)據(jù)分布的生成模型G,和估計(jì)樣本來自訓(xùn)練數(shù)據(jù)的概率的判別模型D。G的訓(xùn)練程序是將D錯(cuò)誤的概率最大化。可以證明在任意函數(shù)G和D的空間中,存在唯一的解決方案,使得G重現(xiàn)訓(xùn)練數(shù)據(jù)分布,而D=0.5(D判斷不出真假,50%概率,跟拋硬幣決定一樣)。在G和D由多層感知器定義的情況下,整個(gè)系統(tǒng)可以用反向傳播進(jìn)行訓(xùn)練。在訓(xùn)練或生成樣本期間,不需要任何馬爾科夫鏈或展開的近似推理網(wǎng)絡(luò)。實(shí)驗(yàn)通過對生成的樣品的定性和定量評估,證明了GAN框架的潛在優(yōu)勢。
Goodfellow從理論上證明了該算法的收斂性。在模型收斂時(shí),生成數(shù)據(jù)和真實(shí)數(shù)據(jù)具有相同分布,從而保證了模型效果。
GAN公式形式如下:
1)公式中x表示真實(shí)圖片,z表示輸入G網(wǎng)絡(luò)的噪聲,G(z)表示G網(wǎng)絡(luò)生成的圖片;
2)D(x)表示D網(wǎng)絡(luò)判斷圖片是否真實(shí)的概率,因?yàn)閤就是真實(shí)的,所以對于D來說,這個(gè)值越接近1越好。
3)G的目的:D(G(z))是D網(wǎng)絡(luò)判斷G生成的圖片的是否真實(shí)的概率。G應(yīng)該希望自己生成的圖片“越接近真實(shí)越好”。也就是說,G希望D(G(z))盡可能得大,這時(shí)V(D, G)會變小。因此公式的最前面記號是min_G。
4)D的目的:D的能力越強(qiáng),D(x)應(yīng)該越大,D(G(x))應(yīng)該越小。這時(shí)V(D,G)會變大。因此式子對于D來說是求最大max_D。
GAN訓(xùn)練過程:
GAN通過隨機(jī)梯度下降法來訓(xùn)練D和G。
1)首先訓(xùn)練D,D希望V(G, D)越大越好,所以是加上梯度(ascending)
2)然后訓(xùn)練G時(shí),G希望V(G, D)越小越好,所以是減去梯度(descending);
GAN訓(xùn)練具體過程如下:
GAN算法優(yōu)點(diǎn):
1)使用了latent code,用以表達(dá)latent dimension、控制數(shù)據(jù)隱含關(guān)系等;
2)數(shù)據(jù)會逐漸統(tǒng)一;
3)不需要馬爾可夫鏈;
4)被認(rèn)為可以生成最好的樣本(不過沒法鑒定“好”與“不好”);
5)只有反向傳播被用來獲得梯度,學(xué)習(xí)期間不需要推理;
6)各種各樣的功能可以被納入到模型中;
7)可以表示非常尖銳,甚至退化的分布。
GAN算法缺點(diǎn):
1)Pg(x)沒有顯式表示;
2)D在訓(xùn)練過程中必須與G同步良好;
3)G不能被訓(xùn)練太多;
4)波茲曼機(jī)必須在學(xué)習(xí)步驟之間保持最新。
GAN的應(yīng)用范圍較廣,擴(kuò)展性也強(qiáng),可應(yīng)用于圖像生成、數(shù)據(jù)增強(qiáng)和圖像處理等領(lǐng)域。
1)圖像生成:
目前GAN最常使用的地方就是圖像生成,如超分辨率任務(wù),語義分割等。
2)數(shù)據(jù)增強(qiáng):
用GAN生成的圖像來做數(shù)據(jù)增強(qiáng)。主要解決的問題是a)對于小數(shù)據(jù)集,數(shù)據(jù)量不足,可以生成一些數(shù)據(jù);b)用原始數(shù)據(jù)訓(xùn)練一個(gè)GAN,GAN生成的數(shù)據(jù)label不同類別。
GAN生成式對抗網(wǎng)絡(luò)是一種深度學(xué)習(xí)模型,是近年來復(fù)雜分布上無監(jiān)督學(xué)習(xí)最具有前景的方法之一,值得深入研究。GAN生成式對抗網(wǎng)絡(luò)的模型至少包括兩個(gè)模塊:G模型-生成模型和D模型-判別模型。兩者互相博弈學(xué)習(xí)產(chǎn)生相當(dāng)好的輸出結(jié)果。GAN算法應(yīng)用范圍較廣,擴(kuò)展性也強(qiáng),可應(yīng)用于圖像生成、數(shù)據(jù)增強(qiáng)和圖像處理等領(lǐng)域。
要深入理解卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),我們需要追根溯源,只有這樣才能更好的理解 CNN 網(wǎng)絡(luò)。
1998年 LeCun 和 Bengio 等人利用 LeNet-5 網(wǎng)絡(luò)在手寫體數(shù)字識別領(lǐng)域上的識別效果超過了傳統(tǒng)方法,從此開啟了卷積神經(jīng)網(wǎng)絡(luò)的在圖像上的應(yīng)用大門。據(jù)說,一開始美國銀行的手寫體數(shù)字識別就是用的這個(gè)算法。
Gradient -Based Learing Applied to Document Recognition
論文有點(diǎn)長,46頁,估計(jì)很難讀下來。
LeCun 做了一些網(wǎng)頁展示,有興趣可以去瀏覽。
上圖是 LeCun 原論文中 LeNet-5 的結(jié)構(gòu)圖。
如何用70行Java代碼實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)算法
import java.util.Random;
public class BpDeep{
public double[][] layer;//神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn)
public double[][] layerErr;//神經(jīng)網(wǎng)絡(luò)各節(jié)點(diǎn)誤差
public double[][][] layer_weight;//各層節(jié)點(diǎn)權(quán)重
public double[][][] layer_weight_delta;//各層節(jié)點(diǎn)權(quán)重動量
public double mobp;//動量系數(shù)
public double rate;//學(xué)習(xí)系數(shù)
public BpDeep(int[] layernum, double rate, double mobp){
this.mobp = mobp;
this.rate = rate;
layer = new double[layernum.length][];
layerErr = new double[layernum.length][];
layer_weight = new double[layernum.length][][];
layer_weight_delta = new double[layernum.length][][];
Random random = new Random();
for(int l=0;llayernum.length;l++){
layer[l]=new double[layernum[l]];
layerErr[l]=new double[layernum[l]];
if(l+1layernum.length){
layer_weight[l]=new double[layernum[l]+1][layernum[l+1]];
layer_weight_delta[l]=new double[layernum[l]+1][layernum[l+1]];
for(int j=0;jlayernum[l]+1;j++)
for(int i=0;ilayernum[l+1];i++)
layer_weight[l][j][i]=random.nextDouble();//隨機(jī)初始化權(quán)重
}
}
}
//逐層向前計(jì)算輸出
public double[] computeOut(double[] in){
for(int l=1;llayer.length;l++){
for(int j=0;jlayer[l].length;j++){
double z=layer_weight[l-1][layer[l-1].length][j];
for(int i=0;ilayer[l-1].length;i++){
layer[l-1][i]=l==1?in[i]:layer[l-1][i];
z+=layer_weight[l-1][i][j]*layer[l-1][i];
}
layer[l][j]=1/(1+Math.exp(-z));
}
}
return layer[layer.length-1];
}
//逐層反向計(jì)算誤差并修改權(quán)重
public void updateWeight(double[] tar){
int l=layer.length-1;
for(int j=0;jlayerErr[l].length;j++)
layerErr[l][j]=layer[l][j]*(1-layer[l][j])*(tar[j]-layer[l][j]);
while(l--0){
for(int j=0;jlayerErr[l].length;j++){
double z = 0.0;
for(int i=0;ilayerErr[l+1].length;i++){
z=z+l0?layerErr[l+1][i]*layer_weight[l][j][i]:0;
layer_weight_delta[l][j][i]= mobp*layer_weight_delta[l][j][i]+rate*layerErr[l+1][i]*layer[l][j];//隱含層動量調(diào)整
layer_weight[l][j][i]+=layer_weight_delta[l][j][i];//隱含層權(quán)重調(diào)整
if(j==layerErr[l].length-1){
layer_weight_delta[l][j+1][i]= mobp*layer_weight_delta[l][j+1][i]+rate*layerErr[l+1][i];//截距動量調(diào)整
layer_weight[l][j+1][i]+=layer_weight_delta[l][j+1][i];//截距權(quán)重調(diào)整
}
}
layerErr[l][j]=z*layer[l][j]*(1-layer[l][j]);//記錄誤差
}
}
}
public void train(double[] in, double[] tar){
double[] out = computeOut(in);
updateWeight(tar);
}
}
新聞名稱:java卷積神經(jīng)網(wǎng)絡(luò)代碼 java卷積神經(jīng)網(wǎng)絡(luò)代碼是什么
URL分享:http://vcdvsql.cn/article16/hiocdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、云服務(wù)器、全網(wǎng)營銷推廣、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)