深度學(xué)習(xí)網(wǎng)絡(luò)作為一個功能多樣的工具,雖然最初僅用于圖像分析,但它已逐漸被應(yīng)用到各種不同的任務(wù)和領(lǐng)域中。高準(zhǔn)確性和高處理速度,使得用戶無需成為領(lǐng)域?qū)<壹纯蓪Υ笮蛿?shù)據(jù)集執(zhí)行復(fù)雜分析。
小編邀請 MathWorks 產(chǎn)品經(jīng)理 Johanna 分享一些深度學(xué)習(xí)網(wǎng)絡(luò)的使用示例以供參考:
文本分析
在本例中,我們將分析推特數(shù)據(jù),了解針對特定詞或短語的情感是積極的還是消極的。情感分析有很多實際的應(yīng)用,如品牌推廣、競選活動和廣告營銷。
過去(目前仍然)進(jìn)行情感分析通常使用機(jī)器學(xué)習(xí)。機(jī)器學(xué)習(xí)模型可分析單個詞,但深度學(xué)習(xí)網(wǎng)絡(luò)可應(yīng)用于完整的句子,大大地提高了準(zhǔn)確性。
訓(xùn)練組由數(shù)以千計正面或負(fù)面的推特樣本組成。這里是訓(xùn)練示例:
我們通過去除“the”和“and”等“停滯詞”對數(shù)據(jù)進(jìn)行了清理,這些詞對于算法的學(xué)習(xí)毫無用處。然后,我們上傳了長短期記憶(longshort-term memory, LSTM)網(wǎng)絡(luò),它是一種遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN),可學(xué)習(xí)時間上的依賴關(guān)系。
LSTM 擅長對序列和時序數(shù)據(jù)進(jìn)行分類。當(dāng)分析文本時,LSTM 不僅會考慮單個詞,還會考慮句子結(jié)構(gòu)和詞的組合。
網(wǎng)絡(luò)本身的 MATLAB 代碼非常簡單:
layers = [ sequenceInputLayer(inputSize)
lstmLayer(outputSize,'OutputMode','last')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer ]
在 GPU 上運行時,它訓(xùn)練的非??焖伲?0 次迭代(完整遍歷一次所有數(shù)據(jù))只需 6 分鐘。
完成對模型的訓(xùn)練后,我們就可對新數(shù)據(jù)使用該模型。例如:我們可用它確定情感分?jǐn)?shù)與股票價格之間是否相關(guān)。
在本例中,我們需要將語音音頻文件分類到其對應(yīng)的詞類。初看上去,此問題與圖像分類完全不同,但實則非常相似。頻譜是 1D 音頻文件中信號的二維顯示(圖 1)。我們可以將其用作對卷積神經(jīng)網(wǎng)絡(luò)(CNN)的輸入,如同使用“真實”圖像一樣。
圖1. 上部:原始音頻信號。底部:對應(yīng)頻譜。
spectrogram() 函數(shù)是一種將音頻文件轉(zhuǎn)換為其對應(yīng)時頻的簡單方式。但是,語音是音頻處理的一種特定形式,其中重要特征會包含在特定的頻率處。由于我們希望 CNN 專注于這些特定的頻率處,我們將使用美爾倒譜系數(shù),該系數(shù)會鎖定跟語音最相關(guān)的頻率區(qū)域。
我們在希望分類的詞類之間均勻地分配訓(xùn)練數(shù)據(jù)。
為減少偽正面情感,我們納入了容易與目標(biāo)類別混淆的詞類。例如,如果目標(biāo)詞是“on”,則“mom”、“dawn”和“won”等詞會放到“未知”類別中。網(wǎng)絡(luò)不需要知道這些詞是什么,只需要知道它們不是目標(biāo)詞。
我們隨后定義了一個 CNN。由于我們使用頻譜作為輸入值,因此 CNN 的結(jié)構(gòu)可以是類似于用于圖像的結(jié)構(gòu)。
模型訓(xùn)練完畢后,它會將輸入圖像(頻譜圖)分類到相應(yīng)的類別(圖2)。驗證集的準(zhǔn)確性約為96%。
圖2. 詞“yes”的分類結(jié)果。
圖像降噪
小波和濾波器是(仍然是)降噪的常見方法。在本例中,我們將了解到經(jīng)過預(yù)訓(xùn)練的圖像降噪 CNN(DnCNN) 將如何應(yīng)用于包含高斯噪聲的一組圖像中(圖 3)。
圖3. 添加了高斯噪聲的原始圖像。
我們首先下載一個包含高斯噪聲的圖像。
imshow(noisyRGB);
由于這是彩色圖像,但網(wǎng)絡(luò)是在灰階圖像上受訓(xùn)的,因此該過程的唯一難點是需要將圖像分為三個不同通道:紅(R)、綠(G)、藍(lán)(B)。
oisyR = noisyRGB(:,:,1);
noisyG = noisyRGB(:,:,2);
noisyB = noisyRGB(:,:,3);
加載預(yù)先訓(xùn)練的 DnCNN 網(wǎng)絡(luò):
net= denoisingNetwork('dncnn');
現(xiàn)在我們可以使用它去除每個顏色通道中的噪聲。
denoisedR = denoiseImage(noisyR,net);
denoisedG = denoiseImage(noisyG,net);
denoisedB =denoiseImage(noisyB,net);
重新組合經(jīng)過降噪處理的顏色通道,形成降噪后的 RGB 圖像。
denoisedRGB =cat(3,denoisedR,denoisedG,denoisedB);
imshow(denoisedRGB)
title('Denoised Image')
原始(非噪聲)圖像與降噪圖像的快速視覺對比圖說明結(jié)果是合理的(圖 4)。
圖4. 左:原始(非噪音)圖像。右:已降噪圖像。
讓我們放大幾個細(xì)節(jié):
rect = [120 440 130 130];
cropped_orig = imcrop(RGB,rect);
cropped_denoise = imcrop(denoisedRGB,rect);
imshowpair(cropped_orig,cropped_denoise,'montage');
圖 5 中的放大視圖顯示降噪結(jié)果造成了一些負(fù)面影響。顯而易見,原始(非噪聲)圖像具有更高的清晰度,尤其是屋頂和草地。這一結(jié)果可能是可接受的,或者圖像需要進(jìn)一步處理,這取決于它將用于哪些應(yīng)用。
圖5. 放大視圖。
如果考慮使用 DnCNN 進(jìn)行圖像降噪,請記住,它只能識別其接受過訓(xùn)練的噪聲類型,在本例中是高斯噪聲。為提高靈活性,您可以使用 MATLAB 和 Deep Learning Toolbox 通過預(yù)定義層訓(xùn)練自己的網(wǎng)絡(luò),也可以訓(xùn)練完全自定義的降噪神經(jīng)網(wǎng)絡(luò)。
-
噪聲
+關(guān)注
關(guān)注
13文章
1122瀏覽量
47432 -
音頻
+關(guān)注
關(guān)注
29文章
2882瀏覽量
81623 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5504瀏覽量
121229
發(fā)布評論請先 登錄
相關(guān)推薦
評論