(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023046213
(43)【公開日】2023-04-03
(54)【発明の名称】破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20230327BHJP
【FI】
G06N3/08
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022028329
(22)【出願日】2022-02-25
(31)【優先権主張番号】17/481,655
(32)【優先日】2021-09-22
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】599108264
【氏名又は名称】株式会社KDDI総合研究所
(71)【出願人】
【識別番号】503060525
【氏名又は名称】ザ ボード オブ トラスティーズ オブ ザ ユニバーシティ オブ イリノイ
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】小西 達也
(72)【発明者】
【氏名】黒川 茂莉
(72)【発明者】
【氏名】ビン リゥ
(72)【発明者】
【氏名】ギュハク キム
(72)【発明者】
【氏名】ヅーシュウアン エ
(57)【要約】
【課題】計算コストが低く、かつ、破滅的忘却が発生することを抑えた転移学習を行う技術を提供する。
【解決手段】方法は、複数の層に含まれる複数のユニットそれぞれのユニットについて、第Tタスクにおける当該ユニットの重要度を判定することと、複数の層それぞれの層について、第1タスクから第T-1タスクの内、当該層の挙動が第Tタスクでの挙動に類似しない非類似タスクを判定することと、第T学習セットを用いた学習において、複数の層に含まれる複数のユニットの重みパラメータの更新を、複数の層それぞれについて判定した非類似タスクにおける重要度に応じて抑制することと、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1学習セットから第T-1学習セット(Tは2以上の整数)を使用することで、前記第1学習セットから前記第T-1学習セットそれぞれに対応する第1タスクから第T-1タスクを順に学習したニューラルネットワークに、第T学習セットに対応する第Tタスクを学習させるため、情報処理装置が実行する方法であって、
前記ニューラルネットワークは、複数の層を含み、前記複数の層それぞれは複数のユニットを含み、
前記複数のユニットそれぞれは、ユニットへの入力値に対する重みパラメータを有し、
前記方法は、
前記複数の層に含まれる前記複数のユニットそれぞれのユニットについて、前記第Tタスクにおける当該ユニットの重要度を判定することと、
前記複数の層それぞれの層について、前記第1タスクから前記第T-1タスクの内、当該層の挙動が前記第Tタスクでの挙動に類似しない非類似タスクを判定することと、
前記第T学習セットを用いた学習において、前記複数の層に含まれる前記複数のユニットの前記重みパラメータの更新を、前記複数の層それぞれについて判定した前記非類似タスクにおける重要度に応じて抑制することと、
を含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記複数の層の内の第1層に含まれる第1ユニットの前記重みパラメータは、前記複数の層の内の第2層に含まれる第2ユニットから前記第1ユニットに入力される前記入力値に対する第1重み係数を有し、
前記抑制することは、
前記第1層について判定した前記非類似タスクの前記第1ユニットにおける重要度の最大値と、前記第2層について判定した前記非類似タスクの前記第2ユニットにおける重要度の最大値と、の内の小さい方の第1の値に基づき前記第1重み係数を更新することを含み、
前記第1の値が大きい程、前記第1重み係数の更新の抑制の程度が高くなる、方法。
【請求項3】
請求項2に記載の方法であって、
前記抑制することは、
前記第1ユニットの誤差量を求めることと、
前記第1ユニットの前記誤差量に基づき前記第1重み係数の第1勾配を求めることと、
前記第1の値に基づき前記第1勾配を第2勾配に変更することと、
前記第2勾配に基づき前記第1重み係数を更新することと、
を含み、
前記第2勾配の絶対値は、前記第1勾配の絶対値より小さい、方法。
【請求項4】
請求項1に記載の方法であって、
前記複数の層の前記複数のユニットそれぞれは、特徴パラメータを有し、
前記非類似タスクを判定することは、前記複数の層に含まれる前記複数のユニットそれぞれのユニットについて、
前記第T学習セットによる前記ニューラルネットワークの出力を求めるために、前記ユニットへの入力値と、前記ユニットの前記重みパラメータ及び前記特徴パラメータと、に基づき前記ユニットの出力値を求めることと、
前記第T学習セットによる前記ニューラルネットワークの出力に基づき前記ユニットの誤差量を求めることと、
前記ユニットの誤差量に基づき前記特徴パラメータの第3勾配を求めることと、
前記特徴パラメータの前記第3勾配に基づき前記特徴パラメータを更新することと、
を繰り返す繰り返し処理を含む、方法。
【請求項5】
請求項4に記載の方法であって、
前記非類似タスクを判定することは、
前記第T学習セットを使用しての前記繰り返し処理が終了した後、前記複数の層それぞれの層について、当該層に含まれる前記複数のユニットの前記特徴パラメータを要素とする特徴ベクトルを求めることと、
前記複数の層それぞれの層について、前記第1タスクから前記第Tタスクの前記特徴ベクトルをクラスタリングすることと、
を含み、
前記複数の層それぞれの層についての前記非類似タスクは、前記クラスタリングの結果に基づき判定される、方法。
【請求項6】
請求項5に記載の方法であって、
前記層についての前記非類似タスクは、前記第1タスクから前記第T-1タスクの内、前記第Tタスクの前記特徴ベクトルとは異なるクラスタに分類された前記特徴ベクトルのタスクである、方法。
【請求項7】
請求項4に記載の方法であって、
前記ユニットの出力値を求めることは、
前記ユニットへの入力値と前記重みパラメータとに基づき中間値を求めることと、
関数により、前記特徴パラメータに基づく値を0から1までの範囲の重要度パラメータに変換することと、
前記ユニットの出力値を求めるため、前記中間値に前記重要度パラメータを乗ずることと、
を含む、方法。
【請求項8】
請求項7に記載の方法であって、
前記ユニットの重要度は、前記重要度パラメータの値により判定される、方法。
【請求項9】
請求項8に記載の方法であって、
前記ユニットの重要度は、前記重要度パラメータの値が大きい程、大きい、方法。
【請求項10】
請求項7に記載の方法であって、
前記関数はシグモイド関数である、方法。
【請求項11】
請求項10に記載の方法であって、
前記重要度パラメータは、前記特徴パラメータに第2の値を乗じた第3の値を前記シグモイド関数により変換した値である、方法。
【請求項12】
請求項7に記載の方法であって、
前記複数の層の内の第1層に含まれる第1ユニットの前記重みパラメータは、前記複数の層の内の第2層に含まれる第2ユニットから前記第1ユニットに入力される前記入力値に対する第1重み係数を有し、
前記繰り返し処理は、
前記第1ユニットの前記重要度パラメータと、前記第1タスクから前記第T-1タスクにおける前記第1ユニットの重要度と、の内の第1最大値を判定することと、
前記ユニットの誤差量に基づき、前記第1重み係数の第4勾配を判定することと、
前記第2ユニットから、前記第2ユニットの前記重要度パラメータと、前記第1タスクから前記第T-1タスクにおける前記第2ユニットの重要度と、の内の第2最大値を取得することと、
前記第1最大値と前記第2最大値との内の小さい方の第4の値に基づき前記第4勾配を第5勾配に変更することと、
前記第5勾配に基づき前記第1重み係数を更新することと、
を含み、
前記第5勾配の絶対値は、前記第4勾配の絶対値より小さい、
方法。
【請求項13】
請求項12に記載の方法であって、
前記第4の値が大きい程、前記第5勾配と前記第4勾配との差が大きくなる、方法。
【請求項14】
1つ以上のプロセッサを有する装置の前記1つ以上のプロセッサで実行されると、前記装置に請求項1から13のいずれか1項に記載の方法を実行させる、プログラム。
【請求項15】
情報処理装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行可能なプログラムを格納する記憶デバイスと、
を備え、
前記記憶デバイスは、第1学習セットから第T-1学習セット(Tは2以上の整数)を使用することで、前記第1学習セットから前記第T-1学習セットそれぞれに対応する第1タスクから第T-1タスクを順に学習したニューラルネットワークの複数の層それぞれに含まれる複数のユニットそれぞれの重みパラメータをさらに格納しており、
前記1つ以上のプロセッサは、前記プログラムを実行することで、第T学習セットを使用して、前記第T学習セットに対応する第Tタスクを前記ニューラルネットに学習させる学習処理を前記情報処理装置に実行させ、
前記学習処理は、
前記複数の層に含まれる前記複数のユニットそれぞれのユニットについて、前記第Tタスクにおける当該ユニットの重要度を判定することと、
前記複数の層それぞれの層について、前記第1タスクから前記第T-1タスクの内、当該層の挙動が前記第Tタスクでの挙動に類似しない非類似タスクを判定することと、
前記第T学習セットを用いた学習において、前記複数の層に含まれる前記複数のユニットの前記重みパラメータの更新を、前記複数の層それぞれについて判定した前記非類似タスクの重要度に応じて抑制することと、
を含む、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、深層学習(Deep Learning)技術に関し、より詳しくは、破滅的忘却(Catastrophic Forgetting)が生じることを抑えた転移学習(Transfer Learning)を行う技術に関する。
【背景技術】
【0002】
例えば、ニューラルネットワークを使用して、画像認識、文書分類、行動認識、行動予測の様な様々な処理が行われている。ニューラルネットワークは、複数の層の接続により構成され、各層は、1つ以上のユニットを含む。ユニットは、ニューロンとしても参照され得る。第1層の各ユニットには、ニューラルネットワークの入力値が入力される。残りの層の各ユニットには、1つ前の層の1つ以上のユニットの出力値が入力値として入力される。各ユニットは、各入力値に対応する重み係数を有する。各ユニットは、各入力値に対して、対応する重み係数を乗じ、重み係数を乗じた値の和に基づき出力値を求める。各ユニットの各入力値に対応する重み係数はパラメータと呼ばれ得る。最後の層以外の層の各ユニットは、その出力値を1つ後の層の1つ以上のユニットに出力する。最後の層のユニットの出力値は、ニューラルネットワークの出力値となる。
【0003】
ニューラルネットワークを様々なタスクに使用するため、例えば、学習が行われる。学習とは、タスクに対応する学習データのセット(以下、学習セットと表記する。)を用いて各ユニットのパラメータを当該タスクに最適化する処理である。例えば、画像から対象物A、B、Cを認識するタスクのため、対象物A、B、Cの多数の画像を含む学習セットが用意される。そして、学習セット内の画像の画像データを順にニューラルネットワークに入力し、ニューラルネットワークの出力値を求める(順方向伝搬)。これらの出力値の誤差を所定の誤差関数に基づき評価し、所謂、誤差逆伝搬法により、最後の層のユニットから順にユニットの誤差量を求め、ユニットの誤差量から当該ユニットの各パラメータの"勾配"を求める。各パラメータは、対応する勾配に基づき変更/調整される(逆方向伝搬)。学習セットを用いて、順方向伝搬と、それに続く逆方向伝搬を繰り返すことで、各ユニットのパラメータがタスクに最適化される。
【0004】
深層学習においては、破滅的忘却という現象が知られている。例えば、画像認識を例にすると、ある学習セットにより対象物A、B、Cを識別可能なニューラルネットワークに対して、対象物D及びEを更に認識可能とするために、対象物D及びEの画像を含む別の学習セットで学習を行うと、対象物A、B、Cの識別精度が劣化する現象が破滅的忘却である。
【0005】
非特許文献1は、破滅的忘却を抑える技術(以下、HAT技術)を開示している。また、非特許文献2は、HAT技術を拡張し類似タスク間の知識転移を促進させる技術(以下、CAT技術)を開示している。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Joan Serra and Didac Suris and Marius Miron and Alexandros Karatzoglou.Overcoming Catastrophic Forgetting with Hard Attention to the Task. In Proc. of ICML,2018.
【非特許文献2】Zixuan Ke, Bing Liu, and Xingchang Huang. Continual Learning of a Mixed Sequence of Similar and Dissimilar Tasks. In Proc. of NeurIPS,2020.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、CAT技術の計算コストは非常に高い。
【0008】
本開示は、計算コストが低く、かつ、破滅的忘却が発生することを抑えた転移学習を行う技術を提供する。
【課題を解決するための手段】
【0009】
本開示の一態様によると、第1学習セットから第T-1学習セット(Tは2以上の整数)を使用することで、前記第1学習セットから前記第T-1学習セットそれぞれに対応する第1タスクから第T-1タスクを順に学習したニューラルネットワークに、第T学習セットに対応する第Tタスクを学習させるため、情報処理装置が実行する方法であって、前記ニューラルネットワークは、複数の層を含み、前記複数の層それぞれは複数のユニットを含み、前記複数のユニットそれぞれは、ユニットへの入力値に対する重みパラメータを有し、前記方法は、前記複数の層に含まれる前記複数のユニットそれぞれのユニットについて、前記第Tタスクにおける当該ユニットの重要度を判定することと、前記複数の層それぞれの層について、前記第1タスクから前記第T-1タスクの内、当該層の挙動が前記第Tタスクでの挙動に類似しない非類似タスクを判定することと、前記第T学習セットを用いた学習において、前記複数の層に含まれる前記複数のユニットの前記重みパラメータの更新を、前記複数の層それぞれについて判定した前記非類似タスクにおける重要度に応じて抑制することと、を含む。
【発明の効果】
【0010】
本開示によると、計算コストが低く、かつ、破滅的忘却が発生することを抑えた転移学習を行うことができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の説明に使用する例示的なニューラルネットワークの構成図。
【
図2】情報処理装置が実行する学習処理のフローチャート。
【
図3】非類似タスク判定処理におけるユニットの順方向伝搬時の機能ブロック図。
【
図4】非類似タスク判定処理におけるユニットの逆方向伝搬時の機能ブロック図。
【
図5】パラメータ調整処理におけるユニットの逆方向伝搬時の機能ブロック図。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0013】
図1は、本実施形態の説明に使用するニューラルネットワークの構成図である。ニューラルネットワークは、第1層から第L層(Lは3以上の整数)の計L個の層を有する。本実施形態において各層は、N個(Nは2以上の整数)のユニットを有する。以下では、第l層(lは、1~Lまでの整数)のn番目(nは、1~Nまでの整数)のユニットを、ユニット#lnと表記する。第1層の各ユニットにはニューラルネットワークの入力値が入力される。第2層から第L層の各ユニットには、1つ前の層の総てのユニットの出力値が入力される。第L層の各ユニットの出力値は、ニューラルネットワークの出力値となる。なお、
図1のニューラルネットワークは例示であり、ニューラルネットワークの構成は
図1に示すものに限定されない。例えば、第1層から第L-1層の各ユニットの出力は、次の層の一部のユニットに入力されるものであっても良い。また、各層のユニット数は同じでなくても良い。
【0014】
図1のニューラルネットワークは、過去、少なくとも1つの学習セットにより学習が行われている。以下の説明では、
図1のニューラルネットワークが、(T-1)個の(Tは2以上の整数)学習セットにより学習が行われていたものとする。各学習セットには、学習に使用した順に、"1"、"2"、・・・"T-1"との識別子が付与されている。なお、各学習セットは、それぞれ、ある所定のタスクをニューラルネットワークに行わせるためのものであり、よって、各学習セットはタスクに対応する。したがって、以下の説明では、識別子Yの学習セットに対応するタスクをタスクYと表記し、識別子Yの学習セットをタスクYの学習セットと表記する。
【0015】
発明を限定しない具体的な例として、タスク1は、例えば、画像から対象物A1、A2、A3を認識するものであり、タスク2は、画像から、対象物A1、A2、A3とは異なる対象物B1、B2を認識するものである。以下同様に、タスク3~T-1は、画像から所定の対象物を認識するものである。なお、ニューラルネットワークが行う処理は、画像認識に限定されず、文書分類、行動認識、行動予測といった様々なものであり得る。
【0016】
以下では、新たなタスクTの学習セットにより、このニューラルネットワークの学習を行う場合を例にして本開示の説明を行う。なお、タスクT-1の学習セットによる学習が完了した時点におけるニューラルネットワークの各ユニットのパラメータを初期パラメータと表記する。つまり、初期パラメータとは、タスクTの学習セットによる学習を開始する時点におけるニューラルネットワークの各ユニットのパラメータである。
【0017】
図2は、本実施形態による情報処理装置が実行する処理のフローチャートである。情報処理装置は、S10で、各ユニットの初期パラメータとタスクTの学習セットを利用して非類似タスク判定処理を行う。非類似タスク判定処理において、各ユニットのパラメータは初期パラメータから変更される。しかしながら、初期パラメータについては、S11でのパラメータ調整処理で使用するため、情報処理装置は、初期パラメータについては別に保存しておく。
【0018】
まず、S10で行う非類似タスク判定処理について説明する。非類似タスク判定処理においては、通常の学習と同様に、タスクTの学習セットのデータを順にニューラルネットワークに入力してニューラルネットワークの出力値を求める(順方向伝搬)。そして、ニューラルネットワークの出力値に基づき各ユニットのパラメータを更新する(逆方向伝搬)。なお、順方向伝搬及び逆方向伝搬における各ユニットの動作は同様であるため、以下では、ユニット#lnでの動作について説明する。
【0019】
図3は、順方向伝搬時におけるユニット#lnの動作を説明するための機能ブロック図である。ニューロン部101には、第(l-1)層のユニット#(l-1)1~ユニット#(l-1)Nより、入力値I
l-1,1~I
l-1,Nが入力される。ニューロン部101は、重みパラメータとして、入力値I
l-1,1~I
l-1,Nそれぞれに対応する重み係数を有し、入力値I
l-1,1~I
l-1,Nと、重みパラメータとに基づき中間値O
l,nを出力する。通常の学習処理の場合、この中間値O
l,nが、ユニット#lnの出力値となる。
【0020】
一方、本実施形態において、ユニット#lnは、特徴パラメータET
l,nを有する。特徴パラメータET
l,nは、後述するタスク間における層の挙動の類似度を判定するために使用される。なお、Tは、第Tタスクを示している。特徴パラメータET
l,nは、後述する逆方向伝搬時、ニューロン部101が有する重みパラメータと同様に更新されるため、特徴パラメータET
l,nの初期値は任意の適切な値に設定される。また、ユニット#lnは、定数Sl,nを有する。乗算部102は、特徴パラメータET
l,nと定数Sl,nとを乗じた値Sl,n*ET
l,nをゲート部103に出力する。ゲート部103は、入力された値を所定の関数で変換して重要度パラメータAT
l,nを出力する。本実施形態において、所定の関数は、シグモイド関数であり、よって、AT
l,n=σ(Sl,n*ET
l,n)である。
【0021】
ここで、値Sl,nが十分に大きい場合、重要度パラメータAT
l,nは、特徴パラメータET
l,nが正であるか負であるかに応じて1に近い値又は0に近い値になる。乗算部104は、ニューロン部101からの中間値Ol,nと重要度パラメータAT
l,nとを乗じた値を、ユニット#lnの出力値Hl,nとして、ユニット#(l+1)1~ユニット#(l+1)Nに出力する。上述した様に、重要度パラメータAT
l,nが1に近い場合、出力値Hl,n≒中間値Ol,nであり、重要度パラメータAT
l,nが0に近い場合、出力値Hl,n≒0となる。つまり、重要度パラメータAT
l,nが1に近い場合、ユニット#lnの出力値は、通常の学習処理での出力値(本例における中間値Ol,n)と略同じであり、重要度パラメータAT
l,nが0に近い場合、ユニット#lnの出力値は略0となる。この様に、重要度パラメータAT
l,nは、通常の学習処理での出力値(本例における中間値Ol,n)をユニット#lnの出力値として出力するか、ユニット#lnの出力値をブロックするかを制御するパラメータでもある。
【0022】
フィルタ部105は、タスク1~タスクT-1それぞれについての重要度パラメータA
1
l,n~A
T-1
l,nを保持している。なお、フィルタ部105が保持している重要度パラメータA
1
l,n~A
T-1
l,nは、それぞれ、タスク1~タスクT-1の学習が完了した時点(
図2のS11のパラメータ調整処理が完了した時点)での値である。以下では、各学習セットでの学習が終了した時点における重要度パラメータの値を、重要度評価値と表記する。したがって、フィルタ部105が保持している値を、以下では、重要度評価値A
1
l,n~A
T-1
l,nと表記する。
【0023】
フィルタ部105は、重要度評価値A1
l,n~AT-1
l,nと、現時点での重要度パラメータAT
l,nの値との内の最大値を最大重要度パラメータATa
l,nとして求める。最大重要度パラメータATa
l,nは、後述する逆方向伝搬時、ユニット#lnと、ユニット#(l+1)1~ユニット#(l+1)Nで使用される。このため、最大重要度パラメータATa
l,nは、ユニット#(l+1)1~ユニット#(l+1)Nに出力される。
【0024】
図4は、逆方向伝搬時におけるユニット#lnの動作を説明するための機能ブロック図である。誤差判定部201には、ユニット#(l+1)1~ユニット#(l+1)Nそれぞれから誤差量Δ
l+1,1~Δ
l+1,Nが入力される。誤差判定部201は、入力された誤差量に基づきユニット#lnの誤差量Δ
l,nを求める。ユニット#lnの誤差量Δ
l,nは、ユニット#(l-1)1~ユニット#(l-1)Nに出力される。この処理は、通常の誤差逆伝搬法での処理と同様である。
【0025】
勾配判定部202は、ユニット#lnの誤差量Δl,nに基づきニューロン部101が保持する重みパラメータの勾配Gl,n,mを求める。なお、勾配Gl,n,mは、ユニット#(l-1)mからの入力値に対応する重み係数の勾配であり、mは1からNまでの整数である。なお、この処理も通常の誤差逆伝搬法での処理と同様である。
【0026】
本実施形態において、勾配判定部202は、勾配Gl,n,mに加えて、特徴パラメータET
l,nの勾配Ql,nも求める。特徴パラメータ調整部203は、勾配Ql,nに基づき特徴パラメータET
l,nを更新する。
【0027】
調整係数判定部204には、フィルタ部105が求めた最大重要度パラメータATa
l,nと、ユニット#(l-1)1~ユニット#(l-1)Nのフィルタ部105が求めた最大重要度パラメータATa
l-1,1~ATa
l-1,Nが入力される。調整係数判定部204は、例えば、勾配Gl,n,mの調整係数ADl,n,mを求めるため、最大重要度パラメータATa
l,nと最大重要度パラメータATa
l-1,mとの内の小さい方の値を値Xとして選択する。そして、調整係数判定部204は、1から値Xを引いた値を調整係数ADl,n,mとして乗算部206に出力する。乗算部206は、勾配Gl,n,mに調整係数ADl,n,mを乗じた値を、調整後の勾配G´l,n,mとしてパラメータ調整部205に出力する。パラメータ調整部205は、勾配G´l,n,mに基づきユニット#(l-1)mからの入力値に対応する重み係数を更新する。
【0028】
通常の誤差逆伝搬法では、勾配Gl,n,mにより、ユニット#(l-1)mからの入力値に対応する重み係数を更新するが、本実施形態では、上述した様に、調整後の勾配G´l,n,mによりユニット#(l-1)mからの入力値に対応する重み係数を更新する。ここで、最大重要度パラメータATa
l,n及び最大重要度パラメータATa
l-1,mは、共に、0~1の値である。したがって、調整係数ADl,n,mも0~1の値であり、調整後の勾配G´l,n,mの絶対値は、調整前の勾配Gl,n,mの絶対値より小さくなる。なお、値Xが大きい程、調整係数ADl,n,mは小さくなるため、値Xが大きい程、調整後の勾配G´l,n,mと調整前の勾配Gl,n,mの差は大きくなる。
【0029】
非類似タスク判定処理において、情報処理装置は、タスクTの学習セットを利用して、上記順方向伝搬と逆方向伝搬を繰り返し行う。なお、繰り返しの回数は、所定の回数とすることができる。或いは、繰り返しの回数は、損失の値や各ユニットの特徴パラメータが収束するまでとすることができる。
【0030】
上記の繰り返し処理は、HAT技術での処理と同様である。順方向伝搬と逆方向伝搬を繰り返し行うことで、タスクTに重要なユニットについては、重要度パラメータAT
l,nが1に近づく様になり、タスクTに重要ではないユニットについては、重要度パラメータAT
l,nが0に近づく様になる。したがって、ユニット#lnが、タスクTに重要である場合、ユニット#lnの出力値Hl,nは、ニューロン部101が出力する中間値Ol,nと同様になる。一方、ユニット#lnが、タスクTにおいて重要ではない場合、ユニット#lnの出力値は略0、つまり、ブロックされる。
【0031】
また、ユニット#ln及びユニット#(l-1)mの両方が、タスク1~タスクT-1のいずれかにおいて重要であった場合、調整後の勾配G´l,n,mの絶対値は小さくなる。よって、ユニット#(l-1)mからの入力値に対応する重み係数の更新が抑制される。
【0032】
情報処理装置は、タスクTの学習セットによる順方向伝搬と逆方向伝搬の繰り返しが終了した時点における特徴パラメータET
l,nを特徴値ET
l,nとして記録する。
【0033】
したがって、情報処理装置は、タスク1~T-1の学習セットによる順方向伝搬と逆方向伝搬の繰り返しが終了した時点における特徴パラメータE1
l,n~ET-1
l,nを特徴値E1
l,n~ET-1
l,nとして記録している。
【0034】
ユニット#(l-1)mとユニット#lnの両方が、過去のタスクに重要であった場合、調整後の勾配G´l,n,mは小さくなり、その結果、ユニット#(l-1)mからの入力値に対応する重み係数は、更新が行われ難くなる。したがって、その様なユニットについては、特徴パラメータET
l,nが主に更新されるため、非類似タスク判定処理が終了した時点における特徴パラメータは、各タスクの特徴をあらわすものとなる。したがって、本実施形態では、非類似タスク判定処理が終了した時点における特徴パラメータ、つまり、特徴値E1
l,n~ET
l,nに基づき、各タスクにおける層の挙動の類似度を評価する。
【0035】
このため、情報処理装置は、同じ層(第l層)の各ユニットの特徴値ET
l,1~ET
l,Nを1つの特徴ベクトルVT
lとし、タスク1~タスクTそれぞれについて求めた特徴ベクトルV1
l~VT
lをクラスタリングし、複数のクラスタに分類する。なお、クラスタリングには、K-means法やX-means法等の任意のクラスタリング技術を適用することができる。
【0036】
例えば、限定しない具体的な例として、特徴ベクトルVT
lが、V1
l、V5
l、V7
lと同じクラスタとなったものとする。この場合、情報処理装置は、タスクTにおける第l層の挙動と、タスク1、5及び7それぞれにおける第l層の挙動が類似していると判定する。また、情報処理装置は、タスクTにおける第l層の挙動と、タスク1からタスクT-1の内、タスク1、5及び7とは異なるタスクにおける第l層の挙動とは類似していないと判定する。以下の説明では、タスクTにおける第l層の挙動に類似しない挙動となるタスクを第l層の非類似タスクと表記する。
【0037】
図2のS10の非類似タスク判定処理は、各層の非類似タスクを判定することで終了する。
【0038】
続いて、情報処理装置は、S11において、パラメータ調整処理を行う。パラメータ調整処理も、通常の学習と同様に、タスクTの学習セットのデータを順にニューラルネットワークに入力してニューラルネットワークの出力値を求める(順方向伝搬)ことと、ニューラルネットワークの出力値に基づき各ユニットのパラメータを更新する(逆方向伝搬)ことと、を繰り返す。なお、繰り返しの回数は、所定回数とすることも、各ユニットの重みパラメータが収束したと判定されるまでとすることもできる。
【0039】
なお、パラメータ調整処理の開始時の各ユニットのパラメータには上述した様に、初期パラメータを使用する。パラメータ調整処理における順方向伝搬時の各ユニットの構成は
図3と同様である。
【0040】
一方、逆方向伝搬時の各ユニットの構成は、
図4に代えて
図5に示す様になる。つまり、調整係数判定部204への入力が、最大重要度パラメータA
Ta
l,n及びA
Ta
l-1,mに代えて、最大重要度パラメータP
Ta
l,n及びP
Ta
l-1,mになる。最大重要度パラメータP
Ta
l,nは、重要度評価値A
1
l,n~A
T-1
l,nの内、第l層の非類似タスクについての重要度評価値の最大値である。具体的な例として、第l層の非類似タスクがタスク1から5であるものとする。この場合、情報処理装置は、重要度評価値A
1
l,n~A
5
l,nの内の最大値を最大重要度パラメータP
Ta
l,nとする。
【0041】
これにより、各ユニットの各入力値に対応する重み係数の更新は、各層の非類似タスクの重要度評価値に基づき抑制される。なお、第(l-1)層のユニットから、第l層のユニットに入力される入力値の重み係数の更新の抑制度は、第(l-1)層及び第l層それぞれの非類似タスクの重要度評価値が大きくなる程、高くなる。したがって、タスクTとは類似しないタスクにおいて重要な重み係数の更新は抑制され、破滅的忘却が生じることを防ぐことができる。逆に、主に更新される重み係数は、タスクTとは類似するタスクにとって重要な重み係数も含むため、パラメータの再利用、つまり、知識転移を促進することができる。
【0042】
なお、パラメータ調整処理においても、順方向伝搬と逆方向伝搬の繰り返しにより、特徴パラメータ値ET
l,nが更新され、よって、重要度パラメータAT
l,nが更新される。情報処理装置は、パラメータ調整処理における順方向伝搬と逆方向伝搬の繰り返しが終了した時点における重要度パラメータAT
l,nの値を、タスクTにおけるユニット#lnの重要度評価値AT
l,nとして保存する。この値は、タスクT+1の学習において使用される。
【0043】
また、本実施形態では、特徴ベクトルV1
l~VT
lのクラスタリングにより、過去タスク(タスク1~タスクT-1)とタスクTとの層毎の類似性を判定している。このため、タスクの類似性をタスク1~タスクT-1それぞれと個別に比較するCAT技術より、計算コストを低くすることができる。
【0044】
図6は、本実施形態による情報処理装置1のハードウェア構成図である。情報処理装置1は、1つ以上のプロセッサ11と、揮発性及び不揮発性メモリを含む記憶デバイス12と、キーボード、マウス、ディスプレイ等の入出力インタフェース13と、を有する。
【0045】
1つ以上のプロセッサ11が記憶デバイス12に格納されたプログラムを実行することで、
図7に示す機能ブロックが実現される。モデル格納部16は、複数の層の各ユニットの各パラメータや、各ユニット間の接続関係等のニューラルネットワークのモデル情報を格納している。履歴格納部17は、例えば、タスクTの学習前には、特徴値E
1
l,n~E
T-1
l,nと、重要度評価値A
1
l,n~A
T-1
l,nと、を格納している。
【0046】
類似性判定部14は、
図2のS10で説明した非類似タスク判定処理を実行する。学習部15は、
図2のS11で説明したパラメータ調整処理を実行する。
【0047】
図8は、S10の非類似タスク判定処理のフローチャートである。類似性判定部14は、S20で、タスクTの学習セットを使用して各ユニットのパラメータを更新する。パラメータは、特徴パラメータE
T
l,nを含む。更新は、タスクTの学習セットを繰り返し使用して行われる。類似性判定部14は、S21で、タスクTの学習セットによる繰り返しの更新が終了した時点における特徴パラメータE
T
l,nの値を判定し、この値を特徴値E
T
l,nとする。類似性判定部14は、S22で、各層それぞれについて、各ユニットの特徴値から特徴ベクトルV
T
lを判定する。類似性判定部14は、S23で、第1タスク~第Tタスクの学習セットそれぞれで求めた特徴ベクトルV
1
l~V
T
lをクラスタリングする。類似性判定部14は、S23でのクラスタリング結果に基づき、各層について、タスクTと非類似の過去タスクを判定する。
【0048】
学習部15は、各パラメータの初期値を使用して、タスクTの学習セットで学習を行う。なお、このとき、各層の非類似タスクの重要度評価値に基づき、重みパラメータの更新を抑制する。
【0049】
なお、情報処理装置として機能させるプログラムは、例えば、非一時的なコンピュータ可読記憶媒体に格納されて配布され得る。
【0050】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。