選択的不感化ニューラルネット(SDNN)とその応用

背景

深層ニューラルネットの問題点

近年のAI技術の中心である深層ニューラルネット(DNN)には,いくつかの課題があります. 一つは,適用困難な問題があるということです. 深層学習には,大量の学習用データが必要ですが,問題の性質が時間的に変化したり(コンセプトドリフト),適用する対象(例えば個人)ごとの差が大きいと,必要なデータが十分に得られない場合があります. また,DNNにはさまざまなハイパーパラメータがあり,問題ごとに適切に設定しないと十分な性能が出ないため,問題の変化に対して適応的に学習することも困難です. もう一つの問題は,DNNがなぜそのような結果を出力したのか,判断根拠が不明ということです. これに関しては様々な研究がなされていますが,入力から出力までの層数が多く,解析が難しい上に解析結果の解釈も容易ではありません. さらに,現実的な問題点として,計算コストが大きい,十分な経験がないと使いこなすのが難しい,といったことも挙げられます.

浅層ニューラルネット

DNNでは入力層と出力層の間に中間層が何層もあり,それらの中間層でも学習を行いますが,これに対して中間層が少なく,学習は1層でのみ行うものを「浅層ニューラルネット」と呼びます(この定義は一般的ではないかもしれません). 浅層NNの最も基本的なものは単純パーセプトロンです. 但し,一つの単純パーセプトロンは,入力空間を超平面で二分することしかできません. 線形分離でない(一番単純なのはXOR)課題が解けないため,そのままではほとんど使い物にならなりません(歴史的には,これを解決するために多層化が行われました). 代表的な浅層NNの一つは,サポートベクターマシン(SVM)です. 線形のSVMは単純パーセプトロンと同様,線形分離しかできませんが,通常はカーネルによる非線形変換を通するので,元の入力空間では複雑な分類が可能です. 但し,非線形カーネルには様々な種類があり,また各カーネルにはいくつかのパラメータがあります. SVMは計算コストは低いのですが,カーネル種類やパラメータによって性能がかなり変わるため,上述のDNNの第一の問題点の解決にはなりません. また,非線形カーネルを通すことにより,どの入力特徴(入力ベクトルの成分)が結果にどのように寄与したのか解析がしづらくなる点も問題です. このほかに,多数の単純パーセプトロンを並列化し,その出力の合計値で最終的な出力を決める並列パーセプトロンというものがあります. あまり知られていませんが,並列パーセプトロンは,理論的には多層パーセプトロンと同様に万能(どんな複雑な関数も表現できる)です. 但し,実際にサンプルを学習して複雑な分類(または関数近似)をさせても,あまりうまくいきません.

単純パーセプトロンの性能向上

人間の脳では,深層学習を行っているとも課題に応じたカーネル選択をしているとも考えられません. にもかかわらず,高い学習能力をもち,短時間の学習で未知の入力に対してもそれなりの答えを出すことができます. 細かい経緯は省きますが,分散表現における情報統合の問題点の追求[1,2]と,脳のモデル化の研究[3-5]の結果,入力ベクトルにある操作を施してから単純パーセプトロンに入力すると,非常に複雑な分類を容易に学習できることが分かりました. これを並列化したものが選択的不感化ニューラルネット(SDNN)です.

SDNNの構造と動作

図1
図1 SDNNの構造
標準的なSDNNは図1のような構造をしています(例として,入力が4次元の場合を示しています). 入力ベクトルの成分(特徴量)は一般にアナログ値ですが,最初にこれを一定の規則に従って高次元の2値(1,-1)パターンに変換します(パターンコーディング). アナログの特徴量をx1, x2, x3, x4,それらを表すパターンをX1, X2, X3, X4としましょう. 両者の変換は表引きするだけですので簡単です. 次に,このパターンを二つずつ,一方が他方を修飾する形で統合します. 例えば,X1をX2で修飾すると,X1(X2)というパターンが得られます. このとき,X1(X2)というパターンは,X1の一部(通常は半数)の成分が0(中立値)となった3値パターンです. 成分の一部を0にすることを「選択的不感化」といい,どの成分を0にするかはX2によって依存します. 通常はX1とX2の成分をランダムに対応付け,対応するX2の成分が-1のとき0にします. 例えば,X1=(1,1,1,1,-1,-1,-1,-1), X2=(1,-1,1,-1,1,-1,1,-1) で,同じ場所同士が対応しているならば,X1(X2) = (1,0,1,0,-1,0,-1,0) となります. 同様に,X2をX1で修飾すると,X2(X1)=(1,-1,1,-1,0,0,0,0) が得られます. 最後に,こうして得られた4x3=12個のパターンを,並列パーセプトロンへの入力とします. 並列するパーセプトロンの出力値の総和に応じて,SDNNの出力値が決まります. これが正解に一致するように学習しますが,学習によって修正されるのは,いくつかの単純パーセプトロンの出力素子への結合だけです. このように,SDNNの計算は(いくつか注意点がありますが)簡単で,学習も単純で非常に高速です. 図2は,2変数関数を学習させた例です[6]. (a)が元の関数(正解)で,点(x, y)における関数値が色で表されています. そこから(b)に示す点をサンプリングしてSDNNに与えます. 黒塗りの領域にはサンプルがないことに注意して下さい. (c)は学習後のSDNNの出力です. 元の関数がかなりよく再現されていることがわかります. 既存のどの学習器でも,このような性能は得られません(サンプルが図(b)の点だけなので深層学習はうまくいきません).

