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

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

▶ キヤノン株式会社の特許一覧 ▶ 東芝メディカルシステムズ株式会社の特許一覧

特開2022-175062情報処理装置、情報処理方法及びプログラム
<>
  • 特開-情報処理装置、情報処理方法及びプログラム 図1
  • 特開-情報処理装置、情報処理方法及びプログラム 図2
  • 特開-情報処理装置、情報処理方法及びプログラム 図3
  • 特開-情報処理装置、情報処理方法及びプログラム 図4
  • 特開-情報処理装置、情報処理方法及びプログラム 図5
  • 特開-情報処理装置、情報処理方法及びプログラム 図6
  • 特開-情報処理装置、情報処理方法及びプログラム 図7
  • 特開-情報処理装置、情報処理方法及びプログラム 図8
  • 特開-情報処理装置、情報処理方法及びプログラム 図9
  • 特開-情報処理装置、情報処理方法及びプログラム 図10
  • 特開-情報処理装置、情報処理方法及びプログラム 図11A
  • 特開-情報処理装置、情報処理方法及びプログラム 図11B
  • 特開-情報処理装置、情報処理方法及びプログラム 図12
  • 特開-情報処理装置、情報処理方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022175062
(43)【公開日】2022-11-25
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221117BHJP
   G06N 5/04 20060101ALI20221117BHJP
   G06T 7/00 20170101ALI20221117BHJP
