(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-03-21
(45)【発行日】2025-03-31
(54)【発明の名称】モデル学習装置、モデル学習方法、及びモデル学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20250324BHJP
【FI】
G06N20/00
(21)【出願番号】P 2024563146
(86)(22)【出願日】2023-07-05
(86)【国際出願番号】 JP2023024860
【審査請求日】2024-10-24
【国等の委託研究の成果に係る記載事項】(出願人による申告)2020年度、国立研究開発法人新エネルギー・産業技術総合開発機構「人と共に進化する次世代人工知能に関する技術開発事業/人の意図や知識を理解して学習するAIの基盤技術開発/熟練者暗黙知の顕在化・伝承を支援する人協調AI基盤技術開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100116964
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100120477
【氏名又は名称】佐藤 賢改
(74)【代理人】
【識別番号】100135921
【氏名又は名称】篠原 昌彦
(74)【代理人】
【識別番号】100203677
【氏名又は名称】山口 力
(72)【発明者】
【氏名】宮川 翔貴
(72)【発明者】
【氏名】佐々木 雄一
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2023-046213(JP,A)
【文献】米国特許出願公開第2021/0097329(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/096
(57)【特許請求の範囲】
【請求項1】
ストレージに記憶されている学習モデルに対する転移学習を行うモデル学習装置であって、
前記学習モデルに含まれる複数のブランチから、学習対象から除外するブランチである固定ブランチを選択する固定ブランチ選択部と、
使用される計算グラフを、前記複数のブランチを用いる第1の計算グラフ又は前記複数のブランチから前記固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフのいずれかに変更する計算グラフ変更部と、
使用される前記計算グラフを前記第1の計算グラフに変更した状態で、前記複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算するブランチ間距離計算部と、
予め決められた損失関数と前記ブランチ間距離とに基づいて損失の合計を計算する損失関数計算部と、
使用される前記計算グラフを前記第2の計算グラフに変更した状態で、前記損失の合計に基づいて、前記学習対象ブランチ内の重みパラメータを更新するブランチ更新部と、
を有することを特徴とするモデル学習装置。
【請求項2】
前記複数のブランチの各々によって生成される前記特徴を可視化するブランチ可視化部をさらに有する
ことを特徴とする請求項1に記載のモデル学習装置。
【請求項3】
前記ブランチ間距離は、前記複数のブランチの各々によって生成される特徴の間の距離に加えて、前記特徴の各々と予め決められた目標のブランチの特徴との間の距離を含む
ことを特徴とする請求項1又は2に記載のモデル学習装置。
【請求項4】
前記固定ブランチの特定情報を入力するための操作が行われる入力部をさらに有する
ことを特徴とする請求項1
又は2に記載のモデル学習装置。
【請求項5】
前記学習モデルに新たなブランチを追加するブランチ追加部をさらに有する
ことを特徴とする請求項1
又は2に記載のモデル学習装置。
【請求項6】
前記学習モデルから固定ブランチを削除するブランチ削除部をさらに有する
ことを特徴とする請求項1
又は2に記載のモデル学習装置。
【請求項7】
予め作成された正解データに基づいて、前記複数のブランチから前記学習対象ブランチを選択するブランチ選択部をさらに有する
ことを特徴とする請求項1
又は2に記載のモデル学習装置。
【請求項8】
ストレージに記憶されている学習モデルに対する転移学習を行うモデル学習装置によって実行されるモデル学習方法であって、
前記学習モデルに含まれる複数のブランチから、学習対象から除外するブランチである固定ブランチを選択するステップと、
使用される計算グラフを、前記複数のブランチを用いる第1の計算グラフ又は前記複数のブランチから前記固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフのいずれかに変更するステップと、
使用される前記計算グラフを前記第1の計算グラフに変更した状態で、前記複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算するステップと、
予め決められた損失関数と前記ブランチ間距離とに基づいて損失の合計を計算するステップと、
使用される前記計算グラフを前記第2の計算グラフに変更した状態で、前記損失の合計に基づいて、前記学習対象ブランチ内の重みパラメータを更新するステップと、
を有することを特徴とするモデル学習方法。
【請求項9】
ストレージに記憶されている学習モデルに対する転移学習をコンピュータに実行させるモデル学習プログラムであって、前記コンピュータに、
前記学習モデルに含まれる複数のブランチから、学習対象から除外するブランチである固定ブランチを選択するステップと、
使用される計算グラフを、前記複数のブランチを用いる第1の計算グラフ又は前記複数のブランチから前記固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフのいずれかに変更するステップと、
使用される前記計算グラフを前記第1の計算グラフに変更した状態で、前記複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算するステップと、
予め決められた損失関数と前記ブランチ間距離とに基づいて損失の合計を計算するステップと、
使用される前記計算グラフを前記第2の計算グラフに変更した状態で、前記損失の合計に基づいて、前記学習対象ブランチ内の重みパラメータを更新するステップと、
を実行させることを特徴とするモデル学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル学習装置、モデル学習方法、及びモデル学習プログラムに関する。
【背景技術】
【0002】
機械学習において学習データが少ない場合又は弱教師あり学習などのように難しい問題設定がなされている場合などには、人間にとって望ましくない特徴を学習する可能性がある。XAI(Explainable AI:説明可能なAI)による可視化を通して、学習された特徴が適切であるかどうかを判定する(例えば、望ましくない特徴を獲得しているかどうかを確認する)ことは可能であるが、学習モデルが不適切な特徴を学習しないようにフィードバックすること(例えば、転移学習すること)は難しい。そこで、学習モデルが不適切な特徴を学習しないようにフィードバックする方法として、学習によって獲得されたアテンション(attention)を再学習することでデータごとに損失関数を変更して、獲得すべき特徴の学習を制御し、望ましい特徴が獲得されるまで転移学習を繰り返すモデル学習方法が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来のモデル学習方法では、人間にとって望ましい特徴が獲得されるまで転移学習を繰り返す必要があるが、過去に獲得したことのある特徴を記憶せずに新たに転移学習を繰り返すため、過去に学習したことのある特徴を再獲得する可能性がある。このため、従来のモデル学習方法は、非効率であるという課題がある。
【0005】
本開示は、上記従来の課題を解決するためになされたものであり、モデル学習の効率を高めることを可能にするモデル学習装置、モデル学習方法、及びモデル学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示のモデル学習装置は、ストレージに記憶されている学習モデルに対する転移学習を行う装置であって、前記学習モデルに含まれる複数のブランチから、学習対象から除外するブランチである固定ブランチを選択する固定ブランチ選択部と、使用される計算グラフを、前記複数のブランチを用いる第1の計算グラフ又は前記複数のブランチから前記固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフのいずれかに変更する計算グラフ変更部と、使用される前記計算グラフを前記第1の計算グラフに変更した状態で、前記複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算するブランチ間距離計算部と、予め決められた損失関数と前記ブランチ間距離とに基づいて損失の合計を計算する損失関数計算部と、使用される前記計算グラフを前記第2の計算グラフに変更した状態で、前記損失の合計に基づいて、前記学習対象ブランチ内の重みパラメータを更新するブランチ更新と、を有することを特徴とする。
【0007】
本開示のモデル学習方法は、ストレージに記憶されている学習モデルに対する転移学習を行うモデル学習装置によって実行される方法であって、前記学習モデルに含まれる複数のブランチから、学習対象から除外するブランチである固定ブランチを選択するステップと、使用される計算グラフを、前記複数のブランチを用いる第1の計算グラフ又は前記複数のブランチから前記固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフのいずれかに変更するステップと、使用される前記計算グラフを前記第1の計算グラフに変更した状態で、前記複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算するステップと、予め決められた損失関数と前記ブランチ間距離とに基づいて損失の合計を計算するステップと、使用される前記計算グラフを前記第2の計算グラフに変更した状態で、前記損失の合計に基づいて、前記学習対象ブランチ内の重みパラメータを更新するステップと、を有することを特徴とする。
【発明の効果】
【0008】
本開示によれば、モデル学習の効率を高めることができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係るモデル学習装置の構成を概略的に示すブロック図である。
【
図2】実施の形態1に係るモデル学習装置のハードウェア構成の例を示す図である。
【
図3】実施の形態1に係るモデル学習装置の動作を示す概略図である。
【
図4】比較例のモデル学習装置の動作を示す概略図である。
【
図5】モデル学習部の順伝播時の動作を示す説明図である。
【
図6】モデル学習部の誤差逆伝播時の動作を示す説明図である。
【
図7】実施の形態1に係るモデル学習装置の動作を示すフローチャートである。
【
図8】実施の形態1に係るモデル学習装置のモデル学習時の動作を示すフローチャートである。
【
図9】実施の形態2に係るモデル学習装置の構成を概略的に示すブロック図である。
【
図10】実施の形態2に係るモデル学習装置のハードウェア構成の例を示す図である。
【
図11】実施の形態2に係るモデル学習装置のモデル学習時の動作を示すフローチャートである。
【
図12】実施の形態3に係るモデル学習装置の構成を概略的に示すブロック図である。
【
図13】実施の形態3に係るモデル学習装置のハードウェア構成の例を示す図である。
【
図14】実施の形態3に係るモデル学習装置のモデル学習時の動作を示すフローチャートである。
【
図15】実施の形態4に係るモデル学習装置の構成を概略的に示すブロック図である。
【
図16】実施の形態4に係るモデル学習装置のハードウェア構成の例を示す図である。
【
図17】実施の形態4に係るモデル学習装置のモデル学習時の動作を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、実施の形態に係るモデル学習装置、モデル学習方法、及びモデル学習プログラムを、図面を参照しながら説明する。以下の実施の形態は、例にすぎず、実施の形態を適宜組み合わせること及び各実施の形態を適宜変更することが可能である。
【0011】
《1》実施の形態1
《1-1》構成
図1は、実施の形態1に係るモデル学習装置1の構成を概略的に示すブロック図である。モデル学習装置1は、実施の形態1に係るモデル学習方法を実施することができる装置であり、例えば、実施の形態1に係るモデル学習プログラムを実行するコンピュータである。実施の形態1に係るモデル学習装置1は、モデル学習部10と、ブランチ可視化部15と、固定ブランチ選択部16とを有している。モデル学習部10は、ブランチ間距離計算部11と、損失関数計算部12と、計算グラフ変更部13と、ブランチ更新部14とを有している。なお、固定ブランチ選択部16及びブランチ可視化部15の一方又は両方は、モデル学習部10の一部であってもよい。
【0012】
図2は、実施の形態1に係るモデル学習装置1のハードウェア構成の例を示す図である。モデル学習装置1は、例えば、CPU(Central Processing Unit)などのプロセッサ101と、記憶装置としてのストレージ102と、インタフェース103とを有している。モデル学習装置1を構成する各部分は、例えば、処理回路により構成される。処理回路は、専用のハードウェアであってもよいし、又は、ストレージ102に格納されるプログラム(例えば、モデル学習プログラム)を実行するCPUを含んでもよい。プロセッサ101は、
図1に示される各機能ブロックを実現する。
【0013】
ストレージ102は、例えば、RAM(Random Access Memory)などの半導体メモリと、HDD(ハードディスクドライブ)などの不揮発性記憶装置とを有している。また、モデル学習装置1は、処理回路からなる構成部分とプロセッサからなる構成部分とが混在するものであってもよい。また、モデル学習装置1の一部又は全部は、ネットワーク上のサーバコンピュータであってもよい。なお、モデル学習プログラムは、ネットワークを介するダウンロードによって、又は、情報を記憶するUSBメモリなどの記憶媒体によって提供される。
【0014】
図2の例では、ストレージ102は、学習モデルと、学習に用いられる学習データとを記憶している。学習モデルは、複数のアテンションブランチ(単に「ブランチ」ともいう。)を有している。インタフェース103は、ユーザ操作が行われるユーザインタフェースである入力部104と、情報を提示する液晶ディスプレイなどの表示部105とを有している。なお、
図2のハードウェア構成は例示であり、変更が可能である。
【0015】
図1及び
図2において、モデル学習装置1の固定ブランチ選択部16は、ストレージ102に記憶されている学習モデルに対する転移学習を行う。学習モデルに含まれる複数のブランチから、学習対象から除外するブランチ(すなわち、ブランチ内の重みパラメータが固定されるブランチ)である固定ブランチを選択する。固定ブランチの特定情報は、例えば、ユーザによる操作を入力するための操作が行われる入力部104から入力される。
【0016】
また、モデル学習部10の計算グラフ変更部13は、使用される計算グラフを、学習モデルに含まれる複数のブランチを用いる第1の計算グラフ(すなわち、後述の
図5に示される順伝播時の構成に対応する計算グラフ)又は学習モデルに含まれる複数のブランチから固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフ(すなわち、後述の
図6に示される誤差逆伝播時の構成に対応する計算グラフ)のいずれかに変更する。
【0017】
モデル学習部10のブランチ間距離計算部11は、学習において使用される計算グラフを第1の計算グラフ(すなわち、順伝播時の構成に対応する計算グラフ)に変更した状態で、学習モデルに含まれる複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算する。ブランチ間距離計算部11が計算するブランチ間距離は、学習モデルに含まれる複数のブランチの各々によって生成される特徴の間の距離に加えて、特徴の各々と予め決められた目標ブランチの特徴との間の距離を含むことができる。
【0018】
モデル学習部10の損失関数計算部12は、予め決められた損失関数とブランチ間距離とに基づいて損失の合計を計算する。
【0019】
モデル学習部10のブランチ更新部14は、学習において使用される計算グラフを第2の計算グラフ(すなわち、誤差逆伝播時の構成に対応する計算グラフ)に変更した状態で、損失関数計算部12で得られた損失の合計に基づいて、学習対象ブランチ内の重みパラメータを更新する。
【0020】
ブランチ可視化部15は、学習モデルに含まれる複数のブランチの各々によって生成される特徴を可視化する。具体的には、ブランチ可視化部(15)は、表示部105に特徴を送信して、特徴を表示部105に表示させる。
【0021】
図3は、実施の形態1に係るモデル学習装置1の動作を示す概略図である。モデル学習装置1は、過去に学習したことのある特徴をブランチA
1、A
2、…、A
n(nは正の整数)単位で獲得し、獲得ブランチを記憶し、転移学習時にはブランチ間距離を学習することにより新たな特徴を学習する。このように、転移学習時におけるブランチ間距離を学習することによって新たな特徴を獲得するたびにブランチ間距離学習(例えば、獲得ブランチと目標ブランチとの間の距離学習、獲得ブランチ間の距離学習)を繰り返すことにより、適切な特徴(すなわち、
図3の特徴空間上において目標ブランチB
0に重なるブランチA
n)が得られるまでに必要な転移学習の回数を少なくすることができる。この場合には、モデル学習装置1は、過去に獲得した望ましくない特徴の獲得ブランチを記憶し、ブランチ間距離を考慮することで、過去の転移学習の結果をフィードバックして最大限に生かした学習が可能である。
【0022】
図4は、比較例のモデル学習装置の動作を示す概略図である。比較例のモデル学習装置は、転移学習時にはデータごとに損失関数を変更しながら学習した特徴をブランチC
1、C
2、…、C
n(nは正の整数)単位で獲得し、転移学習を繰り返すことにより、適切な特徴(すなわち、
図4の特徴空間上において目標ブランチB
0に重なるブランチC
n)が得られるまで転移学習を繰り返す。この場合には、過去に獲得した望ましくない特徴の獲得ブランチを記憶していないので、過去に獲得した望ましくない特徴の獲得ブランチを活用することはできない。この場合には、望ましくない特徴のブランチが再度学習される可能性があり、非効率なモデル学習が行われる。
【0023】
図5は、モデル学習部10の順伝播時の動作を示す説明図である。
図5は、モデル学習部10の計算グラフ変更部13が、ブランチ#1とブランチ#2を学習対象ブランチとし、ブランチ#3を固定ブランチ(すなわち、固定ブランチ選択部16によって学習対象から外されたブランチ)とする場合を示している。順伝播時には、ブランチ#1、#2、#3から特徴#1、#2、#3がそれぞれ生成されるが、特徴#3は人間にとって望ましくない不適切な特徴であるため学習対象から除外することの指示が固定ブランチ選択部16に入力されているため、計算グラフ変更部13は、特徴#1、#2をヘッダに入力し、特徴#3をヘッダに入力しない。その一方で、特徴#1及び特徴#2は、特徴#3から距離の離れた特徴であるように学習されるべきであるため、計算グラフ変更部13は、特徴#1、#2、#3を含むすべての特徴をブランチ間距離計算部11に入力する。
【0024】
図6は、モデル学習部10の誤差逆伝播時の動作を示す説明図である。
図6は、モデル学習部10の計算グラフ変更部13が、ブランチ#1とブランチ#2を学習対象ブランチとし、ブランチ#3を固定ブランチとする場合を示している。誤差逆伝播時には、ブランチ#3を固定ブランチとすることの指示が固定ブランチ選択部16に入力されているため、計算グラフ変更部13は、ブランチ#3を学習対象から外すために、ブランチ#3の入出力のエッジを計算グラフから除去する。したがって、計算グラフ変更部13は、特徴#1、#2をブランチ間距離計算部11に入力するが、固定ブランチによって生成された特徴#3をブランチ間距離計算部11に入力しない。
【0025】
以上に述べたように、実施の形態1では、順伝播時の計算グラフと誤差逆伝播時の計算グラフとが異なる。つまり、ブランチ間距離に基づいて損失の合計を求めるときには、固定ブランチの特徴#3を含むすべてのブランチの特徴#1~#3をブランチ間距離計算部11に出力するが、ブランチ更新を行うときには、固定ブランチの特徴#3を除いたブランチの特徴#1~#2を出力する。
【0026】
《1-2》動作
図7は、実施の形態1に係るモデル学習装置1のモデル学習時の動作を示すフローチャートである。実施の形態1では、先ず、モデル学習部10が学習データ(例えば、
図2のストレージ102の学習データ)を用いてモデルを学習する(ステップS1)。
【0027】
次に、ブランチ可視化部15が、XAIによって各ブランチが獲得した特徴を可視化し、人間が解釈できるように可視化結果を表示部(例えば、
図2の表示部105)に提示させる(ステップS2)。このとき、可視化結果を、BI(ビジネスインテリジェンス)ツール、又は専用のGUI(グラフィカルユーザインターフェース)によって表示してもよい。XAIとしては、局所的な説明(例えば、データごとの説明)と大域的な説明(例えば、モデルのふるまいの説明)が存在する。従来技術では、XAIとして局所ごとの説明(アテンション)を用いているが、実施の形態1では、XAIとして局所的な説明と大域的な説明のいずれを用いてもよく、局所的な説明と大域的な説明とを併用してもよい。可視化結果を見たユーザは、ブランチの除外が必要な場合には、例えば、
図2の入力部104を用いて、固定ブランチ選択部16に、除外されるべきブランチである固定ブランチの特定情報(すなわち、ブランチID)を入力する。
【0028】
固定ブランチ選択部16は、各ブランチが学習した特徴を人間が解釈した結果に基づいて、各ブランチが学習した特徴が予め定められた条件、すなわち、以下の第1のケース又は第2のケース、に該当する場合には、第1のケース又は第2のケースに該当する特徴を獲得したブランチの重みパラメータを固定して、第1のケース又は第2のケースに該当する特徴を学習の対象から除外する。
【0029】
第1のケースは、学習によりブランチが生成した特徴が、人間にとって望ましくない特徴である場合である。第1のケースの特徴は、学習後の推論に利用されないので、第1のケースの特徴の再学習を避けるために、第1のケースの特徴の学習を行うブランチを固定ブランチとして、学習対象から除外する。
【0030】
第2のケースは、学習によりブランチが生成した特徴が、人間にとって望ましい特徴である場合である。第2のケースの特徴は、学習後の推論に利用されるが、転移学習が行われても、第2のケースの特徴を保持できるようにするため、第2のケースの特徴の学習を行うブランチを固定ブランチとして、学習の対象から除外する。
【0031】
モデル学習部10は、再学習が必要であるかどうかを判断し、再学習が必要である場合には(ステップS3においてYES)、処理をステップS1に戻し、再学習が必要でない場合には(ステップS3においてNO)、処理を終了する。
【0032】
図8は、実施の形態1に係るモデル学習装置1のモデル学習時の動作(すなわち、
図7におけるステップS1の詳細)を示すフローチャートである。先ず、モデル学習部10は、実行される学習が1回目の学習であるかどうかを判定し、1回目の学習であるときに(ステップS101においてYES)、処理をステップS106に進め、損失関数計算部12が損失関数を計算する。モデル学習部10は、2回目以降のモデル学習を行うときに(ステップS101においてNO)、処理をステップS102に進める。
【0033】
ステップS102において、モデル学習部10は、データの特徴の獲得に使用するブランチとして、重みパラメータが固定されている固定ブランチがあるかどうかを判定し、固定ブランチがある場合は(ステップS102においてYES)、処理をステップS102からステップS103に進めて固定ブランチの選択を行い、固定ブランチがない場合は(ステップS102においてNO)、処理をステップS102からステップS104に進める。
【0034】
ステップS104では、モデル学習部10の計算グラフ変更部13は、順伝播用に計算グラフを変更する。順伝播時には、
図5に示されるように、入力から固定ブランチであるブランチ#3までの間のエッジを有効に設定し、ブランチ#3からブランチ間距離計算部11までの間のエッジを有効に設定し、ブランチ#3からヘッダまでの間のエッジを無効に設定している。
【0035】
ステップS105では、モデル学習部10のブランチ間距離計算部11は、ブランチ間の距離を計算する。この場合、ブランチ間距離計算部11は、過去に学習したブランチと異なるブランチを学習するために、ブランチ間距離を計算する。ブランチ間距離計算部11は、ブランチ間距離として、以下の2種類の距離である第1の距離と第2の距離とを計算する。
【0036】
第1の距離は、学習対象ブランチによって生成される特徴と固定ブランチによって生成される特徴との間の距離である。過去に学習した特徴とは異なる特徴を学習するために、第1の距離は、離れていることが望ましい。
【0037】
第2の距離は、学習対象ブランチによって生成される特徴間の距離である。複数の学習対象ブランチ(すなわち、新たに獲得されたブランチ)が同時に獲得する特徴が類似しないようにするために、第2の距離は、離れていることが望ましい。なお、学習対象ブランチの個数が1個である場合には、第2の距離は存在しない。
【0038】
ここで、距離は、ユーザが自由に定義してよい。例えば、深層距離学習(deep metric learning)手法であるArcFaceでは、超球面上にマッピングした特徴間のコサイン類似度を距離としている。
【0039】
次のステップS106では、モデル学習部10の損失関数計算部12は、予め決められた損失関数を用いて損失の合計を計算する。損失関数は、タスクに依存する損失とブランチ間距離計算部11に依存する距離損失との和(すなわち、損失の合計)で定義され、以下の式(1)で表される。
(損失の合計)=(タスクに依存する損失)+(β*距離損失) (1)
固定ブランチ選択部16による選択の結果に応じて距離損失に含まれる項数が変化するため、タスクに依存する損失とのバランスに応じてハイパーパラメータβを調整する(又は、正規化する)。
【0040】
固定ブランチの個数がa個であり、学習対象ブランチの個数がb個である場合は、以下の式(2)で示される個数の項が存在する。
【0041】
【0042】
式(2)において、第1項は、固定ブランチと学習対象ブランチとの組み合わせの数を表し、第2項は、学習対象ブランチ間の組み合わせの数を表す。
【0043】
ステップS107では、モデル学習部10の計算グラフ変更部13は、誤差逆伝播用に計算グラフを変更する。誤差逆伝播時には、
図6に示されるように、入力から固定ブランチであるブランチ#3までの間のエッジを無効に設定し、ブランチ#3からブランチ間距離計算部11までの間のエッジを無効に設定し、ブランチ#3からヘッダまでの間のエッジを無効に設定している。
【0044】
ステップS108において、モデル学習部10のブランチ更新部14は、学習対象ブランチ内の重みパラメータを更新する。
【0045】
《1-3》効果
実施の形態1に係るモデル学習装置1によれば、少ないブランチ数で学習を開始できるため過学習を抑制することができ、また、学習の高速化を実現できる。
【0046】
《2》実施の形態2
図9は、実施の形態2に係るモデル学習装置2の構成を概略的に示すブロック図である。
図9において、
図1に示される構成と同一又は対応する構成には、
図1に示される符号と同じ符号が付されている。また、
図10は、実施の形態2に係るモデル学習装置2のハードウェア構成の例を示す図である。
図10において、
図2に示される構成と同一又は対応する構成には、
図2に示される符号と同じ符号が付されている。モデル学習装置2は、実施の形態2に係るモデル学習方法を実施することができる装置であり、例えば、実施の形態2に係るモデル学習プログラムを実行するコンピュータである。
【0047】
実施の形態2に係るモデル学習装置2は、ブランチ追加部21を備えている点及び計算グラフ変更部13aがブランチ追加部21から提供されるブランチを加えたブランチに基づいて計算グラフを変更する点が、実施の形態1に係るモデル学習装置1と異なる。
【0048】
一般に、学習モデル内に多数のブランチを用意した状態で行う学習は、多くの重みパラメータを用いることになるため、難易度が高く、過学習が発生すること、又は処理時間が長い。そこで、学習の初期の段階では、学習可能な少ない数の学習対象ブランチを使用して学習を行い、ブランチ追加部21によって後から学習モデル内にブランチを追加することによって、学習対象ブランチの数を増やすことが望ましい場合がある。転移学習を繰り返すにつれて、固定ブランチ選択部16によって使用する学習対象ブランチの数が減るため、実施の形態2に係るモデル学習装置2では、ブランチ追加部21によって後から必要に応じて学習対象ブランチが追加される。
【0049】
図11は、実施の形態2に係るモデル学習装置2のモデル学習時の動作を示すフローチャートである。
図11において、
図8に示されるステップと同一又は対応するステップには、
図8に示される符号と同じ符号が付されている。モデル学習装置2のモデル学習時の動作は、ブランチ追加部21によるブランチ追加を行うかどうかを判定するステップS201と、ブランチ追加を行う場合に、ブランチ追加部21がモデル学習部20にブランチを追加するステップS202とをさらに有する点と、モデル学習部20が追加されたブランチを含む学習対象ブランチを用いてステップS104からS107の処理を実行する点とが、実施の形態1に係るモデル学習装置1のモデル学習時の動作と異なる。
【0050】
実施の形態2に係るモデル学習装置2によれば、少ないブランチ数で学習を開始できるため過学習を抑制することができ、また、学習の高速化を実現できる。
【0051】
また、実施の形態2に係るモデル学習装置2によれば、ブランチ可視化部15がXAIによって各ブランチが獲得した特徴を可視化しており、ユーザがブランチ追加部21を通じて適切に重みパラメータを初期化したブランチを学習モデルに追加することができるので、学習の精度を上げることができる。
【0052】
上記以外に関し、実施の形態2は、実施の形態1と同じである。
【0053】
《3》実施の形態3
図12は、実施の形態3に係るモデル学習装置3の構成を概略的に示すブロック図である。
図12において、
図1に示される構成と同一又は対応する構成には、
図1に示される符号と同じ符号が付されている。また、
図13は、実施の形態3に係るモデル学習装置3のハードウェア構成の例を示す図である。
図13において、
図2に示される構成と同一又は対応する構成には、
図2に示される符号と同じ符号が付されている。モデル学習装置3は、実施の形態3に係るモデル学習方法を実施することができる装置であり、例えば、実施の形態3に係るモデル学習プログラムを実行するコンピュータである。
【0054】
実施の形態3に係るモデル学習装置3は、ブランチ削除部31を備えている点及び計算グラフ変更部13bがブランチ削除部31から指示されたブランチを削除したブランチに基づいて計算グラフを変更する点が、実施の形態1に係るモデル学習装置1と異なる。
【0055】
一般に、モデルの学習が終了した後の保守運用の段階では、不適切な特徴を学習したブランチがメモリに残っている。ブランチの数が多い場合には、モデルを用いて行う推論に要する時間が長くなり、ブランチによるメモリの使用量が増加する。そこで、実施の形態3に係るモデル学習装置3においては、ブランチ削除部31を備え、モデルの定義及び重みパラメータに基づいて、ユーザが選択したブランチを削除することができるように構成されている。なお、再度学習する場合があり得るため、削除に際し、削除したブランチのバックアップを取ってもよい。
【0056】
図14は、実施の形態3に係るモデル学習装置3のモデル学習時の動作を示すフローチャートである。
図14において、
図8に示されるステップと同一又は対応するステップには、
図8に示される符号と同じ符号が付されている。モデル学習装置3のモデル学習時の動作は、ブランチ削除部31によるブランチ削除を行うかどうかを判定するステップS301と、ブランチ削除を行う場合に、ブランチ削除部31がモデル学習部30からブランチを削除するステップS302とをさらに有する点と、モデル学習部30が削除されたブランチを除く学習対象ブランチを用いてステップS104からS107の処理を実行する点とが、実施の形態1に係るモデル学習装置1のモデル学習時の動作と異なる。
【0057】
実施の形態3に係るモデル学習装置3によれば、ブランチ可視化部15がXAIによって各ブランチが獲得した特徴を可視化しており、ユーザがブランチ削除部31を通じてブランチを削除することができるので、学習の精度を上げることができるので、メモリ使用量の低減及び推論の高速化を実現できる。
【0058】
なお、上記以外に関し、実施の形態3は、実施の形態1と同じである。また、実施の形態3におけるブランチ削除部31を、実施の形態2のモデル学習装置2に適用することも可能である。
【0059】
《4》実施の形態4
図15は、実施の形態4に係るモデル学習装置4の構成を概略的に示すブロック図である。
図15において、
図1に示される構成と同一又は対応する構成には、
図1に示される符号と同じ符号が付されている。また、
図16は、実施の形態4に係るモデル学習装置4のハードウェア構成の例を示す図である。
図16において、
図2に示される構成と同一又は対応する構成には、
図2に示される符号と同じ符号が付されている。モデル学習装置4は、実施の形態4に係るモデル学習方法を実施することができる装置であり、例えば、実施の形態4に係るモデル学習プログラムを実行するコンピュータである。
【0060】
実施の形態4に係るモデル学習装置4は、学習対象ブランチ選択部41とアテンション正解データ42とアテンション損失計算部43とを有している点、計算グラフ変更部13cが学習対象ブランチ選択部41から指示された学習対象ブランチに基づいて計算グラフを変更する点、及びアテンション損失計算部43に基づいて損失関数計算部12cが損失関数の計算を変更する点が、実施の形態1に係るモデル学習装置1と異なる。
【0061】
実施の形態4においては、学習によって獲得されたアテンションを直接修正することでデータごとに損失関数を変更し、獲得すべき特徴の学習を制御している。モデル学習装置4は、例えば、特定の学習対象ブランチを選択し、そのブランチに対して人間が修正したアテンションに近いアテンションを生成するように学習させる。このように、事前に間違えやすい特徴が分かっている場合には、あえてそのようなアテンションのデータを用意して学習させることで、必要な転移学習の回数を減らすことができる。また、あえて間違えやすい特徴を学習させる場合は、その特徴を用いないように推論することで学習モデルの信頼性を向上させることができる。
【0062】
図15及び
図16において、学習対象ブランチ選択部41は、アテンション正解データを用いて学習させる学習対象ブランチを選択する。このとき、アテンション正解データ42に格納されているアテンションの種類と学習対象ブランチ選択部41によって選択されるブランチとは、1対1の対応関係、1対多の対応関係、多対多の対応関係のいずれの関係を有してもよい。アテンション正解データ42としては、例えば、人物検出用のデータの場合には、上半身にヒートマップが当たっているヒートマップデータ、下半身にヒートマップが当たっているヒートマップデータ、身体全体にヒートマップが当たっているヒートマップデータなどがある。学習対象ブランチ選択部41は、例えば、人物検出の場合は、頭を認識するブランチ、又は、頭位以外の部位(例えば、上半身、下半身)を認識するブランチを選択してもよい。
【0063】
図17は、実施の形態4に係るモデル学習装置4のモデル学習時の動作を示すフローチャートである。
図17において、
図8に示されるステップと同一又は対応するステップには、
図8に示される符号と同じ符号が付されている。
【0064】
モデル学習装置4は、2回目以降の学習において、アテンション正解データ42がある場合には(ステップS401においてYES)、学習対象ブランチ選択部41に学習対象ブランチを選択させ(ステップS402)、アテンション損失計算部43に選択された学習対象ブランチについて、損失を計算させ(ステップS403)、その後、処理をステップS106に進める点が、実施の形態1に係るモデル学習装置1のモデル学習時の動作と異なる。
【0065】
実施の形態4では、アテンションによる損失は特定のブランチの学習にのみ利用するため、以下のように複数回に分けて誤差逆伝播を行う必要があり、そのときに使用する計算グラフも、複数の誤差逆伝播のそれぞれについて記憶する。また、実施の形態4では、タスクに依存する損失とブランチ間距離計算部11に依存する距離損失とを、すべての学習対象ブランチに誤差逆伝播することでき、また、アテンションによる損失を選択した特定のブランチに対してのみ誤差逆伝播することもできる。
【0066】
実施の形態4に係るモデル学習装置4によれば、ブランチ可視化部15がXAIによって各ブランチが獲得した特徴を可視化しており、ユーザがブランチ削除部31を通じてブランチを削除することができるので、学習の精度を上げることができるので、メモリ使用量の低減及び推論の高速化を実現できる。
【0067】
また、事前に間違えやすい特徴が分かっているデータについて、アテンションのデータを用意して学習させることで、必要な転移学習の回数を減らすことができる。また、間違えやすい特徴を学習させる場合は、その特徴を用いないように推論することで学習モデルの信頼性を向上させることができる。
【0068】
なお、上記以外に関し、実施の形態4は、実施の形態1と同じである。また、実施の形態4における学習対象ブランチ選択部41、アテンション正解データ42、及びアテンション損失計算部43を、実施の形態2又は3のモデル学習装置2に適用することも可能である。
【符号の説明】
【0069】
1~4 モデル学習装置、 10、20、30、40 モデル学習部、 11 ブランチ間距離計算部、 12、12c 損失関数計算部、 13、13a、13b、13c 計算グラフ変更部、 14 ブランチ更新部、 15 ブランチ可視化部、 16 固定ブランチ選択部、 21 ブランチ追加部、 31 ブランチ削除部、 41 学習対象ブランチ選択部、 42 アテンション正解データ、 43 アテンション損失計算部、 101、101a、101b、101c プロセッサ、 102 ストレージ、 103 インタフェース。
【要約】
モデル学習装置(1)は、学習モデルに含まれる複数のブランチから、学習対象から除外するブランチである固定ブランチを選択する固定ブランチ選択部(16)と、使用される計算グラフを、複数のブランチを用いる第1の計算グラフ又は複数のブランチから固定ブランチを除外して得られた学習対象ブランチを用いる第2の計算グラフのいずれかに変更する計算グラフ変更部(13)と、使用される計算グラフを第1の計算グラフに変更した状態で、複数のブランチの各々によって生成される特徴の間の距離を含むブランチ間距離を計算するブランチ間距離計算部(11)と、予め決められた損失関数とブランチ間距離とに基づいて損失の合計を計算する損失関数計算部(12)と、使用される計算グラフを第2の計算グラフに変更した状態で、損失の合計に基づいて、学習対象ブランチ内の重みパラメータを更新するブランチ更新部(14)とを有する。