AI智能
改变未来

CS22n Lecture 13 Contextual Word Representations and Pretraining


CS22n Lecture 13 Contextual Word Representations and Pretraining

Reflections on word representations

Tips for unknown words with word vectors

  • 训练时:词汇表 Vocab 为{ words occurring, say, $\\geq$5 times} ⋃\\bigcup⋃ {< UNK >}
  • 将所有罕⻅的词(数据集中出现次数小于 5)都映射为< UNK >,为其训练一个词向量
  • 运行时:使用< UNK >代替词汇表之外的词OOV

Representations for a word

存在两个大问题

  • 对于一个 word type 总是是用相同的表示,不考虑这个 word token 出现的上下文比如 star 这个单词,有天文学上的含义以及娱乐圈中的含义
  • 我们可以进行非常细粒度的词义消歧
  • 我们对一个词只有一种表示,但是单词有不同的方面,包括语义,句法行为,以及表达 / 含义
      表达:同样的意思可以是用多个单词表示,他们的词义是一样的

    ELMo

    Tag LM

    • 与上文无关的单词嵌入 + RNN model 得到的 hidden states 作为特征输入
    • Char CNN / RNN + Token Embedding 作为 bi-LSTM 的输入
    • 得到的 hidden states 与 Pre-trained bi-LM(冻结的) 的 hidden states 连接起来输入到第二层 的 bi-LSTM 中

    Named Entity Recognition (NER)

    • 一个非常重要的NLP子任务:查找和分类文本中的实体

    Embeddings from Language Models

    • word token vectors or contextual word vectors 的爆发版本
    • 使用⻓上下文而不是上下文窗口学习 word token 向量(这里,整个句子可能更⻓)
    • 学习深度Bi-NLM,并在预测中使用它的所有层
    • 训练一个双向LM
    • 目标是 performant 但LM不要太大使用2个biLSTM层
    • (仅)使用字符CNN构建初始单词表示
    • 2048 个 char n-gram filters 和 2 个 highway layers,512 维的 projection
    • 4096 dim hidden/cell LSTM状态,使用 512 dim的对下一个输入的投影 使用残差连接
    • 绑定 token 的输入和输出的参数(softmax),并将这些参数绑定到正向和反向LMs之间
  • ELMo学习biLM表示的特定任务组合
  • 这是一个创新,TagLM 中仅仅使用堆叠LSTM的顶层,ELMo 认为BiLSTM所有层都是有用的
  • ULMfit

    • 在大型通用领域的无监督语料库上使用 biLM 训练
    • 在目标任务数据上调整 LM
    • 对特定任务将分类器进行微调

    ULMfit emphases

    • 使用合理大小的“1 GPU”语言模型,并不是真的很大
    • 在LM调优中要注意很多不同的每层学习速度
    • 倾斜三⻆形学习率(STLR)计划
    • 学习分类器时逐步分层解冻和STLR
    • 使用 [hT,maxpool(h),meanpool(h)][h_T,maxpool(h),meanpool(h)][hT​,maxpool(h),meanpool(h)] 进行分类
  • 使用大型的预训练语言模型是一种提高性能的非常有效的方法
  • BERT

    • 问题:语言模型只使用左上下文或右上下文,但语言理解是双向的

    • 为什么LMs是单向的?

    • 原因1:方向性对于生成格式良好的概率分布是有必要的

      我们不在乎这个

  • 原因2:双向编码器中单词可以“看到自己”

  • 解决方案:mask out k % 的输入单词,然后预测 masked words

  • 不再是传统的计算生成句子的概率的语言模型,目标是填空

      总是使用k = 15%
  • GPT 是经典的单项的语言模型

  • ELMo 是双向的,但是两个模型是完全独立训练的,只是将输出连接在一起,并没有使用双向的 context

  • BERT 使用 mask 的方式进行整个上下文的预测,使用了双向的上下文信息

  • 赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » CS22n Lecture 13 Contextual Word Representations and Pretraining