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

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

▶ 株式会社日立ハイテクノロジーズの特許一覧

<>
  • 特開-機械学習システム 図1
  • 特開-機械学習システム 図2
  • 特開-機械学習システム 図3
  • 特開-機械学習システム 図4
  • 特開-機械学習システム 図5
  • 特開-機械学習システム 図6
  • 特開-機械学習システム 図7
  • 特開-機械学習システム 図8
  • 特開-機械学習システム 図9
  • 特開-機械学習システム 図10
  • 特開-機械学習システム 図11
  • 特開-機械学習システム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022178892
(43)【公開日】2022-12-02
(54)【発明の名称】機械学習システム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221125BHJP
   G06N 3/08 20060101ALI20221125BHJP
【FI】
G06N20/00
G06N3/08
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021086000
(22)【出願日】2021-05-21
(71)【出願人】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】石川 昌義
(72)【発明者】
【氏名】小松 壮太
(72)【発明者】
【氏名】安部 雄一
(72)【発明者】
【氏名】池田 光二
(57)【要約】
【課題】転移学習時の性能を向上させることが容易な機械学習システムを提供する。
【解決手段】与えられたデータセットと、与えられた事前学習モデルを用いて、事前学習モデルのパラメータを利用し学習を行い、学習済みモデルを出力する転移学習を行う機械学習システムであって、データセットを1つ以上保存するデータセット記憶部と、前記データセット記憶部に保存したデータセットを用いて学習を行い前記事前学習モデルを生成し,生成した前記事前学習モデルを事前学習モデルデータベースに保存する第一の学習部を備えて、前記データセット記憶部は、保存するデータセットに含まれるデータの対象物を示すドメイン情報、データに含まれるクラスを示すクラス情報、データの取得条件に関するデータ取得条件情報の内何れか1つ以上によって構成されるタグ情報と、データセットを関連付けて記憶することを特徴とする機械学習システム。
【選択図】図3
【特許請求の範囲】
【請求項1】
与えられたデータセットと、与えられた事前学習モデルを用いて、事前学習モデルのパラメータを利用し学習を行い、学習済みモデルを出力する転移学習を行う機械学習システムであって、
データセットを1つ以上保存するデータセット記憶部と、前記データセット記憶部に保存したデータセットを用いて学習を行い前記事前学習モデルを生成し,生成した前記事前学習モデルを事前学習モデルデータベースに保存する第一の学習部を備えて、
前記データセット記憶部は、保存するデータセットに含まれるデータの対象物を示すドメイン情報、データに含まれるクラスを示すクラス情報、データの取得条件に関するデータ取得条件情報の内何れか1つ以上によって構成されるタグ情報と、データセットを関連付けて記憶することを特徴とする機械学習システム。
【請求項2】
請求項1に記載の機械学習システムであって、
前記データセット記憶部に保存するデータセットについて、複数のデータセットを統合し統合データセットとして出力するデータセット統合部を有し、
前記データセット統合部は、指定されたデータセットもしくは指定されたタグ情報に該当するデータセットを、前記データセット記憶部から取得及び統合し、統合データセットとして前記第一の学習部に出力することを特徴とする機械学習システム。
【請求項3】
請求項2に記載の機械学習システムであって、
前記第一の学習部は、前記統合データセットを用いて自己教示学習による事前学習を行い、前記事前学習モデルを前記事前学習モデルデータベースに出力することを特徴とし、
前記事前学習モデルデータベースは、前記第一の学習部で学習に用いた前記統合データセットで利用したデータセットに関する情報、もしくは前記統合データセットで利用したタグ情報とを前記事前学習モデルと関連付けて、保存することを特徴とする機械学習システム。
【請求項4】
請求項3に記載の機械学習システムであって、
前記データセット記憶部に格納されたデータセット間の類似度を評価するデータセット関連性評価部を有することを特徴とする機械学習システム。
【請求項5】
請求項4に記載の機械学習システムであって、
前記事前学習モデルデータベースに保存されている前記事前学習モデルと、与えられたデータセットを利用して転移学習を行い学習済みモデルを出力する第二の学習部を備え,
前記第二の学習部は、事前学習モデルの出力層のみを学習することを特徴とする機械学習システム。
【請求項6】
請求項5に記載の機械学習システムであって、
前記第二の学習部は準ニュートン法もしくは自然勾配法及びその拡張によって学習を行うことを特徴とする機械学習システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習によるデータ処理を行う機械学習システムに係り、特に新しいデータセットに対して高速、高精度に機械学習モデルを構築するために有効な機械学習システムに関する。
【背景技術】
【0002】
データ処理を行う機械学習技術、特に深層学習と呼ばれる多層のニューラルネットワークでは、過去の学習モデルや学習データを利用して新しいデータセットでの性能向上を図る転移学習と呼ばれる手法が頻繁に用いられる。
【0003】
例えば、特許文献1では転移学習を効率的に実施するために、新規データセットにおいて学習済みニューラルネットワークの出力層の値と新規データセットのクラスとの関係を評価することで、評価項目のクラスとの差分が最も小さい評価値が取得された頻度がより高い出力ユニットを優先的に割り当てる点について記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016-143094号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、学習済みのニューラルネットワークの出力ユニットに新規データセットのクラスを適切に割り当てることで転移学習に適したシステムを提供している。しかしながら、転移学習は事前に学習に用いたデータセットの性質に強く依存するため転移学習の効果が得られづらい場合が存在する。
【0006】
第一に、事前に学習したクラス数より新規に学習するデータセットのクラス数が大きい場合は、特許文献1で提供される方法は利用できない。
【0007】
第二に事前に学習していないクラスに関しては正しく性能を得ることが難しい。例えば金槌や釘等の道具に関するクラスしか学習していない場合は、犬や猫といった動物に関するクラスの認識に必要な情報を十分抽出することが難しい。
【0008】
第三に新規データセットのクラス粒度が学習済みモデルより細分化されている場合でも新規クラスの認識に必要な情報を抽出することが難しい。例えば、事前学習では犬や猫といった動物の種別の認識を行った上で新規データセットでは犬の種別の細分化を行うケースでは、学習済みモデルでは新規データセットの多くが元のデータセットでは犬という単一クラスに分類されているため類似の特徴量が抽出される可能性が高く、転移学習による効果を得られづらい。
【0009】
第四に事前の学習に用いたデータセットと異なるタスクでは機械学習モデルの大部分を初期化して学習する必要がある。例えば事前学習で画像分類を行った後に新規データセットで物体検出を行う場合では、転移学習時に事前の学習モデルに加え多くのニューラルネットワークの層を追加し学習する必要があり、学習が長期化する場合がある。
【0010】
以上より転移学習を行う場合には事前の学習に用いるデータセット及び学習タスクによって新規データセットでの性能が大きく変化する。そのため、本発明の目的は、適切な事前学習モデルを行い、転移学習時の性能を向上させることが容易な機械学習システムを提供することである。
【課題を解決するための手段】
【0011】
与えられたデータセットと、与えられた事前学習モデルを用いて、事前学習モデルのパラメータを利用し学習を行い、学習済みモデルを出力する転移学習を行う機械学習システムであって、データセットを1つ以上保存するデータセット記憶部と、データセット記憶部に保存したデータを用いて学習を行い、事前学習モデルデータベースを生成する学習部を備えて、事前学習モデルデータベースのデータにより事前学習モデルとするとともに、データセット記憶部は、保存するデータセットに含まれるデータの対象物を示すドメイン情報、データに含まれるクラスを示すクラス情報、データの取得条件に関するデータ取得条件情報の1つ以上によって構成されるタグ情報と、データセットを関連付けて記憶することを特徴とする機械学習システム。
【発明の効果】
【0012】
本発明によれば、転移学習により機械学習モデルを取得する機械学習システムにおいて、適切な事前学習モデルの構成を容易にし、新規データセットでの学習において高精度化、高速化を実現することができる。
【0013】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0014】
図1】多層ニューラルネットワークの構成例を示す図。
図2】転移学習の構成例を示す図。
図3】本発明の実施例1に係る機械学習システムの構成例を示す図。
図4】本発明の実施例1に係る機械学習システムの挙動を示すフローチャート。
図5】データセット記憶部の構成を示す図。
図6】事前学習モデルデータベースの構成を示す図。
図7】データセット関連性評価部の構成を示す図。
図8】データセット関連性評価部の動作を示すフローチャート。
図9】ユーザインタフェースを含めた本発明の実施例1に係る機械学習システムの構成を示すブロック図。
図10】データセット統合部にかかるユーザインタフェースを示す図。
図11】学習部にかかるユーザインタフェースを示す図。
図12】実施例2における学習部の動作を示すフローチャート。
【発明を実施するための形態】
【0015】
以下、図面を用いて本発明の実施例を説明する。なお、重複する部分についてはその詳細な説明は省略する。
【0016】
本発明の実施例の説明に入る前に、本発明を適用する前提となる転移学習機能の構成について、図1図2を用いて説明しておく。
【0017】
まず図1は、深層学習と呼ばれる多層ニューラルネットワークの構成例を示している。図1に示すように、深層学習のモデルは複数の層によって構成されている。これはデータを入力される入力層、入力されたデータおよび他の荷重層の出力から特徴抽出を行う荷重層、抽出された特徴量を用いて処理結果である出力を行う出力層である。本発明では出力層の前にある1つ以上の層を指して特徴抽出層と呼ぶ。
【0018】
図2は、転移学習の構成例を示している。転移学習では、与えられたデータセット201と与えられた事前学習モデル202を用いて、学習部203で事前学習モデルのパラメータを利用し学習を行い、学習済みモデル204を出力する。
【0019】
このような構成の転移学習において転移学習による効果を大きくするためには、学習対象であるデータセット201よりも、クラス数が多い、あるいはデータセット201に含まれるクラスと類似のクラスを含む、もしくはクラス粒度が細分化されているデータセットで事前学習モデル202を学習しておく必要がある。
【0020】
しかしながら、そのような事前学習モデル202用のデータセットの構成は、工数が大きく一般に難しい。また、複数のデータセットを結合する場合であっても、データセット毎にタスクが異なる場合では、単純に結合することができない。例えば画像分類と物体検出では、アノテーションの形式が異なるため、単純にデータセットを統合することは難しい。
【0021】
また、タスクが同一であっても単純に結合するだけでは、転移学習による効果を得られない。たとえば、犬種を分類するような画像分類モデルを学習する場合に、顕微鏡による試料観察による画像分類を事前に行っても転移学習による効果は薄い。
【0022】
本発明はこのような状況を鑑みたものであり、複数のデータセットを効率的に管理し、適切なデータセットにより適切な事前学習を容易に行うための機械学習システムを提供するものである。
【実施例0023】
以下、図1図2に示した転移学習の構成において、事前学習モデル202用のデータセットを簡便に確保することができる機械学習システムについて説明する。
【0024】
本発明の実施例1に係る機械学習システムの構成例を図3に示す。図3の機械学習システムは、データセット記憶部301、データセット統合部302、自己教示学習部303、事前学習モデルデータベース304によって構成され、事前学習モデルデータベース304に蓄積されたデータが図2の事前学習モデル用のデータセットとして事前学習に使用される。
【0025】
図3においてデータセット記憶部301は、複数のデータセットを各データセットのドメインやデータクラス、データ取得条件等によるタグ情報と関連付けて保存する。
【0026】
ここでドメインとは、動物や自然物、人工物といったデータの対象物を示す。これは例えば物品検査の場合では、工業製品や医療画像や半導体画像といった検査対象情報や、細胞検査やエッチング工程等の更に下位の検査工程に関する情報である。
【0027】
データクラスとは、各データに含まれるクラス情報である。これは例えば犬や猫といった前記ドメインに含まれるクラスに関する情報であり、検査工程の場合は検査したい細胞や細菌の種別であったり、欠陥種別であったりする。
【0028】
データ取得条件とは、データセットに含まれるデータの取得条件に関する情報である。これは例えば光学カメラ、光学顕微鏡、電子顕微鏡、レーダ、赤外線、X線、音響などデータ取得装置に関する情報であり、あるいは倍率や露光時間、解像度、積算数、サンプリング周波数といった取得条件に関するものである。
【0029】
図4は、図3に示した本発明の実施例1に係る機械学習システムの挙動を示すフローチャートである。図4の一連の処理においてはまず、データセット統合部302の処理に相当する処理ステップS401において、指定されたデータセットもしくは指定されたタグ情報に該当するデータセットを、データセット記憶部301から取得する。また引き続いてデータセット統合部302の処理に相当する処理ステップS402では、データセット記憶部301から取得したデータセットを統合し、統合データセットを作成する。
【0030】
ここでデータセットの統合とは、処理ステップS401で取得した複数のデータセットから入力データのみを抽出し、より大きなデータセットとすることである。これにより例えば、2つのデータセットA及びデータセットBが処理ステップS401で取得された場合には、統合後の統合データセットに含まれるデータの数はデータセットAに含まれるデータの数とデータセットBに含まれるデータの数の和となる。この際、データセットAとデータセットBの両方に含まれるデータが存在する場合には、重複を避けてユニークなデータの数が統合データセットに含まれるデータの数となるようにしてもよい。
【0031】
この際、処理ステップS401で取得したデータセットに含まれる教示情報を利用しない手法を自己教示学習部303で利用することで、処理ステップS401で取得した複数のデータセットに含まれる教示情報の形式やクラス粒度が異なる場合でも処理ステップS401で取得した複数のデータセットを統合した統合データセットを容易に作成できる。
【0032】
なお、ここで教示情報の形式とは、例えば画像分類の場合では画像に対してクラス名やクラス番号等のクラス情報で構成され、物体検出の場合では画像に対して物体が映っている位置情報とクラス情報が紐づけられた情報で構成され、セグメンテーションの場合では各ピクセルに関連付けられたクラス情報やインスタンス情報で構成されるように、各データセットのタスク毎に異なる場合がある。
【0033】
また、ノイズ除去等の画像変換タスクや画像からの深度推定などの3次元再構成タスク等の場合では、クラス情報が与えられないものも含まれる。また、データセットによっては教示情報が存在しない場合でも本発明は教示情報を利用しないため利用できる。
【0034】
また、取得した複数のデータセットの教示情報を利用してデータセットの統合方法を変更してもよい。例えば異常データの分類の場合では発生しやすい異常と稀にしか発生しない異常が存在する等の理由で、一つのデータセット内でクラス毎にデータ数が異なるデータインバランスは頻繁に発生する。このような場合では、事前学習時に各クラスができるだけ当確率で利用されるように統合データセットを構成してもよい。すなわち統合データセットにおける各データのサンプリング確率を変更し、あるいは各クラスのデータがおおよそ同数になるように調整してから統合データセットとして統合してもよい。
【0035】
次に自己教示学習部303の処理に相当する処理ステップS403では、処理ステップS402で作成された統合データセットを用いて自己教示学習を行う。ここで自己教示学習の対象となるニューラルネットワークのネットワーク構造及び学習条件は事前に設定されている。
【0036】
ここで自己教示学習とは、例えばSimCLR(非特許文献;Tien Chen、Simon Kornblith、Mohammad Norouzi、Geoffrey Hinton、 A Simple Framework for Contrastive Learning of Visual Represetations、International Conference on Machine Learning、2020。)による学習である。
【0037】
SimCLRは、学習するデータセットに含まれるデータに対して異なる2つのランダムな変換を適用したのちに、同一の画像と2つのランダムな変換で得られた画像同士は同じ特徴量になるように、異なる画像からランダムな変換で得られた画像同士は異なる特徴量になるように学習する手法である。
【0038】
SimCLRは、データセットに含まれるすべてのデータを識別できるように学習する手法と解釈できる。つまり利用するデータセットのクラス粒度に依存せずに、最も細分化されたクラス粒度のデータセットを学習しているものと解釈できる。そのため、SimCLRによる事前学習は想定されるより難しいタスクを解く必要があるため詳細な特徴抽出層を学習することができ、新規データセットと類似のデータセットで学習する場合には適切な事前学習モデルを取得することが可能となる。
【0039】
しかしながら単純に複数のデータセットを統合し、SimCLR等の自己教示学習を行っても、適切な事前学習モデルを構成することは難しい。一般にニューラルネットワークは確率勾配降下法やその亜種によって学習される。確率勾配降下法ではデータセット全体から一部のデータをミニバッチとして取得し、ミニバッチを利用してニューラルネットワークのパラメータの更新量を計算し学習する。
【0040】
これに対し、SimCLR等の自己教示学習では、取得したミニバッチに含まれるデータ個々を識別できるように学習する。仮にデータセットのドメイン等のタグ情報を無視してデータセットを統合すると、ミニバッチが多様なドメインのデータセットで構成されるため、自己教示学習ではドメインの識別で十分にデータ個々の識別が可能となってしまいデータセットを統合する効果が薄れる。
【0041】
これは例えば、犬、猫といった一般物体を光学カメラで撮像した画像によるデータセットと顕微鏡による試料観察のデータセットを統合しミニバッチが一般物体画像と顕微鏡画像で構成された場合には、両者の持つ画像特徴が大きく異なるため簡単な情報で両者を識別できてしまうということである。このような場合にはドメイン情報の識別のみできれば学習時の損失関数の値は小さくなってしまう。そのため、処理ステップS401で取得するデータセットは、類似のドメインのデータであることが望ましい。
【0042】
反対に複数のドメインのデータセットを統合しないように単一のデータセットのみで自己教示学習を行うことも自己教示学習による事前学習の効果を低くしてしまう。例えば事前学習を行うデータセットに含まれるデータの数が少ない場合でも比較的簡単な特徴のみでデータ個々の識別が可能となってしまう。
【0043】
以上の観点から自己教示学習部303で行う事前学習に用いるデータセットは限定されたタグ情報によって構成され、且つ可能な限り多くのデータが含まれることが望ましい。なお、SimCLRによる構成を記載したが、他の自己教示学習手法を利用してもよい。
【0044】
また自己教示学習部303の処理に相当する処理ステップS404では、処理ステップS403で自己教示学習によって得られた事前学習モデルのパラメータをネットワーク構造、学習条件、及び処理ステップS402で作成した統合データセットで利用したデータセットに関する情報と併せて事前学習モデルデータベース304に格納する。
【0045】
このような構成によって、本発明では複数のデータセットを効率的に管理し、適切なデータセットにより適切な事前学習を容易に行うための機械学習システムを提供できる。すなわち、データセット記憶部301で各データセットをタグ情報と関連付けて記憶し、指定された1つ以上のタグ情報によってデータセットを取得および統合することで統合データセットを構成し、新規タスクより難しいと想定される自己教示学習によって詳細な特徴抽出が可能なニューラルネットワークの事前学習を行うシステムである。
【0046】
この際、データセットをタグ情報と関連付けて管理することで自己教示学習に適切なデータセットを構成できる。すなわち、タグ情報を利用することで限定されたドメイン情報やデータクラス、データ取得条件で可能な限り大きなデータセットを構成することで、自己教示学習でより詳細な特徴抽出層を学習させることが可能となる。
【0047】
このような構成によれば、製造工程中に存在する複数の検査工程に利用する場合には、複数の検査工程のデータセットを統合し事前学習を行っておくことで新規の検査工程での転移学習を効率的に実施することが可能となる。
【0048】
図5に本発明で用いるデータセット記憶部301のデータ構成例を示す。データセット記憶部301には、複数のデータセット502(図示の例では502A、502B)が記憶されている。各データセット502A、502Bには、データセット特定情報が割り振られる。これは図5中502A、502Bのようにデータセット個別に割り振られる。これはデータセットの名称であったり、ユニークな文字列または数字列であったり、データセットの名称、ユニークな文字列、作成日時、登録日時、バージョン情報等で構成される情報である。
【0049】
各データセット502A、502Bは、入力データ503、教示情報504、データセット形式情報505、タグ情報506、作成情報507を含んで構成され、これらは相互に関連付けて格納される。またこれらはデータセット毎に格納される。すなわち図5で示すように、データセットA、データセットBそれぞれに対して入力データ503A、503B、教示情報504A、504B、データセット形式情報505A、505B、タグ情報506A、506B、作成情報507A、507Bをデータセット毎に作成する。
【0050】
まず入力データ503は、各データセット502に含まれる入力データである。例えば観察対象物を画像撮影した時の画像、或は加工後の画像がこれに相当する。
【0051】
教示情報504は、各データセット502に含まれる入力データに対応する教示情報である。これは特定のルールによって各入力データとの対応がわかるように構成される。また、教示情報の存在しないデータセットの場合には教示情報504はなくともよい。
【0052】
データセット形式情報505は、データセット502の形式に関する情報を格納する。これは例えばデータセットが画像分類の形式なのか、物体検出の形式なのか、のようなデータセットのタスクに関する情報またはタスクに依存したデータセットの保存形式に関する情報である。このデータセット形式情報505によって入力データ503と教示情報504の対応がわかるように構成されてもよい。また、ステップS402で統合データセットを統合する際に各データのクラス情報等を参照する場合にはこのデータセット形式情報504を利用してもよい。
【0053】
タグ情報506は、各データセット502のドメインやデータクラス、データ取得条件等によるタグ情報である。データセットに含まれるデータの対象物を示すのがドメイン情報であり、データに含まれるクラスを示すのがクラス情報であり、データの取得条件に関するのがデータ取得条件情報である。
【0054】
作成情報507は、データセット502を作成した際に付与される情報である。例えばデータセットを作成した日付や日時に関する情報であり、あるいはデータセットのバージョン情報である。ここでデータセット502のバージョン情報にはデータセットに対して行われた特定の処理を特定する情報を含めてもよい。これは例えば、特定の前処理を適用済みであることであったり、複数人による教示情報の確認済みであることであったりする。
【0055】
データセット記憶部301は、作成情報507を用いてデータセット記憶部301内に同一のデータセットで異なる作成日時やバージョン情報を持つデータセットが複数含まれる場合には、事前に設定されたルールに基づいてデータセット統合部302にデータを出力する。ここで事前に設定されたルールとは最新のデータセットを出力する、特定の文字列がバージョン情報に含まるものを出力する、等である。
【0056】
このようにデータセット記憶部301には、種々の情報が記憶されるが、ここで本発明は要するに、データセット記憶部301に、データセットとタグ情報506を関連付けて記憶したものであり、この場合にデータセットは入力データ503と教示情報504により構成され、タグ情報506は入力データ503に含まれるデータの対象物を示すドメイン情報と、データに含まれるクラスを示すクラス情報と、データの取得条件に関するデータ取得条件情報の1つ以上によって構成したものということができる。さらにデータセットは、観察対象物から入手される情報であり、タグ情報は利用者が観察対象物の状況に応じて適宜人為的な入力により形成される人的情報であるという点での相違がある。
【0057】
図6は、図3の事前学習モデルデータベース304内のデータ構成例を示す図である。事前学習モデルデータベース304は、モデル情報601、利用データセット情報602、ネットワーク構造603、パラメータ604、学習条件605によって構成される。
【0058】
このうちモデル情報601(601A、601B)は、モデル毎に割り振られる情報である。これはモデルの名称であったり、ユニークな文字列または数字列であったり、モデルの名称、ユニークな文字列、作成日時、登録日時、バージョン情報等で構成される情報である。図6に示すように、モデルA601A、モデルB601Bのように、複数のモデルに対して個別に割り振られる。
【0059】
また、利用データセット情報602、ネットワーク構造603、パラメータ604、学習条件605は、モデル情報601毎に管理する。すなわちモデルA(601A9、モデルB(601B)のそれぞれに対して、利用データセット情報602A、602B、ネットワーク構造603A、603B、パラメータ604A、604B、学習条件605A、605Bが付与されて格納される。
【0060】
利用データセット情報602には、各事前学習モデル202を学習する際に、データセット統合部302で統合したデータセット及び統合条件に関する情報が格納される。これは例えば、統合したデータセットに関するデータセット特定情報であったり、指定されたタグ情報506であったりする。利用者は新規データセットで転移学習を行う際には、各モデルに紐づけられている利用データセット情報602を参照することで各モデルが学習したタグ情報を確認し、新規データセットの学習に適切な事前学習モデルを選択することが可能となる。
【0061】
ネットワーク構造603には、各モデルの持つネットワーク構造に関する情報を保存される。ネットワーク構造は認識精度や処理時間に影響するため利用者はネットワーク構造603を確認することで新規データセットの要件を満たすネットワーク構造を持つモデルを選択することが可能となる。
【0062】
パラメータ604には、自己教示学習部303で学習した事前学習モデルのパラメータが保存される。利用者はこのパラメータを利用することで効率的な転移学習を実現できる。
【0063】
学習条件605には、自己教示学習部303での事前学習に利用した際の学習条件が保存される。これは例えばパラメータの更新回数であり、あるいはバッチサイズ、学習率及び学習率スケジュール、利用した確率勾配降下法の手法などに関する情報である。
【0064】
また、データセット統合部302で統合するデータセットを効率的に選択するために、データセット記憶部301に記憶されているデータセット同士の関連性を評価し、類似した特徴を持つデータセットを統合してもよい。
【0065】
図7にデータセット同士の関連性を評価するデータセット関連性評価部701の構成を、図8にデータセット関連性評価部701の処理フローを示す。
【0066】
図7のデータセット関連性評価部701は、各データセットに含まれるデータがどの程度類似しているかを評価する。図3の自己教示学習部303での事前学習では類似しているデータセットを多く統合することが重要であるため、あらかじめデータセット同士の類似度を評価しておくことで効率的な事前学習を行うことが可能となる。
【0067】
図8のデータセット同士の関連性を評価する処理フローにおいては、まず処理ステップS801で、データセット関連性評価部701はデータセット記憶部301に保存されているデータセットを取得する。ここでは各データセットに関連付けてあるタグ情報506を利用して、特定のタグ情報をもつデータセットのみを取得してもよいし、反対にタグ情報による限定を行わずに取得してもよい。
【0068】
処理ステップS802では、データセット関連性評価部701は処理ステップS801で取得したデータセットを利用して自己教示学習を行う。ここで行う自己教示学習は自己教示学習部303で利用する自己教示学習と同一であってもよいし異なる手法であってもよい。
【0069】
処理ステップS803では、データセット関連性評価部701は処理ステップS802での自己教示学習により得られた機械学習モデルを用いて処理ステップS801で取得したデータセットに含まれるデータに対して特徴抽出を行う。
【0070】
処理ステップS804では、データセット関連性評価部701は処理ステップS803で得られた特徴量を用いて、データセット毎の特徴量の類似度を評価する。ここでデータセット毎の特徴量の類似度の評価は、データセット毎の特徴量の平均値同士のユークリッド距離やコサイン距離などの距離関数によって得られる距離から求められる値やデータセット毎の特徴量の分布間のカルバック・ライブラ情報量等の情報量によって記述される情報量の値から求められる値でもよい。
【0071】
このようにデータセット関連性評価部701は、複数のデータセットを統合して自己教示学習を行った際に得られるデータセット毎の特徴量の関係を評価することでデータセット同士がどの程度類似しているかといった関連性を評価することができる。利用者はこの情報を用いて適切にデータセット統合部302で統合するデータセットを選択することが可能となる。
【0072】
図9に、ユーザインタフェース901を含めた本発明の構成例を示す。この図9において、データセット201と、事前学習モデル202と、学習部203と学習済みモデル204による構成部分が、図1に示した本発明が適用可能な一般的な構成の転移学習機構である。
【0073】
これに対し、データセット記憶部301、データセット統合部302、自己教示学習部303、事前学習モデルデータベース304による構成部分が、図3に示した本発明による事前学習モデル用のデータセット作成機構である。またデータセット記憶部301と、データセット関連性評価部701による構成部分が、図7に示したデータセット関連性評価機構である。
【0074】
ユーザインタフェース901により、これらの各機構が有機的に結合され、利用者による各種の設定、操作指示、結果確認などが行われる。具体的には例えば、利用者はユーザインタフェース901を利用してデータセット統合部302で統合するデータセットの選択や学習部203で用いる事前学習モデル202の選択を行うことが可能である。
【0075】
図10に事前学習の設定に関するユーザインタフェースとしての表示画面例を示す。事前学習の設定で使用される画面構成例としては、情報表示部分としてデータセットフィルタ部1001、データセット選択部1002、データセット関連性表示部1003を備え、ボタン操作などの操作指示部として、学習手法選択部1004、ネットワーク構造選択部1005、学習開始部1006を備えて、構成される。
【0076】
この画面により利用者は、事前学習に用いるデータセットの選択と自己教示学習部203で使用する自己教示学習の学習手法やネットワーク構造の選択が可能となる。
【0077】
データセットフィルタ部1001では、利用者は事前学習を行いたいドメインやデータクラス、データ取得条件等のタグ情報を入力することで、データセット選択部1002やデータセット関連性表示部1003に表示されるデータセットを操作することができる。これにより無関係なデータセットを表示させずに効率的に利用するデータセットを選択することが可能となる。
【0078】
データセット選択部1002では、各データセットが関連付けられているタグ情報506と併せて表示され、利用者は事前学習に利用するデータセットを選択することができる。また、データセットの簡単な説明をデータセット記憶部301にデータセットと関連付けて保存しておくことで、データセット選択部1002に表示してもよい。
【0079】
データセット関連性表示部1003は、データセット関連性評価部701で評価した各データセットの特徴量を2次元ないしは3次元にマッピングした値を表示する。ここでデータセットの特徴量を2次元ないしは3次元にマッピングは例えば多様体学習等によって実現される。
【0080】
データセット毎に表示するマークを変えることで、データセット同士の特徴量の類似度の確認を利用者にとって容易にする。例えば図10の例ではデータセット関連性表示部1003-aに3つのデータセットの特徴量が表示されており、丸印で示したデータセット1に関する特徴量と三角印で示したデータセット3に関する特徴量は近い領域に存在しているがひし形印で示したデータセット2に関する特徴量はデータセット1およびデータセット3から離れた領域に存在している。このような場合には利用者はデータセット1を利用すると決めていれば類似するデータセットがデータセット3であることが容易に特定でき、統合可否の検討を容易に実施できる。
【0081】
なお、各特徴量の印とあわせて各データのサムネイルを表示してもよい。また、データセット関連性評価部701で評価したデータセット同士の類似度をデータセット関連性表示部1003-bのように表形式で表示することで類似しているデータセットを利用者に提示してもよい。
【0082】
学習手法選択部1004では、利用者は自己教示学習部203で使用する自己教示学習の学習手法及び学習条件を選択できる。
【0083】
ネットワーク構造選択部1005では、利用者は自己教示学習部203で使用する事前学習モデルのネットワーク構造を選択できる。
【0084】
学習開始部1006では、利用者が学習開始を支持した場合に、データセット選択部1002で選択されたデータセット、学習手法選択部1003で選択された学習手法及び学習条件、ネットワーク構造選択部1005で選択されたネットワーク構造を用いて事前学習が行われ事前学習モデルデータベース304に事前学習モデルが格納される。
【0085】
図11に転移学習を行う際のユーザインタフェースとしての表示画面例について示す。
【0086】
転移学習で使用される画面構成例としては、情報表示部分として学習データ選択部1101、学習データセットタグ表示部1102、推奨モデル表示部1103を備え、ボタン操作などの操作指示部として、事前学習モデル選択部1104、学習条件設定部1105、学習開始部1106を備えて、構成される。
【0087】
学習データ選択部1101では、利用者は学習対象のデータセット201を選択する。これは新規に登録してもよいし、事前にデータセット記憶部301に保存しておいてもよい。
【0088】
学習データセットタグ表示部1102では、学習対象のデータセット201に関するタグ情報を表示する。これは学習データ選択部1101で選択された学習対象のデータセット201が新規の場合にはユーザによって入力させてもよいし、事前にデータセット記憶部301に保存されている場合はデータセット記憶部301に保存されているタグ情報506を表示してもよい。
【0089】
推奨モデル表示部1103では、データセット関連性評価部701の評価結果から推奨されるモデルを表示する。これは該当するものがない場合は表示しなくてもよいし、複数存在する場合は複数表示してもよいし、最も推奨されるもの等特定の条件で表示するものを限定してもよいし、推奨度の順で表示してもよい。
【0090】
ここで各モデルの推奨度とは、学習データ選択部1101で選択されたデータセットに関してデータセット関連性評価部701で自己教示学習によるモデルによって得られた特徴量と、各事前学習モデルの学習に利用したデータセット602で得られた特徴量との類似度である。類似度の高いデータセットで学習されたデータセットは転移学習においても有効である。
【0091】
事前学習モデル選択部1104では、利用者は転移学習に利用する事前学習モデル202を事前学習モデルデータベース304から選択できる。ここでは事前学習モデルデータベース202に保存されているモデル情報601、利用データセット情報602、ネットワーク構造603等が表示される。また、既に転移学習による評価を実施している場合には正答率等の評価指標を合わせて表示してもよい。
【0092】
学習条件設定部1105では、利用者は転移学習時の学習条件を設定できる。
【0093】
学習開始部1106が利用者によって選択された際には、選択されたデータセット201、事前学習モデル202、学習条件を用いて転移学習が実行される。
【実施例0094】
実施例1で示した本発明によれば、データセット記憶部301に新規のデータセット201に含まれるデータを十分網羅するデータセットが含まれていれば、特徴抽出層は事前学習で十分に学習が完了している場合がある。このような場合には出力層のみ新規に学習すれば高速に高精度な学習済みモデル204を取得できる。
【0095】
本実施例ではこのような場合において更に転移学習時の学習を高速するための構成について記載する。
【0096】
通常ニューラルネットワークの学習には確率勾配降下法が用いられるが、確率勾配降下法は収束までに必要なパラメータ更新回数が多い。そのためより少ないパラメータ更新回数で収束する準ニュートン法や自然勾配法やその亜種等の最適化法を利用することで学習を高速化できる。
【0097】
図12に出力層のみをより高速に学習する場合のフローを記載する。図12の最初の処理ステップS1201では、学習部203は事前学習モデル202からネットワーク構造603とパラメータ604を読み込む。
【0098】
処理ステップS1202では、学習部203はデータセット201からデータを取得する。
【0099】
処理ステップS1203では、学習部203は読み込んだ事前学習モデル202の特徴抽出層を利用して処理ステップS1202から取得したデータから特徴量を抽出する。
【0100】
処理ステップS1204では、学習部203は取得したデータと特徴量を一時記憶する。
【0101】
処理ステップS1205では、学習部203はデータセット201の全てのデータに対して特徴抽出が完了したか確認し、完了していない場合では処理ステップS1202に戻り、完了している場合には処理ステップS1206へ進む。
【0102】
処理ステップS1206では、学習部203一時記憶したデータと特徴量を利用して出力層のパラメータを決定する。これは抽出した特徴量と関連するデータに含まれる教示情報を利用してL-BFGS法等の準ニュートン法や自然勾配法などで出力層を学習する。
【0103】
処理ステップS1207では、学習部203は処理ステップS1206で決定した出力層のパラメータを事前学習モデル202のネットワーク構造603と特徴抽出層のパラメータ604と併せて学習済みモデル204として出力する。
【0104】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施例は本発明に対する理解を助けるために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【0105】
201…データセット
202…事前学習モデル
203…学習部
204…学習済みモデル
301…データセット記憶部
302…データセット統合部
303…自己教示学習部
304…事前学習モデルデータベース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12