**预训练网络**(pretrained network):
* 是一个保存好的网络,之前已在大型数据集(通常是大规模图像分类任务)上训练好。训练了一个网络(其类别主要是**动物和日常用品**),然后将这个训练好的网络应用于某个**不相干**的任务,比如在图像中**识别家具**。
*****
### **特征提取**
特征提取是使用之前网络学到的表示来从新样本中提取出有趣的特征。然后将这些特征输入一个新的分类器,从头开始训练。
图像分类的**卷积神经网络**包含两部分:
* 一系列池化层和卷积层:模型的**卷积基**(convolutional base)
* 一个密集连接分类器
对于**卷积神经网络**而言,**特征提取**就是取出之前训练好的网络的卷积基,在上面运行新数据,然后在输出上面训练一个新的分类器。
![](https://img.kancloud.cn/95/80/95803910c975c2e2efd9853cdb443903_615x418.png)
* 某个卷积层提取的表示的**通用性**(以及可复用性)取决于该层在模型中的**深度**
* 新数据集与原始模型训练的数据集有**很大差异**,那么最好只使用模型的**前几层**来做特征提取,而不是使用整个卷积基
* 模型中更靠近底部的层提取的是局部的、高度通用的特征图(比如视觉边缘、颜色和纹理),而更靠近顶部的层提取的是更加抽象的概念(比如“猫耳朵”或“狗眼睛”)
### **微调模型**
* 与特征提取互为补充。对于用于特征提取的冻结的模型基,微调是指将其顶部的几层“解冻”,并将这解冻的几层和新增加的部分联合训练。
* **微调**,它只是略微调整了所复用模型中更加抽象的表示,以便让这些表示与手头的问题更加相关。
#### **步骤:**
1. 在已经训练好的基网络(base network)上添加自定义网络。
2. 冻结基网络。
3. 训练所添加的部分。
4. 解冻基网络的一些层。
5. 联合训练解冻的这些层和添加的部分。
* [ ] 微调最后三个卷积层`block5_conv1`、`block5_conv2`和`block5_conv3`
- 基础
- 张量tensor
- 整数序列(列表)=>张量
- 张量运算
- 张量运算的几何解释
- 层:深度学习的基础组件
- 模型:层构成的网络
- 训练循环 (training loop)
- 数据类型与层类型、keras
- Keras
- Keras 开发
- Keras使用本地数据
- fit、predict、evaluate
- K 折 交叉验证
- 二分类问题-基于梯度的优化-训练
- relu运算
- Dens
- 损失函数与优化器:配置学习过程的关键
- 损失-二分类问题
- 优化器
- 过拟合 (overfit)
- 改进
- 小结
- 多分类问题
- 回归问题
- 章节小结
- 机械学习
- 训练集、验证集和测试集
- 三种经典的评估方法
- 模型评估
- 如何准备输入数据和目标?
- 过拟合与欠拟合
- 减小网络大小
- 添加权重正则化
- 添加 dropout 正则化
- 通用工作流程
- 计算机视觉
- 卷积神经网络
- 卷积运算
- 卷积的工作原理
- 训练一个卷积神经网络
- 使用预训练的卷积神经网络
- VGG16
- VGG16详细结构
- 为什么不微调整个卷积基?
- 卷积神经网络的可视化
- 中间输出(中间激活)
- 过滤器
- 热力图
- 文本和序列
- 处理文本数据
- n-gram
- one-hot 编码 (one-hot encoding)
- 标记嵌入 (token embedding)
- 利用 Embedding 层学习词嵌入
- 使用预训练的词嵌入
- 循环神经网络
- 循环神经网络的高级用法
- 温度预测问题
- code
- 用卷积神经网络处理序列
- GRU 层
- LSTM层
- 多输入模型
- 回调函数
- ModelCheckpoint 与 EarlyStopping
- ReduceLROnPlateau
- 自定义回调函数
- TensorBoard_TensorFlow 的可视化框架
- 高级架构模式
- 残差连接
- 批标准化
- 批再标准化
- 深度可分离卷积
- 超参数优化
- 模型集成
- LSTM
- DeepDream
- 神经风格迁移
- 变分自编码器
- 生成式对抗网络
- 术语表