♎
Limited AI
  • Machine Learning
    • Linear Model Cheating Sheet
    • Nonlinear Model Cheating Sheet
    • General Linear Model 1
    • General Linear Model 2
    • General Linear Model 3
    • Tree Based Methods
    • Tree Based Methods Supplement
    • XG,Cat,Light__Boosting
    • KNN&PCA
    • Model Performance
    • Model Evaluation
    • Code Practice
      • KNN
      • Decision Tree Python Code
    • Data and Feature Engineering
      • Handle Bias Data
      • Cold Start Problem
  • Deep Learning
    • Summary v2
    • Basic Neural Network
      • From Linear to Deep
      • Perceptron and Activation Function
      • NN network Details
      • Backpropagation Details
      • Gradient Vanishing vs Gradient Exploding
    • Basic CNN
      • Why CNN
      • Filter/ Convolution Kernel and Its Operation
      • Padding& Stride
      • Layers
      • Extra:From Fully Connected Layers to Convolutions
      • Extra: Multiple Input and Multiple Output Channels
    • Advance CNN
      • Convolutional Neural Networks(LeNet)
      • Deep Convolution Neural Networks(AlexNet)
      • Networks Using Blocks (VGG)
      • Network in Network(NiN)
      • Multi-Branch Networks(GoogLeNet&I mageNet)
      • Residual Networks(ResNet) and ResNeXt
      • Densely Connected Networks(DenseNet)
      • Batch Normalization
    • Basic RNN
      • Seq Model
      • Raw Text to Seq
      • Language Models
      • Recurrent Neural Networks(RNN)
      • Backpropagation Through Time
    • Advance RNN
      • Gated Recurrent Units(GRU)
      • Long Short-Term Memory(LSTM)
      • Bidirectional Recurrent Neural Networks(BRNN)
      • Encoder-Decoder Architecture
      • Seuqence to Sequence Learning(Seq2Seq)
    • Attention Mechanisms and Transformers
      • Queries, Keys, and Values
      • Attention is all you need
        • Attention and Kernel
        • Attention Scoring Functions
        • The Bahdanau Attention Mechanism
        • Multi-Head Attention
        • Self-Attention
        • Attention的实现
      • The Transformer Architecture
        • Extra Reading
        • 最短的最大路径长度
      • Large-Scaling Pretraning with Transformers
        • BERT vs OpenAI GPT vs ELMo
        • Decoder Model框架
        • Bert vs XLNet
        • T5& GPT& Bert比较
        • 编码器-解码器架构 vs GPT 模型
        • Encoder vs Decoder Reference
      • Transformers for Vision
      • Transformer for Multiomodal
    • NLP Pretraining
      • Word Embedding(word2vec)
        • Extra Reading
      • Approximate Training
      • Word Embedding with Global Vectors(GloVe)
        • Extra Reading
        • Supplement
      • Encoder(BERT)
        • BERT
        • Extra Reading
      • Decoder(GPT&XLNet&Lamma)
        • GPT
        • XLNet
          • XLNet架构
          • XLNet特点与其他比较
      • Encoder-Decoder(BART& T5)
        • BART
        • T5
  • GenAI
    • Introduction
      • GenAI Paper Must Read
      • GenAI六个阶段
    • Language Models Pre-training
      • Encoder-Decoder Architecture
      • Encoder Deep Dive
      • Decoder Deep Dive
      • Encoder VS Decoder
      • Attention Mechanism
      • Transformers
    • Example: Llama 3 8B架构
    • Fine-Tuning Generation Models
    • RAG and Adavance RAG
    • AI Agent
  • Statistics and Optimization
    • A/B testing
    • Sampling/ABtesting/GradientMethod
    • Gradient Decent Deep Dive
  • Machine Learning System Design
    • Extra Reading
    • Introduction
  • Responsible AI
    • AI Risk and Uncertainty
      • What is AI risk
      • General Intro for Uncertainty Quantification
      • Calibration
      • Conformal Prediction
        • Review the linear regression
        • Exchangeability
        • Split Conformal Prediction
        • Conformalized Quantile Regression
        • Beyond marginal coverage
        • Split Conformal Classification
        • Full Conformal Coverage
        • Cross-Validation +
        • Conformal Histgram Regression
    • xAI
      • SHAP value
  • Extra Research
    • Paper Reading
    • Reference
Powered by GitBook
On this page
  1. Deep Learning
  2. NLP Pretraining
  3. Decoder(GPT&XLNet&Lamma)
  4. XLNet

XLNet架构

XLNet 是一种基于自回归(autoregressive)的预训练语言模型,由 Google AI 和 CMU 的研究团队于 2019 年提出。它是为了改进之前的预训练语言模型(如 BERT)的性能。其核心特点是结合了 BERT 的双向表示优势 和 自回归模型(如 GPT) 的建模能力。与 BERT 等模型不同,XLNet 并不直接使用经典的 "masking" 技术来预训练语言模型,而是通过 排列语言建模(Permutation Language Modeling) 的方式,使得模型能够捕捉到输入序列的不同排列顺序的信息。

