Re Reference AI

アーキテクチャ

Encoderとは

エンコーダ

入力系列を、意味を圧縮した内部表現(コンテキストベクトル)へ変換するニューラルネットワークの構成要素

系列モデリングTransformer

ひとことで言うと

入力された文章を、意味を圧縮した内部データに変換するAIの部品。

概要

Encoder(エンコーダ)とは、入力系列(文章・音声等)を受け取り、その意味や特徴を圧縮した内部表現(コンテキストベクトル、または隠れ状態の系列)へ変換するニューラルネットワークの構成要素。 Seq2SeqモデルではEncoderが生成した内部表現をDecoderが受け取り、別の系列(翻訳文等)を生成する。 Transformerにおいても、Encoder-Decoder構成を用いる場合と、BERTのようにEncoder部分のみを取り出し文章の意味理解タスクに特化させる場合がある。

背景

系列データを別の系列やラベルへ変換するタスクでは、入力の意味や文脈をいったん要約し、後続の処理へ橋渡しする仕組みが必要だった。 Encoderは、この入力側の情報を圧縮・要約する役割を担う構成要素として、Seq2Seqアーキテクチャの一部に位置づけられた。

歴史

2014年: ChoらとSutskeverらが、それぞれRNNベースのEncoder-Decoderモデルを提案し、機械翻訳タスクにおけるEncoderの役割を確立。 2017年: VaswaniらがTransformerにおいて、自己注意機構に基づくEncoder構造を提案。 2018年: DevlinらがTransformerのEncoder部分のみを積み重ねたBERTを発表し、文章理解タスクに特化したEncoderモデルの活用が広がった。

比較

  • Seq2SeqEncoderはSeq2Seqモデルを構成する2つの要素のうち、入力側を処理する部分
  • BERTBERTは、TransformerのEncoder部分のみを積み重ねて文章理解に特化させたモデル
  • AttentionTransformerのEncoderは、自己注意機構を用いて入力系列内の要素間の関連度を計算する

関連用語

Seq2SeqAttentionTransformerBERT

関連Zenn記事