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

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

▶ セイコーエプソン株式会社の特許一覧

特許7600757機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム
<>
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図1
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図2
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図3
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図4
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図5
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図6
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図7
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図8
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図9
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図10
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図11
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図12
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図13
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図14
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図15
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図16
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図17
  • 特許-機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラム
(51)【国際特許分類】
   G06N 3/02 20060101AFI20241210BHJP
【FI】
G06N3/02
【請求項の数】 9
(21)【出願番号】P 2021029826
(22)【出願日】2021-02-26
(65)【公開番号】P2022131085
(43)【公開日】2022-09-07
【審査請求日】2023-12-12
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】渡邊 亮基
(72)【発明者】
【氏名】倉沢 光
(72)【発明者】
【氏名】西村 秦
(72)【発明者】
【氏名】金澤 佳奈
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2019-212296(JP,A)
【文献】特開2020-166813(JP,A)
【文献】特開2022-118781(JP,A)
【文献】佐々木 駿也 ほか,多分木によるニューラルネットワークのホワイトボックス化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2020年01月10日,第119巻,第328号,79-84頁
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02
(57)【特許請求の範囲】
【請求項1】
複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別する方法であって、
(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについて準備する工程と、
(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する工程と、
を含み、
前記工程(b)は、
(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する工程と、
(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する工程と、
(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する工程と、
(b4)前記説明文を出力する工程と、
を含む、コンピュータが実行する方法。
【請求項2】
請求項1に記載の方法であって、
前記特定層は、第1軸と第2軸の2つの軸で規定された平面に配置されたベクトルニューロンが、前記2つの軸とは異なる方向の第3軸に沿って複数のチャンネルとして配置されている構成を有し、
前記特定層において、前記第1軸の位置と前記第2軸の位置で規定される平面位置で特定され、前記第3軸に沿った前記複数のチャンネルを含む領域を、部分領域と呼ぶとき、
前記特徴スペクトルは、前記特定層に含まれる複数の部分領域のうちの各部分領域について、
(i)当該部分領域に含まれる各ベクトルニューロンの出力ベクトルの複数の要素値を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第1種の特徴スペクトルと、
(ii)前記第1種の特徴スペクトルの各要素値に、前記出力ベクトルのベクトル長さに相当する正規化係数を乗じることによって得られる第2種の特徴スペクトルと、
(iii)前記正規化係数を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第3種の特徴スペクトルと、
のうちのいずれかとして求められる、方法。
【請求項3】
請求項2に記載の方法であって、
前記工程(b2)で得られる前記類似度は、前記部分領域毎に求められる局所類似度である、方法。
【請求項4】
請求項3に記載の方法であって、
Ns,Ndをそれぞれ2以上の整数とし、Nd≦Nsとし、Ncを1以上の整数としたとき、
前記工程(b3)は、
前記特定層に含まれる前記複数の部分領域のうちの少なくとも一部のNs個の部分領域に対するNs個の局所類似度から、前記局所類似度よりも階調数が少ないNd個のテーブル入力データを作成する第1工程と、
前記Nd個のテーブル入力データを、予め準備された文字列ルックアップテーブルに入力することによって、前記文字列ルックアップテーブルから出力されるNc個の文字列を得る第2工程と、
前記Nc個の文字列を、Nc個の文字列枠を有する説明文テンプレートに適用することによって、前記説明文を作成する第3工程と、
を含む、方法。
【請求項5】
請求項4に記載の方法であって、
前記整数Ndは、前記整数Nsよりも小さく、
前記第1工程は、
前記Ns個の局所類似度をNd個のグループにグループ化するとともに、各グループの局所類似度の代表値を求めることによって、Nd個の代表類似度を求める工程と、
前記Nd個の代表類似度の階調数を低減することによって、前記Nd個のテーブル入力データを作成する工程と、
を含む方法。
【請求項6】
請求項3~5のいずれか一項に記載の方法であって、
各部分領域に対する前記局所類似度は、
前記被判別データに応じて、前記特定層の当該部分領域の出力から得られる前記特徴スペクトルと、前記特定層及び各クラスに関連付けられたすべての前記既知特徴スペクトルとの類似度である第1種の局所類似度と、
前記被判別データに応じて、前記特定層の当該部分領域の出力から得られる前記特徴スペクトルと、前記特定層の当該部分領域及び各クラスに関連付けられたすべての前記既知特徴スペクトルとの類似度である第2種の局所類似度と、
のいずれかとして算出される、方法。
【請求項7】
請求項1~6のいずれか一項に記載の方法であって、
前記工程(b4)は、
前記機械学習モデルで判別可能な複数のクラスのうちの2以上のクラスに関して、前記クラス判別結果と前記説明文とを並べた判別結果リストを表示する工程を含む、方法。
【請求項8】
複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別するクラス判別処理を実行する情報処理装置であって、
前記機械学習モデルを記憶するメモリーと、
前記機械学習モデルを用いた演算を実行するプロセッサーと、
を備え、
前記プロセッサーは、
(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについて前記メモリーから読み出す処理と、
(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する処理と、
を実行するように構成されており、
前記処理(b)は、
(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する処理と、
(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する処理と、
(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する処理と、
(b4)前記説明文を出力する処理と、
を含む、情報処理装置。
【請求項9】
複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別するクラス判別処理をプロセッサーに実行させるコンピュータープログラムであって、
(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについてメモリーから読み出す処理と、
(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する処理と、
を前記プロセッサーに実行させるコンピュータープログラムであり、
前記処理(b)は、
(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する処理と、
(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する処理と、
(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する処理と、
(b4)前記説明文を出力する処理と、
を含む、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習モデルを用いて被判別データのクラスを判別する方法、情報処理装置、及び、コンピュータープログラムに関する。
【背景技術】
【0002】
特許文献1,2には、ベクトルニューロンを用いるベクトルニューラルネットワーク型の機械学習モデルとして、カプセルネットワークと呼ばれるものが開示されている。ベクトルニューロンとは、入出力がベクトルであるニューロンを意味する。カプセルネットワークは、カプセルと呼ばれるベクトルニューロンをネットワークのノードとする機械学習モデルである。カプセルネットワークなどのベクトルニューラルネットワーク型の機械学習モデルは、入力データのクラス判別に利用することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許第5210798号公報
【文献】国際公開2019/083553号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、機械学習モデルを用いてクラス判別が行われた場合に、クラス判別の結果は出力されるものの、出力されたクラスの判別根拠が不明であり、判別根拠を知ることは困難である。
【課題を解決するための手段】
【0005】
本開示の第1の形態によれば、複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別する方法が提供される。この方法は、(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについて準備する工程と、(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する工程と、を含む、コンピュータが実行する方法である。前記工程(b)は、(b1)前記機械Nsは1以上に設定可能であれば、2以上とすることが好ましい。学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する工程と、(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する工程と、(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する工程と、(b4)前記説明文を出力する工程と、を含む。
【0006】
本開示の第2の形態によれば、複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別するクラス判別処理を実行する情報処理装置が提供される。この情報処理装置は、前記機械学習モデルを記憶するメモリーと、前記機械学習モデルを用いた演算を実行するプロセッサーと、を備える。前記プロセッサーは、(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについて前記メモリーから読み出す処理と、(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する処理と、を実行するように構成されている。前記処理(b)は、(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する処理と、(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する処理と、(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する処理と、(b4)前記説明文を出力する処理と、を含む。
【0007】
本開示の第3の形態によれば、複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別するクラス判別処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについてメモリーから読み出す処理と、(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する処理と、を前記プロセッサーに実行させるコンピュータープログラムである。前記処理(b)は、(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する処理と、(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する処理と、(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する処理と、(b4)前記説明文を出力する処理と、を含む。
【図面の簡単な説明】
【0008】
図1】第1実施形態におけるクラス判別システムのブロック図。
図2】情報処理装置のブロック図。
図3】機械学習モデルの構成を示す説明図。
図4】機械学習モデルの他の構成を示す説明図。
図5】機械学習モデルの準備工程を示すフローチャート。
図6】特徴スペクトルを示す説明図。
図7】教師データを用いて既知特徴スペクトル群を作成する様子を示す説明図。
図8】既知特徴スペクトル群の構成を示す説明図。
図9】媒体判別/印刷工程の処理手順を示すフローチャート。
図10】被判別データに関する類似度を求める様子を示す説明図。
図11】第1実施形態における説明文の作成処理を示す説明図。
図12】表示部に表示される説明文の例を示す説明図。
図13】第2実施形態における説明文の作成処理を示す説明図。
図14】第3実施形態における判別対象物の赤外吸収スペクトルを示すグラフ。
図15】第3実施形態における説明文の作成処理を示す説明図。
図16】類似度の第1の演算方法を示す説明図。
図17】類似度の第2の演算方法を示す説明図。
図18】複数の特定層を用いた判別クラスの決定方法を示す説明図。
【発明を実施するための形態】
【0009】
A. 第1実施形態:
図1は、第1実施形態におけるクラス判別システムを示すブロック図である。このクラス判別システムは、プリンター10と、情報処理装置20と、分光測定器30とを有する印刷システムである。分光測定器30は、プリンター10で使用される印刷媒体PMについて、未印刷の状態で分光測定を行って、分光反射率を取得することが可能である。本開示において、分光反射率を「分光データ」とも呼ぶ。分光測定器30は、例えば、波長可変干渉分光フィルターと、モノクロイメージセンサーとを備える。分光測定器30で得られた分光データは、後述する機械学習モデルに入力される被判別データとして使用される。情報処理装置20は、機械学習モデルを用いて分光データのクラス判別処理を実行し、印刷媒体PMが複数のクラスのいずれに該当するかを判別する。「印刷媒体PMのクラス」とは、印刷媒体PMの種類を意味する。情報処理装置20は、印刷媒体PMの種類に応じた適切な印刷条件で印刷を実行するようにプリンター10を制御する。なお、本開示によるクラス判別システムは、印刷システム以外のシステムとしても実現可能であり、例えば、被判別画像や、分光データ以外の1次元データ、分光画像、時系列データなどを被判別データとしてクラス判別を行うシステムとして実現してもよい。
【0010】
図2は、情報処理装置20の機能を示すブロック図である。情報処理装置20は、プロセッサー110と、メモリー120と、インターフェイス回路130と、インターフェイス回路130に接続された入力デバイス140及び表示部150と、を有している。インターフェイス回路130には、分光測定器30とプリンター10も接続されている。限定されないが例えば、プロセッサー110は、以下で詳述される処理を実行する機能を有するだけでなく、表示部150に、当該処理によって得られるデータ、および当該処理の過程で生成されるデータを表示する機能も有する。
【0011】
プロセッサー110は、プリンター10を用いた印刷処理を実行する印刷処理部112として機能し、また、印刷媒体PMの分光データのクラス判別処理を実行するクラス判別処理部114として機能する。クラス判別処理部114は、類似度演算部310と説明文作成部320とを含む。印刷処理部112とクラス判別処理部114は、メモリー120に格納されたコンピュータープログラムをプロセッサー110が実行することによって実現される。但し、これらの各部112,114をハードウェア回路で実現してもよい。本明細書のプロセッサーは、このようなハードウェア回路をも含む用語である。また、クラス判別処理を実行するプロセッサーは、ネットワークを介して情報処理装置20に接続されたリモートコンピューターに含まれるプロセッサーであってもよい。
【0012】
メモリー120には、機械学習モデル200と、教師データ(Training Data)TDと、既知特徴スペクトル群KSpと、印刷設定テーブルPSTと、説明文テンプレートDTと、文字列ルックアップテーブルCTと、が格納される。メモリー120には、更に、文字列を生成するために使用する文字列生成用データベースや対応辞書などが格納されていてもよい。機械学習モデル200は、クラス判別処理部114による処理に使用される。機械学習モデル200の構成例や動作については後述する。教師データTDは、機械学習モデル200の学習に使用されるラベル付きのデータの集合である。本実施形態では、教師データTDは分光データの集合である。既知特徴スペクトル群KSpは、学習済みの機械学習モデル200に教師データTDを入力した際に得られる特徴スペクトルの集合である。特徴スペクトルについては後述する。印刷設定テーブルPSTは、各印刷媒体に適した印刷設定が登録されたテーブルである。説明文テンプレートDTと文字列ルックアップテーブルCTは、説明文作成部320による説明文の作成処理に利用される。文字列ルックアップテーブルCTを「文字列選択部CT」と呼ぶことも可能である。
【0013】
図3は、機械学習モデル200の構成を示す説明図である。この機械学習モデル200は、入力データIMの側から順に、畳み込み層210と、プライマリーベクトルニューロン層220と、第1畳み込みベクトルニューロン層230と、第2畳み込みベクトルニューロン層240と、分類ベクトルニューロン層250とを備える。これらの5つの層210~250のうち、畳み込み層210が最も下位の層であり、分類ベクトルニューロン層250が最も上位の層である。以下の説明では、層210~250を、それぞれ「Conv層210」、「PrimeVN層220」、「ConvVN1層230」、「ConvVN2層240」、及び「ClassVN層250」とも呼ぶ。
【0014】
本実施形態において、入力データIMは分光データなので、1次元配列のデータである。例えば、入力データIMは、380nm~730nmの範囲の分光データから、10nm毎に36個の代表値を抽出したデータである。
【0015】
図3の例では2つの畳み込みベクトルニューロン層230,240を用いているが、畳み込みベクトルニューロン層の数は任意であり、畳み込みベクトルニューロン層を省略してもよい。但し、1つ以上の畳み込みベクトルニューロン層を用いることが好ましい。
【0016】
図3の各層210~250の構成は、以下のように記述できる。
<機械学習モデル200の構成の記述>
・Conv層210:Conv[32,6,2]
・PrimeVN層220:PrimeVN[26,1,1]
・ConvVN1層230:ConvVN1[20,5,2]
・ConvVN2層240:ConvVN2[16,4,1]
・ClassVN層250:ClassVN[n1,3,1]
・ベクトル次元VD:VD=16
これらの各層210~250の記述において、括弧前の文字列はレイヤー名であり、括弧内の数字は、順に、チャンネル数、カーネルの表面サイズ、及び、ストライドである。例えば、Conv層210のレイヤー名は「Conv」であり、チャンネル数は32、カーネルの表面サイズは1×6、ストライドは2である。図3では、各層の下にこれらの記述が示されている。各層の中に描かれているハッチングを付した矩形は、隣接する上位層の出力ベクトルを算出する際に使用されるカーネルの表面サイズを表している。本実施形態では、入力データIMが1次元配列のデータなので、カーネルの表面サイズも1次元である。なお、各層210~250の記述で用いたパラメーターの値は例示であり、任意に変更可能である。
【0017】
Conv層210は、スカラーニューロンで構成された層である。他の4つの層220~250は、ベクトルニューロンで構成された層である。ベクトルニューロンは、ベクトルを入出力とするニューロンである。上記の記述では、個々のベクトルニューロンの出力ベクトルの次元は16で一定である。以下では、スカラーニューロン及びベクトルニューロンの上位概念として「ノード」という語句を使用する。
【0018】
図3では、Conv層210について、ノード配列の平面座標を規定する第1軸x及び第2軸yと、奥行きを表す第3軸zとが示されている。また、Conv層210のx,y,z方向のサイズが1,16,32であることが示されている。x方向のサイズとy方向のサイズを「解像度」と呼ぶ。本実施形態では、x方向の解像度は常に1である。z方向のサイズは、チャンネル数である。これらの3つの軸x,y,zは、他の層においても各ノードの位置を示す座標軸として使用する。但し、図3では、Conv層210以外の層では、これらの軸x,y,zの図示が省略されている。
【0019】
よく知られているように、畳み込み後のy方向の解像度W1は、次式で与えられる。
W1=Ceil{(W0-Wk+1)/S} (1)
ここで、W0は畳み込み前の解像度、Wkはカーネルの表面サイズ、Sはストライド、Ceil{X}はXを切り上げる演算を行う関数である。なお、Ceil{X}として、Xを切り捨てる演算を行う関数を用いてもよい。
図3に示した各層の解像度は、入力データIMのy方向の解像度を36とした場合の例であり、実際の各層の解像度は入力データIMのサイズに応じて適宜変更される。
【0020】
ClassVN層250は、n1個のチャンネルを有している。図3の例ではn1=3である。一般に、n1は1以上の整数であり、機械学習モデル200を用いて判別可能な既知のクラスの数である。通常は、n1が2以上に設定されることが多い。ClassVN層250の3つのチャンネルからは、3つの既知のクラスに対する判定値Class1~Class3が出力される。通常は、これらの判定値Class1~Class3のうちで最も大きな値を有するクラスが、入力データIMのクラス判別結果として使用される。また、判定値Class1~Class3のうちで最も大きな値が予め定められた閾値未満である場合には、入力データIMのクラスが未知であるものと判定するようにしてもよい。
【0021】
本開示では、後述するように、出力層であるClassVN層250の判定値Class1~Class3を使用する代わりに、特定のベクトルニューロン層の出力から算出されるクラス別類似度を使用して、判別クラスを決定することも可能である。
【0022】
図3では、更に、各層210,220,230,240,250における部分領域Rnが描かれている。部分領域Rnの添え字「n」は、各層の符号である。例えば、部分領域R210は、Conv層210における部分領域を示す。「部分領域Rn」とは、各層において、第1軸xの位置と第2軸yとの位置で規定される平面位置(x,y)で特定され、第3軸zに沿った複数のチャンネルを含む領域である。部分領域Rnは、第1軸x、第2軸y、および第3軸zに対応する「Width」×「Height」×「Depth」の次元を有する。本実施形態では、1つの「部分領域Rn」に含まれるノードの数は「1×1×デプス数」、すなわち「1×1×チャンネル数」である。
【0023】
図3に示すように、ConvVN1層230の出力から後述する特徴スペクトルSp_ConvVN1が算出されて、類似度演算部310に入力される。同様に、ConvVN2層240の出力から特徴スペクトルSp_ConvVN2が算出されて類似度演算部310に入力される。他の実施形態では、ClassVN層250の出力からも特徴スペクトルが算出されて、類度演算部310に入力される。類似度演算部310は、これらの特徴スペクトルSp_ConvVN1,Sp_ConvVNと、予め作成されていた既知特徴スペクトル群KSpとを用いて、後述する類似度Smを算出する。説明文作成部320は、この類似度Smを用いて、クラス判別結果に関する説明文DSを作成する。説明文の作成に使用される類似度としては、後述する局所類似度やクラス別類似度等の各種の類似度を使用することができる。以下で説明する実施形態では、主として局所類似度を使用して説明文を作成する方法を説明する。
【0024】
本開示において、類似度の算出に使用されるベクトルニューロン層を、「特定層」とも呼ぶ。特定層としては、1つ以上の任意の数のベクトルニューロン層を使用可能である。なお、特徴スペクトルの構成と、特徴スペクトルを用いた類似度の演算方法、類似度を用いた説明文の作成方法、及び、判別クラスの決定方法については後述する。
【0025】
図4は、機械学習モデル200の他の構成を示す説明図である。この機械学習モデル200は、入力データIMが2次元配列のデータである点で、1次元配列の入力データを用いる図3の機械学習モデル200と異なっている。図4の各層210~250の構成は、以下のように記述できる。
<各層の構成の記述>
・Conv層210:Conv[32,5,2]
・PrimeVN層220:PrimeVN[16,1,1]
・ConvVN1層230:ConvVN1[12,3,2]
・ConvVN2層240:ConvVN2[6,3,1]
・ClassVN層250:ClassVN[n1,4,1]
・ベクトル次元VD:VD=16
【0026】
図4に示した機械学習モデル200は、例えば、被判別画像のクラス判別を行うクラス判別システムに使用できる。但し、以下の説明では、図3に示した機械学習モデル200を使用する。
【0027】
図5は、機械学習モデルの準備工程の処理手順を示すフローチャートである。この準備工程は、例えば、プリンター10のメーカーで実行される工程である。
【0028】
図5のステップS110では、クラス判別処理部114が、複数の教師データTDを用いて機械学習モデル200の学習を実行する。個々の教師データTDには、予めラベルが付与されている。本実施形態では、1~3のいずれかのラベルが、個々の教師データTDに付与されているものと仮定する。これらのラベルは、機械学習モデル200の3つのクラスClass1~Class3に対応している。本開示において、「ラベル」と「クラス」は同じものを意味する。
【0029】
複数の教師データTDを用いた学習が終了すると、学習済みの機械学習モデル200がメモリー120に保存される。図5のステップS120では、学習済みの機械学習モデル200に複数の教師データTDを再度入力して、既知特徴スペクトル群KSpを生成する。既知特徴スペクトル群KSpは、以下で説明する特徴スペクトルの集合である。
【0030】
図6は、学習済みの機械学習モデル200に任意の入力データを入力することによって得られる特徴スペクトルSpを示す説明図である。ここでは、ConvVN1層230の出力から得られる特徴スペクトルSpについて説明する。図6の横軸は、ConvVN1層230の1つの部分領域R230に含まれる複数のノードの出力ベクトルに関するベクトル要素の位置である。このベクトル要素の位置は、各ノードにおける出力ベクトルの要素番号NDと、チャンネル番号NCとの組み合わせで表される。本実施形態では、ベクトル次元が16なので、出力ベクトルの要素番号NDは0から15までの16個である。また、ConvVN1層230のチャンネル数は20なので、チャンネル番号NCは0から19までの20個である。換言すれば、この特徴スペクトルSpは、1つの部分領域R230に含まれる各ベクトルニューロンの出力ベクトルの複数の要素値を、第3軸zに沿った複数のチャンネルにわたって配列したものである。
【0031】
図6の縦軸は、各スペクトル位置での特徴値CVを示す。この例では、特徴値CVは、出力ベクトルの各要素の値VNDである。なお、特徴値CVとしては、出力ベクトルの各要素の値VNDと、後述する正規化係数とを乗算した値を使用してもよく、或いは、正規化係数をそのまま使用してもよい。後者の場合には、特徴スペクトルSpに含まれる特徴値CVの数はチャンネル数に等しく、20個である。なお、正規化係数は、そのノードの出力ベクトルのベクトル長さに相当する値である。
【0032】
1つの入力データに対してConvVN1層230の出力から得られる特徴スペクトルSpの数は、ConvVN1層230の平面位置(x,y)の数、すなわち、部分領域R230の数に等しいので、6個である。同様に、1つの入力データに対して、ConvVN2層240の出力から3個の特徴スペクトルSpが得られる。
【0033】
類似度演算部310は、学習済みの機械学習モデル200に教師データTDが再度入力されたときに、図6に示す特徴スペクトルSpを算出して、既知特徴スペクトル群KSpとしてメモリー120に登録する。
【0034】
図7は、教師データTDを用いて既知特徴スペクトル群KSpを作成する様子を示す説明図である。この例では、ラベルが1~3である教師データTDを、学習済みの機械学習モデル200に入力することによって、2つのベクトルニューロン層、すなわち、ConvVN1層230とConvVN2層240の出力から、それぞれのラベル又はクラスに対応付けられた特徴スペクトルKSp_ConvVN1,KSp_ConvVN2が得られている。これらの特徴スペクトルKSp_ConvVN1,KSp_ConvVN2が既知特徴スペクトル群KSpとしてメモリー120に格納される。
【0035】
図8は、既知特徴スペクトル群KSpの構成を示す説明図である。この例では、ConvVN2層240の出力から得られた既知特徴スペクトル群KSp_ConvVN2が示されている。ConvVN1層230の出力から得られた既知特徴スペクトル群KSp_ConvVN1も同様の構成を有しているが、図8では図示が省略されている。なお、既知特徴スペクトル群KSpとしては、すくなくとも1つのベクトルニューロン層の出力から得られたものが登録されていればよい。
【0036】
既知特徴スペクトル群KSp_ConvVN2の個々のレコードは、ラベルまたはクラスの順序を示すパラメーターiと、特定層の順序を示すパラメーターjと、部分領域Rnの順序を示すパラメーターkと、データ番号を示すパラメーターqと、既知特徴スペクトルKSpとを含んでいる。既知特徴スペクトルKSpは、図6の特徴スペクトルSpと同じものである。
【0037】
クラスのパラメーターiは、ラベルと同じ1~3の値を取る。特定層のパラメーターjは、2つの特定層230,240のいずれであるかを示す1~2の値を取る。部分領域Rnのパラメーターkは、個々の特定層に含まれる複数の部分領域Rnのいずれであるか、すなわち、平面位置(x,y)のいずれであるかを示す値を取る。ConvVN2層240については部分領域R240の数が3個なので、k=1~3である。データ番号のパラメーターqは、同じラベルが付された教師データの番号を示しており、クラス1については1~max1,クラス2については1~max2、クラス3については1~max3の値を取る。
【0038】
なお、ステップS120で使用される複数の教師データTDは、ステップS110で使用された複数の教師データTDと同じものである必要は無い。但し、ステップS120においても、ステップS110で使用された複数の教師データTDの一部又は全部を利用すれば、新たな教師データを準備する必要が無いという利点がある。
【0039】
図9は、学習済みの機械学習モデルを用いた媒体判別/印刷工程の処理手順を示すフローチャートである。この媒体判別/印刷工程は、例えば、プリンター10を使用するユーザーによって実行される。
【0040】
ステップS210では、ユーザーによって、処理対象としての印刷媒体である対象印刷媒体について、クラス判別処理を必要とするか否かがクラス判別処理部114に指示される。ユーザーが対象印刷媒体の種類を知っている場合にも、確認のためにクラス判別処理が必要であるものと指示してもよい。クラス判別処理が不要な場合には、ステップS270に進んでユーザーが対象印刷媒体に適した印刷設定を選択し、ステップS280において印刷処理部112が対象印刷媒体を用いた印刷をプリンター10に実行させる。一方、対象印刷媒体の種類が不明であり、そのクラス判別処理が必要な場合には、ステップS220に進む。
【0041】
ステップS220では、クラス判別処理部114が、分光測定器30に対象印刷媒体の分光測定を実行させることによって、分光データを取得する。この分光データは、機械学習モデル200に入力される被判別データとして使用される。
【0042】
ステップS230では、クラス判別処理部114が、学習済みの機械学習モデル200に被判別データを入力して、特徴スペクトルSpを算出する。ステップS240では、類似度演算部310が、被判別データの入力に応じて得られた特徴スペクトルSpと、登録済みの既知特徴スペクトル群KSpから、類似度を算出する。
【0043】
図10は、被判別データに関する類似度を求める様子を示す説明図である。被判別データが機械学習モデル200に入力されると、クラス判別処理部114が、ConvVN1層230とConvVN2層240の出力から、特徴スペクトルSp_ConvVN1,Sp_ConvVN2をそれぞれ算出する。類似度演算部310は、ConvVN1層230の出力から得られた特徴スペクトルSp_ConvVN1と、既知特徴スペクトル群KSp_ConvVN1とを用いて類似度Sm_ConvVN1を算出する。類似度Smの具体的な算出方法については後述する。ConvVN2層240についても、同様にして類似度Sm_ConvVN2が算出される。
【0044】
類似度Smは、例えば次式に従って算出できる。
Sm(i,j,k)=max[G{Sp(j,k), KSp(i,j,k=all,q=all)}] (2)
ここで、
iは、クラスを示すパラメーター、
jは、特定層を示すパラメーター、
kは、部分領域Rnを示すパラメーター、
qは、データ番号を示すパラメーター、
G{a,b}は、aとbの類似度を求める関数、
Sp(j,k)は、被判別データに応じて、特定層jの特定の部分領域kの出力から得られる特徴スペクトル、
KSp(i,j,k=all,q=all)は、図8に示した既知特徴スペクトル群KSpのうち、クラスiに関連付けられた、特定層jのすべての部分領域kにおけるすべてのデータ番号qの既知特徴スペクトル、
max[X]は、Xの値のうちの最大値を取る論理演算である。
なお、類似度を求める関数G{a,b}のaは1つまたは集合、bは集合、戻り値は複数である。関数G{a,b}としては、例えば、コサイン類似度を求める式や、距離に応じた類似度を求める式を使用できる。
【0045】
この類似度Smは、部分領域毎に得られるので、以下では「局所類似度Sm」とも呼ぶ。局所類似度Sm(i,j,k)は、クラスiと特定層jと部分領域kとに依存するが、以下の説明では、クラスを示すパラメーターiと特定層を示すパラメーターjを省略して、「局所類似度Sm(k)」と記載する場合がある。
【0046】
2つのベクトルニューロン層230,240をそれぞれ用いて類似度Sm_ConvVN1,Sm_ConvVN2をすべて生成する必要はないが、これらのうちの1つ以上のベクトルニューロン層を用いて類似度Smを算出することが好ましい。前述したように、本開示において、類似度の算出に使用されるベクトルニューロン層を、「特定層」と呼ぶ。
【0047】
ステップS250では、説明文作成部320が、ステップS240で得られた類似度に応じて、説明文を作成する。
【0048】
図11は、第1実施形態における説明文の作成処理を示す説明図である。第1実施形態の説明文作成部320aは、階調低減部322と文字列ルックアップテーブル324とを有している。説明文作成部320aの末尾の符号「a」は、第1実施形態のものであることを示している。文字列ルックアップテーブル324は、図2に示した文字列ルックアップテーブルCTと同じものである。
【0049】
図11では、ConvVN2層240の3つの部分領域から得られた局所類似度Smを用いて説明文を作成する様子を示している。図11の左上に示すように、ConvVN2層240の3つの部分領域は、300nmと500nmと700nmをそれぞれ中心波長とする3つの波長帯域に対応している。階調低減部322は、3つの局所類似度Sm(k)の階調数(最大値と最小値の範囲内で取り得る離散値の数)を低減することによって、3つのテーブル入力データD1~D3を作成する。具体的には、階調低減部322は、予め作成された閾値を用いて局所類似度Sm(k)を2値化(量子化)する。この例では、局所類似度Sm(k)は16ビットデータで階調数は216であり、テーブル入力データD1~D3は1ビットデータで階調数は2である。但し、テーブル入力データD1~D3の階調数は、3以上としてもよく、2以上の任意の数に設定可能である。
【0050】
文字列ルックアップテーブル324は、テーブル入力データD1~D3の入力に応じて、文字列CS1~CS3を出力する。テーブル入力データD1~D3の組み合わせに応じた文字列CS1~CS3の例を、図11の左下に示している。説明文作成部320は、これらの3つの文字列CS1~CS3を、これらに対応する3つの文字列枠を有する説明文テンプレートDTaに適用することによって、説明文DSaを作成する。図11の例では、500nmと700nmの2つの波長帯域における局所類似度Smは閾値以上であるが、300nmの波長帯域における局所類似度Smが閾値未満なので、これに応じた適切な説明文DSaが作成されている。このように、本実施形態では、文字列ルックアップテーブル322と説明文テンプレートDTaとを用いて、類似度Smに応じた説明文DSaを作成することができる。こうして作成された説明文DSaは、表示部150に表示される。
【0051】
図11で使用されている各種の個数は以下の通りである。
(1)特定層に含まれる部分領域の個数Nk
図11の例ではNk=3である。
(2)説明文の作成に使用される局所類似度Smの個数Ns
図11の例ではNs=Nk=3であるが、NsはNk以下の任意の数に設定することが可能である。Nsは1以上に設定可能であるが、2以上とすることが好ましい。Ns<Nkの例は、第3実施形態で説明する。
(3)テーブル入力データDkの個数Nd
図11の例ではNd=Ns=3であるが、Ndは1以上Ns以下の任意の数に設定可能である。Ndは1以上に設定可能であるが、2以上とすることが好ましい。Nd<Nsの例は、第2実施形態で説明する。
(4)文字列ルックアップテーブル324から出力される文字列の個数Nc
図11の例ではNc=3であるが、Ncは、1以上の任意の数に設定可能である。
【0052】
図12は、表示部150に表示される説明文の例を示している。この例では、複数のクラスに関して、クラス判別結果と説明文とを並べた判別結果リストDLが表示部150に表示されるものとしている。クラス判別結果としては、クラスを示すパラメーターiと、クラス名と、被判別データがそのクラスに該当する確率であるクラス確率と、が表示されている。クラス確率としては、例えば、機械学習モデル200の出力層から出力される判定値を使用することができる。また、後述するクラス別類似度を用いてクラス判別を行う場合には、そのクラス別類似度をクラス確率として使用してもよい。なお、クラス判別結果の一部は省略してもよい。また、機械学習モデル200のClassVN層250におけるアクティベーション値をクラス確率として使用し、アクティベーション値から説明文を作成してもよい。具体的には、例えば、「Activation=0.99なので判別結果の信頼性は高い」等の説明文を作成することが可能である。更にClassVN層250の出力から算出される類似度をクラス確率として使用し、その類似度から説明文を作成してもよい。具体的には、例えば、「ClassVN類似度=0.99なので既知のデータ」等の説明文を作成することが可能である。
【0053】
図12の例のように、複数のクラスに関して、クラス判別結果と説明文とを並べた判別結果リストDLを表示部150に表示すれば、ユーザーが各クラスに関するクラス判別結果の根拠を知ることができる。なお、判別結果リストDLは、機械学習モデル200で判別可能な複数のクラスのすべてのクラスに関する情報を含んでいる必要はなく、少なくとも2以上のクラスに関する情報を含んでいることが好ましい。また、判別結果リストDLを表示する代わりに、機械学習モデル200によって判別された1つのクラスに関する説明文を表示するようにしてもよい。
【0054】
ステップS260では、ユーザーが、ステップS250で作成された説明文を参考にして、対象印刷媒体のクラス、すなわち、対象印刷媒体の種類を選択し、選択した種類を印刷処理部112に指示する。ステップS270では、印刷処理部112が、対象印刷媒体の種類に応じて印刷設定テーブルPSTを参照し、印刷設定を選択する。ステップS280では、印刷処理部112が、印刷設定に従って印刷を実行する。図9の手順によれば、対象印刷媒体の種類が不明な場合にも、機械学習モデル200を用いて対象印刷媒体の種類を判別できるので、その種類に適した印刷設定を用いて印刷を実行することが可能である。
【0055】
以上のように、第1実施形態では、特徴ベクトルに関する類似度を利用してクラス判別結果の説明文を作成し、出力するので、ユーザーがクラス判別結果の根拠を知ることができる。
【0056】
B. 第2実施形態:
図13は、第2実施形態における説明文の作成処理を示す説明図である。第2実施形態の説明文作成部320bは、階調低減部322と文字列ルックアップテーブル324に加えて、平均値演算部321を有している。なお、図1及び図2に示した装置の構成や、図5及び図9に示した処理の手順は、第1実施形態とほぼ同じである。
【0057】
図13では、ConvVN1層230の6つの部分領域から得られた局所類似度Smを用いて説明文を作成する様子を示している。平均値演算部321は、6つの局所類似度Smを3つのグループにグループ化するとともに、各グループに属する局所類似度Smを平均化することによって、3つの平均類似度Sma1~Sma3を求めている。平均類似度の個数は、テーブル入力データDkの個数Ndと同じである。これらの3つの平均類似度Sma1~Sma3は、第1実施形態において図11で示した3つの局所類似度Smと同様に、300nmと500nmと700nmをそれぞれ中心波長とする3つの波長帯域に対する類似度になっている。階調低減部322は、これらの平均類似度Sma1~Sma3の階調数を低減することによってテーブル入力データDkを作成する。その後の処理は、図11に示した第1実施形態と同じなので、詳しい説明は省略する。図13の例では、「全成分が一致するため、既知と判断した」という説明文DSbが作成されている。
【0058】
上述した図13の例では、隣接する2つの部分領域に対する局所類似度Smの平均値を求めることによって平均類似度Smaを作成している。但し、一般に、平均類似度Smaは、説明文の作成に使用するNs個の局所類似度SmをNd個のグループにグループ化するとともに、各グループの局所類似度Smを平均化することによって求めることができる。この場合には、NdはNsよりも小さな値となる。
【0059】
以上のように、第2実施形態では、Ns個の局所類似度からNd個の平均類似度を求め、Nd個の平均類似度の階調数を低減することによってNd個のテーブル入力データを作成するので、局所類似度を平均化した平均類似度に応じて説明文を作成できる。
【0060】
なお、上述の説明では局所類似度のグループ毎に平均類似度Smaを求めていたが、平均類似度以外の代表値を求めるようにしてもよい。代表値としては、平均値の他に、最大値や最小値を使用することが可能である。換言すれば、第2実施形態において、Ns個の局所類似度からNd個の代表類似度を求め、Nd個の代表類似度の階調数を低減することによってNd個のテーブル入力データを作成するようにしてもよい。こうすれば、代表類似度に応じて説明文を作成できる。
【0061】
C. 第3実施形態:
図14は、第3実施形態におけるクラス判別処理の判別対象物としての2-ヘキサノンとアクリロニトリルの赤外吸収スペクトルを示す説明図である。各グラフの横軸は波数であり、縦軸は吸収率である。第3実施形態では、判別対象物が2-ヘキサノンとアクリロニトリルのうちのいずれかであることが分かっている状態で、判別対象物が2-ヘキサノンであるか否かの判定を行う場合を想定する。この場合に、図3に示した機械学習モデル200の出力層のクラス数は1である。
【0062】
2-ヘキサノンの赤外吸収スペクトルには、2900cm-1波数帯域にC-H結合による吸収ピークが含まれており、1700cm-1波数帯域にC=O結合による吸収ピークが含まれている。一方、アクリロニトリルの赤外吸収スペクトルには、2900cm-1波数帯域にC-H結合による吸収ピークが含まれており、2300cm-1波数帯域にC-N結合による吸収ピークが含まれている。各グラフには、ConvVN1層230の6つの部分領域を区別するパラメーターkと、波数帯域との関係が示されている。以下に説明するように、第3実施形態では、6つの部分領域の局所類似度Smの一部を用いて説明文を作成する。
【0063】
図15は、第3実施形態における説明文の作成処理を示す説明図である。第3実施形態の説明文作成部320cは、階調低減部322と文字列ルックアップテーブル324を有する点で、図11に示した第1実施形態と同じである。但し、文字列ルックアップテーブル324に格納されている文字列は第1実施形態と異なる。なお、図2に示した情報処理装置20は、プリンター10と印刷処理部112を用いないこと以外は、第3実施形態でも使用可能である。また、図5に示した処理の手順は、第1実施形態とほぼ同じものを使用可能である。更に、図9に示した処理については、「対象印刷媒体」を「判別対象物」と読み替えて、ステップS250~S270の処理を実行することによって、第3実施形態におけるクラス判別を行うことが可能である。
【0064】
図15の例では、ConvVN1層230の6つの部分領域から得られた局所類似度Smのうちから予め選択された3つの局所類似度Sm(k=1),Sm(k=3),Sm(k=5)を用いて説明文が作成される。これらの3つの局所類似度Sm(k=1),Sm(k=3),Sm(k=5)は、図14に示した1700cm-1波数帯域と2300cm-1波数帯域と2900cm-1波数帯域にそれぞれ対応している。選択される局所類似度Smの個数は、テーブル入力データDkの個数Ndと同じである。
【0065】
第1実施形態と同様に、階調低減部322は、局所類似度Smの階調数を低減することによってテーブル入力データDkを作成する。文字列ルックアップテーブル324は、これらのテーブル入力データD1~D3の入力に応じて、3つの文字列CS1~CS3を出力する。説明文作成部320は、これらの3つの文字列CS1~CS3を、これらに対応する3つの文字列枠を有する説明文テンプレートDTcに適用することによって、説明文DScを作成する。図11図15を比較すれば分かるように、文字列ルックアップテーブル324の登録内容と説明文テンプレートDTcの内容は、第1実施形態と異なっている。図15の例では、説明文の作成に使用される3つの局所類似度Smのすべてが閾値以上なので、判別対象物が2-ヘキサノンに該当することを意味する適切な説明文DScが作成されている。
【0066】
なお、ヘキサノンに関して計算した6個の個別類似度と、アクリロニトリルに関して計算した6個の個別類似度の合計12個の個別類似度のうちの一部を使用して説明文を作成するようにしてもよい。例えば、「C=Oがあり、CNがないので、ヘキサノンと判別した」という説明文や、「C=Oがなく、CNがあるので、アクリロニトリルと判別した」という説明文を作成するようにしてもよい。
【0067】
以上のように、第3実施形態では、特定層に含まれる複数の部分領域のうちの一部の部分領域に対する局所類似度からテーブル入力データを作成するので、判別結果の説明に適した局所類似度を用いて説明文を作成できる。
【0068】
なお、上述した各種の実施形態では、文字列ルックアップテーブルを使用して文字列を作成していたが、文字列ルックアップテーブルの代わりに、決定木を用いて文字列や説明文を作成するようにしてもよい。
【0069】
D. 類似度の算出方法:
上述した局所類似度Smの演算方法としては、例えば、以下の2つの方法のいずれかを採用可能である。
(1)特徴スペクトルSpと既知特徴スペクトル群KSpにおける部分領域Rnの対応を考慮せずに局所類似度Smを求める第1の演算方法M1
(2)特徴スペクトルSpと既知特徴スペクトル群KSpの対応する部分領域Rn同士で局所類似度Smを求める第2の演算方法M2
以下では、これらの2つの演算方法M1,M2に従って、ConvVN1層230の出力から類似度を算出する方法について順次説明する。
【0070】
図16は、類似度の第1の演算方法M1を示す説明図である。ここでは、特定層であるConvVN1層230の出力から、部分領域k毎に各クラスiに対する類似度を示す局所類似度Sm(i,j,k)が算出される場合を示している。
【0071】
第1の演算方法M1において、局所類似度Sm(i,j,k)は以下に再掲する(2)式を用いて算出される。
Sm(i,j,k)=max[G{Sp(j,k), KSp(i,j,k=all,q=all)}] (2)
ここで、
iは、クラスを示すパラメーター、
jは、特定層を示すパラメーター、
kは、部分領域Rnを示すパラメーター、
qは、データ番号を示すパラメーター、
G{a,b}は、aとbの類似度を求める関数、
Sp(j,k)は、被判別データに応じて、特定層jの特定の部分領域kの出力から得られる特徴スペクトル、
KSp(i,j,k=all,q=all)は、図8に示した既知特徴スペクトル群KSpのうち、クラスiに関連付けられた、特定層jのすべての部分領域kにおけるすべてのデータ番号qの既知特徴スペクトル、
max[X]は、Xの値のうちの最大値を取る論理演算である。
なお、類似度を求める関数G{a,b}のaは1つまたは集合、bは集合、戻り値は複数である。関数G{a,b}としては、例えば、コサイン類似度を求める式や、距離に応じた類似度を求める式を使用できる。
【0072】
図16の右側には、これらの局所類似度Sm(i,j,k)からクラス別類似度Sclass(i,j)が算出される様子を示している。3種類のクラス別類似度Sclass(i,j)は、クラスi毎に、複数の部分領域kについての局所類似度Sm(i,j,k)の最大値、平均値、又は、最小値を取ることによって得られたものである。最大値、平均値、又は、最小値のいずれの演算を使用するかは、クラス判別処理の使用目的に応じて異なる。例えば、自然画像を用いて物体を判別することを目的とする場合には、クラスi毎に局所類似度Sm(i,j,k)の最大値を取ることによってクラス別類似度Sclass(i,j)を求めることが好ましい。また、印刷媒体の種類を判別することを目的とする場合や、工業製品の画像を用いた良否判定を目的とする場合には、クラスi毎に局所類似度Sm(i,j,k)の最小値を取ることによってクラス別類似度Sclass(i,j)を求めることが好ましい。また、クラスi毎に局所類似度Sm(i,j,k)の平均値を取ることによってクラス別類似度Sclass(i,j)を求めることが好ましい場合も考えられる。これらの3種類の演算のいずれを使用するかは、実験的または経験的にユーザーによって予め設定される。
【0073】
図16の例では、更に、クラス別類似度Sclass(i,j)から、最終的な判別結果RD_ConvVN1 が決定される。判別結果RD_ConvVN1は、判別クラスD_classと、判別クラスD_classに対応する類似度値S_valueとを含む形式で表すことができる。類似度値S_valueは、クラス別類似度Sclass(i,j)における3つのクラス1~3に対する類似度値のうちの最大値を取ることによって得られる。判別クラスD_classは、クラス別類似度Sclass(i,j)において類似度値が最大となるクラスである。
【0074】
以上のように、類似度の第1の演算方法M1では、
(1)被判別データに応じて、特定層jの特定の部分領域kの出力から得られる特徴スペクトルSpと、その特定層j及び各クラスiに関連付けられたすべての既知特徴スペクトルKSpとの類似度である局所類似度Sm(i,j,k)を求め、
(2)クラスi毎に、複数の部分領域kについての局所類似度Sm(i,j,k)の最大値、平均値、又は、最小値を取ることによってクラス別類似度Sclass(i,j)を求め、
(3)複数のクラスiに対するクラス別類似度Sclass(i,j)の値の最大値を、特徴スペクトルSpと既知特徴スペクトル群KSpとの類似度値S_valueとして求め、
(4)複数のクラスに亘って最大となる類似度値S_valueに対応付けられたクラスを判別クラスD_classとして決定する。
この第1の演算方法M1によれば、比較的簡単な演算及び手順により、類似度Sm(i,j,k),Sclass(i,j)と判別結果を求めることができる。
【0075】
機械学習モデル200を用いた判別結果としては、クラス別類似度Sclass(i,j)に応じて決定された判別クラスD_classを使用してもよく、或いは、機械学習モデル200の出力層から得られる判定値から決定された判別クラスを使用してもよい。後者の場合には、クラス別類似度Sclass(i,j)の算出以降の処理を省略してもよい。これらの点は、以下で説明する第2の演算方法M2も同様である。
【0076】
説明文作成部320は、判別結果に関する説明文をクラス別類似度Sclass(i,j)に応じて作成しても良い。クラス別類似度Sclass(i,j)に応じた説明文は、例えば、「クラス1との類似度は98%なので、既知と判断しました」等となる。
【0077】
図17は、類似度の第2の演算方法M2を示す説明図である。第2の演算方法M2では、上述した(2)式の代わりに次式を用いて局所類似度Sm(i,j,k)を算出する。
Sm(i,j,k)=max[G{Sp(j,k), KSp(i,j,k,q=all)}] (3)
ここで、
KSp(i,j,k,q=all)は、図8に示した既知特徴スペクトル群KSpのうち、クラスiに関連付けられた、特定層jの特定の部分領域kにおけるすべてのデータ番号qの既知特徴スペクトルである。
【0078】
上述した第1の演算方法M1では、特定層jのすべての部分領域kにおける既知特徴スペクトルKSp(i,j,k=all,q=all)を用いていたのに対して、第2の演算方法M2では、特徴スペクトルSp(j,k)の部分領域kと同じ部分領域kに対する既知特徴スペクトルKSp(i,j,k,q=all)のみを用いている。第2の演算方法M2における他の方法は、第1の演算方法M1と同じである。
【0079】
クラス別類似度の第2の演算方法M2では、
(1)被判別データに応じて、特定層jの特定の部分領域kの出力から得られる特徴スペクトルSpと、その特定層jの特定の部分領域k及び各クラスiに関連付けられたすべての既知特徴スペクトルKSpとの類似度である局所類似度Sm(i,j,k)を求め、
(2)クラスi毎に、複数の部分領域kについての局所類似度Sm(i,j,k)の最大値、平均値、又は、最小値を取ることによって、クラス別類似度Sclass(i,j)を求め、
(3)複数のクラスiに対するクラス別類似度Sclass(i,j)の値の最大値を、特徴スペクトルSpと既知特徴スペクトル群KSpとの類似度値S_valueとして求め、
(4)複数のクラスに亘って最大となる類似度値S_valueに対応付けられたクラスを判別クラスD_classとして決定する。
この第2の演算方法M2によっても、比較的簡単な演算及び手順により、類似度Sm(i,j,k),Sclass(i,j)と判別結果を求めることができる。
【0080】
上述した2つの演算方法M1~M2は、いずれも個々の特定層iに関して局所類似度とクラス別類似度を演算して判別クラスを決定する方法である。上述したように、本開示では、図3に示した複数のベクトルニューロン層230,240のうちの1つ以上を特定層として局所類似度とクラス別類似度を演算し、そのクラス別類似度から被判別データのクラスを決定することができる。複数の特定層を用いる場合には、例えば、以下のような判別クラスの決定方法を採用することが可能である。
【0081】
図18は、複数の特定層を用いた判別クラスの決定方法を示す説明図である。この決定方法では、複数の特定層のうち、最も統計的に有意な判定結果を示す特定層を用いて判別クラスを決定する。図18の例では、ConvVN1層230とConvVN2層240が特定層として使用されている。まず、ConvVN1層230の各部分領域kに関して、局所類似度Sm(i,j,k)が最大値となるクラスを決定し、そのクラスのクラスパラメーター値iを各部分領域kに割り当てる処理を実行する。なお、クラスパラメーター値iは、複数のクラスの中での順序を示す値である。クラスパラメーター値iは、例えば連続した整数である。本実施形態ではクラスパラメーター値iとクラスiとは同じである。ConvVN2層240についても同様に、局所類似度Sm(i,j,k)が最大値となるクラスを決定し、そのクラスのクラスパラメーター値iを各部分領域kに割り当てる処理を実行する。
【0082】
また、第2の決定方法MM2において、各部分領域kに関して、クラス間の局所類似度Sに差がない場合、すなわち、或る部分領域kの局所類似度Sに関する複数のクラスにわたる誤差や分散が閾値以内である場合には、その部分領域kにクラスパラメーター値を割り当てないようにしてもよい。クラスパラメーター値の分散を求める際は、クラスパラメーター値が割り当てられていない部分領域kを除外して分散を求める。これにより、特徴的な部分でのみ分散を求めることができるのでクラス判別をより精度よく行うことができる。
【0083】
この決定方法では、更に、各特定層において、複数の部分領域kにおけるクラスパラメーター値iの分布に関して分散が算出される。この分散は、クラスパラメーター値iについての統計的な分散の値である。図18の例では、ConvVN1層230の分散は0.14であり、ConvVN2層240の分散0.22である。これらの特定層230,240のうちで、クラスパラメーター値iの分布の偏りが大きいほど判定結果が明確であることが予想されるので、分散が低い特定層についてのクラス判別結果を採用する。換言すれば、複数の特定層のうち、分散が最も小さい特定層に対して得られていたクラス別類似度を用いて、被判別データのクラスを判別する。この決定方法によれば、複数の特定層を用いてクラス判別をより精度良く行うことができる。このように、複数の特定層から得られたクラス別類似度を用いてクラス判別結果を決定する場合には、上述した第1~第3実施形態において、説明文を作成するために使用する局所類似度として、クラス判別結果が得られた特定層の局所類似度を用いることが好ましい。
【0084】
E. 機械学習モデルの各層の出力ベクトルの演算方法:
図3に示した機械学習モデル200における各層の出力の演算方法は、以下の通りである。図4に示した機械学習モデル200も、個々のパラメーターの値以外は同じである。
【0085】
PrimeVN層220の各ノードは、Conv層210の1×1×32個のノードのスカラー出力を32次元のベクトルとみなして、このベクトルに変換行列を乗ずることによってそのノードのベクトル出力を得る。この変換行列は、表面サイズが1×1のカーネルの要素であり、機械学習モデル200の学習によって更新される。なお、Conv層210とPrimeVN層220の処理を統合して、1つのプライマリーベクトルニューロン層として構成することも可能である。
【0086】
PrimeVN層220を「下位層L」と呼び、その上位側に隣接するConvVN1層230を「上位層L+1」と呼ぶとき、上位層L+1の各ノードの出力は、以下の式を用いて決定される。
【数1】
ここで、
L iは、下位層Lにおけるi番目のノードの出力ベクトル、
L+1 jは、上位層L+1におけるj番目のノードの出力ベクトル、
ijは、出力ベクトルML+1 jの予測ベクトル、
L ijは、下位層Lの出力ベクトルML iから予測ベクトルvijを算出するための予測行列、
jは、予測ベクトルvijの和、すなわち線形結合、である和ベクトル、
jは、和ベクトルujのノルム|uj|を正規化することによって得られる正規化係数であるアクティベーション値、
F(X)は、Xを正規化する正規化関数である。
【0087】
正規化関数F(X)としては、例えば以下の(E3a)式または(E3b)式を使用できる。
【数2】
ここで、
kは、上位層L+1のすべてのノードに対する序数、
βは、任意の正の係数である調整パラメーターであり、例えばβ=1である。
【0088】
上記(E3a)式では、上位層L+1のすべてのノードに関して和ベクトルujのノルム|uj|をソフトマックス関数で正規化することによってアクティベーション値ajが得られる。一方、(E3b)式では、和ベクトルujのノルム|uj|を、上位層L+1のすべてのノードに関するノルム|uj|の和で除算することによってアクティベーション値ajが得られる。なお、正規化関数F(X)としては、(E3a)式や(E3b)式以外の他の関数を用いてもよい。
【0089】
上記(E2)式の序数iは、上位層L+1におけるj番目のノードの出力ベクトルML+1 jを決めるために使用される下位層Lのノードに便宜上割り振られるものであり、1~nの値をとる。また、整数nは、上位層L+1におけるj番目のノードの出力ベクトルML+1 jを決めるために使用される下位層Lのノードの数である。従って、整数nは次式で与えられる。
n=Nk×Nc (E5)
ここで、Nkはカーネルの表面サイズであり、Ncは下位層であるPrimeVN層220のチャンネル数である。図3の例ではNk=5、Nc=26なので、n=130である。
【0090】
ConvVN1層230の出力ベクトルを求めるために使用される1つのカーネルは、カーネルサイズ1×5を表面サイズとし、下位層のチャンネル数26を深さとする1×5×26=130個の要素を有しており、これらの要素のそれぞれは予測行列WL ijである。また、ConvVN1層230の20個のチャンネルの出力ベクトルを生成するためには、このカーネルが20組必要である。従って、ConvVN1層230の出力ベクトルを求めるために使用されるカーネルの予測行列WL ijの数は、130×20=2600個である。これらの予測行列WL ijは、機械学習モデル200の学習により更新される。
【0091】
上述した(E1)~(E4)式から分かるように、上位層L+1の個々のノードの出力ベクトルML+1 jは、以下の演算によって求められる。
(a)下位層Lの各ノードの出力ベクトルML iに予測行列WL ijを乗じて予測ベクトルvijを求め、
(b)下位層Lの各ノードから得られた予測ベクトルvijの和、すなわち線形結合、である和ベクトルujを求め、
(c)和ベクトルujのノルム|uj|を正規化することによって正規化係数であるアクティベーション値ajを求め、
(d)和ベクトルujをノルム|uj|で除算し、更に、アクティベーション値ajを乗じる。
【0092】
なお、アクティベーション値ajは、上位層L+1のすべてのノードに関してノルム|uj|を正規化することによって得られる正規化係数である。従って、アクティベーション値ajは、上位層L+1内の全ノードの中における各ノードの相対的な出力強度を示す指標と考えることができる。(E3)式,(E3a)式、(E3b)式、及び(4)式で使用されるノルムは、典型的な例ではベクトル長さを表すL2ノルムである。このとき、アクティベーション値ajは、出力ベクトルML+1 jのベクトル長さに相当する。アクティベーション値ajは、上述した(E3)式と(E4)式で使用されるだけなので、ノードから出力される必要は無い。但し、アクティベーション値ajを外部に出力するように上位層L+1を構成することも可能である。
【0093】
ベクトルニューラルネットワークの構成は、カプセルネットワークの構成とほぼ同じであり、ベクトルニューラルネットワークのベクトルニューロンがカプセルネットワークのカプセルに相当する。但し、ベクトルニューラルネットワークで使用される上述の(E1)~(E4)式による演算は、カプセルネットワークで使用される演算と異なる。両者の最も大きな違いは、カプセルネットワークでは、上記(E2)式の右辺の予測ベクトルvijにそれぞれ重みが乗じられており、その重みが、動的ルーティングを複数回繰り返すことによって探索される点である。一方、本実施形態のベクトルニューラルネットワークでは、上述した(E1)~(E4)式を順番に1回計算することによって出力ベクトルML+1 jが得られるので、動的ルーティングを繰り返す必要が無く、演算がより高速であるという利点がある。また、本実施形態のベクトルニューラルネットワークは、カプセルネットワークよりも演算に必要とするメモリー量がカプセルネットワークより少なく、本開示の発明者の実験によれば、約1/2~1/3のメモリー量で済むという利点もある。
【0094】
ベクトルを入出力とするノードを使用するという点では、ベクトルニューラルネットワークはカプセルネットワークと同じである。従って、ベクトルニューロンを使用する利点もカプセルネットワークと共通している。また、複数の層210~250は、上位に行くほどより大きな領域の特徴を表現し、下位に行くほどより小さな領域の特徴を表現する、という点は、通常の畳み込みニューラルネットワークと同じである。ここで、「特徴」とは、ニューラルネットワークへの入力データに含まれている特徴的な部分を意味する。ベクトルニューラルネットワークやカプセルネットワークでは、或るノードの出力ベクトルが、そのノードが表現する特徴の空間的な情報を表す空間情報を含む点で、通常の畳み込みニューラルネットワークよりも優れている。すなわち、或るノードの出力ベクトルのベクトル長さは、そのノードが表現する特徴の存在確率を表し、ベクトル方向がその特徴の方向やスケール等の空間情報を表している。従って、同じ層に属する2つのノードの出力ベクトルのベクトル方向は、それぞれの特徴の位置関係を表す。あるいは、当該2つのノードの出力ベクトルのベクトル方向は、特徴のバリエーションを表わすとも言える。例えば、「目」の特徴に対応するノードなら、出力ベクトルの方向は、目の細さ、吊り上がり方、などのバリエーションを表し得る。通常の畳み込みニューラルネットワークでは、プーリング処理によって特徴の空間情報が消失してしまうと言われている。この結果、ベクトルニューラルネットワークやカプセルネットワークは、通常の畳み込みニューラルネットワークに比べて入力データを識別する性能に優れているという利点がある。
【0095】
ベクトルニューラルネットワークの利点は、以下のように考えることも可能である。すなわち、ベクトルニューラルネットワークでは、ノードの出力ベクトルが、入力データの特徴を連続空間内の座標として表現すること、に利点がある。従って、ベクトル方向が近ければ特徴が似ている、というように出力ベクトルを評価できる。また、入力データに含まれている特徴が教師データではカバーできていなくても、補間してその特徴を判別できる、などの利点もある。一方、通常の畳み込みニューラルネットワークは、プーリング処理によって無秩序な圧縮がかかるため、入力データの特徴を連続空間内の座標として表現できない、という欠点がある。
【0096】
ConvVN2層240とClassVN層250の各ノードの出力も、上述した(E1)~(E4)式を用いて同様に決定されるので、詳細な説明は省略する。最上位層であるClassVN層250の解像度は1×1であり、チャンネル数はn1である。
【0097】
ClassVN層250の出力は、既知のクラスに対する複数の判定値Class0~Class2に変換される。これらの判定値は、通常はソフトマックス関数によって正規化された値である。具体的には、例えば、ClassVN層250の各ノードの出力ベクトルから、その出力ベクトルのベクトル長さを算出し、更に、各ノードのベクトル長さをソフトマックス関数で正規化する、という演算を実行することによって、個々のクラスに対する判定値を得ることができる。上述したように、上記(E3)式で得られるアクティベーション値ajは、出力ベクトルML+1 jのベクトル長さに相当する値であり、正規化されている。従って、ClassVN層250の各ノードのそれぞれにおけるアクティベーション値ajを出力して、そのまま各クラスに対する判定値として使用してもよい。
【0098】
上述の実施形態では、機械学習モデル200として、上記(E1)式~(E4)式の演算によって出力ベクトルを求めるベクトルニューラルネットワークを用いていたが、この代わりに、米国特許第5210798号公報や国際公開2009/083553号公報に開示されているカプセルネットワークを用いてもよい。
【0099】
・他の実施形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0100】
(1)本開示の第1の形態によれば、複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別する方法が提供される。この方法は、(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについて準備する工程と、(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する工程と、を含む。前記工程(b)は、(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する工程と、(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する工程と、(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する工程と、(b4)前記説明文を出力する工程と、を含む。
この方法によれば、特徴ベクトルに関する類似度を利用してクラス判別結果の説明文を作成し、出力するので、ユーザーがクラス判別結果の根拠を知ることができる。
【0101】
(2)上記方法において、前記特定層は、第1軸と第2軸の2つの軸で規定された平面に配置されたベクトルニューロンが、前記2つの軸とは異なる方向の第3軸に沿って複数のチャンネルとして配置されている構成を有し、前記特定層において、前記第1軸の位置と前記第2軸の位置で規定される平面位置で特定され、前記第3軸に沿った前記複数のチャンネルを含む領域を、部分領域と呼ぶ。このとき、前記特徴スペクトルは、前記特定層に含まれる複数の部分領域のうちの各部分領域について、(i)当該部分領域に含まれる各ベクトルニューロンの出力ベクトルの複数の要素値を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第1種の特徴スペクトルと、(ii)前記第1種の特徴スペクトルの各要素値に、前記出力ベクトルのベクトル長さに相当する正規化係数を乗じることによって得られる第2種の特徴スペクトルと、(iii)前記正規化係数を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第3種の特徴スペクトルと、のうちのいずれかとして求められるものとしてもよい。
この方法によれば、特定層の出力ベクトルから得られる3種の特徴スペクトルのいずれかを用いて類似度を求めることができる。
【0102】
(3)上記方法において、前記工程(b2)で得られる前記類似度は、前記部分領域毎に求められる局所類似度であるものとしてもよい。
この方法によれば、特定層の部分領域毎に求められる局所類似度に応じて説明文を作成できる。
【0103】
(4)上記方法において、Ns,Ndをそれぞれ2以上の整数とし、Nd≦Nsとし、Ncを1以上の整数としたとき、前記工程(b3)は、前記特定層に含まれる前記複数の部分領域のうちの少なくとも一部のNs個の部分領域に対するNs個の局所類似度から、前記局所類似度よりも階調数が少ないNd個のテーブル入力データを作成する第1工程と、前記Nd個のテーブル入力データを、予め準備された文字列ルックアップテーブルに入力することによって、前記文字列ルックアップテーブルから出力されるNc個の文字列を得る第2工程と、前記Nc個の文字列を、Nc個の文字列枠を有する説明文テンプレートに適用することによって、前記説明文を作成する第3工程と、を含むものとしてもよい。
この方法によれば、文字列ルックアップテーブルと説明文テンプレートを用いて説明文を作成できる。
【0104】
(5)上記方法において、前記整数Ndは、前記整数Nsよりも小さく、前記第1工程は、前記Ns個の局所類似度をNd個のグループにグループ化するとともに、各グループの局所類似度の代表値を求めることによって、Nd個の代表類似度を求める工程と、前記Nd個の代表類似度の階調数を低減することによって、前記Nd個のテーブル入力データを作成する工程と、を含むものとしてもよい。
この方法によれば、部分領域の局所類似度の代表値を求めることによって得られる代表類似度に応じて、説明文を作成できる。
【0105】
(6)上記方法において、各部分領域に対する前記局所類似度は、前記被判別データに応じて、前記特定層の当該部分領域の出力から得られる前記特徴スペクトルと、前記特定層及び各クラスに関連付けられたすべての前記既知特徴スペクトルとの類似度である第1種の局所類似度と、前記被判別データに応じて、前記特定層の当該部分領域の出力から得られる前記特徴スペクトルと、前記特定層の当該部分領域及び各クラスに関連付けられたすべての前記既知特徴スペクトルとの類似度である第2種の局所類似度と、のいずれかとして算出されるものとしてもよい。
この方法によれば、比較的簡単な演算で局所類似度を求めることができる。
【0106】
(7)上記方法において、前記工程(b4)は、前記機械学習モデルで判別可能な複数のクラスのうちの2以上のクラスに関して、前記クラス判別結果と前記説明文とを並べた判別結果リストを表示する工程を含むものとしてもよい。
この方法によれば、2つ以上のクラスに関するクラス判別結果の根拠を知ることができる。
【0107】
(8)本開示の第2の形態によれば、複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別するクラス判別処理を実行する情報処理装置が提供される。この情報処理装置は、前記機械学習モデルを記憶するメモリーと、前記機械学習モデルを用いた演算を実行するプロセッサーと、を備える。前記プロセッサーは、(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについて前記メモリーから読み出す処理と、(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する処理と、を実行するように構成されている。前記処理(b)は、(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する処理と、(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する処理と、(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する処理と、(b4)前記説明文を出力する処理と、を含む。
この情報処理装置によれば、特徴ベクトルに関する類似度を利用してクラス判別結果の説明文を作成し、出力するので、ユーザーがクラス判別結果の根拠を知ることができる。
【0108】
(9)本開示の第3の形態によれば、複数のベクトルニューロン層を有するベクトルニューラルネットワーク型の機械学習モデルを用いて、被判別データのクラスを判別するクラス判別処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの特定層の出力から得られる既知特徴スペクトル群を、1つ以上のクラスの各クラスについてメモリーから読み出す処理と、(b)前記機械学習モデルと前記既知特徴スペクトル群とを用いて、前記被判別データのクラス判別処理を実行する処理と、を前記プロセッサーに実行させるコンピュータープログラムである。前記処理(b)は、(b1)前記機械学習モデルへの前記被判別データの入力に応じて、前記特定層の出力から特徴スペクトルを算出する処理と、(b2)前記特徴スペクトルと、各クラスに関する前記既知特徴スペクトル群との類似度を演算する処理と、(b3)前記類似度に応じて、前記被判別データに対するクラス判別結果の説明文を作成する処理と、(b4)前記説明文を出力する処理と、を含む。
このコンピュータープログラムによれば、特徴ベクトルに関する類似度を利用してクラス判別結果の説明文を作成し、出力するので、ユーザーがクラス判別結果の根拠を知ることができる。
【0109】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、クラス判別装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
【符号の説明】
【0110】
10…プリンター、20…情報処理装置、30…分光測定器、110…プロセッサー、112…印刷処理部、114…クラス判別処理部、120…メモリー、130…インターフェイス回路、150…表示部、200…機械学習モデル、210…畳み込み層、220…プライマリーベクトルニューロン層、230…第1畳み込みベクトルニューロン層、240…第2畳み込みベクトルニューロン層、250…分類ベクトルニューロン層、310…類似度演算部、320…説明文作成部、321…平均値演算部、322…階調低減部、324…文字列ルックアップテーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18