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

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

▶ 株式会社JVCケンウッドの特許一覧

特許7600768機械学習装置、推論装置、機械学習方法、および機械学習プログラム
<>
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図1
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図2
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図3
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図4
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図5
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図6
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図7
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図8
  • 特許-機械学習装置、推論装置、機械学習方法、および機械学習プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】機械学習装置、推論装置、機械学習方法、および機械学習プログラム
(51)【国際特許分類】
   G06N 3/08 20230101AFI20241210BHJP
【FI】
G06N3/08
【請求項の数】 6
(21)【出願番号】P 2021032801
(22)【出願日】2021-03-02
(65)【公開番号】P2022133872
(43)【公開日】2022-09-14
【審査請求日】2023-12-28
(73)【特許権者】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】竹原 英樹
(72)【発明者】
【氏名】木田 晋吾
(72)【発明者】
【氏名】楊 尹誠
【審査官】北川 純次
(56)【参考文献】
【文献】特開2017-211799(JP,A)
【文献】特開2019-192009(JP,A)
【文献】MALLYA, Arun, et al.,PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning,arXiv.org [online],2018年05月13日,[検索日 2022.02.21], インターネット:<URL:https://arxiv.org/pdf/1711.05769.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02 - 3/10
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークモデルの層の深さに応じて第1タスクのニューラルネットワークモデルの重みを初期化する第1初期化率を決定する初期化率決定部と、
前記第1タスクを機械学習して第1タスクの学習済みニューラルネットワークモデルを生成する機械学習実行部と、
前記第1タスクの学習済みニューラルネットワークモデルの重みを前記第1初期化率に基づいて初期化して、第2タスクで用いるための前記第1タスクの初期化学習済みニューラルネットワークモデルを生成する初期化部とを含むことを特徴とする機械学習装置。
【請求項2】
前記初期化率決定部は、ニューラルネットワークモデルの入力層に近い畳み込み層の前記第1初期化率を出力層に近い畳み込み層の前記第1初期化率よりも小さく設定することを特徴とする請求項1に記載の機械学習装置。
【請求項3】
第1タスクと第2タスクのタスク類似度を導出するタスク類似度導出部をさらに含み、
前記初期化率決定部は、ニューラルネットワークモデルの層の深さおよび前記タスク類似度に応じて前記第2タスクのニューラルネットワークモデルの重みを初期化する第2初期化率を決定し、
前記機械学習実行部は、前記第1タスクの初期化学習済みニューラルネットワークモデルを前記第2タスクについて転移学習して第2タスクの学習済みニューラルネットワークモデルを生成し、
前記初期化部は、前記第2タスクの学習済みニューラルネットワークモデルの重みを前記第2初期化率に基づいて初期化して、第3タスクで用いるための前記第2タスクの初期化学習済みニューラルネットワークモデルを生成することを特徴とする請求項1または2に記載の機械学習装置。
【請求項4】
前記初期化率決定部は、前記タスク類似度が大きいほど前記第2初期化率を大きくすることを特徴とする請求項3に記載の機械学習装置。
【請求項5】
ニューラルネットワークモデルの層の深さに応じて第1タスクのニューラルネットワークモデルの重みを初期化する第1初期化率を決定する初期化率決定ステップと、
前記第1タスクを機械学習して第1タスクの学習済みニューラルネットワークモデルを生成する機械学習実行ステップと、
前記第1タスクの学習済みニューラルネットワークモデルの重みを前記第1初期化率に基づいて初期化して、第2タスクで用いるための前記第1タスクの初期化学習済みニューラルネットワークモデルを生成する初期化ステップとを含むことを特徴とする機械学習方法。
【請求項6】
ニューラルネットワークモデルの層の深さに応じて第1タスクのニューラルネットワークモデルの重みを初期化する第1初期化率を決定する初期化率決定ステップと、
前記第1タスクを機械学習して第1タスクの学習済みニューラルネットワークモデルを生成する機械学習実行ステップと、
前記第1タスクの学習済みニューラルネットワークモデルの重みを前記第1初期化率に基づいて初期化して、第2タスクで用いるための前記第1タスクの初期化学習済みニューラルネットワークモデルを生成する初期化ステップとをコンピュータに実行させることを特徴とする機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習技術に関する。
【背景技術】
【0002】
人間は長期にわたる経験を通して新しい知識を学習することができ、昔の知識を忘れないように維持することができる。一方、畳み込みニューラルネットワーク(Convolutional Neural Network(CNN))の知識は学習に使用したデータセットに依存しており、データ分布の変化に適応するためにはデータセット全体に対してCNNのパラメータの再学習が必要となる。CNNでは、新しいタスクについて学習していくにつれて、昔のタスクに対する推定精度は低下していく。このようにCNNでは連続学習を行うと新しいタスクの学習中に昔のタスクの学習結果を忘れてしまう致命的忘却(catastrophic forgetting)が避けられない。
【0003】
致命的忘却を回避する手法として、継続学習(incremental learningまたはcontinual learning)が提案されている。継続学習とは、新しいタスクや新しいデータが発生した時に、最初からモデルを学習するのではなく、現在の学習済みのモデルを改善して学習する学習方法である。継続学習の一つの手法としてPackNetがある(非特許文献1)。PackNetによる継続学習では、追加するタスクの順序において利用する重みを変更している。
【先行技術文献】
【非特許文献】
【0004】
【文献】Mallya, Arun, and Svetlana Lazebnik. “Packnet: Adding multiple tasks to a single network by iterative pruning.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
PackNetでは、追加で学習できるタスク数と追加したタスクの精度が目標タスクに対して向上されないという課題があった。
【0006】
本発明はこうした状況に鑑みてなされたものであり、その目的は、追加で学習できるタスク数と追加したタスクの精度を目標タスクに対して最適にすることができる機械学習技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様の機械学習装置は、ニューラルネットワークモデルの層の深さに応じて第1タスクのニューラルネットワークモデルの重みを初期化する第1初期化率を決定する初期化率決定部と、前記第1タスクを機械学習して第1タスクの学習済みニューラルネットワークモデルを生成する機械学習実行部と、前記第1タスクの学習済みニューラルネットワークモデルの重みを前記第1初期化率に基づいて初期化して、第2タスクで用いるための前記第1タスクの初期化学習済みニューラルネットワークモデルを生成する初期化部とを含む。
【0008】
本発明の別の態様は、推論装置である。この装置は、複数のタスクから1つのタスクを選択するタスク入力部と、前記複数のタスクを学習済みであるニューラルネットワークモデルの重みを前記選択されたタスクで利用される重み以外の重みを0に設定した新たなニューラルネットワークモデルを生成する推論モデル生成部と、前記選択されたタスクを前記新たなニューラルネットワークモデルにもとづいて推論する推論部とを含む。
【0009】
本発明のさらに別の態様は、機械学習方法である。この方法は、ニューラルネットワークモデルの層の深さに応じて第1タスクのニューラルネットワークモデルの重みを初期化する第1初期化率を決定する初期化率決定ステップと、前記第1タスクを機械学習して第1タスクの学習済みニューラルネットワークモデルを生成する機械学習実行ステップと、前記第1タスクの学習済みニューラルネットワークモデルの重みを前記第1初期化率に基づいて初期化して、第2タスクで用いるための前記第1タスクの初期化学習済みニューラルネットワークモデルを生成する初期化ステップとを含む。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、追加で学習できるタスク数と追加したタスクの精度を目標タスクに対して最適にすることができる機械学習技術を提供することができる。
【図面の簡単な説明】
【0012】
図1】実施の形態に係る機械学習装置および推論装置の構成図である。
図2図1の機械学習装置の継続学習部の詳細な構成図である。
図3】タスク1に対する図2の継続学習部の動作を説明するフローチャートである。
図4図2の機械学習実行部において用いられるニューラルネットワークモデルの構造を示す図である。
図5図5(a)および図5(b)は、タスク1に関するニューラルネットワークモデルの初期化率の所定値を説明する図である。
図6】ニューラルネットワークモデルの各層の入出力チャネル数、入出力チャネル間の重み数、各層の総重み数、パラメータ数を説明する図である。
図7】タスク2に対する図2の継続学習部の動作を説明するフローチャートである。
図8】タスク3に関するニューラルネットワークモデルの初期化率の所定値を説明する図である。
図9】タスクNに対する図1の推論装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【0013】
図1は、実施の形態に係る機械学習装置100および推論装置200の構成図である。機械学習装置100は、タスク入力部10、継続学習部20、および記憶部30を含む。推論装置200は、タスク入力部40、タスク判定部50、推論モデル生成部60、推論部70、および推論結果出力部80を含む。
【0014】
継続学習では、致命的忘却なく新たなタスクを学習することが求められる。本実施の形態の機械学習装置100は、継続学習の中で特に新しいタスクを学習済みモデルに追加で学習させることを目的とする。
【0015】
機械学習装置100は、複数のタスクから継続学習によりターゲットモデルと有効パラメータ情報を生成する装置である。ここでは説明を簡単にするため、タスクとして以下の3つがあるとして説明するが、タスクの数や種類は任意である。
【0016】
タスク1は、第1のデータセットであるImageNetデータセットを用いた画像認識タスクである。タスク2は、第2のデータセットであるPlaces365データセットを用いた画像認識タスクである。タスク3は、第3のデータセットであるCUBS Birdsデータセットを用いた画像認識タスクである。推論装置200に入力されるタスクNは、ターゲットモデルが学習済みのタスクであるタスク1からタスク3のいずれかのタスクである。ここでは、各タスクに異なるデータセットをそれぞれ割り当てたが、各タスクが異なる認識タスクであればこれに限定されない。1つのデータセットを複数のタスクに分割してもよい。例えば、ImageNetデータセットの中の異なる10クラスをタスク1、タスク2、タスク3にそれぞれ割り当ててもよい。また、各タスクの画像は図示しないカメラ等の画像取得部からタスク入力部10へ入力される画像であってもよい。例えば、タスク1を既存画像のデータセットとし、タスク2以降を図示しないカメラ等からタスク入力部10へ入力される画像のデータセットとしてもよい。
【0017】
タスク入力部10は、複数のタスク(ここではタスク1、タスク2、タスク3)を継続学習部20に順次供給する。
【0018】
継続学習部20は、複数のタスク(ここではタスク1、タスク2、タスク3)を順次用いてニューラルネットワークモデルを継続学習してターゲットモデルと有効パラメータ情報を生成する。
【0019】
ターゲットモデルは、継続学習部20で生成される学習済みニューラルネットワークモデルである。ターゲットモデルは、継続学習によって最終的に複数のタスク(ここではタスク1、タスク2、タスク3)の学習済みニューラルネットワークとなる。有効パラメータ情報は、継続学習部20で生成される学習済みニューラルネットワークモデルに対して、タスク毎に有効にする学習済みニューラルネットワークモデルの重み等のパラメータを特定する情報である。有効パラメータ情報の詳細は後述する。
【0020】
記憶部30は、ターゲットモデルと有効パラメータ情報を記憶する。
【0021】
推論装置200は、機械学習装置100で生成されたターゲットモデルと有効パラメータ情報を用いて、複数のタスクについて推論結果を生成する装置である。
【0022】
タスク入力部40は、タスクNを推論部70に供給する。タスク判定部50は、推論部70に供給されるタスクNが学習済みのいずれのタスクであるか(ここではタスク1、タスク2、タスク3のいずれか)を判定し、判定結果を推論モデル生成部60に供給する。本実施の形態ではユーザがタスク1からタスク3のいずれであるかを指定するものとするが、何らかの方法で自動判定してもよい。
【0023】
推論モデル生成部60は、機械学習装置100の記憶部30から取得したターゲットモデルと有効パラメータ情報を記憶し、ターゲットモデルと有効パラメータ情報に基づいて推論モデルを生成し、推論部70に供給する。
【0024】
推論部70は、推論モデル生成部60により生成された推論モデルにもとづいてタスクNを推論し、推論結果を推論結果出力部80に供給する。推論結果出力部90は、推論結果を出力する。
【0025】
図2は、機械学習装置100の継続学習部20の詳細な構成図である。継続学習部20は、タスク類似度導出部21、初期化率決定部22、機械学習実行部24、初期化部26、およびファインチューニング部28を含む。
【0026】
図3は、タスク1に対する継続学習部20の動作を説明するフローチャートである。図2および図3を参照して、タスク1に対する継続学習部20の構成と動作を説明する。
【0027】
タスク類似度導出部21は、タスク1に対しては最初のタスクであるからタスク類似度は算出しない。
【0028】
初期化率決定部22は、ニューラルネットワークの層の深さに応じてニューラルネットワークモデルの初期化率を所定値に決定する(S10)。タスク1ではニューラルネットワークモデルの全ての重みを初期化の対象とする。所定値については後述する。
【0029】
機械学習実行部24は、タスク1についてニューラルネットワークモデルを機械学習して学習済みニューラルネットワークモデルを生成する(S20)。
【0030】
図4は、機械学習実行部24において用いられるニューラルネットワークモデルの構造を示す図である。
【0031】
本実施の形態では、ニューラルネットワークモデルはディープニューラルネットワークであるVGG16とする。VGG16は畳み込み層(CONV)が13層、全結合層(Dense)が3層、プーリング層が5層で構成される。学習対象となる層は畳み込み層と全結合層である。プーリング層は畳み込み層の出力である特徴マップをサブサンプルする層である。入力に近い層を浅い層、出力に近い層を深い層と呼ぶ。ニューラルネットワークモデルはVGG16に限らず、各層の数も本実施の形態に限らない。
【0032】
図5(a)および図5(b)は、タスク1に関するニューラルネットワークモデルの初期化率の所定値を説明する図である。
【0033】
ニューラルネットワークの層毎に初期化率は所定値に設定される。図5(a)では、CONV1-1、CONV1-2、CONV2-1、CONV2-2、CONV3-1、CONV3-2、CONV3-3については初期化率が0%に設定され、CONV4-1、CONV4-2、CONV4-3、CONV5-1、CONV5-2、CONV5-3、Dense6、Dense7、Dense8については初期化率が50%に設定される。
【0034】
図5(b)では、CONV1-1、CONV1-2については初期化率が10%に設定され、CONV2-1、CONV2-2については初期化率が20%に設定され、CONV3-1、CONV3-2、CONV3-3については初期化率が30%に設定され、CONV4-1、CONV4-2、CONV4-3については初期化率が40%に設定され、CONV5-1、CONV5-2、CONV5-3、Dense6、Dense7、Dense8については初期化率が50%に設定される。
【0035】
ニューラルネットワークモデルの階層について、浅い層よりも深い層の初期化率が大きくなるように設定することが好ましい。初期化率が大きいほどタスク2以降で利用可能な重みが増加する。以下ではタスク1に関するニューラルネットワークモデルの初期化率の所定値は図5(a)の例であるとして説明する。
【0036】
再び図2および図3を参照する。初期化部26は、学習済みニューラルネットワークモデルの重みを各層の初期化率に基づいて初期化する(S30)。ここで、初期化するとはニューラルネットワークの重みを0(ゼロ)にすることである。学習済みニューラルネットワークモデルの層毎に、各層の重みの中で0に近い重みから順に初期化率に相当する割合の重みを0に初期化する。
【0037】
初期化対象外となった重みはタスク1で利用される重みとなり、初期化対象となった重みはタスク2以降で利用される重みとなる。
【0038】
タスク1の有効パラメータ情報は、タスク1で利用される重み、すなわちタスク1の学習後に初期化されていない重みを特定する情報である。初期化部26は、タスク1の有効パラメータ情報を記憶部30に記憶させる。
【0039】
有効パラメータ情報は、ニューラルネットワークモデルの全ての重みにそれぞれ1ビットずつ割り当てられる2値の情報である。初期化部26は、ニューラルネットワークモデルの全ての重みについて、重みが0であれば符号「0」を、重みが0以外であれば符号「1」を割り当てて符号列として記憶部30に記憶させてもよい。
【0040】
図6は、ニューラルネットワークモデルの各層の入出力チャネル数、入出力チャネル間の重み数、各層の総重み数、パラメータ数を説明する図である。
【0041】
初期化率が50%である場合、例えば、CONV4-1であれば、1179648個の重みの内の50%である589824個の重みを初期化する。
【0042】
再び図2および図3を参照する。ファインチューニング部28は、初期化した重みを変更しないようにしてタスク1について学習済みニューラルネットワークモデルをファインチューニングしてターゲットモデルを生成する(S40)。ファインチューニングの対象とする重みはタスク1で利用される初期化されていない重みである。
【0043】
次にタスク2に対する継続学習部20の動作を説明する。
【0044】
図7は、タスク2に対する継続学習部20の動作を説明するフローチャートである。図2および図7を参照して、タスク2に対する継続学習部20の構成と動作を説明する。
【0045】
タスク類似度導出部21は、学習済みタスクであるタスク1とターゲットタスクであるタスク2のデータ分布の確率密度関数の距離をタスク類似度として導出する(S50)。ここでは、2つの確率密度関数の距離としてJensen-Shannonダイバージェンス(JSダイバージェンス)を用いる。JSダイバージェンスは0から1までの値をとる。JSダイバージェンスが小さいほど2つの確率密度関数の距離は近く、JSダイバージェンスが大きいほど2つの確率密度関数の距離は大きくなる。よって、JSダイバージェンスが小さいほどタスク類似度が大きくなるように設定し、JSダイバージェンスが大きいほどタスク類似度が小さくなるように設定する。
【0046】
ここでは、タスク類似度を導出するために、JSダイバージェンスを用いたが、カルバック・ライブラー・ダイバージェンス(KLD)など2つの確率密度関数の距離を評価できる尺度であれば任意の尺度を用いてもよい。
【0047】
初期化率決定部22は、ニューラルネットワークの層の深さとタスク類似度に応じてターゲットモデルの初期化率を所定値に決定する(S60)。所定値については後述する。
【0048】
初期化率が適用される対象となる重みはどのタスクにも割り当てられていない重みである。いずれかのタスクに割り当てられている重みは初期化対象外である。
【0049】
図8は、タスク2に関するニューラルネットワークモデルの初期化率の所定値を説明する図である。
【0050】
ニューラルネットワークの層の深さとタスク類似度に基づいて以下のように初期化率を所定値に設定する。
【0051】
学習済みタスクであるタスク1で初期化されないCONV1-1からCONV3-3の重みは初期化対象とする重みはないため、初期化率は0である。
【0052】
タスク類似度が大きいすなわちJSダイバージェンス(JSD)が小さい場合、階層が浅い方の初期化率を大きく、階層が深い方の初期化率を小さく設定する。
【0053】
タスク類似度が大きいすなわちJSDが小さい場合、タスク類似度が小さいすなわちJSDが大きい場合と比較して初期化率を大きく設定する。
【0054】
タスク類似度が大きいすなわちJSDが小さい場合、CONV4-X(X=1,2,3)の重みは更新しない。
【0055】
より具体的には、一例であるが、図8に示すように、JSD<0.1の場合、CONV4-1、CONV4-2、CONV4-3については初期化率が100%に設定され、CONV5-1、CONV5-2、CONV5-3については初期化率が95%に設定され、Dense6、Dense7、Dense8については初期化率が80%に設定される。
【0056】
0.1≦JSD<0.5の場合、CONV4-1、CONV4-2、CONV4-3、CONV5-1、CONV5-2、CONV5-3については初期化率が90%に設定され、Dense6、Dense7、Dense8については初期化率が75%に設定される。
【0057】
0.5≦JSD<0.9の場合、CONV4-1、CONV4-2、CONV4-3、CONV5-1、CONV5-2、CONV5-3、Dense6、Dense7、Dense8については初期化率が75%に設定される。
【0058】
0.9≦JSDの場合、CONV4-1、CONV4-2、CONV4-3、CONV5-1、CONV5-2、CONV5-3、Dense6、Dense7、Dense8については初期化率が50%に設定される。
【0059】
以上により、類似度が大きいタスクの場合、より上位の特徴が学習済みタスクと似ているため、より上位の特徴量を学ぶ層は初期化率を大きくして、これ以降に追加されるタスクのために初期化された重みを残しておくことができる。
【0060】
タスク1とタスク2の類似度が高い場合、タスク1に割り当てられた重みをタスク2の推論のために共用することができる確率が高くなるため、タスク2に割り当てるために新たに初期化する重みの数を減らすことができる。逆に、タスク1とタスク2の類似度が低い場合、タスク1に割り当てられた重みをタスク2の推論のために共用することができる確率が低くなるため、タスク2に割り当てるために新たに初期化する重みの数を増やす必要がある。
【0061】
再び図2および図7を参照する。機械学習実行部24はターゲットタスクであるタスク2を用いて、学習済みタスクの重みを変更しないようにしてターゲットモデルを転移学習して学習済みニューラルネットワークモデルを生成する(S70)。ここで学習済みタスクの重みはタスク1で利用される重みである。転移学習の前後で学習済みタスクに割り当てられた重みは変化しない。なお、ここでは学習済みタスクの重みを変更しないようにしてターゲットモデルを学習することを、学習済みタスクの重みを別のタスクに転移するものとして転移学習と称したが、単純に学習と称してもよい。
【0062】
初期化部26は、学習済みニューラルネットワークモデルの重みを初期化率に基づいて初期化してターゲットモデルの第1候補を生成する(S80)。
【0063】
学習済みタスクの重みを含む初期化対象外の重みはタスク2で利用される重みとして割り当てられる。
【0064】
タスク2の有効パラメータ情報はタスク2で利用される重みであり、初期化されていない重みを特定する情報である。初期化部26は、タスク2の有効パラメータ情報を記憶部30に記憶する。
【0065】
ファインチューニング部28は、学習済みタスクの重みと初期化した重みを変更しないようにしてタスク2についてターゲットモデルの第1候補をファインチューニングしてターゲットモデルの第2候補を生成する(S90)。
【0066】
ファインチューニング部28は、ターゲットモデルの第1候補とターゲットモデルの第2候補の内、より精度の高い方の候補を最終的なターゲットモデルとして決定する(S100)。基本的にはターゲットモデルの第2候補を最終的なターゲットモデルとして選択すればよいが、ターゲットモデルの汎化性能を高めるためにターゲットモデルの重みの学習に利用する訓練用データとは異なる評価用データを用いて学習終了時のターゲットモデルの第1候補と第2候補の推論精度を評価して、より精度の高い方の候補を最終的なターゲットモデルとして決定することがより好ましい。
【0067】
このように、ニューラルネットワークモデルの層の深さとタスク間の類似度に基づいて学習済みニューラルネットワークモデルの初期化率を設定して新たなタスクを学習させることにより、タスクの特性に合わせて新たなタスクを学習させる継続学習が可能となる。これにより、無駄に重みを利用することが低減されて、追加で学習できるタスク数を増加させることができる。また、有用な重みを初期化することが低減されて、追加したタスクの推論精度を高く維持することができる。
【0068】
タスク3についてはタスク2の場合と同様の処理になるが、タスク類似度の導出方法のみが異なる。
【0069】
タスク類似度導出部21は、タスク3とタスク1のタスク類似度31と、タスク3とタスク2のタスク類似度32を導出する。タスク類似度31とタスク類似度32のうち、タスク類似度の大きい方のタスクを学習済みタスクとする。
【0070】
一般に、タスク類似度導出部21は、複数の学習済みタスクの中からターゲットタスクとの類似度が最も大きい1つの学習済みタスクを学習済みタスクとして選択する。
【0071】
ただし、タスクの数が増加した場合、全てのタスクに対してタスク類似度を導出するのは効率的ではない。そのため、タスク類似度を導出する対象を下記のように選定することもできる。
(1)新しいタスクを優先的に導出対象として選定する。例えば、新しく入力されたタスクの順に所定数のタスクを導出対象として残す。
(2)初期化率の小さいタスク(類似していないタスク)を優先的に導出対象として選定する。例えば、初期化率の小さいタスクの順に所定数のタスクを導出対象として残す。
(3)初期化率が所定値より小さいタスク(類似していないタスク)を導出対象として選定する。例えば、初期化率が所定値より小さい所定数のタスクを導出対象として残す。
(4)上記の(1)と(2)の組み合わせ
(5)上記の(1)と(3)の組み合わせ
【0072】
このように、複数の学習済みタスクの中でターゲットタスクとの類似度が最も大きいまたは比較的大きいタスクを学習済みタスクとすることにより、ターゲットタスクに要する重みを少なくすることができる。
【0073】
次に、推論装置200と動作を説明する。図9は、タスクNに対する推論装置200の動作を説明するフローチャートである。
【0074】
タスク判定部50は、推論部70に入力されるタスクNがタスク1からタスク3のいずれであるかを判定する(S200)。本実施の形態ではユーザーがいずれのタスクであるかを指定する。
【0075】
推論モデル生成部60は、学習済みターゲットモデルと有効パラメータ情報に基づいて推論用ニューラルネットワークモデル(以下、「推論モデル」と呼ぶ)を生成する(S210)。ターゲットモデルはタスク1からタスク3について学習済みのニューラルネットワークモデルである。タスクNがタスクi(iは1~3のいずれか)であると判定された場合、推論モデル生成部60は、タスクiの有効パラメータ情報に基づいてターゲットモデルにおいてタスクiで利用する重み以外の重みは0に設定した推論モデルを生成する。具体的には、推論モデル生成部60は、有効パラメータ情報の符号列を読み出して、符号が「1」であればその符号に対応する重みはそのまま変更せず、一方、符号が「0」であればその符号に該当する重みは0に変更するようにしてもよい。
【0076】
推論部70は、タスクiについて生成した推論モデルで入力されたタスクNの推論結果を生成する(S220)。
【0077】
本実施の形態では、初期化部26は学習済みニューラルネットワークモデルの重みを初期化率に基づいて重み単位で初期化したが、初期化部26は学習済みニューラルネットワークモデルの重みを初期化率に基づいてフィルタ単位で初期化してもよい。
【0078】
以上説明した機械学習装置100および推論装置200の各種の処理は、CPUやメモリ等のハードウェアを用いた装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバと送受信することも、地上波あるいは衛星ディジタル放送のデータ放送として送受信することも可能である。
【0079】
以上述べたように、本実施の形態の機械学習装置100によれば、学習済みタスクと目標タスクの類似度あるいは相関度に応じて継続学習するターゲットモデルの重みの利用率を変更することにより、追加で学習できるタスク数と追加したタスクの精度を目標タスクに対して最適にすることができる。
【0080】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0081】
10 タスク入力部、 20 継続学習部、 21 タスク類似度導出部、 22 初期化率決定部、 24 機械学習実行部、 26 初期化部、 28 ファインチューニング部、 30 記憶部、 40 タスク入力部、 50 タスク判定部、 60 推論モデル生成部、 70 推論部、 80 推論結果出力部、 100 機械学習装置、 200 推論装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9