確率的学習アルゴリズムを用いた有限 状態オートマトンの抽出に関する研究 北陸先端科学技術大学院大学 知識科学研究科 知識システム構築論講座 林研究室 近藤 雅之 発表の流れ 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と設定 正規文法の一例である富田文法を用いた 入力に対し、現在の状態が受理状態にあるか 非受理状態にあるかを教示 富田文法(1) 以下の4種類について実験を行った 1. 奇数個の1の後に奇数個の0が続かない 2. 0が3つ以上連続しない 3. 1と0の個数の差が3の倍数である 4. 0*1*0*1* 文法1の例 0000110001110001 富田文法(2) 受理状態 非受理状態 初期状態 1入力の遷移 0入力の遷移 図2 文法1の状態図 実験1 100回の試行中何回学習が収束するか 長さ3~6の文を40個、ランダムに生成 データ提示回数と平均収束時間を計測 隠れ層の素子数を変えて実験 表1 入力データの例:1 input teacher 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 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入力の遷移 図3 文法1:隠れ素子数3、4個の時の最小状態数のFSA 結果 実験2 (4) 受理状態 非受理状態 初期状態 1入力の遷移 0入力の遷移 図4 文法1:隠れ素子数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
© Copyright 2024 ExpyDoc