ALBERT③(The Elements of ALBERT)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #23

f:id:lib-arts:20191010182154p:plain

言語処理へのDeepLearningの導入をご紹介するにあたって、#3〜#8においては、Transformer[2017]やBERT[2018]について、#9~#10ではXLNet[2019]について、#11~#12ではTransformer-XL[2019]について、#13~#17ではRoBERTa[2019]について、#18~#20ではWord2Vec[2013]について取り扱ってきました。

Transformer-XL(論文のAbstractの確認)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #12 - lib-arts’s diary

RoBERTa(論文の詳細④ RoBERTa、Related Work、Conclusion)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #17 - lib-arts’s diary

Word2Vec②(Model Architectures&New Log-linear Models)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #19 - lib-arts’s diary

#21以降ではGLUEベンチマークにおいてRoBERTa[2019]を上回ってSotAとなった2019年9月に発表されたALBERTについて確認していきます。

[1909.11942] ALBERT: A Lite BERT for Self-supervised Learning of Language Representations

#22ではSection1のIntroductionとSection2のRelated Workについて取り扱いました。

ALBERT②(Introduction&Related Work)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #22 - lib-arts’s diary

#23ではSection3の"The Elements of ALBERT"について取り扱えればと思います。
以下目次になります。

1. The Elements of ALBERT(Section3)
1-1. Model Architecture Choices(Section3-1)
1-2. Model Setup(Section3-2)
2. まとめ


1. The Elements of ALBERT(Section3)
Section3では"The Elements of ALBERT"ということで、ALBERTの論文の構成要素についてまとめられています。

f:id:lib-arts:20191012165040p:plain

上記は冒頭部の論述ですが簡単に和訳すると、「このセクションでは、我々はALBERTに置いて行なった様々なモデル設計の選択を記述し、originalのBERTの構造の設定と比較して定量化を行なっている」とされています。これまでで述べられてきた"Inter-sentence coherence loss"などの詳細がここで言及されているので詳しく見ていきたいと思います。


1-1. Model Architecture Choices(Section3-1)
Section3-1ではModel Architectureを考えるにあたって行なった選択(Choices)について見ていきます。

f:id:lib-arts:20191012165635p:plain

上記はSection3-1の冒頭部の記載です。ALBERTのarchitectureがBERTのものと基本的には似通っており、ハイパーパラメータのE(vocabulary embedding size)やL(number of encoder layers)やH(hidden size)などは踏襲して用いているとされています。また、ALBERTではBERTの設定に加えて三つのmain contributionがあるとされており、以下その三つについてまとめていきます。

・Factorized embedding parameterization
まずは"Factorized embedding parameterization"についてまとめていきます。

f:id:lib-arts:20191012170051p:plain

上記が論文における記載ですが、embedding matrixの分解について考察されています。DeepLearningを用いたこれまでの言語モデリングの多くは、ハイパーパラメータのE(vocabulary embedding size)とH(hidden size)を同じにしてきたのですが、HをEよりも大きくする際にこれはネックとなるとされています。というのもEを得るためにはembedding matrixが必要なのですが、このembedding matrixは語彙の数(V)だけ行数を持ち、多くのケースにおいてVは10^410^6のオーダーになるためです。HはBERT-largeの時点で1024ですがこれをさらに大きくするにあたってEとHを同様にしておくのは計算的に非効率であるとされています。

・Cross-layer parameter sharing
次に"Cross-layer parameter sharing"について見ていきます。

f:id:lib-arts:20191012170756p:plain

上記のように、ALBERTにおいてはレイヤー間のパラメータ共有を行うとされています。

f:id:lib-arts:20191012171200p:plain
パラメータ共有をすることによって、モデルの全パラメータ数を減らすことができたり上記のように各レイヤーにおける入力と出力を安定させることができたりするとされています。

・Inter-sentence coherence loss
Main Contributionの三つ目として、"Inter-sentence coherence loss"を取り扱います。

f:id:lib-arts:20191012171515p:plain

上記のように、まずBERTにおいてlossとして用いられていたMLM(Masked Language Modeling)とNSP(Next-Sentence Prediction)の二つについて触れた上で、その後の研究であるRoBERTaではNSPがさほど精度の向上に寄与しないということで学習から削除されたとあります。ここではこの理由としてNSPはトピックの予測(topic prediction)と一貫性予測(coherence preiction)の二つが混じっており、topic predictionはMLMを用いたlossと被ってしまうためだとされています。
そのためALBERTでは、SOP(Sentence-Order Prediction)を用いることで、topic predictionを見ずに一貫性の予測を見れるようにしています。方法としては、基本的にはNSPと変わらないものの、NSPにおいて負例(negative sample)としていた文を作成するにあたって、ランダムに選ぶのではなく文の順番を引っ繰り返すことで学習を行うとされています。これによって関係ないトピックの文が学習に紛れ込むことを防ぐことができます。このように文章の一貫性(coherence)を扱うというのがSOPを用いる狙いとなっているようです。


1-2. Model Setup(Section3-2)
Section3-2の"Model Setup"ではModelのパラメータ数などについてまとめられています。

f:id:lib-arts:20191012173501p:plain

f:id:lib-arts:20191012173518p:plain

上記のTable2のように、ALBERTは隠れ層のサイズを大きくしているにも関わらず、パラメータ数が小さく抑えられていることに注意です。ちなみにここでそれぞれのパラメータ数を比較するとALBERTのパラメータ数にLayer数をかけるとBERTのパラメータ数に近くなるので、実質的なパラメータの削減には二つ目の工夫である"Cross-layer parameter sharing"が大きくきいているのではないかと思われました。


2. まとめ
#23ではSection3の"The Elements of ALBERT"について取り扱いました。
#24ではSection4の"Experimental Results"とSection5の"Discussion"について取り扱い、ALBERTについてのまとめを締めたいと思います。