generated at
言語モデル
言語モデルの定義の一つ: 文の「もっともらしさ」を評価する
音声認識とかのいくつかの認識結果候補から一つを選ぶのにも使える

」の数学的表現
文s = <s> hello world </s>
<s></s>は、文頭/文末を表す単語的存在
↑を用いて、文らしさを評価
P(a|b)は、bが来たあとのaの単語出現確率
P(<s>) * P(hello | <s>) * P(world | <s> hello) * P(</s> | <s> hello world)
各単語について、それ以前の文章から考えてその単語がどのくらいありうるかを評価
P(a|b)をどうするか
コーパスの出現頻度で簡単に計算できる
低頻度な現象には弱い
0を返されるとP(a|b)の総乗が0になってしまう
n-gramによる近似
単語以前の全てではなく、単語以前のn単語のみを用いて最尤推定
nが小さいほど、低頻度な物に強くなる
nが多いほど長い文脈を考慮できる
機械翻訳n=4 (4-gram)までが一般的
RNNに突っ込む

言語モデルは、尤もらしさ等を測る上で単語間の繋がりの情報を保持している
つまり、言語モデルは文章等をベクトルにエンコード/デコードする物とも定義できる?

RNNに突っ込んでembedding (エンコード)
出力はSoftmaxで0~1に正規化
長い文になると、各単語が出力ベクトルに与える影響が小さくなってしまう
出力ベクトルのサイズは固定
アテンションの重みを計算して、重要な単語を強く反映させる
RNN再帰を無くして、注意機構のみでエンコード/デコード
ベクトルへのエンコードと、その別言語によるデコードができれば機械翻訳が出来る

GPT-3, BERTなどはTransformerの応用

Pre-trained言語モデル
様々なタスクに適応できる言語モデル
大規模モデルはメンテナンス等にコストかかり、扱いにくい
専用の小さいモデルと比べて、この点がデメリット
軽量なモデル(DistillBERTとか)も作られている