深度学习是解决问题的一系列模型与方法。主流的深度学习模型有CNN、RNN(LSTM)、transformer、VAE、GAN等。但深度学习模型不是深度学习领域中唯一的研究方向,且不一定是最重要的研究方向。除了模型之外,比较重要的还有优化算法、损失函数、采样方法等.
# CNN 卷积神经网络
# 基本原理
- 卷积层 – 主要作用是保留图片的特征
- 池化层 – 主要作用是把数据降维,可以有效的避免过拟合
- 全连接层 – 根据不同任务输出我们想要的结果
# 特点
- 能够将大数据量的图片有效的降维成小数据量 (并不影响结果)
- 能够保留图片的特征,类似人类的视觉原理
# 实际应用
图片分类、检索
目标定位检测
目标分割
人脸识别
骨骼识别
# RNN 循环神经网络
# 基本原理
- 传统神经网络的结构:输入层 – 隐藏层 – 输出层。RNN 跟传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。
- RNN 到 LSTM – 长短期记忆网络保留较长序列数据中的「重要信息」,忽略不重要的信息
- LSTM 到 GRU - 保留了 LSTM 划重点,遗忘不重要信息的特点,在 long-term 传播的时候也不会被丢失。
# 特点
- RNN 有短期记忆问题,无法处理很长的输入序列
- 训练 RNN 需要投入极大的成本
- 长期信息可以有效的保留(GRU)
- 挑选重要信息保留,不重要的信息会选择“遗忘”(LSTM)
# 实际应用
- 文本生成
- 语音识别
- 机器翻译
- 生成图像描述
- 视频标记
# GANs 生成对抗网络
# 基本原理
- 生成对抗网络(GAN)由 2 个重要的部分构成:
- 生成器 (Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器
- 判别器 (Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”
- 训练过程
- 第一阶段:固定「判别器 D」,训练「生成器 G」
- 第二阶段:固定「生成器 G」,训练「判别器 D」
# 特点
- 优势
- 能更好建模数据分布(图像更锐利、清晰)
- 理论上,GANs 能训练任何一种生成器网络。其他的框架需要生成器网络有一些特定的函数形式,比如输出层是高斯的。
- 无需利用马尔科夫链反复采样,无需在学习过程中进行推断,没有复杂的变分下界,避开近似计算棘手的概率的难题。
- 缺陷
- 难训练,不稳定。生成器和判别器之间需要很好的同步,但是在实际训练中很容易 D 收敛,G 发散。D/G 的训练需要精心的设计。
- 模式缺失(Mode Collapse)问题。GANs 的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。
# 实际应用
- 生成图像数据集
- 生成人脸照片
- 生成照片、漫画人物
- 图像到图像的转换
- 文字到图像的转换
- 语意 – 图像 – 照片的转换
# RL 深度强化学习
# 基本原理
强化学习是从动物学习、参数扰动自适应控制等理论发展而来,其基本原理是:如果 Agent 的某个行为策略导致环境正的奖赏 (强化信号),那么 Agent 以后产生这个行为策略的趋势便会加强。Agent 的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。
# 特点
RL 与其他机器学习算法不同的地方在于:
- 没有监督者,只有一个 Reward 信号;
- 反馈是延迟的,不是立即生成的;
- 强化学习是序列学习,时间在强化学习中具有重要的意义;
- Agent 的行为会影响以后所有的决策。
# 实际应用
- 智能控制机器人及分析预测
- 自动驾驶,推荐,路径优化