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

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

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

特開2023-104067機械学習システムおよび機械学習方法
<>
  • 特開-機械学習システムおよび機械学習方法 図1
  • 特開-機械学習システムおよび機械学習方法 図2
  • 特開-機械学習システムおよび機械学習方法 図3
  • 特開-機械学習システムおよび機械学習方法 図4
  • 特開-機械学習システムおよび機械学習方法 図5
  • 特開-機械学習システムおよび機械学習方法 図6
  • 特開-機械学習システムおよび機械学習方法 図7
  • 特開-機械学習システムおよび機械学習方法 図8
  • 特開-機械学習システムおよび機械学習方法 図9
  • 特開-機械学習システムおよび機械学習方法 図10
  • 特開-機械学習システムおよび機械学習方法 図11
  • 特開-機械学習システムおよび機械学習方法 図12
  • 特開-機械学習システムおよび機械学習方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023104067
(43)【公開日】2023-07-28
(54)【発明の名称】機械学習システムおよび機械学習方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230721BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022004834
(22)【出願日】2022-01-17
(71)【出願人】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】石川 昌義
(72)【発明者】
【氏名】浅井 大輔
(72)【発明者】
【氏名】安部 雄一
(72)【発明者】
【氏名】嶺川 陽平
(72)【発明者】
【氏名】池田 光二
(57)【要約】
【課題】実際に転移学習を行うことなく、転移学習で用いる事前学習モデルを短時間で選定し得る機械学習システムおよび機械学習方法を提供する。
【解決手段】本発明の機械学習システムは、転移元のタスクをそれぞれの条件で学習して得られた事前学習モデルを複数格納する事前学習モデル記憶部から少なくとも一つの事前学習モデルを取得する事前学習モデル取得部と、転移先のタスクに関するデータセットを格納する転移学習データセット記憶部と、前記転移先のタスクに関するデータセットに対する、前記事前学習モデル取得部が取得した前記事前学習モデル毎の適合度を評価する事前学習モデル適合度評価部と、前記事前学習モデル適合度評価部の評価結果に基づき、選定された前記事前学習モデルおよび前記データセットを用いて転移学習し、その学習結果を学習済みモデルとして出力する転移学習部と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
転移元のタスクをそれぞれの条件で学習して得られた事前学習モデルを複数格納する事前学習モデル記憶部から少なくとも一つの事前学習モデルを取得する事前学習モデル取得部と、
転移先のタスクに関するデータセットを格納する転移学習データセット記憶部と、
前記転移先のタスクに関するデータセットに対する、前記事前学習モデル取得部が取得した前記事前学習モデル毎の適合度を評価する事前学習モデル適合度評価部と、
前記事前学習モデル適合度評価部の評価結果に基づき、選定された前記事前学習モデルおよび前記データセットを用いて転移学習し、その学習結果を学習済みモデルとして出力する転移学習部と、
を備える機械学習システム。
【請求項2】
請求項1に記載の機械学習システムにおいて、
前記事前学習モデルは、入力データから特徴量を抽出する特徴量抽出部と、同じ領域内では同じ意味を持つように入力データを複数の領域に分割する領域分割部と、分割された領域ごとに異なる特徴量を予測する特徴量予測部と、を有する機械学習システム。
【請求項3】
請求項2に記載の機械学習システムにおいて、
前記事前学習モデル適合度評価部は、前記領域分割部が前記データセットの入力データを領域分割した結果と、前記データセットの教示情報と、の適合度を評価する機械学習システム。
【請求項4】
請求項3に記載の機械学習システムにおいて、
前記事前学習モデルは、前記転移元のタスクを自己教示学習して得られたものである機械学習システム。
【請求項5】
請求項3に記載の機械学習システムにおいて、
前記領域分割した結果と、前記データセットの教示情報と、をあわせて表示する表示部をさらに備える機械学習システム。
【請求項6】
請求項3に記載の機械学習システムにおいて、
前記適合度は、前記領域分割した結果と、前記データセットの教示情報と、の関係を表す関数によって計算されるものであり、
前記関数は、確率密度、分割された領域の重複度合い、分割された領域ごとの特徴量の類似度、のうち少なくとも1つを利用したものである機械学習システム。
【請求項7】
請求項1に記載の機械学習システムにおいて、
前記事前学習モデル記憶部に格納された複数の事前学習モデルの中から転移学習に用いるものを選択する事前学習モデル選択部をさらに備える機械学習システム。
【請求項8】
請求項7に記載の機械学習システムにおいて、
前記事前学習モデルごとに前記適合度を表示する表示部をさらに備える機械学習システム。
【請求項9】
請求項1に記載の機械学習システムにおいて、
前記事前学習モデル適合度評価部は、前記事前学習モデルに、前記データセットの入力データを、転移学習時よりも少ない回数の順伝搬をさせることで、適合度を評価する機械学習うシステム。
【請求項10】
請求項1に記載の機械学習システムにおいて、
前記転移学習データセット記憶部には、検査工程で得られる画像を入力データとするデータセットが格納され、
前記事前学習モデル記憶部には、前記検査工程と関連するタスクを学習して得られた事前学習モデルが格納される機械学習システム。
【請求項11】
転移元のタスクを学習して得られた事前学習モデルを取得するステップと、
転移先のタスクに関するデータセットを読み込むステップと、
前記転移先のタスクに関するデータセットに対する、前記事前学習モデルの適合度を評価するステップと、
評価結果に基づき、前記事前学習モデルおよび前記データセットを用いて転移学習し、その学習結果を学習済みモデルとして出力するステップと、
を備える機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習システムおよび機械学習方法に関する。
【背景技術】
【0002】
データ処理を行う機械学習技術、特に深層学習と呼ばれる多層のニューラルネットワークでは、過去の事前学習モデルや学習データを利用して新しいデータセットでの性能向上を図る転移学習と呼ばれる手法が頻繁に用いられる。例えば、特許文献1には、転移学習を効率的に実施するために、転移学習後に、事前学習に利用したデータが転移学習に有効であったかを評価する点について記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016-191975号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術では、実際に転移学習を行った後に転移学習の有効性を評価している。しかしながら、転移学習に利用するデータセットやモデル構造の組み合わせが膨大な場合、全ての事前学習モデルに対して転移学習を行うには時間がかかる。結果として、特許文献1に記載の技術では、転移学習により新たな機械学習モデルを取得するまでに長い時間を要する可能性がある。
【0005】
本発明の目的は、実際に転移学習を行うことなく、転移学習で用いる事前学習モデルを短時間で選定し得る機械学習システムおよび機械学習方法を提供することである。
【課題を解決するための手段】
【0006】
前述の課題を解決するために、本発明の機械学習システムは、転移元のタスクをそれぞれの条件で学習して得られた事前学習モデルを複数格納する事前学習モデル記憶部から少なくとも一つの事前学習モデルを取得する事前学習モデル取得部と、転移先のタスクに関するデータセットを格納する転移学習データセット記憶部と、前記転移先のタスクに関するデータセットに対する、前記事前学習モデル取得部が取得した前記事前学習モデル毎の適合度を評価する事前学習モデル適合度評価部と、前記事前学習モデル適合度評価部の評価結果に基づき、選定された前記事前学習モデルおよび前記データセットを用いて転移学習し、その学習結果を学習済みモデルとして出力する転移学習部と、を備える。
【0007】
また、本発明の機械学習方法は、転移元のタスクを学習して得られた事前学習モデルを取得するステップと、転移先のタスクに関するデータセットを読み込むステップと、前記転移先のタスクに関するデータセットに対する、前記事前学習モデルの適合度を評価するステップと、評価結果に基づき、前記事前学習モデルおよび前記データセットを用いて転移学習し、その学習結果を学習済みモデルとして出力するステップと、を備える。
【発明の効果】
【0008】
本発明によれば、実際に転移学習を行うことなく、転移学習で用いる事前学習モデルを短時間で選定し得る機械学習システムおよび機械学習方法を提供できる。
【0009】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
図1】事前学習モデルの選定方法の概要を示す図。
図2】本発明の実施例1に係る機械学習システムの構成例を示す図。
図3】本発明の実施例1に係る機械学習システムの挙動を示すフローチャート。
図4】転移学習データセット記憶部の構成例を示す図。
図5】事前学習モデル記憶部の構成例を示す図。
図6】事前学習の概要を示す図。
図7】事前学習の処理を示すフローチャート。
図8】事前学習データセット記憶部の構成例を示す図。
図9】事前学習モデルの構成例を示す図。
図10】本発明の実施例2に係る機械学習システムの構成例を示す図。
図11】事前学習の設定画面例。
図12】適合度評価および転移学習の設定画面例。
図13】適合度評価の結果確認画面例。
【発明を実施するための形態】
【0011】
以下、図面を用いて本発明の実施形態を説明する。なお、重複する部分についてはその詳細な説明は省略する。
【0012】
まず、本実施形態に係る事前学習モデルの選定方法の概要について、図1を用いて説明する。本明細書では、教師情報あり学習によって転移学習を行う対象となるタスクを、転移先のタスクまたは下流タスクと呼び、転移学習に用いる事前学習モデルの学習の対象となるタスクを、転移元のタスクまたは事前学習タスクと呼ぶ。また、本明細書では、教師情報を教示情報と呼ぶことがある。
【0013】
下流タスクでは、入力画像101と教師セグメンテーション102および教師検出結果103が与えられる。ここで、教師セグメンテーション102および教師検出結果103は、どちらか一方でよい。教師セグメンテーション102は、ピクセル毎にいずれのクラスまたはインスタンスに属するか示す情報が与えられる。ここで、セグメンテーションとは、セマンティックセグメンテーション、インスタンスセグメンテーション、パノプティックセグメンテーションと呼ばれる認識処理である。また、教師検出結果103は、入力画像101中に検出対象のクラスが属する領域と検出クラスを示す情報が与えられる。下流タスクを用いた転移学習では、入力画像101を入力として、教師セグメンテーション102または教師検出結果103を出力するモデルを学習する。
【0014】
領域分割結果104a、104bは、事前学習モデルで得られた領域分割結果であり、それぞれ異なる事前学習モデルA、事前学習モデルBから得られたものである。テクスチャの違いが異なる領域として分割されていることを表す。すなわち、領域分割結果104aでは、犬と猫が同じクラスに属する領域として分割されているが、樹木と家屋が異なるクラスに属する領域として分割されている。一方で、領域分割結果104bでは、樹木と家屋が同じクラスに属する領域として分割されているが、犬と猫は異なるクラスに属する領域として分割され、更に頭部と胴体も異なるクラスとして分割されている。ここで、事前学習モデルによる領域分割結果とは、セグメンテーションタスクのように、同じ領域内では同じ意味を持つように入力データを複数の領域に分割した結果である。
【0015】
本実施形態に係る機械学習システムでは、このような領域分割を行う機能を含む事前学習モデルを、事前学習タスクを用いて学習する。
【0016】
このような領域分割結果104a,104bと教師セグメンテーション102や教師検出結果103を比較すれば、下流タスクに適した事前学習モデルを選択できる。例えば、教師セグメンテーション102は、犬と猫をそれぞれ異なるクラスとして認識するタスクである。このタスクの場合、犬と猫が同一のクラスとして分割される領域分割結果104aを出力する事前学習モデルAより、犬と猫が異なるクラスとして分割される領域分割結果104bを出力する事前学習モデルBの方が、転移学習に適している。教師検出結果103についても同様に、犬と猫を異なるクラスとして検出するタスクである場合、犬と猫を異なるクラスとする領域分割結果104bを出力する事前学習モデルBの方が転移学習に適している。
【0017】
このように本実施形態では、領域分割を行う機能を含む各事前学習モデルによる領域分割結果と、下流タスクの教示情報と、の適合度を評価することで、実際に転移学習を行うことなく、転移学習に有効な事前学習モデルを短時間で選択することが可能となる。
【0018】
また、本実施形態による事前学習モデルは、領域分割を行う機能に加え、入力データを位置毎に特徴量を出力する機能を持ち、同じ意味を持つと推定された領域内では類似した特徴量を出力する。そのため、領域分割結果104a,104bと教師セグメンテーション102や教師検出結果103といった教示情報との関連性(類似度)が高くなる事前学習モデル程、与えられた教示情報毎に異なる特徴量を学習しており、与えられた教示情報を識別する能力が高く、転移学習に適したモデルと考えられる。
【実施例0019】
図1で示した事前学習モデルの選定方法を実現する機械学習システムの一例について説明する。図2は、本発明の実施例1に係る機械学習システムの構成例を示す図であり、図3は、本発明の実施例1に係る機械学習システムの挙動を示すフローチャートである。
【0020】
図2に示すように、本実施例に係る機械学習システムは、事前学習モデル記憶部202と、事前学習モデル取得部201と、転移学習データセット記憶部と204、事前学習モデル適合度評価部203と、事前学習モデル選択部205と、転移学習部206と、を備える。事前学習モデル記憶部202は、事前学習タスクを学習して得られた事前学習モデルを複数格納する。事前学習モデル取得部201は、事前学習モデル記憶部202から少なくとも一つの事前学習モデルを取得する。転移学習データセット記憶部204は、下流タスクに関するデータセットを格納する。事前学習モデル適合度評価部203は、下流タスクに関するデータセットに対する、事前学習モデル取得部201が取得した事前学習モデル毎の適合度を評価する。なお、事前学習モデル適合度評価部203が評価する対象の事前学習モデルは、事前学習モデル評価対象情報200に基づいて決定される。事前学習モデル選択部205は、事前学習モデル適合度評価部203の評価結果に基づき、事前学習モデル記憶部202に格納された複数の事前学習モデルの中から転移学習に用いるものを選択する。転移学習部206は、事前学習モデル選択部205によって選択された事前学習モデルと、転移学習データセット記憶部204に格納された下流タスクに関するデータセットと、を用いて転移学習し、その学習結果を学習済みモデル207として出力する。
【0021】
なお、機械学習システムが有する各部は、その機能を実装した回路デバイス等のハードウェアを用いて構成することもできるし、その機能を実装したソフトウェアを演算装置が実行することにより構成することもできる。
【0022】
次に、図3に従って本実施例に係る機械学習システムの処理を説明する。本処理フローは、操作者によって転移学習の実行を指定されたタイミングで実施される。
【0023】
ステップS301では、事前学習モデル適合度評価部203が、転移学習を行う対象の下流タスクに関するデータセットを、転移学習データセット記憶部204から読み込む。
【0024】
図4は、転移学習データセット記憶部204の構成例を示す図である。図4に示すように、転移学習データセット記憶部204に格納される下流タスクに関するデータセットは、学習を行うための学習データセット401と、性能評価を行うための評価データセット404と、で構成される。また、学習データセット401と評価データセット404は、それぞれ入力データ402,405および教示情報403,406で構成される。これらのデータの形式は、学習データセット401と評価データセット404で共通であるが、データに内容は異なる。入力データ402,405は、例えば入力画像101のような画像データであり、教示情報403,406は、例えば教師セグメンテーション102や教師検出結果103である。
【0025】
事前学習モデル適合度評価部203は、ステップS301において、転移学習データセット記憶部204から、学習データセット401に関する入力データ402および教示情報403を読み込む。
【0026】
ステップS302では、事前学習モデル取得部201が、事前学習モデル評価対象情報200に基づき、評価対象の事前学習モデルを1つ取得する。事前学習モデル評価対象情報200には、評価対象となる事前学習モデルに関する情報が格納されている。評価対象は操作者によって指定されてもよいし、例えば事前学習に用いたデータセットに関する条件や事前学習モデルの構成に関する条件によって自動的に指定されてもよい。
【0027】
ステップS303では、事前学習モデル適合度評価部203が、ステップS302で取得した評価対象の事前学習モデルの計算手順およびパラメータを、事前学習モデル記憶部202から読み込む。ここで、計算手順とは、多層ニューラルネットワークの場合、入力データに適用する計算の種別と順序によって構成される情報であり、例えばニューラルネットワークの構成や前処理、後処理などが該当する。また、パラメータは、計算手順中で使用されるパラメータであり、例えばニューラルネットワークの各層の学習済みの重みパラメータや超パラメータであったり、前処理および後処理のパラメータであったりする。
【0028】
図5は、事前学習モデル記憶部202の構成例を示す図である。図5に示すように、事前学習モデル記憶部202に格納される1つ以上の事前学習モデル501(事前学習モデルA、事前学習モデルB、・・・)は、それぞれ、計算手順情報502、パラメータ情報503、学習データセット情報504および学習条件情報505で構成される。計算手順情報502およびパラメータ情報503は、ステップS303において事前学習モデル適合度評価部203が取得する計算手順およびパラメータである。学習データセット情報504は、事前学習モデル501の学習に利用したデータセットに関する情報が格納されおり、例えばデータセットを特定するための情報や、データセットに関連付けられたドメイン、取得条件、クラス等のタグ情報である。学習条件情報505は、事前学習モデル501の学習条件に関する情報であり、例えば学習期間等の学習スケジュール情報や学習における超パラメータに関する情報である。学習データセット情報504および学習条件情報505は、事前学習モデル評価対象情報200を決定するために操作者に提示される。
【0029】
ステップS304では、ステップS303で読み込んだ事前学習モデルについて、ステップS301で読み込んだ評価対象の下流タスクのデータセットに対する、適合度の評価を事前学習モデル適合度評価部203が実施する。本実施例における適合度とは、事前学習モデルによる領域分割結果104a,104bの教示情報403に対する適合度合いである。適合度が高いほど、転移学習に有効な事前学習モデルと考えることができる。
【0030】
適合度を評価する具体的な手法について説明する。ここで、事前学習モデルによる領域分割による割当てをi番目のクラス、教示情報403による割当てをj番目のクラスとした場合の割当てのコストをCijと表現する。適合度は、事前学習モデルによる領域分割と教示情報の割当問題を解いた際のコストの総和に-1を乗算して負の値としたものとして表現できる。これは適合度が高いほど良い値であるのに対して割当問題が一般にコストを最小化するものとして定式化されるためである。なお、割当問題は一対一の割当てを行ってもよいし、事前学習モデルによる領域分割数が教示情報に含まれるクラス数より多い場合は多対一の割当てを行ってもよい。
【0031】
割当てコストCijの計算方法として複数の手法が考えられる。例えば、条件付き確率を用いた手法が考えられる。事前学習モデルによる割当てがクラスiであるときに教示情報がクラスjである条件付き確率は、p(y=j|z=i)と表現できる。yは教示情報のクラス情報であり、zは事前学習モデルによって分割されたクラス情報である。このとき、割当てコストは、Cij=1-p(y=j|z=i)として計算できる。また、条件付き確率の他にも交差エントロピーや相互情報量などを用いても割当てコストCijは計算できる。これらの値を用いることで、事前学習モデルによる領域分割のクラスが決まった際に教示情報403のクラスを正しく求める確率を評価することが可能となる。
【0032】
また、割当てコストCijの計算には、Intersection over Union(IoU)と呼ばれる指標を用いてもよい。IoUは、事前学習モデルによる領域分割結果と教示情報で与えられている領域との共集合を和集合で割った値である。この場合、割当てコストは、Cij=1-IoU(y=j|z=i)で与えられる。右辺第二項は、事前学習モデルによって分割された領域がクラスiであり、教示情報がクラスjである領域同士のIoUを計算する関数である。
【0033】
また、割当てコストCijの計算には、特徴量同士の類似度を利用してもよい。具体的には、事前学習モデルに領域分割を行う機能以外にも領域毎の特徴量を出力する機能を追加し、事前学習モデルによる領域分割結果および教示情報によって定められるクラスの領域毎に、特徴量の平均同士を比較することで求めるものである。この際、割当てコストは、Cij=D(G(f,y=j),G(f,z=i))で与えられる。なお、Gは特徴量fから指定された領域毎に特徴量fの平均を求める関数であり、G(f,y=j)およびG(f,z=i)はそれぞれ事前学習モデルによる領域分割結果および教示情報がそれぞれクラスi、クラスjである領域毎の特徴量fの平均である。Dは特徴量間の距離を表す関数であり、ユークリッド距離やコサイン距離などの距離関数である。
【0034】
また、事前学習モデルによる領域分割数が教示情報に含まれるクラス数より多い場合は、事前学習モデルによる領域分割毎の平均特徴量に対してクラスタリングを適用することで、事前学習モデルによる領域分割数を削減した後に割当問題の評価を実行してもよい。さらに、物体検出やインスタンスセグメンテーションやパノプティックセグメンテーションのようなクラス単位ではなくインスタンスの認識が必要な場合には、割当問題の評価をクラス単位ではなくインスタンス単位で行ってもよい。また、物体検出のように教示情報が検出窓で与えられる場合には、検出窓内の領域を教示情報によって教示された領域として扱ってもよい。
【0035】
ステップS305では、事前学習モデル適合度評価部203が、事前学習モデル評価対象情報200に含まれる全ての評価対象を評価したか確認し、評価が完了していなければステップS302に戻り未評価の事前学習モデルの評価を継続し、全ての評価対象の事前学習モデルの評価が完了していればステップS306に進む。
【0036】
ステップS306では、事前学習モデル選択部205が、事前学習モデル適合度評価部203で評価した各事前学習モデルに対する適合度が高いモデルを1つ以上選択する。本実施例では、事前学習モデル選択部205が適合度の高いモデルを自動的に選択することを想定しているが、後述する実施例2のように、操作者によって選択されるようにしてもよい。
【0037】
ステップS307では、転移学習部206が、事前学習モデル選択部205で選択された事前学習モデルに対して、転移学習データセット記憶部204に格納されているデータセットを用いて転移学習を実行し、学習結果を学習済みモデル207として出力する。
【0038】
本実施例に係る機械学習システムによれば、事前学習モデル記憶部202に格納された事前学習モデルから、転移学習データセット記憶部204に格納された下流タスクのデータセットに対して適した事前学習モデルを、実際に転移学習することなく選択することが可能となる。特に、本実施例の事前学習モデル適合度評価部203は、各事前学習モデルに対して下流タスクの入力データを、転移学習時よりも少ない回数(例えば1回、多くても1画像につき10回)の順伝播をさせるだけで済む。すなわち、本実施例によれば、事前学習モデルに対して順伝播と逆伝播によるパラメータ更新を何回も繰り返す転移学習を実際に行う場合と比べて、計算量を大幅に削減でき、適合度を短時間で評価できる。転移学習の有効性の評価にかかる計算量をさらに削減したい場合は、評価対象となるデータセットに含まれる入力データ全てではなく、無作為もしくはクラス毎のサンプル数の偏りを考慮した方法で入力データの一部を取得し、一部の入力データのみで事前学習モデル適合度評価部203の評価を実施してもよい。
【0039】
本実施例で行われる事前学習について、図6および図7を用いて説明する。図6は、事前学習の概要を示す図であり、図7は、事前学習の処理を示すフローチャートである。
【0040】
まず、ステップS701では、事前学習部603が、事前学習条件601を読み込む。事前学習条件601は、事前学習の条件に関する情報であり、利用する事前学習データセットや学習するモデルの計算手順、パラメータ条件に関する情報や事前学習の学習スケジュール等の超パラメータに関する情報によって構成される。
【0041】
ステップS702では、事前学習部603が、事前学習条件601で設定されている事前学習データセットを事前学習データセット記憶部602から取得する。取得される事前学習データセットは1つ以上であればよい。
【0042】
ここで、事前学習データセット記憶部602について図8を用いて説明する。図8は、事前学習データセット記憶部602の構成例を示す図である。図8に示すように、事前学習データセット記憶部602には、事前学習データセット801A、801B、・・・と1つ以上の事前学習データセット801が格納され、各事前学習データセット801は、入力データ802A,802Bとタグ情報803A,803Bとに関連付けられている。
入力データ802A,802Bは、事前学習タスクで利用される入力データである。本実施例における事前学習では、自己教示学習(教師なし学習)を利用するため、事前学習データセット801毎に教示情報を持つ必要がない。また、教示情報を利用しないため、複数の事前学習データセット801を結合して利用することも可能である。なお、タグ情報803A,803Bは、データセットに関連付けられたドメイン、取得条件、クラス等のタグ情報であり、事前学習モデル記憶部202に学習データセット情報504として格納される情報である。
【0043】
ステップS703では、事前学習部603が、事前学習条件601で設定されている事前学習モデル情報に基づいて、事前学習モデルを初期化する。具体的には、事前学習条件601に設定されている計算手順およびパラメータ条件に従って、乱数初期化などが実施される。
【0044】
ステップS704では、事前学習部603が、ステップS702で取得した事前学習データセットを用いて、ステップS703で初期化した事前学習モデルのパラメータを更新する。なお、パラメータ更新は、確率勾配降下法等の最適化手法によって実施される。
【0045】
ここで、事前学習モデルについて図9を用いて説明する。図9は、事前学習モデルの構成例を示す図である。本実施例で利用される事前学習モデルは、入力データ901から特徴量を抽出する特徴量抽出部902と、特徴量抽出部902で抽出された特徴量を用いて領域内では同じ意味を持つように入力データ901を複数の領域に分割する領域分割部905と、領域分割部905によって分割された領域毎に異なる特徴量を予測する特徴量予測部903と、を備える。
【0046】
そして、入力データ901が事前学習モデルに入力されると、特徴量抽出部902は、当該入力データ901を特徴量に変換する。特徴量抽出部902は、ニューラルネットワークによって構成され、多層パーセプトロン、畳込みニューラルネットワーク、注意機構等の構成やその組合せによって構成される。特徴量予測部903および領域分割部905も、同様にニューラルネットワークによって構成され、それぞれ予測特徴量904および領域分割結果906を出力する。
【0047】
事前学習のステップS704では、領域分割部905で分割された領域毎に予測特徴量904が異なる特徴量を持つことを推奨する損失関数によって学習が実施される。この際に、対照学習と呼ばれる学習方法を組み合わせて、入力データに対して異なるノイズを印加し、元画像上で同じ領域分割クラスに属する地点では同じ特徴量に、元画像で異なる領域分割クラスに属する地点では異なる特徴量になるように学習してもよい。
【0048】
また、領域分割部905は、クラスタリングまたは相互情報量による損失関数で領域分割を学習する。クラスタリングを用いる場合は、領域分割部905の入力データ901の位置毎の出力にクラスタリングを適用し、各出力が割当てられたクラスタの中心を出力するように学習する。相互情報量による学習の場合には、領域分割部905の入力データ901の位置毎の出力に対して割当てられた領域分割クラスと入力データ901の対応する位置との相互情報量を最適化することで領域分割クラスへの割当てを学習する。
【0049】
さらに、領域分割部905は、所定の数のベクトルを出力する構成であってもよい。この場合、特徴量抽出部902の出力または特徴量予測部903の出力である予測特徴量904またはベクトルとの類似度が算出され、最も類似度の高いベクトルへの割当て結果をもって領域分割結果906として扱われる。
【0050】
なお、複数の領域分割部905を用いて領域分割結果906を複数出力してもよい。この場合、適合度の評価は複数の値を出力してもよいし、複数の評価値から値の高いものを選択してもよい。
【0051】
また、領域分割結果906は、事前学習モデル適合度評価部203で行う適合度評価に利用される。また、転移学習部206で実施される転移学習では、事前学習モデルの内、特徴量抽出部902のみが利用されてもよいし、特徴量予測部903または領域分割部905が利用されてもよい。
【0052】
ステップS705では、事前学習部603が、事前学習条件601で定められた学習の終了条件を判定し、終了条件を満たす場合はステップS706に進み、満たさない場合はステップS704に戻り事前学習モデルのパラメータ更新が実施される。ここで、学習の終了条件とは、例えばパラメータの更新回数が所定の回数に到達したか否かである。
【0053】
ステップS706では、事前学習部603が、事前学習によって得られた事前学習モデルを事前学習条件601およびステップS702で取得した事前学習データセットに関連する情報と紐づけて事前学習モデル記憶部202に格納し、事前学習フローを終了する。
【実施例0054】
実施例2に係る機械学習システムは、操作者がより効率的に事前学習および転移学習を実行するため、実施例1と異なり、表示・操作部をさらに備えている。
【0055】
図10は、実施例2に係る機械学習システムの構成例を示す図である。図10に示すように、本実施例では、操作者が表示・操作部1001により、事前学習部603に対して事前学習条件601を設定したり、事前学習モデル適合度評価部203に対して事前学習モデル評価対象情報200を設定したりできる。また、表示・操作部1001は、事前学習、適合度評価および転移学習を開始するよう、それぞれ事前学習部603、事前学習モデル適合度評価部203および転移学習部206に対して指示することもできる。
【0056】
図11は、事前学習の設定画面例である。図11に示すように、事前学習の設定画面は、例えば、事前学習パラメータ設定部1101と、データセットフィルタ入力部1102と、データセット選択部1103と、学習開始部1104と、で構成される。この画面では、事前学習条件601の設定と、事前学習の開始に関する操作が可能である。
【0057】
ここで、事前学習パラメータ設定部1101は、事前学習に用いる計算手順や超パラメータの設定を行うものであり、例えば、ニューラルネットワークのネットワーク構成、領域分割部905で分割する領域クラス数に関する値、特徴量予測部903で予測する特徴量の次元に関する値、事前学習に利用するバッチサイズや学習スケジュール、パラメータ更新回数等を設定する。データセットフィルタ入力部1102およびデータセット選択部1103は、事前学習データセット記憶部602に格納されているタグ情報803を利用して、事前学習に用いるデータセットを選択するものである。図11の例では、データセットフィルタ入力部1102で入力されたドメインや撮像条件に該当するタグ情報803を含むデータセットが、データセット選択部1103に表示される。操作者が、これらのパラメータを設定し、事前学習に利用するデータセットを選択した上で、学習開始部1104を操作すると、事前学習部603が事前学習を実行する。
【0058】
図12は、適合度評価および転移学習の設定画面例である。図12に示すように、本設定画面は、例えば、転移学習データ選択部1201と、転移学習データセットタグ入力部1202と、事前学習モデル表示選択部1203と、適合度評価開始部1204と、転移学習条件設定部1205と、転移学習開始部1206と、で構成される。
【0059】
ここで、転移学習データ選択部1201は、操作者が転移学習で利用する下流タスクのデータセットの選択を行うものである。転移学習データセットタグ入力部1202は、操作者が転移学習データ選択部1201で選択したデータセットのドメインや撮像条件といったタグ情報を入力するものである。事前学習モデル表示選択部1203は、事前学習モデルごとに、事前学習条件や事前学習に利用したデータセットに関する情報、事前学習モデル適合度評価部203で評価した適合度、転移学習部206で転移学習を実行した場合の評価データセット404での評価指標などを表示するものである。なお、事前学習モデル表示選択部1203は、転移学習データセットタグ入力部1202で入力された情報に該当するタグ情報を持つ事前学習モデルを、事前学習モデル記憶部202の中から検索・抽出して表示させてもよい。転移学習条件設定部1205は、転移学習に利用する学習条件を設定するものである。
【0060】
操作者が、事前学習モデル表示選択部1203に表示された事前学習モデルを1つ以上選択し、適合度評価開始部1204を操作すると、事前学習モデル表示選択部1203で選択されている事前学習モデルが事前学習モデル評価対象情報200として事前学習モデル適合度評価部203に送信され、事前学習モデル適合度評価部203が、適合度評価を実行する。操作者は、事前学習モデル表示選択部1203に表示された適合度の評価結果を参照することで、転移学習時の性能評価値が良いと予想されるモデルを効率的に選択することができる。
【0061】
一方、操作者が転移学習開始部1206操作すると、事前学習モデル表示選択部1203で選択されている事前学習モデルが転移学習に利用するモデルとして転移学習部206に送信され、転移学習部206が、転移学習を実行し、評価データセット404での評価結果を事前学習モデル表示選択部1203に表示する。
【0062】
図13は、適合度評価の結果確認画面例である。図13の画面例は、図12の画面例から遷移でき、例えば、事前学習モデル表示部1301と、データセット表示部1302と、適合度表示部1303と、教示情報表示部1304と、事前学習モデル領域分割結果表示部1305と、で構成される。
【0063】
ここで、事前学習モデル表示部1301は、操作者が適合度を確認したい事前学習モデルを表示するものである。データセット表示部1302は、操作者が適合度を確認したい下流タスクのデータセットを表示するものである。適合度表示部1303は、事前学習モデル表示部1301で表示された事前学習モデルとデータセット表示部1302で表示されたデータセットによって評価された適合度を表示するものである。教示情報表示部1304は、データセット表示部1302で表示されたデータセットに含まれる入力データに対応する教示情報を表示するものである。事前学習モデル領域分割結果表示部1305は、データセット表示部1302で表示されたデータセットに含まれる入力データに対して、事前学習モデル表示部1301で表示された事前学習モデルが領域分割した結果を表示するものである。
【0064】
このように、本実施例の表示・操作部1001には、データセットの教示情報と、選択された事前学習モデルによって領域分割した結果と、があわせて表示されるので、操作者は、両者を視覚的に比較しやすい。このため、適合度だけで事前学習モデルを選択する場合と比べ、より適切な事前学習モデルを選択することが可能となる。また、図13に示す適合度評価の結果確認画面例では、複数の事前学習モデルによる領域分割結果を同時に並べて表示して、異なる事前学習モデル同士を比較できるようにしてもよい。また、複数の入力データに関する教示情報および領域分割結果が同時に並べて表示されてもよい。
【実施例0065】
実施例3は、前述した実施例1または実施例の機械学習システムを画像検査に適用したものである。
【0066】
画像検査の場合、検査用ニューラルネットワークを検査工程毎に学習する必要がある。これは検査工程毎に確認すべき検査対象が異なるため、全ての検査対象を網羅する検査用ニューラルネットワークの学習は非現実的であり、検査対象が増えた際に柔軟に検査用ニューラルネットワークを拡張するためである。
【0067】
したがって、画像検査の場合、転移学習を行う下流タスクは、検査工程毎に行われることになる。同一製品に対して複数の検査工程がある場合、検査工程間でニューラルネットワークが獲得すべき特徴量が同一であることも多いため、このような場合に他の検査工程で得られる画像を転移学習に用いることは有効である。しかしながら、検査工程毎に学習するタスクが異なる場合、すなわちある工程ではセグメンテーションを行い、別の工程では検出タスクを行う場合、共通のニューラルネットワークを学習することは難しくなる。本実施例では、自己教示学習を用いることで、各検査工程の入力データを統合して共通のニューラルネットワークを学習することが可能となる。
【0068】
そこで、本実施例では、製品毎、検査工程毎に得られるデータセットを、事前学習データセット記憶部602に格納する。本実施例における入力データ802は、検査工程毎に得られる検査画像であり、本実施例におけるタグ情報803は、製品種別や検査工程の種別、検査画像の撮像条件等である。
【0069】
操作者が新たに検査用ニューラルネットワークの学習を行いたい場合は、学習したい検査工程と関連する類似の性質を持つことが期待される製品種別、検査工程種別、または撮像条件等のタグ情報で事前学習に利用するデータセットを構築し、事前学習を実施する。
【0070】
その後、学習したい検査工程のデータセットを用いて転移学習を実施し、学習済みモデル207を構築し、所望の精度に達することを確認した後に新たな検査用ニューラルネットワークとして利用することで、効率的に多様な検査工程毎に適した検査用ニューラルネットワークを構成することが可能となる。
【0071】
なお、本発明は前述した各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前述の各実施例は本発明に対する理解を助けるために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【0072】
101…入力画像、102…教師セグメンテーション、103…教師検出結果、104a,104b…領域分割結果、202…事前学習モデル記憶部、203…事前学習モデル適合度評価部、204…転移学習データセット記憶部、205…事前学習モデル選択部、206…転移学習部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13