(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126706
(43)【公開日】2024-09-20
(54)【発明の名称】情報処理装置および情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240912BHJP
G06N 3/045 20230101ALI20240912BHJP
G06N 5/045 20230101ALI20240912BHJP
G06T 7/00 20170101ALI20240912BHJP
【FI】
G06N20/00
G06N3/045
G06N5/045
G06T7/00 350C
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023035279
(22)【出願日】2023-03-08
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】木村 克行
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA03
5L096CA04
5L096CA22
5L096DA02
5L096HA11
5L096JA11
5L096JA22
5L096KA04
(57)【要約】
【課題】複数種類のデータが入力される学習済モデルの解釈性を高める方法を提供する。
【解決手段】情報処理装置は、1または複数の第1のデータと、1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを第1の学習済モデルに入力して推論結果を算出する算出部と、1または複数の第1のデータおよび1または複数の第2のデータのうち少なくとも1つのデータについて、第1の学習済モデルが推論結果を算出するために着目した部分を示す顕著性マップを生成する生成部とを含む。
【選択図】
図16
【特許請求の範囲】
【請求項1】
1または複数の第1のデータと、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを第1の学習済モデルに入力して推論結果を算出する算出部と、
前記1または複数の第1のデータおよび前記1または複数の第2のデータのうち少なくとも1つのデータについて、前記第1の学習済モデルが前記推論結果を算出するために着目した部分を示す顕著性マップを生成する生成部とを備える、情報処理装置。
【請求項2】
前記1または複数の第1のデータの各々は、画像データを含み、
前記1または複数の第2のデータの各々は、スカラ値の時系列データを含む、請求項1に記載の情報処理装置。
【請求項3】
前記生成部は、前記第1の学習済モデルに比較して、学習が不足している第2の学習済モデルを用いて、前記顕著性マップを生成する、請求項1に記載の情報処理装置。
【請求項4】
前記顕著性マップを表示出力する表示出力部をさらに備える、請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記表示出力部は、前記推論結果が予め定められた値である場合に、前記1または複数の第1のデータおよび前記1または複数の第1のデータのうち少なくとも一部を可視化した画像とともに、前記顕著性マップを表示出力する、請求項4に記載の情報処理装置。
【請求項6】
前記第1の学習済モデルは、前記1または複数の第1のデータおよび前記1または複数の第2のデータの各々に対応付けられた複数のニューラルネットワークを含む、請求項1~3のいずれか1項に記載の情報処理装置。
【請求項7】
情報処理プログラムであって、コンピュータに、
1または複数の第1のデータと、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを第1の学習済モデルに入力して推論結果を算出するステップと、
前記1または複数の第1のデータおよび前記1または複数の第2のデータのうち少なくとも1つのデータについて、前記第1の学習済モデルが前記推論結果を算出するために着目した部分を示す顕著性マップを生成するステップとを実行させる、情報処理プログラム。
【請求項8】
1または複数の第1のデータと、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを含む学習データを複数用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータを順次格納する学習部と、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するとともに、ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定する決定部とを備え、
前記第2のモデルは、前記第2のモデルの出力に基づいて顕著性マップを生成するための生成部に関連付けられる、情報処理装置。
【請求項9】
前記決定部は、
学習に用いられた学習データの数に対する、前記モデルの誤差および精度の少なくとも一方の変化を示す学習曲線を含むユーザインターフェイス画面を生成し、
前記ユーザインターフェイス画面に対するユーザ操作に応じて、選択された状態のモデルを前記第2のモデルとして決定する、請求項8に記載の情報処理装置。
【請求項10】
前記ユーザインターフェイス画面は、
ユーザ操作によって指定された学習の状態における、前記モデルの精度の評価結果と、
ユーザ操作によって指定された学習の状態における、前記モデルが出力する特徴量の分布と、
ユーザ操作によって指定された学習の状態における、前記モデルの出力に基づいて生成された顕著性マップとのうち少なくとも1つを含む、請求項9に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理プログラムに関する。
【背景技術】
【0002】
生産現場においても、学習済モデルを用いた異常検知などの機能が実用化されている。このような学習済モデルがどのように判断を行ったのかを可視化する技術が知られている。このような技術は、説明可能なAI(XAI:Explainable AI)と称されることもある。
【0003】
例えば、画像認識モデルにおいて、入力と対応する推論とについて、入力のいずれの部分を推論の根拠にしているかを顕著性マップで可視化する技術が公知である(例えば、非特許文献1など)。また、テーブルデータに対して、入力と対応する推論とについて、いずれのデータを推論の根拠にしているかをグラフで可視化する技術が公知である(例えば、非特許文献2など)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】"Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization", Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, Dhruv Batra, 2017 IEEE International Conference on Computer Vision (ICCV), 22-29 October 2017, <URL:https://arxiv.org/abs/1610.02391>
【非特許文献2】"A Unified Approach to Interpreting Model Predictions", Scott M. Lundberg, Su-In Lee, Part of Advances in Neural Information Processing Systems 30 (NIPS 2017), Jan 24th, 2018, < URL:https://arxiv.org/abs/1602.049 >
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数種類のデータを入力して推論を行うタスクにおいて、上述したようなXAIは開示されていない。
【0006】
本発明は、複数種類のデータが入力される学習済モデルの解釈性を高める方法を提供することを一つの目的とする。
【課題を解決するための手段】
【0007】
本発明の一例に従う情報処理装置は、1または複数の第1のデータと、1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを第1の学習済モデルに入力して推論結果を算出する算出部と、1または複数の第1のデータおよび1または複数の第2のデータのうち少なくとも1つのデータについて、第1の学習済モデルが推論結果を算出するために着目した部分を示す顕著性マップを生成する生成部とを含む。
【0008】
この構成によれば、データ形式が異なる複数種類のデータを学習済モデルに入力することで、多面的な推論結果を算出できる。また、当該学習済モデルが推論結果を算出するために着目した部分を示す顕著性マップが生成されるので、入力されるデータがどのように着目されているのかをユーザが把握することを支援できる。
【0009】
1または複数の第1のデータの各々は、画像データを含んでもよい。1または複数の第2のデータの各々は、スカラ値の時系列データを含んでもよい。この構成によれば、製造ラインなどから収集される複数種類のデータを用いた学習済モデルに基づく推論を容易に行うことができる。
【0010】
生成部は、第1の学習済モデルに比較して、学習が不足している第2の学習済モデルを用いて、顕著性マップを生成してもよい。この構成によれば、学習が不足している第2の学習済モデルを用いることで、第1の学習済モデルの解釈性をより高めることができる。
【0011】
情報処理装置は、顕著性マップを表示出力する表示出力部をさらに含んでもよい。この構成によれば、ユーザに対して顕著性マップを視覚的に提供できる。
【0012】
表示出力部は、推論結果が予め定められた値である場合に、1または複数の第1のデータおよび1または複数の第1のデータのうち少なくとも一部を可視化した画像とともに、顕著性マップを表示出力してもよい。この構成によれば、第1の学習済モデルに入力されたデータと顕著性マップとを対比して解釈性を高めることができる。
【0013】
第1の学習済モデルは、1または複数の第1のデータおよび1または複数の第2のデータの各々に対応付けられた複数のニューラルネットワークを含んでもよい。この構成によれば、入力されるデータ毎に顕著性マップを生成できる。
【0014】
本発明の別の一例に従う情報処理プログラムは、コンピュータに、1または複数の第1のデータと、1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを第1の学習済モデルに入力して推論結果を算出するステップと、1または複数の第1のデータおよび1または複数の第2のデータのうち少なくとも1つのデータについて、第1の学習済モデルが推論結果を算出するために着目した部分を示す顕著性マップを生成するステップとを実行させる。
【0015】
本発明のさらに別の一例に従う情報処理装置は、1または複数の第1のデータと、1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータとを含む学習データを複数用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータを順次格納する学習部と、複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するとともに、ユーザ操作に従って、複数の学習データのうち第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定する決定部とを含む。第2のモデルは、第2のモデルの出力に基づいて顕著性マップを生成するための生成部に関連付けられる。この構成によれば、データ形式が異なる複数種類のデータに基づいて推論を行う学習済モデルを生成できる。また、第2のモデルを用いて、生成された学習済モデルの解釈性を高めるための顕著性マップを容易に生成できる。
【0016】
決定部は、学習に用いられた学習データの数に対する、モデルの誤差および精度の少なくとも一方の変化を示す学習曲線を含むユーザインターフェイス画面を生成し、ユーザインターフェイス画面に対するユーザ操作に応じて、選択された状態のモデルを第2のモデルとして決定してもよい。この構成によれば、学習曲線を含むユーザインターフェイス画面を提供することで、ユーザが第2のモデルとして適切な学習状態を選択するのを支援できる。
【0017】
ユーザインターフェイス画面は、ユーザ操作によって指定された学習の状態における、モデルの精度の評価結果と、ユーザ操作によって指定された学習の状態における、モデルが出力する特徴量の分布と、ユーザ操作によって指定された学習の状態における、モデルの出力に基づいて生成された顕著性マップとのうち少なくとも1つを含んでもよい。この構成によれば、各種情報を含むユーザインターフェイス画面を提供することで、ユーザが第2のモデルとして適切な学習状態を選択するのを支援できる。
【発明の効果】
【0018】
本発明によれば、複数種類のデータが入力される学習済モデルの解釈性を高めることができる。
【図面の簡単な説明】
【0019】
【
図1】本実施の形態に従う分類モデルの構成例を示す模式図である。
【
図2】本実施の形態に従う分類モデルに入力されるデータの一例を示す模式図である。
【
図3】本実施の形態に従うセンサデータを生成するための処理例を説明するための図である。
【
図4】本実施の形態に従うXAI手法により生成される顕著性マップの一例を示す図である。
【
図5】本実施の形態に従うXAI手法により生成される顕著性マップの一例を示す図である。
【
図6】本実施の形態に従う情報処理装置のハードウェア構成例を示す模式図である。
【
図7】本実施の形態に従う情報処理装置のソフトウェア構成例を示す模式図である。
【
図8】本実施の形態に従う分類モデルおよびXAIモデルに用いるモデルの学習曲線の一例を示す図である。
【
図9】本実施の形態に従うXAI手法により画像XAIを生成する処理の一例を説明するための図である。
【
図10】本実施の形態に従うXAI手法によりセンサデータXAIを生成する処理の一例を説明するための図である。
【
図11】本実施の形態に従うXAI手法により低次特徴量を生成する処理の一例を説明するための図である。
【
図12】本実施の形態に従うモデル学習途中に算出される精度の一例を示す図である。
【
図13】本実施の形態に従うモデル学習途中に算出される画像XAIおよびセンサデータXAIと低次特徴量の分布との一例を示す図である。
【
図14】本実施の形態に従う情報処理装置が提供するユーザインターフェイス画面の一例を示す図である。
【
図15】本実施の形態に従う情報処理装置が学習過程でデータベースに順次格納するデータの一例を示す模式図である。
【
図16】本実施の形態に従う情報処理装置が学習過程により生成したモデルの構成例を示す図である。
【
図17】本実施の形態に従う情報処理装置の学習過程の処理手順を示すフローチャートである。
【
図18】本実施の形態に従う情報処理装置の運用過程の処理手順を示すフローチャートである。
【
図19】本実施の形態に従う製造ラインの運転画面例を示す模式図である。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0021】
本明細書において、「または」との用語は、「または」の意味加えて、「および」の意味を包含する。
【0022】
<A.適用例>
本発明が適用される場面の一例について説明する。
【0023】
本実施の形態においては、複数種類のデータが入力される学習済モデルを用いる。学習済モデルには、データ形式が異なる複数のデータが入力される。複数種類のデータは、どのようなデータの組合せであってもよいが、以下では、画像データおよびセンサデータを用いる例について説明する。
【0024】
本明細書において、「画像データ」は、任意のカメラにより撮像されるデータ、および、公知の方法によって生成される画像データを包含する。画像データは、行列状に配置された複数の値を含むデータであり、一種のベクトル値とも言える。
【0025】
本明細書において、「センサデータ」は、任意のセンサ(例えば、温度センサまたは圧力センサなど)により収集または検出されるデータに加えて、製造ラインなどに配置されるアクチュエータ(例えば、モータまたはシリンダなど)から収集されるデータ、および、製造ラインを制御するための制御装置が有しているデータを包含する。センサデータは、例えば、何らかの値を示すスカラ値である。また、センサデータは、画像データとは区別される。
【0026】
本実施の形態において、モデルまたは学習済モデルには、1または複数の画像データ(第1のデータ)と、1または複数の画像データとはデータ形式が異なる、1または複数のセンサデータ(第2のデータ)とが入力される。
【0027】
図1は、本実施の形態に従う分類モデル2の構成例を示す模式図である。一例として、製造ラインから収集される1または複数の画像データ20、ならびに、1または複数のセンサデータ22に基づいて、「OK」(正常)と、「NG Lv.1」(異常1)と、「NG Lv.2」(異常2)との3クラス分類を行う分類タスクについて説明する。
【0028】
図1には、1つの画像データ20および2つのセンサデータ22-1,22-2が入力される分類モデル2を例示する。
【0029】
分類モデル2は、どのような種類のモデルであってもよい。画像データ20に対する分類タスクを想定すると、分類モデル2としては、例えば、VGG、ResNet、MobileNet、または、EfficientNetなどを用いることができる。なお、分類タスクに限らず、どのようなタスクであってもよい。また、タスクに応じたモデルを選択すればよい。
【0030】
より具体的には、分類モデル2は、画像データ20が入力されるニューラルネットワーク10と、センサデータ22-1,22-2が入力されるニューラルネットワーク12-1,12-2と、全結合層(FC:Fully-Connected layer)14とを含む。
【0031】
例えば、ニューラルネットワーク10は、2次元CNN(Convolutional Neural Network)であってもよい。ニューラルネットワーク12-1,12-2は、1次元CNNであってもよい。
【0032】
このように、分類モデル2は、1または複数の画像データ20および1または複数のセンサデータ22の各々に対応付けられた複数のニューラルネットワークを含んでいてもよい。
【0033】
分類モデル2から出力される推論結果30は、例えば、分類結果を示す。推論結果30は、クラス毎の可能性を示す値(確率)であってもよい。なお、異常1および異常2は、異常モードの違いを意味する。推論結果30は、製造ラインなどに配置された制御装置などに出力されてもよい。
【0034】
次に、XAI手法により分類モデル2の顕著性マップを生成する処理について説明する。
【0035】
XAI手法により生成される顕著性マップは、学習済モデルが推論結果を出力するために着目した部分を可視化したものである。顕著性マップは、例えば、画像データ20の2次元配列に対応させたヒートマップ、または、センサデータ22の時間波形に対応させたヒートマップなどを含む。以下では、画像データ20が入力されるニューラルネットワーク10から生成される顕著性マップを「画像XAI」とも称す。また、センサデータ22が入力されるニューラルネットワーク12から生成される顕著性マップを「センサデータXAI」とも称す。
【0036】
図2は、本実施の形態に従う分類モデル2に入力されるデータの一例を示す模式図である。
図2には、クラス毎に、画像データ20と、センサデータ22-1,22-2とを並べて示す。センサデータ22-1,22-2は、対応するセンサにより収集または検出される時系列データを1サイクルタイム毎に分割したものであってもよい。
【0037】
図3は、本実施の形態に従うセンサデータ22を生成するための処理例を説明するための図である。
図3を参照して、センサデータ22の時系列データに対して、制御装置などからの情報に基づいて、製造周期単位(サイクルタイム)毎にフレーム23を設定してもよい。時系列データの各フレーム23に対応する部分が1つのセンサデータ22として出力されてもよい。すなわち、センサデータ22の各々は、スカラ値の時系列データであってもよい。
【0038】
なお、必要に応じて、画像データ20とセンサデータ22との間で時刻合わせが行われてもよい。
【0039】
図4および
図5は、本実施の形態に従うXAI手法により生成される顕著性マップの一例を示す図である。
図4および
図5には、一例として、ピロー包装機で包装されたワークを撮像した画像データ20、ピロー包装機のトップシールの刃の温度を示すセンサデータ22-1、および、トップシール軸のモータトルクを示すセンサデータ22-2に基づいて、トップシールの状態を評価するタスクの結果例を示す。
【0040】
図4には、適正に学習された分類モデル2からXAI手法により生成される顕著性マップの一例を示す。
図5には、学習が不足している分類モデル2からXAI手法により生成される顕著性マップの一例を示す。
【0041】
より具体的には、
図4および
図5には、クラス毎に、画像データ20と、画像XAI40と、センサデータXAI42-1,42-2とを並べて示す。センサデータXAI42-1,42-2は、センサデータ22の時系列データのうちいずれのタイミング(期間)のデータに着目されているのかを可視化する。
【0042】
図4を参照して、適正に学習された分類モデル2からXAI手法により生成される顕著性マップにおいては、いずれのクラスについても、画像XAI40およびセンサデータXAI42-1,42-2に同様の反応が出ており、分類モデル2についての解釈性が低い。
【0043】
これに対して、
図5を参照して、分類モデル2からXAI手法により生成される顕著性マップにおいては、クラス毎に特徴的な部分が着目されていることが分かる。すなわち、学習が不足している分類モデル2からXAI手法により生成される顕著性マップは、分類モデル2についての解釈性が高い。
【0044】
本実施の形態において、このような学習が不足している学習済モデルからXAI手法により生成される顕著性マップを用いることで、学習済モデルについての解釈性を高められるという新たな知見に基づくものである。
【0045】
本実施の形態において、本来のタスクを実行するための学習済モデルである分類モデル2と、顕著性マップを生成するために用いられる学習済モデルであるXAIモデル4とが用意される。分類モデル2は、所定数の学習データを用いて学習されたモデルである。これに対して、XAIモデル4は、当該所定数より少ない数の学習データを用いて学習されたモデルである。すなわち、XAIモデル4は、分類モデル2に比較して、学習が不足している学習済モデルである。XAIモデル4を用いて顕著性マップが生成される。
【0046】
<B.ハードウェア構成例>
次に、本実施の形態に従う情報処理装置100のハードウェア構成例を説明する。
【0047】
図6は、本実施の形態に従う情報処理装置100のハードウェア構成例を示す模式図である。
図6を参照して、情報処理装置100は、コンピュータの一例であり、1または複数のプロセッサ102と、メモリ104と、ストレージ106と、表示出力部114と、入力部116と、通信回路118とを含む。
【0048】
1または複数のプロセッサ102は、ストレージ106に格納されているプログラムに含まれるコンピュータ読取可能命令を実行することで、後述するような処理および機能を提供する。1または複数のプロセッサ102がプログラムに含まれるコンピュータ読取可能命令を実行する場合には、プログラムの一部または全部がメモリ104に展開されてもよい。
【0049】
ストレージ106は、非一過性のコンピュータ読取可能媒体である。ストレージ106には、例えば、OS(Operating System)108と、モデル生成プログラム110とが格納される。OS108は、コンピュータとして必要な機能を提供するためのコンピュータ読取可能命令と、モデル生成プログラム110を実行する環境を生成するためのコンピュータ読取可能命令とを含む。
【0050】
モデル生成プログラム110は、本発明に係る情報処理プログラムに対応し、後述するような学習済モデル(分類モデル2およびXAIモデル4)を生成するためのコンピュータ読取可能命令を含む。
【0051】
モデル運用プログラム112は、本発明に係る情報処理プログラムに対応し、後述するような学習済モデルを運用するためのコンピュータ読取可能命令を含む。
【0052】
表示出力部114は、プロセッサ102による処理結果などを表示出力する。例えば、表示出力部114は、顕著性マップ(画像XAI40およびセンサデータXAI42)を表示出力する。また、表示出力部114は、製造ラインの運転画面(
図19参照)を表示出力してもよい。
【0053】
ここで、「表示出力」は、情報処理装置100が有しているディスプレイまたは情報処理装置100の外部に存在するディスプレイに対して、表示画面を表示するためのデータまたは信号を出力することを意味する。
【0054】
入力部116は、ユーザ操作を受け付ける。入力部116は、例えば、キーボードまたはマウスなどを含んでいてもよいし、キーボードまたはマウスと接続するためのインターフェイスを含んでいてもよい。また、入力部116は、ディスプレイと一体型のタッチパネルのようなタッチ操作が可能なデバイスを含んでいてもよい。
【0055】
通信回路118は、制御装置300(
図7参照)との間でデータをやり取りする。
本明細書において、「プロセッサ」との用語は、CPU(Central Processing Unit)などのコンピュータ読取可能命令を実行することで処理を行う演算回路に加えて、ハードワイヤード回路も包含する。ハードワイヤード回路の一例としては、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)などが挙げられる。
【0056】
<C.ソフトウェア構成例>
次に、本実施の形態に従う情報処理装置100のソフトウェア構成例について説明する。
【0057】
図7は、本実施の形態に従う情報処理装置100のソフトウェア構成例を示す模式図である。
図7を参照して、製造ライン400などには、1または複数のカメラ410、ならびに、1または複数のセンサ420-1,420-2,…が配置される。
【0058】
制御装置300は、PLC(Programmable Logic Controller)などのコンピュータである。制御装置300は、制御プログラム310に従って制御演算を実行し、実行結果に基づいて製造ライン400に対して制御指令350を出力する。制御装置300は、情報処理装置100からの推論結果30を制御演算に反映する。
【0059】
制御装置300は、データベース320を有しており、データ収集部322が製造ライン400から収集した画像データ20およびセンサデータ22を収集し、データベース320に格納する。
【0060】
情報処理装置100は、制御装置300を介して、1または複数の画像データ20、ならびに、1または複数のセンサデータ22を収集する。より具体的には、制御装置300は、予め定められた周期で、または、所定のトリガを受けて、データベース320に格納されている画像データ20およびセンサデータ22を情報処理装置100へ送信する。
【0061】
情報処理装置100は、データベース150と、運用部160と、学習部166と、モデル決定部168と、XAI可視化部170とを含む。
【0062】
データベース150は、記憶部に相当し、ストレージ106(
図6)を用いて実現されてもよいし、情報処理装置100に外付けされた記憶装置、または、ネットワークを介して接続された記憶装置を用いて実現されてもよい。学習部166と、モデル決定部168と、XAI可視化部170とは、情報処理装置100の1または複数のプロセッサ102がモデル生成プログラム110を実行することで実現されてもよい。運用部160は、情報処理装置100の1または複数のプロセッサ102がモデル運用プログラム112を実行することで実現されてもよい。
【0063】
データベース150は、画像データ20およびセンサデータ22に加えて、学習過程においてXAI手法により生成される、画像XAI40と、センサデータXAI42と、モデルパラメータ165と、低次特徴量180とを格納する。
【0064】
運用部160は、画像データ20に対して分類を行う分類モデル2と、画像データ20についての画像XAI40およびセンサデータXAI42を出力するXAIモデル4とを運用する。より具体的には、運用部160は、算出部に相当し、1または複数の画像データ20(第1のデータ)と1または複数のセンサデータ22(第2のデータ)とを分類モデル2に入力して推論結果30を算出する。
【0065】
また、運用部160は、1または複数の画像データ20(第1のデータ)と1または複数のセンサデータ22(第2のデータ)をXAIモデル4にも入力する。XAIモデル4から出力される推論結果は、後述するように、XAI可視化部170での処理に用いられる。
【0066】
このように、運用過程において、画像データ20が分類モデル2に入力され、推論結果30が出力される。推論結果30は、例えば、分類結果を示す。推論結果30は、製造ライン400などに配置された制御装置などに出力される。
【0067】
学習部166は、分類モデル2およびXAIモデル4に用いるモデルを学習する。学習部166は、1または複数の画像データ20と、1または複数のセンサデータ22とを含む学習データ(正解ラベルが付与されている)を複数用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータ(例えば、モデルパラメータ165)をデータベース150(記憶部)に順次格納する。
【0068】
学習部166は、モデルパラメータ165に加えて、画像データ20と、センサデータ22と、画像XAI40と、センサデータXAI42と、モデルパラメータ165と、低次特徴量180とをデータベース150に順次格納してもよい。
【0069】
モデル決定部168は、決定部に相当し、後述の
図14に示すようなユーザインターフェイス画面を生成するとともに、ユーザ操作を受け付ける。モデル決定部168は、複数の学習データのうち所定数(第1の数)の学習データを用いて学習された状態のモデルを分類モデル2として決定するとともに、ユーザ操作に従って、複数の学習データのうち当該所定数より少ない数(第2の数)の学習データを用いて学習された状態のモデルをXAIモデル4として出力する。
【0070】
XAI可視化部170は、生成部に相当し、1または複数の画像データ20(第1のデータ)および1または複数のセンサデータ22(第2のデータ)のうち少なくとも1つのデータについて、分類モデル2が推論結果30を算出するために着目した部分を示す顕著性マップを生成する。
【0071】
説明の便宜上、以下では、分類モデル2に入力されるデータの各々について、顕著性マップを生成する処理を説明するが、顕著性マップ(画像XAIまたはセンサデータXAI)は、分類モデル2に入力されるすべてのデータについて生成される必要はなく、少なくとも一部のデータについて生成されてもよい。
【0072】
XAI可視化部170は、1または複数の画像データ20、および、1または複数のセンサデータ22(分類モデル2への入力と同じ)をXAIモデル4に入力したときの出力に基づいて、1または複数の画像XAI40、および、1または複数のセンサデータXAI42(顕著性マップ)を生成する。より具体的には、XAI可視化部170は、XAIモデル4の推論結果および特徴量マップなどに基づいて、画像XAI40およびセンサデータXAI42を生成する。
【0073】
XAI可視化部170は、運用過程においても、1または複数の画像データ20、および、1または複数のセンサデータ22をXAIモデル4に入力して取得される推論結果に基づいて、1または複数の画像XAI40、および、1または複数のセンサデータXAI42(顕著性マップ)を生成する。
【0074】
なお、
図7には、情報処理装置100とは別に制御装置300が配置されている構成例を示すが、情報処理装置100と制御装置300とを一体化してもよい。
【0075】
あるいは、情報処理装置100が学習済モデル(分類モデル2およびXAIモデル4)を生成し、制御装置300が学習済モデル(分類モデル2およびXAIモデル4)を運用するようにしてもよい。そのため、本明細書において、「情報処理装置」は、情報処理装置100、制御装置300、および、情報処理装置100と制御装置300との組合せのいずれであってもよい。
【0076】
また、情報処理装置100の機能は、複数の装置により実現されてもよいし、一部の機能をクラウドなどのコンピューティングリソースを用いて実現してもよい。
【0077】
<D.分類モデルおよびXAIモデル>
次に、分類モデル2およびXAIモデル4の学習および生成について説明する。
【0078】
本実施の形態において、XAIモデル4は、分類モデル2と同一の構造を有している。ただし、分類モデル2とXAIモデル4との間では、学習状態が異なっている。
【0079】
図8は、本実施の形態に従う分類モデル2およびXAIモデル4に用いるモデルの学習曲線の一例を示す図である。
図8には、サンプル数(エポック単位)に対するモデルの誤差の変化を示す。
図8には、モデルを学習するために用いた学習データに対する誤差と、学習データとは別の検証データに対する誤差とを示す。なお、取得された画像データ20およびセンサデータ22の集合を、交差検証法(例えば、K-交差検証など)で分割することで、学習データおよび検証データを用意することができる。
【0080】
図8に示すように、学習のサンプル数が増加することによって、モデルの学習データに対する誤差が低下していることが分かる。一方で、学習のサンプル数が増加することによって、モデルの検証データに対する誤差が途中から増加していることが分かる。すなわち、学習のサンプル数が増加しすぎることで、モデルが過学習になり得ることが示されている。
【0081】
そのため、不足学習および過学習のいずれでもない適正な学習状態のモデルが分類モデル2として用いられる。適正な学習状態のモデルを用いることで、汎用性が高く、高い精度が期待できる。
【0082】
これに対して、XAIモデル4は、不足学習のモデルが用いられる。上述したように、不足学習の状態のモデルを用いることで、分類モデルについての解釈性を高められる。
【0083】
本実施の形態に従う情報処理装置100は、モデルの学習過程において、XAIモデル4として適切な学習状態を把握できるように、後述するようなユーザインターフェイス画面を提供する。また、情報処理装置100は、学習過程において、モデル(モデルパラメータ165)をデータベース150に順次格納する。
【0084】
なお、
図8に示す学習曲線の縦軸は、誤差に代えて、あるいは、誤差に加えて、精度を用いてもよい。誤差が低いほど良いモデルであり、精度が高いほど良いモデルである。
【0085】
<E.XAI手法>
次に、画像XAI40およびセンサデータXAI42を生成するためのXAI手法について説明する。例えば、顕著性マップを用いて可視化するXAI手法としては、Grad-CAM、XGrad-CAM、または、ScoreCAM、Eigen-CAMなどの任意のアルゴリズムを用いることができる。
【0086】
図9は、本実施の形態に従うXAI手法により画像XAI40を生成する処理の一例を説明するための図である。
図10は、本実施の形態に従うXAI手法によりセンサデータXAI42を生成する処理の一例を説明するための図である。
図11は、本実施の形態に従うXAI手法により低次特徴量180を生成する処理の一例を説明するための図である。
【0087】
図9~
図11には、XAI手法として、Grad-CAMアルゴリズムを用いる例を示す。
【0088】
図9を参照して、画像XAI40は、ニューラルネットワーク10から出力される特徴量マップ50から生成される。より具体的には、情報処理装置100は、1または複数の画像データ20をニューラルネットワーク10に入力して特徴量マップ50を算出し、特徴量マップ50を全結合層14に入力して推論結果30を出力する(ステップS1)。続いて、情報処理装置100は、推論結果30からニューラルネットワーク10の最終層が出力する特徴量マップ50までの勾配52を算出する(ステップS2)。
【0089】
情報処理装置100は、特徴量マップ50までの勾配52に対して、GAP(Global Average Pooling)処理を実行する(ステップS3)。GAP処理により、特徴量マップ50までの勾配52の次元数を減少させたプーリング結果54が生成される。
【0090】
続いて、情報処理装置100は、特徴量マップ50とプーリング結果54との重み付け和を算出し、重み付け和を活性化関数172(例えば、ReLU(Rectified Linear Unit)など)に入力することで、画像XAI40を生成する(ステップS4)。
【0091】
図10を参照して、センサデータXAI42は、ニューラルネットワーク12から出力される特徴量マップ60から生成される。より具体的には、情報処理装置100は、1または複数のセンサデータ22をニューラルネットワーク12に入力して特徴量マップ60を算出し、特徴量マップ60を活性化関数全結合層14に入力して推論結果30を出力する(ステップS11)。
【0092】
続いて、情報処理装置100は、推論結果30からニューラルネットワーク12の最終層が出力する特徴量マップ60までの勾配62を算出する(ステップS12)。
【0093】
情報処理装置100は、特徴量マップ60までの勾配62に対して、GAP(Global Average Pooling)処理を実行する(ステップS13)。GAP処理により、特徴量マップ60までの勾配62の次元数を減少させたプーリング結果64が生成される。
【0094】
続いて、情報処理装置100は、特徴量マップ60とプーリング結果64との重み付け和を算出し、重み付け和を活性化関数174に入力することで、センサデータXAI42を生成する(ステップS14)。
【0095】
情報処理装置100は、画像XAI40およびセンサデータXAI42の生成に加えて、あるいは、画像XAI40およびセンサデータXAI42の生成に代えて、特徴量マップ50および特徴量マップ60を次元圧縮した特徴量を算出してもよい。
【0096】
図11を参照して、情報処理装置100は、分類モデル2の学習に併せて、順次出力される特徴量マップ50および特徴量マップ60に対して、GAP処理を実行する(ステップS21)。GAP処理により、特徴量マップ50および特徴量マップ60の次元数を減少させたプーリング結果70が生成される。
【0097】
続いて、情報処理装置100は、プーリング結果70をさらに次元圧縮して2次元の低次特徴量180を算出する(ステップS22)。次元圧縮の手法としては、PCA(Principal Component Analysis)またはUMAP(Uniform Manifold Approximation and Projection)などのアルゴリズムを用いることができる。
【0098】
<F.XAIモデル4の生成>
次に、XAIモデル4を生成する処理について説明する。
【0099】
上述したように、XAIモデル4には、不足学習の状態のモデルが用いられる。モデルが不足学習の状態であることをユーザが確認し、情報処理装置100が、ユーザ操作に従って、XAIモデル4として決定してもよい。また、情報処理装置100が、不足学習の状態のモデルをXAIモデル4の候補として提示してもよい。
【0100】
モデルが不足学習の状態であることを判断するために、モデルの精度または画像特徴量を用いてもよい。
【0101】
例えば、情報処理装置100は、分類モデル2の要求精度の指定を受け付け、当該指定された要求精度に対して、可能な限りエポック数(サンプル数)が少ないものをXAIモデル4の候補として提示してもよい。
【0102】
図12は、本実施の形態に従うモデル学習途中に算出される精度の一例を示す図である。
【0103】
例えば、マクロ平均(F1-Score)が0.95以上であるとの要求精度が指定された場合には、指定された要求精度を満たす学習状態のうち、エポック数(サンプル数)が最も少ない学習状態をXAIモデル4の候補として提示する。
【0104】
図12(A)には、エポック数が10である場合の分類モデル2の精度の一例を示し、
図12(B)には、エポック数が40である場合の分類モデル2の精度の一例を示す。いずれの精度についても、マクロ平均(macroavg)は、「0.95」以上となっており、エポック数が少ない
図12(A)に示す状態の分類モデル2がXAIモデル4の候補として提示される。
【0105】
また、情報処理装置100は、モデル学習途中の状態を可視化してもよい。モデル学習途中の状態としては、例えば、画像XAI40そのものであってもよいし、特徴量マップ50および特徴量マップ60から算出される低次特徴量180の分布182であってもよい。
【0106】
図13は、本実施の形態に従うモデル学習途中に算出される画像XAI40およびセンサデータXAI42と低次特徴量180の分布182との一例を示す図である。
【0107】
図13(A)には、エポック数が10である場合の分類モデル2から出力される画像XAI40およびセンサデータXAI42と低次特徴量180の分布182との一例を示し、
図12(B)には、エポック数が40である場合の分類モデル2から出力される画像XAI40およびセンサデータXAI42と低次特徴量180の分布182との一例を示す。
【0108】
ユーザは、画像XAI40、センサデータXAI42、または低次特徴量180の分布182を確認して、XAIモデル4として適切な学習状態を判断することもできる。情報処理装置100は、ユーザ操作に従って、選択された学習状態のモデルをXAIモデル4として決定してもよい。
【0109】
このように、ユーザは、画像XAI40、センサデータXAI42、または低次特徴量180の分布182を確認することで、定性的にXAIモデル4を決定してもよい。
【0110】
図14は、本実施の形態に従う情報処理装置100が提供するユーザインターフェイス画面200の一例を示す図である。
図14を参照して、ユーザインターフェイス画面200は、学習曲線210と、精度評価結果220と、画像特徴量の分布230とを含む。
【0111】
学習曲線210は、学習過程において生成されたモデルの誤差または精度の変化を示す。情報処理装置100は、学習に用いられた学習データの数に対する、モデルの誤差および精度の少なくとも一方の変化を示す学習曲線210を含むユーザインターフェイス画面200を生成する。
【0112】
情報処理装置100は、学習曲線210に関連付けて、分類モデル2として決定された学習状態の位置に分類モデル位置214を表示するとともに、XAIモデル4に適していると算出された学習状態の位置に推奨位置216を表示する。
【0113】
情報処理装置100は、ユーザによるスライダ212の操作に応じて、位置表示213を変化させる。情報処理装置100は、ユーザによる選択ボタン218の選択に応じて、位置表示213が表示されている学習状態に対応するモデルをXAIモデル4として決定する。このように、情報処理装置100は、ユーザインターフェイス画面200に対するユーザ操作に応じて、選択された状態のモデルをXAIモデル4として決定する。
【0114】
情報処理装置100は、ユーザによるスライダ212の操作に応じて、精度評価結果220の表示内容を更新する。精度評価結果220に併せて、予め指定された要求精度222が表示されてもよい。このように、ユーザインターフェイス画面200は、情報処理装置100は、ユーザ操作によって指定された学習の状態における、モデルの精度の評価結果(精度評価結果220)を含んでいてもよい。
【0115】
情報処理装置100は、ユーザによるスライダ212の操作に応じて、低次特徴量180の分布230を更新する。このように、ユーザインターフェイス画面200は、ユーザ操作によって指定された学習の状態における、モデルが出力する低次特徴量180の分布230(特徴量の分布)を含んでいてもよい。
【0116】
情報処理装置100は、低次特徴量180の分布230の各サンプル(画像特徴量)のいずれかがポインタ234により選択されると、選択されたサンプルに対応する画像データ20、画像XAI40、およびセンサデータXAI42を表示してもよい。画像データ20、画像XAI40、およびセンサデータXAI42が表示されることで、ユーザは、学習の状態を視覚的に確認できる。このように、ユーザインターフェイス画面200は、モデルの出力に基づいて生成された顕著性マップ(画像XAI40およびセンサデータXAI42)を含んでいてもよい。
【0117】
なお、情報処理装置100は、ユーザによるプルダウンメニュー232に対する選択に応じて、低次特徴量180の分布230に用いる画像特徴量の算出アルゴリズムを適宜異ならせてもよい。
【0118】
このように、情報処理装置100は、ユーザがXAIモデル4を決定できるように、ユーザインターフェイス画面200を提供する。なお、ユーザインターフェイス画面200に表示される情報の一部を省略してもよい。
【0119】
図15は、本実施の形態に従う情報処理装置100が学習過程でデータベース150に順次格納するデータの一例を示す模式図である。
図15を参照して、情報処理装置100は、エポック数に対応付けて、モデルパラメータ165と、画像XAI40と、センサデータXAI42と、低次特徴量180とをデータベース150に順次格納する。
【0120】
情報処理装置100は、いずれかのエポック数が指定されると、指定されたエポック数に対応するモデルパラメータ165をモデルに反映することで、分類モデル2およびXAIモデル4を生成する。
【0121】
図16は、本実施の形態に従う情報処理装置100が学習過程により生成したモデルの構成例を示す図である。
【0122】
図16を参照して、情報処理装置100は、適切に学習されたモデルである分類モデル2と、不足学習のモデルであるXAIモデル4とを生成する。XAIモデル4は、XAI手法により画像XAI40およびセンサデータXAI42を生成するためのXAI可視化部170に関連付けられる。
【0123】
<G.処理手順例>
次に、本実施の形態に従う情報処理装置100が実行する処理手順の一例について説明する。
【0124】
(g1:モデル学習)
モデル(分類モデル2およびXAIモデル4)の学習において、情報処理装置100は、学習データ(正解ラベルが付与された1または複数の画像データ20ならびに1または複数のセンサデータ22)を
図1に示すような分類モデル2に入力して推論結果30を出力する。上述したような3クラス分類を行う場合には、出力クラス数は「3」になる。続いて、情報処理装置100は、誤差逆伝播法により、推論結果30と入力された学習データの正解ラベルとの誤差に基づいて、分類モデル2に含まれるニューラルネットワークのモデルパラメータ165を更新する。
【0125】
なお、画像データ20が入力されるニューラルネットワーク、および、センサデータ22が入力されるニューラルネットワークのモデルパラメータ165をまとめて更新してもよいし、ニューラルネットワークのモデルパラメータ165の各々を個別に更新してもよい。
【0126】
分類モデル2の学習については、どのような学習アルゴリズムを用いてもよい。
(g2:学習過程)
図17は、本実施の形態に従う情報処理装置100の学習過程の処理手順を示すフローチャートである。
図17に示す各ステップは、情報処理装置100の1または複数のプロセッサ102がモデル生成プログラム110を実行することで実現されてもよい。
【0127】
図17を参照して、情報処理装置100は、複数のエポックに分割された学習データ(正解ラベルが付与された画像データ20およびセンサデータ22)のうち1つのエポックを選択する(ステップS100)。そして、情報処理装置100は、選択中のエポックに含まれる1つの学習データを選択する(ステップS102)。
【0128】
情報処理装置100は、選択された学習データ(画像データ20およびセンサデータ22)を分類モデル2およびXAIモデル4を生成するためのモデルに入力する(ステップS104)。情報処理装置100は、モデルの推論結果と入力された学習用データに付与された正解ラベルとの誤差に基づいて、モデルパラメータ165を更新する(ステップS106)。
【0129】
また、情報処理装置100は、選択された学習データ(画像データ20およびセンサデータ22)がモデルに入力されて算出された特徴量マップ50を取得し、推論結果30から特徴量マップ50までの勾配52を算出する(ステップS108)。そして、情報処理装置100は、特徴量マップ50、および、推論結果30から特徴量マップ50までの勾配52に基づいて、画像XAI40およびセンサデータXAI42を生成する(ステップS110)。
【0130】
また、情報処理装置100は、学習データがモデルに入力されて算出された特徴量マップ50から低次特徴量180を算出する(ステップS112)。
【0131】
なお、ステップS104およびS106の処理と、ステップS108~S112の処理との実行順序は問わない。また、ステップS104およびS106の処理と、ステップS108~S112の処理とを並列的に実行してもよい。また、画像XAI40およびセンサデータXAI42の生成(ステップS110)については、各エポックの最後の学習データについてのみ実行されてもよい。
【0132】
情報処理装置100は、選択中のエポックに含まれるすべての学習データが選択されたか否かを判断する(ステップS114)。選択されていない学習データが存在すれば(ステップS114においてNO)、ステップS102以下の処理が繰り返される。
【0133】
すべての学習データが選択されていれば(ステップS114においてYES)、情報処理装置100は、エポック数に対応付けて、モデルパラメータ165と、画像XAI40と、センサデータXAI42と、低次特徴量180とをデータベース150に格納する(ステップS116)。
【0134】
情報処理装置100は、用意されたすべてのエポックが選択されたか否かを判断する(ステップS118)。選択されていないエポックが存在すれば(ステップS118においてNO)、ステップS100以下の処理が繰り返される。
【0135】
このように、情報処理装置100は、複数のエポック(学習データ)を用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータをデータベース150に順次格納する(ステップS100~S118)。
【0136】
用意されたすべてのエポックが選択されていれば(ステップS118においてYES)、情報処理装置100は、格納されているモデルパラメータ165と、画像XAI40と、センサデータXAI42と、低次特徴量180とに基づいて、XAIモデル4の決定に必要な情報を生成し(ステップS120)、生成した情報を含むユーザインターフェイス画面を表示出力する(ステップS122)。
【0137】
情報処理装置100は、ユーザ操作に従って、所定の学習状態のモデルを分類モデル2として決定するとともに、指定された学習状態のモデルをXAIモデル4として決定する(ステップS124)。そして、処理は終了する。
【0138】
このように、情報処理装置100は、複数のエポック(学習データ)のうち所定数のエポックを用いて学習された状態のモデルを分類モデル2として決定する。また、情報処理装置100は、複数のエポック(学習データ)のうち所定数より少ない数のエポックを用いて学習された状態のモデルをXAIモデル4として決定する。
【0139】
なお、ステップS124において、XAIモデル4に関連付けられるXAI可視化部170が併せて生成されてもよい。
【0140】
(g3:運用過程)
図18は、本実施の形態に従う情報処理装置100の運用過程の処理手順を示すフローチャートである。
図18に示す各ステップは、情報処理装置100の1または複数のプロセッサ102がモデル運用プログラム112を実行することで実現されてもよい。
【0141】
図18を参照して、情報処理装置100は、新たな画像データ20およびセンサデータ22が入力されると(ステップS200においてYES)、画像データ20およびセンサデータ22を分類モデル2に入力し(ステップS202)、推論結果30を出力する(ステップS204)。
【0142】
すなわち、情報処理装置100は、1または複数の画像データ20(第1のデータ)と、1または複数の画像データとはデータ形式が異なる、1または複数のセンサデータ22(第2のデータ)とを分類モデル2(第1の学習済モデル)に入力して推論結果30を算出する。
【0143】
また、情報処理装置100は、画像データ20およびセンサデータ22をXAIモデル4に入力し(ステップS206)、特徴量マップ50、および、推論結果30から特徴量マップ50までの勾配52を算出する(ステップS208)。そして、情報処理装置100は、特徴量マップ50、および、推論結果30から特徴量マップ50までの勾配52に基づいて、画像XAI40およびセンサデータXAI42を生成する(ステップS210)。
【0144】
すなわち、情報処理装置100は、1または複数の画像データ20(第1のデータ)と、1または複数のセンサデータ22(第2のデータ)のうち少なくとも1つのデータについて、分類モデル2が推論結果30を算出するために着目した部分を示す顕著性マップ(画像XAI40およびセンサデータXAI42)を生成する。
【0145】
なお、ステップS202およびS204の処理と、ステップS206~S210の処理との実行順序は問わない。また、ステップS202およびS204の処理と、ステップS206~S210の処理とを並列的に実行してもよい。
【0146】
ステップS200~S210の処理は、画像データ20およびセンサデータ22が入力されるたびに繰り返される。
【0147】
運用過程において、情報処理装置100は、画像データ20に対する推論結果30に加えて、画像データ20と画像XAI40およびセンサデータXAI42とを並べて表示出力してもよい。
【0148】
<H.推論結果30の利用例>
次に、分類モデル2が出力する推論結果の利用例について説明する。
【0149】
図19は、本実施の形態に従う製造ライン400の運転画面250の一例を示す模式図である。情報処理装置100または制御装置300は、
図19に示す運転画面250を表示出力する。
【0150】
運転画面250は、対象の製造ライン400を示すオブジェクト260に加えて、推論結果30を示すオブジェクト262を表示する。分類モデル2に入力されるセンサデータ22と対応する製造ライン400の部分が予め対応付けられている。
【0151】
例えば、推論結果30が「異常」を示す場合には、製造ライン400の対応する部分の近傍に、画像XAI40またはセンサデータXAI42-1,42-2を表示してもよい。
【0152】
図19に示す例では、製造ライン400の出口側の近傍に、ワークを撮像して得られた画像データ20から生成された画像XAI40が表示されている。また、画像データ20自体も表示されている。
【0153】
また、トップシール上刃の温度センサの近傍に、温度を示すセンサデータ22-1から生成されたセンサデータXAI42-1が表示されている。また、トップシール軸の近傍に、モータトルクを示すセンサデータ22-2から生成されたセンサデータXAI42-2が表示されている。
【0154】
このように、情報処理装置100(表示出力部114)または制御装置300は、分類モデル2の推論結果30が予め定められた値(例えば、「異常」)である場合に、1または複数の画像データ20および1または複数のセンサデータ22のうち少なくとも一部を可視化した画像とともに、顕著性マップ(画像XAI40またはセンサデータXAI42)を表示出力してもよい。
【0155】
図19に示すような運転画面250を提供することで、何らかの異常が発生していると判断された場合に、当該異常の発生した原因などについて、より容易に解釈できる。
【0156】
<I.変形例>
図1には、複数のニューラルネットワークの出力層を全結合層(FC)で結合する分類モデルを例示するが、このようなモデル構造に限らず、任意のモデル構造を採用できる。例えば、1または複数の画像データ20、ならびに、1または複数のセンサデータ22をそれぞれ個別のニューラルネットワークに入力するとともに、複数のニューラルネットワークをアンサンブル学習で融合してもよい。
【0157】
<J.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0158】
[構成1]
1または複数の第1のデータ(20)と、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータ(22)とを第1の学習済モデル(2)に入力して推論結果(30)を算出する算出部(160)と、
前記1または複数の第1のデータおよび前記1または複数の第2のデータのうち少なくとも1つのデータについて、前記第1の学習済モデルが前記推論結果を算出するために着目した部分を示す顕著性マップ(40,42)を生成する生成部(170)とを備える、情報処理装置。
【0159】
[構成2]
前記1または複数の第1のデータの各々は、画像データを含み、
前記1または複数の第2のデータの各々は、スカラ値の時系列データを含む、構成1に記載の情報処理装置。
【0160】
[構成3]
前記生成部は、前記第1の学習済モデルに比較して、学習が不足している第2の学習済モデルを用いて、前記顕著性マップを生成する、構成1または2に記載の情報処理装置。
【0161】
[構成4]
前記顕著性マップを表示出力する表示出力部(114)をさらに備える、構成1~3のいずれか1項に記載の情報処理装置。
【0162】
[構成5]
前記表示出力部は、前記推論結果が予め定められた値である場合に、前記1または複数の第1のデータおよび前記1または複数の第1のデータのうち少なくとも一部を可視化した画像(20,22)とともに、前記顕著性マップを表示出力する、構成4に記載の情報処理装置。
【0163】
[構成6]
前記第1の学習済モデルは、前記1または複数の第1のデータおよび前記1または複数の第2のデータの各々に対応付けられた複数のニューラルネットワーク(10,12)を含む、構成1~5のいずれか1項に記載の情報処理装置。
【0164】
[構成7]
情報処理プログラム(110)であって、コンピュータ(100)に、
1または複数の第1のデータ(20)と、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータ(22)とを第1の学習済モデル(2)に入力して推論結果(30)を算出するステップ(S200~S204)と、
前記1または複数の第1のデータおよび前記1または複数の第2のデータのうち少なくとも1つのデータについて、前記第1の学習済モデルが前記推論結果を算出するために着目した部分を示す顕著性マップ(40,42)を生成するステップ(S206~S210)とを実行させる、情報処理プログラム。
【0165】
[構成8]
1または複数の第1のデータ(20)と、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータ(22)とを含む学習データ(2)を複数用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータを順次格納する学習部(166)と、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデル(2)として決定するとともに、ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデル(4)として決定する決定部(168)とを備え、
前記第2のモデルは、前記第2のモデルの出力に基づいて顕著性マップを生成するための生成部(170)に関連付けられる、情報処理装置。
【0166】
[構成9]
前記決定部は、
学習に用いられた学習データの数に対する、前記モデルの誤差および精度の少なくとも一方の変化を示す学習曲線(210)を含むユーザインターフェイス画面(200)を生成し、
前記ユーザインターフェイス画面に対するユーザ操作に応じて、選択された状態のモデルを前記第2のモデルとして決定する、構成8に記載の情報処理装置。
【0167】
[構成10]
前記ユーザインターフェイス画面は、
ユーザ操作によって指定された学習の状態における、前記モデルの精度の評価結果(220)と、
ユーザ操作によって指定された学習の状態における、前記モデルが出力する特徴量の分布(230)と、
ユーザ操作によって指定された学習の状態における、前記モデルの出力に基づいて生成された顕著性マップ(40,42)とのうち少なくとも1つを含む、構成9に記載の情報処理装置。
【0168】
[構成11]
情報処理プログラムであって、コンピュータに、
1または複数の第1のデータ(20)と、前記1または複数の第1のデータとはデータ形式が異なる1または複数の第2のデータ(22)とを含む学習データ(2)を複数用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータを順次格納するステップ(ステップS100~S118)と、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデル(2)として決定するとともに、ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデル(4)として決定するステップ(S124)とを実行させ、
前記第2のモデルは、前記第2のモデルの出力に基づいて顕著性マップ(40,42)を生成するための生成部(170)に関連付けられる、情報処理プログラム。
【0169】
[構成12]
構成7または11に記載の情報処理プログラムを格納した非一過性のコンピュータ読取可能媒体(106)。
【0170】
<K.利点>
本実施の形態によれば、複数種類のデータ(例えば、画像データおよびセンサデータ)を同一の学習済モデルに入力して推論結果を算出するので、多面的に推論を行うことができる。例えば、同一の製造ラインから1または複数の画像データを収集するとともに、1または複数のセンサデータを収集して、収集したすべてのデータを分類モデルに入力することで、画像データ単体またはセンサデータ単体では検知できなかった異常なども検知できる。
【0171】
また、分類タスクを実行する分類モデルをXAI手法により可視化すると、推論結果にかかわらず可視化された顕著性マップの同じ箇所に反応が出てしまい、解釈性が低いという課題が生じ得る。これに対して、本実施の形態によれば、学習が適切な状態のモデルを分類モデルとして用いるとともに、学習が不足している状態のモデルをXAIモデルとして用いることで、分類モデルが着目している部分を可視化できる。
【0172】
このように、本実施の形態によれば、学習済モデルの解釈性を高めることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0173】
2 分類モデル、4 XAIモデル、10,12 ニューラルネットワーク、14 全結合層、20 画像データ、22 センサデータ、23 フレーム、30 推論結果、40 画像XAI、42 センサデータXAI、50,60 特徴量マップ、52,62 勾配、54,64,70 プーリング結果、100 情報処理装置、102 プロセッサ、104 メモリ、106 ストレージ、108 OS、110 モデル生成プログラム、112 モデル運用プログラム、114 表示出力部、116 入力部、118 通信回路、150,320 データベース、160 運用部、165 モデルパラメータ、166 学習部、168 モデル決定部、170 XAI可視化部、172,174 活性化関数、180 低次特徴量、182,230 分布、200 ユーザインターフェイス画面、210 学習曲線、212 スライダ、213 位置表示、214 分類モデル位置、216 推奨位置、218 選択ボタン、220 精度評価結果、222 要求精度、232 プルダウンメニュー、234 ポインタ、250 運転画面、260,262 オブジェクト、300 制御装置、310 制御プログラム、322 データ収集部、350 制御指令、400 製造ライン、410 カメラ、420 センサ。