65.9K
CodeProject 正在变化。 阅读更多。
Home

深度学习年龄估计:设计 CNN

2020年7月21日

CPOL

5分钟阅读

viewsIcon

7886

downloadIcon

152

在本文中,我们将指导您完成深度学习流程中最困难的步骤之一:CNN设计。

在本系列文章中,我们将向您展示如何使用深度神经网络 (DNN) 从图像中估计一个人的年龄。

在本系列文章(第三篇)中,我们将指导您完成深度学习流程中最困难的步骤之一:CNN设计。

CNN预测的精度直接取决于CNN结构——其层堆叠和参数。

CNN层

层是CNN的构建块。CNN层有许多类型;最常用的包括:卷积(CONV)、激活(ACT)、全连接(FC)、池化(POOL)、归一化(NORM)和Dropout(DROP)。

CONV层是卷积网络命名的核心块。卷积层包含一组卷积(核)。这些核是小的方形矩阵。这些矩阵的系数是“可学习的”。也就是说,它们将在CNN训练过程中分配,以优化预测。训练卷积层的核允许网络从图像中提取局部特征和模式,然后决定哪些特征对分类有价值。CNN由多个连续的卷积层组成,每一层负责提取越来越抽象的特征。

ACT层将非线性函数应用于数据。非线性是解决分类问题的重要工具,因为几乎所有类别的问题都是非线性可分的。激活层通常在卷积层和全连接层之后使用。激活函数有很多种:阶跃(STEP)、Sigmoid(SIGM)、双曲正切(TANH)、ReLU(Rectified Linear Unit)、ELU(Exponential Linear Unit)等等。ReLU函数可能是现代CNN中最常用的。

FC层总是出现在CNN的末尾。FC层的末端堆叠是CNN的另一个核心组成部分。本质上,全连接层堆叠是一个感知机网络。它接收卷积层提取的特征作为输入数据。在CNN训练过程中,该子网络会优化其神经元的权重,以最大化CNN的预测能力。

POOL层通常用于连续的卷积层之间,以减小输入/输出数据的空间尺寸。NORM层通常跟在层后面,将它们的输出归一化到单位范围。DROP层通常用于两个FC层之间,以减少网络的连接性。

层堆叠

有一些常见的层堆叠模式,我们可以用它们来成功解决各种图像分类问题。当某个CNN赢得图像分类挑战时,该CNN的结构就成为一种模式——标准网络架构——直到另一个CNN超越前一个获胜者。一些定义模式的CNN包括:LeNet、WGGNet、ResNet、GoogLeNet和Xception。许多标准的CNN架构都在Keras框架中作为开箱即用的类实现。我们可以使用这些类之一来解决年龄估计问题。然而,在本系列中,我们的目标是展示完整的深度学习流程——所以,我们将使用我们自己的CNN架构,然后使用Keras库来创建网络。

我们的CNN结构

这是我们建议的CNN结构……

如图所示,CNN的输入数据是128x128像素的灰度图像。我们决定输入图像应该是灰度而不是彩色。为什么?因为我们认为对于年龄估计重要的特征不是由颜色决定的;相反,它们是几何性质的。输入图像的大小——128像素方形——对于CNN来说相当典型,图像大小范围从24到256像素。

网络的第一个卷积部分由四个堆叠的子网络组成。每个子网络是卷积层、激活层和归一化层的序列。前两个卷积层使用5x5像素的核,最后一个使用较小的核——3x3像素。卷积核的数量K对于所有层都相同。它是CNN的一个参数,在网络初始化时指定,用于处理不同复杂性的问题。卷积层使用填充来保留输入数据的空间尺寸。卷积子网络中的激活层使用ReLU激活函数。

第二个和第四个卷积子网络包含池化层。这些层使用MAX池化函数、2x2的核和2x2的步长。这使得每次池化层后每个空间维度减半。由于第一个池化层的输入大小是128x128像素,其输出是64x64像素。第二个池化层的输入大小是64x64像素,输出是32x32像素。请记住,所有这些都是空间尺寸。第三个维度——深度——对于所有层中的所有输入/输出数据都是K。

CNN的最后一部分是“多层感知机”。它由两个带有ReLU激活函数的“隐藏”全连接层和一个输出全连接层组成。两个隐藏FC层有N个神经元——这是另一个CNN参数——而最后一个FC层有X个神经元,其中X是类别(年龄组)的数量。隐藏层的输出通过归一化层进行归一化。两个隐藏层之间有一个dropout层,它减少了它们的连接性。dropout概率为0.5,这意味着每两个神经元连接就有一个被丢弃。输出FC层使用SOFTMAX激活。这种激活类型是分类网络中常见的输出层,因为它为每个类别计算概率。

下一步

在本文中,我们简要讨论了主要的CNN层类型、它们的参数和应用。然后,我们设计了解决年龄估计问题的CNN结构。

下一步是在Keras中构建我们设计的CNN。

© . All rights reserved.