240 likes | 409 Views
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究. 北陸先端科学技術大学院大学 知識科学研究科 知識システム構築論講座 林研究室 近藤 雅之. 発表の流れ. 背景・目的 確率的学習アルゴリズム 単純再帰型回路網への適用 実験・結果 考察・まとめ. 背景1. ニューラルネットワークの記号処理への応用 単純再帰型回路網 (SRN) で単純な FSA の学習を行った (Schreiber et al.[1989]) 隠れ層の活性化パターンのクラスタが、 FSA の各状態を表わしていると主張
E N D
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究 北陸先端科学技術大学院大学 知識科学研究科 知識システム構築論講座 林研究室 近藤 雅之
発表の流れ • 背景・目的 • 確率的学習アルゴリズム • 単純再帰型回路網への適用 • 実験・結果 • 考察・まとめ
背景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 H O w1 0.5 x1 w2 0.5 y w3 x2 (yt) 0.1 0.2 x3 0.2 学習アルゴリズム
単純再帰型回路網(SRN) • Elmanによって提案される。 • RNNのもっとも単純なものの一つ。 • 一時刻前の隠れ層の出力をそのまま文脈層にコピーする。 • 過去の情報を持つ文脈層を入力に加えることにより、時系列のパターンを学習することができる。
T=t T=t+1 モデル 出力層 フィードバック 隠れ層 入力層 文脈層 図1 SRN:本研究もこのモデルを扱った
数値実験 • 初期値設定 • 結合荷重の初期値は-2.0~2.0の整数値をランダムに設定 • 文脈層の初期値は全て1.0と設定 • 正規文法の一例である富田文法を用いた • 入力に対し、現在の状態が受理状態にあるか非受理状態にあるかを教示
富田文法(1) 以下の4種類について実験を行った 1. 奇数個の1の後に奇数個の0が続かない 2. 0が3つ以上連続しない 3. 1と0の個数の差が3の倍数である 4. 0*1*0*1* 文法1の例 0 0 0 0 1 1 0 0 0 1 1 10 0 0 1
受理状態 非受理状態 初期状態 1入力の遷移 0入力の遷移 富田文法(2) 図2 文法1の状態図
実験1 • 100回の試行中何回学習が収束するか • 長さ3~6の文を40個、ランダムに生成 • データ提示回数と平均収束時間を計測 • 隠れ層の素子数を変えて実験 表1 入力データの例:1
結果 実験1 • 全ての文法が、全ての試行で学習が収束した 表21の実験結果
実験2 • 長さ3~5までの全てのbitパターンを網羅したデータ • 隠れ層の素子数を変えて実験 • 隠れ層の状態からFSAを抽出 表3 入力データと教師信号の例:1
結果 実験2 (1) • 1、2、4の文法では最小状態数のFSAが得られた場合があった 表41の実験結果
受理状態 非受理状態 初期状態 1入力の遷移 0入力の遷移 結果 実験2 (3) 図3 文法1:隠れ素子数3、4個の時の最小状態数のFSA
受理状態 非受理状態 初期状態 1入力の遷移 0入力の遷移 結果 実験2 (4) 図4 文法1:隠れ素子数5個の時の最小状態数のFSA
考察 • S-MLP(PS-MLP)を用いたSRNはFSAを学習できる → S-MLPをSRNに適用できる • 最小状態数のFSAを獲得できるときがあった • 状態数が最小でも正解でない場合もあった • 隠れ層の素子数が多い(自由度が高い)ほうが収束が速い • 最小状態数のFSAを得にくいが、比較的少ない状態数に落ち着く
今後の課題 • より複雑なFSAの学習について調べる • 状態数の多いもの • 学習後のネットワークを用いて長い文でテストを行う • 言語学習の一般的な教示方法を用いてみる(文法獲得の可能性の調査) • 文法的に正しい文の次単語を予測 • 各文が文か非文かを教示する • S-MLPに関する課題 • どのような確率分布を与えると最適か?
SRNへの適用(アルゴリズム) • 各文にラベルを持たせる(収束か未収束) • 各文の1入力毎にもラベルを持たせる • アルゴリズム • ランダムに文を選び、文の最初から計算する • 文の途中で教師信号と異なる信号を出力したら、荷重更新をおこない、またその文の最初から計算をおこなう。また、全ての文を未収束とラベル付けする。 • その文に関して、最後まで教師信号と同じ出力であれば、その文は収束したと見なし、収束のラベル付けを行う • 以上を全ての文について行う。
unsatisfied unsatisfied unsatisfied unsatisfied 学習アルゴリズム ラベル Data[1] 000000 satisfied ・・・ Data[x] 001001 001001 unsatisfied Data[x+1] 110010 satisfied ・・・ Data[n] 111111 satisfied