CTRL: A Conditional Transformer Language Model for Controllable Generation②(Language Modeling 〜 Controllable Generation)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #43
言語処理へのDeepLearningの導入をご紹介するにあたって、#3〜#8においては、Transformer[2017]やBERT[2018]について、#9~#10ではXLNet[2019]について、#11~#12ではTransformer-XL[2019]について、#13~#17ではRoBERTa[2019]について、#18~#20ではWord2Vec[2013]について、#21~#24ではALBERT[2019]について、#26〜#30ではT5[2019]について、#31〜#32ではERNIEについて、#33〜#34ではELMo[2018]について、#35〜#36ではself-attention、#37〜#38ではDecomposable Attentionについて、#39〜#41ではReformer[2020]について取り扱ってきました。
ALBERT③(The Elements of ALBERT)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #23 - Liberal Art’s diary
Reformer: The Efficient Transformer②(Locality-Sensitive Hashing Attention)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #40 - Liberal Art’s diary
#42以降では条件付きのTransformerを用いることで、生成の制御を行うCTRL(Conditional TRansformer Language Model)に関する下記の論文を取り扱っていきます。
[1909.05858] CTRL: A Conditional Transformer Language Model for Controllable Generation
#42ではAbstractとIntroductionを確認し、論文の概要を把握しました。
https://lib-arts.hatenablog.com/entry/nlp_dl42
#43ではSection2のLanguage ModelingからSection4のControllable Generationまでを取り扱います。
以下目次になります。
1. Language Modeling(Section2)
2. Language Modeling with CTRL(Section3)
3. Controllable Generation(Section4)
4. まとめ
1. Language Modeling(Section2)
1節ではSection2のLanguage Modelingについて取り扱います。基本的な言語に関する数式モデルの定義についてまとめられています。
上記では、言語などの系列の表現としてがある際に、言語のモデリングの目的はを学習させることであるとされています。この時が系列であるために、確率の連鎖律(the chain rule of probability)を用いてこの同時分布(distribution)をのように分解する(factorize)ことが自然だとされています。
これによって言語モデルを次の単語の予測問題に変換することができます。ここでパラメータを、データセットをとおいて、データセットが得られた際の負の対数尤度(negative log-likelihood)をとしています。このように、言語モデリングの数式定義の一般的な事項についてSection2のLanguage Modelingでは簡単な取りまとめを行なっています。
2. Language Modeling with CTRL(Section3)
2節ではSection3のLanguage Modeling with CTRLについて取り扱います。言語モデルを条件付きで表すにあたっての数式表現について記載されています。
まず上記では、言語モデルに条件付けを行うにあたって、制御コードのを定義しています。これにより言語モデルはと表現できるとされています。Section2と同様、はのように分解を行うことができ、負の対数尤度のもSection2と同様計算できるとされています。
次に上記は基本的に通常のTransformer系の話に制御コードのを導入しただけと考えておけば十分です。Attention layerを(大体が6〜24層)、モデルの次元を(大体が512〜2048)とおいています。また層の一つ一つは二つのモジュールから構成されているとなっており、これは通常のTransformerと同様にmulti-head attentionとfeedforward networkの二つが紹介されています。
続くSection3-1ではDataについて紹介されています。学習データとしてはWikipediaなどを中心に用いて、全体としては140GBのデータであるとされています。
次にSection3-2では並行で行なった実験の設定について記載されています。上記を見ると、CTRLはモデルの次元として、48層などの設定が記載されています。
3. Controllable Generation(Section4)
3節ではSection4のControllable Generationについて取り扱います。
上記では数式(1)で条件としてtemperatureのが与えられた時の番目のトークンの予測確率について定式化しています。ここではスコアであるとされています。ここでtemperatureのが0に近い時はピークが大きくなる分布となり、を限りなく大きくすると一様分布に近づくとされています。
条件が与えられた際の確率分布のわかりやすい例としては、上記のようにFig1で図示されています。promptsが与えられた際に、回答の確率分布が上記のように表現されています。
Section4-2では上記のように様々な条件コードとPromptに対して文書生成を行なっています。
具体的な文書生成としては上記のようにpromotsとcontrol codesを指定することで続く文書などを生成しています。
4. まとめ
#43ではCTRLの論文のSection2のLanguage ModelingからSection4のControllable Generationまでを取り扱います。
#44では引き続きCTRLの論文のSection5以降を取り扱っていきます。