深度学习笔记-day11-吴恩达
1.1 为什么选择序列模型现实中大量数据天然带有顺序依赖特性前后元素的上下文关系直接决定信息含义普通前馈网络无法处理这种有序、变长的输入输出因此需要 RNN、LSTM、Transformer 等序列模型来建模时序依赖。1.2 数学符号以命名实体识别任务为例统一规范序列输入、输出与样本的表示方式。1. 构建词汇表Vocabulary将任务中所有用到的单词按固定顺序排列并为每个单词分配唯一的编号索引图中示例词汇表大小为 10000包含 aaron、and、harry 等单词词汇表外的生僻词统一用特殊标记UNKunknown表示占用词汇表中的一个固定位置。2. 独热编码规则每个单词对应一个长度等于词汇表大小的向量仅在该单词对应的索引位置取值为 1其余所有位置均为 0例如词汇表中 Harry 排在第 4075 位则它的独热向量只有第 4075 位是 1其余 9999 位全部为 0。1.3 循环神经网络RNN 的核心思想每个时间步复用同一套网络参数同时将上一时刻的隐藏状态传递到当前时刻以此承载历史上下文信息。1.4 通过时间的反向传播随时间反向传播Backpropagation Through Time, BPTT它是标准反向传播在序列模型上的扩展通过沿时间轴逆向传递梯度实现对共享参数的更新是 RNN 训练的基础机制。1.5 不同类型的循环神经网络架构类型输入形态输出形态核心特点One to one单输入单输出无时序等价普通 FCOne to many单个初始输入变长序列输出自回归生成任务Many to one长序列输入单输出标签序列整体分类Many to many (等长)序列输入等长序列输出逐位置标注任务Many to many (不等长)序列输入不等长序列输出编码器 - 解码器翻译 / 生成1.6 语言模型和序列生成语音识别会优先选择概率更高的句子作为输出给候选文本打分筛选通顺合理的语句。1.7 新序列采样采样生成流程Samping字符级语言模型Character-level language model1. 词表差异对比词级模型词级语言模型词表是完整单词集合[a, aaron, ..., zulu, UNK]词表规模上万字符级语言模型词表仅包含全部字符[a,b,c...z,大小写、标点、空格]词表极小仅几十维。2. 建模逻辑不再以单词为基本单元而是单个字符作为序列最小单元 输入依次是前一个字符预测下一个字符逐字符拼接形成完整单词、句子。 示例C→a→t→空格→a→v→e... 逐步拼出Cat average。优缺点✅ 优势无需处理分词、不存在UNK未知词问题能生成新词、人名、特殊符号❌ 劣势序列长度大幅拉长长文本依赖更难捕捉训练耗时更长。1.8 带有神经网络的梯度消失问题表现临时解法根本解决方案梯度消失远距离梯度≈0学不到长依赖无简单临时方案LSTM / GRU 门控循环单元引入细胞状态线性传递梯度可持续流通梯度爆炸梯度无穷大loss 为 NaN、训练震荡梯度裁剪 Gradient ClippingLSTM/GRU 同样可缓解1.9 GRU单元简化版 GRUSimplified GRU1.10 长短期记忆LSTM1.11 双向神经网络1.12 深层循环神经网络普通单层 RNN 只有一层时序循环单元深层 RNN 堆叠多层循环单元形成空间深度 时序长度双重维度的网络。2.1 词汇表征独热编码One-hotrepresentation初代单词表示特征化表示词嵌入 Word Embedding核心方案把单词映射到低维稠密实值向量每一维代表一个可学习语义特征图中示例维度性别、皇室属性、年龄、食物属性等。King皇室维度数值高、食物维度接近 0Apple/Orange食物维度数值极高、皇室维度接近 0Man/Woman性别维度正负相反。原始词嵌入通常是300 维高维向量无法直接画图使用t-SNE降维算法把 300 维压缩到 2 维平面可视化聚类规律语义同类单词自动聚集2.2 使用词嵌入词嵌入与迁移学习第1步预训练在一个非常大的文本语料库例如 1亿到1000亿单词上学习词嵌入或者直接下载网上开源且预训练好的词嵌入模型。第2步迁移将学到的词嵌入向量迁移到你自己的新任务中。这个新任务的训练集通常比较小比如只有 10 万个单词。第3步微调 - 可选在新任务上训练模型时可以选择对词嵌入进行微调Fine-tune即用新数据稍微调整嵌入向量使其更适应新任务。2.3 词嵌入的特性2.4 嵌入矩阵在实践中使用专门的函数来查找嵌入。2.5 学习词嵌入2.6 Word2Vec任务目标取句子中的一个词作为上下文Context, c然后在其前后特定窗口范围内随机选取一个词作为目标词Target, t。上下文采样的技巧2.7 负采样2.8 GloVe词向量2.9 情绪分类2.10 词嵌入除偏累了累了能过的就过了。