网络结构概述

ELMo 是一种基于双向LSTM的深度上下文词表示模型,核心结构包含字符编码层多层双向语言模型。其网络结构分为三部分:

  • : 双向LSTM层数
  • : 可训练的任务特定权重
  • : 全局缩放系数

1. 字符编码层(Character Encoding)

  • 输入:原始字符序列(如单词拆分为字符)

  • 结构

    • 字符卷积层
      • 卷积核:个过滤器,尺寸为(1D卷积)
      • 步长(stride)=1,无填充
    • Highway层
      • 2层Highway网络,增强梯度流动
    • 线性投影
      • 将输出投影到维空间
  • 输出:单词的字符级表示

2. 双向语言模型(Bidirectional Language Model)

前向LSTM

  • 输入:字符编码

  • 隐藏层层LSTM(通常

    • 每层隐藏单元数:
    • 投影输出到维(减少参数)
  • 目标函数:最大化前向对数似然

后向LSTM

  • 输入:字符编码 (反向序列)

  • 隐藏层:与前向结构对称

  • 目标函数:最大化后向对数似然

双向联合训练

  • 总损失函数

3. 多层表示组合

ELMo 融合各层隐藏状态生成最终词表示:

  • 层输出

    • : 字符编码层输出
    • : 第一层双向LSTM输出
    • : 第二层双向LSTM输出
  • 参数化组合

    • : Softmax归一化的任务特定权重
    • : 预训练后固定或微调