(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】方法、装置、および、コンピュータープログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240814BHJP
G06N 3/08 20230101ALI20240814BHJP
G06N 20/00 20190101ALI20240814BHJP
【FI】
G06T7/00 350C
G06N3/08
G06N20/00
(21)【出願番号】P 2020194805
(22)【出願日】2020-11-25
【審査請求日】2023-07-12
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】金澤 佳奈
(72)【発明者】
【氏名】倉沢 光
(72)【発明者】
【氏名】渡邊 亮基
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2019-082883(JP,A)
【文献】特表2021-501392(JP,A)
【文献】特開2019-087044(JP,A)
【文献】柿下 容弓 外1名,Deep Neural Networkのモデル逆解析による識別根拠可視化技術,情報処理学会 論文誌(トランザクション) 数理モデル化と応用(TOM),Vol.12 No.2,日本,2019年07月17日,p.20-p.33
【文献】Aryan Mobiny et al.,Automated Classification of Apoptosis in Phase Contrast Microscopy Using Capsule Network,IEEE Transactions on Medical Imaging,Volume: 39, Issue: 1,米国,IEEE,2019年05月22日,p.1-p.10,https://ieeexplore.ieee.org/document/8720196
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
装置がベクトルニューラルネットワーク型の機械学習モデルを用いて実行する方法であって、
前記機械学習モデルは、複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習されており、
前記機械学習モデルは、
複数のニューロン層を有し、前記
複数のニューロン層のそれぞれは
複数のニューロン群を有し、前記
複数のニューロン群のそれぞれは
複数のニューロンを有し、
前記装置は、学習された前記機械学習モデルに前記複数の第1画像が入力されることで前記
複数の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データを、前記ニューロンと関連付けて記憶しており、
前記方法は、
前記機械学習モデルに物体の第2画像を入力して、前記
複数の前記ニューロン層のそれぞれについて、前記
複数の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する工程と、
前記
複数の前記ニューロン層
のうちで少なくとも一つの前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する工程と、
前記類似度に応じた根拠画像を生成する工程と、
前記生成した前記根拠画像を表示する工程と、を備える、方法。
【請求項2】
請求項1に記載の方法であって、
前記生成する工程は、前記根拠画像の画素に前記類似度に応じた階調値を付与することで前記根拠画像を生成する工程を含む、方法。
【請求項3】
請求項2に記載の方法であって
、
前記計算する工程は、前記複数のニューロン群のそれぞれについて、前記第1中間データと前記第2中間データとの類似度を計算し、
前記生成する工程は、計算された複数の前記類似度に応じた部分根拠画像を生成して配列することで前記根拠画像を生成し、
前記生成する工程において生成される前記根拠画像は、
前記複数の部分根拠画像によって形成された第1根拠画像と、
前記複数の部分根拠画像と前記第2画像とを合成することで形成された第2根拠画像と、の少なくともいずれかである、方法。
【請求項4】
請求項3に記載の方法であって、さらに、
前記第1根拠画像と前記第2根拠画像との少なくともいずれかを生成させる画像生成命令を受け付ける工程を備え、
前記生成する工程は、受け付けた前記画像生成命令に応じた前記根拠画像を生成する、方法。
【請求項5】
請求項3または請求項4に記載の方法であって、
前記装置は、前記部分根拠画像を形成するために用いる色成分および階調数と、前記類似度に応じた階調値とを対応付けた対応データを記憶し、
前記方法は、さらに、前記部分根拠画像を生成するために用いる、前記色成分と前記階調数とを含む表現パラメーターを受け付ける工程を備え、
前記生成する工程は、受け付けた前記表現パラメーターと、前記対応データと、を用いて、前記部分根拠画像の画素に前記類似度に応じた前記色成分の前記階調値を付与することで前記部分根拠画像を生成する工程を含む、方法。
【請求項6】
ベクトルニューラルネットワーク型の機械学習モデルを用いた装置であって、
(i)複数の第1画像と、前記複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習された機械学習モデルであって、
複数のニューロン層を有し、前記
複数のニューロン層のそれぞれは
複数のニューロン群を有し、前記
複数のニューロン群のそれぞれは
複数のニューロンを有する機械学習モデルと、(ii)前記機械学習モデルに前記複数の第1画像が入力されることで前記
複数の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データであって、前記ニューロンと関連付けられた第1中間データと、を記憶する記憶装置と、
前記機械学習モデルに物体の第2画像を入力して、前記
複数の前記ニューロン層のそれぞれについて、前記
複数の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する取得部と、
前記
複数の前記ニューロン層
のうちで少なくとも一つの前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する類似度計算部と、
前記類似度に応じた根拠画像を生成する出力画像生成部と、
前記生成した前記根拠画像を表示する表示部と、を備える、装置。
【請求項7】
ベクトルニューラルネットワーク型の機械学習モデルを用いてコンピューターに実行させるコンピュータープログラムであって、
前記機械学習モデルは、複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習されており、
前記機械学習モデルは、
複数のニューロン層を有し、前記
複数のニューロン層のそれぞれは
複数のニューロン群を有し、前記
複数のニューロン群のそれぞれは
複数のニューロンを有し、
前記コンピューターは、学習された前記機械学習モデルに前記複数の第1画像が入力されることで前記
複数の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データを、前記ニューロンと関連付けて記憶しており、
前記コンピュータープログラムは、
前記機械学習モデルに物体の第2画像を入力して、前記
複数の前記ニューロン層のそれぞれについて、前記
複数の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する取得機能と、
前記
複数の前記ニューロン層
のうちで少なくとも一つの前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する類似度計算機能と、
前記類似度に応じた根拠画像を生成する出力画像生成機能と、
前記生成した前記根拠画像を表示する表示機能と、を備える、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ベクトルニューラルネットワーク型の機械学習モデルを用いた技術に関する。
【背景技術】
【0002】
従来、機械学習モデルを用いた画像のクラス判別について、損失関数に寄与する勾配の大きい画像部分をカラーマップで表現する技術が知られている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【文献】Ramprasaath R. 外6名,” Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization”[online], Cornell University, [令和2年10月9日検索],インターネット<URL: https://arxiv.org/abs/1610.02391>
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、クラス判別の結果とその結果に寄与した画像中の部分との相関を示すに過ぎない。例えば、従来の技術は、「ヒト」の入力画像をアルゴリズムモデルが「ゴリラ」と誤判定しても、入力画像における「ヒト」の部分を強調することしかしない。このような背景から、アルゴリズムモデルによるクラス判別に至る途中の処理を、クラス判別との関係でヒトが解釈できる形で提示する技術があれば、技術的にも社会的にも有用である。
【課題を解決するための手段】
【0005】
(1)本開示の第1形態によれば、装置がベクトルニューラルネットワーク型の機械学習モデルを用いて実行する方法が提供される。前記機械学習モデルは、複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。また前記機械学習モデルは、1以上のニューロン層を有し、前記1以上のニューロン層のそれぞれは1以上のニューロン群を有し、前記1以上のニューロン群のそれぞれは1以上のニューロンを有する。前記装置は、学習された前記機械学習モデルに前記複数の第1画像が入力されることで前記1以上の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データを、前記ニューロンと関連付けて記憶している。前記方法は、前記機械学習モデルに物体の第2画像を入力して、前記1以上の前記ニューロン層のそれぞれについて、前記1以上の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する工程と、前記1以上の前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する工程と、前記類似度に応じた根拠画像を生成する工程と、前記生成した前記根拠画像を表示する工程と、を備える。
【0006】
(2)本開示の第2形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いた装置が提供される。この装置は、(i)複数の第1画像と、前記複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習された機械学習モデルであって、1以上のニューロン層を有し、前記1以上のニューロン層のそれぞれは1以上のニューロン群を有し、前記1以上のニューロン群のそれぞれは1以上のニューロンを有する機械学習モデルと、(ii)前記機械学習モデルに前記複数の第1画像が入力されることで前記1以上の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データであって、前記ニューロンと関連付けられた第1中間データと、を記憶する記憶装置と、前記機械学習モデルに物体の第2画像を入力して、前記1以上の前記ニューロン層のそれぞれについて、前記1以上の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する取得部と、前記1以上の前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する類似度計算部と、前記類似度に応じた根拠画像を生成する出力画像生成部と、前記生成した前記根拠画像を表示する表示部と、を備える。
【0007】
(3)本開示の第3形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いてコンピューターに実行させるコンピュータープログラムが提供される。前記機械学習モデルは、複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。また前記機械学習モデルは、1以上のニューロン層を有し、前記1以上のニューロン層のそれぞれは1以上のニューロン群を有し、前記1以上のニューロン群のそれぞれは1以上のニューロンを有する。前記コンピューターは、学習された前記機械学習モデルに前記複数の第1画像が入力されることで前記1以上の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データを、前記ニューロンと関連付けて記憶している。このコンピュータープログラムは、前記機械学習モデルに物体の第2画像を入力して、前記1以上の前記ニューロン層のそれぞれについて、前記1以上の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する取得機能と、前記1以上の前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する類似度計算機能と、前記類似度に応じた根拠画像を生成する出力画像生成機能と、前記生成した前記根拠画像を表示する表示機能と、を備える。
【図面の簡単な説明】
【0008】
【
図1】学習段階の判別システムを説明するための図。
【
図3】予想の投票によるベクトルニューロンの決定を概念的に示す第1の図。
【
図4】予想の投票によるベクトルニューロンの決定を概念的に示す第2の図。
【
図5】機械学習モデルの設定方法を説明するための図。
【
図6】機械学習モデルの学習段階で実行される学習処理を示すフローチャート。
【
図7】判別段階の判別システムを説明するための図。
【
図9】第2画像のクラス判別処理のフローチャート。
【
図12】第1根拠画像としての根拠画像を示す第1図。
【
図13】第1根拠画像としての根拠画像を示す第2図。
【発明を実施するための形態】
【0009】
A.第1実施形態:
図1は、学習段階の判別システム100を説明するための図である。
図2は、第1画像12と事前ラベル14を説明するための図である。
図1に示す判別システム100は、ベクトルニューラルネットワーク型の機械学習モデル30の学習を行う段階を表している。判別システム100は、判別装置20と、外部装置との間でデータのやり取りをするデータインターフェースと、を備える。データインターフェースは、限定されないが、好適にはUSBアダプター、有線または無線LANアダプターなどである。
【0010】
本実施形態では、データインターフェースを介して、外部装置から判別装置20の記憶装置に第1画像12が格納されている。第1画像12は、機械学習モデル30の学習に用いられる。第1入力データセット10は、撮像した対象が異なる第1画像としての第1データ要素12A,12B,12Cと、第1データ要素12A,12B,12Cに対応する事前ラベル14と、を有する。事前ラベル14のうち、第1データ要素12Aに対応するラベルを事前ラベル14Aとも呼び、第1データ要素12Bに対応するラベルを事前ラベル14Bとも呼び、第1データ要素12Cに対応するラベルを事前ラベル14Cとも呼ぶ。第1画像12は、センサーによって取得された複数の第1データ要素12A,12B,12Cを含む。センサーは、RGBカメラや、赤外カメラなどの画像データを取得するセンサーである。
【0011】
図2に示すように、各第1データ要素12A~12Cは、カメラで撮像した種類が異なる対象物としてのサイコロである。第1データ要素12Aは、全面が一の目のサイコロをカメラで撮像した画像である。第1データ要素12Bは、全面が二の目のサイコロをカメラで撮像した画像である。第1データ要素12Cは、全面が三の目のサイコロをカメラで撮像した画像である。第1データ要素12A~12Cはそれぞれ、1000枚ずつ準備されている。第1データ要素12A~12Cはそれぞれ画像サイズが32×32ピクセルである。また1000枚ずつの第1データ要素12A~12Cは、サイコロの目の位置が最大で±2ピクセル、サイコロの目の大きさが最大で±2ピクセル変動している。機械学習モデル30での学習に用いられる第1データ要素12A~12Cや、機械学習モデル30によってラベル判別される後述する第2画像としての第2データ要素は、特徴に階層性を有する。「特徴に階層性を有する」とは、注目するデータ領域を微小な領域から、段階的に大きくしていくと、領域ごとに異なる特徴が現れることを意味する。例えば、特徴として、領域のテクスチャー、領域に現れる形状、領域に現れる各要素の配置、領域に現れる全体構成などが各層に該当する。特徴の階層性は、多くのデータに一般的にみられる特徴構造であり、機械学習モデル30を用いた本開示の内容は汎用性が高い。
【0012】
事前ラベル14は、第1データ要素12A~12Cのそれぞれに対応付けて第1入力データセット10に記憶され、記憶装置22に入力される。事前ラベルは、第1事前ラベルとしての良品ラベルと、第2事前ラベルとしての不良品ラベルとを有する。事前ラベル14は、単にラベル14とも呼ぶことがある。第1データ要素12Aには、事前ラベルとして不良品ラベルが対応付けられている。第1データ要素12Bには、事前ラベルとして不良品ラベルが対応付けられている。第1データ要素12Cには、事前ラベルとして良品ラベルが対応付けられている。つまり、本実施形態における機械学習モデル30は、立方体の各表面に3の目を印刷または刻印した製品を製造する場合に使用され、製品の良品と不良品とを判別できる。
【0013】
図1に示す判別装置20は、パーソナルコンピューターなどの電子計算機である。判別装置20は、記憶装置22と、プロセッサー24と、表示部26とを備える。記憶装置22は、フラッシュメモリーやEEPROMなどの一時的でない記憶媒体としての不揮発性記憶媒体23と、メインメモリーとしてのDRAMと、を含む。記憶装置22には、機械学習モデル30と、入力された第1入力データセット10を用いて生成される収集データ要素32とが記憶されている。また、記憶装置22には、判別装置20の動作を制御するための各種プログラムが記憶されている。
【0014】
プロセッサー24は、記憶装置22に記憶された各種プログラムを実行することで各種機能を実現する。例えば、プロセッサー24は、学習部240と取得部241と類似度計算部242と出力画像生成部244として機能する。なお、他の実施形態では、各種機能の少なくとも一部がハードウェア回路によって実現されてもよい。ここで、本開示において、「プロセッサー」は、CPU、GPU、およびハードウェア回路を包含する用語である。
【0015】
学習部240は、第1入力データセット10を用いて機械学習モデル30の学習を実行する。取得部241は、後述する第1中間データや第2中間データを取得して記憶装置22に記憶させる。類似度計算部242は、第1中間データと第2中間データとの類似度を計算する。第1中間データは、機械学習モデル30の第1入力データセット10が有する第1画像12が機械学習モデル30に入力されることでニューロンが出力するデータである。第2中間データは、判別対象となる物体が撮像された第2画像を機械学習モデル30に入力することで生成されるデータである。第1中間データと第2中間データとの詳細は後述する。
【0016】
出力画像生成部244は、類似度計算部242によって計算された類似度に応じた根拠画像IMEを含む出力画像IM0を生成する。根拠画像IMEは、第2画像について機械学習モデル30によって判別された根拠を示す画像である。出力画像IM0は、ユーザーに判別根拠を説明するための画像である。根拠画像IMEを含む出力画像IM0の詳細は後述する。出力画像生成部244によって生成された出力画像IM0は、表示部26によって表示される。なお、表示部26は、判別装置20に設けられていたが、他の装置、例えば、スマートフォンなどの端末機器の表示部であってもよい。
【0017】
表示部26は、各種情報を表示するために用いられる。表示部26は、例えば、液晶モニターである。各種情報としては、例えば、学習された機械学習モデル30を用いて判別したデータ要素の判別結果や出力画像IM0を表示する。
【0018】
機械学習モデル30は、ベクトルニューラルネットワーク型のアルゴリズムモデルであり、複数層を有する階層型である。機械学習モデル30は、カプセルネットワークにおいて実行される動的ルーティング(Dynamic routing)を省略可能にしたネットワークである。本実施形態の機械学習モデル30は、動的ルーティングで必要となる反復処理が必要でないベクトルニューラルネットワーク型のアルゴリズムを用いている。このアルゴリズムを狭義のベクトルニューラルネットワーク型のアルゴリズムとも呼ぶ。また、カプセルネットワークや狭義のベクトルニューラルネットワークは、入出力がベクトルであるベクトルニューロンをネットワークのニューロンとする機械学習モデルである。よって、カプセルネットワークや狭義のベクトルニューラルネットワークは、ベクトルニューラルネットワークに含まれる一つのアルゴリズムである。なお、ニューロンは、「ノード」とも呼ばれる。以下にカプセルネットワークのアルゴリズムと狭義のベクトルニューラルネットワークのアルゴリズムの違いについて説明する。
【0019】
カプセルネットワークの動的ルーティングのアルゴリズムの概略は、以下の式(1)~式(5)によって表される。
【0020】
【0021】
上記式(1)~(5)において、Xiは層Lでのカプセルの出力、Xjは次の層L+1でのカプセルの出力である。また、WijはXiからXjの予測値を求めるための変換行列であり、カプセルネットワークの学習過程において最適化される。また、aiは層Lでのカプセルのアクティベーション値である。Rijはルーティングファクターと呼ばれ、アルゴリズム開始時に定数で初期化される。またRijは前層のどのカプセルから、次の層のどのカプセルへ出力を行うか決定する要素である。動的ルーティングとは、Rijをデータ要素ごとに動的に変化させることを意味し、確率的統計の手法を用いて最適な値を決定する。式(3)および式(4)に記載の「F」や「G」は、確率的統計処理を抽象化して表した式である。式(3)および式(4)を、例えば、EMアルゴリズム(Expectation-Maximization algorithm)で考えた場合、「F」がMステップを、「G」がEステップを表すと対応付けることができる。また、式(4)から式(2)へとRijが収束するまで繰り返し計算が実行される。カプセルネットワークでは、2~3回程度の繰り返し計算が推奨されている。
【0022】
一方で、本実施形態の機械学習モデル30に用いられる狭義のベクトルニューラルネットワークの出力決定アルゴリズムを以下に説明する。
【0023】
【0024】
ここで、上記式(6)の「M」に「i」と「L」を付した要素Emaは、層Lにおけるi番目のベクトルニューロンの出力を表す。式(5)の「W」に「ij」と「L」を付した要素Embは、要素Emaから、層L+1のj番目のベクトルニューロンの出力である上記式(9)の左辺の要素の方向に関する予測値vijを算出するための変換行列であり、確率的勾配降下法による学習対象である。ujは層Lにあるすべてのベクトルニューロンからの要素Emaの予測値vijの総和である。iは、1~Nをとり、Nは整数である。ujのノルムは、予測値が大きく、まとまっているほど大きくなる。式(8)のソフトマックス関数により、層L+1の全てのベクトルニューロンについてのujのノルムは、規格化した値である確度ajに変換される。ここでβは、上述の式(8)に記載のごとく、ノルムの大きさの確度に与える影響を調節するパラメーターであり、今回はβ=1で実行している。また、式(8)において、「k」は1~Nをとる。確度ajは、カプセルネットワークにおけるアクティベーションに相当する要素である。よって、確度ajをアクティベーションajとも呼ぶ。jは、1~Mの値をとる。ここで、「M」は整数である。確度ajの情報を式(9)により要素Embに統合するため、ベクトルニューロンから次のベクトルニューロンへと明示的に出力されることはない。式(9)により、ujの方向に関する情報だけを取り出して、層L+1内での相対的な確度aで重み付けされて、要素Emaが決定する。なお、確度ajを、総称する場合には確度aとも呼ぶ。
【0025】
要素Embは、学習の過程で極端に大きな値をとらないように、2ノルムがロス関数に組み込まれる。ここで、要素Embのノルムは、適当なベクトルとの積を用いて定義され、ベクトルとして要素Emaを用いると、以下の式(10)で表される。
【0026】
【0027】
ベクトルニューロンのベクトルである出力Mの大きさは、各層の相対的な確度aで重み付けされているため、確度aの高い情報からの投票は、大きな影響力をもつことになる。なお、アクティベーションaは、上位層L+1のすべてのノードに関してノルム|uj|を正規化することによって得られる正規化係数である。従って、アクティベーション値ajは、上位層L+1内の全ノードの中における各ノードの相対的な出力強度を示す指標と考えることができる。
【0028】
図3は、予想の投票によるベクトルニューロンの決定を概念的に示す第1の図である。
図4は、予想の投票によるベクトルニューロンの決定を概念的に示す第2の図である。
図3および
図4では、理解の容易のために、ベクトルニューロンの次元数を次元m1と次元m2の「2」としている。
図3に示すように、方向のそろった予想の投票が確度aの高い出力Mにつながる。一方で、
図4に示すように、方向がそろっていない予想の投票は確度aの低い出力Mとなる。
【0029】
図5は、ベクトルニューラルネットワーク型の機械学習モデル30の設定方法を説明するための図である。機械学習モデル30は、入力される第1画像12側から順に、畳み込み層33と、プライマリーニューロン層35と、第1ニューロン層37と、第2ニューロン層38と、最終層である分類ニューロン層39とを備える。これらの5つの層33~39のうち、畳み込み層33が最も上位の層である。なお、機械学習モデル30の階層数は、入力されるデータ要素の種類に応じて、適宜変更される。本実施形態では、ニューロン層は4つの層35,37,38,39によって構成された階層構造である。上位側から順に、プライマリーニューロン層35、第1ニューロン層37、第2ニューロン層38、分類ニューロン層39が配列される。下位側のニューロン層における各ニューロンのベクトルMとアクティベーションaは、カーネルとストライドで設定される1以上のニューロンによって構成された上位側の層である前層のニューロン群を用いて決定される。各ニューロンが有するベクトルMは、本実施形態では16次元である。
【0030】
第1画像12の各データ要素12A~12Cに対して、5×5のカーネルをストライド「2」で適用することで、データ要素12A~12Cの範囲のうちで畳み込み層33の一つのノードに出力を与える部分範囲が決まる。各データ要素12A~12Cに対して適用するカーネルの数は32である。これにより、畳み込み層33は、第1軸xである縦軸と第1軸xと直交する横軸である第2軸yがそれぞれ14つに区切られた部分領域Rxを有するように構成される。第1軸xと第2軸yとは、ノード配列の平面位置座標を規定する。第1軸xに沿ったx方向のサイズと、第2軸yに沿ったy方向のサイズを「解像度」とも呼ぶ。また、畳み込み層33の深さ方向である第3軸z方向の数を示すチャンネル数は、カーネルの数と同数の32で構成される。
図5では、畳み込み層33において、x,y,z方向のサイズが14,14,32であることが示されている。なお、
図5において、畳み込み層33以外の層では、x軸、y軸、z軸の図示が省略されている。
【0031】
上述の「部分範囲」とは、データ要素である第1画像12の入力画像上の領域であって、第1軸xの位置と第2軸yの位置で特定される1つの領域である。ただし、以下の説明から明らかなように、データ要素上の「部分範囲」の大きさは、「部分範囲」に対応するニューロン、または部分領域Rxがニューロン層35,37,38,39のどれに属するかに応じて異なる。他方、「部分領域Rx」とは、ニューロン層において縦軸の位置と横軸の位置とで特定される領域である。詳細には、ニューロン層における各「部分領域Rx」は、第1軸xの位置と、第2軸yの位置と、チャンネルに対応する第3軸zの位置とで特定される領域である。ニューロン層における各「部分領域Rx」は、上記の第1軸x、第2軸y、第3軸zに対応する「Height」×「Width」×「Depth」の次元を有する。本実施形態では、1つの「部分領域Rx」に含まれるニューロンの数は「1×1×デプス数」である。本開示において、部分領域Rxの「x」にはニューロン層35,37,38,39に応じて、「35」、「37」、「38」、「39」の数値を代入する。例えば、部分領域R35は、プライマリーニューロン層35における領域を示す。
【0032】
畳み込み層33に、1×1×32のカーネルをストライド「1」で適用することで、畳み込み層33の部分領域R33のうちから、プライマリーニューロン層35の一つのニューロンに出力する部分領域R33が決まる。ここでは、同じサイズ、同じストライドで、16種類のカーネルが用いられることから、プライマリーニューロン層35において、畳み込み層33の一つの部分領域R33に対応するニューロンの数は16である。畳み込み層33のノードからプライマリーニューロン層35のニューロンへの出力の生成には、変換行列が用いられており、上記の式(6)~式(10)で示される出力決定アルゴリズムが用いられていない。なお、ニューロン層に畳み込むためのカーネルの次元は、チャネル数およびニューロンの要素数も考慮にいれる場合には、「Height」×「Width」×「Depth」×「ベクトルMの要素数」と表現されることもある。この表現にしたがうと、畳み込み層33からプライマリーニューロン層35への畳み込みに用いられるカーネルの次元は、1×1×32×16である。
【0033】
プライマリーニューロン層35に、3×3×16のカーネルをストライド「1」で適用することで、プライマリーニューロン層35の部分領域R35のうちから、第1ニューロン層37の一つの部分領域R37に含まれるニューロンに出力を与える部分領域R35が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、12種類のカーネルが用いられることから、第1ニューロン層37の部分領域R37に含まれるニューロンの数は12である。プライマリーニューロン層35のニューロンから第1ニューロン層37のニューロンへの出力の生成には、上記の式(6)~式(10)で示される出力決定アルゴリズムが用いられる。ここで、プライマリーニューロン層35に適用されるカーネルは、第1ニューロン層37の1つのニューロンを合議制ルーティングにしたがって決めるために用いるプライマリーニューロン層35の3×3×16個のニューロンを指定する、とも表現される。これは、以下の説明でもあてはまる。なお、1つの部分領域Rxについて、1以上、本実施形態では複数のニューロンによって構成される集合をニューロン群とも呼ぶ。つまり、ニューロン群は、深さ方向に並んだ1以上のニューロンを有する。
【0034】
第1ニューロン層37に、7×7×12のカーネルをストライド「2」で適用することで、第1ニューロン層37の部分領域R37のうちから、第2ニューロン層38の一つの部分領域R38に出力を与える部分領域R37が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、6種類のカーネルが用いられることから、第2ニューロン層38の部分領域R38に含まれるニューロンの数は6である。第1ニューロン層37のニューロンから第2ニューロン層38のニューロンを生成する際には、上記の式(6)~式(10)で示される出力決定アルゴリズムが用いられる。
【0035】
第2ニューロン層38に、3×3×6のカーネルをストライド「1」で適用することで、第2ニューロン層38の部分領域R38のうちから、分類ニューロン層39の一つの部分領域R39に出力を与える部分領域R38が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、2種類のカーネルが用いられることから、分類ニューロン層39の部分領域R39に含まれるニューロンの数は2である。第2ニューロン層38のニューロンから分類ニューロン層39のニューロンを生成する際には、上記の式(6)~式(10)で示される出力決定アルゴリズムが用いられる。
【0036】
最終層である分類ニューロン層39は1つの部分領域R39で構成される。分類ニューロン層39は、機械学習モデル30に入力されたデータ要素について、予め定められたラベルに分類する。本実施形態では、予め定めたラベルは、良品ラベルを示すラベル「0」と、不良品ラベルを示すラベル「1」との組み合わせで表されたラベルである。なお、他の実施形態では、予め定めたラベルは、既知ラベルを示すラベル「0」と、未知ラベルを示すラベル「1」との組み合わせとのいずれかの組み合わせで表されたラベルであってもよい。
【0037】
分類ニューロン層39は1つ部分領域R39で構成される。分類ニューロン層39では、2つのニューロンのうち、アクティベーションaが最大となるニューロンに対応するラベルが出力となる。分類ニューロン層39から出力されるラベルは、プロセッサー24によって制御されることで表示部26によって出力される。なお、詳細には、分類ニューロン層39の出力はラベルの数と等しい個数のクラスに対する複数の判定値に変換される。本実施形態では、分類ニューロン層39の2つのニューロンの出力が、2つのラベル「0」「1」に対応する2つの判定値に変換される。これらの判定値は、通常はソフトマックス関数によって正規化された値である。具体的には、例えば、分類ニューロン層39の各ニューロンの出力ベクトルから、その出力ベクトルのベクトル長さを算出し、更に、2つのノードのベクトル長さをソフトマックス関数で正規化する、という演算を実行することによって、2つのクラスに対する判定値を得ることができる。アクティベーション値aは、出力ベクトルMのベクトル長さに相当する値であり、正規化されている。従って、分類ニューロン層39の2つのニューロンのそれぞれにおけるアクティベーション値aを出力して、そのまま2つのクラスに対する判定値として使用してもよい。
【0038】
上記
図5において、プライマリーニューロン層35の1つの部分領域R35は、データ要素12A~12Cの5×5ピクセルの部分範囲に対応する。また、第1ニューロン層37の1つの部分領域R37は、データ要素12A~12Cの9×9ピクセルの部分範囲に対応する。また、第2ニューロン層38の部分領域R38は、データ要素12A~12Cの21×21ピクセルの部分範囲に対応する。また、分類ニューロン層39の部分領域R39は、データ要素12A~12Cの29×29ピクセルの部分範囲に対応する。
【0039】
図6は、機械学習モデル30の学習段階で実行される学習処理を示すフローチャートである。まず、ステップS10において、機械学習モデル30のパラメーターの設定が行われる。ステップS10では、
図5を用いて説明したように、階層の数や、層の間で適用されるカーネルのサイズとストライドとが設定される。
【0040】
次に、ステップS12において、機械学習モデル30に学習させる第1画像12としての第1データ要素12A,12B,12Cが準備される。なお、ステップS10とステップS12の順番は上記に限定されるものではなく、ステップS12がステップS10よりも先に実行されてもよい。
【0041】
次に、ステップS14において、第1画像12としての各第1データ要素12A~12Cを機械学習モデル30に順次入力し、第1画像12としての各データ要素12A~12Cと、各データ要素12A~12Cに対応する事前ラベルとの対応を再現するように、学習部240によって機械学習モデル30が学習される。プロセッサー24の学習部240は、例えばミニバッチ勾配降下法のアルゴリズムを用いて機械学習モデル30を学習する。本実施形態では、プロセッサー24の学習部240は、データ要素のサブセットであるミニバッチのサイズを「32」、エポックを「20000」に設定したミニバッチ勾配降下法のアルゴリズムを用いて機械学習モデル30を学習する。学習の結果、機械学習モデル30の正解率は100%となった。
【0042】
ステップS16では、プロセッサー24は、ステップS14において学習された機械学習モデル30に学習に用いた複数の第1データ要素12A,12B,12Cを再び入力し、ニューロン層である第1ニューロン層37、第2ニューロン層38、分類ニューロン層39のそれぞれについて、以下を実行する。すなわち、プロセッサー24の取得部241は、各層37,38,39の各ニューロンが有する第1アクティベーションa1と第1ベクトルM1との少なくとも一方に基づく第1中間データを、第1データ要素12A~12C上の部分範囲であって各ニューロンが対応する部分範囲に関連付けて取得する。そしてプロセッサー24の取得部241は、互いに関連付けられた第1中間データと部分範囲の相対位置とを記憶装置22に記憶する。なお、関連付けられた部分範囲の画像そのものを記憶装置22に記憶してもよい。第1データ要素12A~12C上の部分範囲であって各ニューロンが対応する部分範囲を、第1部分データ要素とも呼ぶ。また、以下では、記憶された第1中間データおよび第1部分データ要素を収集データ要素32とも表記する。なお、他の実施形態では、プライマリーニューロン層35においても各層37,38,39と同様に、第1中間データを第1部分データ要素と関連付けて取得してもよい。なお、必ずしも全てのニューロン層から第1中間データが取得される必要はない。例えば、第2ニューロン層38だけから第1中間データが取得されてもよいし、いくつかの層の組み合わせから取得されてもよい。これは、以下で説明する第2中間データにも当てはまる。さらに、他の実施形態では、ステップS14で機械学習モデル30の学習に用いられる複数の第1データ要素12A,12B,12Cを2つのグループに分割してもよい。この場合、ステップS14で機械学習モデル30の学習に用いられる第1データ要素12A,12B,12Cのグループと、学習に用いられない第1データ要素12A,12B,12Cのグループとに分割し、ステップS14では一方のグループだけで機械学習モデル30を学習し、ステップS16では2つのグループを用いて第1中間データを生成してもよい。要するに、機械学習モデル30の学習に用いられる第1データ要素12A,12B,12Cの事前ラベル14A,14B,14Cと同じ事前ラベル14A,14B,14Cが付与されている限り、ステップS16で中間データを生成するためのデータは、機械学習モデル30の学習に用いられた第1データ要素12A,12B,12Cだけに限定されない。
【0043】
上記のように、プロセッサー24が実行する方法によれば、ステップS16によって、ニューロンが有する第1アクティベーションa1と第1ベクトルM1との少なくとも一方に基づく第1中間データを取得できる。これにより、機械学習モデル30に判別対象のデータ要素である第2画像が入力された場合において、プロセッサー24は、ニューロンが有する第2アクティベーションa2と第2ベクトルM2との少なくとも一方に基づく第2中間データを取得することで、第1中間データから生成される特徴スペクトルと第2中間データから生成される特徴スペクトルとの類似度を計算できる。第2中間データは、第2ベクトルM2自体や第2アクティベーションa2自体であってもよいし、第2ベクトルM2や第2アクティベーションa2に対して重み付けなどのデータ処理したデータであってもよい。本実施形態では、第2中間データは、第2ベクトルM2と第2アクティベーションa2とによって構成される。なお、他の実施形態では、第1中間データと第2中間データとはそれぞれ特徴スペクトルであってもよい。特徴スペクトルの詳細については後述する。類似度計算部242が類似度を計算することで、出力画像生成部は類似度に応じた根拠画像を含む出力画像を生成できる。よって、プロセッサー24は、機械学習モデル30を用いた入力した第2画像の判別根拠が出力可能となる。
【0044】
図7は、判別段階の判別システム100を説明するための図である。
図8は、第2画像62を説明するための図である。
図7の判別システム100と
図1の判別システム100との異なる点は、機械学習モデル30に入力するデータ要素として、第2入力データセット60が用いられる点である。
【0045】
図7に示すように、第2入力データセット60は、複数の第2画像62を有する。
図8に示すように、複数の第2画像62は、製造された複数のサイコロそれぞれにおいて、1つの面がカメラで撮像されることで取得された画像を表す第2データ要素62A~62Cである。第2画像としての第2データ要素62A~62Cのサイズは、例えば、機械学習モデル30の学習時と同じ32×32ピクセルである。また第2データ要素62A~62Cはそれぞれ1100枚ずつ準備され、サイコロの目の位置が最大で±2ピクセル、サイコロの目の大きさが最大で±2ピクセル変動している。
【0046】
学習された機械学習モデル30に、第2データ要素62A~62Cが1つずつ入力されることで、クラス判別、すなわちラベルが判別される。例えば、機械学習モデル30に、一の目を表す第2データ要素62Aや二の目を表す第2データ要素62Bが入力された場合は、不良品であると判別され、三の目を表す第2データ要素62Cが入力された場合は、良品であると判別される。また、本実施形態では、プロセッサー24は、ラベルを判別した判別根拠を生成し、表示部26に判別したラベルと共に判別根拠を表示させる。判別根拠の生成方法は後述する。
【0047】
図9は、第2画像62のクラス判別処理のフローチャートである。まず、ステップS20において、プロセッサー24は、第1画像12を用いて学習された機械学習モデル30に各第2データ要素62A~62Cを1つずつ入力し、クラス判別を実行する。次に、プロセッサー24の取得部241は、ステップS22において、入力された第2データ要素62A~62Cの1つずつに、機械学習モデル30の状態、つまり、分類ニューロン層39の2つのニューロンのアクティベーションaとしての第2アクティベーションa2を計算、すなわち導出する。また、ステップS22では、プロセッサー24は、機械学習モデル30に入力された第2データ要素62A~62Cのそれぞれについて、機械学習モデル30から第2中間データを取得する。第2中間データの取得の詳細は、
図10におけるステップS30を参照しながら後述する。
【0048】
次に、ステップS24において、プロセッサー24は、ステップS22の計算結果をもとに、分類ニューロン層39の第2アクティベーションa2が最大となるニューロンに対応するラベルを判別結果として生成して表示部26に出力する。なお、ラベルの判別結果は、画像情報に限られずユーザーに報知できる情報であればよい。例えば、ラベルの判別結果は、音声情報として出力されてもよい。この場合、表示部26はスピーカーを備える。以下の説明では、ラベルの判別結果は、収集データ要素32の一部として、記憶装置22に記憶される。
【0049】
図10は、第1説明処理のフローチャートである。第1説明処理は、
図9のクラス判別処理の後に行われてもよいし、
図9のクラス判別処理と並列して行われてもよい。第1説明処理は、プロセッサー24によって実行される。第1説明処理は、収集データ要素32に記憶された良品ラベルが対応付けられた第1データ要素12Cと、入力された第2データ要素62A~62Cとを比較し、なぜ良品と判別したか、なぜ良品と判別しなかったか、の判別根拠を説明するための処理である。この第1説明処理によって生成される情報は、
図9のステップS24の判別結果と共に出力されてもよい。
図11は、特徴スペクトルを説明するための図である。
【0050】
図10に示すように、まずステップS30において、プロセッサー24は、学習された機械学習モデル30に第2データ要素62A~62Cを1つずつ入力し、機械学習モデル30にクラス判別を実行させる。プロセッサー24の取得部241は、当該クラス判別が終了したときに複数のニューロンがそれぞれ出力した第2中間データを取得し、記憶装置22に記憶する。本実施形態では、第2中間データは、第2ベクトルM2と第2アクティベーションa2とを含む。ステップS30では、少なくとも第1ニューロン層37、第2ニューロン層38、分類ニューロン層39のそれぞれについてステップS30が実行される。また、ステップS30において、プロセッサー24は、第2画像である第2データ要素62A~62C上の部分範囲であって第2中間データに対応した部分範囲を、第2中間データに関連付けて記憶装置22に記憶する。本実施形態では、ステップS30は、
図9に示すクラス判別処理のステップS22において実行される。次にステップS32において、プロセッサー24は、記憶装置22から、事前ラベルとして良品ラベルが付された第1データ要素12Cの全てに対してクラス判別を実施したときに得られた第1中間データを読み出す。本実施形態では、第1中間データは、第1ベクトルM1と第1アクティベーションa1とに基づいている。
【0051】
次にステップS34において、プロセッサー24の類似度計算部242は、第2データ要素62A~62Cの第2中間データにおける特徴スペクトルSpと、良品ラベルの第1データ要素12Cの第1中間データにおける特徴スペクトルSpを計算する。具体的には、プロセッサー24の類似度計算部242は、第1ニューロン層37、第2ニューロン層38、分類ニューロン層39のそれぞれの部分領域R37,R38,R39ごとに、第1中間データおよび第2中間データからそれぞれの特徴スペクトルSpを計算する。本実施形態では、特徴スペクトルSpは、ニューロン層における部分領域Rxごとに、1つ以上のベクトルMを平均0、分散1で正規化したり、Softmax関数を用いて規格化したりして配列することで表してもよい。また、特徴スペクトルSpは、部分領域RxごとにベクトルMの各次元または各要素を、対応するアクティベーションaで重み付けして配列することで表してもよい。重み付けとしては、例えば、ベクトルMと、ベクトルMに対応するアクティベーションaの値の積をとることで実現できる。また、特徴スペクトルSpは、ニューロン層37,38,39の部分領域R37,38,39ごとに、アクティベーションaの値を、配列することで表してもよい。また、配列したアクティベーションaを平均0、分散1となるように正規化してもよい。また、特徴スペクトルSpは、ニューロン層37,38,39の部分領域R37,38,39ごとに、ベクトルMおよび/またはアクティベーションaを配列することで表してもよい。なお、特徴スペクトルSpは正規化することなく、複数次元、本実施形態では16次元のベクトルMを一次元に変換して配列してもよい。なお、各部分領域Rxは、第2データ要素62A~62Cの部分範囲に予め対応付けられている。
【0052】
図11に示すグラフは、第1ニューロン層37に対応する。第1ニューロン層37では、1つの部分領域R37が、深さ方向に並んだ12個のニューロンを有する。
図11には、一例として、ある一つの部分領域R37に属する12個のニューロンが出力したそれぞれのアクティベーションaを平均0、分散1に正規化して並べたものを示している。
図11における特徴スペクトルSpは、正規化されたこれら複数のアクティベーションaを要素に持つ。
図11に示す特徴スペクトルSpの一例において、横軸は各ニューロンに対応するアクティベーションaを識別するための要素番号「0」~「11」であり、縦軸は各アクティベーションaの値である。
【0053】
図10に示すように、次にステップS36において、プロセッサー24の類似度計算部242は、第1中間データと第2中間データとに基づく類似度を計算する。詳細には、プロセッサー24の類似度計算部242は、第1ニューロン層37、第2ニューロン層38、分類ニューロン層39の層ごとにおいて、第2データ要素62A~62Cの第2中間データから生成した特徴スペクトルSpと、良品ラベルの第1データ要素12Cの第1中間データから生成した特徴スペクトルSpとの類似度を計算する。つまり、ステップS36で計算される類似度は、判別対象の第2画像62が、比較元となる第1画像12が属するクラスの特徴に類似している程度を表す。よって、ステップS36で計算される類似度をクラス別類似度とも呼ぶ。
【0054】
本実施形態において、類似度計算部242は、同じ階層に属する部分領域Rx同士の類似度を計算する。具体的には、ニューロン層37,38,39ごとに、第2データ要素62A~62Cが与えられたときの一つの部分領域Rxに対して、第1データ要素12A~12Cが与えられたときの全ての部分領域Rxの類似度が計算される。つまり、類似度計算部242は、複数の部分領域Rxに対応した複数のニューロン群のそれぞれについて、第1中間データと第2中間データとの類似度を計算する。ここで、第1データ要素12A~12Cが与えられたときのニューロン層37,38,39における或る一つの部分領域Rxと、第2データ要素62A,62B,62Cが与えられたときのニューロン層37,38,39における部分領域Rxとは、それぞれ、第1データ要素12A~12Cである第1画像12上の部分範囲と、第2データ要素62A~62Cである第2画像62上の部分範囲と、に対応している。よって、類似度は、第1画像12の部分範囲と、第2画像62の部分範囲と、の間の類似度であるとも解釈できる。言い換えると、本実施形態では、第1データ要素12A~12Cと第2データ要素62A~62Cとの間で互いに類似度の形態で中間データが比較されるのは、第2データ要素62A~62C上の或る階層に属する部分範囲に対して第1データ要素12A~12C上で同じ階層に属する全ての部分範囲である。しかしながら、後述するように、同じ階層の同じ部分範囲同士の間で類似度が求められてもよい。ここで、階層は部分範囲の大きさに関連付けられている。上述の通り、ニューロン層37,38,39が異なると、第1データ要素12A~12C、すなわち第1画像12上で定義される部分範囲、および、第2データ要素62A~62C、すなわち第2画像62上で定義される部分範囲の大きさも異なる。類似度としては、2つのベクトルを比較する任意の指標を用いることができ、例えばコサイン類似度や平均二乗誤差(MSE)やピークS/N比(PSNR)が用いられる。
【0055】
ステップS36では、第1ニューロン層37、第2ニューロン層38、分類ニューロン層39のそれぞれの部分領域Rxごとに、全ての第1データ要素12Cに対応する第1中間データの特徴スペクトルSpの類似度のうちで最も類似度が高い値を、第2データ要素62の部分領域Rxの類似度とする。第2データ要素62の部分領域Rxの類似度は、第2画像62のうち部分領域Rxに対応した部分範囲の部分画像、および、部分領域Rxのアクティベーションaと対応付けて記憶装置22に記憶される。他の実施形態では、ステップS36における類似度の計算対象は、同じ層における同じ相対位置にある部分領域Rx同士ごとであってもよい。なお、上位層側である第1ニューロン層37から順に類似度が計算され、上位層において類似度が予め定められた閾値よりも低く、上位層においてクラス判別の根拠を示すことができる場合には、下位層である第2ニューロン層38、分類ニューロン層39における類似度は計算しなくてもよい。
【0056】
次にステップS38において、プロセッサー24の出力画像生成部244は、計算、すなわち導出したクラス別類似度に応じた根拠画像IMEを含む出力画像IM0を生成する。このステップS38では、出力画像生成部244は、根拠画像IMEの各画素にクラス別類似度に応じた階調値を付与することで根拠画像IMEを生成する。本実施形態では、出力画像生成部244は、ステップS36において計算された複数のクラス別類似度に応じた部分根拠画像PIMEを生成して2次元に配列することで根拠画像IMEを生成する。次にステップS40にとして、プロセッサー24からの指令によって表示部26は生成された出力画像IM0を表示することで出力する。
【0057】
図12は、出力画像生成部244によって生成された第1根拠画像としての根拠画像IMEを示す第1図である。
図12に示す根拠画像IMEは、第1ニューロン層37におけるクラス別類似度に応じて生成される画像である。この画像を第1層根拠画像IMEAとも呼ぶ。
【0058】
第1層根拠画像IMEAは、複数の部分根拠画像PIMEAによって形成されている。部分根拠画像PIMEAは、部分領域R37、すなわち平面位置(x,y)に位置するニューロン群に対応している。出力画像生成部244は、複数の部分根拠画像PIMEAを対応する部分領域R37の平面位置(x、y)に対応した画像領域IRに配列することで、二次元の第1層根拠画像IMEAを生成する。各画像領域IRは、1画素で構成されていてもよいし、複数の画素で構成されていてもよい。また、出力画像生成部244は、部分根拠画像PIMEAを補正処理して、第2画像62と解像度、すなわち大きさが同じになるように第1層根拠画像IMEAを生成してもよい。補正処理としては、例えば、複数の部分根拠画像PIMEAをx方向およびy方向の二次元に配列した補正前画像について、平面サイズを第2画像62の平面サイズに合わせるように拡大して第1層根拠画像IMEAを生成する第1補正処理がある。また例えば、補正処理としては、部分根拠画像PIMEAを拡大することなくx方向およびy方向の二次元に配列して画像を生成し、その後にバイキュービック法で生成した画像を拡大して第1層根拠画像IMEAを生成する第2補正処理がある。バイキュービック法を用いた第2補正処理では、画素を補間することで類似度の変化をより滑らかにできるので、第1層根拠画像IMEAをより連続的な階調値の変化によって表現できる。これにより、ユーザーは判別根拠となった領域を大まかに知ることができる。以上のように、出力画像生成部244は、第1層根拠画像IMEAの解像度を第2画像の解像度に対応させる補正処理を行ってもよい。本実施形態では、第1補正処理によって、第1ニューロン層37における12×12の平面サイズを、拡大して第2画像62の画像サイズである32×32の画素の画像となるように、1つの画像領域IRには複数の画素が補間される。また、本実施形態では、1つの画像領域IRの各画素には同じ画素値が付与されている。ここで、平面位置(x、y)で特定される部分領域Rxに対応した画像領域IRを画像領域IR(x、y)のように示す。
【0059】
出力画像生成部244は、
図10のステップで算出された、各平面位置で特定される複数の部分領域Rxにおけるクラス別類似度を用いて部分根拠画像PIMEAを生成する。本実施形態では、出力画像生成部244は、クラス別類似度が低くなるにつれて8ビットで表されるR成分の階調値が大きくなるように部分根拠画像PIMEを生成する。なお、G成分、B成分の階調値は、「0」や他の一定値に設定されている。
図12では、ハッチングが密なほどR成分の階調値が大きいことを示す。
図12に示す第1層根拠画像IMEAでは、平面位置において中央よりもやや上側の領域において、クラス別類似度が低くなっている。
【0060】
図13は、出力画像生成部244によって生成された第1根拠画像としての根拠画像IMEを示す第2図である。
図13に示す根拠画像IMEは、第2ニューロン層38におけるクラス別類似度に応じて生成される画像である。この画像を第2層根拠画像IMEBとも呼ぶ。
【0061】
第2層根拠画像IMEBは、複数の部分根拠画像PIMEBによって形成されている。部分根拠画像PIMEBは、部分領域R38、すなわち平面位置(x,y)に位置するニューロン群に対応している。出力画像生成部244は、複数の部分根拠画像PIMEBを対応する部分領域R38の平面位置(x、y)に対応した画像領域IRに配列することで、二次元の第2層根拠画像IMEBを生成する。各画像領域IRは、1画素で構成されていてもよいし、複数の画素で構成されていてもよい。また、出力画像生成部244は、第2画像62と大きさが同じになるように部分根拠画像PIMEBを拡大して第2層根拠画像IMEBを生成してもよい。すなわち、出力画像生成部244は、第2層根拠画像IMEBの解像度を第2画像の解像度に対応させる補正処理を行ってもよい。補正処理としては、バイキュービックを用いて画素を補間したり、同じ画素値を付与することで画素を補間したりする方法が挙げられる。本実施形態では、第2ニューロン層38における3×3の平面サイズを、拡大して第2画像62の画像サイズである32×32の画素の画像となるように、1つの画像領域IRには複数の画素が補間される。また、本実施形態では、1つの画像領域IRの各画素には同じ画素値が付与されている。ここで、平面位置(x、y)で特定される部分領域Rxに対応した画像領域IRを画像領域IR(x、y)のように示す。
【0062】
出力画像生成部244は、
図10のステップで算出された各平面位置で特定される複数の部分領域Rxにおけるクラス別類似度を用いて部分根拠画像PIMEBを生成する。本実施形態では、出力画像生成部244は、クラス別類似度が低くなるにつれて8ビットで表されるR成分の階調値が大きくなるように部分根拠画像PIMEBを生成する。なお、G成分、B成分の階調値は、「0」や他の一定値に設定されている。
図13では、ハッチングが密なほど階調値が大きいことを示す。
図13に示す第2層根拠画像IMEBでは、平面位置において右上の領域において、クラス別類似度が低くなっている。
【0063】
上記に説明したように、出力画像生成部244は、2次元の根拠画像IMEを生成していたが、類似度に応じた根拠画像IMEを生成する限りにおいて上記とは異なる根拠画像を生成してもよい。例えば、他の実施形態では、出力画像生成部244は、一列に配列された一次元の根拠画像IMEを生成してもよいし、3次元に配列された根拠画像IMEを生成してもよい。また、出力画像生成部244は、類似度に応じて、RGB成分の少なくとも一つの階調値を変化させることで部分根拠画像PIMEを生成してもよい。また出力画像生成部244は、類似度に応じて異なる模様が表示されるように、例えばハッチングの間隔の変化させた模様が表示されるように部分根拠画像PIMEを生成してもよい。また、出力画像生成部244は、予め定めた閾値よりもクラス別類似度が低い場合に、部分根拠画像PIMEが特定の色が出現するように、部分根拠画像PIMEを構成する各画素に対して階調値を設定してもよい。また、出力画像生成部244は、クラス別類似度が低くなるにつれて、色が連続的に変化するように部分根拠画像PIMEを構成する各画素に対して階調値を設定してもよい。例えば、出力画像生成部244は、クラス別類似度の低くなるにつれて、白色から赤色が濃くなるように階調値を設定してもよい。
【0064】
図14は、出力画像生成部244によって生成される出力画像IM0を示す模式図である。出力画像IM0は、表示内容を説明するための説明画像IMPを有する。説明画像IMPは、第1説明画像IM1と、第2説明画像IM2と、第3説明画像IM3と、第4説明画像IM4とを有する。
【0065】
第1説明画像IM1は、判別対象となるデータが表示される欄であることを示す画像であり、本実施形態では「判別対象データ」を表す文字画像である。この第1説明画像IM1の下欄には、後述する第2画像62を示す判別対象画像IM11が表示される。
【0066】
第2説明画像IM2は、本実施形態の理解のために便宜上、
図14に図示されている。具体的には、類似度を比較する比較元のデータが理解されるように、比較元のデータを生成するために用いられる複数の第1データ要素12Cの1つが図示されている。本実施形態では、第2説明画像IM2は、実際には表示部26に表示されないが、他の実施形態では表示されてもよい。本段落の説明は、
図17の説明にも当てはまる。
【0067】
第3説明画像IM3は、類似度の計算が行われた階層を示す画像である。第3説明画像IM3は、第1層説明画像IM3aと第2層説明画像IM3bとを有する。第1層説明画像IM3aは、第1ニューロン層37における類似度に応じて生成した第1層根拠画像IMEAが表示されることを示す画像である。本実施形態では、第1層説明画像IM3aは、「第1判別根拠(局所形状)」を表す文字画像である。第2層説明画像IM3bは、第2ニューロン層38における類似度に応じて生成した第2層根拠画像IMEBが表示されることを示す画像である。本実施形態では、第2層説明画像IM3bは、「第2判別根拠(相対位置)」を表す文字画像である。
【0068】
第4説明画像IM4は、ラベルの判別結果を表示する欄であることを示す画像である。第4説明画像IM4は、本実施形態では「判別結果」を表す文字画像である。
【0069】
出力画像IM0は、さらに、判別対象画像IM11と、良品である第1データ要素12Cの画像である比較元画像IM12と、第1層根拠画像IMEAと、第2層根拠画像IMEBと、判別結果画像IM14とを有する。判別結果画像IM14は、
図9のステップS24で生成されたクラス判別結果を示す画像である。
図14では、判別結果画像IM14は、「良品」を表す文字画像と、「不良品」を表す文字画像とのいずれかである。
【0070】
判別対象画像IM11は、第1説明画像IM1の下欄に表示される画像であり、ラベルの判別対象の第2画像62を示す画像である。判別対象画像IM11は、判別対象の第2画像62が複数存在する場合には、複数表示されてもよいし、別の画面に1つずつ表示してもよい。
図14に示す例では、判別対象画像IM11は、二の目を表す第2データ要素62Bの判別対象画像IM11と、三の目を表す第2データ要素62Cの判別対象画像IM11との2つが表示されている。
【0071】
第1層根拠画像IMEAは、第1層説明画像IM3aの下欄に表示される画像であり、
図12に示す画像である。第2層根拠画像IMEBは、第2層説明画像IM3bの下欄に表示される画像であり、
図13に示す画像である。
【0072】
判別対象データが二の目の画像である場合、第1ニューロン層37において算出される各部分領域R37のクラス別類似度は高い。よって、第1層根拠画像IMEAは、濃い赤色の領域、図ではハッチングが付された領域が存在しない。一方で、判別対象データが二の目の画像である場合、第2ニューロン層38においてサイコロの目の相対位置が異なる画像の部分範囲に対応した部分領域R38では、クラス別類似度は低くなる。よって、第2層根拠画像IMEBは、R成分の階調値が高い部分根拠画像PIMEBが生成される。これにより、ユーザーは、判別対象画像IM11について、不良品とラベル判別された根拠を視覚的に知ることができる。
【0073】
一方で、判別対象データが三の目の画像である場合、第1ニューロン層37と第2ニューロン層38共に、各部分領域R37,38のクラス別類似度は高い。よって、第1層根拠画像IMEAと第2層根拠画像IMEB共に赤色の領域、図ではハッチングが付された領域が存在しない。
【0074】
上記のように、第1中間データと第2中間データとに基づく類似度が計算されることで、プロセッサー24は、類似度に応じて判別根拠を示す根拠画像IMEを生成して表示部26に出力できる。これにより、機械学習モデル30を用いた第2データ要素62の判別根拠をユーザーは容易に知ることができる。また、
図10のステップS36の処理において、第1部分データ要素の第1中間データと第1部分データ要素に対応した領域の第2部分データ要素の第2中間データとの類似度を計算することで、第1部分データ要素および第2部分データ要素の類似度を計算できる。これにより、根拠画像IMEを含む出力画像IM0が表示部26を用いて表示されることで、例えば第2データ要素におけるどの部分範囲を根拠にしてラベルの判別が行われたかを容易に知ることができる。よって、ユーザーは、ラベルの判別について、どのニューロン層37,38,39を根拠にしたのかなどの判別根拠について容易に把握できる。つまり、ユーザーは、出力画像IM0から、判別対象データである第2データ要素62A~62Cについて、良品と類似している部分、類似していない部分、それぞれの位置と大きさを把握することができる。なお、ステップS36の処理において、類似度の計算の対象は、ニューロン層37,38,39における同じ相対位置の部分領域Rxからの第1中間データと第2中間データでなくともよい。このようにしても、出力画像IM0が出力されることで、ユーザーは、ラベルの判別について、どのニューロン層37,38,39を根拠にしたのか、および、どの部分領域Rxを根拠にしたのかなどの情報について容易に把握できる。
【0075】
図15は、第2説明処理のフローチャートである。第2説明処理は、プロセッサー24によって実行される。第2説明処理は、第2データ要素62A~62Eが、機械学習モデル30の学習に用いられた既知の第1データ要素12A~12Cと同じ種類であるか否かの判別とその根拠を説明するための処理である。
図16は、第2画像62aを説明するための図である。第2説明処理は、端的に言うと、知らないデータを無理やり判別したのか、知っているデータとして判別したのかを説明する処理ともいえる。
【0076】
図16に示すように、第2画像62aは、5種類の第2データ要素62A~62Eを有する。第2データ要素62A,62B,62Cはそれぞれ、
図6に示す第2データ要素62A,62B,62Cと同じであり、機械学習モデル30の学習の際に用いられた第1データ要素12A~12Cと同じ種類の対象物であるサイコロを撮像した画像データ要素である。第2データ要素62D,62Eは、機械学習モデル30の学習の際に用いられた第1データ要素12A~12Cとは種類が異なる対象物であるサイコロを撮像した画像である。具体的には、第2データ要素62Dは、各面において三の目の中央の目がバツ印のサイコロを撮像した画像である。また第2データ要素62Eは、各面が四の目のサイコロを撮像した画像である。以上のように、第2データ要素62D,62Eは、機械学習モデル30の学習の際に用いられなかった未知の種類のデータ要素である。第2データ要素62A~62Eのサイズは、例えば、機械学習モデル30の学習時と同じ32×32ピクセルである。また、また第2データ要素62A~62Eはそれぞれ1100枚ずつ準備され、サイコロの目の位置が最大で±2ピクセル、サイコロの目の大きさが最大で±2ピクセル変動している。準備された第2データ要素62A~62Eは、1つずつ機械学習モデル30に入力されることで、クラス判別、すなわちラベルが判別される。
【0077】
図15に示すようにステップS30において、プロセッサー24は、学習された機械学習モデル30に第2データ要素62A~62Eを1つずつ機械学習モデル30に入力し、第2データ要素62A~62Eのそれぞれについてクラス判別を実行する。そして、クラス判別が終了したときの、第2データ要素62A~62Eのそれぞれに対する第2中間データを機械学習モデル30から取得する。
図15に示すステップS30は、
図10に示すステップS30と同じ処理である。次にステップS32aにおいて、プロセッサー24は、記憶装置22に記憶されている機械学習モデル30の学習に用いられた第1データ要素12A~12Cのそれぞれの第1中間データを全て抽出する。
【0078】
次にステップS34aにおいて、プロセッサー24は、機械学習モデル30に入力された第2データ要素62A~62Eの特徴スペクトルと、抽出した第1データ要素12A~12Cの特徴スペクトルSpを計算する。計算方法については、
図10のステップS34において記載の方法と同様であるため、ここでは説明を省略する。
【0079】
次にステップS36aにおいて、プロセッサー24の類似度計算部242は、第2データ要素62A~62Cの第2中間データにおける特徴スペクトルSpと、第1データ要素12A~12Cの第1中間データにおける特徴スペクトルSpとの類似度を計算する。類似度としては、例えばコサイン類似度が用いられる。ステップS36aでは、第1ニューロン層37、第2ニューロン層38、分類ニューロン層39のそれぞれの部分領域Rxごとに、全ての第1データ要素12A~12Cに対して最も類似度が高い値を、部分領域Rxの類似度とする。つまり、ステップS36aで計算される類似度は、判別対象の第2画像62aが、比較元となる既知の第1画像12の特徴に類似している程度を表す。よって、ステップS36aで計算される類似度を既知類似度とも呼ぶ。部分領域Rxの類似度は、部分領域Rxが対応する画像の部分範囲、および、部分領域Rxのアクティベーションaと対応付けて記憶装置22に記憶される。
【0080】
次にステップS38aにおいて、プロセッサー24の出力画像生成部244は、計算、すなわち導出した既知類似度に応じた根拠画像IMEaを含む出力画像IM0aを生成する。次にステップS40aとして、プロセッサー24からの指令によって表示部26は生成された出力画像を表示することで出力する。根拠画像の生成方法は、上記の第1説明処理のステップS38、
図12、
図13で説明した内容と同じであるため説明を省略する。
【0081】
図17は、出力画像生成部244によって生成される出力画像IM0aを示す模式図である。
図14に示す出力画像IM0と同じ構成については同一符号を付すと共に説明を省略する。第4説明画像IM4の下欄に表示される判別結果画像IM14aは、機械学習モデル30の学習の際に用いられた同じ種類のデータであることを示す「既知」を表す画像と、未知の種類のデータであることを示す「未知」を表す画像とのいずれかである。比較元画像IM12aは、機械学習モデル30の学習に用いられた第1データ要素12A~12Cを表す画像である。ここに表示される画像は、本実施形態では、複数の第1データ要素12A,12B,12Cのうちから、ランダムに選択された1つずつの第1データ要素12A,12B,12Cである。
【0082】
判別対象データが
図16に示す第2データ要素62Dである場合、第2データ要素62Dにおいてバツ印が表示された中央の部分範囲に対応する部分領域R37では、既知類似度が低い値を示す。よって、第2画像62Dの中央の部分範囲に対応する第1層根拠画像IMEAの中央領域に位置する部分根拠画像PIMEAには赤色の画像が表示される。判別対象データが第2データ要素62Dである場合、第1ニューロン層37における類似度をもとに「未知」のクラス判別が確定する。よって、出力画像生成部244は、下位層の部分根拠画像PIMEBを生成しなくてもよい。なお、出力画像生成部244は、上位層によってクラス判別が確定した場合でも、下位層の第2判別根拠を示す第2層根拠画像IMEBを生成してもよい。
【0083】
判別対象データが
図16に示す第2データ要素62Eである場合、第2データ要素62Eは四の目の画像であるので、局所形状は正解データである第1データ要素12A~12Cと類似する。このため、第1ニューロン層37において、類似度計算部242によって算出された既知類似度は高い値を示す。よって出力画像生成部244は赤色の部分根拠画像PIMEAを有さない根拠画像IMEを生成する。一方で、局所形状における相対位置を比較して類似度を算出する第2ニューロン層38では、4個の目の画像が含まれる部分範囲に対応する部分領域R38の既知類似度は低くなる。よって、赤色の部分根拠画像PIMEBを含む第2層根拠画像IMEBが生成される。
図17に示す第2層根拠画像IMEBでは、左上と右下以外の部分根拠画像PIMEBは同じ類似度を示す階調値、本実施形態では同じ赤色で表示されている。
【0084】
上記のように、第2説明処理において第1説明処理と同様の構成や処理を行う点において同様の効果を奏する。例えば、第1中間データと第2中間データとに基づく類似度が計算されることで、プロセッサー24は類似度に応じた根拠画像IMEを生成して出力できる。これにより、機械学習モデル30を用いた第2データ要素62の判別根拠をユーザーは容易に知ることができる。
【0085】
上記実施形態によれば、第1説明処理や第2説明処理において、類似度に応じた根拠画像IMEが生成されて表示されるので、ユーザーは機械学習モデル30を用いたラベル判別の判別根拠を容易に知ることができる。また上記実施形態によれば、類似度に応じた根拠画像IMEの画素に階調値が付与されるので、ユーザーは階調値の違いによって判別根拠を容易に知ることができる。例えば、本実施形態では、ユーザーは、根拠画像IMEにおいて赤色が濃い領域が、正解データとは異なる領域、すなわち類似度が低い領域であることを容易に知ることができる。
【0086】
B.第2実施形態:
図18は、第2実施形態の第2根拠画像としての根拠画像IMEaを示す図である。
図18には、第1層根拠画像IMEAaが示されているが、第2層根拠画像IMEBaについても同様である。出力画像生成部244は、上記第1実施形態の根拠画像IMEaに代えて以下に説明する根拠画像IMEaを生成してもよい。
【0087】
第2根拠画像としての根拠画像IMEaは、上記第1実施形態で説明した複数の部分根拠画像PIMEと、第2画像62とを合成する合成処理を出力画像生成部244によって実行することで形成される。出力画像生成部244は、例えば、以下に詳述する第1合成処理と第2合成処理とのいずれか一方の合成処理を実行することで根拠画像IMEaを形成する。
【0088】
第1合成処理では、出力画像生成部244は、上記第1実施形態で説明した複数の部分根拠画像PIMEを第2画像62の対応する領域に重畳することで根拠画像IMEaを形成する。つまり、出力画像生成部244は、複数の部分根拠画像PIMEをx方向およびy方向の二次元に配列した補正前画像について、平面サイズを判別対象データである第2画像62の平面サイズに合わせる上述の第1補正処理を行って補正後画像を生成する。そして出力画像生成部244は、補正後画像を第2画像62に重畳することで、補正後画像と第2画像62とを合成する。第1合成処理によって、
図18に示す根拠画像IMEaが形成される。
【0089】
第2合成処理では、出力画像生成部244は、以下の処理を実行して根拠画像IMEaを形成する、まず出力画像生成部244は、複数の部分根拠画像PIMEのそれぞれに対応する第2画像62の部分画像を取得し、部分根拠画像PIMEと対応する部分画像とを重畳した部分重畳画像を複数生成する。そして出力画像生成部244は、複数の部分重畳画像をx方向およびy方向の二次元に配列することで根拠画像IMEaを形成する。第2合成処理では、機械学習モデル30におけるストライドも考慮して部分根拠画像PIMEと第2画像62の部分画像とを重畳できる。これにより、第2画像62の各部分画像と、各部分根拠画像PIMEとの対応関係をより反映した根拠画像IMEaを形成できる。
【0090】
上記の合成処理において、出力画像生成部244は、例えば、補正後画像の画素値と、第2画像62の画素値とを足し合わせることで画像間演算を行うことで画像を合成する。また例えば、出力画像生成部244は、補正後画像と第2画像62のそれぞれの透過率を設定して画像間演算を行うことで画像を合成してもよい。
図18に示す例では、第2画像62のバツ印が形成された部分範囲に対応する部分領域Rxについて、類似度が低くなる。よって、第2画像62のバツ印が形成された部分範囲に対応する部分根拠画像PIMEは、R成分の階調値が他の平面位置の部分根拠画像PIMEよりも高く設定されることで赤色に表示される。
【0091】
上記第2実施形態によれば、上記第1実施形態が奏する効果に加えて以下の効果を奏する。すなわち、複数の部分根拠画像PIMEを第2画像62の対応する領域に重畳することで第2根拠画像IMEaが生成される。これにより、第2画像62のどの領域が正解データと類似度が低い領域であるのかという判別根拠をユーザーは直感的に知ることができる。
【0092】
C.第3実施形態:
図19は、第3実施形態の判別装置20bを示す図である。判別装置20bと、
図19に示す第1実施形態の判別装置20との異なる点は、判別装置20bが新たに対応データ36を有する点と、出力画像生成部244bの処理内容である。その他の構成については第1実施形態と同様の構成であるため、同様の構成については同一符号を付すと共に説明を省略する。
【0093】
判別装置20bの記憶装置22は、新たに対応データ36を記憶する。対応データ36は、部分根拠画像PIMEを形成するために用いるRGBの色成分および各色成分の階調数と、類似度に応じた階調値とを対応付けたデータである。RGBの色成分および各色成分の階調数は、ユーザーからの入力によって決定される。このユーザーからの入力については後述する。ここで、部分根拠画像PIMEを形成するために用いるRGBの色成分および各色成分の階調数は、部分根拠画像PIMEを表現するための表現パラメーターとして機能する。
【0094】
出力画像生成部244bは、類似度計算部242によって計算された類似度に応じて根拠画像IME,IMEaを含む出力画像IM0,IM0aを生成する。具体的には、出力画像生成部244bは、対応データ36を参照して、表現パラメーターに関連付けられた類似度に応じた階調値を部分根拠画像PIMEの各画素に付与する。
【0095】
図20は、根拠画像IME,IMEaを生成するための各種設定の入力を受け付ける入力受付画像IMIを示した図である。入力受付画像IMIは、例えば表示部26に表示される。入力受付画像IMIは、第1受付画像IMI1と、第2受付画像IMI2と、第3受付画像IMI3とを備える。
【0096】
第1受付画像IMI1は、根拠画像として、
図12および
図13に示す第1根拠画像IMEと、
図18に示す第2根拠画像IMEaとの少なくともいずれの画像を出力画像生成部244に生成させる画像生成命令を受け付ける画像である。第1受付画像IMI1は、第1根拠画像IMEと第2根拠画像IMEaとのそれぞれに対応したチェックボックス画像を有する。利用者は、根拠画像として表示を希望する根拠画像の左欄のチェックボックス画像を選択する。
【0097】
第2受付画像IMI2は、部分根拠画像の表現パラメーターを受け付ける画像である。
図20に示す例では、部分根拠画像の表現パラメーターは、「単色グラデーション」「単色□段階」「複数色グラデーション」「複数色□段階」の4つである。単色グラデーションは、類似度に応じて一つの色成分の階調値を連続的に変化させる表現方法である。複数色グラデーションは、類似度に応じて3つの色成分の階調値を連続的に変化させる表現方法である。「単色□段階」は、類似度に応じて一つの色成分の階調値を段階的に変化させる表現方法であり、一定範囲ごとの値の類似度には同じ階調値が付与される。「複数色□段落」は、類似度に応じて3つの色成分の階調値を段階的に変化させる表現方法である。第2受付画像IMI2の「□」は、プルダウンによって部分根拠画像PIMEを表現する階調値の数である階調数を選択できる。第2受付画像IMI2は、4つの表現パラメーターに対応したチェックボックス画像を有する。ユーザーは、チェックボックス画像を選択することで、4つの表現パラメーターから1つを選択する。またユーザーは、複数段階の階調値で部分根拠画像PIMEが表現される場合には、階調数を選択する。
【0098】
第3受付画像IMI3は、第1受付画像IMI1および第2受付画像IMI2に入力した内容を画像生成命令として受け付けるための画像である。ユーザーは、第3受付画像IMI3をカーソルなどで選択することで画像生成命令がプロセッサー24に受け付けられる。プロセッサー24の出力画像生成部244は、受け付けた画像生成命令に応じた根拠画像IME,IMEaを生成する。例えば、出力画像生成部244は、受け付けた表現パラメーターと、対応データ36とを用いて、類似度に応じた色成分の階調値を画素に付与することで部分根拠画像PIMEを生成する。
【0099】
上記第3実施形態によれば、上記第1実施形態や上記第2実施形態と同様の構成を有する点において同様の効果を奏する。また上記第3実施形態によれば、ユーザーは、入力受付画像IMIを用いて、希望する根拠画像IME,IMEaの表示方法や表現方法といった表示形態の根拠画像IME,IMEaを表示させることができる。
【0100】
D.他の実施形態:
D-1.他の実施形態1:
上記実施形態では、各実施形態で用いられた機械学習モデルは、ベクトルニューラルネットワーク型の機械学習モデルであったが、これに限定されるものではなく、入出力がベクトルであるベクトルニューロンをネットワークのニューロンする機械学習モデルであれば上記に限定されるものではない。例えば機械学習モデルは、カプセルネットワークを用いた機械学習モデルであってもよい。
【0101】
D-2.他の実施形態2:
類似度を計算するための特徴スペクトルSpは、上記各実施形態に限定されるものではない。例えば、類似度計算部242は、部分領域Rxが有するベクトルMをアクティベーションaの値にソフトマックス関数を適用した補正値で重み付けすることで特徴スペクトルSpを生成してもよいし、部分領域Rxが有するベクトルMを一次元に並び替えた要素に対して、要素ごとのベクトルMの値を並べることで特徴スペクトルSpを生成してもよい。つまり、類似度の計算方法は、第1ベクトルM1の特徴スペクトルSpと第2ベクトルM2の特徴スペクトルSpとの類似度を計算することであってもよい。
【0102】
D-3.他の実施形態3:
上記各実施形態では、第1中間データの特徴スペクトルSpと第2中間データの特徴スペクトルSpとの類似度は、コサイン類似度であったがこれに限定されるものではなく、類似度を比較する要素に応じて各種の類似度を用いてもよい。例えば、類似度は、二乗誤差であってもよい。また例えば、類似度は、2つのベクトルの内積または外積に基づく類似度、2つのベクトルに表される2つの点の間の距離、ノルムに基づく類似度であってもよい。
【0103】
D-4.他の実施形態4:
上記実施形態において、第1説明処理と、第2説明処理は、プロセッサー24によって自動的に切り替え可能に構成されていてもよい。例えば、プロセッサー24は、第1説明処理を実行している場合において、入力データ要素の全体数に対して不良品であると判別された割合が、予め定めた値以上になった場合に、第1説明処理から第2説明処理へと切り替えてもよい。
【0104】
D-5.他の実施形態5:
上記実施形態では、不揮発性記憶媒体23に記憶されたプログラムは、1つのプロセッサー24によって実行されたが、2つ以上のプロセッサー24によって実行されてもよい。
【0105】
D-6.他の実施形態6:
第1中間データや第2中間データの生成方法は上記実施形態に限定されるものではなく、例えば、Kmeans法を用いて第1中間データや第2中間データを生成してもよい。また、PCAやICA、Fisherなどの変換を用いて第1中間データや第2中間データを生成してもよい。また、第1中間データと第2中間データとの変換方法は異なっていてもよい。
【0106】
D-7.他の実施形態7:
上記各実施形態では、判別装置20,20bは単一の装置であったが、複数の装置によって構成されていてもよい。この場合、複数の装置は、有線や無線によってデータ通信可能に構成される。
【0107】
E.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0108】
(1)本開示の第1の形態によれば、装置がベクトルニューラルネットワーク型の機械学習モデルを用いて実行する方法が提供される。前記機械学習モデルは、複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。また前記機械学習モデルは、1以上のニューロン層を有し、前記1以上のニューロン層のそれぞれは1以上のニューロン群を有し、前記1以上のニューロン群のそれぞれは1以上のニューロンを有する。前記装置は、学習された前記機械学習モデルに前記複数の第1画像が入力されることで前記1以上の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データを、前記ニューロンと関連付けて記憶している。前記方法は、前記機械学習モデルに前記物体の第2画像を入力して、前記1以上の前記ニューロン層のそれぞれについて、前記1以上の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する工程と、前記1以上の前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する工程と、前記類似度に応じた根拠画像を生成する工程と、前記生成した前記根拠画像を表示する工程と、を備える。この形態によれば、類似度に応じた根拠画像が生成されて表示されるので、ユーザーは判別根拠を容易に知ることができる。
【0109】
(2)上記形態において、前記生成する工程は、前記根拠画像の画素に前記類似度に応じた階調値を付与することで前記根拠画像を生成する工程を含んでいてもよい。この形態によれば、類似度に応じて根拠画像の画素に階調値が付与されるので、ユーザーは階調値の違いによって判別根拠を容易に知ることができる。
【0110】
(3)上記形態において、前記機械学習モデルは、複数の前記ニューロン群を有し、前記計算する工程は、前記複数のニューロン群のそれぞれについて、前記第1中間データと前記第2中間データとの類似度を計算し、前記生成する工程は、計算された複数の前記類似度に応じた部分根拠画像を生成して配列することで前記根拠画像を生成し、前記生成する工程において生成される前記根拠画像は、前記複数の部分根拠画像によって形成された第1根拠画像と、前記複数の部分根拠画像と前記第2画像とを合成することで形成された第2根拠画像と、の少なくともいずれかであってもよい。この形態によれば、ユーザーは第1根拠画像と第2根拠画像との少なくともいずれかによって容易に判別根拠を知ることができる。
【0111】
(4)上記形態において、前記第1根拠画像と前記第2根拠画像との少なくともいずれかを生成させる画像生成命令を受け付ける工程を備え、前記生成する工程は、受け付けた前記画像生成命令に応じた前記根拠画像を生成してもよい。この形態によれば、ユーザーが希望する表示形態の根拠画像を選択できる。
【0112】
(5)上記形態において、前記装置は、前記部分根拠画像を形成するために用いる色成分および階調数と、前記類似度に応じた階調値とを対応付けた対応データを記憶し、前記方法は、さらに、前記部分根拠画像を生成するために用いる、前記色成分と前記階調数とを含む表現パラメーターを受け付ける工程を備え、前記生成する工程は、受け付けた前記表現パラメーターと、前記対応データと、を用いて、前記部分根拠画像の画素に前記類似度に応じた前記色成分の前記階調値を付与することで前記部分根拠画像を生成する工程を含んでもよい。この形態によれば、ユーザーが希望する表示形態の根拠画像を表示できる。
【0113】
(6)本開示の第2形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いた装置が提供される。この装置は、(i)複数の第1画像と、前記複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習された機械学習モデルであって、1以上のニューロン層を有し、前記1以上のニューロン層のそれぞれは1以上のニューロン群を有し、前記1以上のニューロン群のそれぞれは1以上のニューロンを有する機械学習モデルと、(ii)前記機械学習モデルに前記複数の第1画像が入力されることで前記1以上の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データであって、前記ニューロンと関連付けられた第1中間データと、を記憶する記憶装置と、前記機械学習モデルに物体の第2画像を入力して、前記1以上の前記ニューロン層のそれぞれについて、前記1以上の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する取得部と、前記1以上の前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する類似度計算部と、前記類似度に応じた根拠画像を生成する出力画像生成部と、前記生成した前記根拠画像を表示する表示部と、を備える。この形態によれば、類似度に応じた根拠画像が生成されて表示されるので、ユーザーは判別根拠を容易に知ることができる。
【0114】
(7)本開示の第3形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いてコンピューターに実行させるコンピュータープログラムが提供される。前記機械学習モデルは、複数の第1画像と、前記複数の第1画像のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。また前記機械学習モデルは、1以上のニューロン層を有し、前記1以上のニューロン層のそれぞれは1以上のニューロン群を有し、前記1以上のニューロン群のそれぞれは1以上のニューロンを有する。前記コンピューターは、学習された前記機械学習モデルに前記複数の第1画像が入力されることで前記1以上の前記ニューロンが出力する、第1ベクトルと第1アクティベーションとの少なくとも一方に基づく第1中間データを、前記ニューロンと関連付けて記憶している。このコンピュータープログラムは、前記機械学習モデルに物体の第2画像を入力して、前記1以上の前記ニューロン層のそれぞれについて、前記1以上の前記ニューロンが有する第2ベクトルと第2アクティベーションとの少なくとも一方に基づく第2中間データを取得する取得機能と、前記1以上の前記ニューロン層において、前記第1中間データと前記第2中間データとの類似度を計算する類似度計算機能と、前記類似度に応じた根拠画像を生成する出力画像生成機能と、前記生成した前記根拠画像を表示する表示機能と、を備える。この形態によれば、類似度に応じた根拠画像が生成されて表示されるので、ユーザーは判別根拠を容易に知ることができる。
【0115】
本開示は、上記形態の他に、コンピュータープログラムを記録したコンピューターが読み取り可能な非一過性の有形の記憶媒体などの形態で実現することができる。
【符号の説明】
【0116】
IM0,IM0a…出力画像、IM1…第1説明画像、IM11…判別対象画像、IM12,IM12a…比較元画像、IM14,IM14a…判別結果画像、IM2…第2説明画像、IM3…第3説明画像、IM3a…第1層説明画像、IM3b…第2層説明画像、IM14…第4説明画像、IME…第1根拠画像、IMEAa…第1層根拠画像、IMEB,IMEBa…第2層根拠画像、IMEa…第2根拠画像、IMI…入力受付画像、IMI1…第1受付画像、IMI2…第2受付画像、IMI3…第3受付画像、IMP…説明画像、IR…画像領域、PIME…部分根拠画像、PIMEB…部分根拠画像、Rx…部分領域、10…第1入力データセット、12…第1画像、12A~12C…第1データ要素、14,14A~14C…事前ラベル、20,20b…判別装置、22…記憶装置、23…不揮発性記憶媒体、24…プロセッサー、26…表示部、30…機械学習モデル、32…収集データ要素、33…畳み込み層、35…プライマリーニューロン層、36…対応データ、37…第1ニューロン層、38…第2ニューロン層、39…分類ニューロン層、60…第2入力データセット、62…第2画像、62A~62E…第2データ要素、62a…第2画像、100…判別システム、240…学習部、241…取得部、242…類似度計算部、244,244b…出力画像生成部