【IT Text 自然言語処理の基礎】第4章:系列に対するニューラルネットワーク

513 Views

November 08, 23

スライド概要

自然言語処理の基礎の輪読会第6回の発表スライドです。
2023年11月9日(木) 18:30~

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2023年度後期輪読会#6 自然言語処理の基礎6章 京都大学理学部理学科2回生 山下 素数 0

2.

単語ベクトル 文章が入力である分類問題を解く一番単純な方法 1. 単語ベクトルを合成する 2. 全結合層に渡す 3. ソフトマックス関数で出力する 単語ベクトルを合成する方法として単純に文ベクトルを並べる方法 をとると、文ベクトルの位置を直接的に反映してしまうため、語順 の入れ替えに対応できない。 単語ベクトルを合成する方法として文ベクトルの平均をとる方法を とると、語順を文ベクトルに反映することができない。 1

3.

RNN(Recurrent Neural Network) aを潜在変数、xを入力、yを出力とする。 RNNでは、xを入力として隠れ状態ベクトルaを更新し、yを出力すると いうことを繰り返す。 時間方向に誤差逆伝搬を 繰り返してパラメータの 更新を行う。これを 通時的誤差逆伝搬法(BPTT) という。 https://stanford.edu/~shervine/l/ja/teaching/cs230/cheatsheet-recurrent-neural-networks 分類問題であれば、図のyを 全結合層とソフトマックス関数に 渡す。 一番最後の隠れ状態ベクトルaが文ベクトルとみなせる。 2

4.

RNNの問題点と改善案 文末と文頭では、文ベクトルに与える影響度が異なる。 対処法として以下のようなものが挙げられる。 ⚫ 隠れ状態ベクトルとして最後のものだけ使うのではなく、すべて の隠れ状態ベクトルの平均を取る。(各成分の最大値を取る方法 もある) ⚫ 順方向のRNNと逆方向のRNNを学習して、それら2つのRNNの一 番最後の潜在変数を繋げる。(RNNを多層構造にすることもでき る。その場合は1層目の隠れ状態ベクトルを2層目の入力とす る。) 3

5.

勾配消失と勾配爆発 ニューラルネットワークは誤差逆伝搬法で学習されることが多い。 誤差逆伝搬法では勾配を用いて学習を行っているため、勾配が小さ くなりすぎてしまう場合(勾配消失)や勾配が大きくなりすぎてしま う場合(勾配爆発)は学習をうまくすることができない。 RNNでは勾配消失、勾配爆発の問題が起きてしまうことが知られて いる。 理由は勾配を求めるのに隠れ層の数だけ偏微分が掛けられてしまう ため。 途中に現れる偏微分が全て1未満のときは勾配消失、全て1より大き い場合は勾配爆発が起きてしまう… 4

6.

LSTM(Long Short-Term Memory) LSTMはRNNの勾配消失の問題を解決した。 新たにメモリセルcとゲートを3つを持つのが特徴 忘却ゲートはどれほどメモリセルの 記憶を受け継ぐか、入力セルは どれほど入力を受け取るか、 出力ゲートはどれほど隠れ状態 ベクトルに出力するかどうかを決める。 分類問題の場合は隠れ状態ベクトルに 全結合層とソフトマックス関数をつなげる。 (入力ゲートの抽出のアイデアは TransformerのAttentionにも表れる。) https://cvml-expertguide.net/terms/dl/rnn/lstm/ 5

7.

GRU(Gated Recurrent Unit) LSTMから記憶セルを無くし、ゲートの数を減らしてパラメーター 数を減らしたモデル。LSTMとほぼ同じ性能が出る。 リセットゲートはどれほど 隠れ状態ベクトルをリセット して新しい入力とつなげるか、 更新ゲートはどのような割合で か隠れ状態ベクトルを更新するか を決める。 分類問題の場合は隠れ状態ベクトル hに全結合層をつなげてソフトマックス関数 ~ で出力をする。 https://cvml-expertguide.net/terms/dl/rnn/gru/ 6

8.

CNN(Convolutional Neural Network) 畳み込みニューラルネットワークを 自然言語処理に適用することもある。 複数個のフィルターで畳み込みを行う。 文字数に応じた個数の文ベクトルが 生まれるため、最大値プーリングや 平均プーリングを適用して一つの文ベクトル にまとめる。 この出力値を全結合層につなげて ソフトマックス関数に通せば 分類問題を解くことができる。 https://arxiv.org/abs/1612.08083 7

9.

まとめ まとめ1 RNNにおける自然言語処理を学んだ まとめ2 LSTM、GRUによる自然言語処理を学んだ まとめ3 CNNによる自然言語処理を学んだ 8