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

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

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

特許7353198計算機、識別器の学習方法、および分析システム
<>
  • 特許-計算機、識別器の学習方法、および分析システム 図1
  • 特許-計算機、識別器の学習方法、および分析システム 図2
  • 特許-計算機、識別器の学習方法、および分析システム 図3
  • 特許-計算機、識別器の学習方法、および分析システム 図4A
  • 特許-計算機、識別器の学習方法、および分析システム 図4B
  • 特許-計算機、識別器の学習方法、および分析システム 図5
  • 特許-計算機、識別器の学習方法、および分析システム 図6A
  • 特許-計算機、識別器の学習方法、および分析システム 図6B
  • 特許-計算機、識別器の学習方法、および分析システム 図7
  • 特許-計算機、識別器の学習方法、および分析システム 図8
  • 特許-計算機、識別器の学習方法、および分析システム 図9
  • 特許-計算機、識別器の学習方法、および分析システム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-21
(45)【発行日】2023-09-29
(54)【発明の名称】計算機、識別器の学習方法、および分析システム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230922BHJP
   G06T 7/00 20170101ALI20230922BHJP
【FI】
G06N20/00 130
G06T7/00 350B
【請求項の数】 13
(21)【出願番号】P 2020018575
(22)【出願日】2020-02-06
(65)【公開番号】P2021125003
(43)【公開日】2021-08-30
【審査請求日】2022-07-19
(73)【特許権者】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】柿下 容弓
(72)【発明者】
【氏名】服部 英春
(72)【発明者】
【氏名】鈴木 洋一郎
(72)【発明者】
【氏名】田上 英嗣
【審査官】多賀 実
(56)【参考文献】
【文献】特開2015-191426(JP,A)
【文献】特開2014-178229(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 7/00
G06V 10/70-10/86
(57)【特許請求の範囲】
【請求項1】
演算装置、前記演算装置に接続される記憶装置、および前記演算装置に接続されるインターフェースを有し、任意の事象を識別する識別器を生成する計算機であって、
第1入力データおよび第1教師データから構成される学習データを格納する記憶部と、
前記記憶部に格納される前記学習データを用いて、前記識別器を生成するための学習処理を実行する学習部と、
前記学習データを生成する生成部と、を備え、
前記生成部は、
前記記憶部に格納される前記学習データの前記第1入力データを用いて前記識別器が扱う特徴量ベクトルを算出し、
前記学習データの前記特徴量ベクトルに基づいて、前記特徴量ベクトルがなす特徴量空間における前記学習データの分布を分析することによって、前記特徴量空間における前記識別器の識別結果が変化する境界を特定し、
前記境界の近傍に存在する前記学習データである代表学習データの前記特徴量ベクトルを用いて第1疑似入力データを生成し、
前記第1疑似入力データと、前記代表学習データの前記第1教師データとから構成される新規学習データを生成し、前記記憶部に格納することを特徴とする計算機。
【請求項2】
請求項1に記載の計算機であって、
前記生成部は、
前記特徴量空間における前記学習データの分布の分析結果に基づいて、前記学習データが疎な領域を特定し、
前記特定された領域に含まれる前記特徴量ベクトルを用いて第2疑似入力データを生成し、
前記第2疑似入力データと、前記特定された領域に含まれる前記学習データの前記第1教師データとから構成される新規学習データを生成し、前記記憶部に格納することを特徴とする計算機。
【請求項3】
請求項1に記載の計算機であって、
前記記憶部は、第2入力データおよび第2教師データから構成される評価データを格納し、
前記計算機は、前記記憶部に格納される前記評価データを用いて前記識別器を評価する評価部を備え、
前記生成部は、
前記評価データの前記第2入力データを用いて前記特徴量ベクトルを算出し、
前記評価データの前記特徴量ベクトルに基づいて、前記特徴量空間における前記評価データの分布を分析することによって、前記評価データが疎な領域を特定し、
前記特定された領域に含まれる前記特徴量ベクトルを用いて第2疑似入力データを生成し、
前記第2疑似入力データと、前記特定された領域に含まれる前記評価データの前記第2教師データとから構成される新規評価データを生成し、前記記憶部に格納することを特徴とする計算機。
【請求項4】
請求項1に記載の計算機であって、
前記第1疑似入力データは、前記特徴量空間における前記代表学習データの近傍に位置する前記特徴量ベクトルに基づいて生成されることを特徴とする計算機。
【請求項5】
請求項1に記載の計算機であって、
前記記憶部は、第2入力データおよび第2教師データから構成される評価データを格納
し、
前記計算機は、前記記憶部に格納される前記評価データを用いて前記識別器を評価する評価部を備え、
前記学習部は、第1識別器を生成した後に、前記生成部によって生成された前記学習データが前記記憶部に格納された場合、再度、前記学習処理を実行することによって第2識別器を生成し、
前記評価部は、
前記評価データの前記第2入力データを、前記第1識別器および前記第2識別器に入力して得られた出力値と前記評価データの前記第2教師データとを比較することによって、前記第1識別器および前記第2識別器の前記評価データに対する識別結果を取得し、前記記憶部に格納し、
前記第1識別器および前記第2識別器の前記評価データに対する識別結果に基づいて、前記評価データに対する識別結果の変化を分析し、
前記評価データに対する識別結果の変化の分析結果に基づいて、前記第1識別器および前記第2識別器のいずれを採用するかを決定することを特徴とする計算機。
【請求項6】
請求項5に記載の計算機であって、
前記評価データに対する識別結果の変化の分析結果を提示するための表示情報を生成し、出力する出力部を備えることを特徴とする計算機。
【請求項7】
計算機が実行する、任意の事象を識別する識別器の学習方法であって、
前記計算機は、演算装置、前記演算装置に接続される記憶装置、および前記演算装置に接続されるインターフェースを有し、
前記記憶装置には、第1入力データおよび第1教師データから構成される学習データが格納され、
前記識別器の学習方法は、
前記演算装置が、前記記憶装置に格納される前記学習データを用いて前記識別器を生成するための学習処理を実行する第1のステップと、
前記演算装置が、前記記憶装置に格納される前記学習データを用いて新規学習データを生成し、前記記憶装置に前記新規学習データを格納する第2のステップと、を含み、
前記第2のステップは、
前記演算装置が、前記記憶装置に格納される前記学習データの前記第1入力データを用いて前記識別器が扱う特徴量ベクトルを算出するステップと、
前記演算装置が、前記学習データの前記特徴量ベクトルに基づいて、前記特徴量ベクトルがなす特徴量空間における前記学習データの分布を分析することによって、前記特徴量空間における前記識別器の識別結果が変化する境界を特定するステップと、
前記演算装置が、前記境界の近傍に存在する前記学習データである代表学習データの前記特徴量ベクトルを用いて第1疑似入力データを生成するステップと、
前記演算装置が、前記第1疑似入力データと、前記代表学習データの前記第1教師データとから構成される前記新規学習データを生成するステップと、を含むことを特徴とする識別器の学習方法。
【請求項8】
請求項7に記載の識別器の学習方法であって、
前記第2のステップは、
前記演算装置が、前記特徴量空間における前記学習データの分布の分析結果に基づいて、前記学習データが疎な領域を特定するステップと、
前記演算装置が、前記特定された領域に含まれる前記特徴量ベクトルを用いて第2疑似入力データを生成するステップと、
前記演算装置が、前記第2疑似入力データと、前記特定された領域に含まれる前記学習データの前記第1教師データとから構成される新規学習データを生成するステップと、を
含むことを特徴とする識別器の学習方法。
【請求項9】
請求項7に記載の識別器の学習方法であって、
前記記憶装置には、第2入力データおよび第2教師データから構成される評価データが格納され、
前記識別器の学習方法は、
前記演算装置が、前記評価データの前記第2入力データを用いて前記特徴量ベクトルを算出するステップと、
前記演算装置が、前記評価データの前記特徴量ベクトルに基づいて、前記特徴量空間における前記評価データの分布を分析することによって、前記評価データが疎な領域を特定するステップと、
前記演算装置が、前記特定された領域に含まれる前記特徴量ベクトルを用いて第2疑似入力データを生成するステップと、
前記演算装置が、前記第2疑似入力データと、前記特定された領域に含まれる前記評価データの前記第2教師データとから構成される新規評価データを生成し、前記記憶装置に格納するステップと、
前記演算装置が、前記記憶装置に格納される前記評価データを用いて前記識別器を評価するステップと、を含むことを特徴とする識別器の学習方法。
【請求項10】
請求項7に記載の識別器の学習方法であって、
前記第1疑似入力データは、前記特徴量空間における前記代表学習データの近傍に位置する前記特徴量ベクトルに基づいて生成されることを特徴とする識別器の学習方法。
【請求項11】
請求項7に記載の識別器の学習方法であって、
前記記憶装置は、第2入力データおよび第2教師データから構成される評価データを格納し、
前記識別器の学習方法は、
前記演算装置が、第1識別器を生成した後に、前記新規学習データが前記記憶装置に格納された場合、再度、前記学習処理を実行することによって、第2識別器を生成するステップと、
前記演算装置が、前記評価データの前記第2入力データを、前記第1識別器および前記第2識別器に入力して得られた出力値と前記評価データの前記第2教師データとを比較することによって、前記第1識別器および前記第2識別器の前記評価データに対する識別結果を取得するステップと、
前記演算装置が、前記第1識別器および前記第2識別器の前記評価データに対する識別結果に基づいて、前記評価データに対する識別結果の変化を分析するステップと、
前記演算装置が、前記評価データに対する識別結果の変化の分析結果に基づいて、前記第1識別器および前記第2識別器のいずれを採用するかを決定するステップと、を含むことを特徴とする識別器の学習方法。
【請求項12】
請求項11に記載の識別器の学習方法であって、
前記演算装置が、前記評価データに対する識別結果の変化の分析結果を提示するための表示情報を生成し、出力するステップを含むことを特徴とする識別器の学習方法。
【請求項13】
請求項1乃至請求項6のいずれかの一項に記載の計算機と、前記計算機によって生成された識別器を用いた分析を行う分析装置とを備えることを特徴とする分析システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は任意の事象を識別する識別器の生成技術に関する。
【背景技術】
【0002】
免疫分析装置等を備える自動分析システムは、血液および尿等の試料の成分等を分析するために、試料と試薬を反応させた反応溶液から生じる発色および発光の状態等を測定する。分析に用いられる試料、試薬、および反応溶液等は試験管等の容器に収容され、分注プローブ等の採取部によって容器から採取される。
【0003】
試料または試薬の採取時に液面上に気泡が存在した場合、分注プローブが気泡を液面として誤検知するため、分析に必要な量の試料または試薬を吸引できないという課題がある。これを解決するために、特許文献1に記載された技術が知られている。
【0004】
特許文献1には、「容器に収められた分析対象の試料の状態を判別する装置であって、装置は、試料の画像を取得し、試料の画像を用いて、画像に設定される検出範囲に対する検出対象物の位置および大きさを解析し、解析の結果に基づいて試料の状態を判別する。」ことが記載されている。
【0005】
近年、機械学習を実行して生成された識別器を搭載した製品が市場に出始めている。識別器は、識別器に入力される入力データ(入力信号)および教師データ(教師信号)から構成される学習データのセット(学習データセット)を用いた機械学習により生成される。
【0006】
Neural Network等の識別器(モデル)は構造が複雑であり、人間が挙動を理解することが難しい。そのため、実フィールドで発生した誤識別、新たな容器および試料、または施設毎のカスタマイズおよびチューニングに対応するために、新たな学習データセットを構築して、再度、機械学習を実行して識別器を生成しなおす方法が一般的である。本明細書ではこれを再学習と呼ぶ。
【0007】
再学習を行うことによって、これまで対応できなかった入力データに対する識別精度の向上が見込まれる。しかし、再学習を行った結果、識別器の特性が変わるため、再学習前に正しく認識していた入力データに対して誤った識別結果を出力する可能性がある。特に、入力データおよび教師データから構成され、製品搭載のために厳密に定められた評価データを用いて識別器を評価している場合、その評価データに対する識別の精度が悪化することは好ましくない。尚、評価データを構成する教師データは、正解データとも呼ばれる。
【0008】
これに対して特許文献2および特許文献3に記載の技術が知られている。
【0009】
特許文献2には、「パラメータを用いて推論を行う情報処理装置10であって、入力データを取得するデータ取得部31と、追加学習前のパラメータを記憶する基本パラメータ記憶部41と、推論に使用されるパラメータと基本パラメータとの差分である第1の差分パラメータを記憶する差分パラメータ記憶部40と、基本パラメータに対する追加学習後のパラメータと基本パラメータとの差分を第2の差分パラメータとして計算する追加学習手段42と、前記第1の差分パラメータと前記第2の差分パラメータとに基づいて、差分パラメータ記憶部40に記憶された前記第1の差分パラメータを更新する更新手段43と、基本パラメータと、前記更新手段により更新された差分パラメータとに基づいて生成したモデルパラメータを用いて入力データに対する推論を行う推論部34とを備える。」ことが記載されている。
【0010】
また、特許文献3には、「ニューラルネットワークにより推定対象パラメータ値を推定するパラメータ推定装置において、ニューラルネットワークを、複数の入力パラメータの一部のパラメータにより表される領域ごとに予め定めてあるように結合の仕方を変更して学習を行ったものとし、領域判定手段により受け付けた前記複数の入力パラメータ値のうちの前記一部のパラメータ値から前記領域のいずれに属するかを判定し、経路変更手段により領域判定手段が判定した領域に応じて前記ニューラルネットワークの結合の仕方を学習したときと同じように変更するように構成する。」ことが記載されている。
【先行技術文献】
【特許文献】
【0011】
【文献】特開2019-027927号公報
【文献】特開2017-138808号公報
【文献】特開平11-85719号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかし、特許文献2に記載の技術では、出荷時の識別器の特性を再現することが可能であるが、識別器が実際に識別を行う場合、基本パラメータおよび差分パラメータを加算したパラメータが用いられるため、識別結果の変化は避けられない。
【0013】
また、特許文献3に記載の技術では、入力信号の次元数が少ない場合には適用可能であるが、画像等の多次元信号の場合には膨大な量の識別器を作成する必要があり、現実的でない。また、機械学習においては、汎用的な特徴量および識別性能を獲得するために、より多くの学習データが必要であり、領域毎に学習データを分割することは好ましくない。
【0014】
本発明では、効率的かつ効果的に識別器の識別精度を向上させる識別器の生成方法を提案する。
【課題を解決するための手段】
【0015】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、演算装置、前記演算装置に接続される記憶装置、および前記演算装置に接続されるインターフェースを有し、任意の事象を識別する識別器を生成する計算機であって、第1入力データおよび第1教師データから構成される学習データを格納する記憶部と、前記記憶部に格納される前記学習データを用いて、前記識別器を生成するための学習処理を実行する学習部と、前記学習データを生成する生成部と、を備え、前記生成部は、前記記憶部に格納される前記学習データの前記第1入力データを用いて前記識別器が扱う特徴量ベクトルを算出し、前記学習データの前記特徴量ベクトルに基づいて、前記特徴量ベクトルがなす特徴量空間における前記学習データの分布を分析することによって、前記特徴量空間における前記識別器の識別結果が変化する境界を特定し、前記境界の近傍に存在する前記学習データである代表学習データの前記特徴量ベクトルを用いて第1疑似入力データを生成し、前記第1疑似入力データと、前記代表学習データの前記第1教師データとから構成される新規学習データを生成し、前記記憶部に格納する。
【発明の効果】
【0016】
本発明によれば、効率的かつ効果的に識別精度が向上した識別器を生成できる。上記した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0017】
図1】実施例1の自動分析システムの構成の一例を説明する図である。
図2】実施例1の機械学習装置の機能ブロックの一例を説明する図である。
図3】実施例1の機械学習装置が生成する識別器の構造の一例を示す図である。
図4A】実施例1の再学習前後の識別部の識別結果の変化を説明する図である。
図4B】実施例1の再学習前後の識別部の識別結果の変化を説明する図である。
図5】実施例1の疑似サンプル生成部が実行する処理の一例を説明するフローチャートである。
図6A】実施例1の疑似サンプル生成部が算出した特徴量空間における学習データの分布および分布密度の一例を示す図である。
図6B】実施例1の疑似サンプル生成部が算出した特徴量空間における学習データの分布および分布密度の一例を示す図である。
図7】実施例1の疑似サンプル生成部による生成対象ベクトルの算出方法の一例を示す図である。
図8】実施例2の疑似サンプル生成部が実行する処理の一例を説明するフローチャートである。
図9】実施例2の疑似サンプル生成部が算出する生成対象ベクトルの一例を示す図である。
図10】実施例3の疑似サンプル生成部が実行する処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0018】
以下、添付図面を用いて本発明の実施例について説明する。尚、以下の説明および添付図面において、同一の機能を有する構成要素については、同一の符号を付することにより重複説明を省略する。尚、本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。尚、図面等において示す各構成の位置、大きさ、形状、および範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、および範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、および範囲等に限定されない。
【実施例1】
【0019】
図1は、実施例1の自動分析システム100の構成の一例を説明する図である。自動分析システム100は、機械学習装置101および自動分析装置102を備える。自動分析システム100にはユーザが操作するユーザインターフェース131が接続される。
【0020】
ユーザインターフェース131は、マウスおよびキーボード等の入力装置、並びに、ディスプレイおよびプリンタ等の出力装置から構成される。入力装置および出力装置は別々の装置であってもよい。
【0021】
まず、自動分析装置102の構成について説明する。
【0022】
自動分析装置102は、撮像部124、識別部125、制御部121、採取部122、および分析部123を備える。各ハードウェアは図示しないバスを介して互いに接続される。
【0023】
撮像部124は、容器132と、容器132に収容される採取対象133とを撮像する装置であり、例えばカメラである。容器132は試験管等であり、採取対象133は、血液および尿等の試料、試料に反応させる試薬、並びに試料および試薬を反応させた反応溶液等である。撮像部124は、容器132の開口部側、すなわち容器132の上方に設置され、容器132の上方から容器132および採取対象133を撮像する。撮像部124によって容器132の上方から撮像された画像を上方画像と呼ぶ。
【0024】
上方画像はBMP、PNG、JPEG等の静止画像でもよいし、MPEG、H.264等の動画像から一定の間隔で抽出したフレーム画像でもよい。
【0025】
識別部125は、上方画像を入力データとして識別器に入力することによって、試料および試薬の状態を識別する。例えば、識別部125は、試料採取の妨げとなる試料表面の気泡および異物の有無を識別する。識別器は例えばNeural NetworkおよびSVM(Support Vector Machine)等の機械学習を用いて生成される。
【0026】
制御部121は、識別部125から出力された識別結果に基づいて、採取部122の動作を制御する装置であり、例えば、CPU(Central Processing Unit)等である。
【0027】
採取部122は、容器132から採取対象133を採取する装置であり、例えば、分注プローブ等である。
【0028】
分析部123は、採取対象133を用いた分析を行う装置であり、例えば、免疫分析装置等である。分析部123による分析の結果は、図示しないディスプレイ等に表示される。
【0029】
次に機械学習装置101の構成について説明する。
【0030】
機械学習装置101は、インターフェース部111、演算部112、メモリ113、およびバス114を備える。インターフェース部111、演算部112、メモリ113は、バス114を介して互いに情報の送受信を行う。
【0031】
インターフェース部111は、外部装置と接続する装置である。機械学習装置101は、インターフェース部111を介して自動分析装置102およびユーザインターフェース131と接続する。インターフェース部111は、撮像部124から上方画像を受け付け、また、操作者がユーザインターフェース131を操作して入力した信号を受け付ける。
【0032】
演算部112は、機械学習装置101の各種の処理を実行する装置であり、例えばCPUおよびFPGA(Field-Programmable Gate Array)等である。演算部112によって実行される機能については、図2を用いて説明する。
【0033】
メモリ113は、演算部112が実行するプログラム、プログラムが使用する各種情報(パラメータおよび係数)、および処理結果等を保存する装置であり、HDD(Hard Disk Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、およびフラッシュメモリ等である。また、メモリ113は、プログラムが使用するワークエリアを含む。
【0034】
尚、機械学習装置101は、自動分析システム100とは異なるシステムに備えられてもよい。この場合、機械学習装置101は、ネットワーク等の通信手段を介して自動分析装置102との間で、画像および演算結果等の情報を送受信する。
【0035】
尚、図1では、インターフェース部111は、自動分析装置102の撮像部124および識別部125と直接接続しているが、自動分析装置102にメモリを備え、メモリを介して画像および演算部112の処理結果を送受信する構成でもよい。
【0036】
また、本明細書では機械学習装置101の利用方法の一例として、自動分析装置102を含む自動分析システム100を説明するが、機械学習等を利用した画像認識、画像検知、およびセグメンテーション等を行うシステムであれば、自動分析装置102に限らず、機械学習装置101を利用することが可能である。
【0037】
図2は、実施例1の機械学習装置101の機能ブロックの一例を説明する図である。図3は、実施例1の機械学習装置101が生成する識別器の構造の一例を示す図である。
【0038】
機械学習装置101は、入力部201、記憶部202、学習部203、疑似サンプル生成部204、識別器評価部205、および出力部206を備える。実施例1では、入力部201、記憶部202、学習部203、疑似サンプル生成部204、識別器評価部205、および出力部206は、プログラムを実行する演算部112によって実現されるものとする。尚、前述の各機能部は専用のハードウェアを用いて実現してもよい。
【0039】
入力部201は、自動分析装置102から上方画像を受け付け、記憶部202に保存する。また、入力部201は、受け付けた上方画像を出力部206を介してユーザインターフェース131に出力し、上方画像に対する教師信号をユーザから受け付ける。上方画像に教師信号が紐付けられたデータは学習データとして保存される。
【0040】
教師信号の取得処理は、上方画像を受け付けた場合に行われてもよいし、記憶部202に上方画像が保存されてから一定時間経過した後に複数の上方画像について一括して行われてもよいし、ユーザの要求を受け付けた場合に行われてもよい。
【0041】
出力部206は上方画像および学習結果等を出力する。
【0042】
記憶部202は各種情報を記憶する。具体的には、記憶部202は、自動分析装置102の識別部125が用いる識別器の情報(パラメータおよび係数群)、機械学習により識別器を生成する場合に用いた学習データセット、識別器の評価に用いる評価データセット、評価データを用いた識別器の評価結果、疑似サンプル生成部204が生成する疑似サンプルを記憶する。尚、学習データの一部を評価データとして用いることがある。また、記憶部202は、入力部201が受け付けた上方画像を記憶し、また、上方画像に対して入力された教師信号を当該上方画像に紐付けて記憶する。尚、識別器の評価結果は学習処理の世代毎に格納される。
【0043】
ここで、識別器の評価結果は、評価データに対する泡の有無もしくは確率等の識別結果、または評価データに対する識別精度等とする。
【0044】
学習部203について説明する。
【0045】
学習部203は、自動分析装置102の識別部125が用いる識別器を定義する情報、例えば、Neural Networkの係数群を機械学習を実行することによって生成する。本実施例では、3層の全結合層からなるNeural Networkを識別器として生成する機械学習を一例として説明する。
【0046】
図3に示すネットワーク300は、入力層301、隠れ層302、および出力層303の3層の全結合層から構成されるNeural Networkを示す。各層は、一つ以上のユニットを含む。
【0047】
入力層301は、入力信号を受け付ける層であり、例えば、上方画像の各ピクセルの輝度が各ユニットに入力される。
【0048】
隠れ層302は、入力信号から特徴量を得る層である。例えば、隠れ層302のユニットは、入力層301の各ユニットから受け付けた入力信号Xi、重みWji、バイアスbjを式(1)に代入し、特徴量Yjを算出する。
【0049】
【数1】
【0050】
ここで、Nは上方画像のピクセル数を表す。関数fは活性化関数であり、例えばSigmoid関数、tanh関数、およびReLU関数等である。
【0051】
出力層303は、最終的な出力を得る層である。例えば、隠れ層302の特徴量Yj、重みWkj、およびバイアスbkを式(2)に代入し、最終出力Zkを算出する。
【0052】
【数2】
【0053】
ここで、Hは隠れ層302のユニット数を表す。また、softmaxは確率を算出する関数であり、式(3)のように定義される。
【0054】
【数3】
【0055】
ここで、Mは識別結果のクラス数を表す。
【0056】
Neural Networkでは、一般的に、最終出力Zkと教師信号Tとの差分を表す損失関数を算出し、損失関数が極小になる重みWjiおよび重みWkjを勾配降下法に基づいて求める。損失関数としてはNegative Log LikelihoodおよびHinge Loss等を用いる。
【0057】
本明細書では勾配降下法に基づいて重みWjiおよび重みWkj等の係数群を更新する処理を学習と呼ぶ。また、隠れ層302の各ユニットから出力される特徴量Yjから構成されるベクトルを特徴量ベクトルと呼ぶ。
【0058】
記憶部202には、上記で説明した学習により算出された係数群が識別器の情報として記憶されているものとする。
【0059】
尚、ネットワーク300は、一例として3層の全結合層からなるNeural Networkを用いたが、隠れ層の数を増やしてもよいし、全結合層ではなくConvolutional Neural Network等を用いてもよい。この場合、特徴量は出力層の直前の隠れ層(最終隠れ層)の出力信号を指す。
【0060】
また、実施例1の学習部203は、記憶部202に予め保存された学習データセット、入力部201から新たに入力された上方画像およびこれに紐付く教師信号、および後述する疑似サンプル生成部204が生成する学習データを用いた再学習を実行する。これによって、再学習の実行前に記憶部202に記憶される係数群(識別器)を用いた場合よりも高い識別精度の係数群を求めることができる。
【0061】
機械学習において、識別器の頑健性を向上する手法として、学習データのパターン数を増やす、学習データの追加が行われる。学習データの追加とは、学習データの位置、回転角度、および輝度等の摂動の手法に基づく学習データの生成、並びに生成器等を用いた学習データの生成を指す。
【0062】
学習データの追加は識別器の頑健性を向上する効果がある。しかし、上述の位置、回転角度、輝度等の摂動の組合せのパターン数は膨大であり、全ての組合せの学習データを学習に使用することは現実的ではない。一方、どのような学習データが識別器の識別精度の向上に効果的であるかは判断が難しい。また、追加された学習データを用いた再学習によって以下のような課題もある。図4Aおよび図4Bは、実施例1の再学習前後の識別部125の識別結果の変化を説明する図である。
【0063】
ここでは、気泡の有無を識別する識別器を例に説明する。当該識別器は、「泡有り」および「泡無し」の確率を出力する。
【0064】
図4Aおよび図4Bは、特徴量空間400に学習データおよび評価データをプロットした図を示す。特徴量空間400では、学習データおよび評価データは特徴量ベクトルとして表される。以下の説明では、学習データおよび評価データの入力データを区別しない場合、サンプルと呼ぶ。図4Aおよび図4Bでは、識別器の教師信号の種類をサンプルの形状(丸および四角)として表現している。また、学習データは白色で表現し、評価データは黒色で表現している。
【0065】
識別面401は、特徴量空間400における各クラスの識別結果の境界を表す。識別面401の上側に位置するサンプルは「泡有り」と判定されたサンプルを示し、識別面401の下側に位置するサンプルは「泡無し」と判定されたサンプルを示す。
【0066】
識別器が出力する「泡有り」および「泡無し」の確率の視点で見た場合、識別面401に位置するサンプルは両方の確率が同値であり、識別面401の上側に位置するサンプルは「泡有り」の確率が優位であり、識別面401の下側に位置するサンプルは「泡無し」の確率が優位であることを示す。
【0067】
図4Aは、再学習前の特徴量空間400および識別面401の一例である。
【0068】
学習データ402および学習データ403は、識別器の学習に使用されるデータである。学習データ402は教師信号が「泡有り」である学習データを表し、学習データ403は教師信号が「泡無し」である学習データを表す。
【0069】
学習部203は、学習データ402、403に対して正しい識別結果を出力するように識別器を更新する。学習データ402、403を用いた学習の結果、識別面401が形成される。
【0070】
評価データ404および評価データ405は、識別器を評価するために用いられるデータで有り、学習時には参照されない。評価データに対する識別器の識別精度および識別結果が識別器の性能として重要視される。評価データ404は教師信号が「泡有り」である評価データを表し、評価データ405は教師信号が「泡無し」である評価データを表す。
【0071】
図4Aでは、評価データ404は識別面401の上側に位置し、また、評価データ405は識別面401の下側に位置しており、識別器は正しく識別結果を出力していることを示す。
【0072】
図4Bは、再学習後の特徴量空間400および識別面401の一例である。
【0073】
再学習によって識別面401が図4Aの識別面401から変化する。識別器は、学習データ402および学習データ403については、再学習前と同様に正しく識別できている。しかし、丸枠で示す評価データ404は識別面401の下側に位置しており、識別結果が「泡無し」となっている。このように再学習により識別面401が変化することによって、再学習前には発生しなかった誤識別が発生する場合がある。
【0074】
前述のような識別面401が変化する理由は、学習データの構成、学習の順序、識別器の構成、識別器の重みの初期値、学習の収束方法、および学習回数等、様々な要因がある。
【0075】
識別面401を再学習前後で類似させる方法の一つとして転移学習という手法がある。通常の学習では重みの初期値は乱数を用いるが、転移学習は再学習前の識別器の係数群を再学習の初期値として用いる。これによって再学習前の識別面401を出発点とするため、識別面401を維持しやすい。ただし、再学習前の識別器では正しく識別できないサンプル群に対する識別面を正すことが再学習の大きな目的であるにも関わらず、転移学習の場合は正しく識別できない状態から学習を開始するため、乱数から学習を開始するよりも、誤識別に対する識別精度の向上が難しい場合がある。
【0076】
上述の課題を解決するために後述する疑似サンプル生成部204が、特徴量空間400における学習データの分布に基づいて再学習用の学習データを生成する。
【0077】
実施例1では、特徴量空間400の学習データの分布密度が高い領域に対して、再学習前の識別面401を再現するための疑似サンプル(入力データ)を生成する。これによって、学習データが密集した領域における識別面401の変化を抑制し、かつ、再学習前では識別器が正しく識別できなかったサンプル(すなわち学習が不十分な領域)に対しては、再学習により識別精度を向上できる。
【0078】
再学習の実行タイミングとしては、新たな上方画像および教師データの組が記憶部202に一定数保存された場合、誤識別の上方画像が一定数保存された場合等が考えられる。また、ユーザまたはシステム管理者によるユーザインターフェース131または通信装置等を用いた再学習の開始指示を、入力部201を介して受け付けた場合に、再学習を実行してもよい。
【0079】
次に、疑似サンプル生成部204について説明する。
【0080】
図5は、実施例1の疑似サンプル生成部204が実行する処理の一例を説明するフローチャートである。図6Aおよび図6Bは、実施例1の疑似サンプル生成部204が算出した特徴量空間における学習データの分布および分布密度の一例を示す図である。図7は、実施例1の疑似サンプル生成部204による生成対象ベクトルの算出方法の一例を示す図である。
【0081】
疑似サンプル生成部204は、特徴量空間における学習データの分布密度を算出する(ステップS501)。ここで、特徴量は、図3における隠れ層302の出力を指し、特徴量空間は、H個の特徴量を軸とするH次元の空間である。具体的には、以下のような処理が実行される。
【0082】
疑似サンプル生成部204は、学習データ(入力データ)をネットワーク300に入力することによって学習データの特徴量ベクトルを取得し、ワークエリアに記録する。
【0083】
疑似サンプル生成部204は、特徴量ベクトル群を用いて学習データの分布密度を算出する。分布密度の算出方法の一例としては、特徴量空間の部分空間を抽出するH次元のカーネルを用いて、特徴量空間内を走査しながらカーネル内に含まれるデータの個数を計数する方法がある。
【0084】
また、疑似サンプル生成部204は、特徴量ベクトル群および学習データの教師データに基づいて境界面を特定する。境界面を特定する方法は、例えば、最小自乗法を用いて求める方法がある。
【0085】
尚、特徴量ベクトルの次元数が大きい場合、境界面を特定するための演算時間が長くなり、また、必要な計算機リソース量も多くなる。したがって、演算時間および計算機リソース量に応じて、特徴量ベクトルの次元数を削減してもよい。例えば、主成分分析を実行することによって、特徴量ベクトルの次元数を削減する方法がある。
【0086】
図6Aおよび図6Bでは説明の簡単のためH=2と仮定した。図6Aに示す学習データ分布601は、特徴量Y0および特徴量Y1を軸とする特徴量空間における学習データの分布を示す。学習データ分布601に対してカーネルサイズ11x11、カーネルのスライド幅5x5として、学習データの分布密度を求めた結果が図6Bに示す分布密度602である。カーネル内の密度が低い程白く、高い程黒く表示している。
【0087】
以上がステップS501の処理の説明である。
【0088】
次に、疑似サンプル生成部204は、学習データの分布密度に基づいて、識別面の近傍に位置する代表学習データを抽出する(ステップS502)。具体的には、以下のような処理が実行される。
【0089】
疑似サンプル生成部204は、学習データの分布密度が高い領域を特定する。特定方法としては、例えば、予め閾値を設け、分布密度が閾値以上の領域を選択する手法がある。
【0090】
疑似サンプル生成部204は、特定した領域の代表点を決定する。代表点としては、例えば、特定された各領域内の分布密度の極大点または重心点等を用いる。
【0091】
疑似サンプル生成部204は、特徴量空間において、代表点との位置が最も近い学習データを抽出する。以下の説明では、抽出された学習データの入力データを近傍サンプルと呼ぶ。
【0092】
近傍サンプル群は識別面の形成位置に大きく影響するサンプル群である。本実施例では、近傍サンプル同士の位置関係を維持するように疑似サンプルを生成することによって、再学習後の識別面が再学習前の識別面を再現しやすくする。
【0093】
以上がステップS502の処理の説明である。
【0094】
次に、疑似サンプル生成部204は、疑似サンプルを生成するための特徴量ベクトルを算出する(ステップS503)。以下の説明では、この特徴量ベクトルを生成対象ベクトルと呼ぶ。具体的には以下のような処理が実行される。
【0095】
疑似サンプル生成部204は、「泡無し」の教師データと紐付く各近傍サンプルに対して、「泡無し」の教師データと紐付く各近傍サンプルとの間の距離が最も短く、かつ、「泡有り」の教師データと紐付く近傍サンプルを特定する。以下の説明では、「泡無し」の教師データと紐付く近傍サンプルを第1近傍サンプルと呼び、「泡有り」の教師データと紐付く近傍サンプルを第2近傍サンプルと呼ぶ。
【0096】
疑似サンプル生成部204は、第1近傍サンプルの特徴量ベクトルFAと、特定された第2近傍サンプルの特徴量ベクトルFBを式(4)および式(5)に代入することによって、生成対象ベクトルFA’および生成対象ベクトルFB’を算出する。
【0097】
【数4】
【0098】
【数5】
【0099】
ここで、(FB-FA)は特徴量ベクトルFAを原点とした場合の特徴量ベクトルFBの位置を表す特徴量空間上のベクトルである。係数aおよび係数bは生成対象ベクトルFA’と生成対象ベクトルFB’に対する摂動の大きさを決定する係数であり、識別面からの距離に応じて設定される。具体的な設定例は後述する。
【0100】
図7を用いて、近傍サンプルおよび生成対象ベクトルの関係について詳しく説明する。
【0101】
近傍サンプル701は第1近傍サンプルを示し、近傍サンプル702は第2近傍サンプルを示す。近傍サンプル701の特徴量ベクトルがFA、近傍サンプル702の特徴量がFBである。近傍サンプル701は識別面703から距離DAだけ離れた座標に位置し、近傍サンプル702は識別面703から距離DBだけ離れた座標に位置する。生成対象ベクトルFA’704および生成対象ベクトルFA’’706は第1近傍サンプル701から生成された生成対象ベクトルであり、生成対象ベクトルFB’705および生成対象ベクトルFB’’707は第2近傍サンプル702から生成された生成対象ベクトルである。
【0102】
生成対象ベクトルFA’704は式(4)に基づいて算出され、生成対象ベクトルFB’705は式(5)に基づいて算出されたベクトルである。ここで、式(6)に係数aの算出例を示す。
【0103】
【数6】
【0104】
式(6)によれば係数aは距離DAに比例した値となる。rは距離DAとaに関する比例定数であり、0.0から1.0の間の実数値を取る。図7ではr=0.3としている。したがって、式(4)により算出された生成対象ベクトルFA’704は、第1近傍サンプル701から第2近傍サンプル702の方向に向かって、DA*0.3だけ特徴量ベクトルFAを移動した座標に位置する。
【0105】
式(6)は係数aについて記述しているが、距離DAを距離DB、係数aを係数bと読み替えることで係数bにも適用できる。したがって、式(5)により算出された生成対象ベクトルFB’705は、第2近傍サンプル702から第1近傍サンプル701の方向に向かって、DB*0.3だけ特徴量ベクトルFBを移動した座標に位置する。
【0106】
このように識別面703からの距離に比例して広い範囲に生成対象ベクトルを配置することによって、再学習後の識別面が近傍サンプルに過度に近づくことを抑制できるため、近傍サンプルとの位置関係を維持した識別面を再現することが可能となる。
【0107】
また、分布の中心位置を維持するために、式(7)、(8)に示すように生成対象ベクトルFA’’706および生成対象ベクトルFB’’707を生成してもよい。生成対象ベクトルFA’704および生成対象ベクトルFB’705の算出式である式(4)、(5)とは係数の符号が正負逆転している点に注意されたい。
【0108】
【数7】
【0109】
【数8】
【0110】
分布中心である第1近傍サンプル701および第2近傍サンプル702の両側に学習データを追加することによって、近傍サンプル701および近傍サンプル702の特徴量空間上での位置の変化が抑制される。
【0111】
また、上記では生成対象ベクトルを一対ずつ生成する例を説明したが、生成対象ベクトルを複数生成してもよい。式(9)に複数の生成対象ベクトルを生成する場合の係数aの算出式の一例を示す。
【0112】
【数9】
【0113】
a’は係数aの値域の最大値を表し、例えば、式(6)で算出される値をa’とすることで、係数aを0からa’の間でランダムに変化させながら複数の生成対象ベクトルを生成することが可能となる。また、上記では距離に応じて生成対象ベクトルの位置を変化させる例を説明したが、距離に応じて生成対象ベクトルの生成数を変化させてもよい。
【0114】
以上がステップS503の処理の説明である。
【0115】
次に、疑似サンプル生成部204は、生成対象ベクトルに基づいて、入力データである上方画像(疑似サンプル)を生成し、さらに、当該上方画像を含む学習データを生成する(ステップS504)。生成された学習データは記憶部202に保存される。具体的には以下のような処理が実行される。
【0116】
疑似サンプル生成部204は、生成対象ベクトルの算出元である近傍サンプルを複製して追加サンプルIとする。
【0117】
疑似サンプル生成部204は、式(10)に基づいて追加サンプルIを更新する。
【0118】
【数10】
【0119】
ここで、Itは時刻t、It+1は時刻t+1における追加サンプルIを表す。ZはステップS503にて算出された生成対象ベクトル、Ftは追加サンプルItをネットワーク300に入力して得た特徴量を表す。式(10)の演算を繰り返し実行して、Itを更新することによって、生成対象ベクトルを出力する画像を生成できる。
【0120】
疑似サンプル生成部204は、生成された画像(疑似サンプル)と教師信号とを紐付けることによって学習データを生成する。尚、生成した画像に紐付ける教師信号は、追加サンプルIの複製元である近傍サンプルの教師信号を用いる。
【0121】
尚、上記は生成方法の一例であり、GAN(Generative Adversarial Networks)およびVAE(Variational AutoEncoder)等の生成器を用いて疑似サンプルを生成してもよい。生成器をgとした場合、式(11)で示す更新式により、上記と同様に画像(入力データ)を生成できる。
【0122】
【数11】
【0123】
ここでRtは時刻tにおける生成器への入力ベクトルであり、生成器gはRtを入力として追加サンプルIと同じ次元数の生成データg(Rt)を生成する。またF(g(Rt))は生成データg(Rt)を識別器に入力して得られた特徴量ベクトルを表す。
【0124】
前述したフローにより生成された学習データ群を学習データセットに加えることによって、近傍サンプル間の位置関係が維持され、再学習前の識別面と同様の識別面を再現できる。
【0125】
尚、疑似サンプル生成部204は、学習データが密な領域に対してのみ学習データを生成する。したがって学習データが密な領域、すなわち、識別結果の信頼度が高い領域に対してのみ識別面を再現することができる。一方、学習データが疎な領域については再学習により識別精度が向上する。
【0126】
次に、識別器評価部205について説明する。
【0127】
識別器評価部205は、再学習前の識別器および再学習後の識別器の各々の識別結果を比較し、比較結果に基づいて、自動分析装置102の識別部125に適用する識別器を決定する。
【0128】
ここで、評価方法の一例を説明する。識別器評価部205は、記憶部202に、再学習前の識別器の評価データに対する評価結果を予め記憶しておく。識別器評価部205は、学習部203によって新たに生成された識別器を用いて記憶部202に保存された評価データに対する評価結果を得る。識別器評価部205は、再学習前後の識別器の識別精度、または誤識別のサンプルの差異を検証し、識別部125に適用する識別器を決定する。
【0129】
例えば、識別器評価部205は、再学習により新たな誤識別が発生していないことを検証するために、再学習後の識別器における誤識別のサンプルの集合が再学習前の識別器における誤識別のサンプルの集合に包含されることを確認し、新たな誤識別が発生していない場合、再学習後の識別器を採用する方法等がある。式(12)に評価式の一例を示す。
【0130】
【数12】
【0131】
Mβは再学習後の識別器の誤識別集合、Mαは再学習前の識別器の誤識別集合、||は集合の要素数、マイナスは差集合を求める操作、ThMは誤識別数に対する許容数を表す。
【0132】
例えば、式(12)を満たす場合、識別器評価部205は、再学習後の識別器を採用し、式(12)を満たさない場合、識別器評価部205は、再学習前の識別器を採用する。ThMに0を設定した場合、新たな誤識別が発生しないことが識別器の更新の条件となり、再学習および識別器更新による識別精度の低下が無いことを保証できる。
【0133】
その他に、再学習後の識別器の識別精度が再学習前の識別器の識別精度以上であるか否かを確認する手法を用いてもよい。式(13)に評価式を示す。
【0134】
【数13】
【0135】
AαおよびAβは再学習前および再学習後の評価データに対する識別精度、ThAは識別精度に対する閾値を表す。
【0136】
式(13)を満たす場合、識別器評価部205は、再学習後の識別器を採用し、式(13)を満たさない場合、識別器評価部205は、再学習前の識別器を採用する。
【0137】
また、評価データを複数のセットに分割し、セット毎に評価方法を切り替えてもよい。例えば、識別が容易な評価データまたは分析に大きく影響する評価データ等を第1セット、識別が困難な評価データまたは識別を失敗しても影響が少ない評価データを第2セットに分割し、第1セットに対しては新たな誤識別が発生していないこと、第2セットに対しては識別精度が低下していないことを検証して、両者を満たすか否かを検証する手法でもよい。また、各セットの識別精度および誤識別数に対する重みを予め設定し、識別精度および誤識別の数に重みを乗算した値の合計値に基づいて総合的な評価を行う手法でもよい。
【0138】
識別器評価部205は、出力部206を介して、評価結果を出力する。例えば、識別器評価部205は、再学習前後の識別器の誤識別の変化を示す情報を評価結果として出力する。また、識別器評価部205は、採用した識別器の情報を評価結果として出力する。
【0139】
実施例1によれば、機械学習装置101は、特徴量空間の学習データの分布密度が高い領域に対して識別面を再現するための新たな学習データを生成する。また、機械学習装置101は、新たな学習データが追加された学習データセットを用いて再学習を実行することによって、学習データが密な領域の識別結果の変動を抑制しつつ、学習データが疎な領域の識別精度を効率的に向上できる。すなわち、効率的かつ効果的に識別器の識別精度を向上できる。
【実施例2】
【0140】
実施例2では、機械学習装置101は、境界面に基づいて生成された学習データに加えて、特徴量空間の学習データの分布密度が低い領域に対して学習データを追加する。
【0141】
特徴量空間における学習データの分布は識別面の生成に直接的に影響するため、実施例2の機械学習装置101は、特徴量空間の学習データの分布密度が低い領域に学習データを生成する。学習データ(入力データ)そのものにより形成される入力空間における学習データの分布密度は、識別器が扱う特徴量が形成する特徴量空間での学習データの分布密度とは大きく異なる傾向がある。そのため、入力空間の学習データの分布密度に基づいて学習データを追加したとしても、識別器の識別精度が向上するとは限らない。
【0142】
以下、実施例1との差異を中心に実施例2について説明する。
【0143】
実施例2の自動分析システム100の構成は実施例1と同一である。実施例2の機械学習装置101のハードウェア構成および機能ブロック構成は実施例1と同一である。また、実施例2の自動分析装置102のハードウェア構成および機能ブロック構成は実施例1と同一である。
【0144】
実施例2では、機械学習装置101が有する機能ブロックのうち、疑似サンプル生成部204が実行する処理が一部異なる。他の機能ブロックは実施例1と同一である。
【0145】
図8は、実施例2の疑似サンプル生成部204が実行する処理の一例を説明するフローチャートである。図9は、実施例2の疑似サンプル生成部204が算出する生成対象ベクトルの一例を示す図である。
【0146】
ステップS501からステップS504までの処理は実施例1と同一であるため、説明を省略する。
【0147】
ステップS504の処理が終了した後、疑似サンプル生成部204は、学習データの分布密度が低い領域の生成対象ベクトルを算出する(ステップS801)。具体的には、以下のような処理が実行される。
【0148】
疑似サンプル生成部204は、学習データの分布密度が低い領域を特定する。特定方法は、例えば、予め閾値を設け、分布密度が閾値未満の領域を選択する手法がある。
【0149】
疑似サンプル生成部204は、特定された領域からランダムに複数の点を選択し、選択された点を生成対象ベクトルとして算出する。選択する点の数を決定する方法は、例えば、特定された領域を複数のグリッドに分割し、各グリッドに含まれる学習データの数が等しくなるように選択する方法がある。
【0150】
図9に生成対象ベクトルの算出方法について説明する。図9では、学習データ分布601からY0が25以上40未満、かつ、Y1が25以上50未満の部分領域901を示す。当該部分領域901は、分布密度602が0から2であり、学習データの分布密度が低い領域である。四角印は学習データの特徴量ベクトルを表し、バツ印は生成対象ベクトルを表す。図9では、特徴量空間を一定幅で区切ったグリッドに、学習データ(学習データの特徴量ベクトルおよび生成対象ベクトル)が3個含まれるように生成対象ベクトルが算出される。すなわち、密度が低い領域程多くの生成対象ベクトルが算出される。
【0151】
以上がステップS801の処理の説明である。
【0152】
次に、疑似サンプル生成部204は、生成対象ベクトルに基づいて画像(疑似サンプル)を生成し、当該画像を含む学習データを生成する(ステップS802)。生成された学習データは記憶部202に保存される。ステップS802の処理はステップS504と同様であるため説明を省略する。このとき、生成された画像に紐付ける教師信号は、特定された領域に含まれる学習データの教師信号を用いる。尚、ユーザが生成された画像を参照し、教師信号を入力するようにしてもよい。
【0153】
ステップS801、ステップS802の処理によって、特徴量空間の学習データの分布密度の低い領域に対して重点的に学習データを追加することができる。
【0154】
実施例2によれば、機械学習装置101は、特徴量空間の学習データの分布密度が高い領域では境界面を維持するような学習データを追加し、また、特徴量空間の学習データの分布密度が低い領域に対して学習データを追加する。また、機械学習装置101は、新たに学習データが追加された学習データセットを用いて再学習を実行することによって、効率的に識別器の識別精度を向上できる。
【実施例3】
【0155】
実施例3は、特徴量空間の評価データの分布密度が低い領域に対して評価データを追加する。
【0156】
機械学習により生成された識別器の評価では、評価データの網羅性が重要となる。しかし、実施例2でも述べたように、入力空間において網羅的に評価データを分布させても、特徴量空間では評価データの分布が異なる。そのため、特徴量空間において、評価データの分布の疎な領域および密な領域、または、評価データが存在しない領域が発生する可能性がある。この場合、十分な頑健性を担保できない。したがって、識別器を搭載した製品(自動分析装置102)が出荷された後に誤識別が発生する可能性がある。
【0157】
そこで、実施例3では実施例2で述べた手法を応用して、識別器の評価の質を向上するための評価データを生成する。
【0158】
以下、実施例1および実施例2との差異を中心に実施例3について説明する。
【0159】
実施例3の自動分析システム100の構成は実施例1と同一である。実施例3の機械学習装置101のハードウェア構成および機能ブロック構成は実施例1と同一である。また、実施例3の自動分析装置102のハードウェア構成および機能ブロック構成は実施例1と同一である。
【0160】
実施例3では、機械学習装置101が有する機能ブロックのうち、疑似サンプル生成部204および識別器評価部205が実行する処理が一部異なる。他の機能ブロックは実施例1と同一である。
【0161】
まず、疑似サンプル生成部204について説明する。図10は、実施例3の疑似サンプル生成部204が実行する処理の一例を説明するフローチャートである。
【0162】
疑似サンプル生成部204は、特徴量空間における評価データの分布密度を算出する(ステップS1001)。ステップS1001の処理は、ステップS501の処理の対象を評価データに置き換えた処理である。
【0163】
次に、疑似サンプル生成部204は、評価データの分布密度が低い領域の生成対象ベクトルを算出する(ステップS1002)。ステップS1002の処理は、ステップS801の処理の対象を評価データに置き換えた処理である。
【0164】
次に、疑似サンプル生成部204は、生成対象ベクトルに基づいて画像(疑似サンプル)を生成し、当該画像を含む評価データを生成する(ステップS1003)。生成された評価データは記憶部202に保存される。ステップS1003の処理はステップS802の処理の対象を評価データに置き換えた処理である。
【0165】
図10で説明した処理を実行することによって、特徴量空間における評価データの分布密度が低い領域に対して重点的に評価データを追加することができる。
【0166】
次に、識別器評価部205について説明する。識別器評価部205は、記憶部202に予め保存された評価データと、疑似サンプル生成部204によって生成された評価データとを用いて識別器を評価する。識別器の評価方法は、評価データの総合的な識別精度および誤識別について評価する方法でもよいし、評価データを別々の評価データセットとして評価する手法でもよい。識別精度および誤識別の検証方法、複数の評価データセットを用いた評価方法については、実施例1にて説明した手法を同様である。
【0167】
実施例3によれば、機械学習装置101は、特徴量空間の評価データの分布密度が低い領域に対して評価データを追加する。既存の評価データおよび追加された評価データを用いて識別器を評価することによって、識別器の頑健性をより正確に評価することができる。
【0168】
尚、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0169】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、およびそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0170】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。
【0171】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0172】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0173】
100 自動分析システム
101 機械学習装置
102 自動分析装置
111 インターフェース部
112 演算部
113 メモリ
114 バス
121 制御部
122 採取部
123 分析部
124 撮像部
125 識別部
131 ユーザインターフェース
132 容器
133 採取対象
201 入力部
202 記憶部
203 学習部
204 疑似サンプル生成部
205 識別器評価部
206 出力部
300 ネットワーク
301 入力層
302 隠れ層
303 出力層
図1
図2
図3
図4A
図4B
図5
図6A
図6B
図7
図8
図9
図10