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