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

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

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

XLNet②(事前学習におけるAutoRegressiveとPermutation)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #10 - lib-arts’s diary

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

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

#18以降ではSeq2Seq以前の論文は解説書などで把握しただけだったので、もう少し詳しく見てみれればということで、手始めとしてWord2Vec[2013]を取り扱っていきます。この論文については深さの意味でDeepLearningと考えて良いかの判断が難しいところではあるのですが、ニューラルネットワークを用いた言語処理という意味や分散表現という考え方はその後のDeepLearningベースの言語処理に生きているということからこのシリーズで取り扱うことにしました。

[1301.3781] Efficient Estimation of Word Representations in Vector Space

#18ではWord2Vec[2013]に関する論文である、"Efficient Estimation of Word Representations in Vector Space"よりAbstractとIntroductionを確認しました。

https://lib-arts.hatenablog.com/entry/nlp_dl18

#19では引き続き同論文のSection2のModel ArchitecturesとSection3のNew Log-linear Modelsについて取り扱っていきます。
以下目次になります。

1. Model Architectures(Section2)
1-1. Feedforward Neural Net Language Model(Section2-1)
1-2. Recurrent Neural Net Language Model(Section2-2)
1-3. Parallel Training of Neural Networks(Section2-3)
2. New Log-linear Models(Section3)
2-1. Continuous Bag-of-Words Model(Section3-1)
2-2. Continuous Skip-gram Model(Section3-2)
3. まとめ

 

1. Model Architectures(Section2)
1節ではSection2のModel Architecturesについて取り扱っていきます。以下パラグラフ単位で確認していきます。

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

第一パラグラフでは、単語の連続表現(continuous representations of words)を推定するにあたって、LSA(Latent Semantic Analysis)やLDA(Latent Dirichlet Allocation)について触れたのちにニューラルネットワークを用いた手法がLSAをパフォーマンスで上回りかつ、LDAは学習データセットが大きい時に計算コストが大きいことについて言及するなど、ニューラルネットワークを用いて分散表現(distributed representations)を獲得することの優位性について述べています。

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

第二パラグラフでは、様々なモデルの構造を比較するにあたって、モデルのパラメータ数の計算コストを定義し、次に計算コストを最小にしながら精度の最大化を行おうとしたとされています。

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

第三パラグラフでは、学習に当たっての複雑さをO=E × T × Qのように簡単に立式しています。ここでEは学習にあたってのエポック数、Tは学習データセットにおける単語の数、Qはそれに加えたモデル構造の情報とされています。Qについては以降で様々なモデルを比較するにあたって、モデルごとに計算コストが見積もられています。


1-1. Feedforward Neural Net Language Model(Section2-1)
1-1節ではSection2-1のFeedforward Neural Net Language Model(NNLM)について見ていきます。こちらも以下パラグラフ単位で確認していきます。

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

第一パラグラフでは、[1]とされているBengio[2003]の"A neural probabilistic language model."についてまとめられています。モデル構造についてもパラメータを用いて言及されており、文脈を考えるにあたってN個の過去の単語を1-hot-Vectorの形式でエンコードされたものを入力とするとされています。ここでVは語彙(Vocabulary)のサイズであるとされています。次にプロジェクションレイヤーのPに投影されこちらがN×Dの次元を持つとされています。

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

第二パラグラフでは、細かい処理についてさらに言及されています。隠れ層のサイズをHと置いてプロジェクションレイヤーから単語を復元するとされています。従って、この時のQ(計算コストのようなものと考えておけば良さそうです)の見積もりが(2)式のようになるとされています。

f:id:lib-arts:20191002162354p:plain
第三パラグラフでは、補足などが書かれているようです。また、二分木の考え方を用いたhierarchical softmaxを用いることでVの複雑さ(complexity)をlog_{2}(V)にまで削減できるとされています。こちらについては以下のcomplexityにおいてlog_{2}(V)のケースに置いては用いられていると考えて良さそうです。


1-2. Recurrent Neural Net Language Model(Section2-2)
Section2-2ではSection2-1のモデルに再帰(Recurrent)構造を追加した、Recurrent Neural Net Language Model(RNNLM)についてまとめられています。以下パラグラフ単位で確認していきます。

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

第一パラグラフでは、再帰(Recurrent)構造を導入することで通常のNNLMの拡張を行なうにあたって言及がされています。

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

第二パラグラフでは、RNNモデルの複雑さについて言及がされています。


1-3. Parallel Training of Neural Networks(Section2-3)

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

Section2-3では、ニューラルネットワークの学習にあたっての並列処理について記載されています。勾配(gradient)の計算までを分散処理で行い、アップデートにおいて中心となるネットワークを用いるとされています。


2. New Log-linear Models(Section3)
Section3のNew Log-linear Modelsではこの論文のContributionである、処理の効率化にあたってまとめられています。以下パラグラフ単位で確認していきます。

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

第一パラグラフでは、分散表現の学習にあたっての計算の複雑さを最小にするために二つの新しいモデル構造をSection3で提案することについて言及されています。Section2でまとめたようなモデルをより単純化しつつ、パフォーマンスを維持することを目標としているようです。

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

第二パラグラフでは、モデルの導入にあたって簡単な導入がされています。詳細のモデルのアーキテクチャはSection3-1のContinuous Bag-of-Words ModelとSection3-2のContinuous Skip-gram Modelで言及されているので、詳しくは下記で確認していきます。

2-1. Continuous Bag-of-Words Model(Section3-1)

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

2-1節では上記のように図示できる、Section3-1のContinuous Bag-of-Words Modelを確認していきます。以下パラグラフ単位で確認していきます。

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

第一パラグラフでは、簡単な導入に関して記述されています。CBOWの図のように単語の周囲の単語を用いてその単語を再現する形式で言語モデルが組まれています。

f:id:lib-arts:20191002170019p:plain
第二パラグラフでは、モデルのアーキテクチャのことをCBOWと名付け、通常のBOW(bag-of-words model)と異なり、文脈を考慮した連続的な分散表現を用いるとあります。また、計算の複雑さとしては(4)のように示されています。


2-2. Continuous Skip-gram Model(Section3-2)

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



2-2節では上記のように図示できる、Section3-2のContinuous Skip-gram Modelを確認していきます。以下パラグラフ単位で確認していきます。

f:id:lib-arts:20191002171119p:plain
第一パラグラフでは、Skip-gramモデルの導入が行われています。文脈を用いて現在の単語を予測するCBOWと異なり、Skip-gramでは現在の単語から周辺の単語を予測する問題における最適化を行なっています。

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

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

第二パラグラフでは、(5)で計算コストについて言及されています。


3. まとめ
#19では"Efficient Estimation of Word Representations in Vector Space"のSection2のModel ArchitecturesとSection3のNew Log-linear Modelsの内容を確認しました。Section2が従来の研究のまとめ、Section3がこちらの研究のContributionと考えておくと良さそうでした。
#20では引き続き、こちらの論文の続きを確認していきます。