(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】情報処理装置、及び情報処理方法
(51)【国際特許分類】
G06N 3/044 20230101AFI20240909BHJP
【FI】
G06N3/044 100
(21)【出願番号】P 2021007423
(22)【出願日】2021-01-20
【審査請求日】2023-09-22
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人新エネルギー・産業技術総合開発機構「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/次世代コンピューティング技術の開発/未来共生社会にむけたニューロモルフィックダイナミクスのポテンシャルの解明」に係る委託事業、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100188592
【氏名又は名称】山口 洋
(74)【代理人】
【識別番号】100189348
【氏名又は名称】古都 智
(72)【発明者】
【氏名】田中 悠一朗
(72)【発明者】
【氏名】田向 権
(72)【発明者】
【氏名】内野 壱星
【審査官】北川 純次
(56)【参考文献】
【文献】米国特許出願公開第2018/0253640(US,A1)
【文献】特開2020-091543(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
(57)【特許請求の範囲】
【請求項1】
入力情報を受け付ける受付部と、
前記受付部が受け付けた複数の前記入力情報と複数の前記入力情報の各々に対応する出力情報とに基づいて、入力情報と複数の出力情報との関係を学習することによって再帰型ニューラルネットワークが適用される学習モデルを作成する処理部と
を備え
、
前記学習モデルは、レザバーコンピューティング形式であり、
前記学習モデルは、入力層とレザバー層とリードアウト層とを有し、前記リードアウト層は複数のリードアウトを有し、
前記処理部は、複数のノードが配置された類似度マップに基づいて、複数の前記ノードから判定された前記入力情報に類似するノードに関連付けられる一の出力情報に基づいて学習する、情報処理装置。
【請求項2】
前記処理部は、前記レザバー層と前記リードアウト層との間の複数の結合重み行列を導出する、請求項1に記載の情報処理装置。
【請求項3】
前記処理部は、導出した前記レザバー層と前記リードアウト層との間の複数の結合重み行列に基づいて、前記学習モデルを更新する、請求項2に記載の情報処理装置。
【請求項4】
前記処理部は、前記レザバー層と前記リードアウト層との間の複数の結合重み行列のいずれかの結合重み行列を導出するための入力情報を選択する、請求項1から請求項
3のいずれか一項に記載の情報処理装置。
【請求項5】
入力情報が入力されることによって前記学習モデルが出力する複数の出力情報の数と前記類似度マップに含まれるノードの数とは等しい、請求項
1に記載の情報処理装置。
【請求項6】
前記類似度マップは、自己組織化マップである、請求項
1に記載の情報処理装置。
【請求項7】
入力情報を受け付けるステップと、
受け付ける前記ステップで受け付けた複数の前記入力情報と、複数の前記入力情報の各々に対応する出力情報とに基づいて、入力情報と複数の出力情報との関係を学習することによって再帰型ニューラルネットワークが適用される学習モデルを作成するステップと
を有
し、
前記学習モデルは、レザバーコンピューティング形式であり、
前記学習モデルは、入力層とレザバー層とリードアウト層とを有し、前記リードアウト層は複数のリードアウトを有し、
作成する
前記ステップでは、複数のノードが配置された類似度マップに基づいて、複数の前記ノードから判定された前記入力情報に類似するノードに関連付けられる一の出力情報に基づいて学習する、情報処理装置が実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、及び情報処理方法に関する。
【背景技術】
【0002】
マルチタスク学習は、単一のニューラルネットワークで複数のタスクを解くことを目的としたもので、近年機械学習の分野で注目を集めている。マルチタスク学習へのアプローチとして、結合コスト最小化による手法が知られている(例えば非特許文献1参照)。この手法は、レザバーコンピュータの一種であるエコーステートネットワークを改変し、マルチタスク学習を通じてネットワーク内部にモジュールが形成されるアルゴリズムを導入したものである。
【0003】
マルチタスク学習には破滅的忘却の問題がある。破滅的忘却の問題は、ニューラルネットワークのパラメータがあるタスクの学習により調整された後、新たに与えられたタスクの学習により上書きされることで、過去に学習したタスクを忘却し、解けなくなる問題である。結合コスト最小化による手法では、タスクによってモジュールを使い分けることで、破滅的忘却を回避している。
【0004】
しかし、結合コスト最小化による手法には遺伝的アルゴリズムが用いられており、マルチタスクを達成できるようになるためには、膨大な回数の学習が必要である。他にもGoogle DeepMindより提案されているPathNetもマルチタスク学習のための手法であるが(例えば、非特許文献2参照)、こちらも遺伝的アルゴリズムを用いており、結合コスト最小化による手法が有する問題と同様の問題がある。
【先行技術文献】
【非特許文献】
【0005】
【文献】河合祐司、小笹悠歩、朴志勲、浅田稔、“結合コスト最小化によるエコーステートネットワークの破滅的忘却の回避”、The 33rd Annual Conference of the Japanese Society for Artificial Intelligence, 2019.
【文献】Chrisantha Fernando, Dylan Banarse, Charles Blundell, Yori Zwols, David Ha, Andrei A. Rusu, Alexander Pritzel, Daan Wierstra, “PathNet: Evolution Channels Gradient Descent in Super Neural Networks”, arXiv:1701.08734v1 [cs.NE] 30 Jan 2017.
【発明の概要】
【発明が解決しようとする課題】
【0006】
前述したように、一般的なニューラルネットワークでは、複数のタスクを継続的に与えると、過去に学習したタスクを忘却するため、マルチタスク学習の実現は困難である。
また、マルチタスク学習に対して遺伝的アルゴリズムによる最適化が用いられる場合に、膨大な学習回数が必要となる。
本発明は、前述した問題を解決すべくなされたもので、マルチタスク学習を実行できる情報処理装置、及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一実施形態は、入力情報を受け付ける受付部と、前記受付部が受け付けた複数の前記入力情報と複数の前記入力情報の各々に対応する出力情報とに基づいて、入力情報と複数の出力情報との関係を学習することによって再帰型ニューラルネットワークが適用される学習モデルを作成する処理部とを備え、前記学習モデルは、レザバーコンピューティング形式であり、前記学習モデルは、入力層とレザバー層とリードアウト層とを有し、前記リードアウト層は複数のリードアウトを有し、前記処理部は、複数のノードが配置された類似度マップに基づいて、複数の前記ノードから判定された前記入力情報に類似するノードに関連付けられる一の出力情報に基づいて学習する、情報処理装置である。
本発明の一実施形態は、前述の情報処理装置において、前記処理部は、前記レザバー層と前記リードアウト層との間の複数の結合重み行列を導出する。
本発明の一実施形態は、前述の情報処理装置において、前記処理部は、導出した前記レザバー層と前記リードアウト層との間の複数の結合重み行列に基づいて、前記学習モデルを更新する。
本発明の一実施形態は、前述の情報処理装置において、前記処理部は、前記レザバー層と前記リードアウト層との間の複数の結合重み行列のいずれかの結合重み行列を導出するための入力情報を選択する。
本発明の一実施形態は、前述の情報処理装置において、入力情報が入力されることによって前記学習モデルが出力する複数の出力情報の数と前記類似度マップに含まれるノードの数とは等しい。
本発明の一実施形態は、前述の情報処理装置において、前記類似度マップは、自己組織化マップである。
【0008】
本発明の一実施形態は、入力情報を受け付けるステップと、受け付ける前記ステップで受け付けた複数の前記入力情報と複数の前記入力情報の各々に対応する出力情報とに基づいて、入力情報と複数の出力情報との関係を学習することによって再帰型ニューラルネットワークが適用される学習モデルを作成するステップとを有し、前記学習モデルは、レザバーコンピューティング形式であり、前記学習モデルは、入力層とレザバー層とリードアウト層とを有し、前記リードアウト層は複数のリードアウトを有し、作成する前記ステップでは、複数のノードが配置された類似度マップに基づいて、複数の前記ノードから判定された前記入力情報に類似するノードに関連付けられる一の出力情報に基づいて学習する、情報処理装置が実行する情報処理方法である。
【発明の効果】
【0009】
本発明の実施形態によれば、マルチタスク学習を実行できる情報処理装置、及び情報処理方法を提供できる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る情報処理装置の構成図である。
【
図2】本実施形態に係る情報処理装置の動作の一例を示す図である。
【
図3】本実施形態に係る情報処理装置の類似度マップの動作の一例を示す図である。
【
図4】本実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【
図5】本実施形態に係る情報処理装置の適用例1を示す図である。
【
図6】本実施形態に係る情報処理装置の処理の一例を示すフローチャートである。
【
図7】本実施形態に係る情報処理装置の処理結果の一例を示す図である。
【
図8】本実施形態に係る情報処理装置の処理結果の一例を示す図である。
【発明を実施するための形態】
【0011】
次に、本発明の実施形態に係る情報処理装置、及び情報処理方法を、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0012】
(実施形態)
[全体構成]
図1は、本発明の実施形態に係る情報処理装置の構成図である。
情報処理装置100には、タスクが入力される。情報処理装置100は、入力されたタスクを取得する。情報処理装置100は、学習モデルに基づいて、取得したタスクに対して処理を実行する。学習モデルの一例は、再帰型ニューラルネットワーク(RNN: Recurrent neural network)形式の学習モデルである。本実施形態では、再帰型ニューラルネットワーク形式の学習モデルの一例として、レザバーコンピューティング(Reservoir Computing)を適用した場合について説明を続ける。
【0013】
レザバーコンピューティングは、入力層(Input layer)とレザバー層(Reservoir)とリードアウト層(Readout layer)とを含んで構成される。レザバーコンピューティングは、レザバー層に再帰結合を持つニューラルネットワークである。レザバーコンピューティングは、一度レザバー層で重みを乱数によって決め、それ以降その重みを学習しない。レザバーコンピューティングでは、レザバー層とリードアウト層との間の結合重み行列が学習される。レザバー層でデータは記憶されるため、時系列データを扱うことができる。本実施形態では、リードアウト層に複数のリードアウトを導入する。
【0014】
情報処理装置100は、類似度マップを使用して、複数のノードから取得したタスクに類似するノードを判定する。類似度マップの一例は、自己組織化マップである。複数のノードの各々は、学習済のタスクに対応する。類似するタスクに対応するノード同士は互いに近くに配置され、類似しないタスクに対応するノード同士は離れて配置されている。類似度マップに含まれるノード数は、学習モデルに含まれるリードアウトの個数と一致する。複数のノードの各々は、複数のリードアウトの各々と対応付けられている。
ここでは、一例として連続してタスクが与えられる状況を想定する。ネットワークは初期状態(すなわちタスクを与えていない状態)では、学習済みタスクは存在しない。学習済タスクは、例えば、数回のタスクの学習を経ることによって、学習したタスクのことをいう。類似度マップは、複数の学習済タスクを学習することによって形成される。
【0015】
情報処理装置100は、学習モデルに基づいて、タスクに対して処理を実行することによって複数のリードアウトを取得する。情報処理装置100は、類似度マップを使用して判定された類似するノードに対応するリードアウトから出力データを取得する。このように構成することによってタスクに基づいて複数のリードアウトを使い分けることができるため、リードアウトが上書きされることを低減できる。このため、破滅的忘却を回避できる。
【0016】
情報処理装置100は、出力データを取得したリードアウト(以下「勝者リードアウト」という)の結合重み行列に加え、勝者リードアウトの近傍のリードアウトの結合重み行列を学習する。情報処理装置100は、勝者リードアウトの結合重み行列と勝者リードアウトの近傍のリードアウトの結合重み行列とを学習した結果に基づいて、リードアウト層に含まれる複数のリードアウトの各々の結合重み行列を更新する。このように構成することによって、学習を繰り返すことができるため、リードアウトが自己組織化される。すなわち、近くに配置されたリードアウトを似た応答を示すようにできる。
以下、情報処理装置100について説明する。
【0017】
[情報処理装置100]
情報処理装置100は、スマートフォン、携帯端末、又はパーソナルコンピュータ、タブレット端末装置、あるいはその他の情報処理機器として実現される。情報処理装置100は、例えば、入力部110と、受付部120と、処理部130と、判定部135と、出力部140と、記憶部150とを備える。
【0018】
入力部110は、入力デバイスを備える。入力部110には、タスクを特定する情報が入力される。入力部110は、入力されたタスクを特定する情報を取得する。タスクの一例は、時系列データである。以下、一例として、タスクが時系列データu(t)である場合について説明を続ける。
【0019】
記憶部150は、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)などにより実現される。記憶部150には、プログラムが記憶される。
処理部130は、学習モデル132を有する。学習モデル132の一例は、レザバーコンピューティングが適用される学習モデルである。この学習モデル132は、入力層とレザバー層とリードアウト層とを含む。
入力層には時系列データu(t)が入力される。入力層は、入力された時系列データu(t)をレザバー層へ出力する。入力層は、入力された時系列データu(t)に重みづけを行い、重みづけを行った時系列データu(t)をレザバー層へ出力してもよい。ここでは、重みづけを行わない場合について説明を続ける。
【0020】
レザバー層は、入力層が出力した時系列データu(t)を取得する。リザバー層は、スパースでランダムな結合をもつリカレントニューラルネットワークで与えられる。レザバー層は、取得した時系列データu(t)を高次元時系列データに非線形変換する。レザバー層は、時系列入力データの時間方向の関係性(依存性)に基づいて処理するために、過去の入力情報を蓄積して記憶している。レザバー層は、高次元時系列データをリードアウト層へ出力する。リードアウト層は、レザバー層が出力した高次元時系列データを取得する。
【0021】
リードアウト層は、レザバー層より取得した高次元時系列データを各リードアウトの結合重み行列を用いて線形変換する。この線形変換の結果が各リードアウトの出力となる。
【0022】
判定部135は、類似度マップ134を有する。類似度マップ134は、複数のノードを含む。複数のノードの各々は、学習済のタスクに対応する。類似するタスクに対応するノード同士は互いに近くに配置され、類似しないタスクに対応するノード同士は離れて配置されている。類似度マップ134では、高次元データが低次元グリッドに非線形写像されている。類似度マップ134の一例は、自己組織化マップである。
【0023】
類似度マップ134は、時系列データu(t)の波形に基づいて、複数のノードから一のノードを選択するために使用される。ある時系列データu(t)に最も類似するノードを勝者とする。つまり、入力波形が類似度マップ134に入力され、入力された時系列データu(t)の波形が類似するノードが類似度マップ134のどこに位置するか(その位置を勝者と呼ぶ)を判定する。類似度マップ134に含まれる複数のノードは、それぞれリードアウトと一対一で対応付けられており、勝者に対応するリードアウトが選択される。
【0024】
受付部120は、入力部110に入力された時系列データu(t)を取得し、取得した時系列データu(t)を受け付ける。受付部120が受け付けた時系列データu(t)は、処理部130と判定部135とへ出力される。
処理部130は、受付部120が受け付けた時系列データu(t)を取得する。
【0025】
図2は、本実施形態に係る情報処理装置の動作の一例を示す図である。
図2を参照して、情報処理装置100の処理の一例について説明する。ここでは、レザバーコンピューティングのアルゴリズムの一例として、Echo State Network(ESN)について説明する。
【0026】
学習モデル132を作成する動作について説明する。処理部130は、一又は複数の時系列データu(t)とこれらの一又は複数の時系列データu(t)の各々に対応する教師信号(理想の出力情報)Yとを学習モデル132に与える。処理部130は、一又は複数の時系列データu(t)の入力によって得られたレザバー層の内部状態の一又は複数の時系列X(t)と、一又は複数の教師信号とを用いてリッジ回帰を行うことで、一又は複数の時系列データu(t)(タスク)の各々に対する最適なリードアウトの結合重み行列Woptを算出する。一又は複数のリードアウトの各々の結合重み行列の学習では、これらの結合重みがWoptに近づくように更新する。この近づけ度合いは、近傍係数hiによって調整する。すなわち、勝者リードアウトの結合重みはWoptに近い値を取り、勝者から離れたリードアウトの結合荷重みはWoptに近づかない。
【0027】
学習モデル132を使用して、時系列データu(t)から出力を取得する動作について説明する。時系列データu(t)の一例は、時刻tの入力ベクトルである。時系列データu(t)がレザバー層(Reservoir)に入力される。レザバー層は、入力された時系列データu(t)に基づいて、内部状態x(t)を算出する。レザバー層によって算出された内部状態x(t)はリードアウト層に入力される。リードアウト層は、複数のリードアウト(Multi reaout)を含む。複数のリードアウトの各々は、結合重み行列Wi(iは自然数)を有する。例えば、
図2に示される例では、リードアウト層は、9個のリードアウトを有する。9個のリードアウトは、それぞれW0、W1、・・・、W8の結合重み行列を有する。9個のリードアウトの各々は、内部状態x(t)と結合重み行列とに基づいて線形変換を行う。内部状態x(t)と結合重みベクトルWiとに基づいて線形変換が行われることによって、出力yi(t)が得られる。
図2に示される例では、y1(t)、y2(t)、・・・、y8(t)の9個の出力が得られる。以上の処理は、時系列データu(t)が入力される度に毎時刻行われる。
【0028】
類似度マップ(Similarity map(SOM))の処理について説明する。
図2に示される例では、類似度マップは、ノードn01、ノードn02、・・・、ノードn09の9個のノードを含んで構成される。ノードn01、ノードn02、・・・、ノードn09のうち、任意のノードをノードn0iと記載する。
時系列データu(t)に基づいて、静的なデータが作成される。静的なデータの一例は、時系列データu(t)を時間方向に結合して作成されるベクトルUである。作成されたベクトルUが、自己組織化マップに入力される。自己組織化マップでは、入力されたベクトルUに基づいて、勝者決定が行われる。自己組織化マップでは、決定された勝者に基づいて、勝者からの距離(類似度マップのグリッド上の位置関係)に依存した近傍係数hiが算出される。近傍係数hiは、勝者に近づくにしたがって大きな値を取り、離れるにしたがって小さな値になる。
図2に示される例では、類似度マップの左上の0番目のノードn00が勝者である。したがって、ノードn00に対応する近傍係数h0の値が最も大きな値となり、ノードn00から最も離れているノードn08に対応する近傍係数h8の値が最も小さくなる。
【0029】
情報処理装置100の処理部130の処理の詳細について説明する。
レザバーコンピューティングでは、入力層とレザバー層との結合重みWiとレザバー層のノードからレザバー層の他のノードとの再帰結合重みWrとが固定され、レザバー層とリードアウト層との結合重み行列Woが更新される。このため、レザバーコンピューティングでは、時間方向に遡って勾配を伝播させる必要がないため、計算コストを小さくできる。ESNにおいて、入力データu(t)から出力y(t)を予測する。入力データu(t)は入力層により高次元空間に写像される。リザバーの状態ベクトルxは以下の式(1)で表される。
x(t+1)=tanh{(1-δ)x(t)+δ(u(t)Wi+x(t)Wr)} (1)
式(1)において、「δ」は漏れ率(leak rate)であり、「Wi」は入力層とレザバー層との結合重みであり、「Wr」はレザバー層のノードとレザバー層の他のノードとの再帰結合重みである。
【0030】
リードアウト層は、レザバー層の出力とレザバー層とリードアウト層との結合重みWoとに基づいて、出力y(t)を取得する。出力y(t)は以下の式(2)で表される。
y(t)=x(t)Wo (2)
処理部130は、レザバー層とリードアウト層との結合重みWoを、式(3)と式(4)とに基づいて学習する。
Wo=(XTX+λI)-1XTYtarget (3)
ΔWi=Wopt-Wi (4)
式(3)において、「λ」はノーマライゼーションパラメータ(normalization parameter)であり、「I」は単位行列(identity matrix)であり、「X」は[x(0)T x(1)T・・・]である。
【0031】
式(3)は、出力と教師信号との誤差を最小化するための項と、結合重みの値が大きくならないように調整するための項とから成る損失関数から算出される。後者の項の係数がλに相当し、λを大きい値とすることによって、結合重みの値が大きくなるのを防ぐ効果を大きくできる。
結合重みの値が大きくなるのを防ぐことによって、過学習(over fitting)を防ぐことができる。過学習とは、学習したデータに対してはよく予測できるが、それ以外のデータに対してはまったく予測できないという状態である。
【0032】
判定部135は、受付部120が受け付けた時系列データu(t)を取得する。
判定部135は、取得した時系列データu(t)に基づいて波形u[u(0),u(1),・・・]を作成する。判定部135は、時系列データの波形uを類似度マップ134に入力する。類似度マップ134は、時系列データu(t)の波形に類似するノードが類似度マップ134のどこに位置するか(その位置を勝者と呼ぶ)を判定する。判定部135は、勝者を特定する情報を処理部130に出力する。
図3は、本実施形態に係る情報処理装置の類似度マップの動作の一例を示す図である。
図3を参照して、主に情報処理装置100の判定部135の処理の一例について説明する。
図3に示される一例では、自己組織化マップが適用される。自己組織化マップは高次元データを低次元のグリッドに非線形写像するものである。
図3の左図に示される複数の点の各々は(高次元空間の)入力データを示し、グリッドが自己組織化マップSOMを示す。自己組織化マップSOMの学習により、グリッドがデータにフィットするようになる。
図3の右図は、グリッドを引き延ばすことによって、2次元で表したものである。2次元で表現することによって、高次元空間中のデータの類似性を、2次元のグリッド上の距離で表現できる。
具体的には、複数の点の各々がタスクを示す。Inputの矢印がついているタスクが自己組織化マップSOMに与えられると、グリッド中のどのノードがもっともそのタスクに類似するか、すなわちどのノードがそのタスクと距離が近いかが算出される。例えば、一例として、タスクに近いノードが勝者となる。
【0033】
処理部130は、判定部135が出力した勝者を特定する情報に基づいて、リードアウト層に含まれる複数のリードアウトから、勝者に対応するリードアウトを特定する。処理部130は、特定したリードアウトから出力データを取得する。処理部130は、取得した出力データを、出力部140へ出力する。
出力部140は、処理部130が出力した出力データを取得する。出力部140は、取得した出力データを出力する。
受付部120と、処理部130と、判定部と、出力部140との全部または一部は、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部150に格納されたプログラムを実行することにより実現される機能部(以下、ソフトウェア機能部と称する)である。なお、受付部120と、処理部130と、判定部135と、出力部140との全部または一部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
【0034】
(情報処理装置100の動作)
図4は、本実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
図4を参照して、情報処理装置100の動作について説明する。ここでは、類似度マップ134が事前に作成されている場合について説明する。
(ステップS1-1)
情報処理装置100において、受付部120は、入力部110に入力された入力データを取得し、取得した入力データを受け付ける。入力データの一例として、時系列データu(t)を適用した場合について説明を続ける。
(ステップS2-1)
情報処理装置100において、判定部135は、受付部120が受け付けた時系列データu(t)を取得する。判定部135は、時系列データu(t)を類似度マップ134に入力する。
(ステップS3-1)
情報処理装置100において、判定部135は、類似度マップ134に入力された時系列データu(t)に基づいて、勝者を決定する。
【0035】
(ステップS4-1)
情報処理装置100において、処理部130は、時系列データu(t)をレザバー層へ入力する。レザバー層は、入力層が出力した時系列データu(t)を取得する。レザバー層は、取得した時系列データu(t)を高次元時系列データに非線形変換する。レザバー層は、高次元時系列データをリードアウト層へ出力する。リードアウト層は、レザバー層が出力した高次元時系列データを、各リードアウトの結合重み行列を用いて線形変換する。線形変換の結果が各リードアウトの出力となる。
(ステップS5-1)
情報処理装置100において、判定部135は、勝者を特定する情報を処理部130に出力する。処理部130は、判定部135が出力した勝者を特定する情報に基づいて、リードアウト層に含まれる複数のリードアウトから、勝者に対応するリードアウトを特定する。処理部130は、特定したリードアウトから出力データを取得する。
【0036】
(ステップS6-1)
情報処理装置100において、処理部130は、学習モデル132にターゲット信号を入力し、リッジ回帰を行う。
(ステップS7-1)
情報処理装置100において、処理部130は、勝者に対応するリードアウトと、勝者に対応するリードアウト以外のリードアウトとの距離に基づいて、学習モデル132に含まれる全てのリードアウトの結合重み行列を更新する。
(ステップS8-1)
情報処理装置100において、処理部130は、タスクを切り替える。
前述した実施形態では、処理部130は、一又は複数の時系列データu(t)とこれらの一又は複数の時系列データu(t)の各々に対応する教師信号(理想の出力情報)Yとを学習モデル132に与え、一又は複数の時系列データu(t)の入力によって得られたレザバー層の内部状態の一又は複数の時系列データX(t)と、一又は複数の教師信号とを用いてリッジ回帰を行うことで、一又は複数の時系列データu(t)(タスク)の各々に対する最適なリードアウトの結合重み行列Woptを算出する場合について説明したが、この例に限られない。
例えば、処理部130は、一又は複数の時系列データu(t)(入力情報)と一又は複数の入力情報の各々に対応する出力情報とに基づいて、入力情報と出力情報との関係を学習し、入力情報と出力情報との関係の学習結果に基づいて、レザバー層とリードアウト層との間の複数の結合重み行列を更新するようにしてもよい。この場合、処理部130は、複数のノードが配置された類似度マップ134に基づいて、複数のノードから判定された入力情報に類似するノードに関連付けられる一の出力情報に基づいて学習するようにしてもよい。このように構成することによって、学習モデル132を更新できる。
【0037】
情報処理装置100の適用例について説明する。
(適用例1)
図5は、本実施形態に係る情報処理装置の適用例1を示す図である。
適用例1では、タスクAとタスクBとタスクCとの3種類が用意される。タスクAの波形とタスクBの波形とは類似していないが、タスクCはタスクAとタスクBとの中間的な波形である。
図5に示すように、タスクAを(フーリエ変換したものを)提案モデルに与えた場合には類似度マップのPAが勝者となる。同様にタスクBを提案モデルに与えた場合にはPBが勝者となる。このタスクAとタスクBとを提案モデルで学習させた場合に類似度マップおよびマルチリードアウトは自己組織化する。
これに対して、タスクCを提案モデルに与えた場合には類似度マップではPAとPBの中間に位置するノードPCが勝者となり、このPCに対応するリードアウトでタスクに用いることになる。その結果が
図5の右側に示す波形である。このリードアウトはタスクCを学習していないにもかかわらず、ある程度の時系列予測ができていることが分かる。
具体的には、情報処理装置100に、タスクCが入力される。タスクCは時系列データ(時間領域のデータ)である。タスクCは、タスクAとタスクBとの中間的な波形である。
情報処理装置100において、判定部135は、タスクCを取得し、取得したタスクCをフーリエ変換することによって、周波数領域のデータへ変換する。判定部135は、タスクCを周波数領域のデータへ変換した結果を類似度マップ134に入力する。判定部135において、類似度マップ134は、タスクCを周波数領域のデータへ変換した結果に基づいて勝者を判定する。類似度マップ134において、タスクAの位置PAと、タスクBの位置PBとが、
図5に示す位置である場合に、タスクCに対する勝者は、タスクAとタスクBとの中間の位置PCとなる。判定部135は、勝者を特定する情報を処理部130に出力する。
【0038】
処理部130は、判定部135が出力した勝者を特定する情報に基づいて、リードアウト層に含まれる複数のリードアウトから、勝者に対応するリードアウトを特定する。処理部130は、特定したリードアウトから出力データを取得する。処理部130は、取得した出力データを、出力部140へ出力する。
出力部140は、処理部130から出力データを取得し、取得した出力データを出力する。
図5には、出力データである時系列予測結果とターゲットとの比較例も示される。この比較例によれば、時系列予測結果は、概ねターゲットに追従していることが分かる。このため、情報処理装置100は、転移学習に応用できることが分かる。
本実施形態の適用例によれば、処理部130は、複数の入力情報と複数の入力情報の各々に対応する出力情報とに基づいて、入力情報と複数の出力情報との関係を学習することによって学習モデル132を作成する。ここで、複数の入力情報の各々同士の波形は類似しない。このように構成することによって、処理部130は、新たな入力情報に対する出力情報を、学習に使用した複数の入力情報の各々に対する出力情報に基づいて、推測できる。
【0039】
(適用例2)
適用例2では、情報処理装置100は、触覚情報を使用して物体を認識する。少子高齢化によって労働力人口が減少することが想定される。このため、ホームサービスロボットの実現が期待されている。ホームサービスロボットを実現するには、部屋の片づけなどの際に、物体を認識することが必要である。一般的に物体認識には画像情報が用いられるが、視覚情報によって物体を認識するには、色味が類似する場合、周囲の明るさが影響する場合があるため、限界がある。このため、物体認識に視覚情報と触覚情報とを用いることを考える。ここでは、第1段階として触覚情報を用いた画像認識について説明する。
適用例2では、判定部135において、類似度マップ134は、類似する特徴を持つ波形をクラスタリングする。判定部135は、類似度マップ134がクラスタリングした結果に基づいて、勝者を決定する。判定部135は、勝者を特定する情報を、処理部130へ出力する。
処理部130は、判定部135が出力した勝者を特定する情報に基づいて、リードアウト層に含まれる複数のリードアウトから、勝者に対応するリードアウトを特定する。ここでは、一例として、YCBオブジェクトと呼ばれるオブジェクトデータセットに含まれる全71種類のうち、RoboCup@Homeという競技会で採用されているスタンダードオブジェクト13種類を使用した場合について説明する。13種類のオブジェクトには、jello、pudding、sugar、cracker、mustard、picher、bleach、windex、tuna、tomato、coffee、chips、及びpottled meatが含まれる。学習用5サンプル、テスト用25サンプルの各オブジェクト30サンプル使用した。
【0040】
情報処理装置100の処理手順について説明する。
図6は、本実施形態に係る情報処理装置の処理の一例を示すフローチャートである。
(ステップS1-3)
情報処理装置100において、判定部135は、各データの勝者をチェックする。例えば、判定部135において、類似度マップ134には、各データとして、bleach、chips、coffeeなどが入力される。類似度マップ134は、入力されたbleach、chips、coffeeなどに対して、bleachの勝者、chipsの勝者、coffeeの勝者を出力する。
(ステップS2-3)
情報処理装置100において、処理部130は、各データに対するレザバーの内部状態をチェックする。例えば、処理部130において、学習モデル132には、各データとして、bleach、chips、coffeeなどが入力される。学習モデル132は、入力されたbleach、chips、coffeeなどに対して、bleachの内部状態、chipsの内部状態、coffeeの内部状態を出力する。
【0041】
(ステップS3-3)
情報処理装置100において、各リードアウトに学習させるデータ(内部状態と教師信号)を作成する。例えば、リードアウト1に学習させるデータとして、全データの内部状態を特定する情報とbleachの内部状態を特定する情報とを作成する。このように構成することによってbleachに対して優先的に学習できる。リードアウト2に学習させるデータとして、全データの内部状態を特定する情報とchipsの内部状態を特定する情報とcoffeeの内部状態を特定する情報とを作成する。このように構成することによってbleachとcoffeeとに対して優先的に学習できる。リードアウト3に学習させるデータとして、全データの内部状態を特定する情報とmustardの内部状態を特定する情報とステップ1で求めた勝者の内部状態を特定する情報とを作成する。このように構成することによってmustardに対して優先的に学習できる。
(ステップS4-3)
情報処理装置100において、処理部130は、リードアウトごとにリッジ回帰により最適な結合重み行列を算出する。
(ステップS5-3)
情報処理装置100において、処理部130は、算出した結合重み行列に基づいて更新する。
【0042】
図7は、本実施形態に係る情報処理装置の処理結果の一例を示す図である。
図7は、類似度マップにおける各オブジェクトの勝者ヒストグラムを示す。ここで、類似度マップの一例は、縦15、横15のグリッドに分割されている。
図7によれば、can(缶)に分類されるオブジェクト(Chips、Coffee、Tomato、Pottled meat、Tuna)は、類似度グラフにおいて上側に分類されているのが分かる。box(箱)に分類されるオブジェクト(Cracker、Sugar、Jello、Pudding)は、類似度グラフにおいて下側に分類されているのが分かる。bottle(ボトル)に分類されるオブジェクト(Mustard、Picher、Bleach、Windex)は、類似度グラフにおいて下側に分類されているのが分かる。
【0043】
図8は、本実施形態に係る情報処理装置の処理結果の一例を示す図である。
図8において、上側は情報処理装置100による各オブジェクトの認識率を示す。下側は従来の情報処理装置による各オブジェクトの認識率を示し、単一のリードアウトのESN(500ニューロン)の場合を示す。
情報処理装置100による各オブジェクトの認識率と従来の情報処理装置による各オブジェクトの認識率とによれば、ほとんどのオブジェクトで認識率が向上していることが分かる。
本実施形態の適用例によれば、処理部130は、レザバー層とリードアウト層との間の複数の結合重み行列のいずれかの結合重み行列を導出するための入力情報を選択する。例えば、処理部130は、レザバー層とリードアウト層との間の複数の結合重み行列のうち、特定のリードアウトを特定のタスクに特化させるため、特定のリードアウトに接続される結合重み行列を導出するための入力情報を選択する。このように構成することによって、入力情報に基づいて、リードアウト層に含まれる複数のリードアウトの各々を使い分けることができる。このため、仮にオブジェクトの認識に学習モデル132を使用する場合に、認識率を向上できる。
【0044】
本実施形態に係る情報処理装置100によれば、情報処理装置100は、入力情報を受け付ける受付部120と、受付部120が受け付けた複数の入力情報と複数の前記入力情報の各々に対応する出力情報とに基づいて、入力情報と複数の出力情報との関係を学習することによって再帰型ニューラルネットワークが適用される学習モデル132を作成する処理部130とを備える。
このように構成することによって、再帰型ニューラルネットワークが適用される学習モデル132を作成でき、タスクに基づいて複数のリードアウトを使い分けることができるため、リードアウトが上書きされることを低減できる。このため、破滅的忘却を回避できる。破滅的忘却を回避できるため、マルチタスク学習を実行できる。
【0045】
また、前述した情報処理装置100において、学習モデル132は、入力層とレザバー層とリードアウト層とを有する。処理部130は、レザバー層とリードアウト層との間の複数の結合重み行列を学習することによって導出する。このように構成することによって、レザバー層とリードアウト層との間の複数の結合重み行列を導出できるため、複数の情報の関係を学習することによって再帰型ニューラルネットワークが適用される学習モデル132を作成できる。
【0046】
また、前述した情報処理装置100において、処理部130は、導出したレザバー層とリードアウト層との間の複数の結合重み行列に基づいて、学習モデルを更新する。このように構成することによって、入力情報に対する出力情報を理想の出力情報に近づけることができる。
また、前述した情報処理装置100において、学習モデルは、レザバーコンピューティング形式である。このように構成することによって、マルチタスク学習に対して遺伝的アルゴリズムによる最適化が用いられる場合と比較して、学習回数を減少させることができる。
また、前述した情報処理装置100において、学習モデルは、入力層とレザバー層とリードアウト層とを有し、リードアウト層は複数のリードアウトを有し、処理部130は、レザバー層とリードアウト層との間の複数の結合重み行列のうち、レザバー層と特定のタスクに特化させる特定のリードアウトとの間の結合重み行列を導出するための入力情報を選択する。このように構成することによって、複数あるリードアウトのうち、あるリードアウトに対して、あるタスクに特化させるために、与えるデータを選択できる。
【0047】
また、前述した情報処理装置100において、処理部130は、複数のノードが配置された類似度マップに基づいて、複数のノードから判定された入力情報に類似するノードに関連付けられる一の出力情報に基づいて学習する。このように構成することによって、類似度マップ134から、入力情報に類似するノードを判定できるため、複数のノードから情報に類似するノードに対応するデータを出力できる。
【0048】
また、前述した情報処理装置100において、入力情報が入力されることによって学習モデル132が出力する複数の出力情報の数と類似度マップ134に含まれるノードの数とは等しい。このように構成することによって、類似度マップ134から、入力情報に類似するノードを判定し、複数の出力情報から入力情報に類似するノードに対応するデータを出力できる。
また、前述した情報処理装置100において、類似度マップ134は、自己組織化マップである。このように構成することによって、類似するタスクに対応するノード同士は、類似しないタスクに対応するノード同士よりも近くに配置されるように更新できる。
【0049】
本実施形態に係る情報処理装置100によれば、マルチタスク学習における破滅的忘却の回避を行うニューラルネットワークの実現が可能になる。このニューラルネットワークは遺伝的アルゴリズムなどの膨大な学習回数を必要とする手法を用いないため、少量の学習回数でタスクを完了することができる。
さらに、タスクの類似度マップと自己組織化されたリードアウトは転移学習に応用可能である。これは新たに与えられた未知のタスクに対し、学習済みパラメータを転用することで、乱数初期化されたパラメータを用いるより、効率よく学習を行う方法である。具体的には、未知のタスクを類似度マップに入力し、どの既知タスクに類似するかを判定する。ここで選ばれた最類ノードに対応する勝者リードアウトは、既に未知タスクの目標出力に近い応答を示すことが予想されるため、少量データの追加学習で未知タスクを完了することができる。新規タスクが与えられると、タスクA、タスクBなどの学習したモデルで、新規タスクの学習なしに予測することができる。
【0050】
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合わせを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述の情報処理装置100は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリなどをいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、前述の情報処理装置100がデジタル回路とアナログ回路とのいずれか一方又は両方を含むFPGAなどの集積回路で実現されてもよい。
【符号の説明】
【0051】
100…情報処理装置、 110…入力部、120…受付部、 125…取得部、 130…処理部、 135…判定部、 140…出力部、 150…記憶部、 132…学習モデル、 134…類似度マップ