確率的学習アルゴリズムのリカレントニューラルネットワークへの適用
Download
Report
Transcript 確率的学習アルゴリズムのリカレントニューラルネットワークへの適用
確率的学習アルゴリズムを用いた有限
状態オートマトンの抽出に関する研究
北陸先端科学技術大学院大学
知識科学研究科
知識システム構築論講座 林研究室
近藤 雅之
発表の流れ
1.
2.
3.
4.
5.
背景・目的
確率的学習アルゴリズム
単純再帰型回路網への適用
実験・結果
考察・まとめ
背景1
ニューラルネットワークの記号処理への応用
単純再帰型回路網(SRN)で単純なFSAの学習を
行った (Schreiber et al.[1989])
隠れ層の活性化パターンのクラスタが、FSAの各状態
を表わしていると主張
2次結合の再帰型神経回路網(RNN)を用いて正
規言語同定問題(Giles et al.[1992])
いくつかの場合にFSAの獲得に失敗している
背景2
SRNは正規言語を(条件付きで)学習できる
隠れ層の状態から、ネットワークがどのような
FSAを獲得したかわかる
ネットワークを構成する素子の出力関数にシ
グモイド関数を用いている
活性値が連続値 → FSAの抽出困難
背景3
そこで線形閾値素子を用いる
活性値が離散値 → FSAの抽出容易
しかし
線形閾値素子を用いた学習アルゴリズムが存
在しなかった
離散値であるために微分ができない
→ BP法が適用できない
背景4
確率的学習アルゴリズム(S-MLP)が提案
される[櫻井,2001]
線形閾値素子を用いている
大域的な収束性かつ高速
解が離散値で表現される → 解釈が容易
素子の出力が離散値である回路網を学習
できる特徴に着目
研究の目的
S-MLPをSRNに適用し、実際にFSAを学習
できるかどうかを調べる
そのための実験として、正規言語の学習を
行い、隠れ層の状態からFSAの抽出を行う
確率的学習アルゴリズム
線形閾値素子からなる多層神経回路網(MLP)
を対象とした学習アルゴリズム
データ提示のたびに素子を確率的に選択
選択された素子への結合荷重をRosenblattの
パーセプトロン・アルゴリズムに従い更新
本研究では、S-MLPを改良したPS-MLPを用いた
学習アルゴリズム
I
x1
H
w1
O
0.5
w2
x2
x3
w3
0.1
0.2
0.2
y
(yt
)
単純再帰型回路網(SRN)
Elmanによって提案される。
RNNのもっとも単純なものの一つ。
一時刻前の隠れ層の出力をそのまま文脈層にコ
ピーする。
過去の情報を持つ文脈層を入力に加えることに
より、時系列のパターンを学習することができる。
モデル
出力層
隠れ層
入力層
フィードバック
文脈層
T=t+1
T=t
図1 SRN:本研究もこのモデルを扱った
数値実験
初期値設定
結合荷重の初期値は-2.0~2.0の整数値をランダ
ムに設定
文脈層の初期値は全て1.0と設定
正規文法の一例である富田文法を用いた
入力に対し、現在の状態が受理状態にあるか
非受理状態にあるかを教示
数値実験2 富田文法の学習
以下の4種類について実験を行った
1. 奇数個の1の後に奇数個の0が続かない
2. 0が3つ以上連続しない
3. 1と0の個数の差が3の倍数である
4. 0*1*0*1*
実験1
100回の試行中何回学習が収束するか
長さ3~6の文を40個、ランダムに生成
データ提示回数と平均収束時間を計測
隠れ層の素子数を変えて実験
表1 入力データの例:1
input
1
0
0
1
1
1
0
1
teacher
1
0
1
1
1
1
0
0
結果 実験1
全ての文法が、全ての試行で学習できた
表2 1の実験結果
hidden units
3
4
5
data ave.
7877
4892
3836
max.
42449
30016
36645
min.
219
69
62
time ave.
1.92s
3.16s
1.01s
right/wrong
30/10
30/10
30/10
実験2
長さ3~5までの全てのbitパターンを網羅したデータ
隠れ層の素子数を変えて実験
隠れ層の状態からFSAを抽出
表3 入力データと教師信号の例:1
length
3
3
3
・・・
5
5
5
input
000
001
010
・・・
11101 11110 11111
teacher
111
111
110
・・・
11100 11111 11111
結果 実験2 (1)
1、2、4の文法では最小状態数のFSAが得られた
場合があった
表4 1の実験結果
hidden units
3
4
5
state Ave.
6.3
7.6
8.0
state min.
5
5
6
right/wrong
43/13
43/13
43/13
結果 実験2 (3)
受理状態
非受理状態
初期状態
1入力の遷移
0入力の遷移
図2 隠れ素子数3、4個の時の最小状態数のFSA
結果 実験2 (4)
受理状態
非受理状態
初期状態
1入力の遷移
0入力の遷移
図3 隠れ素子数5個の時の最小状態数のFSA
考察
S-MLP(PS-MLP)を用いたSRNはFSAを学習
できる → S-MLPをSRNに適用できる
最小状態数で正解のFSAを獲得できるとき
があった
状態数が最小でも正解でない場合もあった
隠れ層の素子数が多い(自由度が高い)ほ
うが収束が速い
最小状態数のFSAを得にくいが、比較的少ない
状態数に落ち着く
今後の課題
より複雑なFSAの学習について調べる
学習後のネットワークを用いて長い文でテストを行う
言語学習の一般的な教示方法を用いてみる(文法獲
得の可能性の調査)
状態数の多いもの
文法的に正しい文の次単語を予測
各文が文か非文かを教示する
S-MLPに関する課題
どのような確率分布を与えると最適か?
SRNへの適用(アルゴリズム)
各文にラベルを持たせる(収束か未収束)
各文の1入力毎にもラベルを持たせる
アルゴリズム
ランダムに文を選び、文の最初から計算する
文の途中で教師信号と異なる信号を出力したら、荷重更新
をおこない、またその文の最初から計算をおこなう。また、
全ての文を未収束とラベル付けする。
その文に関して、最後まで教師信号と同じ出力であれば、
その文は収束したと見なし、収束のラベル付けを行う
以上を全ての文について行う。
学習アルゴリズム
ラベル
Data[1]
・
・
・
Data[x]
000000
satisfied
unsatisfied
001001
unsatisfied
unsatisfied
satisfied
unsatisfied
satisfied
unsatisfied
Data[x+1] 110010
・
・
・
Data[n]
111111