深度学习 专项课程 (五) —— Sequence Models

Coursera - Sequence Models - Andrew Ng 学习随笔

Part 1 Recurrent Nerual Network

  • 应用广泛:Speech Recognition / Music Generation / Sentiment Classification / DNA Sequence Analysis / Machine Translation / Video Activity Recognition / Name Entity Recognition
  • Notation, 以Name Entity Recognition为例, Representing words可以采用one-hot, 但是维度过大, 且十分稀疏 - Problems, 句子的 输入输出长度不一定相等且句子中相同词汇需要共享特征提取的过程 , 所以native的DNN (比如全连接层) 则不适合这种工作在这里插入图片描述

1.1 Recurrent Nerual Network:

  • (当输入和输出长度相同时)在这里插入图片描述 在这里插入图片描述
  • Backpropagation through time BPTT, 循环结构展开,将所有时刻(对于句子就是词语的先后)下的损失函数求和对各个时刻的参数进行求和
  • 按输出输出数目分类:many2many / one2many(music generation) / many2one / one2one 类型 ;Encoder-Decoder (Auto Encoder) 解决长度不一致的问题!

1.2 Language model and sequence generation

  • Language Model: P(Sentence) = ? 给一个句子,判断在这个世界使用的几率大小. 训练数据: Large corpus of English text: 在这里插入图片描述
    • RNN Model: 概率论上就是按照条件概率展开,乘法规则

1.3 Sampling novel sequence,将前序输出直接输入到后序,得到的整体输出序列,有句子有词语: Word-level and Character-level (更要求计算力) language model在这里插入图片描述

1.4 Vanishing Gradients with RNNs: 基本的RNN结构无法捕捉长距离的依赖,按时序展开后较深的输出很难反向传播影响之前层的参数. The cats, which …, was/were full.

  • 相应的Exploding Gradient容易发现(NaN, Not a Number),且可以采用Gradient Clipping去解决.在这里插入图片描述
  • Gated Recurrent Unit (GRU) - 2014
    • Original RNN Unit:在这里插入图片描述在这里插入图片描述时序展开在这里插入图片描述
    • GRU cell:在这里插入图片描述在这里插入图片描述
      • 个人理解:1) Update Gate: gamma_u意在控制时序上的隐藏层的更新;2) Relevant Gate: gamma_r意在控制用于更新的隐藏层有多少或者是否能被使用(在是否利用前序隐藏层信息只用当前输入信息间抉择)
  • Long Short Term Memory (LSTM) Unit —— 1997在这里插入图片描述在这里插入图片描述Steps级连在这里插入图片描述
    1.5 Bidirectional RNN (BRNN)
  • Getting information from the future. 缺点:需要整个数据序列才能在任何地方进行预测
    在这里插入图片描述

1.6 Deep RNN example (隐藏层多)

  • 多个隐藏层在时序上展开会是否庞大,一般有三层隐藏层就已经很大了在这里插入图片描述

编程题包括基本RNN LSTM的模型搭建前后向传播,以及Name Entity (RNN) 和 Music Generation (LSTM),没试过不知道,试过真神奇,特别是音乐生成,虽然没有框架感,有点意思.

Part 2 Natural Language Processing & Word Embeddings
2.1 Introduction to Word Embeddings

  • One-hot的局限性:只考虑了单个词在在向量(one-hot)中的作用,没有包括词之间的关系,无法度量词语之间的距离.
  • So, Word Embedding (Embedding含义是将词语嵌入到特征空间中):给词语添加属性值,类似于构建特征向量(Featurized Representation) ——e_num, 使用t-SNE(将高维数据线性化到二维空间上进行可视化)去Visualizing 然后 Grouping - 2013年在这里插入图片描述在这里插入图片描述
  • Properties of Word Embeddings:在这里插入图片描述
    • 例子:已知Queen对应Woman,给出King, 找到对应的词:在这里插入图片描述
  • Embedding Matrix:就是将每个词语的属性按照列排列,这样当右乘One-hot编码时候,就得到该词语的 e_该词语的序号(Feature Vector),而矩阵乘法对于这个巨大的矩阵效率低(何况还是稀疏低秩矩阵,乘了大量的0,冗余的),具体可采用一个Embedding layer()从嵌入矩阵中拉取想要的列在这里插入图片描述

