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

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

▶ 日新電機株式会社の特許一覧 ▶ 国立大学法人京都工芸繊維大学の特許一覧

特開2023-132904学習モデル生成装置、学習モデル生成方法およびプログラム
<>
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図1
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図2
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図3
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図4
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図5
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図6
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図7
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図8
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図9
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図10
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図11
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図12
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図13
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図14
  • 特開-学習モデル生成装置、学習モデル生成方法およびプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023132904
(43)【公開日】2023-09-22
(54)【発明の名称】学習モデル生成装置、学習モデル生成方法およびプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230914BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022038483
(22)【出願日】2022-03-11
(71)【出願人】
【識別番号】000003942
【氏名又は名称】日新電機株式会社
(71)【出願人】
【識別番号】504255685
【氏名又は名称】国立大学法人京都工芸繊維大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】安井 達哉
(72)【発明者】
【氏名】森本 充
(72)【発明者】
【氏名】竹原 輝巳
(72)【発明者】
【氏名】寶珍 輝尚
(57)【要約】
【課題】元タスクと追加タスクとの双方において、正解率が高い学習モデルを作成することが可能な技術を提供する。
【解決手段】学習部(12)は、元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する。転移学習部(15)は、元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、当該モデル構造に基づいて追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する。
【選択図】図8
【特許請求の範囲】
【請求項1】
元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する学習部と、
前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する転移学習部と、を備える学習モデル生成装置。
【請求項2】
前記転移学習部は、
前記元タスクの学習モデルに対して、前記追加タスクのラベルに対応するノードを出力層に追加し、
最終中間層と前記追加したノードとの間の接続を追加した前記モデル構造を生成する、請求項1に記載の学習モデル生成装置。
【請求項3】
前記転移学習部は、
前記元タスクに含まれる接続の重みパラメータを固定し、前記追加した接続の重みパラメータを更新しながら、前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する、請求項2に記載の学習モデル生成装置。
【請求項4】
前記学習モデル生成装置はさらに、前記元タスクの学習モデルと前記追加タスクの学習モデルとを含んだ目標タスクの学習モデルを評価する評価部を備える、請求項1~3のいずれか1項に記載の学習モデル生成装置。
【請求項5】
前記評価部は、
前記目標タスクの学習モデルに基づいて前記元タスクの評価データを識別する元タスクデータ識別部と、
前記目標タスクの学習モデルに基づいて前記追加タスクの評価データを識別する追加タスクデータ識別部と、
前記元タスクデータ識別部による識別結果と、前記追加タスクデータ識別部による識別結果とに基づいて、前記目標タスクの学習モデルが判定基準を満たしているか否かを判定する識別結果判定部とを含む、請求項4に記載の学習モデル生成装置。
【請求項6】
前記識別結果判定部は、
前記元タスクデータ識別部による識別結果が第1の閾値以上であり、
前記追加タスクデータ識別部による識別結果が第2の閾値以上であるとき、前記目標タスクの学習モデルが判定基準を満たしていると判定する、請求項5に記載の学習モデル生成装置。
【請求項7】
元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成し、
前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、
当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する、学習モデル生成方法。
【請求項8】
コンピュータに、
元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する処理と、
前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成する処理と、
当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習モデル生成装置、学習モデル生成方法およびプログラムに関する。
【背景技術】
【0002】
従来から、転移学習を用いて学習モデルを生成する技術が開発されている。例えば、下記の特許文献1に開示された発明がある。
【0003】
特許文献1に記載の情報処理装置は、目標とするタスクである第1のタスクにおいて、第1のカテゴリに属する複数の学習データを、目標タスク学習データとして取得し、第2のタスクにおいて、第1のカテゴリに属する学習データと第2のカテゴリに属する学習データとを含む複数の学習データを、元タスク学習データとして取得する。
【0004】
そして、情報処理装置は、目標タスク学習データの第1のカテゴリに属する複数の学習データに係る第1の分布と、元タスク学習データの第1のカテゴリに属する複数の学習データに係る第2の分布との差異に基づいて、元タスク学習データを変換するための変換パラメータを調整する。
【0005】
そして、情報処理装置は、調整ステップで調整された変換パラメータに基づいて、元タスク学習データを変換し、変換された元タスク学習データと、目標タスク学習データとに基づいて、第1のタスクに係る識別器を生成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2017-224156号(2017年12月21日公開)
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の特許文献1に記載の情報処理装置は、転移学習においてタスク間でデータ変換を行うことで、精度のよい学習モデルの生成を可能としている。
【0008】
しかしながら、特許文献1に記載の情報処理装置は、転移学習において元タスクで識別可能なラベルに対して、別のラベルを追加した新たなタスクを目標タスクとして学習モデルを生成する場合、開発環境を超えたデータの移動ができないため、目標タスクの学習モデル生成を行う開発環境に元タスクの学習モデルの生成に用いたデータを移動させることができない。したがって、特許文献1に記載の情報処理装置では、そのような状況下において、学習モデルの生成ができない可能性がある。
【0009】
本発明の一態様は、元タスクと追加タスクとの双方において、正解率が高い学習モデルを作成することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明の一態様に係る学習モデル生成装置は、元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する学習部と、前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する転移学習部と、を備える。
【0011】
また、上記の課題を解決するために、本発明の一態様に係る学習モデル生成方法は、元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成し、前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する。
【0012】
また、上記の課題を解決するために、本発明の一態様に係るプログラムは、コンピュータに、元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する処理と、前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成する処理と、当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する処理と、を実行させる。
【発明の効果】
【0013】
本発明の一態様によれば、元タスクと追加タスクとの双方において、正解率が高い学習モデルを作成することが可能となる。
【図面の簡単な説明】
【0014】
図1】転移学習のための一般的な学習モデル生成装置(学習部分)の構成例を示すブロック図である。
図2】転移学習のための一般的な学習モデル生成装置(評価部分)の構成例を示すブロック図である。
図3図1に示す学習部の処理手順を説明するためのフローチャートである。
図4図1に示す転移学習部の処理手順を説明するためのフローチャートである。
図5図4に示す目標タスクモデルの転移学習処理の詳細を説明するためのフローチャートである。
図6図5に示す転移学習用初期化処理の詳細を説明するためのフローチャートである。
図7図2に示す評価部の処理手順を説明するためのフローチャートである。
図8】本発明の一実施形態に係る学習モデル生成装置(学習部分)の構成例を示すブロック図である。
図9】本発明の一実施形態に係る学習モデル生成装置(評価部分)の構成例を示すブロック図である。
図10図8に示す学習部の処理手順を説明するためのフローチャートである。
図11図8に示す転移学習部の処理手順を説明するためのフローチャートである。
図12図11に示す追加タスクモデルの転移学習処理の詳細を説明するためのフローチャートである。
図13図12に示す転移学習用初期化処理の詳細を説明するためのフローチャートである。
図14図9に示す評価部の処理手順を説明するためのフローチャートである。
図15】元タスクの識別結果と追加タスクの識別結果との関係を示すグラフである。
【発明を実施するための形態】
【0015】
まず、本発明の一実施形態に係る学習モデル生成装置の構成例を説明する前に、転移学習で用いられる用語の定義、および転移学習のための一般的な学習モデル生成装置の構成例について説明する。
【0016】
(転移学習のための一般的な学習モデル生成装置)
<用語の定義>
機械学習において実際に解くべき問題をタスク(T)と呼ぶ。タスクは、ラベル空間(γ)と、条件付確率(P(Y│X))とのペア(T={γ,P(Y│X)})で定義することができる。ただし、X,Yは、それぞれ、データ空間(χ)のデータX={x,x,…}∈χ、およびラベル空間(γ)のラベルY={y,y,…)∈γである。
【0017】
識別問題のタスクの場合、タスクは、あらかじめ定められた有限個のラベルに基づいてラベル付けされている既知のデータを用いて学習を行い、ラベル付けされていない未知のデータがどのラベルに帰属するかを推論することを指す。
【0018】
転移学習を行う場合、あるタスクのために生成された学習モデルを用いて、別のタスクのための学習モデルを生成する。この時、転移元となる学習モデルのタスクを元タスク(T={γ,P(Y│X)})、転移先となる学習モデルのタスクを目標タスク(T={γ,P(Y│X)})と呼ぶことにする。
【0019】
学習モデルは、モデル構造とその重みパラメータとで構成されている。
【0020】
<転移学習のための一般的な学習モデル生成装置の構成例>
図1は、転移学習のための一般的な学習モデル生成装置(学習部分)100の構成例を示すブロック図である。学習モデル生成装置100は、元タスク学習データ格納部110と、学習部120と、元タスク学習モデル格納部130と、目標タスク学習データ格納部140と、転移学習部150と、目標タスク学習モデル格納部160と、を備えている。
【0021】
元タスク学習データ格納部110、元タスク学習モデル格納部130、目標タスク学習データ格納部140、および目標タスク学習モデル格納部160は、データベースとして、図示しないRAM(Random Access Memory)、不揮発性メモリ、ハードディスク等の記憶装置に設けられる。
【0022】
元タスク学習データ格納部110は、元タスクの学習データとその学習データに対するラベルとを格納する。元タスク学習モデル格納部130は、転移学習のための元タスクの学習モデルを格納する。
【0023】
目標タスク学習データ格納部140は、目標タスクの学習データとその学習データに対するラベルとを格納する。目標タスク学習モデル格納部160は、転移学習によって生成された目標タスクの学習モデルを格納する。
【0024】
学習部120は、元タスク学習データ入力部121と、元タスクモデル学習部122と、元タスク学習モデル出力部123とを含む。元タスク学習データ入力部121は、元タスク学習データ格納部110から元タスクの学習データおよびラベルを取り出して、元タスクモデル学習部122へ出力する。
【0025】
元タスクモデル学習部122は、機械学習を用いて、元タスクの学習データとラベルとの関係を学習し、元タスクの学習モデルを一時保存する。元タスク学習モデル出力部123は、元タスクモデル学習部122に一時保存されている元タスクの学習モデルを取り出して、元タスク学習モデル格納部130に格納する。
【0026】
転移学習部150は、元タスク学習モデル入力部151と、目標タスク学習データ入力部152と、目標タスクモデル転移学習部153と、目標タスク学習モデル出力部154とを含む。
【0027】
元タスク学習モデル入力部151は、元タスク学習モデル格納部130から元タスクの学習モデルを取り出して、目標タスクモデル転移学習部153へ出力する。また、目標タスク学習データ入力部152は、目標タスク学習データ格納部140から目標タスクの学習データおよびラベルを取り出して、目標タスクモデル転移学習部153へ出力する。
【0028】
目標タスクモデル転移学習部153は、転移学習を用いて、目標タスクの学習データとラベルとの関係を学習し、目標タスクの学習モデルを一時保存する。目標タスク学習モデル出力部154は、目標タスクモデル転移学習部153に一時保存された目標タスクの学習モデルを取り出して、目標タスク学習モデル格納部160に格納する。
【0029】
図2は、転移学習のための一般的な学習モデル生成装置(評価部分)100の構成例を示すブロック図である。学習モデル生成装置100はさらに、目標タスク評価データ格納部170と、評価部180と、目標タスク識別結果格納部190と、を備えている。
【0030】
目標タスク評価データ格納部170、および目標タスク識別結果格納部190は、データベースとして、図示しないRAM、不揮発性メモリ、ハードディスク等の記憶装置に設けられる。
【0031】
目標タスク評価データ格納部170は、目標タスクの評価データとその評価データに対するラベルとを格納する。また、目標タスク識別結果格納部190は、目標タスクの識別結果を格納する。
【0032】
また、評価部180は、目標タスク学習モデル入力部181と、目標タスク評価データ入力部182と、目標タスクデータ識別部183と、目標タスク識別結果出力部184とを含む。
【0033】
目標タスク学習モデル入力部181は、目標タスク学習モデル格納部160から目標タスクの学習モデルを取り出して、目標タスクデータ識別部183へ出力する。目標タスク評価データ入力部182は、目標タスク評価データ格納部170から目標タスクの評価データを取り出して、目標タスクデータ識別部183へ出力する。
【0034】
目標タスクデータ識別部183は、目標タスクの学習モデルに基づいて評価データを識別し、識別結果を一時保存する。目標タスク識別結果出力部184は、目標タスクデータ識別部183に一時保存された識別結果を取り出して、目標タスク識別結果格納部190に格納する。
【0035】
<転移学習のための一般的な学習モデル生成装置の処理フロー>
図3は、図1に示す学習部120の処理手順を説明するためのフローチャートである。まず、元タスク学習データ入力部121は、元タスク学習データ格納部110から元タスクの学習データおよびラベルを取り出して、元タスクモデル学習部122へ出力する(S101)。
【0036】
次に、元タスクモデル学習部122は、機械学習を用いて、元タスクの学習データとラベルとの関係を学習し、生成した元タスクの学習モデルを一時保存する(S102)。そして、元タスク学習モデル出力部123は、元タスクモデル学習部122に一時保存された元タスクの学習モデルを取り出して、元タスク学習モデル格納部130に格納し(S103)、処理を終了する。
【0037】
図4は、図1に示す転移学習部150の処理手順を説明するためのフローチャートである。まず、元タスク学習モデル入力部151は、元タスク学習モデル格納部130から元タスクの学習モデルを取り出して、目標タスクモデル転移学習部153へ出力する(S111)。
【0038】
また、目標タスク学習データ入力部152は、目標タスク学習データ格納部140から目標タスクの学習データおよびラベルを取り出して、目標タスクモデル転移学習部153へ出力する(S112)。
【0039】
次に、目標タスクモデル転移学習部153は、元タスクで学習した学習モデルをベースに、目標タスクの学習データとラベルとの関係を学習し、生成した目標タスクの学習モデルを一時保存する(S113)。この処理の詳細は、後述する。
【0040】
そして、目標タスク学習モデル出力部154は、目標タスクモデル転移学習部153に一時保存された目標タスクの学習モデルを取り出して、目標タスク学習モデル格納部160に格納し(S114)、処理を終了する。
【0041】
図5は、図4に示す目標タスクモデルの転移学習処理(S113)の詳細を説明するためのフローチャートである。まず、目標タスクモデル転移学習部153は、転移学習用初期化処理を行う(S121)。この処理の詳細は、後述する。
【0042】
次に、目標タスクモデル転移学習部153は、機械学習で、目標タスクの学習モデルを生成する(S122)。そして、目標タスクモデル転移学習部153は、生成した目標タスクの学習モデルを一時保存して(S123)、処理を終了する。
【0043】
図6は、図5に示す転移学習用初期化処理(S121)の詳細を説明するためのフローチャートである。まず、目標タスクモデル転移学習部153は、学習部120によって生成された元タスクの学習モデルから重みを抽出する層を選択する(S131)。
【0044】
次に、目標タスクモデル転移学習部153は、元タスクの学習モデルから選択した層に対して、目標タスクの学習モデルとして新たに追加する層を決定し、追加した層に対応する重みパラメータを乱数で初期化する(S132)。
【0045】
次に、目標タスクモデル転移学習部153は、元タスクの学習モデルから選択した層に対して、新たに追加する層を接続して目標タスクの学習モデルの構造とする(S133)。そして、目標タスクモデル転移学習部153は、目標タスクの学習モデルの重みパラメータの中で、学習による重み更新を行わない範囲を指定し、現在の値に固定して(S134)、処理を終了する。
【0046】
図7は、図2に示す評価部180の処理手順を説明するためのフローチャートである。まず、目標タスク学習モデル入力部181は、目標タスク学習モデル格納部160から目標タスクの学習モデルを取り出して、目標タスクデータ識別部183へ出力する(S141)。また、目標タスク評価データ入力部182は、目標タスク評価データ格納部170から目標タスクの評価データを取り出して、目標タスクデータ識別部183へ出力する(S142)。
【0047】
次に、目標タスクデータ識別部183は、目標タスクの学習モデルに基づいて評価データを識別し、識別結果を一時保存する。そして、目標タスク識別結果出力部184は、目標タスクデータ識別部183に一時保存された識別結果を取り出して、目標タスク識別結果格納部190に格納し(S144)、処理を終了する。
【0048】
(本発明の一実施形態に係る学習モデル生成装置)
<前提条件>
学習モデルの生成とその評価を行うための開発環境は、学習や評価に必要なデータがデータベースに蓄積され、データベースに蓄積されたデータから学習モデルの生成、または学習モデルの評価を行うための機能を備えており、異なる開発環境のデータベース間でデータの移動はできない。ただし、生成された学習モデルと開発環境下で評価を行った評価結果とのやりとりは可能である。
【0049】
<用語の定義>
機械学習において実際に解くべき問題をタスク(T)と呼ぶ。タスクは、ラベル空間(γ)と、条件付確率(P(Y│X))とのペア(T={γ,P(Y│X)})で定義することができる。ただし、X,Yは、それぞれ、データ空間(χ)のデータX={x,x,…}∈χ、およびラベル空間(γ)のラベルY={y,y,…)∈γである。
【0050】
識別問題のタスクの場合、タスクは、あらかじめ定められた有限個のラベルに基づいてラベル付けされている既知のデータを用いて学習を行い、ラベル付けされていない未知のデータがどのラベルに帰属するかを推論することを指す。
【0051】
転移学習を行う場合、あるタスクのために生成された学習モデルを用いて、別のタスクのための学習モデルを生成する。この時、転移元となる学習モデルのタスクを元タスク(T={γ,P(Y│X)})、転移先となる学習モデルのタスクを目標タスク(T={γ,P(Y│X)})と呼ぶことにする。
【0052】
学習モデルは、モデル構造とその重みパラメータとで構成されている。
【0053】
本実施形態においては、目標タスクのラベル空間が元タスクのラベル空間を包含している学習モデル(γs⊂γt)を、データのやりとりが行えない異なる開発環境で転移学習を用いて生成する場合の手法である。このとき、目標タスクと元タスクとの差分である、追加するラベルに関するタスクを追加タスク(T={γ,P(Y│X)})と呼ぶことにする。
【0054】
<本発明の一実施形態に係る学習モデル生成装置1の構成例>
図8は、本発明の一実施形態に係る学習モデル生成装置(学習部分)1の構成例を示すブロック図である。学習モデル生成装置1は、元タスク学習データ格納部11と、学習部12と、元タスク学習モデル格納部13と、追加タスク学習データ格納部14と、転移学習部15と、目標タスク学習モデル格納部16と、を備えている。
【0055】
元タスク学習データ格納部11、元タスク学習モデル格納部13、追加タスク学習データ格納部14、および目標タスク学習モデル格納部16は、データベースとして、図示しないRAM、不揮発性メモリ、ハードディスク等の記憶装置に設けられる。
【0056】
元タスク学習データ格納部11は、元タスクの学習データとその学習データに対するラベルとを格納する。元タスク学習モデル格納部13は、転移学習のための元タスクの学習モデルを格納する。
【0057】
追加タスク学習データ格納部14は、追加タスクの学習データとその学習データに対するラベルとを格納する。目標タスク学習モデル格納部16は、転移学習によって生成された目標タスクの学習モデルを格納する。
【0058】
学習部12は、元タスク学習データ入力部12-1と、元タスクモデル学習部12-2と、元タスク学習モデル出力部12-3とを含む。元タスク学習データ入力部12-1は、元タスク学習データ格納部11から元タスクの学習データおよびラベルを取り出して、元タスクモデル学習部12-2へ出力する。
【0059】
元タスクモデル学習部12-2は、機械学習を用いて、元タスクの学習データとラベルとの関係を学習し、元タスクの学習モデルを一時保存する。元タスク学習モデル出力部12-3は、元タスクモデル学習部12-2に一時保存されている元タスクの学習モデルを取り出して、元タスク学習モデル格納部13に格納する。
【0060】
転移学習部15は、元タスク学習モデル入力部15-1と、追加タスク学習データ入力部15-2と、追加タスクモデル転移学習部15-3と、追加タスク学習モデル出力部15-4とを含む。
【0061】
元タスク学習モデル入力部15-1は、元タスク学習モデル格納部13から元タスクの学習モデルを取り出して、追加タスクモデル転移学習部15-3へ出力する。また、追加タスク学習データ入力部15-2は、追加タスク学習データ格納部14から追加タスクの学習データおよびラベルを取り出して、追加タスクモデル転移学習部15-3へ出力する。
【0062】
追加タスクモデル転移学習部15-3は、転移学習を用いて、追加タスクの学習データとラベルとの関係を学習し、追加タスクの学習モデルを一時保存する。追加タスク学習モデル出力部15-4は、追加タスクモデル転移学習部15-3に一時保存された追加タスクの学習モデルを取り出して、目標タスク学習モデル格納部16に格納する。
【0063】
図9は、本発明の一実施形態に係る学習モデル生成装置(評価部分)1の構成例を示すブロック図である。学習モデル生成装置1はさらに、元タスク評価データ格納部17と、追加タスク評価データ格納部18と、評価部19と、判定結果格納部20と、を備えている。
【0064】
元タスク評価データ格納部17、追加タスク評価データ格納部18、および判定結果格納部20は、データベースとして、図示しないRAM、不揮発性メモリ、ハードディスク等の記憶装置に設けられる。
【0065】
元タスク評価データ格納部17は、元タスクの評価データとその評価データに対するラベルとを格納する。追加タスク評価データ格納部18は、追加タスクの評価データとその評価データに対するラベルとを格納する。また、判定結果格納部20は、評価部19による判定結果を格納する。
【0066】
評価部19は、元タスク評価データ入力部19-1と、元タスクデータ識別部19-2と、元タスク識別結果出力部19-3と、元タスク識別結果格納部19-4と、目標タスク学習モデル入力部19-5と、追加タスク評価データ入力部19-6と、追加タスクデータ識別部19-7と、追加タスク識別結果出力部19-8と、追加タスク識別結果格納部19-9と、識別結果入力部19-10と、識別結果判定部19-11と、判定結果出力部19-12とを含む。
【0067】
元タスク識別結果格納部19-4、および追加タスク識別結果格納部19-9は、データベースとして、図示しないRAM、不揮発性メモリ、ハードディスク等の記憶装置に設けられる。
【0068】
元タスク評価データ入力部19-1は、元タスク評価データ格納部17から元タスクの評価データを取り出して、元タスクデータ識別部19-2へ出力する。目標タスク学習モデル入力部19-5は、目標タスク学習モデル格納部16から目標タスクの学習モデルを取り出して、元タスクデータ識別部19-2および追加タスクデータ識別部19-7へ出力する。
【0069】
元タスクデータ識別部19-2は、目標タスクの学習モデルに基づいて元タスクの評価データを識別し、識別結果を一時保存する。元タスク識別結果出力部19-3は、元タスクデータ識別部19-2に一時保存された元タスクの識別結果を取り出して、元タスク識別結果格納部19-4に格納する。
【0070】
追加タスク評価データ入力部19-6は、追加タスク評価データ格納部18から追加タスクの評価データを取り出して、追加タスクデータ識別部19-7へ出力する。
【0071】
追加タスクデータ識別部19-7は、目標タスクの学習モデルに基づいて追加タスクの評価データを識別し、識別結果を一時保存する。追加タスク識別結果出力部19-8は、追加タスクデータ識別部19-7に一時保存された追加タスクの識別結果を取り出して、追加タスク識別結果格納部19-9に格納する。
【0072】
識別結果入力部19-10は、元タスク識別結果格納部19-4および追加タスク識別結果格納部19-9から、元タスクの識別結果および追加タスクの識別結果を取り出して、識別結果判定部19-11へ出力する。
【0073】
識別結果判定部19-11は、元タスクの識別結果と追加タスクの識別結果とに基づいて、複数の学習モデルの中から、最も良い識別結果が得られた学習モデルを判定し、その判定結果を一時保存する。判定結果出力部19-12は、識別結果判定部19-11に一時保存された判定結果を取り出して、判定結果格納部20に格納する。
【0074】
<本発明の一実施形態に係る学習モデル生成装置1の処理フロー>
図10は、図8に示す学習部12の処理手順を説明するためのフローチャートである。まず、元タスク学習データ入力部12-1は、元タスク学習データ格納部11から元タスクの学習データおよびラベルを取り出して、元タスクモデル学習部12-2へ出力する(S1)。
【0075】
次に、元タスクモデル学習部12-2は、機械学習を用いて、元タスクの学習データとラベルとの関係を学習し、生成した元タスクの学習モデルを一時保存する(S2)。そして、元タスク学習モデル出力部12-3は、元タスクモデル学習部12-2に一時保存された元タスクの学習モデルを取り出して、元タスク学習モデル格納部13に格納し(S3)、処理を終了する。
【0076】
図11は、図8に示す転移学習部15の処理手順を説明するためのフローチャートである。まず、元タスク学習モデル入力部15-1は、元タスク学習モデル格納部13から元タスクの学習モデルを取り出して、追加タスクモデル転移学習部15-3へ出力する(S11)。
【0077】
また、追加タスク学習データ入力部15-2は、追加タスク学習データ格納部14から追加タスクの学習データおよびラベルを取り出して、追加タスクモデル転移学習部15-3へ出力する(S12)。
【0078】
次に、追加タスクモデル転移学習部15-3は、元タスクで学習した学習モデルをベースに、転移学習を用いて、追加タスクの学習データとラベルとの関係を学習し、生成した追加タスクの学習モデルを一時保存する(S13)。この処理の詳細は、後述する。
【0079】
そして、追加タスク学習モデル出力部15-4は、追加タスクモデル転移学習部15-3に一時保存された追加タスクの学習モデルを取り出して、目標タスク学習モデル格納部16に格納し(S14)、処理を終了する。
【0080】
図12は、図11に示す追加タスクモデルの転移学習処理(S13)の詳細を説明するためのフローチャートである。まず、追加タスクモデル転移学習部15-3は、転移学習用初期化処理を行う(S21)。この処理の詳細は、後述する。
【0081】
次に、追加タスクモデル転移学習部15-3は、機械学習で、追加タスクの学習モデルを生成する(S22)。そして、追加タスクモデル転移学習部15-3は、生成した追加タスクの学習モデルを一時保存して(S23)、処理を終了する。
【0082】
図13は、図12に示す転移学習用初期化処理(S21)の詳細を説明するためのフローチャートである。まず、追加タスクモデル転移学習部15-3は、学習部12によって生成された元タスクの学習モデルのモデル構造の最終層を、目標タスクのラベル数に適合するように拡張したモデル構造を決定する(S31)。
【0083】
具体的には、目標タスクのラベル数に適合するように最終層のノード(以下、出力ノードと呼ぶ。)を追加する。例えば、元タスクのラベル数が200であり、目標タスクのラベル数が210であれば、追加タスクモデル転移学習部15-3は、出力ノードを10だけ追加する。また、追加タスクモデル転移学習部15-3は、追加された出力層(出力ノード)と、出力層の直前の中間層(以下、最終中間層と呼ぶ。)との間の、新たな接続を追加する。
【0084】
次に、追加タスクモデル転移学習部15-3は、追加タスクの学習モデルの重みパラメータを乱数で初期化する。具体的には、追加タスクモデル転移学習部15-3は、最終中間層と、出力層との間の、新たな接続の重みパラメータを乱数で初期化する。
【0085】
また、追加タスクモデル転移学習部15-3は、元タスクの学習モデルと重複する構造の箇所については元タスクの学習モデルの重みパラメータで初期化する(S32)。具体的には、追加タスクモデル転移学習部15-3は、最終中間層と、出力層との間の、新たな接続以外の重みパラメータを、元タスクの学習モデルの重みパラメータで初期化する。
【0086】
そして、追加タスクモデル転移学習部15-3は、目標タスクの学習モデルの重みパラメータの中で、学習による重み更新を行わない範囲を指定し、現在の値に固定する(S33)。具体的には、追加タスクモデル転移学習部15-3は、最終中間層と、出力層との間の接続以外の重みパラメータを、学習による重み更新を行わない範囲とし、重みパラメータを固定する。
【0087】
図14は、図9に示す評価部19の処理手順を説明するためのフローチャートである。まず、目標タスク学習モデル入力部19-5は、目標タスク学習モデル格納部16から目標タスクの学習モデルを取り出して、元タスクデータ識別部19-2および追加タスクデータ識別部19-7へ出力する(S41,S46)。また、元タスク評価データ入力部19-1は、元タスク評価データ格納部17から元タスクの評価データを取り出して、元タスクデータ識別部19-2へ出力する(S42)。
【0088】
次に、元タスクデータ識別部19-2は、目標タスクの学習モデルに基づいて元タスク評価データを識別し、識別結果を一時保存する(S43)。元タスク識別結果出力部19-3は、元タスクデータ識別部19-2に一時保存された識別結果を取り出して、元タスク識別結果格納部19-4に格納する(S44)。
【0089】
一方、追加タスク評価データ入力部19-6は、追加タスク評価データ格納部18から追加タスクの評価データを取り出して、追加タスクデータ識別部19-7へ出力する(S45)。
【0090】
追加タスクデータ識別部19-7は、目標タスクの学習モデルに基づいて追加タスクの評価データを識別し、識別結果を一時保存する(S47)。追加タスク識別結果出力部19-8は、追加タスクデータ識別部19-7に一時保存された識別結果を取り出して、追加タスク識別結果格納部19-9に格納する(S48)。
【0091】
識別結果入力部19-10は、元タスク識別結果格納部19-4および追加タスク識別結果格納部19-9から、元タスクの識別結果および追加タスクの識別結果を取り出して、識別結果判定部19-11へ出力する(S49)。
【0092】
識別結果判定部19-11は、同じ目標タスクの学習モデルの元タスクによる識別結果と追加タスクによる識別結果とを閾値によって判定する。識別結果判定部19-11は、元タスクの識別結果用の第1の閾値(閾値:元タスク)と、追加タスクの識別結果用の第2の閾値(閾値:追加タスク)とがあらかじめ設定されている。そして、識別結果判定部19-11は、元タスクの識別結果が第1の閾値以上であるか、および追加タスクの識別結果が第2の閾値以上であるかを判定する(S50)。
【0093】
例えば、識別結果判定部19-11は、元タスクの識別結果および追加タスクの識別結果が両方とも閾値以上であれば、その目標タスクの学習モデルを、判定基準を満たしていると判定する。また、識別結果判定部19-11は、元タスクの識別結果および追加タスクの識別結果の何れかが閾値以下、または両方が閾値以下であれば、その目標タスクの学習モデルを、判定基準を満たしていないと判定する。
【0094】
最後に、判定結果出力部19-12は、識別結果判定部19-11に一時保存された判定結果を取り出して、判定結果格納部20に格納して(S51)、処理を終了する。なお、学習モデルの運用を考慮して、識別結果判定部19-11が、全ての識別結果の候補が判定基準を満たさないと判定した場合、学習モデル生成装置1は、ハイパーパラメータを変更して学習モデルの生成から再度やり直す。
【0095】
図15は、元タスクの識別結果と追加タスクの識別結果との関係を示すグラフである。図15に示すグラフは、横軸を学習エポック数、縦軸を正解率(80%~95%)としている。学習モデル生成装置1は、ハイパーパラメータの1つである学習エポック数を変更しながら複数の学習モデルを生成し、学習モデル毎に元タスクの正解率(識別結果)および追加タスクの正解率(識別結果)を求める。
【0096】
図15に示すように、学習エポック数が少ない状態では、元タスクの正解率が高く、追加タスクの正解率が低くなっている。学習エポック数が増加するにしたがって、元タスクの正解率が徐々に低下し、追加タスクの正解率が増加してゆく。学習エポック数がE1以上のときに追加タスクの正解率が第2の閾値(閾値:追加タスク)を超える。また、学習エポック数がE2以上のときに元タスクの正解率が第1の閾値(閾値:元タスク)を下回る。図15においては、学習エポック数がE1~E2の範囲で、学習モデルが判定基準を満たしていると判定される。
【0097】
図15においては、複数の学習モデルが判定基準を満たしているが、最適な学習モデルを選択するために、元タスクの正解率と追加タスクの正解率との合計が最も大きい学習モデルを選択するようにしてもよいし、元タスクの正解率と追加タスクの正解率とが一致する学習モデルを選択するようにしてもよい。
【0098】
なお、上記の説明においては、ハイパーパラメータの1つである学習エポック数を変更しながら、複数の学習モデルを作成するようにしたが、減衰係数等の他のハイパーパラメータも変更しながら、複数の学習モデルを作成するようにしてもよい。
【0099】
なお、機械学習は、CNN(Convolutional Neural Network)、R-CNN(Regional CNN)、Fast R-CNN、Faster R-CNN、RNN(Recurrent Neural Network)、U-Net、SegNet等であってもよい。
【0100】
<学習モデル生成装置1の効果>
機械学習において、異なる開発環境に存在するデータを用いて学習モデルを生成したい場合にデータベースの共有ができない場合がある。このような条件下では、一般的な機械学習、または転移学習技術を用いても学習モデルの生成が不可能である。
【0101】
例えば、学習モデルの生成を請け負うP社が、A社が保持するデータを用いてA社の管理環境下で学習モデルM1を生成する。P社は、また、生成した学習モデルM1をベースに、B社が保持するデータを用いて、改良した最終学習モデルM2を生成したい場合がある。
【0102】
このような場合に、A社のデータはA社の管理環境下でしか取り扱えず、B社のデータはB社の管理環境下でしか取り扱えないことがある。しかしこのような場合でも、P社は学習モデルをA社の管理環境下、B社の管理環境下に持ち運ぶことで、目的とする改良した最終学習モデルM2を生成することができる。
【0103】
そこで、本実施形態のように、元タスクの学習モデルから目標タスクの学習モデルの生成に必要な重みパラメータを抽出し、抽出した重みパラメータを学習モデルのパラメータの初期値として利用した転移学習をハイパーパラメータの変更を行いながら実施する。そして、元タスクのデータと追加したラベルのデータとの双方で評価し、あらかじめ設定しておいた閾値を双方の評価結果が満たすような学習モデルを生成することで実現する。
【0104】
以上説明したように、本実施形態に係る学習モデル生成装置1によれば、転移学習部15が、元タスクの学習モデルに追加タスクのラベルを含めたモデル構造に基づいて、追加タスクの学習データとラベルとの関係を学習して、追加タスクの学習モデルを生成する。したがって、転移学習部15は、元タスクと追加タスクとの双方において、正解率が高い学習モデルを作成することができる。
【0105】
また、転移学習部15が、元タスクの学習モデルに対して、追加タスクのラベルとして出力層を追加し、最終中間層と追加した出力層との間の接続を追加したモデル構造を生成するので、さらに好適に学習モデルを生成することができる。
【0106】
また、転移学習部15が、元タスクに含まれる接続の重みパラメータを固定し、追加した接続の重みパラメータを更新しながら、追加タスクの学習データとラベルとの関係を学習して、追加タスクの学習モデルを生成するので、さらに好適に学習モデルを生成することができる。
【0107】
また、評価部19が、元タスクの学習モデルと追加タスクの学習モデルとを含んだ目標タスクの学習モデルを評価するので、さらに正解率が高い学習モデルを生成することができる。
【0108】
また、識別結果判定部19-11が、元タスクデータ識別部19-2による識別結果と、追加タスクデータ識別部19-7による識別結果とに基づいて、目標タスクの学習モデルが判定基準を満たしているか否かを判定するので、さらに好適に正解率が高い学習モデルを生成することができる。
【0109】
また、識別結果判定部19-11が、元タスクデータ識別部19-2による識別結果が第1の閾値以上であり、追加タスクデータ識別部19-7による識別結果が第2の閾値以上であるとき、目標タスクの学習モデルが判定基準を満たしていると判定するので、さらに好適に正解率が高い学習モデルを生成することができる。
【0110】
<ソフトウェアによる実現例>
学習モデル生成装置1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に、学習部12、転移学習部15、評価部19)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0111】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0112】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0113】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0114】
〔まとめ〕
本発明の態様1に係る学習モデル生成装置は、
元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する学習部と、
前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する転移学習部と、を備える。
【0115】
本発明の態様2に係る学習モデル生成装置は、態様1に記載の学習モデル生成装置であって、
前記転移学習部は、
前記元タスクの学習モデルに対して、前記追加タスクのラベルに対応するノードを出力層に追加し、
最終中間層と前記追加したノードとの間の接続を追加した前記モデル構造を生成する。
【0116】
本発明の態様3に係る学習モデル生成装置は、態様2に記載の学習モデル生成装置であって、
前記転移学習部は、
前記元タスクに含まれる接続の重みパラメータを固定し、前記追加した接続の重みパラメータを更新しながら、前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する。
【0117】
本発明の態様4に係る学習モデル生成装置は、態様1~3のいずれかに記載の学習モデル生成装置であって、
前記学習モデル生成装置はさらに、前記元タスクの学習モデルと前記追加タスクの学習モデルとを含んだ目標タスクの学習モデルを評価する評価部を備える。
【0118】
本発明の態様5に係る学習モデル生成装置は、態様4に記載の学習モデル生成装置であって、
前記評価部は、
前記目標タスクの学習モデルに基づいて前記元タスクの評価データを識別する元タスクデータ識別部と、
前記目標タスクの学習モデルに基づいて前記追加タスクの評価データを識別する追加タスクデータ識別部と、
前記元タスクデータ識別部による識別結果と、前記追加タスクデータ識別部による識別結果とに基づいて、前記目標タスクの学習モデルが判定基準を満たしているか否かを判定する識別結果判定部とを含む。
【0119】
本発明の態様6に係る学習モデル生成装置は、態様5に記載の学習モデル生成装置であって、
前記識別結果判定部は、
前記元タスクデータ識別部による識別結果が第1の閾値以上であり、
前記追加タスクデータ識別部による識別結果が第2の閾値以上であるとき、前記目標タスクの学習モデルが判定基準を満たしていると判定する。
【0120】
本発明の態様7に係る学習モデル生成方法は、
元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成し、
前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成し、
当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する。
【0121】
本発明の態様8に係るプログラムは、
コンピュータに、
元タスクの学習データとラベルとの関係を学習して、当該元タスクの学習モデルを生成する処理と、
前記元タスクの学習モデルに基づいて、当該元タスクの学習モデルに追加タスクのラベルを含めたモデル構造を生成する処理と、
当該モデル構造に基づいて前記追加タスクの学習データとラベルとの関係を学習して、当該追加タスクの学習モデルを生成する処理と、を実行させる。
【0122】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0123】
1、100 学習モデル生成装置
11、110 元タスク学習データ格納部
12、120 学習部
12-1、121 元タスク学習データ入力部
12-2、122 元タスクモデル学習部
12-3、123 元タスク学習モデル出力部
13、130 元タスク学習モデル格納部
14 追加タスク学習データ格納部
15、150 転移学習部
15-1 元タスク学習モデル入力部
15-2 追加タスク学習データ入力部
15-3 追加タスクモデル転移学習部
15-4 追加タスク学習モデル出力部
16、160 目標タスク学習モデル格納部
17、170 目標タスク評価データ格納部
18 追加タスク評価データ格納部
19、180 評価部
19-1 元タスク評価データ入力部
19-2 元タスクデータ識別部
19-3 元タスク識別結果出力部
19-4 元タスク識別結果格納部
19-5、181 目標タスク学習モデル入力部
19-6 追加タスク評価データ入力部
19-7 追加タスクデータ識別部
19-8 追加タスク識別結果出力部
19-9 追加タスク識別結果格納部
19-10 識別結果入力部
19-11 識別結果判定部
19-12 判定結果出力部
20 判定結果格納部
140 目標タスク学習データ格納部
182 目標タスク評価データ入力部
183 目標タスクデータ識別部
184 目標タスク識別結果出力部
190 目標タスク識別結果格納部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15