神经网络与深度学习课程总结四
深度学习课程总结四
前言
本系列文章为神经网络深度学习课程的课程总结。
7. 循环神经网络与NLP(1)
该部分包括以下内容:
- 序列模型
- 数据预处理
- 文本处理与词嵌入
- RNN模型
- RNN模型实现
- RNN误差反传
序列模型
分类问题与预测问题
⚫ 图像分类:当前输入−>当前输出
⚫ 时间序列预测:当前+过去输入−>当前输出
自回归模型
假设一个交易员想在当日的股市中表现良好,于是通过以下途径预测𝑥𝑡 :
𝑥𝑡 ∼ 𝑃(𝑥𝑡∣ 𝑥𝑡−1, … , 𝑥1)
随着观测,时间序列越来越长,过去太久的数据不必要,因此:
𝑥𝑡 ∼ 𝑃(𝑥𝑡∣ 𝑥𝑡−1, … , 𝑥𝑡−𝜏)
保留一些对过去观测的总结ℎ𝑡, 并且同时更新预测𝑥𝑡和总结ℎ𝑡 。
这就产生了基于𝑥𝑡 = 𝑃(𝑥𝑡∣ ℎ𝑡)估计𝑥𝑡 ,以及
ℎ𝑡 = 𝑔(ℎ𝑡−1, 𝑥𝑡−1)更新的模型。
数据预处理
特征编码
数值特征与类别特征
“Age、Gender、Nationality”
第1个表示年龄,是一个数值特征;
第2个表示性别,是一个只有一位(0,1)的特征;0 -> Male, 1 -> Female
第3个表示国籍,目前有197个国家
1 -> US, 2 -> China,可以用一个整数来表示,或者用一个独热向量来表示。
⚫ 数值特征不适合表示类别,因此一般使用独热编码
⚫ 国家编码从1开始,1~197,因为实际国籍有可能不填(对应0)。
文本处理
按字母处理:给定文本片段,将文本切分为字母序列。
文本预处理与词嵌入
文本预处理
一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 我们将解析文本的常见预处理步骤。 这些步骤通常包括:
1.将文本作为字符串加载到内存中。
2.将字符串切分为词元(如单词和字符)。
3.建立一个字典,将拆分的词元映射到数字索引。
4.将文本转换为数字索引序列,方便模型操作。
第一步:读取数据集
第二步:词汇切分
第三步:构建词索引表
文本嵌入
如何将词映射成向量?
直接想法:使用之前所述的独热向量
问题:维数过高
词嵌入:将独热向量映射为低维向量
RNN模型
RNN概要
如何建模序列数据?
文本处理中:
输入维度不定(可能一直有单词输入);
输出维度不定或者是1(直接最终理解结果)
使用RNN进行IMDB评论
随着输入的增加,会产生“遗忘”问题
RNN误差反传
每个时间步的隐状态和输出可以写为:
ℎ𝑡 = 𝑓(𝑥𝑡, ℎ𝑡−1, 𝑤ℎ)
𝑜𝑡 = 𝑔(ℎ𝑡, 𝑤𝑜)
通过一个目标函数在所有𝑇个时间步内 评估输出𝑜𝑡和对应的标签𝑦𝑡之间的差异:
按照链式法则:
ℎ𝑡既依赖于ℎ𝑡−1,又依赖于𝑤ℎ , 其中ℎ𝑡−1的计算也依赖于𝑤ℎ 。因此,用链式法则产生:
使用下面的公式移除 上页中的循环计算:
截断时间步:我们可以在𝜏步后截断上页式中的求和计算。
7. 循环神经网络与NLP(2)
该部分包含以下内容:
- 门控循环单元(GRU)
- 长短期记忆网络(LSTM)
- 深度循环神经网络
门控循环单元(GRU)
基本思想:不是每个观察都同等重要。
一个良好的记忆产生一个良好的预测。良好的记忆要素:
➢ 关注机制(更新门)
➢ 遗忘机制(重置门)
GRU基本结构:
长短期记忆网络(LSTM)
LSTM网络模型
深度循环神经网络
具有𝑳个隐含层的深度循环神经网络
8. 深度学习展望
该部分包括以下内容:
- 生成对抗网络
- 神经辐射场(NeRF)
- 注意力机制
- 大模型
- 语言-图像模型
- 视觉应用展望
生成对抗网络(GAN)
生成对抗网络
生成对抗网络(GANs, generative adversarial networks)是由Ian Goodfellow等人在2014年的Generative Adversarial Networks一文中提出。
模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。
一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。
生成对抗网络(GAN)的初始原理十分容易理解,即构造两个神经网络,一个生成器,一个鉴别器,二者互相竞争训练,最后达到一种平衡(纳什平衡)。
GAN 启发自博弈论中的二人零和博弈(two-player game),GAN 模型中的两位博弈方分别由生成式模型(generativemodel,G)和判别式模型(discriminative model,D)充当。
⚫ 生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好。
⚫ 判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。
神经辐射场(NeRF)
NeRF
NeRF(Neural Radiance Fields)最早在2020年ECCV会议上发表,作为Best Paper,其将隐式表达推上了一个新的高度,仅用 2D 的 posed images 作为监督,即可表示复杂的三维场景。NeRF迅速发展起来,被应用到多个技术方向上,例如新视点合成、三维重建等等,并取得非常好的效果。
NeRF其输入稀疏的多角度带pose的图像训练得到一个神经辐射场模型,根据这个模型可以渲染出任意视角下的清晰的照片,也可以简要概括为用一个MLP神经网络去隐式地学习一个三维场景。
语言-图像模型
在多模态异常检测的背景下对GPT-4V进行了彻底的评估
➢ 考虑四个模式:图像、视频、点云和时间序列
➢ 探索九项特定任务,包括工业图像异常检测/定位、点云异常检测、医学图像异常检测/定位,逻辑异常检测,行人异常检测、交通异常检测和时间序列异常检测。
➢ 评估包括15个数据集的多样性。