(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】方法、装置、および、コンピュータープログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240709BHJP
G06N 3/0464 20230101ALI20240709BHJP
【FI】
G06N3/08
G06N3/0464
(21)【出願番号】P 2020094200
(22)【出願日】2020-05-29
【審査請求日】2023-03-09
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】倉沢 光
(72)【発明者】
【氏名】金澤 佳奈
(72)【発明者】
【氏名】渡邊 亮基
【審査官】小林 秀和
(56)【参考文献】
【文献】国際公開第2019/083553(WO,A1)
【文献】特開2020-017197(JP,A)
【文献】国際公開第2019/171123(WO,A1)
【文献】ディープラーニングにおける「カプセルネットワーク(CapsNet)」による画像認識とは?,[online],日本,GIGAZINE,2018年02月08日,[retrieved on 2024.05.24] Retrieved from the Internet: <URL: https://gigazine.net/news/20180208-capsnet/>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/0464
(57)【特許請求の範囲】
【請求項1】
1または複数のプロセッサーに実行させるための方法であって、
第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習することと、
学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得することと、を備え
、
前記第1中間データを取得することは、前記第1中間データを、前記第1データ要素の部分範囲であって前記カプセルが対応する部分範囲に関連付けて記憶装置に記憶することである、方法。
【請求項2】
予め学習された第1モデルを用いて、1または複数のプロセッサーに実行させるための方法であって、
前記第1モデルは、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習されており、
前記方法は、
前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得することと、
前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得することと、
前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算することと、を備える、方法。
【請求項3】
請求項2に記載の方法であって、
さらに、計算した前記類似度に関する情報を出力することを含む、方法。
【請求項4】
請求項2または請求項3に記載の方法であって、
さらに、前記第1モデルに前記第2データ要素を入力して、前記第2データ要素のラベルを判別することを含む、方法。
【請求項5】
請求項4に記載の方法であって、
さらに、前記ラベルの判別結果を出力することを含む、方法。
【請求項6】
請求項2から請求項5までのいずれか一項に記載の方法であって
前記カプセル層は、複数の前記カプセルを有し、
前記第1中間データを取得することは、
前記複数の前記カプセルがそれぞれ有する前記第1中間データを取得することと、
取得した前記第1中間データに対応した前記第1データ要素の一部である第1部分範囲を、対応する前記第1中間データに関連付けることと、を含み、
前記第2中間データを取得することは、
前記複数の前記カプセルがそれぞれ有する前記第2中間データを取得することと、
取得した前記第2中間データに対応した前記第2データ要素の一部である第2部分範囲を、対応する前記第2中間データに関連付けることと、を含み、
前記類似度を計算することは、前記第1部分範囲の前記第1中間データと、前記第1部分範囲に対応した前記第2部分範囲の前記第2中間データとの前記類似度を計算することを含む、方法。
【請求項7】
請求項6に記載の方法であって、
前記類似度に関する情報は、前記類似度の計算が行われた前記第1部分範囲および前記第2部分範囲を示す部分範囲情報を含む、方法。
【請求項8】
請求項6または請求項7に記載の方法であって、
前記カプセル層は、複数層によって構成された階層構造であり、
前記類似度を計算することは、
前記カプセル層ごとにおいて、前記第1部分範囲の前記第1中間データと、前記第1部分範囲に対応した前記第2部分範囲の前記第2中間データとの前記類似度を計算することを含む、方法。
【請求項9】
請求項2から請求項5までのいずれか一項に記載の方法であって、
前記カプセル層は、複数の前記カプセルを有し、
前記第1中間データを取得することは、
前記複数の前記カプセルがそれぞれ有する前記第1中間データを取得することと、
取得した前記第1中間データに対応した前記第1データ要素の一部である第1部分範囲を、対応する前記第1中間データに関連付けることと、を含み、
前記第2中間データを取得することは、
前記複数の前記カプセルがそれぞれ有する前記第2中間データを取得することと、
取得した前記第2中間データに対応した前記第2データ要素の一部である第2部分範囲を、対応する前記第2中間データに関連付けることと、を含み、
前記類似度を計算することは、前記第1中間データと、前記第2中間データとの前記類似度を計算することを含む、方法。
【請求項10】
請求項9に記載の方法であって、
前記類似度に関する情報は、前記類似度の計算が行われた前記第2部分範囲を示す部分範囲情報を含む、方法。
【請求項11】
請求項9に記載の方法であって、
前記類似度に関する情報は、前記類似度の計算が行われた前記第1部分範囲および前記第2部分範囲を示す部分範囲情報を含む、方法。
【請求項12】
請求項9から請求項11までのいずれか一項に記載の方法であって、
前記カプセル層は、複数層によって構成された階層構造であり、
前記類似度を計算することは、
前記カプセル層ごとにおいて、前記第1中間データと、前記第2中間データとの前記類似度を計算することを含む、方法。
【請求項13】
請求項8または請求項12に記載の方法であって、
前記類似度に関する情報は、さらに、複数の前記カプセル層の階層を識別するための層ラベル情報と、前記階層ごとの前記類似度を示す類似度情報と、前記階層ごとにおいて前記類似度の計算が行われた前記第2部分範囲である階層部分範囲を示す階層部分範囲情報と、前記類似度と予め定められた閾値との大小関係を示す比較情報と、の少なくとも一つを含む、方法。
【請求項14】
請求項2から請求項13までのいずれか一項に記載の方法であって、
前記第1中間データは、少なくとも前記第1ポーズを含み、
前記第2中間データは、少なくとも前記第2ポーズを含み、
前記類似度を計算することは、前記第1ポーズと前記第2ポーズとの前記類似度を計算することを含む、方法。
【請求項15】
請求項2から請求項13までのいずれか一項に記載の方法であって、
前記第1中間データは、少なくとも前記第1アクティベーションを含み、
前記第2中間データは、少なくとも前記第2アクティベーションを含み、
前記類似度を計算することは、前記第1アクティベーションと前記第2アクティベーションとの前記類似度を計算することを含む、方法。
【請求項16】
請求項2から請求項13までのいずれか一項に記載の方法であって、
前記第1中間データは、前記第1ポーズと前記第1アクティベーションとを含み、
前記第2中間データは、前記第2ポーズと前記第2アクティベーションとを含み、
前記類似度を計算することは、前記第1ポーズを前記第1アクティベーションで重み付けし、前記第2ポーズを前記第2アクティベーションで重み付けし、重み付け後の前記第1ポーズと、重み付け後の前記第2ポーズとの前記類似度を計算することを含む、方法。
【請求項17】
装置であって、
第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習する学習部と、
学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する第1取得部と、を備え
、
前記第1取得部は、前記第1中間データを、前記第1データ要素の部分範囲であって前記カプセルが対応する部分範囲に関連付けて記憶装置に記憶させることで、前記第1中間データを取得する、装置。
【請求項18】
装置であって、
それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習された第1モデルを記憶する記憶装置と、
前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する第1取得部と、
前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得する第2取得部と、
前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算する計算部と、を備える、装置。
【請求項19】
コンピュータープログラムであって、
第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習する機能と、
学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する機能と、を1または複数のプロセッサーに実行させ
、
前記第1中間データを取得する機能は、前記第1中間データを、前記第1データ要素の部分範囲であって前記カプセルが対応する部分範囲に関連付けて記憶装置に記憶させる機能である、コンピュータープログラム。
【請求項20】
予め学習された第1モデルを用いて実行されるコンピュータープログラムであって、
前記第1モデルは、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習されており、
前記コンピュータープログラムは、
前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する機能と、
前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得する機能と、
前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算する機能と、を1または複数のプロセッサーに実行させるためのコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、カプセルネットワークを用いた技術に関する。
【背景技術】
【0002】
従来、機械学習において、アルゴリズムとしてカプセルネットワークが知られている(特許文献1、非特許文献1,2)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】Geoffrey Hinton, Sara Sabour, Nicholas Frosst, “MATRIX CAPSULES WITH EM ROUTING”, published as a conference paper at ICLR 2018
【文献】Sara Sabour, Nicholas Frosst, Geoffrey E. Hinton, “Dynamic Routing Between Capsules”, 31st Conference on Neural Information Processing Systems (NIPS 2017)
【発明の概要】
【発明が解決しようとする課題】
【0005】
カプセルネットワークは、カプセルと呼ばれるユニットをネットワークのノードに有するアルゴリズムモデルである。カプセルネットワークにおける典型的なカプセルは、ポーズ(pose)とアクティベーション(activation)とを入出力する。ポーズは、それを出力したカプセルの状態を表し、ベクトルまたは行列の形態をとる。また、アクティベーションは、それを出力したカプセルの活性度を表すスカラー量である。ポーズとアクティベーションは、合議制ルーティング(routing-by-agreement)と呼ばれる手法を用いて、前層の複数のカプセルからの出力、例えばポーズとアクティベーションとによって決定される。合議制ルーティングは、限定されないが好適にはEM(Expectation-Maximization)アルゴリズムにより実行される。カプセルネットワークは、典型的に多層構造を有する。多層構造を構成する層のいくつかは「カプセル層」と呼ばれる。そして好適には、カプセル層のそれぞれは、いわゆる深さ方向に並んだ1つ以上のカプセルを有する。そして、一つのカプセル層において深さ方向に並んだ複数のカプセルのそれぞれは、前層からの出力に基づいてポーズとアクティベーションを計算し、計算したポーズとアクティベーションが次のカプセル層において対応する複数のカプセルへの入力となるようにメモリーに記憶する。つまり、各カプセル層において、カプセルの数だけポーズとアクティベーションが計算される。最終層では、目的のクラス判別と同数のカプセルを有し、アクティベーションが最大となるカプセルに対応するクラスが出力される。クラス判別は、ラベル判別とも呼ぶ。なお、ソフトウェアプログラムとして設計されるときは、各カプセル層において、一つの深さでのカプセルの数は一つであり得る。しかしながら、以下の明細書では、学習時および推定時の典型的な実行形態に合わせて、各カプセル層において、それぞれの深さで、かつ深さ方向の軸に垂直な、すなわち当該軸と交差する、概念上の平面上で、カーネルサイズとストライドとで決まる2次元アレイを構成する複数のカプセルが存在する、とも表現される。
【0006】
従来、カプセルネットワークを用いてクラス判別が行われた場合、クラス判別の結果は出力されるものの、出力されたクラスの判別根拠が不明であり、判別根拠を知ることは困難であった。
【課題を解決するための手段】
【0007】
(1)本開示の第1の形態によれば、1または複数のプロセッサーに実行させるための方法が提供される。この方法は、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習することと、学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得することと、を備える。
【0008】
(2)本開示の第2の形態によれば、予め学習された第1モデルを用いて、1または複数のプロセッサーに実行させるための方法が提供される。前記第1モデルは、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。この方法は、学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得することと、前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得することと、前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算することと、を含む。
【0009】
(3)本開示の第3の形態によれば装置が提供される。この装置は、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習する学習部と、学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する第1取得部と、を備える。
【0010】
(4)本開示の第4の形態によれば装置が提供される。この装置は、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習された第1モデルを記憶する記憶装置と、前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する第1取得部と、前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得する第2取得部と、前記第1中間データと前記第2中間データとの類似度を計算する計算部と、を備える。
【0011】
(5)本開示の第5の形態によればコンピュータープログラムが提供される。このコンピュータープログラムは、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習する機能と、学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する機能と、を1または複数のプロセッサーに実行させる。
【0012】
(6)本開示の第6の形態によれば予め学習された第1モデルを用いて実行されるコンピュータープログラムが提供される。前記第1モデルは、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。このコンピュータープログラムは、前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する機能と、前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得する機能と、前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算する機能と、を1または複数のプロセッサーに実行させる。
【図面の簡単な説明】
【0013】
【
図1】学習段階の判別システムを説明するための図。
【
図2】第1データセットと事前ラベルを説明するための図。
【
図4】第1モデルの学習処理を示すフローチャート。
【
図5】判別段階の判別システムを説明するための図。
【
図7】第2データセットのクラス判別処理のフローチャート。
【
図12】第1カプセル層におけるコサイン類似度を示す図。
【
図13】第2カプセル層におけるコサイン類似度を示す図。
【発明を実施するための形態】
【0014】
A.実施形態
図1は、学習段階の判別システム100を説明するための図である。
図2は、第1データセット12と事前ラベル14を説明するための図である。
図1に示す判別システム100は、カプセルネットワークを用いた第1モデル30の学習を行う段階を表している。判別システム100は、判別装置20と、外部装置との間でデータのやり取りをするデータインターフェースと、を備える。データインターフェースは、限定されないが好適にはUSBアダプター、有線または無線LANアダプターなどである。
【0015】
本実施形態では、データインターフェースを介して、外部装置から判別装置20の記憶装置に第1データセット12が格納されている。第1データセット12は第1モデル30の学習に用いられる。第1データセット12は、第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カメラ、赤外カメラ、デプスセンサー、マイクロフォン、加速度センサー、ジャイロセンサーなどの各種センサーであり、本実施形態ではカメラである。
【0016】
図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ピクセル変動している。第1モデル30での学習に用いられる第1データ要素12A~12Cや、第1モデル30によってラベル判別される後述する第2データ要素は、特徴に階層性を有する。特徴に階層性を有するとは、注目するデータ領域を微小な領域から、段階的に大きくしていくと、領域ごとに異なる特徴が現れることを意味する。例えば、特徴として、領域のテクスチャー、領域に現れる形状、領域に現れる各要素の配置、領域に現れる全体構成などが各階層に該当する。特徴の階層性は、多くのデータに一般的にみられる特徴構造であり、第1モデル30を用いた本開示の内容は汎用性が高い。
【0017】
事前ラベル14は、第1データ要素12A~12Cのそれぞれに対応付けて第1入力データセット10に記憶されている。事前ラベルは、第1事前ラベルとしての良品ラベルと、第2事前ラベルとしての不良品ラベルとを有する。事前ラベル14は、単にラベル14と呼ぶこともある。第1データ要素12Aには、事前ラベルとして不良品ラベルが対応付けられている。第1データ要素12Bには、事前ラベルとして不良品ラベルが対応付けられている。第1データ要素12Cには、事前ラベルとして良品ラベルが対応付けられている。つまり、本実施形態における第1モデル30は、立方体の各表面に3の目を印刷または刻印した製品を製造する場合に使用され、製品の良品と不良品を判別する。
【0018】
図1に示す判別装置20は、パーソナルコンピューターなどの電子計算機である。判別装置20は、記憶装置22と、プロセッサー24と、出力部26とを備える。記憶装置22は、フラッシュメモリーやEEPROMなどの一時的でない記憶媒体としての不揮発性記憶媒体23と、メインメモリーとしてのDRAMと、を含む。記憶装置22には、第1モデル30と、入力された第1入力データセット10を用いて生成される収集データ要素32とが記憶されている。また、記憶装置22には、判別装置20の動作を制御するための各種プログラムが記憶されている。
【0019】
第1モデル30は、カプセルネットワーク型の学習モデルであり、複数層を有する階層型である。従来のニューラルネットワークでは一つのニューロンが他の複数のニューロンのそれぞれからスカラー量の出力を受け取り非線形変換によって一つのスカラー量を出力するのに対し、カプセルネットワーク型の学習モデルは、上述のように、カプセルと呼ばれるノードが、合議制ルーティングにしたがい、スカラー量、または、ベクトル若しくは行列型のデータを入出力することによって、情報を伝搬する。カプセルネットワーク型のアルゴリズムについては、上述の特許文献1、非特許文献1,2に開示の内容が採用される。
【0020】
合議制ルーティング、ここではEMルーティングにより、入力元カプセルのポーズであるベクトルM
iから出力先カプセルのポーズであるベクトルM
jを生成する流れについて説明する。まず、入力ベクトルM
iからV
ijを計算する。
【数1】
ここで式(1.1)の右辺のかっこ内に記載の各要素はベクトルV
ijを構成するスカラー値であり、Hはベクトルの次元数である。また、W
ijは重み行列である。また、添え字i,jは下記式(2)を満たすものであり、Ω
L、Ω
L+1はそれぞれ、層Lと層L+1に含まれるカプセル番号の集合である。
【0021】
【0022】
EMルーティングでは次のMステップとEステップを適当な回数繰り返すことで、V
ijの重み付き平均u
ijを計算し、その後u
ijを出力ベクトルM
jに置き換えることで、出力ベクトルM
jを生成する。重み付き平均u
ijは以下の式(3)で表される。
【数3】
ここで、上記式(3)の右辺のかっこ書きの要素は、重み付き平均u
ijを構成するスカラー値である。
【0023】
まず、下記式(4)で初期化した状態からスタートする。
【数4】
【0024】
Mステップ:
【数5】
上記式(5)で入力元カプセルiのアクティベーションa
iを掛けてR
ijを調整する。
【0025】
【0026】
上記式(6)でVijの重み付き平均uijを求め、上記式(7)でVijの重み付き分散を求める。
【0027】
【0028】
上記式(8)で出力先カプセルjのアクティベーションajを計算する。ここで、βa、βuはパラメーターであり、Wijと共に学習される。またlogisticは一般的なロジスティック関数である。
【0029】
Eステップ:
次に、下記式(9)、式(10)により、R
ijを更新する。
【数9】
【数10】
【0030】
第1モデル30の学習段階では、第1データセット12の各第1データ要素12A,12B,12Cと、第1データセット12の第1データ要素12A,12B,12Cのそれぞれに対応する事前ラベル14A,14B,14Cとの対応を再現するように第1モデル30が学習される。第1モデル30は、1つ以上のカプセルを有する1つ以上のカプセル層を含む。本実施形態では、第1モデル30は、複数のカプセルをそれぞれ有する複数のカプセル層によって構成されている。第1モデル30の詳細構成は後述する。
【0031】
プロセッサー24は、記憶装置22に記憶された各種プログラムを実行することで各種機能を実現する。プロセッサー24は、例えば、学習部と第1取得部と第2取得部と計算部として機能する。なお、他の実施形態では、上述の各種機能の少なくとも一部がハードウェア回路によって実現されてもよい。ここで、本明細書において、「プロセッサー」は、CPU、GPU、およびハードウェア回路を包含する用語である。
【0032】
出力部26は、各種情報を出力するために用いられる。出力部26は、例えば、液晶モニターである。各種情報としては、例えば、学習された第1モデル30を用いて判別したデータ要素のラベルに関する情報を表示する。出力部26は、液晶モニターなどの表示装置に代えて、音声を出力するスピーカーであってもよい。
【0033】
図3は、カプセルネットワーク型の第1モデル30の設定方法を説明するための図である。第1モデル30は、入力される第1データセット12側から順に、畳み込み層33と、プライマリーカプセル層35と、第1カプセル層37と、第2カプセル層38と、最終層である分類カプセル層39とを備える。なお、第1モデル30の階層数は、入力されるデータ要素の種類に応じて、適宜変更される。本実施形態では、カプセル層は4つの層35,37,38,39によって構成された階層構造である。下位側から順に、プライマリーカプセル層35、第1カプセル層37、第2カプセル層38、分類カプセル層39が配列される。上位側のカプセル層における各カプセルの各ポーズMとアクティベーションaは、合議制ルーティング(routing-by-agreement)と呼ばれる手法を用いて、カーネルで指定される下位側のカプセル層の複数のカプセルからの入力によって決定される。
【0034】
第1データセット12の各データ要素12A~12Cに対して、5×5のカーネルをストライド「2」で適用することで、データ要素の範囲のうちで畳み込み層33の一つのノードに出力を与える部分範囲が決まる。各データ要素12A~12Cに対して適用するカーネルの数は32である。これにより、畳み込み層33は、第1軸である縦軸と第1軸と直交する第2軸である横軸がそれぞれ14つに区切られた領域を有するように構成される。また、畳み込み層33の深さであるチャンネル数はカーネルの数と同数の32で構成される。「部分範囲」とは、データ要素上でこの縦軸の位置と横軸の位置で特定される1つの領域である。ただし、以下の説明から明らかなように、データ要素上の「部分範囲」の大きさは、「部分範囲」に対応するカプセル、または部分領域Rxがカプセル層35,37,38,39のどれに属するかに応じて異なる。また、「部分領域」とは、カプセル層において縦軸の位置と横軸の位置とで特定される領域である。カプセル層における各「部分領域」は、上記縦軸、横軸、およびチャンネルに対応する「Height」×「Width」×「Depth」の次元を有する。本実施形態では、1つの「部分領域」に含まれるカプセルの数は「1×1×デプス数」である。本明細書において、部分領域Rxの「x」には、カプセル層35,37,38,39に応じて、「35」、「37」、「38」、「39」の数値を代入する。例えば、部分領域R35は、カプセル層35における領域を示す。
【0035】
畳み込み層33に1×1×32のカーネルをストライド「1」で適用することで、畳み込み層33の部分領域R33のうちから、プライマリーカプセル層35の一つのカプセルに出力する部分領域R33が決まる。ここでは、同じサイズ、同じストライドで、16種類のカーネルが用いられることから、プライマリーカプセル層35において、畳み込み層33の一つの部分領域R33に対応するカプセルの数は16である。畳み込み層33のノードからプライマリーカプセル層35のカプセルへの出力の生成には、変換行列が用いられており、合議制ルーティングは用いられていない。なお、カプセル層に畳み込むためのカーネルの次元は、チャネル数およびポーズの要素数も考慮にいれる場合には、「Height」×「Width」×「Depth」×「ポーズMの要素数」と表現されることもある。この表現にしたがうと、畳み込み層33からプライマリーカプセル層35への畳み込みに用いられるカーネルの次元は、1×1×32×16である。
【0036】
プライマリーカプセル層35に3×3×16のカーネルをストライド「1」で適用することで、プライマリーカプセル層35の部分領域R35のうちから、第1カプセル層37の一つの部分領域R37に含まれるカプセルに出力を与える部分領域R35、が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、12種類のカーネルが用いられることから、第1カプセル層37の部分領域R37に含まれるカプセルの数は12である。プライマリーカプセル層35のカプセルから第1カプセル層37のカプセルへの出力の生成には、合議制ルーティングが用いられる。ここで、下層35に適用されるカーネルは、上層37の1つのカプセルを合議制ルーティングにしたがって決めるために用いる下層35の3×3×16個のカプセルを指定する、とも表現される。これは、以下の説明でもあてはまる。
【0037】
第1カプセル層37に7×7×12のカーネルをストライド「2」で適用することで、第1カプセル層37の部分領域R37のうちから、第2カプセル層38の一つの部分領域R38に出力を与える部分領域R37が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、6種類のカーネルが用いられることから、第2カプセル層38の部分領域R38に含まれるカプセルの数は6である。第1カプセル層37のカプセルから第2カプセル層38のカプセルを生成する際には、合議制ルーティングが用いられる。
【0038】
第2カプセル層38に3×3×6のカーネルをストライド「1」で適用することで、第2カプセル層38の部分領域R38のうちから、分類カプセル層39の一つの部分領域R39に出力を与える部分領域R38が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、2種類のカーネルが用いられることから、分類カプセル層39の部分領域R39に含まれるカプセルの数は2である。第2カプセル層38のカプセルから分類カプセル層39のカプセルを生成する際には、合議制ルーティングが用いられる。
【0039】
最終層である分類カプセル層39は1つの部分領域R39で構成される。分類カプセル層39は、第1モデル30に入力されたデータ要素について、予め定められたラベルに分類する。本実施形態では、予め定めたラベルは、良品ラベルと、不良品ラベルとである。分類カプセル層39では、2つのカプセルのうち、アクティベーションaが最大となるカプセルに対応するラベルが出力となる。分類カプセル層39から出力されるラベルは、プロセッサー24によって制御されることで出力部26によって出力される。
【0040】
上記
図3において、プライマリーカプセル層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ピクセルの部分範囲に対応する。
【0041】
図4は、第1モデル30の学習段階で実行される学習処理を示すフローチャートである。まず、ステップS10において、第1モデル30のパラメーターの設定が行われる。ステップS10では、
図3を用いて説明したように、階層の数や、層の間で適用されるカーネルのサイズおよび/またはストライドが設定される。
【0042】
次に、ステップS12において、第1モデル30に学習させる第1データセット12が準備される。なお、ステップS10とステップS12の順番は上記に限定されるものではなく、ステップS12がステップS10よりも先に実行されてもよい。
【0043】
次に、ステップS14において、第1データセット12の各第1データ要素12A~12Cを第1モデル30に順次入力し、第1データセット12の各データ要素12A~12Cと、各データ要素12A~12Cに対応する事前ラベルとの対応を再現するように、第1モデル30が学習される。プロセッサー24は、例えばミニバッチ勾配降下法のアルゴリズムを用いて第1モデル30を学習する。本実施形態では、プロセッサー24は、データ要素のサブセットであるミニバッチのサイズを「32」、エポックを「20000」に設定したミニバッチ勾配降下法のアルゴリズムを用いて第1モデル30を学習する。
【0044】
ステップS16では、プロセッサー24は、ステップS14において学習された第1モデル30に第1データセット12を再び入力し、カプセル層である第1カプセル層37、第2カプセル層38、分類カプセル層39のそれぞれについて、以下を実行する。すなわち、プロセッサー24は、各層37,38,39の各カプセルが有する第1アクティベーションa1と第1ポーズM1との少なくとも一方に基づく第1中間データを、第1データ要素12A~12C上の部分範囲であって各カプセルが対応する部分範囲に関連付けて取得し、互いに関連付けられた第1中間データと関連付けられた部分範囲の相対位置とを記憶装置22に記憶する。なお、関連付けられた部分範囲そのものを記憶装置22に記憶してもよい。ここで、第1データ要素12A~12C上の部分範囲であって各カプセルが対応する部分範囲を、第1部分データ要素とも呼ぶ。また、以下では、記憶された第1中間データおよび第1部分データ要素を収集データ32とも表記する。なお、他の実施形態では、プライマリーカプセル層35においても各層37,38,39と同様に、第1中間データを第1部分データ要素と関連付けて取得してもよい。また、後述する類似度に関する情報として、第1部分データ要素の領域を示す部分範囲情報を含まない場合には、第1中間データを第1部分データ要素と関連付けなくてもよい。なお、必ずしも全てのカプセル層から第1中間データが取得される必要はない。例えば、第2カプセル層38だけから第1中間データが取得されてもよいし、いくつかの層の組み合わせから取得されてもよい。これは、以下で説明する第2中間データにも当てはまる。さらに、他の実施形態では、ステップS14で第1モデル30の学習に用いられる第1データセット12を2つに分割することで、ステップS14で第1モデル30の学習に用いられる第1データ要素12A,12B,12Cのグループと、学習に用いられない第1データ要素12A,12B,12Cのグループとに分割し、ステップS14では一方のグループだけで第1モデル30を学習し、ステップS16では2つのグループを用いて第1中間データを生成してもよい。要するに、第1モデル30の学習に用いられる第1データ要素12A,12B,12Cの事前ラベル14A,14B,14Cと同じ事前ラベル14A,14B,14Cが付与されている限り、ステップS16で中間データを生成するためのデータは、第1モデル30の学習に用いられた第1データ要素12A,12B,12Cだけに限定されない。
【0045】
上記のように、プロセッサー24が実行する方法によれば、ステップS16によって、カプセルが有する第1アクティベーションa1と第1ポーズM1との少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデル30に判別対象のデータ要素が入力された場合において、カプセルが有する第2アクティベーションa2と第2ポーズM2との少なくとも一方に基づく第2中間データを取得し、第1中間データから生成される特徴スペクトルと第2中間データから生成される特徴スペクトルとの類似度を計算できる。第2中間データは、第2ポーズM2自体や第2アクティベーションa2自体であってもよいし、第2ポーズM2や第2アクティベーションa2に対して重み付けなどのデータ処理したデータであってもよい。本実施形態では、第2中間データは、第2ポーズM2と第2アクティベーションa2とによって構成される。なお、他の実施形態では、第1中間データと第2中間データとはそれぞれ特徴スペクトルであってもよい。特徴スペクトルの詳細については後述する。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できる。よって、第1モデルを用いた入力したデータ要素の判別根拠が出力可能となる。この判別根拠の出力の態様についての詳細は後述する。
【0046】
図5は、判別段階の判別システム100を説明するための図である。
図6は、第2データセット62を説明するための図である。
図5の判別システム100と
図1の判別システム100と異なる点は、第1モデル30に入力するデータ要素として、第2入力データセット60が用いられる点である。
【0047】
図5に示すように、第2入力データセット60は、第2データセット62を有する。
図6に示すように、第2データセット62は、製造された複数のサイコロそれぞれにおいて、1つの面がカメラで撮像されることで取得された画像を表す第2データ要素62A~62Cである。第2データ要素62A~62Cのサイズは、例えば、第1モデル30の学習時と同じ32×32ピクセルである。また第2データ要素62A~62Cはそれぞれ1100枚ずつ準備され、サイコロの目の位置が最大で±2ピクセル、サイコロの目の大きさが最大で±2ピクセル変動している。
【0048】
学習された第1モデル30に、第2データ要素62A~62Cが1つずつ入力されることで、クラス判別、すなわちラベルが判別される。例えば、第1モデル30に、一の目を表す第2データ要素62Aや二の目を表す第2データ要素62Bが入力された場合は不良品であると判別され、三の目を表す第2データ要素62Cが入力された場合は良品であると判別される。また、本実施形態では、プロセッサー24は、ラベルを判別した判別根拠を生成し、出力部26に判別したラベルと共に判別根拠を表示させる。判別根拠の生成方法は後述する。
【0049】
図7は、第2データセット62のクラス判別処理のフローチャートである。まず、ステップS20において、プロセッサー24は、第1データセット12を用いて学習された第1モデル30に各第2データ要素62A~62Cを1つずつ入力し、クラス判別を実行する。次に、プロセッサー24が、ステップS22において、入力された第2データ要素62A~62Cの1つずつに、第1モデル30の状態、つまり、分類カプセル層39の2つのカプセルのアクティベーションaとしての第2アクティベーションa2を計算、すなわち導出する。また、ステップS22では、プロセッサー24は、第1モデル30に入力された第2データ要素62A~62Cのそれぞれについて、第1モデル30から第2中間データを取得する。第2中間データの取得の詳細は、
図8におけるステップS30を参照しながら後述する。
【0050】
次に、ステップS24において、プロセッサー24は、ステップS22の計算結果をもとに、分類カプセル層39の第2アクティベーションa2が最大となるカプセルに対応するラベルを判別結果として出力部26に出力する。なお、ラベルの判別結果は、画像情報に限られずユーザーに報知できる情報であればよい。例えば、ラベルの判別結果は、音声情報として出力されてもよい。この場合、出力部26はスピーカーを備える。以下の説明では、ラベルの判別の結果は、収集データ32の一部として、記憶装置22に記憶される。
【0051】
このように、第1モデル30に第2データ要素62A~62Cを入力することでラベルを容易に判別できる。また、出力部26によって、ラベルの判別結果が出力されるので、ユーザーは容易にラベルの判別結果を把握できる。
【0052】
図8は、第1説明処理のフローチャートである。
図8の第1説明処理は、
図7のクラス判別処理の後に行われてもよいし、
図7のクラス判別処理と並列して行われてもよい。第1説明処理は、プロセッサー24によって実行される。第1説明処理は、収集データ要素32に記憶された良品ラベルが対応付けられた第1データ要素12Cと、入力された第2データ要素62A~62Cとを比較し、なぜ良品と判別したか、なぜ良品と判別しなかったか、の判別根拠を説明するための処理である。この第1説明処理によって生成される情報は、
図7のステップS24の判別結果と共に出力されてもよい。
図9は、特徴スペクトルを説明するための図である。
【0053】
図8に示すように、まずステップS30において、プロセッサー24は、学習された第1モデル30に第2データ要素62A~62Cを1つずつ入力し、第1モデル30にクラス判定を実行させる。当該クラス判定が終了したときに複数のカプセルがそれぞれ出力した第2中間データを取得し、記憶装置22に記憶する。本実施形態では、第2中間データは、第2ポーズM2と第2アクティベーションa2とを含む。ステップS30では、少なくとも第1カプセル層37、第2カプセル層38、分類カプセル層39のそれぞれについてステップS30が実行される。また、ステップS30において、プロセッサー24は、第2データ要素62A~62C上の部分範囲であって第2中間データに対応した部分範囲を、第2中間データに関連付けて記憶装置22に記憶する。本実施形態では、ステップS30は、
図7に示すクラス判別処理のステップS22において実行される。次にステップS32において、プロセッサー24は、記憶装置22から、事前ラベルとして良品ラベルが付された第1データ要素12Cの全てに対してクラス判別を実施したときに得られた第1中間データを読み出す。本実施形態では、第1中間データは、第1ポーズM1と第1アクティベーションa1とに基づいている。
【0054】
次にステップS34において、プロセッサー24は、第2データ要素62A~62Cの特徴スペクトルSpと、良品ラベルの第1データ要素12Cの特徴スペクトルSpを計算する。具体的には、プロセッサー24は、第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を一次元に変換して配列してもよい。
【0055】
図9に示すグラフは第1カプセル層37に対応する。第1カプセル層37では、1つの部分領域R37が、深さ方向に並んだ12個のカプセルを有する。
図9には、一例として、ある一つの部分領域R37に属する12個のカプセルが出力したそれぞれのアクティベーションaを平均0、分散1に正規化して並べたものを示している。
図9における特徴スペクトルSpは、正規化されたこれら複数のアクティベーションaを要素に持つ。
図9に示す特徴スペクトルSpの一例において、横軸は各カプセルに対応するアクティベーションaを識別するための要素番号「0」~「11」であり、縦軸は各アクティベーションaの値である。
【0056】
図8に示すように、次にステップS36において、プロセッサー24は、第1中間データと第2中間データとに基づく類似度を計算する。詳細には、プロセッサー24は、第1カプセル層37、第2カプセル層38、分類カプセル層39の層ごとにおいて、第2データ要素62A~62Cの第2中間データから生成した特徴スペクトルSpと、良品ラベルの第1データ要素12Cの第1中間データから生成した特徴スペクトルSpとの類似度を計算する。本実施形態において、類似度の計算対象は、同じ階層に属する部分領域Rx同士である。具体的には、カプセル層37,38,39ごとに、第2データ要素62A~62Cが与えられたときの一つの部分領域Rxに対して、第1データ要素12A~12Cが与えられたときの全ての部分領域Rxである。ここで、第1データ要素12A~12Cが与えられたときのカプセル層37,38,39における或る一つの部分領域Rxと、第2データ要素62A,62B,62Cが与えられたときのカプセル層37,38,39における部分領域Rxとは、それぞれ、第1データ要素12A~12Cである第1画像上の部分範囲と、第2データ要素62A~62Cである第2画像上の部分範囲と、に対応していることから、上記類似度は、第1画像の部分範囲と、第2画像の部分範囲と、の間の類似度であるとも解釈できる。言い換えると、本実施形態では、第1データ要素12A~12Cと第2データ要素62A~62Cとの間で互いに類似度の形態で中間データが比較されるのは、第2データ要素62A~62C上の或る階層に属する部分範囲に対して第1データ要素12A~12C上で同じ階層に属する全ての部分範囲である。しかしながら、後述するように、同じ階層の同じ部分範囲同士の間で類似度が求められてもよい。ここで、階層は部分範囲の大きさに関連付けられている。上述の通り、カプセル層37,38,39が異なると、第1データ要素12A~12C、すなわち第1画像上で定義される部分範囲、および、第2データ要素62A~62C、すなわち第2画像上で定義される部分範囲の大きさも異なる。類似度としては、2つのベクトルを比較する任意の指標を用いることができ、例えばコサイン類似度や平均二乗誤差(MSE)やピークS/N比(PSNR)が用いられる。ステップS36では、第1カプセル層37、第2カプセル層38、分類カプセル層39のそれぞれの部分領域Rxごとに、全ての第1データ要素12Cに対応する第1中間データの特徴スペクトルSpの類似度のうちで最も類似度が高い値を、第2データ要素62の部分領域Rxの類似度とする。第2データ要素62の部分領域Rxの類似度は、部分領域Rxのセンサーデータ要素である画像データ要素、および、部分領域Rxのアクティベーションaと対応付けて記憶装置22に記憶される。他の実施形態では、ステップS36における類似度の計算対象は、同じ層における同じ相対位置にある部分領域Rx同士ごとであってもよい。
【0057】
次にステップS40において、プロセッサー24は、計算、すなわち導出した類似度に関する情報を、出力部26を用いて出力する。類似度に関する情報は、位置を表す階層部分範囲情報と、階層を表す層ラベル情報と、類似度情報と、比較情報との少なくとも一つを含む。階層部分範囲情報は、階層ごとの部分範囲情報である。限定されないが本実施形態では、階層部分範囲情報は、階層ごとにおいて類似度の計算が行われた部分領域Rxに対応する第1データ要素12A,12B,12C上の部分範囲および第2データ要素62A,62B,62C上の部分範囲を示す情報である。上記において、部分領域Rxに対応する第1データ要素12A,12B,12C上の部分範囲を第1部分データ要素とも呼ぶ。また上記において、部分領域Rxに対応する第2データ要素62A,62B,62C上の部分範囲を第2部分データ要素とも呼ぶ。層ラベル情報は、複数のカプセル層である第1カプセル層37、第2カプセル層38、および分類カプセル層39の階層を識別するための情報である。類似度情報は、同じ階層、すなわち同じカプセル層37,38,39に属する部分領域Rx間の類似度を示す情報である。比較情報は、類似度と予め定められた閾値との大小関係を示す情報である。比較情報は、ステップS40において、プロセッサー24が、類似度と予め定めた閾値とを比較した場合に生成される情報である。第2データセット62のデータ要素において、類似度が予め定めた閾値より小さい場合には、その階層で既知の画像の特徴との類似度が低いと解釈され、予め定めた閾値以上の場合には、その階層で既知の画像の特徴との類似度が高いと解釈し得る。予め定めた閾値は、例えば、類似度が高いことや低いことを示す基準となる値である。このように、類似度は良品・不良品などのクラス判定に対する判断根拠として使用され得る。ステップS40では、類似度を含む類似度に関する情報を生成して出力部26に出力させる。ここで、判別根拠として複数のカプセル層37,38,39の一つのみを用いる場合には、階層部分範囲情報に代えて部分範囲情報が用いられてもよい。部分範囲情報は、類似度の計算が行われたデータ要素上の部分範囲を示す情報である。
【0058】
なお、
図8のステップS36において、第1データ要素上のある相対位置にある部分範囲の特徴スペクトルSpと、第2データ要素上の当該相対位置とは異なる相対位置の特徴スペクトルSpとの類似度が計算された場合には、類似度に関する情報は、それぞれ部分範囲の相対位置を示す情報を含む。
【0059】
類似度に関する情報は、出力部26の一例である液晶モニターを用いて出力されたが、音声情報として出力されてもよい。この場合、出力部26はスピーカーを備える。
【0060】
上記のように、第1中間データと第2中間データとに基づく類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデル30を用いた第2データ要素62A~62Cの判別根拠を出力可能となる。また、
図8のステップS36の処理において、第1部分データ要素の第1中間データと第1部分データ要素に対応した領域の第2部分データ要素の第2中間データとの類似度を計算することで、第1部分データ要素および第2部分データ要素の類似度を計算できる。これにより、類似度に関する情報が出力部26を用いて出力されることで、例えば第2データ要素におけるどの領域を根拠してラベルの判別が行われたかを容易に把握できる。よって、ユーザーは、ラベルの判別について、どのカプセル層37,38,39を根拠にしたのか、および、どの部分領域Rxを根拠にしたのかなどの類似度に関する情報について容易に把握できる。つまり、ユーザーは、この類似度に関する情報から、入力データである第2データ要素62A~62Cについて、良品と類似している部分、類似していない部分、それぞれの位置と大きさを把握することができる。なお、ステップS36の処理において、類似度の計算の対象は、カプセル層37,38,39における同じ相対位置の部分領域Rxからの第1中間データと第2中間データでなくともよい。このようにしても、計算の対象である第2データ要素の階層を識別するための層ラベル情報や部分領域Rxを示す部分領域情報などの類似度に関する情報を出力することで、ユーザーは、ラベルの判別について、どのカプセル層37,38,39を根拠にしたのか、および、どの部分領域Rxを根拠にしたのかなどの類似度に関する情報について容易に把握できる。
【0061】
図10は、第2説明処理のフローチャートである。第2説明処理は、プロセッサー24によって実行される。第2説明処理は、第2データ要素62A~62Eが、第1モデル30の学習に用いられた既知の第1データ要素12A~12Cと同じ種類であるか否かの判別とその根拠を説明するための処理である。
図11は、第2データセット62aを説明するための図である。第2説明処理は、端的に言うと、知らないデータを無理やり判別したのか、知っているデータとして判別したのか、どちらなのかを説明する処理ともいえる。
【0062】
図11に示すように、第2データセット62aは、5種類の第2データ要素62A~62Eを有する。第2データ要素62A,62B,62Cはそれぞれ、
図6に示す第2データ要素62A,62B,62Cと同じであり、第1モデル30の学習の際に用いられた第1データ要素12A~12Cと同じ種類の対象物であるサイコロを撮像した画像データ要素である。第2データ要素62D,62Eは、第1モデル30の学習の際に用いられた第1データ要素12A~12Cとは種類が異なる対象物であるサイコロを撮像した画像データ要素である。具体的には、第2データ要素62Dは、各面において三の目の中央の目がバツ印のサイコロを撮像した画像データ要素である。また第2データ要素62Eは、各面が四の目のサイコロを撮像した画像データ要素である。以上のように、第2データ要素62D,62Eは、第1モデル30の学習の際に用いられなかった未知の種類のデータ要素である。第2データ要素62A~62Eのサイズは、例えば、第1モデル30の学習時と同じ32×32ピクセルである。また、また第2データ要素62A~62Eはそれぞれ1100枚ずつ準備され、サイコロの目の位置が最大で±2ピクセル、サイコロの目の大きさが最大で±2ピクセル変動している。準備された第2データ要素62A~62Eは、1つずつ第1モデル30に入力されることで、クラス判別、すなわちラベルが判別される。
【0063】
図10に示すようにステップS30において、プロセッサー24は、学習された第1モデル30に第2データ要素62A~62Eを1つずつ入力し、第2データ要素62A~62Eのそれぞれについてクラス判別を実行する。そして、クラス判別が終了したときの、第2データ要素62A~62Eのそれぞれに対する第2中間データを第1モデル30から取得する。
図10に示すステップS30は、
図8に示すステップS30と同じ処理である。次にステップS32aにおいて、プロセッサー24は、記憶装置22に記憶されている第1モデル30の学習に用いられた第1データ要素12A~12Cのそれぞれの第1中間データを全て抽出する。
【0064】
次にステップS34aにおいて、プロセッサー24は、第1モデル30に入力された第2データ要素62A~62Eの特徴スペクトルと、抽出した学習済みの第1データ要素12A~12Cの特徴スペクトルを計算する。計算方法については、
図8のステップS34において記載の方法と同様であるため、ここでは説明を省略する。
【0065】
次にステップS36aにおいて、プロセッサー24は、第2データ要素62A~62Cの特徴スペクトルSpと、第1データ要素12A~12Cの特徴スペクトルSpとの類似度を計算する。類似度としては、例えばコサイン類似度が用いられる。ステップS36では、第1カプセル層37、第2カプセル層38、分類カプセル層39のそれぞれの部分領域Rxごとに、全ての第1データ要素12A~12Cに対して最も類似度が高い値を、部分領域Rxの類似度とする。部分領域Rxの類似度は、部分領域Rxが対応する画像データ要素の部分範囲、および、部分領域Rxのアクティベーションaと対応付けて記憶装置22に記憶される。
【0066】
次にステップS40aにおいて、プロセッサー24は、計算した類似度に関する情報を、出力部26を用いて出力する。類似度に関する情報は、位置を表す階層部分範囲情報や部分範囲情報と、階層を表す層ラベル情報と、類似度情報と、比較情報との少なくとも一つを含む。
図8に示すステップS40とステップS40aとで異なる点は、ステップS40aでは、類似度の閾値の値が異なる点である。例えば、ステップS40aにおいて予め定めた閾値は、第1モデル30の学習に用いられたデータ要素と同じ種類である第2データ要素62A,62B,62Cを既知のデータ要素として判別でき、そして、第1モデル30の学習に用いられたデータ要素と異なる種類である第2データ要素62D,62Eを未知のデータ要素として示唆できる値に設定される。
【0067】
上記のように、第2説明処理において第1説明処理と同様の構成や処理を行う点において同様の効果を奏する。例えば、第1中間データと第2中間データとに基づく類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0068】
図12は、第1カプセル層37におけるコサイン類似度を示す図である。
図13は、第2カプセル層38におけるコサイン類似度を示す図である。以下では、
図12および
図13を参照しながら、第1説明処理と第2説明処理の効果について説明する。
【0069】
図12および
図13に示すコサイン類似度は、以下に記載する生成方法で生成した特徴スペクトルSpを用いて算出した。生成方法は、部分領域Rxが有するポーズMを、アクティベーションaの値で重み付けすることで特徴スペクトルSpを生成する方法である。重み付けは、ポーズMの各次元に、ポーズMに対応するアクティベーションaの値を掛けることで実行される。この生成方法で生成された特徴スペクトルSpのグラフは、例えば、横軸に各ポーズMの各次元を識別するための要素番号、縦軸に重み付け後の値をとることによって表される。横軸の要素数は、第1カプセル層37では16×12個である。これは、ポーズMの次元数と、第1カプセル層37の1つの部分領域R37に含まれるカプセルの数と、の積である。
【0070】
図12および
図13の棒グラフにおいて、No.1~No.4のそれぞれの下に記載した符号である「A ― B」は以下を意味する。つまり、符号中の左側の符号「A」は、第1モデル30の学習に用いられていない第2データ要素62A~62Eであり、符号中の右側の符号「B」は、第1モデル30の学習に用いられた第1データ要素12A~12Cである。No.1の棒グラフは、三の目のサイコロの画像データ要素である、第2データ要素62Cと第1データ要素12Cとのコサイン類似度を示す。No.2のグラフは、二の目のサイコロの画像データ要素である第2データ要素62Bと、三の目のサイコロの画像データ要素である第1データ要素12Cとのコサイン類似度を示す。No.3の棒グラフは、四の目のサイコロの画像データ要素である第2データ要素62Eと、既知の第1データ要素12A~12Cとのコサイン類似度を示す。No.4の棒フラフは、三の目の中央の目がバツ印のサイコロの画像データ要素である第2データ要素62Dと、既知の第1データ要素12A~12Cとのコサイン類似度を示す。
【0071】
No.1~No.4のそれぞれの棒グラフが示すコサイン類似度は、以下の方法で算出される。以下では、学習に用いた既知の第1データ要素12A~12Cの一部分を使っているが、学習に用いたすべてを使ってもよい。すなわち、既知の第1データ要素12A~12Cからランダムに200個を選択し、この200個の第1データ要素12A~12Cと、準備した比較対象サンプルである第2データ要素62B~62Eとの、各層である第1カプセル層37および第2カプセル層38においてストライド、すなわち部分領域R37,R38ごとの類似度の計算を行い、類似度が最大のコサイン類似度の値のみを保存する。この操作を第2データ要素62B~62Eのランダムに選んだ100個について行い、その統計量を表すことで棒グラフが生成される。また、標準偏差をエラーバーで示している。本実施形態において、コサイン類似度は、最小値が「-1」、最大値が「1」である。
【0072】
図12において、局所形状の比較に対応した第1カプセル層37では、バツの目が付された第2データ要素62Dとの比較であるNo.4のコサイン類似度が、No.1~No.3のコサイン類似度よりも低い結果を得た。こうすることで、第1モデル30を用いて、第2データ要素62Dと既知データ要素である第1データ要素12A,12B,12Cとの間で異なる部分は、全体の中で局所的な部分であることが説明できる。他方、第2データ要素62Eについては、局所的な部分に既知データ、すなわち第1データ要素12A,12B,12Cとの差異はないことが説明できる。
図12に示すように、特徴スペクトルSpのコサイン類似度において、No.1~No.3と、No.4との境界である閾値TVを設定できる。本実施形態では、既知データと種々のデータとの比較において、第1カプセル層37に関して得られた特徴スペクトルSpのコサイン類似度の大小を表現するのに都合のよい閾値TVが存在することを確認した。よって、閾値TVを適切に設定すれば、第2データ要素62Dは第1カプセル層37での類似度が小さいと言えて、既知データ、すなわち第1データ要素12A,12B,12Cと異なる特徴を局所的に持つことの説明になり得る。
【0073】
図13において、中間形状の比較、または局所形状の相対位置の比較、に対応した第2カプセル層38では、No.1のコサイン類似度が、No.2~No.4のコサイン類似度よりも高い結果を得た。こうすることで、第1モデル30を用いた「未知」と「既知」のラベル付けの根拠説明の精度を向上できる。さらに、第2データ要素62Bと既知データ要素である第1データ要素12Cとの間で異なる部分は、全体の中で局所形状の相対位置であることが説明できる。また、第2データ要素62Eと既知データ要素である第1データ要素12A,12B,12Cとの間で異なる部分は、全体の中で局所形状の相対位置であることが説明できる。
図13に示すように、特徴スペクトルSpのコサイン類似度において、No.1と、No.2~No.4との境界である閾値TVを設定できる。本実施形態では、既知データと種々のデータとの比較において、第2カプセル層38に関して得られた特徴スペクトルSpのコサイン類似度の大小を表現するのに都合がよい閾値TVが存在することを確認した。つまり、第2データ要素62B,62Eはサイコロの目の配置が異なることを、第2カプセル層38に関して導出された類似度が低いことで説明できる。言い換えると、第2データ要素62Bは、良品である第1データ要素12Cとサイコロの目の配置が異なることを説明できる。第2データ要素62Eは、既知の第1データ要素12A,12B,12Cのどれともサイコロの目の配置が異なることを説明できる。第2データ要素62Dも低いが、これは、ネットワークの情報が下位層から上位層の方向で伝達するので、下位層で異なる特徴を持つとされると、上位層で正常な類似度を求めることは難しくなるためと考えられる。
【0074】
なお、
図12および
図13で用いられた類似度の計算に代えて、第1ポーズM1を第1アクティベーションa1で重み付け、第2ポーズM2を第2アクティベーションa2で重み付けし、重み付け後の第1ポーズM1と、重み付け後の第2ポーズM2との類似度を計算することであってよい。
【0075】
類似度を計算するための特徴スペクトルSpは、上記に限定されるものではない。例えば、部分領域Rxが有するポーズMをアクティベーションaの値にソフトマックス関数を適用した補正値で重み付けすることで特徴スペクトルSpを生成してもよいし、部分領域Rxが有するポーズMを一次元に並び替えた要素に対して、要素ごとのポーズMの値を並べることで特徴スペクトルSpを生成してもよい。このため、類似度の計算方法は、第1ポーズM1からなる特徴スペクトルSpと第2ポーズM2からなる特徴スペクトルSpとの類似度を計算することであってもよい。
【0076】
また、類似度の計算方法は上記方法に限定されるものではない。類似度の計算方法は、例えば、第1アクティベーションa1と第2アクティベーションa2の類似度を計算することであってもよい。詳細には、類似度の計算方法は、複数の第1アクティベーションa1を要素として有する特徴スペクトルSpと複数の第2アクティベーションa2を要素として有する特徴スペクトルSpとの類似度を計算することであってもよい。
【0077】
上記実施形態によれば、第1中間データと第2中間データとの類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデル30を用いた第2データ要素62A~62Eの判別根拠を出力可能となる。ラベルの判別根拠が出力されることで、ラベル判別根拠を分析することで、例えば、不良品の発生の低減を行うための製造工程などの改善を行うことができる。
【0078】
また上記実施形態によれば、入力されるデータ要素(本実施形態では画像)の部分範囲であって、階層型のカプセルネットワークモデルの各層に含まれる深さ方向のカプセルのまとまり(カプセル群とも呼ぶ)が対応する部分範囲の大きさは、下位側の層から上位側の層に向かうに従い定性的に小から大へとなる傾向にあり、この傾向のもとで当該大きさをある程度調整可能である。そこで、データ要素に含まれる特徴が階層性を有する場合に、第1モデル30に含まれる層のそれぞれが、それぞれの階層の特徴に対応するよう、つまり、それぞれの大きさの特徴に対応するように、第1モデル30のネットワーク構造が調整され得る。さらに、階層型のカプセルネットワークモデルでは、各層においてカプセル群が対応するデータ要素上(例えば、画像上)の部分範囲の相関関係は、下位側の層から上位側の層に至るまで保持される。このことから、第1中間データと第2中間データとを、カプセル層37,38,39ごとに比較することで、第2入力データセット60の各データ要素の判別結果を、特徴の階層ごとに説明し得る。第1中間データは、学習された第1モデル30に、学習に用いた複数のデータ要素から構成される第1データセット12を入力として与えてカプセル層37,38,39から得られるデータである。また第2中間データは、第1モデル30に学習に用いられていないデータ要素、本実施形態では第2データセット62の各データ要素を入力として与えてカプセル層37,38,39から得られるデータである。
【0079】
B.他の実施形態:
B-1.他の実施形態1:
上記実施形態では、第1中間データの特徴スペクトルSpと第2中間データの特徴スペクトルSpとの類似度は、コサイン類似度であったがこれに限定されるものではなく、類似度を比較する要素に応じて各種の類似度を用いてもよい。例えば、類似度は、二乗誤差であってもよいし、2つのベクトルの内積または外積に基づく類似度、2つのベクトルに表される2つの点の間の距離、ノルムに基づく類似度であってもよい。
【0080】
B-2.他の実施形態2:
上記実施形態において、第1説明処理と、第2説明処理は、プロセッサー24によって自動的に切り替え可能に構成されていてもよい。例えば、プロセッサー24は、第1説明処理を実行している場合において、入力データ要素の全体数に対して不良品であると判別された割合が、予め定めた値以上になった場合に、第1説明処理から第2説明処理へと切り替えてもよい。
【0081】
B-3.他の実施形態3:
上記実施形態では、不揮発性記憶媒体23の記憶されたプログラムは、1つのプロセッサー24によって実行されたが、2つ以上のプロセッサー24によって実行されてもよい。
【0082】
B-4.他の実施形態4:
第1中間データや第2中間データの生成方法は上記実施形態に限定されるものではなく、例えば、Kmeans法を用いて第1中間データや第2中間データを生成してもよい。また、PCAやICA、Fisherなどの変換を用いて第1中間データや第2中間データを生成してもよい。また、第1中間データと第2中間データとの変換方法は異なっていてもよい。
【0083】
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0084】
(1)本開示の第1の形態によれば、1または複数のプロセッサーに実行させるための方法が提供される。この方法は、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習することと、学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得することと、を備える。この形態によれば、カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデルに判別対象の第2データ要素が入力された場合におけるカプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得し、第1中間データと第2中間データとの類似度を計算できる。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0085】
(2)本開示の第2の形態によれば、予め学習された第1モデルを用いて、1または複数のプロセッサーに実行させるための方法が提供される。前記第1モデルは、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。この方法は、学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得することと、前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得することと、前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算することと、を含む。この形態によれば、カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデルに判別対象の第2データ要素が入力された場合におけるカプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得し、第1中間データと第2中間データとの類似度を計算できる。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0086】
(3)上記形態において、さらに、計算した前記類似度に関する情報を出力することを含んでもよい。この形態によれば、ユーザーは類似度に関する情報を容易に把握できる。
【0087】
(4)上記形態において、さらに、前記第1モデルに前記第2データ要素を入力して、前記第2データ要素のラベルを判別することを含んでもよい。この形態によれば、第1モデルを用いた第2データ要素のラベルを判別できる。
【0088】
(5)上記形態において、さらに、前記ラベルの判別結果を出力することを含んでもよい。この形態によれば、ユーザーはラベルの判別結果を容易に把握できる。
【0089】
(6)上記形態において、前記カプセル層は、複数の前記カプセルを有し、前記第1中間データを取得することは、前記複数の前記カプセルがそれぞれ有する前記第1中間データを取得することと、取得した前記第1中間データに対応した前記第1データ要素の一部である第1部分範囲を、対応する前記第1中間データに関連付けることと、を含み、前記第2中間データを取得することは、前記複数の前記カプセルがそれぞれ有する前記第2中間データを取得することと、取得した前記第2中間データに対応した前記第2データ要素の一部である第2部分範囲を、対応する前記第2中間データに関連付けることと、を含み、前記類似度を計算することは、前記第1部分範囲の前記第1中間データと、前記第1部分範囲に対応した前記第2部分範囲の前記第2中間データとの前記類似度を計算することを含んでもよい。この形態によれば、第1部分範囲の第1中間データと第1部分範囲に対応した第2部分範囲の第2中間データとの類似度を計算することで、第1部分範囲および第2部分範囲の類似度を計算できる。これにより、第2データ要素におけるどの範囲を根拠としてラベルの判別が行われたかを容易に把握できる。
【0090】
(7)上記形態において、前記類似度に関する情報は、前記類似度の計算が行われた前記第1部分範囲および前記第2部分範囲を示す部分範囲情報を含んでもよい。この形態によれば、ユーザーはラベルの判別がどの部分範囲を根拠して行われたかを容易に把握できる。
【0091】
(8)上記形態において、前記カプセル層は、複数層によって構成された階層構造であり、前記類似度を計算することは、前記カプセル層ごとにおいて、前記第1部分範囲の前記第1中間データと、前記第1部分範囲に対応した前記第2部分範囲の前記第2中間データとの前記類似度を計算することを含んでもよい。この形態によれば、複数層のカプセル層の層ごとに第1中間データと第2中間データとの類似度を計算できる。
【0092】
(9)上記形態において、前記カプセル層は、複数の前記カプセルを有し、前記第1中間データを取得することは、前記複数の前記カプセルがそれぞれ有する前記第1中間データを取得すること、取得した前記第1中間データに対応した前記第1データ要素の一部である第1部分範囲を、対応する前記第1中間データに関連付けることと、を含み、前記第2中間データを取得することは、前記複数の前記カプセルがそれぞれ有する前記第2中間データを取得することと、取得した前記第2中間データに対応した前記第2データ要素の一部である第2部分範囲を、対応する前記第2中間データに関連付けることと、を含み、前記類似度を計算することは、前記第1中間データと、前記第2中間データとの前記類似度を計算することを含んでいてもよい。この形態によれば、第1部分範囲の第1中間データと第2部分範囲の第2中間データとの類似度を計算することで、第1部分範囲および第2部分範囲の類似度を計算できる。これにより、第2データ要素におけるどの領域を根拠してラベルの判別が行われたかを容易に把握できる。
【0093】
(10)上記形態において、前記類似度に関する情報は、前記類似度の計算が行われた前記第2部分範囲を示す部分範囲情報を含んでいてもよい。この形態によれば、ユーザーはラベルの判別がどの部分範囲を根拠にして行われたかを容易に把握できる。
【0094】
(11)上記形態において、前記類似度に関する情報は、前記類似度の計算が行われた前記第1部分範囲および前記第2部分範囲を示す部分範囲情報を含んでいてもよい。この形態によれば、ユーザーはラベルの判別がどの部分範囲を根拠にして行われたかを容易に把握できる。
【0095】
(12)上記形態において、前記カプセル層は、複数層によって構成された階層構造であり、前記類似度を計算することは、前記カプセル層ごとにおいて、前記第1中間データと、前記第2中間データとの前記類似度を計算することを含んでいてもよい。この形態によれば、複数層のカプセル層の層ごとに第1中間データと第2中間データとの類似度を計算できる。
【0096】
(13)上記形態において、前記類似度に関する情報は、さらに、複数の前記カプセル層の階層を識別するための層ラベル情報と、前記階層ごとの前記類似度を示す類似度情報と、前記階層ごとにおいて前記類似度の計算が行われた前記第2部分範囲である階層部分範囲を示す階層部分範囲情報と、前記類似度と予め定められた閾値との大小関係を示す比較情報と、の少なくとも一つを含んでもよい。この形態によれば、ユーザーは類似度に関する情報をさらに詳細に把握できる。
【0097】
(14)上記形態において、前記第1中間データは、少なくとも前記第1ポーズを含み、前記第2中間データは、少なくとも前記第2ポーズを含み、前記類似度を計算することは、前記第1ポーズと前記第2ポーズとの前記類似度を計算することを含んでもよい。この形態によれば、第1ポーズと第2ポーズとを用いて類似度を計算できる。
【0098】
(15)上記形態において、前記第1中間データは、少なくとも前記第1アクティベーションを含み、前記第2中間データは、少なくとも前記第2アクティベーションを含み、前記類似度を計算することは、前記第1アクティベーションと前記第2アクティベーションとの前記類似度を計算することを含んでもよい。この形態によれば、第1アクティベーションと第2アクティベーションとを用いて類似度を計算できる。
【0099】
(16)上記形態において、前記第1中間データは、前記第1ポーズと前記第1アクティベーションとを含み、前記第2中間データは、前記第2ポーズと前記第2アクティベーションとを含み、前記類似度を計算することは、前記第1ポーズを前記第1アクティベーションで重み付けし、前記第2ポーズを前記第2アクティベーションで重み付けし、重み付け後の前記第1ポーズと、重み付け後の前記第2ポーズとの前記類似度を計算することを含んでもよい。この形態によれば、重み付け後の第1ポーズと重み付け後の第2ポーズとを用いて類似度を計算できる。
【0100】
(17)本開示の第3の形態によれば装置が提供される。この装置は、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習する学習部と、学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する第1取得部と、を備える。この形態によれば、カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデルに判別対象の第2データ要素が入力された場合におけるカプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得し、第1中間データと第2中間データとの類似度を計算できる。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0101】
(18)本開示の第4の形態によれば装置が提供される。この装置は、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習された第1モデルを記憶する記憶装置と、前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する第1取得部と、前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得する第2取得部と、前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算する計算部と、を備える。この形態によれば、カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデルに判別対象の第2データ要素が入力された場合におけるカプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得し、第1中間データと第2中間データとの類似度を計算できる。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0102】
(19)本開示の第5の形態によればコンピュータープログラムが提供される。このコンピュータープログラムは、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するようにそれぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型の第1モデルを学習する機能と、学習された前記第1モデルに前記第1データセットを入力し、前記1つ以上の前記カプセル層について、前記1つ以上のカプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する機能と、を1または複数のプロセッサーに実行させる。この形態によれば、カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデルに判別対象の第2データ要素が入力された場合におけるカプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得し、第1中間データと第2中間データとの類似度を計算できる。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0103】
(20)本開示の第6の形態によれば予め学習された第1モデルを用いて実行されるコンピュータープログラムが提供される。前記第1モデルは、それぞれが1つ以上のカプセルを有する1つ以上のカプセル層を含むカプセルネットワーク型であり、第1データセットが有する複数の第1データ要素と、前記複数の第1データ要素のそれぞれに対応する事前ラベルと、の対応を再現するように学習されている。このコンピュータープログラムは、前記学習された前記第1モデルに前記第1データセットが入力された場合に、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得する機能と、前記第1モデルに第2データ要素を入力して、前記1つ以上の前記カプセル層のそれぞれについて、前記1つ以上の前記カプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得する機能と、前記1つ以上の前記カプセル層において、前記第1中間データと前記第2中間データとの類似度を計算する機能と、を1または複数のプロセッサーに実行させる。この形態によれば、カプセルが有する第1アクティベーションと第1ポーズとの少なくとも一方に基づく第1中間データを取得できる。これにより、第1モデルに判別対象の第2データ要素が入力された場合におけるカプセルが有する第2アクティベーションと第2ポーズとの少なくとも一方に基づく第2中間データを取得し、第1中間データと第2中間データとの類似度を計算できる。類似度を計算することで、例えば、類似度が予め定めた閾値未満のカプセルを特定できるので、第1モデルを用いた第2データ要素の判別根拠を出力可能となる。
【0104】
本開示は、上記形態の他に、コンピュータープログラムを記録した不揮発性記憶媒体や装置を備えるシステムなどの形態で実現することができる。
【符号の説明】
【0105】
IM0,IM0a…判別根拠画像、IM1,IM1a…根拠説明画像、IM2a…前提画像,前提画像、M1…第1ポーズ、M2…第2ポーズ、Sp…特徴スペクトル、TV…閾値、a1…第1アクティベーション、a2…第2アクティベーション、Rx…部分領域、10…第1入力データセット、12…第1データセット、12A~12C…第1データ要素、14,14A~14C…事前ラベル、20…判別装置、22…記憶装置、23…不揮発性記憶媒体、24…プロセッサー、26…出力部、30…第1モデル、32…収集データ要素、33…畳み込み層、35…プライマリーカプセル層、37…第1カプセル層、38…第2カプセル層、39…分類カプセル層、60,60a…第2入力データセット、62,62a…第2データセット、62A…第2データ要素、62B…第2データ要素、62C…第2データ要素、62D…第2データ要素、62E…第2データ要素、100…判別システム