2.2 Learning Word Embeddings: Word2Vec & Glove

  • The Learning Progress: Context/target pairs (比如从语境词Context的固定先后词语作为Target词语), 词语的预测问题, 反向传播后就可求得Embedding Matrix.在这里插入图片描述
  • Word2Vec: 视为word预测问题, 由context -> target
    • Skip-grams: 学习模型, 从挑选的Context词语©前后的固定窗内 随机 挑选一个词(t)作为Target
      • Model: 1) 对于S-g模型, 当词典过大, 求和困难, 可以采用分层Softmax方法 2) 如何采样得到Context c? 需要排除词频特别高的介词和冠词等, 也要平衡好常见词汇和罕见词汇 (比如榴莲这种)在这里插入图片描述
        - - - Word2Vec中另一个模型CBow模型, 另一种学习模型
  • 改进的学习模型: Negative Sampling:
    • 新的学习问题定义: 给定Context word, 取其后一个词作为Target words, 该pair标记为正样本1, 再随机取K个其他的词构成pairs作为负样本0 (小样本数据下取K=5~20; 大样本数据下取K=2~5)
    • Model, P(y=1|c, t) = sigmoid(theta转置 * 词特征e), 1w个词典时, 就构成了1w个二分类问题
    • 挑选负样本, 使用均匀分布会得到大量介词, 使用词频的3/4来采样词语: Prob(word) = normalize(该词语的词频)
  • Glove Word vectors, global vectors for word representation
    • X_ij, 词j (t) 出现在词i © 的上下文次数, f(.)加权函数[1) f(0)=0, 0log0=0 2) 抑制介词冠词等无意义的词]. 注意e和theta是对称的, e_final = mean(e + theta), b是偏置项 在这里插入图片描述
    • 注意学习到的embedding matrix中各个特征不能保证是可解释的 theta’ = A * theta, e’ = A * e, A可逆, 则theta^T * e = theta’^T * e’
  • Applications using Word Embeddings
    • Sentiment Classification: 1) Average Way: 缺点是只关注单词,不关注单词的顺序 在这里插入图片描述类似问题的作业:给一个句子后面加个表情,Emojify:在这里插入图片描述在这里插入图片描述2) RNN Way: 在这里插入图片描述
  • Debiasing word embeddings: 网络学习到的偏见在应用中会有很大问题,比如一些评分系统信用评价系统等,如果lawyer->man, woman->nurse, 这就是一个偏见. 在这里插入图片描述在这里插入图片描述Debiasing - Nerualize 近似乎 正交化在这里插入图片描述例如bias轴向量为:g = word_to_vec_map[‘woman’] - word_to_vec_map[‘man’] (You might get a more accurate representation if you compute g1=emother−efather, g2=egirl−eboy, etc. and average over them. or more specific, 采用SVD方法)在这里插入图片描述
    Equalize Pairs:将pair的和向量(一半)先Nerualize,再按e长度为1,得到Equalized-pairs
    在这里插入图片描述在这里插入图片描述

Part 3 Sequence models & Attention mechanism
3.1 Various sequence to sequence architectures

  • Seq2seq model: Encoder + Decoder在这里插入图片描述在这里插入图片描述
  • Pricking the most likely sentence:
    • Machine Translation as Building a Conditional Language Model:在这里插入图片描述
    • Finding the Most likely translation在这里插入图片描述
      • 首先 Greedy Search (当前输入取前面输出) 不适合, 因为整体句子的好坏和局部词组的常见性不等同,即局部最优值基本不能构成全局最优.
      • Beam Search, 算法参数 Beam width = B, 每步骤保存使得当前句子概率P(y1,y2…,yt-1 | x)最高的B个词(结果)在这里插入图片描述
        • Refinemens to Beam Search: Length normalization在这里插入图片描述Beam search discussion, Beam width怎么选, 10(常见), 100(应用中算大了), 1000~3000(论文中常用);Beam Search不像BFS和DFS, 更快但不能保证全局极值;误差分析:在这里插入图片描述
  • Bleu (Bilingual Evaluation Understanding) Score: 评价几个较好的翻译中那个更好在这里插入图片描述
    • Precision: #(MT_output在翻译结果中出现了的词) / #(MT_output中所有词) a a a a 没啥用
    • Modified Precision: (MT_output某词在翻译结果中出现的最大次数) / (MT_output某词的总数目)
    • Bleu score on bigrams: 研究相邻的双词组的Modified Precision,并且将所有结果的分子和分母都加起来, 记为P2; 类似的Pi …
    • Bleu Details: 在这里插入图片描述
  • Attention Model: 指望深度学习记录长句子是很难的,对人都是如此!在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.2 Speech recognition - Audio data

  • 传统基于专家基于“音素”Phonemes已经淘汰了
  • 对音频处理生成横轴时间纵轴频率的频谱图
  • 两种解决方法,Attention based RNN 和 :在这里插入图片描述在这里插入图片描述
  • Trigger World Detection: Many to one 问题,触发即输出1,否则输出0,问题有正负样本数量不平衡,需要调整.在这里插入图片描述在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值