図2
図2 SDNNによる関数近似の例

SDNNの性質

SDNNは,以下に列挙するような多くの優れた性質をもちます.

表現能力

SDNNの出力層は並列パーセプトロンなので,理論上は万能(十分な素子数があれば,任意の連続関数を高精度で表現可能)ですが,実際のサンプル学習能力も非常に高く,ほとんどの場合,学習誤差はきわめて小さくなります. また,関数は連続である必要はなく,図2の中央部分のように,不連続に変化する部分があっても精度よく近似可能です.

汎化能力

図2からわかるように,サンプルが与えられない部分にも学習した結果が及びます. また,一般に汎化能力と表現能力は相反すると考えられていますが,それは過剰適合(表現能力を高めて学習誤差を減らすと,サンプルのみに適合することによってかえって汎化誤差が増加する現象)が生じるからです.

SDNNでは素子数を増やして表現能力を高めても過剰適合が生じない(過剰な素子は使われないか同じ働きをする)ため,汎化能力が低下することもありません.

無効特徴に対する頑健性

出力に関係しない入力変数(特徴量)を無効特徴と呼びます. 一般に,無効特徴は入力空間を無駄に増大させるため,学習に必要なサンプル数が増大(同じサンプル数だと精度が低下)します. 無効特徴の数が多いほどその傾向は顕著です.

これに対してSDNNの場合,無効特徴方向に強い汎化が生じるため,悪影響は抑えられます[7]. 同様に,特定の領域でのみ有効でそれ以外では無効な特徴(部分的有効特徴)による悪影響もあまり受けません.

特徴量の有効性判別

前項の無効特徴は削除してしまえばいいのですが,誤って部分的有効特徴を削除しないようにしなければなりません. また,有効か無効かを判別するのはそう簡単ではありません. 特に,有効な領域が小さな部分的有効特徴や,別の特徴量と同時に入力しないと有効にならない特徴量(組み合わせ有効特徴)は一般に検出が困難です.

これに対して,SDNNでは,比較的少数のサンプルを学習した後の結合荷重の分散を調べることによって,個々の特徴または二つの特徴の組合せの有効性を判別できます[8].

オンライン追加学習

多くの学習器では,学習後に新たなデータが追加された場合,古いデータを含めて再学習しなければなりません. 新しいデータだけを追加で学習すると,それまでの学習結果が大きく崩れてしまうからです(カタストロフィック干渉).

これに対してSDNNでは,新しいサンプルを追加学習しても(狭い領域に多くのサンプルが与えられた場合を除いて)その影響は近傍にしか及ばないため,古いサンプルの再学習は不要です. そのため,サンプルを1つずつオンラインで学習することが可能であり,コンセプトドリフト(対象が時間的に変化する)課題や,強化学習の価値関数の近似にも適しています.

使いやすさ

入力次元があまり大きくなければ,計算コストが低く学習も早いのでノートPCでも動作します. また,ハイパーパラメータが少なく性能への影響も少ないので,さまざまな設定を試行錯誤的に試す必要がありません. また,ライブラリ が公開されているので,実装も容易です.

SDNNの応用

既にいくつかの課題に応用していますが,今後さらに別の応用も進める予定です.

強化学習

連続状態空間におけるQ学習では,価値関数の近似が必要ですが,その近似器としてSDNNを用いることによって優れた性能が得られています[9-11].

筋電からの動作推定

表面筋電位信号は,個人差が大きく,電極を貼る位置の微妙な違いによっても変わります. また,例えば手首をひねるような動作の場合,筋電信号と動作の種類や速度との関係は複雑なものになります. SDNNを用いることによって,少数のサンプルを取得してすぐ学習し,動作推定を行う手法を開発しました [12-15].

時系列予測

過去の時系列から将来の値を予測する手法はいろいろありますが,予測対象の性質が時間的に変化するコンセプトドリフト課題に対してはあまりよい性能が得られません. そのような課題の一つとして株価予測がありますが,SDNNを用いることによって,既存手法よりも予測誤差を小さくすることができました[16,17].

