深度学习笔记
一、人工智能简介
1.人工智能发展的重要时间节点
1.1人工智能孕育期
1.2人工智能诞生期
1.3人工智能第一次浪潮的发展
1.4人工智能的第一次寒冬
第一次寒冬主要面临的几个问题:
1.5人工智能第二次浪潮的发展
1.6人工智能的第二次寒冬
1.7人工智能第三次浪潮的发展
1.8人工智能技术发展的关键
2.人工智能应用领域
人工智能与就业:
3.人工智能研究方法
3.1人工智能概念相关
人工智能定义:
人工智能学习的目标:
人工智能涉及到的相关学科:
人工智能当前的关键技术:
3.2人工智能研究方法
二、深度学习崛起的背景
1.大数据时代来临
信息存储方式的演变:
传统媒介时代:
数字媒介时代:
大数据时代的到来:
大数据与小数据对比:
数据集规模对比:
数据领域相关:
2.GPU计算平台发展
GPU发展历史:
人工智能相关芯片与应用场景:
3.算法的持续积累
什么是深度学习?
深度学习与神经网络:
反向传播机制:
无监督预训练:
激活函数:
正则化技术:
ImageNet比赛中的算法:
产业界中的深度学习发展:
三、深度学习典型应用与研究方向
1.深度学习应用之计算机视觉
图像分类:
图像分割:
目标检测:
目标识别(文本特征):
目标识别(生物特征):
目标跟踪:
图像质量分析与美学评估:
图像降噪与修复:
图像增强:
图像去模糊与超分辨:
图像翻译与风格化:
图像生成:
三维重建(人脸人体):
三维重建(通用场景):
图像编辑(人脸人体):
图像编辑(通用场景):
视频处理:
2.深度学习应用之语音处理
语音分类:
音频指纹识别:
语音检索与唤醒:
语音识别:
声纹/说话人识别:
语音质量评测:
语音增强:
语音合成:
语音生成:
语音合成综合应用:
3.深度学习应用之自然语言处理
文本基本任务:
文本分类与聚类:
文章标签与摘要提取:
文本审核与舆情分析:
机器翻译:
阅读理解:
问答系统与聊天机器人:
搜索引擎:
知识图谱:
自然语言生成/文本生成:
自然语言处理与其他方向的融合:
4.深度学习应用之推荐系统
推荐系统的重要性:
用户画像:
推荐类型:
具体应用之广告推荐:
四、深度学习之神经网络
1.生物学基础与感知器
1.1神经网络的生物学背景
细胞的工作机制:
神经细胞的工作机制:
神经元学说:
1.2人工神经元与感知器
MP模型:
单层感知器:
单层感知器与线性分类任务:
权重参数更新方法:
单层感知器求解:
单层感知器的缺陷:
2.多层感知器与神经网络
2.1多层感知器与反向传播
多层感知器:
多层感知器表达能力:
神经网络的优化:
BP神经网络前向与反向过程:
误差反向传播算法:
误差反向传播算法案例;
非前馈神经网络:
2.2神经网络的表达能力与局限性
表达能力:
局限性:
3.图神经网络基础
3.1图的应用
为什么需要研究图:
不同层级的图数据任务:
3.2图的表示
图的表示:
图的表示——矩阵表示:
图的表示——Laplacian矩阵表示:
3.3图神经网络
图傅里叶变换——频域:
图滤波器——空域:
图卷积:
什么是图神经网络(GCN):
图数据的特点:
图神经网络与CNN对比:
五、卷积神经网络
1.卷积神经网络发展背景与基本概念
1.1发展背景
视野机制——感受野(Receptive Field):
视觉机制——方向选择特性:
视觉机制总结:
计算机视觉学科诞生:
Neocognitron:
Cresceptron:
卷积神经网络与传统神经网络的学习原理对比:
1.2卷积神经网络的基本概念
什么是卷积:
(上面是卷积后的输出,下面是卷积前的输入)
基本概念——数字图像的表示:
RGBA是带透明度的通道表示。
基本概念——图片卷积:
基本概念——特征图:
基本概念——多通道卷积:
基本概念——填充:
基本概念——步长:
卷积结构单元——输入输出大小计算:
基本概念——池化:
基本概念——感受野:
卷积神经网络的重要思想——局部连接:
卷积神经网络的重要思想——权重共享:
典型卷积神经网络——LeNets5:
2.卷积神级网络的反向传播与典型卷积神经网络
2.1卷积神经网络的反向传播
误差反向传播算法(复习):
卷积神经网络误差反向传播:
卷积神经网络误差反向传播案例:
(注:这里是卷积,不是矩阵相乘的计算法则)
2.2典型卷积神经网络
LeNets系列:
LeNets5:
LeNets5工程技巧:
这些技巧与当时的背景和计算机结构有关系。
AlexNets:
AlexNets工程技巧:
六、循环神经网络(RNN)及其改进
1.循环神经网络(RNN)
卷积神经网络的局限性:
RNN模型:
RNN模型的表达:
RNN模型的优化:
2.门控时序网络
长短时记忆网络:
门控循环单元:
3.复杂循环神经网络
双向循环网络:
深度循环神经网络:
七、深度学习优化
1.深度学习优化之激活函数与参数初始化
1.1什么是激活函数
什么是激活(生物层面):
激活的简单案例:
神经网络中的激活函数:
1.2激活函数的发展
S激活函数(Sigmoid):
ReLU激活函数:
ReLU激活函数的改进:
近似ReLU激活函数:
Maxout激活函数:
自动搜索的激活函数:
1.3参数初始化
初始化与深度学习:
什么是好的参数初始化:
全零初始化与随机初始化:
标准初始化:
Xavier初始化:
MSRA初始化:
2.深度学习优化之标准化与池化
2.1标准化方法
什么是标准化/归一化:
归一化的作用:
Batch Normalization:
Batch Normalization的好处:
Batch Normalization的缺点与改进:
标准化方法的对比:
自动学习标准化方法:
2.2池化方法
什么是池化:
常见池化方法:
其他池化方法:
混合池化:
池化的必要性:
3.深度学习优化之泛化与正则化
3.1什么是泛化能力
泛化能力不好带来的问题:
3.2正则化方法:
3.2.1显式正则化方法:
参数正则化方法:
3.2.2隐式正则化方法:
4.深度学习优化之优化目标与评估指标
4.1优化目标
两类基础任务与常见优化目标:
4.1.1分类任务损失
分类任务损失——0-1损失:
分类任务损失——交叉熵损失与KL散度:
分类任务损失——softmax损失的理解与改进:
分类任务损失——Hinge损失:
4.1.2回归任务损失
回归任务损失——L1/L2距离:
L1/L2距离的改进:
4.2评估指标
常见评测指标:
准确率/召回率/精确度/PR曲线:
ROC曲线/AUC面积:
混淆矩阵:
IoU(Intersection-over-Union):
AP(Average Precision)/mAP:
峰值信噪比PSNR:
结构一致性相似SSIM:
5.深度学习优化之最优化
5.1优化概述
最优化概述:
最优化目标比较:
鞍点:
什么是学习率:
5.2最优化方法
常见深度学习模型优化方法:
随机梯度下降法:
动量法:
Nesterov accelerated gradient法:
Adagrad法:
Adadelta与Rmsprop法:
Adam法:
Adam算法的改进:
5.3最优化方法的思考
SGD的改进算法一定更好吗?
二阶优化方法为何不用?
6.深度学习优化之数据增强
6.1数据增强概述
什么是数据增强:
为什么要做数据增强:
6.2经典数据增强方法
单样本集合变换:
单样本像素内容变换:
多样本插值:
链接地址:https://github.com/aleju
6.3自动数据增强方法
生成模型:
Autoaugment:
八、深度学习开源框架
1.Caffe简介
什么是Caffe:
Caffe的特点:
1.1Caffe的安装
依赖库安装(以虚拟环境Ubuntu为例):
Caffe官网地址链接:http://caffe.berkeleyvision.org/installation.html
NVIDIA驱动安装:
NVIDIA官网显卡查询地址链接:https://www.nvidia.com/Download/index.aspx
CUDA环境配置:
NVIDIA官网CUDA环境地址链接https://developer.nvidia.com/cuda-downloads
Caffe编译:
caffe配置地址链接:https://github.com/BVLC/caffe
1.2Caffe的相关使用简介
Caffe的完整目录:
基础函数:
Caffe的数据层次与使用流程:
基本数据格式Blob:
基本数据格式Layer:
Caffe中的序列化:
网络结构定义与可视化:
netscope网页工具可视化地址链接:http://ethereon.github.io/netscope/#/editor
优化器定义:
2.Pytorch简介
什么是Pytorch:
2.1Pytorch的安装
Pytorch官网地址链接:https://pytorch.org/
2.2Pytorch的相关使用简介
Pytorch完整的API:
API地址链接:https://pytorch.org/docs/stable/index.html
基本数据格式Tensor:
Tensor的自动微分autograd:
网络结构定义与前向传播:
优化器定义与反向传播:
数据接口:
3.TensorFlow简介
什么是TensorFlow:
3.1TensorFlow的安装
TensorFlow官网地址链接:https://www.tensorflow.org
TensorFlow的特点:
3.2TensorFlow的相关使用简介
TensorFlow的完整API:
TensorFlowAPI介绍(以1.15版本为例):
TensorFlow的API1.15版本地址链接:https://www.tensorflow.org/versions/r1.15/api_docs/python/tf
基本数据格式Tensor与算子op:
Tensor的数据流图:
Tensor的session会话:
基本数据格式常量与变量Variable:
基本数据格式占位符:
命名空间:
TensorFlow可视化工具:
网络结构单元:
数据接口:
数据预处理:
优化器定义:
九、深度学习模型设计
1.网络深度设计
1.1什么是网络深度
什么是网络深度:
为什么需要更深的模型:
1.2基于深度的模型设计
AlexNet:
AlexNet工程技巧:
VGGNet:
VGGNet特点:
加深容易出现的问题:
2.网络宽度设计
2.1什么是网络宽度
什么是网络宽度:
为什么需要足够的宽度:
2.2基于宽度的模型设计
经典模型的宽度变化:
网络宽度设计:
模型性能:
网络宽度与深度对比:
3.卷积核设计
3.1基于参数压缩的卷积设计
1*1卷积:
1*1卷积典型应用:
小卷积的使用:
3.2基于感受野的卷积设计
膨胀卷积(带孔卷积,atrous convolution):
膨胀卷积设计:
可变形卷积:
非局部卷积;
3.3基于卷积操作的优化
移位网络:
加法网络:
4.残差网络设计
4.1什么是残差结构
网络加深遇到的优化问题:
short connect技术:
short connect早起验证:
4.2残差网络及有效性理解
残差网络有效性理解:
4.3残差网络的发展
密集残差网络:
更宽的残差网络:
分组残差ResNext:
Dual Path Network:
加权残差网络:
预激活残差:
5.分组网络设计
5.1什么是卷积分组
卷积拆分的使用:
通道分离卷积的来源:
GoogLeNet/Inception:
从Inception到Xception(extreme inception):
通道分组卷积模型基准MobileNet:
5.2不同通道分组策略
打乱重组的分组:
多尺度卷积核分组:
多分辨率卷积分组:
分组+整数的分组卷积;
级连分组卷积:
5.3可学习的分组网络
卷积核配置的学习:
分组连接的学习:
6.动态网络设计
6.1什么是动态网络
什么是动态变化的网络:
为什么要研究动态网络:
6.2基于丢弃策略的动态网络
随机深度残差网络:
模块丢弃残差网络:
BranchyNet网络:
Spatially Adaptive Computing Time(SACT):
6.3基于注意力机制的动态网络
动态卷积(Dynamic Convolution):
动态空间模型(Dynamic RegionAware Model):
6.4基于合并策略的动态网络
DeepRebirth:
RepVGG:
7.注意力机制设计
7.1注意力机制及其应用
什么是注意力机制:
注意力机制的典型应用:
7.2注意力模型设计
(以计算机视觉方程为例)
空间注意力机制:
空间注意力模型:
空间变换网络(spatial transform network):
通道注意力机制:
空间与通道注意力机制:
自注意力机制:
级连Attention:
十、深度生成模型
1.生成模型基础
1.1监督学习与无监督学习
1.1.1监督学习
什么是监督学习:
监督学习——判别模型:
监督学习——生成模型:
生成模型与判别模型的对比:
1.1.2无监督学习
什么是无监督学习:
1.2无监督生成模型
什么是无监督学习模型:
生成模型隐藏空间:
无监督生成模型分类:
显式生成模型求解:
隐式密度模型求解:
2.自编码器与变分自编码器
2.1自编码器
自编码器(AE):
自编码器的应用:
2.2变分自编码器
变分自编码器(VAE):
变分自编码器理论求解:
变分自编码器模型求解:
变分自编码器优化目标:
再参数化策略:
变分自编码器与自编码器对比:
AE与VAE的主要局限性:
3.生成网络基础
3.1什么是生成对抗网络(GAN)
生成对抗网络(GAN)如何生成数据:
生成对抗原理:
GAN的核心优化目标:
D的优化:
G的优化:
GAN的理想状态:
3.2生成对抗网络的训练问题
GAN的训练:
梯度不稳定与模式崩塌(collapse model)问题:
梯度消失问题:
3.3GAN的优化目标设计与改进
3.3.1原始GAN的优化目标的问题
JS散度度量问题:
梯度问题:
3.3.2优化目标的设计与改进
最小二乘损失GAN:
Energy-based GAN(EBGAN):
Wasserstein GAN:
WGAN-GP:
Boundary Equilibrium GAN(BEGAN):
Loss Sensitive GAN:
Relativeistic GAN:
3.4GAN的评估
3.4.1GAN的评估问题
评估指标的要求:
其他评估指标的要求:
3.4.2定量评估指标
GAN train/GAN test:
Inception分数:
Inception分数的缺陷与改进:
Frechet Inception Distance:
Kernel MMD(Kernel Maximum Mean Discrepancy):
Wasserstein Distance:
1-最近邻分类器:
3.5数据生成GAN结构与应用
3.5.1数据生成的应用
图片设计创作:
数据增强:
数据仿真:
视频生成、预测、编辑:
语音生成:
文本生成:
3.5.2图像生成模型结构
基本卷积GAN:
3.5.2.1从提高分辨率方面:
多尺度与残差GAN模型:
3.5.2.2从条件生成方面
条件生成GAN:
条件GAN模型:
半监督条件GAN模型:
属性向量的学习:
分层属性模型StyleGAN:
StyleGAN的应用:
3.6图像翻译GAN结构与应用
3.6.1图像翻译的应用
风格迁移:
数据增强:
经典图像任务:
内容创作:
人体图像编辑:
人脸图像编辑:人脸表情,年龄,妆造,身份编辑,动漫风格化等
3.6.2图像翻译模型
3.6.2.1有监督图像翻译模型
3.6.2.2无监督图像翻译模型
CycleGAN工程技巧:
多域图像翻译模型: