3 多层卷积

DeepID网络由香港中文大学SunYi开发,用于人脸特征学习。输入人脸转换为160维向量,通过卷积神经网络进行分类,正确率达99.15%。网络结构含一层全连接层及softmax层,结合第四层卷积和第三层max-pooling输出,学习局部和全局特征。

DeepID网络结构是香港中文大学的Sun Yi开发出来用来学习人脸特征的卷积神经网络。每张输入的人脸被表示为160维的向量,学习到的向量经过其他模型进行分类,在人脸验证试验上得到了97.45%的正确率,更进一步的,原作者改进了CNN,又得到了99.15%的正确率。

如下图所示,该结构与ImageNet的具体参数类似,所以只解释一下不同的部分吧。

卷积神经网络

上图中的结构,在最后只有一层全连接层,然后就是softmax层了。论文中就是以该全连接层作为图像的表示。在全连接层,以第四层卷积和第三层max-pooling的输出作为全连接层的输入,这样可以学习到局部的和全局的特征。

### 多层卷积神经网络结构 多层卷积神经网络(CNN)是指在网络架构中堆叠多个卷积层来逐步提取更复杂的特征。每一层卷积操作可以看作是从输入数据中捕捉特定类型的模式或特征。 #### 特征层次化提取 随着层数增加,浅层通常负责检测基本边缘、颜色变化等简单视觉元素;而深层则能够识别更为抽象的对象部分乃至整体对象[^1]。这种分层特性使得模型具备强大的表征能力,在图像分类任务上表现优异。 #### 实现方式 构建一个多层卷积网络涉及几个关键组件: - **卷积层**:执行滤波器与局部区域内的像素值相乘求和的操作,生成新的表示形式。 ```python import torch.nn as nn class MultiLayerConvNet(nn.Module): def __init__(self): super(MultiLayerConvNet, self).__init__() self.conv1 = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, stride=1, padding=1) self.conv2 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=3, stride=1, padding=1) # 更多卷积层... def forward(self, x): x = F.relu(self.conv1(x)) x = F.max_pool2d(x, 2) x = F.relu(self.conv2(x)) x = F.max_pool2d(x, 2) return x ``` - **激活函数**:引入非线性因素使网络能更好地拟合复杂关系。常用ReLU作为激活单元。 `F.relu()` 函数用于上述代码中的激活步骤。 - **池化层**:减少空间尺寸的同时保留重要信息,有助于提高泛化性能并减轻计算负担。 使用`F.max_pool2d()`实现了最大池化的功能。 - **全连接层**:最终将高层级特征转换成类别预测得分或其他目标输出。 除了这些基础模块外,现代CNN还可能采用批量归一化(batch normalization)、跳跃连接(skip connections)等技术进一步优化性能。 #### 应用领域 得益于其优秀的特征抽取能力和自动化程度高的优势,多层卷积神经网络广泛应用于计算机视觉各个子域,比如物体检测、语义分割以及风格迁移等方面[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值