(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 2021007422
(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】
前記学習モデルが出力するデータの数と前記類似度マップに含まれるノードの数とは等しい、請求項
1又は請求項
2に記載の情報処理装置。
【請求項4】
前記類似度マップは、自己組織化マップである、請求項
1から請求項
3のいずれか一項に記載の情報処理装置。
【請求項5】
再帰型ニューラルネットワークが適用される学習モデルに基づいて、入力されたタスクに対して前記学習モデルが出力する複数のデータを取得するステップと、
入力された前記タスクに基づいて、複数の前記データから出力するデータを判定するステップと、
複数の前記データのうち、出力すると判定したデータを出力するステップと
を有
し、
前記学習モデルは、レザバーコンピューティング形式であり、
判定する前記ステップでは、複数のノードが配置された類似度マップに基づいて、複数の前記ノードから、入力された前記タスクに類似するノードを判定し、
出力する前記ステップでは、複数の前記データのうち、判定する前記ステップで判定した類似する前記ノードに対応するデータを出力する、情報処理装置が実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【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】本実施形態に係る情報処理装置の動作の一例を示す図である。
【
図6】本実施形態に係る情報処理装置の処理結果の例1を示す図である。
【
図7】本実施形態に係る情報処理装置の処理結果の例2を示す図である。
【
図8】本実施形態に係る情報処理装置の処理結果の例3を示す図である。
【
図9】本実施形態に係る情報処理装置の処理結果の例4を示す図である。
【
図10】本実施形態に係る情報処理装置の処理結果の例5を示す図である。
【
図11】本実施形態に係る情報処理装置の入力データの一例を示す図である。
【
図12】本実施形態に係る情報処理装置の処理結果の例6を示す図である。
【
図13】本実施形態に係る情報処理装置が備える類似度マップの一例を示す図である。
【発明を実施するための形態】
【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】
判定部135は、類似度マップ134を有する。
類似度マップ134は、複数のノードを含む。複数のノードの各々は、学習済のタスクに対応する。類似するタスクに対応するノード同士は互いに近くに配置され、類似しないタスクに対応するノード同士は離れて配置されている。類似度マップ134では、高次元データが低次元グリッドに非線形写像されている。類似度マップ134の一例は、自己組織化マップである。
類似度マップ134は、時系列データu(t)の波形に基づいて、複数のノードから一のノードを選択するために使用される。ある時系列データu(t)に最も類似するノードを勝者とする。つまり、時系列データu(t)の波形が類似度マップ134に入力され、入力された時系列データu(t)の波形が類似するノードが類似度マップ134のどこに位置するか(その位置を勝者と呼ぶ)を判定する。類似度マップ134に含まれる複数のノードは、それぞれリードアウトと一対一で対応付けられており、勝者に対応するリードアウトが選択される。
【0022】
受付部120は、入力部110に入力された時系列データu(t)を取得し、取得した時系列データu(t)を受け付ける。受付部120が受け付けた時系列データu(t)は、処理部130と判定部135とへ出力される。
処理部130は、受付部120が受け付けた時系列データu(t)を取得する。
図2は、本実施形態に係る情報処理装置の動作の一例を示す図である。
図2を参照して、情報処理装置100の処理の一例について説明する。ここでは、レザバーコンピューティングのアルゴリズムの一例として、Echo State Networkを適用した場合について説明する。
学習モデル132を作成する動作について説明する。処理部130は、一又は複数の時系列データu(t)とこれらの一又は複数の時系列データu(t)の各々に対応する教師信号(理想の出力情報)Yとを学習モデル132に与える。処理部130は、一又は複数の時系列データu(t)の入力によって得られたレザバー層の内部状態の一又は複数の時系列データX(t)と、一又は複数の教師信号とを用いてリッジ回帰を行うことで、一又は複数の時系列データu(t)(タスク)の各々に対する最適なリードアウトの結合重み行列Woptを算出する。一又は複数のリードアウトの各々の結合重み行列の学習では、これらの結合重みがWoptに近づくように更新する。この近づけ度合いは、近傍係数hiによって調整する。すなわち、勝者リードアウトの結合重みはWoptに近い値を取り、勝者から離れたリードアウトの結合荷重みはWoptに近づかない。
【0023】
学習モデル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)が入力される度に毎時刻行われる。
類似度マップ(Similarity map(SOM))の処理について説明する。
図2に示される例では、類似度マップは、ノードn00、ノードn01、・・・、ノードn08の9個のノードを含んで構成される。ノードn00、ノードn01、・・・、ノードn08のうち、任意のノードをノードn0iと記載する。
時系列データu(t)に基づいて、静的なデータが作成される。静的なデータの一例は、時系列データu(t)を時間方向に結合して作成されるベクトルUである。作成されたベクトルUが、自己組織化マップに入力される。自己組織化マップでは、入力されたベクトルUに基づいて、勝者決定が行われる。自己組織化マップでは、決定された勝者に基づいて、勝者からの距離(類似度マップのグリッド上の位置関係)に依存した近傍係数hiが算出される。近傍係数hiは、勝者に近づくにしたがって大きな値を取り、離れるにしたがって小さな値になる。
図2に示される例では、類似度マップの左上の0番目のノードn00が勝者である。したがって、ノードn00に対応する近傍係数h0の値が最も大きな値となり、ノードn00から最も離れているノードn08に対応する近傍係数h8の値が最も小さくなる。
【0024】
情報処理装置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」はレザバー層のノードとレザバー層の他のノードとの再帰結合重みである。
リードアウト層は、レザバー層の出力とレザバー層とリードアウト層との結合重み行列Woとに基づいて、出力y(t)を取得する。出力y(t)は以下の式(2)で表される。
y(t)=x(t)Wo (2)
【0025】
処理部130は、レザバー層とリードアウト層との結合重みWoを、式(3)と式(4)とに基づいて学習する。
Wopt=(XTX+λI)-1XTYtarget (3)
ΔWi=Wopt-Wi (4)
式(3)において、「λ」はノーマライゼーションパラメータ(normalization parameter)であり、「I」は単位行列(identity matrix)であり、「X」は[x(0)T x(1)T・・・]である。
式(3)は、出力と教師信号との誤差を最小化するための項と、結合重みの値が大きくならないように調整するための項とから成る損失関数から算出される。後者の項の係数がλに相当し、λを大きい値とすることによって、結合重みの値が大きくなるのを防ぐ効果を大きくできる。
結合重みの値が大きくなるのを防ぐことによって、過学習(over fitting)を防ぐことができる。過学習とは、学習したデータに対してはよく予測できるが、それ以外のデータに対してはまったく予測できないという状態である。
【0026】
判定部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に与えられると、グリッド中のどのノードがもっともそのタスクに類似するか、すなわちどのノードがそのタスクと距離が近いかが算出される。例えば、一例として、
図3の右図において、左上のノードが最もこのタスクに近い場合には、左上のノードが勝者となる。
【0027】
処理部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)などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
【0028】
(情報処理装置100の動作)
図4は、本実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
図5は、本実施形態に係る情報処理装置の動作の一例を示す図である。
図4と
図5とを参照して、情報処理装置100の動作について説明する。ここでは、類似度マップ134が事前に作成されている場合について説明する。
【0029】
(ステップS1-1)
情報処理装置100において、受付部120は、入力部110に入力された入力データを取得し、取得した入力データを受け付ける。入力データの一例として、時系列データu(t)を適用した場合について説明を続ける。
(ステップS2-1)
情報処理装置100において、判定部135は、受付部120が受け付けた時系列データu(t)を取得する。判定部135は、取得した時系列データu(t)に基づいて波形u[u(0),u(1),・・・]を作成する。判定部135は、時系列データu(t)の波形uを類似度マップ134に入力する(
図5の(1))。
【0030】
(ステップS3-1)
情報処理装置100において、判定部135は、類似度マップ134に入力した時系列データu(t)の波形uに基づいて、勝者を決定する。
(ステップS4-1)
情報処理装置100において、処理部130は、時系列データu(t)をレザバー層へ入力する(
図5の(2))。レザバー層は、入力層が出力した時系列データu(t)を取得する。リザバー層は、取得した時系列データu(t)を高次元時系列データに非線形変換する。レザバー層は、高次元時系列データをリードアウト層へ出力する。リードアウト層は、レザバー層が出力した高次元時系列データを取得する。リードアウト層は、取得した高次元時系列データに、複数のリードアウトの各々の結合重み行列を用いて線形変換する。
【0031】
(ステップS5-1)
情報処理装置100において、判定部135は、勝者を特定する情報を処理部130に出力する。処理部130は、判定部135が出力した勝者を特定する情報に基づいて、リードアウト層に含まれる複数のリードアウトから、勝者に対応するリードアウトを特定する。処理部130は、特定したリードアウトから出力データを取得する。
(ステップS6-1)
情報処理装置100において、処理部130は、学習モデル132にターゲット信号を入力し、リッジ回帰を行う(
図5の(3))。
(ステップS7-1)
情報処理装置100において、処理部130は、勝者に対応するリードアウトと、勝者に対応するリードアウト以外のリードアウトとの距離に基づいて、学習モデル132に含まれる全てのリードアウトの結合重みを更新する(
図5の(4))。
(ステップS8-1)
情報処理装置100において、処理部130は、タスクを切り替える。
【0032】
情報処理装置100の適用例について説明する。
(適用例1)
適用例1では、タスクAとタスクBとを使用した。タスクAは、正弦波を入力として、第1時刻後の入力を教師信号とする。タスクBは、0か1のランダム入力に対して、現在と直近の過去二つの入力において、1が偶数個であれば教師信号を0とし、1が奇数個であれば教師信号を1とするものである。タスクAとタスクBとの両方とも出力を1次元とした。16ステップごとにタスクを入れ替え、継続学習を行った。
【0033】
図6は、本実施形態に係る情報処理装置の処理結果の例1を示す図である。
図6は、予測波形の比較結果を示す。(1)はタスクAの従来手法(単一リードアウトのEcho State Network)による結果を示し、(2)はタスクBの従来手法による結果を示す。従来手法では、ターゲットとアウトプットとが異なり、予測できていないことが分かる。
(3)はタスクAの情報処理装置100による結果を示し、(4)はタスクBの情報処理装置100による結果を示す。(3)と(4)とによれば、ターゲットとアウトプットとが類似しており、(1)と(2)と比較して、近い結果を予測できていることが分かる。
図7は、本実施形態に係る情報処理装置の処理結果の例2を示す図である。グラフの縦軸はターゲットとアウトプットとの誤差を示し、横軸はエポック数を示す。(1)は従来手法による結果を示す。従来手法では、ターゲットとアウトプットとの誤差が一定となり、学習を進めても予測できていないことが分かる。(2)情報処理装置100による結果を示す。(2)によれば、ターゲットとアウトプットとの誤差が0となり予測できていることが分かる。
適用例1では、タスクAに適用したESNでタスクBの推定を行ったため、ターゲットとアウトプットとの間に差が生じていると想定される。
【0034】
(適用例2)
図8は、本実施形態に係る情報処理装置の処理結果の例3を示す図である。
図8は、類似度マップ134の可視化の一例を示す。類似度マップには、タスクAの勝者TAと、タスクBの勝者TBとが示される。
図8において、(1)はタスクAの勝者TAの参照ベクトルを示し、(2)はタスクBの勝者TBの参照ベクトルを示す。
仮に、タスクAの勝者TAとタスクBの勝者TBとの中間を勝者TCとした場合に、勝者TCの参照ベクトルは、(3)に示すように波形の形状が(1)と(2)との中間となる。波形の形状が(1)と(2)との中間となることによって、類似度マップが形成される。類似度マップが形成されることによって、転移学習に使用できることが分かる。
【0035】
(適用例3)
図9は、本実施形態に係る情報処理装置の処理結果の例4を示す図である。
図9は、タスクに対するリードアウト層での応答の一例を示す。リードアウト層には、タスクAの勝者TAに対応するリードアウトROAと、タスクBの勝者TBに対応するリードアウトROBとが示される。
図9において、(1)はタスクAの勝者TAのリードアウトROAを示し、(2)はタスクBの勝者TBのリードアウトROBを示す。タスクAの勝者TAとタスクBの勝者TBとの中間を勝者TCとした場合に、勝者TCのリードアウトROCは、(3)に示すように表される。
【0036】
図10は、本実施形態に係る情報処理装置の処理結果の例5を示す図である。
図10は、タスクに対するリードアウト層での応答の一例を示す。リードアウト層には、タスクAの勝者TAに対応するリードアウトROAと、タスクBの勝者TBに対応するリードアウトROBとが示される。
図10において、(1)はタスクAの勝者TAのリードアウトROAを示し、(2)はタスクBの勝者TBのリードアウトROBを示す。タスクAの勝者TAとタスクBの勝者TBとの中間を勝者TCとした場合に、勝者TCのリードアウトROCは、(3)に示すように表される。
【0037】
(適用例4)
時系列データu(t)の波形を類似度マップ134に入力した場合に、周波数は同じであるが位相がずれた波形では、異なるクラスと認識される場合がある。異なるクラスと認識されるため、別々のリードアウトで学習される。時系列データu(t)の波形を類似度マップに入力する場合には、信号の長さは既知で且つ固定されている必要がある。
そこで、時系列データu(t)の波形を周波数領域の信号に変換して、類似度マップに入力する。このように構成することによって、位相がずれていても周波数が同じである波形は同じクラスに分類される。このため、位相がずれていても周波数が同じである波形は、同一のリードアウトで学習される。この場合、入力信号の長さは、未知であってもよく、入力信号の長さが可変であってもよい。
【0038】
図11は、本実施形態に係る情報処理装置の入力データの一例を示す図である。
図11は、情報処理装置100に入力されるタスクの一例を示す。タスクの一例は、タスクAとタスクAaとタスクBとタスクBbである。タスクAとタスクAaとは周波数が同じであるがタスクAとタスクAaとの間の位相がずれている。タスクBとタスクBbとは周波数が同じであるがタスクBとタスクBbとの間の位相がずれている。
【0039】
図12は、本実施形態に係る情報処理装置の処理結果の例6を示す図である。
図12は、類似度マップにおいて、勝者の位置のヒストグラムの一例を示す。
図12において、(1)は従来の手法によって決定された勝者の位置のヒストグラムを示し、(2)は情報処理装置100によって決定された勝者の位置のヒストグラムを示す。
(1)によれば、タスクAを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PAとタスクAaを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PAaとが異なることが分かる。また、タスクBを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PBとタスクBbを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PBbとが異なることが分かる。
【0040】
(2)によれば、タスクAを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PAとタスクAaを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PAaとが等しいことが分かる。また、タスクBを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PBとタスクBbを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PBbとが等しいことが分かる。
以上から、時系列データu(t)の波形を周波数領域の信号に変換して、類似度マップ134に入力することによって、周波数が同じで位相が異なる波形は同じクラスに分類される。このため、位相がずれていても周波数が同じである波形は、同一のリードアウトで学習されることが分かる。
【0041】
図13は、本実施形態に係る情報処理装置が備える類似度マップの一例を示す図である。一例として、縦8個で、横8個の合計64個のノードを含む類似度マップの一例を示す。タスクA及びタスクAaと、タスクB及びタスクBbとを示す。
タスクAを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PAとタスクAaを類似度マップ134に入力した場合に決定された類似度マップ134における勝者の位置PAaとが示されている。
図13には、タスクAと、タスクAaと、タスクBと、タスクBbとの影響を受けたノードが確認される。このノードは、新規のタスクの活用できる。
【0042】
本実施形態に係る情報処理装置100によれば、再帰型ニューラルネットワークが適用される学習モデルに基づいて、入力されたタスクに対して学習モデルが出力する複数のデータを取得する処理部130と、入力されたタスクに基づいて、処理部130が取得する複数のデータから出力するデータを判定する判定部135とを備える。処理部130は、複数のデータのうち、判定部135が出力すると判定したデータを出力する。
このように構成することによって、タスクに基づいて複数のリードアウトを使い分けることができるため、リードアウトが上書きされることを低減できる。このため、破滅的忘却を回避できる。破滅的忘却を回避できるため、マルチタスク学習を実行できる。
【0043】
また、前述した情報処理装置100において、判定部135は、複数のノードが配置された類似度マップ134に基づいて、複数のノードから、入力されたタスクに類似するノードを判定する。処理部130は、複数のデータから、判定部135が判定した類似するノードに対応するデータを出力する。このように構成することによって、類似度マップから、タスクに類似するノードを判定できるため、複数のデータからタスクに類似するノードに対応するデータを出力できる。
【0044】
また、前述した情報処理装置100において、類似度マップ134は、類似するタスクに対応するノード同士は、類似しないタスクに対応するノード同士よりも近くに配置される。このように構成することによって、類似度マップ134に含まれる複数のノードから、タスクが類似するもの把握できる。
【0045】
また、前述した情報処理装置100において、学習モデル132が出力するデータの数と類似度マップ134に含まれるノードの数とは等しい。このように構成することによって、類似度マップ134から、タスクに類似するノードを判定し、複数のデータからタスクに類似するノードに対応するデータを出力できる。
【0046】
また、前述した情報処理装置100において、類似度マップ134は、自己組織化マップである。このように構成することによって、類似するタスクに対応するノード同士は、類似しないタスクに対応するノード同士よりも近くに配置されるように更新できる。
また、前述した情報処理装置100において、学習モデル132は、レザバーコンピューティング形式である。このように構成することによって、マルチタスク学習に対して遺伝的アルゴリズムによる最適化が用いられる場合と比較して、学習回数を減少させることができる。
【0047】
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合わせを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述の情報処理装置100は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリなどをいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、前述の情報処理装置100がデジタル回路とアナログ回路とのいずれか一方又は両方を含むFPGAなどの集積回路で実現されてもよい。
【符号の説明】
【0048】
100…情報処理装置、 110…入力部、120…受付部、 125…取得部、 130…処理部、 135…判定部、 140…出力部、 150…記憶部、 132…学習モデル、 134…類似度マップ