関連論文

  1. 森田昌彦,松沢浩平,諸上茂光 (2002): 非単調神経素子の選択的不感化を用いた文脈依存的連想モデル, 電子情報通信学会論文誌(D-II), J85-D-II, 1602-1612.
    [概要] [reprint(PDF)]
  2. 森田昌彦,村田和彦,諸上茂光,末光厚夫 (2004): 選択的不感化法を適用した層状ニューラルネットの情報統合能力, 電子情報通信学会論文誌(D-II), J87-D-II, 2242-2252.
    [reprint(PDF)]
  3. 末光厚夫,諸上茂光,森田昌彦 (2004): 下側頭葉における文脈依存的連想の計算論的モデル, 電子情報通信学会論文誌(D-II), J87-D-II, 1665-1677.
    [reprint(PDF)]
  4. 宮澤泰弘,末光厚夫,森田昌彦 (2007): 選択的不感化理論に基づく海馬ニューロン活動のモデル化, 日本神経回路学会誌, 14, 3-12.
    [reprint (PDF)]
  5. Morita, M., Morokami, S. and Morita H. (2010): Attribute pair-based visual recognition and memory, PLoS ONE, 5(3), e9571.
    [doi:10.1371/journal.pone.0009571]
  6. 野中和明,田中文英,森田昌彦 (2011): 階層型ニューラルネットの2変数関数近似能力の比較, 電子情報通信学会論文誌(D), J94-D, 12, 2114-2125.
    [概要] [reprint (PDF)]
  7. Tanno, T, Horie, K., Izawa, J. and Morita, M. (2017): Robustness of selective desensitization perceptron against irrelevant and partially relevant features in pattern classification, Proceedings of the 24th International Conference on Neural Information Processing (ICONIP 2017), 520-529.
    [PDF]
  8. 染野翔一,堀江和正,丹野智博,森田昌彦(2019): 選択的不感化ニューラルネットによる特徴量の有効性の分析, 電子情報通信学会論文誌(D), J102-D, 8, 567-574.
    [reprint (PDF)]
  9. 新保智之,山根 健,田中文英,森田昌彦 (2010): 選択的不感化ニューラルネットを用いた強化学習の価値関数近似, 電子情報通信学会論文誌(D), J93-D, 6, 837-847.
    [reprint (PDF)]
  10. 小林高彰,澁谷長史,森田昌彦 (2015): 選択的不感化ニューラルネットを用いた連続状態行動空間におけるQ学習, 電子情報通信学会論文誌(D), J98-D, 2, 287-299.
    [reprint (PDF)]
  11. Kobayashi, T., Shibuya, T. and Morita, M. (2015): Q-learning in continuous state-action space with noisy and redundant inputs by using a selective desensitization neural network, Journal of Advanced Computational Intelligence and Intelligent Informatics, 19, 6, 825--832
    [PDF]
  12. Kawata, H., Tanaka, F., Suemitsu, A. and Morita, M. (2010): Practical surface EMG pattern classification by using a selective desensitization neural network, Neural Information Processing (Part II), Lecture Notes in Computer Science, 6444, 42-49.
  13. Horie, K., Suemitsu, A. and Morita, M. (2014): Direct estimation of hand motion speed from surface electromyograms using a selective desensitization neural network, Journal of Signal Processing, 18, 225-228.
    [reprint (PDF)]
  14. 堀江和正,末光厚夫,丹野智博,森田昌彦(2016): 選択的不感化ニューラルネットによる表面筋電位からの手首関節角速度推定, 電子情報通信学会論文誌(D), J99-D, 6, 617-629.
    [reprint (PDF)]
  15. Horie, K., Suemitsu, A., Tanno, T. and Morita, M. (2016): Direct estimation of wrist joint angular velocities from surface EMGs by Using an SDNN function approximator, Proceedings of the 23rd International Conference on Neural Information Processing (ICONIP 2016), 28-35.
    [PDF]
  16. Ichiba, T., Horie, K., Someno, S., Aki, T and Morita, M. (2019): Application of the selective desensitization neural network to concept drift problems, Proceedings of the 2019 RISP International Workshop on Nonlinear Circuits, Communications and Signal Processing, SPM1-3-3.
  17. Someno, S., Horie, K., Ichiba, T., Aki, T and Morita, M. (2019): Improving time series prediction by the selective desensitization neural network based on synaptic weight analysis, Proceedings of the 2019 RISP International Workshop on Nonlinear Circuits, Communications and Signal Processing, SPM1-3-5.
    [PDF]


森田のページへ戻る

お問い合わせは mor@bcl.esys.tsukuba.ac.jp までどうぞ