#author("2018-11-03T19:14:53+09:00","default:admin","admin")
#author("2018-11-03T19:15:52+09:00","default:admin","admin")
*概要 [#o9b4ed45]

最近の人工知能研究のブームをけん引しているのはニューラルネットワークです.特に識別に関する性能が成熟化しました.ただ,ニューラルネットワークには,膨大な計算が必要なネットワーク最適化を要したり,膨大な入力データを要する点が脳と乖離するという指摘があります.我々には,次世代の技術基盤を作りたいという思いがあります.人間の脳の高度な機能は,大脳新皮質にあるといわれており,その本質は予測にあると考えられます.我々は予測知能の実現に向けた研究をしています.

*大脳新皮質学習(Cortical Learning Algorithm) [#j0ee8cf0]
脳機能をモデル化して利用する研究は多種多様で,簡素なモデルを利用するものから,精緻なモデルを利用するものまであります.その中で,我々はJ. Hawkinsらによって提唱された階層時間記憶(Hierarchical temporal memory, HTM)((J. Hawkins, S. Blakeslee: On Intelligence: How a New Understanding of the Brain Will Lead to the Creation of Truly Intelligent Machines, Times Books, 2005.))の概念に注目し,それを具現化したアルゴリズムのひとつである大脳新皮質学習アルゴリズム(Cortical Learning Algorithm, CLA)((Hierarchical Temporal Memory (HTM) Whitepaper, https://numenta.com/neuroscience-research/research-publications/papers/hierarchical-temporal-memory-white-paper/))((nupic.core: Implementation of core NuPIC algorithms, https://github.com/numenta/nupic.core))の研究をしています.

CLAは,人間の大脳新皮質の仕組みを模倣した時系列予測法であり,異常検知に利用されることもあります.入力データを離散表現にして取り扱うこと,シナプスを簡素なアルゴリズムで構築するところに特徴があります.以下,簡単にCLAについて紹介します.

**構成 [#md307df8]
CLAの学習器の構成を以下に示します.CLA の学習器全体をリージョンと呼びます.リージョン内には,複数のカラムを用意します.それぞれのカラム内には,複数のセルを用意します.
入力データはバイナリビット列で表現し,各ビットとカラムの間にシナプスを配置します.また,セルとセルの間にもシナプスを配置します.

#ref(1.png,center,zoom,500x0)

カラムは,入力データを学習器内の内部表現にするために使われます.
セルは,入力データの時系列を内部表現するために使われます.

**空間プーリング [#mc53a30d]
データビット1とシナプス接続のあるカラムを活性させ,入力データをカラムの活性パターンで内部表現にします.活性に貢献したシナプスは強度を高めます.この処理を空間プーリングといいます.

#ref(2.png,center,zoom,500x0)

**時間プーリング [#fc4679d1]
空間プーリングにおいて,同じデータが入力されれば同じカラムが活性するのですが,
出現する文脈の違いを表現するために,そのカラム内セルをひとつずつ活性させて,文脈を表現します.

#ref(3.png,center,zoom,500x0)

また,予測もセルによって行います.


#ref(4.png,center,zoom,500x0)

この場合,次状態でこれらのカラムが活性すると予測成功ということになります.

#ref(5.png,center,zoom,500x0)

*実験結果 [#ja79d20c]
**実験設定 [#jfdaa228]
テストとして正弦波と[[気象庁の過去のデータ:https://www.data.jma.go.jp/gmd/risk/obsdl/index.php]]を用いた平均気温を予測する結果を示します.使用したパラメータについて,カラム数は,正弦波では256,平均気温では32に設定しました.1つのカラムおけるセル数は,正弦波,平均気温ともに16に設定しました.正弦波は,100時点で一周する[-1,1]のデータで,これを1024ビットの入力データビットにしました.平均気温は,64ビットの入力データビットにしました.
**正弦波の時系列予測 [#a215c6ef]
#div(start)
***学習終盤 [#g2a5ba85]
#ref(sin2.gif,center,zoom,320x0)
#div(end)
***学習序盤 [#i9317a39]
#ref(sin1.gif,center,zoom,320x0)
#div(end)
***学習終盤 [#g2a5ba85]
#ref(sin2.gif,center,zoom,320x0)
#div(clear)

**平均気温の時系列予測 [#g2f27225]
#div(start)
***学習終盤 [#d60e42e5]
#ref(w2.gif,center,zoom,320x0)
#div(end)
***学習序盤 [#j89eaaf6]
#ref(w1.gif,center,zoom,320x0)
#div(end)
***学習終盤 [#d60e42e5]
#ref(w2.gif,center,zoom,320x0)
#div(clear)
*まとめ [#b3ae82cf]
我々が取り組んでいる階層時間記憶と大脳新皮質学習について紹介しました.詳細は,下記文献を参照されるのが良いと思います.今回紹介したのは基礎であり,特に我々はアルゴリズムの改良と,予測の適用可能範囲の拡大のための研究をしています.
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS