Keras|1D,2D和3D卷積神經(jīng)網(wǎng)絡(luò)
當(dāng)我們說(shuō)卷積神經(jīng)網(wǎng)絡(luò)(CNN)時(shí),通常是指用于圖像分類的2維CNN。但是,現(xiàn)實(shí)世界中還使用了其他兩種類型的卷積神經(jīng)網(wǎng)絡(luò),即1維CNN和3維CNN。在本指南中,我們將介紹1D和3D CNN及其在現(xiàn)實(shí)世界中的應(yīng)用。我假設(shè)你已經(jīng)大體上熟悉卷積網(wǎng)絡(luò)的概念。
2維CNN | Conv2D
這是在Lenet-5架構(gòu)中首次引入的標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)。Conv2D通常用于圖像數(shù)據(jù)。之所以稱其為2維CNN,是因?yàn)楹嗽跀?shù)據(jù)上沿2維滑動(dòng),如下圖所示。

使用CNN的整體優(yōu)勢(shì)在于,它可以使用其核從數(shù)據(jù)中提取空間特征,而其他網(wǎng)絡(luò)則無(wú)法做到。例如,CNN可以檢測(cè)圖像中的邊緣,顏色分布等,這使得這些網(wǎng)絡(luò)在圖像分類和包含空間屬性的其他類似數(shù)據(jù)中非常強(qiáng)大。
以下是在keras中添加Conv2D圖層的代碼。
參數(shù)input_shape(128、128、3)表示圖像的(高度,寬度,深度)。參數(shù)kernel_size(3,3)表示核的(高度,寬度),并且核深度將與圖像的深度相同。
1維CNN | Conv1D
在介紹Conv1D之前,讓我給你一個(gè)提示。在Conv1D中,核沿一維滑動(dòng)。現(xiàn)在讓我們考慮哪種類型的數(shù)據(jù)只需要核在一個(gè)維度上滑動(dòng)并具有空間特性?
答案就是時(shí)間序列數(shù)據(jù)。讓我們看一下以下數(shù)據(jù)。

該數(shù)據(jù)是從人戴在手臂上的加速度計(jì)中收集的。數(shù)據(jù)表示所有三個(gè)軸的加速度。1維CNN可以根據(jù)加速度計(jì)數(shù)據(jù)執(zhí)行活動(dòng)識(shí)別任務(wù),例如人是站著,行走,跳躍等。此數(shù)據(jù)有2個(gè)維度。第一維是時(shí)間步長(zhǎng),另外一個(gè)是3個(gè)軸上的加速度值。
下圖說(shuō)明了核如何在加速度計(jì)數(shù)據(jù)上移動(dòng)。每行代表某個(gè)軸的時(shí)間序列加速度。核只能沿時(shí)間軸一維移動(dòng)。

以下是在keras中添加Conv1D圖層的代碼。
參數(shù)input_shape(120,3)表示120個(gè)時(shí)間步驟,每個(gè)時(shí)間步驟中有3個(gè)數(shù)據(jù)點(diǎn)。這3個(gè)數(shù)據(jù)點(diǎn)是x,y和z軸的加速度。參數(shù)kernel_size為5,表示核的寬度,核高度將與每個(gè)時(shí)間步驟中的數(shù)據(jù)點(diǎn)數(shù)相同。
同樣,1維CNN也可用于音頻和文本數(shù)據(jù),因?yàn)槲覀冞€可以將聲音和文本表示為時(shí)間序列數(shù)據(jù)。請(qǐng)參考下圖

Conv1D廣泛應(yīng)用于感官數(shù)據(jù),加速度計(jì)數(shù)據(jù)就是其中之一。
3維CNN | Conv3D
在Conv3D中,核按3個(gè)維度滑動(dòng),如下所示。讓我們?cè)傧胂肽姆N數(shù)據(jù)類型需要核在3維上移動(dòng)?

Conv3D主要用于3D圖像數(shù)據(jù)。例如磁共振成像(MRI)數(shù)據(jù)。MRI數(shù)據(jù)被廣泛用于檢查大腦,脊髓,內(nèi)部器官等。計(jì)算機(jī)斷層掃描(CT)掃描也是3D數(shù)據(jù)的示例,它是通過(guò)組合從身體周圍不同角度拍攝的一系列X射線圖像而創(chuàng)建的。我們可以使用Conv3D對(duì)該醫(yī)學(xué)數(shù)據(jù)進(jìn)行分類或從中提取特征。

以下是在keras中添加Conv3D層的代碼。
這里參數(shù)Input_shape(128,128,128,3)有4個(gè)維度。3D圖像也是4維數(shù)據(jù),其中第四維代表顏色通道的數(shù)量。就像平面2D圖像具有3維一樣,其中3維代表色彩通道。參數(shù)kernel_size(3,3,3)表示核的(高度,寬度,深度),并且核的第4維與顏色通道相同。
總結(jié)
在1D CNN中,核沿1個(gè)方向移動(dòng)。一維CNN的輸入和輸出數(shù)據(jù)是二維的。主要用于時(shí)間序列數(shù)據(jù)。在2D CNN中,核沿2個(gè)方向移動(dòng)。2D CNN的輸入和輸出數(shù)據(jù)是3維的。主要用于圖像數(shù)據(jù)。在3D CNN中,核沿3個(gè)方向移動(dòng)。3D CNN的輸入和輸出數(shù)據(jù)是4維的。通常用于3D圖像數(shù)據(jù)(MRI,CT掃描)。下一篇我們將講解理解卷積神經(jīng)網(wǎng)絡(luò)中的輸入與輸出形狀(Keras實(shí)現(xiàn))
轉(zhuǎn)載:https://baijiahao.baidu.com/s?id=1647796501768796880&wfr=spider&for=pc
