RNN
概要
- 入力層では、時刻ごとにデータを受け取り、出力層では時刻ごとの結果(たとえば分類問題の場合は分類カテゴリの確率値)を出力する
- ある時刻の中間層からの出力を次の時刻の中間層に伝えるためのパスをもつ
- 予測したい単語の間の距離が遠いとき、RNNも使えるけどレイヤ数は増える
- レイヤを増えると、過去の勾配はだんだん弱くなる(勾配消失が起こる)
LSTM
- Long Short-Term Memory
- STMは「ゲート」という仕組みを導入した
- Inputゲート、OutputゲートとForgetゲートでメモリに保存すべきものをコントロールする
BiLSTM
- 双方向LSTM
- Bidirectional LSTM
- 左から右までLSTMを行って、右から左までLSTMを行って結果を合わせる。
- 両方向の文脈情報を捉えられることが可能になる。
- 固有表現認識タスク
CRF
- Conditional random field
- 形態素解析器の1つであるMeCab内で学習モデルとして用いられている
- 無向グラフにより表現される確率的グラフィカルモデルの一つであり、識別モデルである
- 無向グラフは方向性のないエッジ(辺)とノード(頂点)からなるグラフである.方向性がないとは,両方向に行き来できるという意味である
- 確率的グラフィカルモデルとは,グラフが確率変数間の条件付き依存関係を示すような確率モデルを指す.確率的グラフィカルモデルのノードは確率変数を表し,エッジは依存関係を表す
- 識別モデルとはあるデータxがクラスCkに属する確率p(Ck|x1)を表すモデルを指す
- CRFは系列ラベリングという問題を解くために用いられる手法である
- CRFはマルコフ確率場上に成り立っているため,現在の状態は1つ前の状態にのみ依存する
分類問題と系列ラベリング
機械学習の最も基本的な問題は分類問題であろう.例えば届いたメールがスパムメールかどうか,入力されたデータがどのクラスに属しているか等を判断するような問題が挙げられる.分類問題では与えられる入力データは1つの場合が多く,そのデータをどのクラスに分類するかを判別することが目的となる.
これに対して系列ラベリングは,入力にデータ列(例えば単語列)を受け取り,出力として個々のデータにラベルを付加することが目的となる.例えば単語列に品詞情報を与える問題(入力:「私/は/走る」⇒出力:「名詞/助詞/動詞」)などが挙げられる.
系列ラベリングを解くためのCRFを,特にLinear-chain CRFと呼ぶ.
構造学習
構造学習とは,系列ラベリングを解く際に入力であるデータ列を個々のデータに分割して入力とせず,まとめてデータ列を渡してデータごとのラベルを得る手法である.