iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

前言

經過上次預訓練模的解說後,今天就要解說預訓練語言模型中的基礎架構Transformer了。

Transformer 介紹

相信各位都有聽過預訓練語言模型吧,但大概都不太了解有哪些模型?所以就來解說一下目前常見到的主流模型。

但是再說這些模型之前,就一定要提到Transformer啦。

Transformer是一種深度學習模型架構,最初用於自然語言處理和序列處理任務,藉由追蹤序列資料中的關係,學習上下文之間的脈絡及意義,關鍵創新是使用注意力(attention)或自我注意力(self-attention)的技術,可以允許模型同時處理序列中的所有位置,從而更好地捕捉長距離依賴關係。Transformer模型包括編碼器和解碼器,用於不同任務,並使用自注意力機制、前向神經網絡和位置編碼等進行建模。
https://ithelp.ithome.com.tw/upload/images/20230918/20163022D5temCfP6y.png

Transformer 模型主要由兩個部分組成:編碼器(encoder)和解碼器(decoder)
Transformer模型的encoder和decoder分別用於不同的任務,下面會針對他們進行介紹:

  1. encoder:

    1. 編碼器的主要任務是將輸入序列(例如文本)轉換為一種稱為 "隱藏狀態" 或 "特徵表示" 的內部表示形式。
    2. encoder包括多個相同的層(通常是N層),每一層都是一個具有多頭自注意機制的注意力機制(Self-Attention Mechanism)。自注意機制使encoder能夠對輸入序列的不同部分進行加權關注,以捕捉序列中的長程依賴性。
    3. 每個注意力機制還通過前饋(Feed-Forward)神經網絡來進一步處理信息。
    4. encoder 的每一層的輸出都被傳遞到下一層,最後一層的輸出就是encoder的輸出。
  2. decoder:

    1. decoder的主要任務是使用編碼器的輸出來生成輸出序列,通常是翻譯成另一種語言、生成文本或完成類似的序列生成任務。
    2. decoder也由多個相同的層構成,每一層同樣包括自注意機制和前饋神經網絡。
    3. 不同於encoder、decoder還包括一個額外的注意力機制,稱為 "編碼-解碼注意力機制"(Encoder-Decoder Attention Mechanism),用於關注輸入序列中的不同部分,以協助生成正確的輸出。
    4. 解碼器也使用遞歸方式逐步生成輸出序列的每個元素,直到生成完整序列或達到特定結束標記。
      https://ithelp.ithome.com.tw/upload/images/20230918/20163022uMvX0maUPu.png

以上就是 Transformer的介紹了,接著我們會將會介紹Transformer的衍生模型有哪些了。

Transformer的衍生模型

Transformer模型的成功啟發了許多衍生模型,這些模型基於不同的架構和應用,可以根據encoder和decoder的不同組合進行分類。

以下是一些主要的Transformer衍生模型:

  1. 基於Encoder的模型:

    • BERT(Bidirectional Encoder Representations from Transformers):BERT僅使用Transformer的encoder部分,通過預訓練自注意力機制來捕捉語言的雙向上下文信息。它在多項NLP任務中取得了卓越的性能。
    • RoBERTa: RoBERTa是BERT的改進版本,通過使用更大的數據集和訓練技巧提高了性能。
  2. 基於Decoder的模型:

    • GPT(Generative Pre-trained Transformer): GPT只包含一個decoder,它以單向(unidirectional)的方式預訓練,主要用於生成型任務,如文本生成、文章摘要等。
  3. 結合Encoder和Decoder的模型:

    • T5(Text-to-Text Transfer Transformer): T5模型通用地將所有NLP任務轉化為文本生成問題,它同時包含encoder和decoder。
    • mT5(Multilingual Translation Transformer): mT5具有多個encoder和一個decoder,但用於多語言翻譯。
    • BART(Bidirectional and Auto-Regressive Transformers): BART具有多個encoder和一個decoder,主要用於生成型任務,如文本生成和摘要。

以上就是一些較為常見的Transformer模型,每個模型在不同的NLP任務中都有其獨特的應用和優勢。這些模型的發展不斷推動著自然語言處理和序列處理領域的進步。

今天只有單純針對Transformer進行介紹,並解說了以Transformer為基礎架構的預訓練模型。
明天將會開始解說不同的預訓練模型,並實際使用PyTorch來針對特定下游任務的數據集來微調該模型的實作。


上一篇
[day2] 預訓練模型的簡介和遷移學習的關係
下一篇
[day4] 革命性自然語言處理技術:深入理解BERT的運作原理和應用
系列文
邁向深度學習巔峰之路:透過PyTorch完美運用預訓練模型的技巧4
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言