【FI】
G06N20/00
G06N5/04
G06T7/00 350B
【審査請求】未請求
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2021081194
(22)【出願日】2021-05-12
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(71)【出願人】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】鳥羽 修平
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA06
5L096FA67
5L096FA70
5L096FA81
5L096GA51
5L096KA04
(57)【要約】
【課題】学習が困難な条件のデータに対して、推論精度を向上させた推論モデルを生成すること。
【解決手段】情報処理装置は、複数のデータを含む第1のデータセットを取得するデータ取得部と、複数のデータの夫々の評価値に基づいて、第1のデータセットの中から、事前学習用の第2のデータセットと、追加学習用の第3のデータセットとを選定する選定部と、第2のデータセットを用いて事前学習した推論モデルを生成する事前学習部と、事前学習した推論モデルと第3のデータセットを用いて、追加学習した推論モデルを生成する追加学習部と、を有する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
複数のデータを含む第1のデータセットを取得するデータ取得手段と、
前記複数のデータの夫々の評価値に基づいて、前記第1のデータセットの中から、事前学習用の第2のデータセットと、追加学習用の第3のデータセットとを選定する選定手段と、
前記第2のデータセットを用いて事前学習した推論モデルを生成する事前学習手段と、
前記事前学習した推論モデルと前記第3のデータセットを用いて、追加学習した推論モデルを生成する追加学習手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記選定手段は、前記複数のデータの夫々から算出した推論対象の領域の円形度を前記評価値として取得し、
前記評価値が閾値以上の場合に前記第2のデータセットを選定し、前記評価値が閾値未満の場合に前記第3のデータセットを選定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記選定手段は、前記複数のデータの夫々から、画像のコントラスト、前記画像のノイズレベル、前記画像中のエッジ情報、及び前記画像の解像度のうち少なくとも一つを前記評価値として取得することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記選定手段は、複数の評価値と、前記複数の評価値の夫々について設定した閾値とを比較し、
前記評価値が閾値以上の場合に前記第2のデータセットと判定し、前記評価値が閾値未満の場合に前記第3のデータセットと判定し、各評価値の判定を統合した評価結果に基づいて、前記第2のデータセットと前記第3のデータセットを選定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記選定手段は、前記第1のデータセットにおける各々のデータの特徴量を取得し、前記特徴量に基づいて前記第1のデータセットを複数のデータセットに分割することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記選定手段は、前記複数のデータセットにおけるデータ数を評価値として計算し、前記評価値に基づいて前記第2のデータセットと前記第3のデータセットを選定することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記選定手段は、前記複数のデータセットのうち、前記評価値が最も高いデータセットを前記第2のデータセットと選定し、
前記複数のデータセットから前記選定したデータセットを除いた残りのデータセットを前記第3のデータセットと選定することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記選定手段は、前記複数のデータセット内におけるデータ間の距離の二乗和を前記評価値として計算し、
前記複数のデータセットのうち、前記評価値が最も小さいデータセットを前記第2のデータセットと選定し、前記複数のデータセットから前記選定したデータセットを除いた残りのデータセットを前記第3のデータセットと選定することを特徴とする請求項5に記載の情報処理装置。
【請求項9】
前記選定手段は、前記複数のデータセット間の距離の二乗和を前記評価値として計算し、
前記複数のデータセットのうち、前記評価値が最も小さいデータセットを前記第2のデータセットと選定し、前記複数のデータセットから前記選定したデータセットを除いた残りのデータセットを前記第3のデータセットと選定することを特徴とする請求項5に記載の情報処理装置。
【請求項10】
前記選定手段は、前記複数のデータセット間の距離を前記評価値として計算し、
前記複数のデータセットのうち、前記評価値が最も小さいデータセットを前記第2のデータセットと選定し、前記複数のデータセットから前記選定したデータセットを除いた残りのデータセットを前記第3のデータセットと選定することを特徴とする請求項5に記載の情報処理装置。
【請求項11】
前記選定手段は、複数の評価値として、前記複数のデータセットにおけるデータ数、前記複数のデータセット内におけるデータ間の距離の二乗和、前記複数のデータセット間の距離の二乗和および前記複数のデータセット間の距離を取得し、
各評価値の判定を統合した評価結果に基づいて、前記第2のデータセットと前記第3のデータセットを選定することを特徴とする請求項5乃至10のいずれか1項に記載の情報処理装置。
【請求項12】
前記選定手段は、前記第1のデータセットにおける各々のデータに対して、HOG、SHIFT、SURF及びAutoEncoderのうち少なくともいずれか一つの特徴量を取得し、当該一つの特徴量に基づいて前記第1のデータセットを前記複数のデータセットに分割することを特徴とする請求項5乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記選定手段は、前記複数のデータセットから複数の試行推論モデルを生成し、前記複数の試行推論モデルから算出した評価値に基づいて、前記第2のデータセットと前記第3のデータセットを選定することを特徴とする請求項5に記載の情報処理装置。
【請求項14】
前記選定手段は、前記複数の試行推論モデルのテスト結果の精度を前記評価値とし取得し、
前記テスト結果の精度のうち、最も精度の高い試行推論モデルの生成に用いたデータセットを前記第2のデータセットと選定し、前記複数のデータセットから前記選定したデータセットを除いた残りのデータセットを前記第3のデータセットと選定することを特徴とする請求項13に記載の情報処理装置。
【請求項15】
前記選定手段は、前記複数のデータセットのデータ数に基づいて、試行推論モデルを生成するか判定し、
前記データ数が基準値以上のデータセットに対して、前記選定手段は前記試行推論モデルを生成し、当該データセットを前記第2のデータセットと選定し、前記複数のデータセットから前記選定したデータセットを除いた残りのデータセットを前記第3のデータセットと選定することを特徴とする請求項13または14に記載の情報処理装置。
【請求項16】
推論対象データを取得する推論データ取得手段と、
前記推論対象データの評価値に基づいて、事前学習済の推論モデルまたは追加学習済の推論モデルを選択する推論モデル選択手段と、
前記推論モデル選択手段により選択された推論モデルに前記推論対象データを入力し、当該推論モデルからの出力に基づいて推論する推論手段と、
を有することを特徴とする情報処理装置。
【請求項17】
事前学習の際に用いた評価値の判定条件と対応付けられた前記事前学習済の推論モデル、及び追加学習の際に用いた評価値の判定条件と対応付けられた前記追加学習済の推論モデルを記憶する記憶手段を更に備え、
前記推論モデル選択手段は前記推論対象データの評価値に基づいて、前記事前学習済の推論モデル、または前記追加学習済の推論モデルを前記記憶手段から選択することを特徴とする請求項16に記載の情報処理装置。
【請求項18】
複数のデータを含む第1のデータセットを取得するデータ取得手段と、
前記第1のデータセットにおける各々のデータの特徴量に基づいて前記第1のデータセットを複数のデータセットに分割する選定手段と、
学習済の推論モデルを前記記憶手段に記憶する記憶処理手段と、を更に有し、
前記記憶処理手段は、前記第1のデータセットに基づいた学習により生成された学習済の推論モデルと、前記複数のデータセットの夫々に基づいた学習により生成された学習済の推論モデルとの間で、テスト結果の精度を比較して、より精度の高い推論モデルを前記記憶手段に記憶することを特徴とする請求項17に記載の情報処理装置。
【請求項19】
前記複数のデータの夫々の評価値に基づいて、前記第1のデータセットの中から選定された事前学習用の第2のデータセットを用いて事前学習した推論モデルを生成する事前学習手段と、
前記複数のデータの夫々の評価値に基づいて、前記第1のデータセットの中から選定された追加学習用の第3のデータセットと前記事前学習した推論モデルとを用いて、追加学習した推論モデルを生成する追加学習手段と、を更に有し、
前記記憶処理手段は、
前記第3のデータセットと前記事前学習した推論モデルとを用いて追加学習した推論モデルと、前記追加学習を行わずに前記第3のデータセットに基づいた学習により生成された学習済の推論モデルとの間で、テスト結果の精度を比較して、より精度の高い推論モデルを前記記憶手段に記憶することを特徴とする請求項18に記載の情報処理装置。
【請求項20】
複数のデータを含む第1のデータセットを取得するデータ取得工程と、
前記複数のデータの夫々の評価値に基づいて、前記第1のデータセットの中から、事前学習用の第2のデータセットと、追加学習用の第3のデータセットとを選定する選定工程と、
前記第2のデータセットを用いて事前学習した推論モデルを生成する事前学習工程と、
前記事前学習した推論モデルと前記第3のデータセットを用いて、追加学習した推論モデルを生成する追加学習工程と、
を有することを特徴とする情報処理方法。
【請求項21】
推論対象データを取得する推論データ取得工程と、
前記推論対象データの評価値に基づいて、事前学習済の推論モデルまたは追加学習済の推論モデルを選択する推論モデル選択工程と、
前記推論モデル選択工程で選択された推論モデルに前記推論対象データを入力し、当該推論モデルからの出力に基づいて推論する推論工程と、
を有することを特徴とする情報処理方法。
【請求項22】
コンピュータを、請求項1乃至19のいずれか1項に記載された情報処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関するものである。
【背景技術】
【0002】
機械学習において、学習用データセットで学習させることで、入力データに対して推論する能力をもつものを推論モデルと呼ぶ。ここで、学習用データセットの中には、学習が容易な条件のデータと、学習が困難な条件のデータとが混在している場合があり、かかるデータの混在は推論モデルにおける推論精度低下の要因になり得る。
【0003】
特許文献1には、データの条件に応じて複数の推論モデルを生成し、入力データに対して最適な推論モデルを選択する技術が開示されている。
【0004】
また、特許文献2には、データ数を基準に学習用データセットをクラスタリングした上で、クラスタリングされたデータ群の一つを事前学習用データセットとし、もう一つを追加学習用データセットとして、試行的に転移学習を実施することで、転移学習に有効なデータを判断する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2012-68965号公報
【特許文献2】特開2016-191966号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の技術では、条件に応じたデータを学習させるために、個々の推論モデルの学習に用いるデータが少なくなり、推論精度が向上しない場合が生じ得る。また、特許文献2の技術では、事前学習用データセットと追加学習用データセットはユーザによって予め定められており、データセットの定め方によっては推論精度が向上しない場合が生じ得る。
【0007】
本発明は、上記の課題に鑑みて、学習が困難な条件のデータに対して、推論精度を向上させた推論モデルを生成することができる情報処理技術を提供する。
【課題を解決するための手段】
【0008】
本発明の一態様による情報処理装置は以下の構成を備える。すなわち、情報処理装置は、複数のデータを含む第1のデータセットを取得するデータ取得手段と、前記複数のデータの夫々の評価値に基づいて、前記第1のデータセットの中から、事前学習用の第2のデータセットと、追加学習用の第3のデータセットとを選定する選定手段と、前記第2のデータセットを用いて事前学習した推論モデルを生成する事前学習手段と、前記事前学習した推論モデルと前記第3のデータセットを用いて、追加学習した推論モデルを生成する追加学習手段と、を有する。
【発明の効果】
【0009】
本発明によれば、学習が困難な条件のデータに対して、推論精度を向上させた推論モデルを生成することができる。
【図面の簡単な説明】
【0010】
図1】第1の実施形態に係る情報処理装置の機能構成を示す図。
図2】第1の実施形態に係る円形度の計算結果の一例を示す図である。
図3】第1の実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
図4】第1の実施形態に係る情報処理装置の処理の流れを示す図。
図5】第2の実施形態に係るデータセットの分割を例示的に示す図。
図6】第2の実施形態に係る情報処理装置の処理の流れを示す図。
図7】第2の実施形態に係る推論モデルの生成例を示す図。
図8】第3の実施形態に係る試行推論モデルの評価の一例を示す図。
図9】第3の実施形態に係る情報処理装置の処理の流れを示す図。
図10】第4の実施形態に係る情報処理装置の機能構成を示す図。
図11A】第4の実施形態に係る情報処理装置の処理の流れを示す図。
図11B】第4の実施形態に係る情報処理装置が、記憶媒体に記憶された推論モデルを選択して、推論する処理の流れを説明する図。
図12】第4の実施形態の変形例2に係る推論モデルの生成例を示す図。
図13】第4の実施形態の変形例3に係る推論モデルの生成例を示す図。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
以下に説明する本発明の各実施形態は、推論対象情報である、モダリティで取得した生データや、生データから画像再構成によって生成された診断用の画像データに対して適用できる。モダリティは、例えば、X線CT装置、MRI装置、SPECT装置、PET装置を含む。
【0013】
また、各実施形態の説明において、転移学習とは、複数のデータセットのうち、任意の一つのデータセットで学習済みモデル(事前学習モデル)を生成し、学習済みモデルのパラメータを初期値として、他のデータセットを用いて学習モデルを生成する技術をいう。
【0014】
また、追加学習とは、既に学習済みのモデル(事前学習モデル)に対して、別のデータセットで学習済みモデル(追加学習モデル)を生成する技術をいい、別のデータセットが、学習済みのモデルの生成に使用したデータセットと異なる領域のものである場合に、追加学習は転移学習と呼ばれる。
【0015】
[第1の実施形態]
第1の実施形態では、学習用のデータセットから、データの評価値に基づいて、事前学習用のデータセット(第2のデータセット)と追加学習用のデータセット(第3のデータセット)とを選定し、選定したデータセットに基づいて推論モデル(事前学習モデル、追加学習モデル)を生成する処理を説明する。
【0016】
推論モデル(事前学習モデル、追加学習モデル)は、例えば、画像の中から特定の疾患を識別するように機械学習された学習済モデル(pre-trained model)であり、被検体の推論対象情報から特定の疾患に関する推論を行う。
【0017】
「特定の疾患に関する推論を行う」とは、疾患の検出や分類、領域分割を行うことであり、「疾患」とは、体内に生じた疾病もしくは傷、又は、疾病もしくは傷に起因して体内に生じた変化などである。典型的には、病変部位、出血部位、骨折部位などが該当する。また「特定の」とは、「あらかじめ決められた種類の」という意味である。すなわち、推論モデルは、あらゆる種類の傷病をすべて識別可能な能力を有している必要はなく、限られた種類の傷病を識別可能であるように機械学習(トレーニング)されていればよい。
【0018】
推論モデルに入力される推論対象情報は、モダリティの生データでもよいし、3次元の画像データ(例えばボリュームデータ)でもよいし、2次元の画像データ(例えば断層画像データ)でもよい。
【0019】
図1は第1の実施形態に係る情報処理装置の機能構成を示す図であり、本実施形態では、推論対象の領域として大動脈領域を検出する推論モデル(事前学習モデル、追加学習モデル)を生成する。
【0020】
学習用のデータセットにおいて、入力データは、例えば、胸部CT画像の大動脈領域を含むAxial断面のスライス画像であり、正解データは推論対象の領域(例えば、大動脈の上行部、下行部、弓部)が予め抽出された大動脈領域のマスクである。本実施形態では、データの評価値として推論対象の領域(大動脈領域)の円形度に基づいてデータセットの選定を行う。ここで、円形度とは、図形の複雑さを表す指標であり、0~1.0の数値で示される。図形が真円の場合に円形度は1.0となり、円形度が1.0から0に近づくに従い図形は真円から歪んだ度合いが高い形状となる。例えば、大動脈の上行部及び下行部は真円に近い領域であり、学習が容易な領域になるのに対して、大動脈の弓部はバリエーションに富んだ形状となり、学習が困難な領域となる。
【0021】
図1に示すように、本実施形態の情報処理装置100は、機能構成として、データ取得部101、選定部102、事前学習部103、追加学習部104を有する。
【0022】
(データ取得部101)
データ取得部101は学習用の複数のデータを含むデータセット(第1のデータセット)を取得する。例えば、データ取得部101は、ネットワークを介して、外部のデータベース、データ入力装置やモダリティから推論モデルの学習に用いるデータセットを取得する。ここで、データ取得部101が取得するデータセットには、学習用の入力データおよび各入力データに対応した正解データと付帯情報とが含まれる。付帯情報には、推論対象の領域を示す矩形情報やマスク画像など、学習を補助するための情報や学習の結果を評価するための情報が含まれるものとする。
【0023】
(選定部102)
選定部102は学習用の複数のデータの夫々から算出した推論対象の領域の評価値に基づいて、データセット(第1のデータセット)から事前学習用のデータセット(第2のデータセット)と追加学習用のデータセット(第3のデータセット)とを選定する。選定部102は、データ取得部101において取得したデータセット(第1のデータセット)から、大動脈領域の円形度に基づき、事前学習用のデータセットと追加学習用のデータセットとを選定する。
【0024】
円形度は、正解データのマスク画像において、マスク領域の周囲長Lおよび面積Sを用いることにより、以下の式(1)により計算される。
【0025】
C=4πS/L・・・(1)
図2は円形度の計算結果の一例を示す図である。図2において、画像201aは大動脈領域の上行部または下行部を示す画像である。選定部102は、画像201aに対応するマスク画像201bから取得したマスク領域の周囲長Lおよび面積Sに基づいて、円形度を0.91と計算する。
【0026】
同様に、画像202aは大動脈領域の弓部を示す画像であり、選定部102は画像202aに対応するマスク画像202bから取得したマスク領域の周囲長Lおよび面積Sに基づいて、円形度を0.46と計算する。なお、画像データに対応したマスク画像がデータセットに含まれていない場合に、選定部102は推論対象の領域(大動脈領域)の画像データにセグメンテーション等の画像処理を施し、検出したマスク領域上で円形度を計算してもよい。
【0027】
また、選定部102は、算出した円形度と閾値とを比較して、算出した円形度が閾値以上かどうかを判定する。円形度は0.0から1.0の数値で示されるため、ユーザは0.0から1.0の数値範囲で任意に閾値(例えば0.7)を設定することが可能である。
【0028】
選定部102は、円形度が閾値以上であった場合に、データを事前学習用として選定する。一方、選定部102は、円形度が閾値未満であった場合に、データを追加学習用として選定する。図2のように円形度が計算された場合、画像201aは事前学習用のデータとして選定され、画像202aは追加学習用のデータとして選定される。
【0029】
(事前学習部103)
事前学習部103は、選定部102により選定された事前学習用のデータセットを用いて事前学習した推論モデル(以下、事前学習モデル)を生成する。一般的に、推論モデルの学習において用いられるデータセットは、学習用、検証用、テスト用に分けられる。ユーザは、事前学習用のデータセットおよび検証用のデータセットでハイパーパラメータの最適化をして、テスト用のデータを入力した推論結果(以下、テスト結果)に基づいて、推論モデルの性能を評価する。以下、本発明の実施形態における推論モデルの生成は、同様の手順で行われているものとする。なお、ハイパーパラメータの調整は、ユーザが手動で行ってもよいし、Oputunaといったハイパーパラメータの最適化を自動化するツールを用いてもよい。
【0030】
(追加学習部104)
追加学習部104は、事前学習部103で生成された事前学習モデルおよび選定部102で選定された追加学習用のデータセットを用いて追加学習した推論モデル(以下、追加学習モデル)を生成する。
【0031】
(情報処理装置100のハードウェア構成)
情報処理装置100は、プロセッサ、メモリ、ストレージなどを備えたコンピュータにより構成することが可能である。この場合、ストレージに格納されたプログラムをメモリにロードし、当該プログラムをプロセッサが実行することにより、データ取得部101、選定部102、事前学習部103、追加学習部104などの機能および処理が実現される。ただしこの構成に限らず、例えば、データ取得部101、選定部102、事前学習部103、追加学習部104のうちの全部又は一部を、専用に設計されたプロセッサ(ASICなど)又はFPGAにより実現してもよい。あるいは、演算処理の一部をGPUやDSPなどのプロセッサで実行してもよい。また、情報処理装置100は、単一のハードウェアで構成されていてもよいし、複数のハードウェアで構成されていてもよい。例えば、クラウドコンピューティングや分散コンピューティングを利用し、複数のコンピュータが協働して情報処理装置100の機能および処理を実現してもよい。
【0032】
図3は第1の実施形態に係る情報処理装置100のハードウェア構成の一例を示す図である。この例では、情報処理装置100が、CPU300、GPU301、RAM302、ROM303、記憶装置304を有しており、これらがシステムバス305で接続されている。また、情報処理装置100には、表示装置306と、マウスやキーボードなどの入力装置307とが接続されている。ユーザは入力装置307を介して閾値の設定や学習におけるパラメータの調整を行うことができ、情報処理装置100による学習の結果を表示装置306の表示により確認することができる。図1で説明した機能構成は、例えば、情報処理装置100のCPU300やGPU301が、ROM303または記憶装置304から読み込んだプログラムを用いて、各部の機能が構成される。
【0033】
(情報処理装置100の処理フロー)
次に、情報処理装置100が実行する処理の流れを説明する。図4は第1の実施形態に係る情報処理装置100の処理の流れを示す図である。ステップS401において、データ取得部101は、推論モデルの学習に用いるデータセットA01を取得する。
【0034】
ステップS402において、選定部102は、データセットA01の各データの円形度を計算する。
【0035】
ステップS403において、選定部102は、ステップS402において算出した円形度と閾値とを比較して、円形度が閾値以上かどうかを判定する。円形度が閾値以上であった場合(S403-Yes)、ステップS404において、選定部102はデータセットA01のデータを事前学習用のデータとして選定する。一方、ステップS403の判定処理において、円形度が閾値未満であった場合(S403-No)、ステップS405において、選定部102はデータセットA01のデータを追加学習用のデータとして選定する。
【0036】
ステップS406において、選定部102は、データセットA01において他のデータが存在するか否かを判定する。他のデータが存在する場合(S406-No)、選定部102は処理をステップS403に戻し、他のデータに対してステップS403からS405の処理を同様に繰り返す。
【0037】
一方、ステップS406の判定処理において、データセットA01に他のデータが存在しない場合(S406-Yes)、選定部102は処理をステップS407に進める。ステップS406までの処理により、選定部102は、推論対象の領域のデータの評価値(円形度)に基づいて、データセット(第1のデータセット)から事前学習用のデータセット(第2のデータセット)と追加学習用のデータセット(第3のデータセット)とを選定する処理を完了させる。
【0038】
ステップS407において、事前学習部103は、ステップS404で選定された事前学習用のデータセットを用いて事前学習モデルを生成する。
【0039】
ステップS408において、追加学習部104は、ステップS407で生成された事前学習モデルおよびステップS405で選定された追加学習用のデータセットを用いて追加学習モデルを生成する。以上の処理により、情報処理装置100による一連の処理は終了となる。
【0040】
本実施形態によれば、データ取得部101により取得されたデータセットにおけるデータの評価値として円形度を用いて、選定部102は学習が容易なデータセットと、学習が困難なデータセットとを選定し、事前学習部103は学習が容易なデータセット(事前学習用のデータセット)を用いて事前学習モデルを生成する。学習が困難なデータセットに関して、追加学習部104は事前学習部103で生成された事前学習モデルに対して、困難なデータセット(追加学習用のデータセット)を用いた追加学習を行うことにより、学習が困難な条件のデータに対して、推論精度を向上させた推論モデルを生成することができる。
【0041】
(第1の実施形態の変形例1)
第1の実施形態では、円形度を判定するための閾値を任意の値に設定する場合について説明した。本発明の実施形態はこれに限らず、閾値は自動で決定してもよい。例えば、選定部102は、全てのデータの円形度を計算し、計算した円形度のヒストグラムに基づいて、パーセンタイル法や大津の二値化といった公知の閾値算出手法を用いて閾値を自動で決定してもよい。
【0042】
(第1の実施形態の変形例2)
第1の実施形態では、データの評価値を円形度として、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。本発明の第1の実施形態において、データの評価値は円形度に限られず、選定部102は、種々の評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定する処理を行うことが可能である。選定部102は、複数のデータの夫々から、例えば、画像のコントラストや画像のノイズレベル、画像中のエッジ情報、画像の解像度など少なくとも一つを評価値として取得することが可能である。
【0043】
(第1の実施形態の変形例3)
第1の実施形態では、データの評価値を円形度のみ(単一の評価値)として、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。本発明の実施形態は単一の評価値(円形度)と閾値との比較に基づいた選定処理に限られず、選定部102は、複数の評価値の評価結果に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定してもよい。複数の評価値としては、例えば、第1の実施形態で用いた円形度に加えて上記の変形例2で説明した複数の評価値(例えば、画像のコントラストや画像のノイズレベル、画像中のエッジ情報、画像の解像度)の評価結果に基づいて、選定部102は、事前学習用のデータセットと追加学習用のデータセットを選定することが可能である。
【0044】
その場合、第1の実施形態や変形例1で説明した手法により各評価値について閾値を設定して、選定部102は、複数の評価値と、複数の評価値の夫々について設定した閾値とを比較し、評価値が閾値以上の場合に事前学習用のデータ(第2のデータセット)と判定し、評価値が閾値未満の場合に追加学習用のデータ(第3のデータセット)と判定する。そして、選定部102は、各評価値の判定を統合した評価結果に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定してもよい。
【0045】
画像のコントラストを例とすると、データにおける画像のコントラストがコントラスト閾値以上の場合に、選定部102は、係るデータを事前学習用のデータと判定し、判定結果を示す情報「0」を設定する。また、データにおける画像のコントラストがコントラスト閾値未満の場合に、選定部102は、係るデータを追加学習用のデータと判定し、判定結果を示す情報「1」を設定する。
【0046】
他の評価値(円形度、画像のノイズレベル、画像中のエッジ情報、画像の解像度など)についても、選定部102は、各評価値について設定された閾値との比較に基づいた判定を行い、各評価値の判定結果を示す情報として「0」または「1」を設定する。このようにして、選定部102は、複数の評価値について判定結果を示す情報を取得し、[円形度、画像のコントラスト、画像のノイズレベル、画像中のエッジ情報、画像の解像度]の順番に、複数の評価値を統合した評価結果を[0、1、1、0、1・・・]のようなデータ配列として取得する。
【0047】
データが事前学習用のデータであるか、追加学習用のデータであるかの選定は、統合した評価結果に基づいた投票処理によって行う。ここで、投票処理とは、データ配列において「0」の総数と「1」の総数とを比較して、多い方の属性にデータを選定する処理である。「0」の総数が多い場合に、選定部102は事前学習用のデータとして選定し、「1」の総数が多い場合に、選定部102は追加学習用のデータとして選定する。
【0048】
上記のデータ配列では、事前学習用のデータと判定された評価値の総数は2であり、追加学習用のデータと判定された評価値の総数は3であり、「1」の総数が「0」の総数に比べて多いので、選定部102は、判定対象のデータを追加学習用のデータに選定する。
【0049】
なお、選定方法は上記のような統合した評価結果に基づいた投票処理に限定されず、例えば、選定部102は、各評価値に重みを割り当て、判定結果に対して加重平均値を計算し、加重平均値が閾値以上になるか否かでデータの選定を行うことも可能である。
【0050】
[第2の実施形態]
第1の実施形態では、データの評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定する方法を説明した。これに対し、本実施形態では、データセットを複数のデータセットに分割した上で、分割したデータセットにおけるデータの評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットとを選定する処理を説明する。以下、本実施形態における情報処理装置100の構成に関して、第1の実施形態と異なる部分を説明する。
【0051】
(選定部102)
選定部102は、データ取得部101で取得したデータセット(第1のデータセット)における各々のデータの特徴量を抽出する。具体的には、データセットにおける各々のデータに対して、画像データの輝度勾配をヒストグラム化した画像特徴量としてHOG(Histograms of Oriented Gradients)特徴量を計算する。なお、抽出する特徴量はHOG特徴量に限定されず、例えば、選定部102は、SHIFT(Scale-Invariant Feature Transform)やSURF(Speed-Up Rubust Features)といった特徴量、およびAutoEncoderのようにニューラルネットワークによる特徴量をデータセットにおける各々のデータから抽出してもよい。選定部102は、データセット(第1のデータセット)における各々のデータに対して、HOG、SHIFT、SURF及びAutoEncoderのうち少なくともいずれか一つの特徴量を取得し、取得した特徴量に基づいてデータセット(第1のデータセット)を複数のデータセットに分割する。
【0052】
また、選定部102は、抽出した特徴量に基づいてデータセット(第1のデータセット)を複数のデータセットに分割(クラスタリング)する。クラスタリング方法として、選定部102は、例えば、k-means法と呼ばれるアルゴリズムを用いることが可能である。k-means法により、選定部102は、データセットA01に含まれるデータを複数のクラスタに分割し、各クラスタに含まれるデータの集合を新たなデータセットとして生成する。これにより、データセットA01は複数のデータセットに分割される。ここで、k-means法におけるクラスタ数は、任意の値に設定することが可能である。図5はデータセットの分割(クラスタリング)を例示的に示す図である。図5ではデータから抽出した任意の特徴量(特徴量1、特徴量2)に関するデータの2次元的な分布が模式的に示されている(図7図8においても同様)。分割するクラスタ数を3とした場合、図5に示すように、データ取得部101により取得されたデータセットA01は3つのデータセットB01、B02、B03に分割される。
【0053】
さらに、選定部102は、分割したデータセット(クラスタ)におけるデータの評価値を計算し、評価値に基づいて事前学習用のデータセットと追加学習用のデータセットを選定する。例えば、分割したデータセットに含まれるデータ数を評価値としてもよい。データセットに含まれるデータ数が多ければ、より学習は容易になるため、選定部102は評価値が最も高いデータセットを追加学習用とする。図5の場合、データ数の最も多いデータセットB01が事前学習用のデータセット(第2のデータセット)として選定され、その他のデータセットB02およびB03が追加学習用のデータセットとして選定される。すなわち、複数のデータセット(B01、B02、B03)から選定したデータセット(B01)を除いた残りのデータセット(B02、B03)を追加学習用のデータセット(第3のデータセット)と選定される。
【0054】
(情報処理装置100の処理フロー)
次に、情報処理装置100が実行する処理の流れを説明する。図6は第2の実施形態に係る情報処理装置100の処理の流れを示す図である。
【0055】
ステップS601は、第1の実施形態におけるステップS401と同様の処理であり、データ取得部101は、推論モデルの学習に用いるデータセットA01を取得する。
【0056】
ステップS602において、選定部102は、ステップS601で取得したデータセットA01における特徴量を抽出する。
【0057】
ステップS603において、選定部102は、ステップS602で抽出した特徴量に基づいてデータセットA01を分割(クラスタリング)する。選定部102は、データセットA01に含まれるデータを複数のクラスタに分割し、各クラスタに含まれるデータの集合を新たなデータセット(図5のデータセットB01、B02及びB03)として生成する。
【0058】
ステップS604において、選定部102は、ステップS603によって得られた各データセット(クラスタ)におけるデータの評価値を計算し、分割したデータセットを評価する。
【0059】
ステップS605において、選定部102は、ステップS604において計算した評価値に基づいて、事前学習用データセットと追加学習用データセットを選定する。具体的には、評価値が最も高いデータセットを追加学習用とする。
【0060】
ステップS606において、事前学習部103は、ステップS605で選定された事前学習用のデータセットを用いて事前学習モデルを生成する。図7は第2の実施形態に係る推論モデルの生成例を示す図である。図7に示すように分割された3つのデータセットB01、B02及びB03のうち、データ数の最も多いデータセットB01が事前学習用のデータセットとして選定され(S605)、事前学習部103は、事前学習用のデータセットB01を用いて事前学習モデル701を生成する。
【0061】
ステップS607において、追加学習部104は、ステップS606で生成された事前学習モデル701およびS605で選定された追加学習用のデータセットを用いて追加学習モデルを生成する。図7に示すように分割された3つのデータセットB01、B02及びB03のうち、データセットB02およびB03が追加学習用データセットとして選定され(S605)、追加学習部104は、ステップS606で生成された事前学習モデル701およびステップS605で選定された追加学習用のデータセットB02を用いた追加学習(転移学習)により追加学習モデル702を生成する。同様に、追加学習部104は、ステップS606で生成された事前学習モデル701およびステップS605で選定された追加学習用のデータセットB03を用いた追加学習(転移学習)により追加学習モデル703を生成する。
【0062】
なお、図5及び図7では、データセットA01を3つのデータセットB01、B02及びB03に分割する例を示しているが、本実施形態の処理はこの例に限定されず、分割するクラスタ数は3以外の場合も同様に、事前学習用として選定されたデータセットを用いて事前学習モデルを生成し、追加学習用と選定された各データセットおよび事前学習モデルを用いて、追加学習モデルを生成することができる。
【0063】
本実施形態によれば、データ取得部101により取得されたデータセットA01を複数のデータセットB01、B02及びB03に分割した上で、分割した各データセットにおける評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定することができる。これにより、学習が困難な条件のデータに対して、推論精度を向上させた推論モデルを生成することができる。
【0064】
(第2の実施形態の変形例1)
第2の実施形態では、k-means法によりデータセットA01を3つのクラスタに分割する処理について説明した。本発明の実施形態はこれに限らず、データセットA01を分割するクラスタ数を自動で決定することも可能である。例えば、データセットに含まれるデータ数を基準として再帰的に分割(クラスタリング)を行う。まず、データ取得部101により取得されたデータセットA01を2つのデータセット(クラスタ)に分割する。次に、分割した各データセットに含まれるデータ数を調べる。データ数が基準値よりも大きい場合には、さらに、2つのデータセットに分割する。
【0065】
以上の操作を、各データセットに含まれるデータ数が基準値以下になる前の状態まで繰り返すことで、データセットA01を分割するクラスタ数を自動で決定することができる。これにより、各データセット(クラスタ)が一定以上のデータ数を有する状態を保つようにデータセットを分割することができる。
【0066】
(第2の実施形態の変形例2)
第2の実施形態では、分割した各データセットにおけるデータ数をデータセットの評価値として、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。本発明の実施形態はこれに限らず、分割した各データセットにおけるデータの凝集性に基づいて、データセットの選定を行うことも可能である。その場合、選定部102は、評価値として、分割した各データセット(クラスタ)内のデータ間の距離の二乗和を計算する。選定部102は、データ間の距離を特徴空間における特徴ベクトル間の距離に基づいて計算し、各データセット(クラスタ)内におけるデータ間の距離の二乗和を評価値として計算する。
【0067】
データセットを分割する際に求める特徴量のばらつきが小さければデータ間の距離の二乗和は小さくなる。分割したデータセットのうちデータ間の距離の二乗和が最も小さいデータセットは、特徴量のばらつきが最も小さいデータセットであり、学習が容易なデータセットになる。
【0068】
選定部102は、複数のデータセットのうち、評価値が最も小さいデータセットを事前学習用のデータセット(例えば、図7のB01)として選定し、他のデータセット(例えば、図7のB02、B03)を追加学習用のデータセットとして選定する。選定部102は、複数のデータセット(B01、B02、B03)から選定したデータセット(B01)を除いた残りのデータセット(B02、B03)を追加学習用のデータセット(第3のデータセット)と選定する。
【0069】
これにより、分割した各データセット(クラスタ)におけるデータ間の距離の二乗和を評価値として、事前学習用のデータセットと追加学習用のデータセットを選定することができる。
【0070】
(第2の実施形態の変形例3)
第2の実施形態では、分割した各データセットにおけるデータ数をデータセットの評価値として、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。本発明の実施形態はこれに限らず、分割したデータセット(クラスタ)の離散性に基づいて、データセットの選定を行うことも可能である。その場合、選定部102は、評価値として、分割した複数のデータセット(クラスタ)間の距離の二乗和を計算する。選定部102は、クラスタ間の距離を、特徴空間における各クラスタの重心ベクトル間の距離に基づいて計算し、データセット(クラスタ)間の距離の二乗和を評価値として計算する。例えば、データセットB01に着目した場合、選定部102は、クラスタ間の距離として、データセットB01とB02との距離(B01-B02)と、データセットB01とB03との距離(B01-B03)との距離を、各データセット(クラスタ)の重心ベクトル間の距離に基づいて計算し、距離の二乗和を評価値として計算する。
【0071】
選定部102は、複数のデータセットのうち、評価値が最も小さいデータセットを事前学習用のデータセット(第2のデータセット)として選定し、他のデータセットを追加学習用のデータセットとして選定する。選定部102は、複数のデータセット(B01、B02、B03)から選定したデータセット(B01)を除いた残りのデータセット(B02、B03)を追加学習用のデータセット(第3のデータセット)と選定する。
【0072】
これにより、分割した各データセット(クラスタ)間の距離の二乗和を評価値として、事前学習用のデータセットと追加学習用のデータセットを選定することができる。
【0073】
(第2の実施形態の変形例4)
第2の実施形態では、分割した各データセットにおけるデータ数をデータセットの評価値とし、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。また、第2の実施形態の変形例3では、分割したデータセット(クラスタ)間の距離の二乗和を評価値として、データセットを選定する処理にについて説明したが、本発明の実施形態はこれに限らず、分割前のデータセット(例えば、図7のA01)と分割した各データセット(例えば、図7のB01、B02及びB03)との間の距離を評価値として、事前学習用のデータセットと追加学習用のデータセットを選定してもよい。その場合、選定部102は、評価値として、分割前のデータセットの特徴空間における重心ベクトルと、分割した各データセットの重心ベクトルとの距離を計算する。そして、選定部102は、複数のデータセットのうち、評価値が最も小さいデータセットを事前学習用のデータセットとして選定し、他のデータセットを追加学習用のデータセット(第2のデータセット)として選定する。選定部102は複数のデータセット(B01、B02、B03)から選定したデータセット(B01)を除いた残りのデータセット(B02、B03)を追加学習用のデータセット(第3のデータセット)と選定する。
【0074】
これにより、分割前のデータセットと分割した各データセットとの間の距離を評価値として、事前学習用のデータセットと追加学習用のデータセットを選定することができる。
【0075】
(第2の実施形態の変形例5)
第2の実施形態では、分割した各データセットにおけるデータ数をデータセットの評価値として、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。本発明の実施形態はこれに限らず、第2の実施形態の変形例2から変形例4で説明した複数の評価値の評価結果に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定してもよい。
【0076】
選定部102は、複数の評価値として、複数のデータセットにおけるデータ数、複数のデータセット内におけるデータ間の距離の二乗和、複数のデータセット間の距離の二乗和および複数のデータセット間の距離を取得し、各評価値の判定を統合した評価結果に基づいて、事前学習用のデータセット(第2のデータセット)と追加学習用のデータセット(第3のデータセット)を選定する。
【0077】
その場合、第1の実施形態の変形例3と同様に、選定部102は、各評価値に基づいて事前学習用のデータセットであるか、追加学習用のデータセットであるかを判定する。そして、選定部102は、各評価値について、事前学習用のデータセットの判定結果を示す情報「0」、または追加学習用のデータセットの判定結果を示す情報「1」を設定する。
【0078】
このようにして、選定部102は、複数の評価値について判定結果を示す情報を取得し、複数の評価値を統合した評価結果を[0、1、1、・・・]のようなデータ配列として取得する。
【0079】
選定部102は、事前学習用のデータセット(クラスタ)であるか、追加学習用のデータセット(クラスタ)であるかの選定を、統合した評価結果に基づいた投票処理によって行う。すなわち、選定部102、取得したデータ配列において「0」の総数と「1」の総数とを比較して、「0」の総数が多い場合に、選定部102は事前学習用のデータセット(クラスタ)として選定し、「1」の総数が多い場合に、選定部102は追加学習用のデータセット(クラスタ)として選定する。
【0080】
また、第1の実施形態の変形例3と同様に、各評価値に重みを割り当て、判定結果に対して加重平均値を計算し、加重平均値が閾値以上になるか否かでデータの選定を行うことも可能である。
【0081】
[第3の実施形態]
第2の実施形態では、分割した各データセットにおけるデータ数をデータセットの評価値として、事前学習用のデータセットと追加学習用のデータセットを選定する処理について説明した。本実施形態では、分割した各データセットを用いて仮の推論モデル(以下、試行推論モデル)を生成し、試行推論モデルの評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定する処理を説明する。以下、本実施形態に係る情報処理装置100の構成に関して、第1の実施形態及び第2の実施形態と異なる部分を説明する。
【0082】
(選定部102)
選定部102は、分割した各データセットを用いて試行推論モデルを生成し、試行推論モデルの評価値に基づいて、事前学習用データセットと追加学習用データセットを選定する。
【0083】
図8は第3の実施形態に係る試行推論モデルの評価の一例を示す図である。図5で説明したように、データ取得部101により取得されたデータセットA01は3つのデータセットB01、B02及びB03に分割され、選定部102は、3つのデータセットB01、B02及びB03を用いて、複数の試行推論モデル801、802および803を生成する。
【0084】
また、選定部102は、生成された各試行推論モデル801、802および803の評価値を計算する。例えば、各試行推論モデル801、802および803のテスト結果の精度を評価値としてもよい。図8には、各試行推論モデル801、802および803におけるテスト結果の精度が例示的に示されている。テスト結果の精度のうち、最も精度の高い試行推論モデルの生成に用いたデータセットが、3つのデータセットB01、B02及びB03のうち最も学習が容易なデータセットとなり得る。
【0085】
なお、評価値はテスト結果の精度に限定せず、各試行推論モデル801、802および803で推論を行う推論対象によって異なる評価値を用いてもよい。例えば、試行推論モデルにより二値分類を行う場合であれば、感度や特異度を評価値とし、セグメンテーションを行う場合であればDICEスコアなどを評価値としてもよい。
【0086】
また、選定部102は、計算した評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定する。例えば、図8のように試行推論モデルの精度が計算された場合、選定部102は、試行推論モデルの精度が最も高い試行推論モデルの生成に用いたデータセットを事前学習用のデータセットとして選定する。すなわち、選定部102は、3つの試行推論モデル801、802及び803のうち、テスト結果の精度のうち、最も精度の高い試行推論モデル801の生成に用いたデータセットB01を事前学習用のデータセット(第2のデータセット)として選定し、その他のデータセットB02およびB03を追加学習用のデータセットとして選定する。選定部102は、複数のデータセット(B01、B02、B03)から選定したデータセット(B01)を除いた残りのデータセットを追加学習用のデータセット(第3のデータセット)と選定する。
【0087】
(情報処理装置100の処理フロー)
次に、情報処理装置100が実行する処理の流れを説明する。図9は第3の実施形態に係る情報処理装置100の処理の流れを示す図である。
【0088】
ステップS901、S902及びS903は、第2の実施形態の図6におけるステップS601、S602及びS603と同様であるため、詳細な説明を省略する。ステップS601、S602及びS603の処理により、データセットA01はデータセットB01、B02及びB03に分割される。
【0089】
ステップS904において、選定部102は、ステップS903で得られた各データセットB01、B02及びB03を用いて、試行推論モデルを生成する(例えば、図8の試行推論モデル801、802及び803)。
【0090】
ステップS905において、選定部102は、ステップS904で生成された各試行推論モデルの評価値を計算する。
【0091】
ステップS906において、選定部102は、ステップS905で計算した評価値に基づいて、事前学習用のデータセットと追加学習用のデータセットを選定する。選定部102は、試行推論モデルの評価値が最も高い試行推論モデルの生成に用いたデータセット(例えば、図8のB01)を事前学習用のデータセットとして選定し、その他のデータセット(例えば、図8のB02およびB03)を追加学習用のデータセットとして選定する。
【0092】
ステップS907において、事前学習部103は、ステップS906で選定された事前学習用のデータセットを用いて事前学習モデルを生成する。ステップS906において、最も評価値が高かった試行推論モデルが事前学習モデルとなる。図8の例の場合、試行推論モデル801が事前学習モデルとなる。
【0093】
ステップS908において、追加学習部104は追加学習モデルを生成する。本ステップの処理は図6のステップS607の処理と同様であるため、詳細な説明は省略する。図8の例の場合、本ステップの処理により、試行推論モデル802及び803が追加学習モデルとなる。
【0094】
以上の処理により、分割した各データセットに対する推論モデル(事前学習モデル、追加学習モデル)が生成される。
【0095】
本実施形態によれば、分割したデータセットを用いて試行推論モデルを生成し、試行推論モデルの評価値に基づいて、事前学習用データセットおよび追加学習用のデータセットを選定することができる。すなわち、評価値の高いデータセットを学習が容易なデータセットとして事前学習用データセットを選定することができる。また、その他のデータセットを学習が困難な条件のデータセットとして、追加学習用のデータセットを選定することができる。これにより、学習が困難な条件のデータに対して、推論モデル(追加学習モデル)を生成することができる。
【0096】
(第3の実施形態の変形例1)
第3の実施形態では、分割した複数のデータセットを用いて試行推論モデルを生成する処理について説明したが、本発明の実施形態はこれに限らず、分割した複数のデータセットのデータ数に基づいて、試行推論モデルを生成するかどうかを判定してもよい。
【0097】
例えば、データ数の基準値を設けて、選定部102はデータ数と基準値との比較により試行推論モデルを生成するか否かを判定するようにしてもよい。すなわち、データ数が基準値以上のデータセットに対して、選定部102は試行推論モデルを生成し、データ数が基準値未満のデータセットに対しては試行推論モデルを生成しないようにしてもよい。その場合、データ数が基準値以上のデータセットを学習が容易なデータセットとして事前学習用のデータセット(第2のデータセット)を選定することができる。また、その他のデータセットを学習が困難な条件のデータセットとして、追加学習用のデータセットを選定することができる。すなわち、選定部102は複数のデータセットから選定したデータセットを除いた残りのデータセットを追加学習用のデータセット(第3のデータセット)と選定する。これにより、学習が困難な条件のデータに対して、推論モデル(追加学習モデル)を生成することができる。
【0098】
(第3の実施形態の変形例2)
第3の実施形態では、各試行推論モデルの評価値に基づいて、事前学習用データセットと追加学習用データセットを選定する処理について説明した。本発明の実施形態はこれに限らず、過学習しているかどうかに基づいて選定してもよい。過学習は、試行推論モデルの生成における学習用データに対する性能と検証用データに対する性能の差に基づいて判定することができる。性能に一定以上の差がある場合は、試行推論モデルは過学習していると判定し、学習に用いたデータセットを追加学習用のデータセットとして選定してもよい。これにより、学習が困難な条件のデータセットを特定することができ、係るデータセットについて推論モデル(追加学習モデル)を生成することができる。
【0099】
[第4の実施形態]
第4の実施形態では、推論対象のデータに対して、事前学習した推論モデルまたは追加学習した推論モデルのいずれかを推論モデルとして選択し、選択した推論モデルにより推論する処理を説明する。
【0100】
図10は第4の実施形態に係る情報処理装置1000の機能構成を示す図である。図10に示すように、情報処理装置1000は、図1の情報処理装置100に対して、記憶処理部1005、推論データ取得部1006、推論モデル選択部1007、推論部1008をさらに有する。また、情報処理装置1000は、記憶媒体1009と接続されている。記憶媒体1009は、装置内部の記憶領域に限定せず、クラウドといったネットワークを介して接続されたものであってもよい。図10に示す情報処理装置1000の機能構成において、データ取得部101、選定部102、事前学習部103、追加学習部104は、図1の情報処理装置100と同様であるため、説明を省略する。
【0101】
また、データ取得部101、事前学習部103、追加学習部104と、記憶処理部1005、推論データ取得部1006、推論モデル選択部1007、推論部1008は異なる装置から実現されてもよい。例えば、推論モデルの学習処理を異なる情報処理装置で実施し、学習された推論モデルをネットワーク等を介して記憶媒体1009に記憶していてもよい。また、その場合には、記憶媒体1009は、選定部102がデータの選定に用いた評価値の情報を推論モデルと対応づけて記憶する構成となる。
【0102】
(記憶処理部1005)
記憶処理部1005は、事前学習部103および追加学習部104によって生成された学習済の推論モデルを記憶媒体1009に記憶する。ここで、学習済の推論モデルは、第1の実施形態~第3の実施形態で説明した事前学習部103および追加学習部104によって生成された事前学習モデルおよび追加学習モデルであり、記憶処理部1005は、生成された事前学習モデルおよび追加学習モデルを記憶媒体1009に記憶する。
【0103】
(推論データ取得部1006)
推論データ取得部1006は、推論対象データを取得する。例えば、推論データ取得部1006は、ネットワークを介して、外部のデータベース、データ入力装置やモダリティから推論対象データを取得する。
【0104】
(推論モデル選択部1007)
推論モデル選択部1007は、事前学習した推論モデル(事前学習モデル)または追加学習した推論モデル(追加学習モデル)のいずれかを、推論データ取得部1006によって取得された推論対象データに対して推論を行う推論モデルとして選択する。推論モデルを選択する際に、推論モデル選択部1007は、ステップS403における評価値(図4の例ではデータの円形度)の判定条件に基づいて、推論対象データの評価値を算出し、算出した評価値に基づいて、推論モデル(事前学習済の推論モデルまたは追加学習済の推論モデル)を選択する。評価値は円形度に限られず、推論モデル選択部1007は、データを選定する際の判定処理(S403)で用いた評価値(画像のコントラストや画像のノイズレベル、画像中のエッジ情報、画像の解像度など)と同じ評価値に基づいて、推論モデル(事前学習済の推論モデルまたは追加学習済の推論モデル)を選択する。
【0105】
(推論部1008)
推論部1008は、推論モデル選択部1007により選択された推論モデルに推論対象データを入力し、推論モデルからの出力に基づいて推論処理を実行する。
【0106】
(情報処理装置1000の処理フロー)
次に、第4の実施形態に係る情報処理装置1000が推論モデル(事前学習済の推論モデル、追加学習済の推論モデル)を生成し、生成した推論モデルを記憶媒体1009に記憶する記憶処理と、推論モデルを用いて推論を行う推論処理を説明する。
【0107】
推論モデル(事前学習済の推論モデル、追加学習済の推論モデル)を生成する処理フローは、図4、6、9と同様であるためここでは説明を省略する。以下の説明では、図4の処理フローによって推論モデルが生成された場合を例に説明する。図11Aは第4の実施形態に係る情報処理装置1000の処理の流れを示す図であり、ステップS401~S408までの処理は第1の実施形態の処理と同様である。
【0108】
ステップS408の後のステップS409において、記憶処理部1005は、ステップS407およびS408で生成された推論モデル(事前学習済の推論モデル、追加学習済の推論モデル)を記憶媒体1009に記憶する。記憶媒体1009は、事前学習の際に用いた評価値の判定条件と対応付けられた事前学習済の推論モデル、及び追加学習の際に用いた評価値の判定条件と対応付けられた前記追加学習済の推論モデルを記憶する。この際、ステップS403で用いられた閾値Iと対応付けて、推論モデルを記憶媒体1009に記憶する。例えば、閾値I以上と閾値I未満という判定条件に対して、閾値Iと判定条件(以上:01、未満:02)とを組み合わせた識別子I01、識別子I02をそれぞれ割り当て、それぞれの判定条件で選定された推論モデル(事前学習済の推論モデル、追加学習済の推論モデル)と対応付ける。これにより、識別子I01と事前学習モデル、識別子I02と追加学習モデルとが対応付けられて記憶媒体1009に記憶される。
【0109】
ステップS410において、情報処理装置1000は、推論対象データに対する推論処理を実行する。推論部1008は、推論モデル選択部1007により選択された推論モデルに推論対象データを入力し、推論モデルからの出力に基づいて推論処理を実行する。
【0110】
図11Bを用いて推論処理(図11AのS410)に関する具体的な処理の流れを説明する。図11Bは、第4の実施形態に係る情報処理装置1000が、記憶媒体1009から推論モデルを選択して、推論する処理の流れを説明する図である。
【0111】
ステップS1101において、推論データ取得部1006は、推論する対象のデータ(推論対象データ)を取得する。
【0112】
ステップS1102において、選定部102は、ステップS1101で取得した推論対象データに対して、評価値を計算する。選定部102は、ステップS402と同様に評価値を円形度とし、推論対象データについて円形度を計算する。
【0113】
ステップS1103において、推論モデル選択部1007は推論対象データの評価値に基づいて、事前学習済の推論モデル、または追加学習済の推論モデルを記憶媒体1009から選択する。推論モデル選択部1007は、ステップS1102で計算された円形度に基づいて推論モデルを選択する。推論モデル選択部1007は、円形度が閾値以上(識別子I01)であるか、閾値未満(識別子I02)であるかを判定し、該当する推論モデル(事前学習済の推論モデル、追加学習済の推論モデル)を記憶媒体1009より選択する。
【0114】
ステップS1104において、推論部1008は、ステップS1103で選択された推論モデルを用いて、推論モデルに推論対象データを入力し、推論モデルからの出力に基づいて推論処理を実行する。
【0115】
本実施形態に係る情報処理装置によれば、学習が困難な条件のデータに対する推論モデルを生成し、推論対象のデータに対して適切な推論モデルを選択し、推論処理を行うことができる。
【0116】
(第4の実施形態の変形例1)
第4の実施形態では、図4の処理フローによって生成された推論モデルを記憶し、推論対象データに対して適した推論モデルを選択する処理について説明した。本発明の実施形態はこれに限らず、第2の実施形態における図6の処理フロー、または第3の実施形態における図9の処理フローによって生成された推論モデルを記憶し、推論対象に適した推論モデルを選択してもよい。
【0117】
以下、図6の処理フローによって推論モデルが生成された場合について説明する。ステップS607の後、記憶処理部1005は、ステップS606およびS607で生成された推論モデル(事前学習モデル、追加学習モデル)を記憶媒体909に記憶する。この際、ステップS604で用いた評価値と対応付けて、推論モデルを記憶媒体1009に記憶する。例えば、図7図8に示すように3つのデータセットB01、B02、B03にクラスタリングされ、試行推論モデル801、802、803が生成されている場合、データセットB01の評価値と試行推論モデル801を対応付けて記憶媒体1009に記憶する。
【0118】
ステップS1101では、推論データ取得部1006は、推論する対象の複数のデータ(推論対象データ)を取得する。
【0119】
ステップS1102において、選定部102は、ステップS1101で取得した、推論対象の複数のデータ(推論対象データ)における各々のデータに対して特徴量を抽出する。選定部102は、抽出した特徴量に基づいて推論対象の複数のデータ(推論対象データ)を分割(クラスタリング)する。選定部102は、推論対象の複数のデータを複数のクラスタに分割し、各クラスタに含まれるデータの集合を新たなデータセットとして生成する。そして、選定部102は、生成した各データセット(クラスタ)における評価値を計算する。
【0120】
ステップS1103において、推論モデル選択部1007は、ステップS1102で計算された評価値に基づいて推論モデルを選択する。例えば、各データセット(クラスタ)におけるデータ数を評価値とした場合に、推論モデル選択部1007は、データ数の最も多いデータセットに対して事前学習モデルを選定し、その他のデータセットに対して追加学習モデルを選定する。
【0121】
また、データセット(クラスタ)間の距離の二乗和を評価値とした場合、選定部102は評価値が最も小さいデータセット(最も近い評価値のデータセット)に対して事前学習モデルを選定し、他のデータセットに対して追加学習モデルを選定する。また、データセット(クラスタ)間の重心ベクトルとの距離を評価値とした場合、選定部102は評価値が最も小さいデータセット(最も近い評価値のデータセット)に対して事前学習モデルを選定し、他のデータセットに対して追加学習モデルを選定する。
【0122】
そして、ステップS1104において、推論部1008は、ステップS1103で選択された推論モデルを用いて、推論モデルに推論対象データを入力し、推論モデルからの出力に基づいて推論処理を実行する。
【0123】
(第4の実施形態の変形例2)
第4の実施形態とその変形例1では、学習に用いたデータの評価値に関する判定条件、あるいは分割した各データセット(クラスタ)における評価値に対応付けて推論モデルを記憶媒体1009に記憶する処理について説明した。本発明の実施形態はこれに限らず、データセット(例えば、図12のA01)の全体を用いて学習した推論モデル(例えば、図12の1200)を、評価値に関する判定条件や分割した各データセットにおける評価値と対応付けて記憶媒体1009に記憶し、推論モデル選択部1007が、評価値に関する判定条件等に基づいて記憶媒体1009から選択するようにしてもよい。
【0124】
図12は第4の実施形態の変形例2に係る推論モデルの生成例を示す図であり、以下、図6の処理フローによって推論モデルが生成された場合について説明する。図6の処理フローにより、図12のように各クラスタのデータを用いた事前学習済の推論モデル(事前学習モデル)1201、追加学習済の推論モデル(追加学習モデル)1202、および追加学習済の推論モデル(追加学習モデル)1203が生成される。
【0125】
図6の処理フローの後、本実施形態では、情報処理装置1000は、データセットA01を用いた学習により推論モデル1200を生成する。そして、記憶処理部1005は、各データセットにおける推論モデルの性能を評価し、性能の高い推論モデルをデータセット(クラスタ)に対応づけた推論モデルとして記憶する。
【0126】
記憶処理部1005は、データセットA01(第1のデータセット)に基づいた学習により生成された学習済の推論モデル1200と、複数のデータセット(B01、B02、B03)の夫々に基づいた学習により生成された学習済の推論モデル(事前学習モデル1201、追加学習モデル1202、1203)との間で、テスト結果の精度(例えば、1200と1201の精度、1200と1202の精度、1200と1203の精度)を比較して、より精度の高い推論モデルを記憶媒体1009に記憶する
例えば、データセットB01に対しては、データセットB01のテスト用のデータで推論モデル1200と事前学習モデル1201の性能を評価し、性能の高かった推論モデルをデータセットB01と対応付けて記憶する。なお、推論モデルの性能の評価方法は、推論を行う推論対象によって異なる評価値を用いてもよい。例えば、第3の実施形態と同様に推論対象によって異なってもよい。例えば、多値分類であれば精度、二値分類であれば感度や特異度、セグメンテーションであればDICEスコアなどで評価してよい。また、第3の実施形態の変形例2と同様に、過学習しているかどうかに基づいて評価してもよい。
【0127】
(第4の実施形態の変形例3)
第4の実施形態とその変形例1では、学習に用いたデータの評価値に関する判定条件、あるいは分割した各データセット(クラスタ)における評価値に対応付けて推論モデルを記憶媒体1009に記憶する処理について説明した。本発明の実施形態はこれに限らず、追加学習(転移学習)を行わずに学習した推論モデル(例えば、図13の1302b、1303b)を、評価値に関する判定条件や分割した各データセットにおける評価値と対応付けて記憶媒体1009に記憶し、推論モデル選択部1007が、評価値に関する判定条件等に基づいて記憶媒体1009から選択するようにしてもよい。
【0128】
図13は第4の実施形態の変形例3に係る推論モデルの生成例を示す図であり、以下、図6の処理フローによって推論モデルが生成された場合について説明する。図6の処理フローにより、図13のように各クラスタのデータを用いた推論モデル(事前学習モデル)1301、推論モデル(追加学習モデル)1302a、および推論モデル(追加学習モデル)1303aが生成される。
【0129】
図6の処理フローの後、本実施形態では、選定部102は、追加学習(転移学習)を行わない推論モデル1302b、および推論モデル1303bを生成する。ここで、追加学習(転移学習)を行わない推論モデルを生成するかどうかを、選定部102は、第2の実施形態と同様に、データセットの特徴量に基づいて判定してもよい。
【0130】
次に、記憶処理部1005は各データセット(クラスタ)における推論モデルの性能を評価し、性能の高い推論モデルをデータセット(クラスタ)に対応づけた推論モデルとして記憶する。記憶処理部1005は、追加学習用のデータセット(例えば、図13のB02、B03:第3のデータセット)と事前学習した推論モデル(事前学習モデル1301)とを用いて追加学習(転移学習)した推論モデル(追加学習モデル1302a)と、追加学習(転移学習)を行わずに追加学習用のデータセットに基づいた学習により生成された学習済の推論モデル1302bとの間で、テスト結果の精度を比較して、より精度の高い推論モデルを記憶媒体1009に記憶する。例えば、データセットB02に対しては、データセットB02のテスト用のデータで追加学習モデル1302aと推論モデル1302bの性能を評価し、性能の高かった推論モデルをデータセットB02と対応付けて記憶媒体1009に記憶する。なお、推論モデルの性能の評価方法は、推論を行う推論対象によって異なる評価値を用いてもよい。例えば、第3の実施形態と同様に推論対象によって異なってもよい。例えば、多値分類であれば精度、二値分類であれば感度や特異度、セグメンテーションであればDICEスコアなどで評価してよい。また、第3の実施形態の変形例2と同様に、過学習しているかどうかに基づいて評価してもよい。
【0131】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0132】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0133】
100:情報処理装置、101:データ取得部、102:選定部、103:事前学習部、104:追加学習部、1005:記憶処理部、1006:推論データ取得部、1007:推論モデル選択部、1008:推論部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13