読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】エルマンネットワークとジョルダンネットワーク、何を戻してるかの違い?BPTT・教師強制・双方向RNNも【G検定】

11レスカテゴリ:AI・機械学習
1: 名無しさん

RNNの用語、エルマン・ジョルダン・BPTT・教師強制・双方向が一気に出てきてごっちゃになる

2: 名無しさん

前提のおさらい。誤差逆伝播法で層をさかのぼるたびに傾きを掛け算すると、勾配が消えたり爆発したりする。RNNでは、この「層」が「時刻」になる

3: 名無しさん

>>1
RNN(リカレントニューラルネットワーク)は、前の時刻の情報を次の時刻の入力に戻す回帰結合層を持つネットワーク。文章・音声・株価みたいな時系列データ向け
1つの値だけで回すと、 で、入力が 1, 0, 0 なら
、、
入力がなくなっても、最初の1の影響が少しずつ薄まりながら残る

4: 名無しさん

>>3
エルマンネットワークとジョルダンネットワークは、何を戻すかが違う
エルマンネットワーク:隠れ層の出力を次の時刻に戻す
ジョルダンネットワーク:出力層の出力を次の時刻に戻す
今のRNNの基本はエルマン型

5: 名無しさん

学習はBPTT(Backpropagation Through Time)。時刻ごとに同じ重みを使うネットワークを、時間方向に横に展開して、ふつうの誤差逆伝播法をかける
100時刻の系列なら、100層の深いネットワークと同じことになる。だから勾配消失・勾配爆発が起きやすい

6: 名無しさん

>>5
長い系列やと計算も重そうやな

7: 名無しさん

>>6
重い。だから実際は、さかのぼる時刻の数を区切って計算することが多い。そのかわり、区切りより前とのつながりは学べん

8: 名無しさん

教師強制は、文章を1語ずつ作るモデルの学習で、次の入力に「モデルが前に出した語」ではなく「正解の語」を入れるやり方
最初に間違えた語を入れ続けると、そこから先が全部くずれて学習が進まんから、正解を見せて安定させる

9: 名無しさん

>>8
でも予測のときは正解がないやん。学習のときと条件が変わってまうんちゃう?

10: 名無しさん

>>9
変わる。自分の出した語を入れたことがないから、予測のときに一度間違えると立て直せないことがある。学習の途中から、ときどき自分の出力を入れるように切りかえる工夫もある

11: 名無しさん

双方向RNN(Bidirectional RNN)は、前から読むRNNと後ろから読むRNNを両方使って、各時刻で2つの結果を合わせる
文の途中の語の品詞を当てるなら、後ろの語もヒントになる。ただ、後ろを見るには系列が全部そろってないとあかんから、しゃべってる途中でリアルタイムに訳すような用途には向かん

管理人のひとこと