CNN介绍

本文详细介绍了卷积神经网络(CNN)的工作原理,包括卷积层、功能层的操作,如非线性激励、降维pooling、归一化等。探讨了AlexNet、VGG、GoogLeNet、ResNet等著名模型,并涉及目标检测的RCNN、Fast-CNN、YOLO等方法,以及在面部识别和表情识别中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链式反向梯度传导

链式法则

卷积神经网络-卷积层

卷积层

卷积层由多个卷积核构成,每个卷积核会计算生成一个特征图,即有几个卷积核生成的特征图的厚度就是多少
假设输入维度为100100m,卷积核含有n个33m的卷积核。每个卷积核要和m层中的每一层卷积,再将m个值相加得到一层,最后输出为9898n。

卷积核

同输入数据进行计算的算子
大小由用户定义
卷积核‘'矩阵’值:卷积神经网络的参数
卷积核初值随机生成,通过反向传播更新

步长

对输入特征图的扫描间隔对输出特征图的影响

边界扩充

为了使边界上的数据也能作为中心进行卷积运算,将边界假装延伸
卷积核的宽度为2i+1,添加pad宽度为1

卷积核数目

卷积神经网络的宽度,常见64,128,256(为了更高效)

正向传播

反向传播

卷积神经网络-功能层

非线性激励

卷积是线性运算,增加非线性描述能力
relu函数:小于0的地方置0

降维pooling layer

特征图稀疏,减少数据运算量,保持精度
每张特征图单独降维

归一化 normalization layer

使特征的scale保持一致
可以加速训练,提高精度

区域分割 slice layer

不同区域进行独立学习
好处:更强的特征描述能力

区域融合merge layer

对独立进行特征学习的分支进行融合,构建高效而精简的特征组合

增维

增加图片生成的空间信息

实例:卷积神经网络MNIST分类

AlexNet结构

现代神经网络起源
背景:imageNet Challenge对图片(10001000)进行分类 (1000)
结构:卷积层+池化层+全连接层
设置是不唯一的,比如全连接层的层数以及宽度,不过最后一层必须与类数相同
[227*227*3] INPUT
[55*55*96] CONV196 11*11 FILTERS AT STRIDE 4, PAD 0
[27*27*96] MAX POOL1 3*3 FILTERS AT STRIDE 2
[27*27*96] NORM1 NORMALIZATION LAYER
[27*27*256] CONV2 256 5*5 FILTERS AT STRIDE , PAD 2
[13*13*256] MAX POOL2 3*3 FILTERS AT STRIDE 2
[13*13*256] NORM2 NORMALIZATION LAYER
[13*13*384] CONV3 384 3*3 FILTERS AT STRIDE 1, PAD 1
[13*13*384] CONV4 384 3*3 FILTERS AT STRIDE 1, PAD 1
[13*13*256] CONV5 256 3*3 FILTERS AT STRIDE 1, PAD 1
[6*6*256] MAX POOL3 3
3 FILTERS AT STRIDE 2
[4096]FC6 4096 NEURONS
[4096] FC7 4096 NERONS
[1000] FC8 1000 NERONS(CLASS SCORES)

VGG

与Alexnet相比有卷积层的地方变成好几层
同Alexnet相比提升明显
选择最多的基本模型

Googlenet

多分辨率融合inception module

在这里插入图片描述
1*1卷积的作用:减少参数(经过了1*1卷积后m减少到n,输入层数变成了卷积核个数)
不使用全连接层,全部使用卷积层,参数也减少了很多
输入图片大小无限制
丢失一定的空间信息(因为全连接层能够包含空间位置之间的关系)

Resnet

机器超越人类识别
与VGG相比层数8倍,速度加快
结构特性
在这里插入图片描述
加法融合:通过卷积层后和之前的数据进行相加(结构要相同:卷积核的个数等于输入的层数)
有效的原因:
前向:低层卷积网络高层卷积网络信息融合;层数越深,模型的表现力越强
反向:导数传递更直接,越过模型,直达各层

deepface

结构化图片的特殊处理
人脸识别:通过观察人脸确认对应身份,在应用中更多的是确认(verification)
结构化:组成相似,理论上能够对齐
差异化:相同位置,形貌不同
问题:卷积核同整张图片卷积运算,卷积核参数共享,不同局部特性对参数影响互相削弱
解决:不同区域,不同参数

人脸对准

1.二维对准
二维矩阵(R,T)运算
2.三维对准
三维标准模板映射到二维

局部卷积

每个卷积核固定在某一区域不移动;
不同区域之间不共享卷积核;
卷积核参数由固定区域数据确定
预处理:大量对准,对准要求高,原始信息可能丢失;
卷积参数数量很大,模型收敛难度大,需要大量数据;
模型可扩展性差,基本限于人脸计算

U-net

卷积-逆卷积
9
图片生成特殊类型的图片,图片所有pixel需要生成,多目标回归

目标分类框架

1.数据准备

数据来源

数据扩充

原始数据切割;噪声颜色等像素变化;旋转平移等姿态变化(图像效果算子)

数据规范

均值处理;归一化;大小调整

2.模型设计

任务类型

分类:表情分类,人群分类
分类+回归:表情加程度,什么人+人数
多目标分类:面部行为,群体行为

现有模型

ICCV,ECCV,CVPR(图像识别)
ICML NIPA(偏理论)
SCL,KDD(语言)

局部更改-从头设计

3.训练细节

GPU-batch size

涉及到计算机性能和运算速度

数据循环方式/平衡性考虑

数量较少的类别秘书局是否需要补偿

网络深度宽度确定

深度与卷积核关系

损失函数设计

分类一般使用softmax

学习率变化方式,模型各层学习率是否一致

评价方式:准确率,F1 score

精度:准确估计/总数
0/1分类中
F1 score:2*(召回率*精确度)/(召回率+精确度)
召回率:正确的1识别/真值所有1个数
精确度:正确的1识别/所有认为是1的个数

迁移学习

在已有模型上继续训练改进

学习率的处理

最底卷积层基本不变
中间卷积层看情况
最后全连接,结构参数均变化

代码示例:面部表情识别

'''
Retraining (Finetuning) Example with vgg.tflearn. Using weights from VGG model to retrain
network for a new task (your own dataset).All weights are restored except
last layer (softmax) that will be retrained to match the new task (finetuning).

edited by wei li for vgg finetuning

'''
import tflearn
from tflearn.data_pre
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值