XLNet 的架构是基于 Transformer-XL 进行改进的,它的核心思想是结合自回归语言模型(如 GPT)和双向语言模型(如 BERT)的优势。以下是 XLNet 的架构详细说明:

XLNet 架构概览

  1. 基础模型:Transformer XLNet 继承了 Transformer 模型的基础架构,主要包括多头自注意力机制(Self-Attention Mechanism)、前馈神经网络层和残差连接。Transformer 架构的优点在于可以并行处理输入序列中的每一个位置,并通过自注意力机制捕捉序列中远距离的依赖关系。

  2. Transformer-XL XLNet 使用了 Transformer-XL 作为其基础。Transformer-XL 是一种改进的 Transformer 架构,解决了标准 Transformer 在处理长序列时的效率问题。它引入了 记忆机制 来保持跨句子的信息,使得模型能够处理更长的依赖关系,而不是仅限于固定长度的输入序列。

  3. 排列语言建模(Permutation Language Modeling) XLNet 的最大创新是其 排列语言建模 机制。传统的自回归模型(如 GPT)只能从左到右或从右到左生成序列,而 XLNet 使用一种新的方法,通过随机排列输入序列中的词顺序,来进行预训练。这种随机排列允许模型从所有可能的词顺序中学习上下文信息,使得 XLNet 能够同时捕捉到双向的依赖关系。

架构细节

  1. 输入表示 与 BERT 类似,XLNet 采用了三种输入嵌入:

    • 词嵌入(Token Embeddings):表示句子中的每一个词。

    • 段落嵌入(Segment Embeddings):用于区分不同的句子或段落(类似于 BERT 的句子对任务中的 segment IDs)。

    • 位置嵌入(Position Embeddings):表示词在句子中的相对位置。

    但是,XLNet 中的 位置嵌入 更灵活,因为输入序列的排列是随机的,因此它需要能够适应不同的排列。

  2. 多头自注意力(Multi-head Self-Attention) 自注意力机制是 Transformer 的核心。XLNet 的自注意力层允许每个词与其他所有词(无论距离多远)进行交互。通过 多头注意力,XLNet 能够在不同的子空间中捕捉到更丰富的上下文信息。

  3. 排列语言建模的实现 传统的语言模型(如 GPT)使用自回归的方法来预测下一个词,而 BERT 使用掩码语言模型(masked language modeling)进行双向建模。XLNet 使用 排列语言建模,具体实现方式是通过随机排列输入序列中的词,并让模型在新的排列顺序下预测某个词。

    例如,对于输入序列 "the cat sat on the mat":

    • GPT 模型会从左到右预测 "the -> cat -> sat -> on -> the -> mat"。

    • BERT 会随机屏蔽某些词,并通过其他词预测被屏蔽的词。

    • 而 XLNet 会随机排列这个序列,例如 "cat -> the -> sat -> mat -> the -> on",然后让模型预测每个位置的词。这种方法允许模型从不同的词序中学习上下文信息。

  4. 记忆机制 XLNet 通过 Transformer-XL 的 记忆机制 扩展了标准 Transformer 的能力。具体来说,Transformer-XL 会保存上一层中的隐藏状态,这些状态可以跨多个段落传递,从而使得 XLNet 能够捕捉更长的上下文信息。记忆机制解决了原始 Transformer 在处理长序列时丢失信息的问题。

  5. 目标函数 XLNet 使用了最大化 对数似然估计 的目标函数,即模型学习通过排列后的上下文来预测目标词。通过引入对数似然估计,XLNet 能够将自回归和双向上下文建模的优势结合起来。

XLNet 的架构流程图

从架构流程上可以总结为以下几个步骤:

  1. 输入词序列:首先输入一个句子的词序列,例如 "the cat sat on the mat"。

  2. 随机排列:对输入序列进行随机排列,生成新的词序列(例如 "cat -> the -> sat -> on -> the -> mat")。

  3. 词嵌入和位置嵌入:对每个词生成相应的词嵌入和位置嵌入。

  4. Transformer 编码器:使用多层 Transformer 编码器(基于 Transformer-XL),通过自注意力机制和前馈神经网络来处理词的上下文关系。

  5. 记忆机制:利用 Transformer-XL 的记忆机制保留跨段落的上下文信息。

  6. 排列语言建模:模型根据排列后的输入序列进行训练,通过最大化对数似然估计预测目标词。

总结

XLNet 的架构基于 Transformer,但通过引入 排列语言建模 和 Transformer-XL 的记忆机制,改进了现有模型(如 BERT 和 GPT)的能力,能够在预训练阶段捕捉到更加丰富和完整的上下文信息。这使得 XLNet 在多个 NLP 任务中表现优异,尤其是在处理长序列和复杂上下文时具有优势。

Reference:

PreviousXLNetNextXLNet特点与其他比较

Last updated 8 months ago

https://www.borealisai.com/research-blogs/understanding-xlnet/