1.resource
1.Video Link
【【什么是CNN?】浙大大佬教你怎么卷CNN,卷积神经网络CNN从入门到实战,通俗易懂草履虫听了都点头(人工智能、深度学习、机器学习、计算机视觉)】
【什么是CNN?】浙大大佬教你怎么卷CNN,卷积神经网络CNN从入门到实战,通俗易懂草履虫听了都点头(人工智能、深度学习、机器学习、计算机视觉)_哔哩哔哩_bilibili
2.Official Code
2.Situation
-
video: all video
-
Quiz: see the code with video
3.catalogue
1- Application areas of convolutional neural networks
2- The action of convolution
3- Convolution eigenvalue calculation method
4- Get feature map representation
5- Influence of step size and convolution kernel size on results
6- Edge filling method
7- Feature map size calculation and parameter sharing
8- The role of the pooling layer
9- Overall network architecture
10-VGG network architecture
11- Residual network Resnet
12- The role of receptive fields
Project practice: Build recognition model based on CNN
0- Network flow interpretation
1-Vision module function interpretation
2- Classification task data set definition and configuration
3- The role of image enhancement
4- Data preprocessing and data enhancement module
5-Batch Data production
Build image recognition module (cnn)
6- Transfer learning goals
7- Transfer learning strategies
8- Load the trained network model
9- Optimizer module configuration
10- Implement the training module
1-卷积神经网络应用领域
2-卷积的作用
3-卷积特征值计算方法
4-得到特征图表示
5-步长与卷积核大小对结果的影响
6-边缘填充方法
7-特征图尺寸计算与参数共享
8-池化层的作用
9-整体网络架构
10-VGG网络架构
11-残差网络Resnet
12-感受野的作用
项目实战:基于CNN构建识别模型
0-网络流程解读
1-Vision模块功能解读
2-分类任务数据集定义与配置
3-图像增强的作用
4-数据预处理与数据增强模块
5-Batch数据制作
搭建图像识别模块(cnn)
6-迁移学习的目标
7-迁移学习策略
8-加载训练好的网络模型
9-优化器模块配置
10-实现训练模块
1- Application areas of convolutional neural networks
1.CV: computer vision
Machine Learning: 2010-2011
Deep Learning: 2012-now
Human: 5% , Deep Learning reach 5% between 2014 and 2015
1. CNN: convolutional neural networks
Classification and retrieval
Super resolution reconstruction
pilotless automobile
face recognition
2-The Usage of Convolution
1.Different between NN and CNN
2.Overall architecture:
input layer,
convolution layer,
pooling layer,
fully connected layer
3- Convolution eigenvalue calculation method
1.Each channel is calculated separately
R channel, G channel, B channel
4- Get feature map representation
The number of parameters, convolutional cores, is the number of feature map.
5- Influence of step size and convolution kernel size on results
步长
图像任务:步长常用1
文本数据:步长常用≥2
卷积核尺寸
常见3*3
6- Edge filling method
边缘填充padding
+pad 1
周围边界值都为0
重合地方的值对最终结果的影响大
越往边界的点:贡献越小
越往中间的点:贡献越大
边界点真不重要吗?不一定,所以周围加1圈0,弥补了边界利用不充分的问题
为什么加0?加其他的会对最终结果产生影响,不希望添加的东西产生不利的影响
7- Feature map size calculation and parameter sharing
EXAMPLE
EXAMPLE2
calculate parameters
8- The role of the pooling layer
1.池化层
卷积很多,得到64个特征图,特征太多
池化层:压缩、下采样、简化、simplify、筛选
特征图的个数C不会变
只能缩减H和W
2.最大池化:MAX POOLING
每个池子选择最大的值
神经网络获得特征值比较大,整个网络会觉得你的特征比较重要
EXAMPLE
3.average pooling:现在已经见不到了
学者认为:MAX POOLING 》》 AVERAGE POOLING
没有涉及到任何矩阵的运算
9- Overall network architecture
1.CONV:卷积层进行特值提取
RELU:非线性变换,线性整流函数(Rectified Linear Unit)
POOL:池化
FC:全链接层 [10240,5]
10240:32 * 32 * 10,把图拉成一个特征向量
5:五个分类
7层的神经网络:只有带参数的才能称为1层
CONV FC
2.特征图变化
池化:一般是变为1/4
卷积核的个数可以自己定义为由多到少或者又少到多
10-VGG network architecture
1.经典网络 - Alexnet:12年夺冠的网络
11x11 filter:大刀阔斧的提取特征,太大了
stride:4,太大了
pad 0 :不常见
8层网络
5层卷积
LR:后来被证明没用
2.经典网络 Vgg:14年的网络
D:最常见的
16层/19层,比之前多
卷积核大小:3*3,比之前少
特点:POOL后损失信息,用卷积的特征图翻倍来弥补
优势:VGG上升15个百分点
缺点:Alex 8小时训练,VGG 3天训练
实验:16层比30层效果好
11- Residual network Resnet
1.残差网络
15年的
解决方案:同等映射
堆叠的
权重参数设为0
A——B——C
B不好,不带B玩了,直接A给C
X:20层后的某一层
weight layer:ConV1
identify:直接拿过来
这个网络会把参数设为0,还有保底x,至少不会比原来效果差
2.论文中的图
传统,层数越高,error越差
出来残差网络,效能比原来好
12- The role of receptive fields
感受野:希望越大越好
一个点感受前面参与计算数据的大小
有一个数字可以感受到前面一层3X3
假设就是两层,感受也就是5x5
Project practice: Build recognition model based on CNN
0- Network flow interpretation
1-Vision module function interpretation
pip install torchvision
提供所有的经典的训练好的模型
2- Classification task data set definition and configuration
花的分类识别
flower data:文件夹表示当前的数据都存在哪
train 1-102 当前类别的图像,每个类别建一个文件夹
1.数据预处理部分:
数据增强:数据变得更加多
经典网络:输入的大小都是一样的,例如256*256
一个Batch,一个Batch去读取
2.网络架构:
调用现成的网络架构,要改成和自己任务匹配的模型
3.网络模型的保存和测试
3- The role of image enhancement
Data Augmentation
数据不够怎么办?
图像反转
数据量非常重要,如何让数据量更加多
角度旋转:顺时针和逆时针旋转
放大或者缩小
或者结合
像素点矩阵全部改变
4- Data preprocessing and data enhancement module
train:训练模块去做
随机旋转:Random Rotation
中心裁剪:Center Crop
也可以进行随机裁剪,256*256里面可以裁剪很多224*224
随机水平翻转:Random Horizontal Flip,概率0.5
随即垂直翻转:Random Vertical Flip
图像变换:亮度对比度饱和度色相
概率专为灰度图
标准化:VGG、Reset Net 迁移学习 为了效果更加好,用别人的均值和标准差来计算,-均值 / 标准差
valid:验证集,来看模型好不好,删除所有图形增强
Resize:规格调整
裁剪为224*224
转为Tensor的格式
预处理一样的
5-Batch Data production
Build image recognition module (cnn)
我们的目标和别人的识别一样
人家学完模型中,CONV FC参数拿来当我的权重参数和偏执参数
调整我的图像和数据,和别人一样的
神经网络:特征提取
6- Transfer learning goals
FC
别人1000分类
自己100分类
自己把别人的A的参数进行基础化
不训练了,直接用别人用
FC:全连接层
数据量小,1w下
10w左右,冻一部分
100w左右,自己训练
迁移学习的好处
A 自己做
B 抄第一名的答案,然后自己改
VGG
Resent