IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・コミュニケーションズ株式会社の特許一覧

特許7396847学習装置、学習方法および学習プログラム
<>
  • 特許-学習装置、学習方法および学習プログラム 図1
  • 特許-学習装置、学習方法および学習プログラム 図2
  • 特許-学習装置、学習方法および学習プログラム 図3
  • 特許-学習装置、学習方法および学習プログラム 図4
  • 特許-学習装置、学習方法および学習プログラム 図5
  • 特許-学習装置、学習方法および学習プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】学習装置、学習方法および学習プログラム
(51)【国際特許分類】
   G06N 3/08 20230101AFI20231205BHJP
   G06N 3/04 20230101ALI20231205BHJP
【FI】
G06N3/08
G06N3/04
【請求項の数】 11
(21)【出願番号】P 2019184138
(22)【出願日】2019-10-04
(65)【公開番号】P2021060762
(43)【公開日】2021-04-15
【審査請求日】2022-08-05
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】造酒 裕貴
(72)【発明者】
【氏名】丹野 良介
(72)【発明者】
【氏名】切通 恵介
【審査官】土谷 慎吾
(56)【参考文献】
【文献】米国特許出願公開第2019/0228313(US,A1)
【文献】LEE, H. Y., et al.,Unsupervised representation learning by sorting sequences.,In Proceedings of the IEEE International Conference on Computer Vision,2017年,pp.667-676
【文献】ERHAN, D., et al.,Why does unsupervised pre-training help deep learning?,In Proceedings of the thirteenth international conference on artificial intelligence and statistics,2010年,pp.625-660
【文献】WANG, Y. X., et al.,Growing a brain: Fine-tuning by increasing model capacity,In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2017年,pp.2471-2480
【文献】Phoeboooo,CNN 転移学習とファインチューニング [online],2019年01月08日,[検索日 2020.11.20], Internet: <URL:https://qiita.com/Phoeboooo/items/667409baf4b95f41fa55>
【文献】MALHOTRA, P., et al.,TimeNet: Pre-trained deep recurrent neural network for time series classification. [online],2017年06月23日,[検索日 2020.11.20], Internet: <URL:https://arxiv.org/pdf/1706.08838.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
処理対象に関する時系列データを取得する取得部と、
前記取得部によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習部と、
前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習部と
を有し、
前記取得部は、前記時系列データとして、センサデータを取得し、
前記第一の学習部は、前記取得部によって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習部は、前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータを分類するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習装置。
【請求項2】
処理対象に関する時系列データを取得する取得部と、
前記取得部によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習部と、
前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習部と
を有し、
前記取得部は、前記時系列データとして、センサデータを取得し、
前記第一の学習部は、前記取得部によって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習部は、前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータの異常値を検知するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習装置。
【請求項3】
処理対象に関する時系列データを取得する取得部と、
前記取得部によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習部と、
前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習部と
を有し、
前記取得部は、前記時系列データとして、センサデータを取得し、
前記第一の学習部は、前記取得部によって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータを一定区間で区切り、順番をランダムに並び替えたものを正しい順番に並び替えるタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習部は、前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習装置。
【請求項4】
前記第二の学習部は、前記第二のタスクを解かせることで前記第二のモデル全体のパラメータを更新する学習処理を行うことを特徴とする請求項1に記載の学習装置。
【請求項5】
前記第二の学習部は、前記第二のタスクを解かせることで前記第二のモデルにおける一部のパラメータを更新する学習処理を行うことを特徴とする請求項1に記載の学習装置。
【請求項6】
学習装置によって実行される学習方法であって、
処理対象に関する時系列データを取得する取得工程と、
前記取得工程によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習工程と、
前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習工程と
を含み、
前記取得工程は、前記時系列データとして、センサデータを取得し、
前記第一の学習工程は、前記取得工程によって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習工程は、前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータを分類するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習方法。
【請求項7】
学習装置によって実行される学習方法であって、
処理対象に関する時系列データを取得する取得工程と、
前記取得工程によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習工程と、
前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習工程と
を含み、
前記取得工程は、前記時系列データとして、センサデータを取得し、
前記第一の学習工程は、前記取得工程によって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習工程は、前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータの異常値を検知するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習方法。
【請求項8】
学習装置によって実行される学習方法であって、
処理対象に関する時系列データを取得する取得工程と、
前記取得工程によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習工程と、
前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習工程と
を含み、
前記取得工程は、前記時系列データとして、センサデータを取得し、
前記第一の学習工程は、前記取得工程によって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータを一定区間で区切り、順番をランダムに並び替えたものを正しい順番に並び替えるタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習工程は、前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習方法。
【請求項9】
処理対象に関する時系列データを取得する取得ステップと、
前記取得ステップによって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習ステップと、
前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習ステップと
をコンピュータに実行させ
前記取得ステップは、前記時系列データとして、センサデータを取得し、
前記第一の学習ステップは、前記取得ステップによって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習ステップは、前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータを分類するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習プログラム。
【請求項10】
処理対象に関する時系列データを取得する取得ステップと、
前記取得ステップによって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習ステップと、
前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習ステップと
をコンピュータに実行させ、
前記取得ステップは、前記時系列データとして、センサデータを取得し、
前記第一の学習ステップは、前記取得ステップによって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習ステップは、前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータの異常値を検知するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習プログラム。
【請求項11】
処理対象に関する時系列データを取得する取得ステップと、
前記取得ステップによって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習ステップと、
前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習ステップと
をコンピュータに実行させ、
前記取得ステップは、前記時系列データとして、センサデータを取得し、
前記第一の学習ステップは、前記取得ステップによって取得されたセンサデータを学習用データセットとして用いて、前記第一のモデルに対して、前記センサデータを一定区間で区切り、順番をランダムに並び替えたものを正しい順番に並び替えるタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行い、
前記第二の学習ステップは、前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値として、前記センサデータの所定時間後の値を予測するタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行うことを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【0002】
従来、ニューラルネットワークの学習を行うには各層毎に予め重みの初期値を設定する必要があり、初期重みは乱数として初期化される事が多い。設定された重みの初期値によってはニューラルネットワークの学習結果も大きく変化するなど初期値依存性が高く、適切な重みの初期化をする必要があり、様々な重み初期化の方法が存在する。良い初期値を得ることで、精度が向上する、学習が安定する、学習のロスの収束が早い、過学習を抑止する等をもたらし良い学習結果を得るために重要である。
【0003】
特に、画像の分野において現在最も顕著な成功を収めている畳み込みニューラルネットワーク(Convolutional Neural Network、以下、CNNと略して記載)により構成されるネットワークについては、事前に大規模な学習データを用いた教師あり学習を行って得られた学習済みのパラメータを重みの初期値として、対象となるタスクを学習するファインチューニング(Fine-tuning)と呼ばれる重み初期値のアプローチを取る事が一般的である。
【0004】
これはImangeNetのような質が良い大規模データセットを用いて学習させたCNNの中間層から得られる特徴は非常に汎用性が高く、物体認識・画像変換・画像検索といった様々なタスクへ転用可能であることが知られている。
【0005】
このように画像分野においてはファインチューニングは、基本技術として確立されており、様々な学習済みモデルがオープンソースで共有されるのが今日の現状である。ただし、上記で述べたファインチューニングといった転移学習手法は画像分野に限定され、自然言語処理、音声認識といった他分野においてはこの限りではない。
【0006】
また、時系列データへのニューラルネットワークの応用に関する研究は発達段階にあり研究事例自体が少ない。特に時系列データへの転移学習手法は確立されておらず、一般的にネットワークの重み初期化は乱数による初期化を利用する。
【先行技術文献】
【非特許文献】
【0007】
【文献】“Transfer learning for time series classification”、[online]、[2019年9月6日検索]、インターネット<https://arxiv.org/pdf/1811.01533.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、従来の手法では、時系列データに関するモデルについて、迅速かつ精度よく学習を行うことができない場合があるという課題があった。例えば、画像分野では一般的に行われているファインチューニングや、転移学習は時系列解析の分野ではほとんど用いられていない。なぜなら、時系列データはデータによって、ドメイン(対象、データ収集過程、平均・分散・データの特性、生成過程)が異なるなど単純なファインチューニングは困難である。また、画像分野のImageNetのような汎用かつ大規模なデータセットが存在しないことも一因である。
【0009】
そのため、時系列データを入力とするモデルの学習においてはファインチューニングや、転移学習を用いずにモデルの重み初期値としてランダムな値を用いることが一般的だが、そのために精度が低い、学習速度が遅いなどの問題がある。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明の学習装置は、処理対象に関する時系列データを取得する取得部と、前記取得部によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習部と、前記学習用データセットを用いて、前記第一の学習部によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習部とを有することを特徴とする。
【0011】
また、本発明の学習方法は、学習装置によって実行される学習方法であって、処理対象に関する時系列データを取得する取得工程と、前記取得工程によって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習工程と、前記学習用データセットを用いて、前記第一の学習工程によって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習工程とを含むことを特徴とする。
【0012】
また、本発明の学習プログラムは、処理対象に関する時系列データを取得する取得ステップと、前記取得ステップによって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで前記第一のモデルのパラメータを更新する学習処理を行う第一の学習ステップと、前記学習用データセットを用いて、前記第一の学習ステップによって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで前記第二のモデルのパラメータを更新する学習処理を行う第二の学習ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、時系列データに関するモデルについて、迅速かつ精度よく学習を行うことができるという効果を奏する。
【図面の簡単な説明】
【0014】
図1図1は、第1の実施形態に係る学習装置の構成例を示すブロック図である。
図2図2は、モデル全体のパラメータを更新する処理を説明する図である。
図3図3は、モデルの一部のパラメータを更新する処理を説明する図である。
図4図4は、学習装置によって実行される学習処理の概要について説明する図である。
図5図5は、第1の実施形態に係る学習装置における学習処理の流れの一例を示すフローチャートである。
図6図6は、学習プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0015】
以下に、本願に係る学習装置、学習方法および学習プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る学習装置、学習方法および学習プログラムが限定されるものではない。
【0016】
[第1の実施形態]
以下の実施の形態では、第1の実施形態に係る学習装置10の構成、学習装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
【0017】
[学習装置の構成]
まず、図1を用いて、学習装置10の構成を説明する。図1は、第1の実施形態に係る学習装置の構成例を示すブロック図である。学習装置10は、時系列データを入力とするモデルを学習する装置である。学習装置10が学習するモデルはどのようなモデルであってもよい。例えば、学習装置10は、工場やプラントなどの監視対象設備に設置されるセンサによって取得された複数のデータを収集し、収集された複数のデータを入力として、監視対象設備の異常を予測するためのモデルを学習する。
【0018】
図1に示すように、この学習装置10は、通信処理部11、制御部12および記憶部13を有する。以下に学習装置10が有する各部の処理を説明する。
【0019】
通信処理部11は、接続される装置との間でやり取りする各種情報に関する通信を制御する。また、記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納し、データ記憶部13aおよび学習済みモデル記憶部13bを有する。例えば、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子等の記憶装置である。
【0020】
データ記憶部13aは、後述する取得部12aによって取得された時系列データを記憶する。例えば、データ記憶部13aは、工場、プラント、ビル、データセンタ等の対象機器に設けられたセンサのデータ(例えば、温度や圧力、音、振動等のデータ)や、人体に取り付けられたセンサのデータ(例えば、加速度センサの加速度のデータ)を記憶する。
【0021】
学習済みモデル記憶部13bは、後述する第二の学習部12cによって学習された学習済みモデルを記憶する。例えば、学習済みモデル記憶部13bは、学習済みモデルとして、監視対象設備の異常を予測するためのニューラルネットワークの予測モデルを記憶する。
【0022】
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部12は、取得部12a、第一の学習部12bおよび第二の学習部12cを有する。ここで、制御部12は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphical Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
【0023】
取得部12aは、処理対象に関する時系列データを取得する。例えば、取得部12aは、センサデータを取得する。具体例を挙げて説明すると、取得部12aは、例えば、工場やプラントなどの監視対象設備に設置されるセンサから多変量時系列の数値データを定期的(例えば、1分ごと)に受信し、データ記憶部13aに格納する。
【0024】
ここでセンサが取得するデータとは、例えば、監視対象設備である工場、プラント内の装置や反応炉についての温度や圧力、音、振動等の各種データである。また、センサデータは上記に限定されるものではなく、取得部12aは、例えば、センサデータとして、人体に取り付けた加速度センサからセンサデータを取得するようにしてもよい。また、取得部12aが取得するデータはセンサが取得したデータに限定されるものではなく、例えば、人的に入力された数値データ等でもよい。
【0025】
第一の学習部12bは、取得部12aによって取得された時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで第一のモデルのパラメータを更新する学習処理を行う。
【0026】
例えば、第一の学習部12bは、データ記憶部13aに記憶された時系列データを学習用データセットとして読み出す。そして、第一の学習部12bは、例えば、入力層、畳込み層、全結合層および出力層で構成されるニューラルネットワークに学習用データセットを入力し、本来解きたいタスク(ターゲットタスク)とは異なる疑似的なタスクを解かせることで、第一のモデルのパラメータを更新する学習処理を行う。
【0027】
第二の学習部12cは、学習用データセットを用いて、第一の学習部12bによって学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで第二のモデルのパラメータを更新する学習処理を行う。
【0028】
例えば、第二の学習部12cは、第一の学習部12bで使用された時系列データと同一の時系列データを学習用データセットとしてデータ記憶部13aから読み出す。そして、第二の学習部12cは、例えば、第一の学習部12bによって学習したモデルを初期値として、学習用データセットを入力し、本来解きたいタスクを解かせることで、第二のモデルのパラメータを更新する学習処理を行う。
【0029】
ここで、第二の学習部12cは、第二のタスクを解かせることで第二のモデル全体のパラメータを更新する学習処理を行うようにしてもよいし、第二のタスクを解かせることで第二のモデルの一部のパラメータを更新する学習処理を行うようにしてもよい。
【0030】
ここで、図2および図3を用いて、学習装置10によって実行される学習処理について説明する。図2は、モデル全体のパラメータを更新する処理を説明する図である。図3は、モデルの一部のパラメータを更新する処理を説明する図である。図2および図3の例では、(1)が第一の学習部12bの学習処理であり、(2)が第二の学習部12cの学習処理を示すものである。
【0031】
図2(1)および図3(1)に例示するように、まず、学習装置10の第一の学習部12bは、第一のモデルの重み初期値を得るために、本来解きたいタスクとは異なる疑似的なタスク(例えば、回帰)で、自己教師あり学習を行う。
【0032】
そして、図2の(2)例では、学習装置10の第二の学習部12cは、第一の学習部12bによって学習した第一のモデルを初期値として、図2の(1)と同じ学習用データセットを入力し、本来解きたいタスクを解かせることで、第二のモデル全体(入力層、畳み込み層、全結合層、出力層)のファインチューニングを行う。
【0033】
また、図3の(2)例では、学習装置10の第二の学習部12cは、第一の学習部12bによって学習した第一のモデルを初期値として、図3の(1)と同じ学習用データセットを入力し、本来解きたいタスクを解かせることで、第二のモデル一部のファインチューニングを行う。
【0034】
例えば、図3の(2)に例示するように、第二の学習部12cは、入力層、畳み込み層、および、全結合層の一部についてはパラメータをそのまま適用し、全結合層のその他の一部と出力層のみファインチューニングを行う。つまり、第二の学習部12bは、入力層により近い一部の層については第一の学習部12bで学習したパラメータをそのまま適用し、出力層により近い一部の層のみ、解きたいタスクで学習処理を行う。
【0035】
このように、学習装置10の第二の学習部12cは、第一の学習部12bによって学習した第一のモデルを初期値として、学習用データセットを入力し、本来解きたいタスクを解かせることで、第二のモデルのファインチューニングを行う。つまり、学習装置10では、時系列データに対して自己教師あり学習を行うことによって従来では困難だった時系列データに対するファインチューニング、転移学習を実行する。
【0036】
なお、上記した疑似的なタスクは、本来解きたいターゲットタスクと異なるタスクであればよく、どのようなタスクを疑似的に設定してもよい。例えば、本来解きたいターゲットタスクが、センサデータを分類するタスク(例えば、体につけた加速度センサから行動を分類するタスク)である場合には、疑似タスクとして、センサデータの所定時間後の値を予測するタスクを設定してもよい。
【0037】
この場合には、例えば、第一の学習部12bは、取得部12aによって取得されたセンサデータを学習用データセットとして用いて、第一のモデルに対して、センサデータの所定時間後の値を予測するタスクを解かせることで第一のモデルのパラメータを更新する学習処理を行う。つまり、第一の学習部12bは、例えば、疑似タスクとして取得した複数のセンサから疑似タスクとして取得した複数のセンサからある1つのセンサの数ステップ後の未来の値を予測するタスクで第一のモデルの学習を行う。
【0038】
そして、第二の学習部12cは、学習用データセットを用いて、第一の学習部12bによって学習処理が行われたモデルのパラメータを初期値として、センサデータを分類するタスクを解かせることでモデルのパラメータを更新する学習処理を行う。つまり、第二の学習部12cは、第一の学習部12bで学習した第一のモデルを初期値としてセンサデータを分類するタスクで第二のモデルのファインチューニングを行う。
【0039】
また、例えば、本来解きたいターゲットタスクが、センサデータの異常値を検知するタスクである場合(例えば、体につけた加速度センサから異常行動を検知するタスク)に、疑似タスクとして、センサデータの所定時間後の値を予測するタスクを設定してもよい。
【0040】
この場合には、例えば、第一の学習部12bは、取得部12aによって取得されたセンサデータを学習用データセットとして用いて、第一のモデルに対して、センサデータの所定時間後の値を予測するタスクを解かせることで第一のモデルのパラメータを更新する学習処理を行う。つまり、第一の学習部12bは、例えば、疑似タスクとして取得した複数のセンサからある1つのセンサの数ステップ後の未来の値を予測するタスクで第一のモデルの学習を行う。
【0041】
そして、第二の学習部12cは、第一の学習部12bによって学習処理が行われた第一のモデルのパラメータを初期値として、センサデータの異常値を検知するタスクを解かせることでモデルのパラメータを更新する学習処理を行う。つまり、第二の学習部12cは、第一の学習部12bで学習したモデルを初期値としてセンサデータ異常検知するタスクで第二のモデルのファインチューニングを行う。
【0042】
また、例えば、本来解きたいターゲットタスクが、センサデータの所定時間後の値を予測するタスクを解かせるである場合(例えば、体につけた加速度センサから数秒後の加速度を予測するタスク)に、疑似タスクとして、センサデータを一定区間で区切り、順番をランダムに並び替えたものを正しい順番に並び替えるタスクを設定してもよい。
【0043】
この場合には、例えば、第一の学習部12bは、取得部12aによって取得されたセンサデータを学習用データセットとして用いて、第一のモデルに対して、センサデータを一定区間で区切り、順番をランダムに並び替えたものを正しい順番に並び替えるタスクを解かせることで第一のモデルのパラメータを更新する。つまり、第一の学習部12bは、例えば、疑似タスクとして取得した複数のセンサのデータをある一定区間で区切り、順番をランダムに並び替えたものを正しい順番に並び替えるような学習を行う。
【0044】
そして、第二の学習部12cは、学習用データセットを用いて、第一の学習部12bによって学習処理が行われた第一のモデルのパラメータを初期値として、センサデータの所定時間後の値を予測するタスクを解かせることで第二のモデルのパラメータを更新する。つまり、第二の学習部12cは、学習したモデルを初期値としてセンサデータを回帰するタスクでモデルのファインチューニングを行う。
【0045】
ここで、図4の例を用いて、学習装置10によって実行される学習処理の概要を説明する。図4は、学習装置によって実行される学習処理の概要について説明する図である。図4に例示するように、学習装置10では、疑似タスクを解く学習ステップ(学習STEP1)、および、本来解きたいターゲットタスクを解く学習ステップ(学習STEP2)の2段階の学習ステップを実行する。学習装置10は、学習STEP1で学習したモデルの重みを学習STEP2のモデルの初期値として使う。
【0046】
つまり、学習装置10の第一の学習部12bは、第一のモデルの重み初期値を得るために、本来解きたいタスクとは異なる疑似的なタスク(例えば、回帰)で、自己教師あり学習を行う。
【0047】
そして、学習装置10の第二の学習部12cは、第一の学習部12bによって学習した第一のモデルを初期値として、学習用データセットを入力し、本来解きたいタスク(例えば、分類)を解かせることで、第二のモデルのファインチューニングを行う。つまり、学習装置10では、時系列データに対して自己教師あり学習を行うことによって従来では困難だった時系列データに対するファインチューニングを実行する。なお、図4の例では、疑似タスク(pretextタスク)が、センサデータを回帰するタスク、もしくは、ランダムに並び替えられたセンサデータを正しい順番に並び替えるタスク(Jigsaw pazzle)を例示しているが、その他のタスクであってもよい。
【0048】
このように、学習装置10の第一の学習部12cは、第一のモデルの重み初期値を得るために、本来解きたいタスクとは異なる疑似的なタスク(例えば、回帰)で、自己教師あり学習を行う。そして、学習装置10の第二の学習部12cは、第一の学習部12bによって学習した第一のモデルを初期値として、学習用データセットを入力し、本来解きたいタスクを解かせることで、第二のモデルのファインチューニングを行う。つまり、学習装置10では、時系列データに対して自己教師あり学習を行うことによって従来では困難だった時系列データに対するファインチューニングを実行することができ、時系列データに関するモデルについて、迅速かつ精度よく学習を行うことが可能である。
【0049】
[学習装置の処理手順]
次に、図5を用いて、第1の実施形態に係る学習装置10による処理手順の例を説明する。図5は、第1の実施形態に係る学習装置における学習処理の流れの一例を示すフローチャートである。
【0050】
図5に例示するように、学習装置10の取得部12aがデータを取得すると(ステップS101肯定)、第一の学習部12bは、疑似的なタスクでモデルを学習する(ステップS102)。例えば、第一の学習部12bは、ニューラルネットワークに学習用データセットを入力し、本来解きたいタスクとは異なる疑似的なタスクを解かせることで、第一のモデルのパラメータを更新する学習処理を行う。
【0051】
続いて、第二の学習部12cは、学習したモデルを初期値として、解きたいタスクでモデルを学習する(ステップS103)。例えば、第二の学習部12cは、例えば、第一の学習部12bによって学習したモデルを初期値として、学習用データセットを入力し、本来解きたいタスクを解かせることで、第二のモデルのパラメータを更新する学習処理を行う。
【0052】
そして、第二の学習部12cは、所定の終了条件を満たして学習処理を終了すると、学習済みモデルを記憶部13の学習済みモデル記憶部13cに格納する(ステップS104)。
【0053】
[第1の実施形態の効果]
第1の実施形態に係る学習装置10は、処理対象に関する時系列データを取得する。そして、学習装置10は、取得した時系列データを学習用データセットとして用いて、複数の層で構成されるニューラルネットワークを含む第一のモデルに対して、第一のタスクを解かせることで第一のモデルのパラメータを更新する学習処理を行う。続いて、学習装置10は、学習用データセットを用いて、学習処理が行われた第一のモデルのパラメータを初期値としたニューラルネットワークを含む第二のモデルに対して、第一のタスクと異なる第二のタスクを解かせることで第二のモデルのパラメータを更新する学習処理を行う。これにより、第1の実施形態に係る学習装置10では、時系列データに関するモデルについて、迅速かつ精度よく学習を行うことができる。
【0054】
つまり、第1の実施形態に係る学習装置10では、従来では困難であった時系列データに対してファインチューニングが可能となり、モデルにランダムな初期値を用いた学習に比べて精度や学習速度、汎用性が向上する。
【0055】
また、従来の画像分野における自己教師あり学習では画像のドメインに応じて適切なpretext task(疑似タスク)を設定する必要があるが、第1の実施形態に係る学習装置10では、例えば、時系列データはその性質上数ステップ後を予測するような回帰は簡単に設定できるので疑似タスクを考える負担が少ない。なお、時系列データの特性上、擬似的なタスクとして回帰タスクを解くことは容易であり、自己教師あり学習との親和性が高い。
【0056】
学習装置10では、例えば、時系列データに対して解きたいターゲットタスクに有効なデータの特徴表現を擬似的なタスクを事前に解くことで獲得する。また、自己教師あり学習のメリットとして、ラベル付きの新しいデータセットを作る必要がない、大多数のラベルがついてないデータを活用できるという点がある。時系列データに対して自己教師あり学習を用いることによって、汎用で大規模なデータセットが存在しないために困難であったファインチューニングが可能となり、時系列データに対する様々なタスクに対して精度、汎化性能の向上が期待できる。
【0057】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPUおよび当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0058】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0059】
[プログラム]
また、上記実施形態において説明した学習装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る学習装置10が実行する処理をコンピュータが実行可能な言語で記述した算出プログラムを作成することもできる。この場合、コンピュータが算出プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる算出プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された算出プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0060】
図6は、算出プログラムを実行するコンピュータを示す図である。図6に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0061】
メモリ1010は、図6に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図6に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図6に例示するように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図6に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図6に例示するように、例えばディスプレイ1130に接続される。
【0062】
ここで、図6に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、算出プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
【0063】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0064】
なお、算出プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、算出プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0065】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0066】
10 学習装置
11 通信処理部
12 制御部
12a 取得部
12b 第一の学習部
12c 第二の学習部
13 記憶部
13a データ記憶部
13b 学習済みモデル記憶部
図1
図2
図3
図4
図5
図6