1 机器学习流程
- 数据获取
-
特征工程
(重难点) - 建立模型
- 评估与应用
常规套路:
- 收集数据并给定标签
- 训练一个分类器
- 测试与评估
2 什么是深度学习?
深度学习是一种
基于无监督特征学习与特征层次结构
的学习模型,用于解决代替人工实现特征工程的一种方法深度学习(神经网络)是
黑盒子
深度学习理论:
- 掌握深度学习模型的正向传播和反向传播,特别是链式求导法则
- 掌握激活函数和目标函数的作用,能够选择合适的激活函数和目标函数
特征工程的作用:
数据特征决定了模型的上限
预处理和特征提取是最核心的
- 算法与参数选择决定了如何逼近这个上限
3 特征如何提取?
深度学习---》一种特征提取的方法
4 图像分类
图像表示:计算机眼中的图像(一张图片被表示成三维数组形式[矩阵],每个像素值从0(暗)-255(亮))
例如:
300x100x3----》 300x100是图像尺寸(长x宽) 3是3个颜色通道(RGB彩色:红绿蓝)
5 K近邻
计算流程:
- 计算已知类别数据集中的点与当前点的距离
- 按照距离依序排序
- 选取与当前点距离最小的K个点
- 确定前K个点所在类别的出现概率
- 返回前K个点出现频率最高的类别作为当前点预测分类
6 神经网络基础
神经网络的基本原理:前馈过程(前向)和误差反向传播(后向)
- 前馈过程(前向):为了计算输出/损失值
- 误差反向传播(后向):为了更新权重参数
6.1 线性函数
6.2 损失函数
6.3 前向传播与反向传播
初始阶段:随机初始化权重参数W
6.4 梯度下降
6.5 激活函数
6.6 参数初始化
6.7 整体架构
7 卷积神经网络
卷积层:提取特征
池化层:压缩特征(降采样)
输出层:输出类别的概率值
7.1 与传统神经网络区别
HxWxC:HxW为原始图片的大小(H为长度,W为宽度),C为RGB彩色通道的个数(C为维度)
7.2 卷积
卷积
:首先将图像分成多个小区域【目的是对于不同的小区域,得到不一样的特征】,然后选择一种计算方法【对于每个小区域来计算它们各自的特征值—>组成特征图
】
7.3 卷积特征值计算方法
彩色图像:(RGB)三通道[三维]
(RGB)三通道的权重参数W随机初始化(不同)
(RGB)三通道
先各自单独做内积运算叠加和,再加偏置项得到特征值
权重参数W需要学习来更新自己进而提取合适的特征
【注意】:同一个卷积层中的多个卷积核规格是相同的!!!
7.4 特征图(feature map)
特征图的个数=卷积核的个数
特征图(三维:hxwxc):hxw为特征图的大小,c为特征图的个数
7.5 堆叠的卷积层
多次卷积
7.6 卷积层参数
一般设步长为1,卷积核尺寸为3x3
卷积核个数根据所需特征图个数设定
7.7 特征图尺寸计算
7.8 卷积参数共享
对每个小区域的卷积特征值计算时,不同卷积核的权重参数不变—》
权值共享
每个卷积核都有一个对应的偏置参数
7.9 池化层
作用
:压缩特征(降采样),即在经过卷积层后得到的原始特征图中进行筛选特征,组成新的特征图
只做筛选,不做计算!!!
7.10 感受野
在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射的区域大小,即特征图上的一个点对应输入图上的区域
- 两层3x3的卷积核卷积操作之后的感受野是5x5,其中卷积核(filter)的步长(stride)为1、padding为0
- 三层3x3的卷积核卷积操作之后的感受野是7x7,其中卷积核的步长为1、padding为0
卷积神经网络中感受野的详细介绍
7.11 整体架构
CONV:卷积层
RELU:激活函数
POOL:池化层
FC:全连接层
网络层数只针对做计算的层而言,如卷积层和全连接层
【注意】:
- 卷积或池化后得到的是特征图,需要把图(三维)转换成向量(一维)才能做分类或回归任务
- CNN是做分类还是回归任务取决于损失函数的定义与全连接层的设计
8 经典CNN
8.1 AlexNet
2012年网络结构
训练时间:8小时
8.2 VGG
2014年网络结构
训练时间:3天
8.3 ResNet
2015年网络结构—残差网络(跳跃连接)
9 基于CNN构建图像识别模型
9.1 数据增强
9.2 迁移学习
含义:把已训练好的模型(预训练模型)权重参数迁移到新的模型来帮助新模型训练
目标:掌握迁移学习的思路,学会使用预训练权重完成新任务,并掌握冻结部分网络层的方法
方法
:
- 将预训练模型的权重参数作为新模型中权重参数的初始化
- 将预训练模型的权重参数直接作为新模型中权重参数的结果
套路:
- 先通过预训练模型来训练自己分类的那个层,前面都保持不变,训练完后保存最好的模型
- 再用之前保存最好的模型来训练所有层(训练所有的参数,学习率调小一点进行微调)