(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126705
(43)【公開日】2024-09-20
(54)【発明の名称】情報処理装置および情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240912BHJP
G06F 3/0481 20220101ALI20240912BHJP
【FI】
G06N20/00 130
G06F3/0481
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023035278
(22)【出願日】2023-03-08
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】木村 克行
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA28
5E555BA01
5E555BA86
5E555BB01
5E555BC17
5E555CA02
5E555CA12
5E555CA18
5E555CB02
5E555CB12
5E555CB33
5E555CC05
5E555DB53
5E555DB56
5E555DB58
5E555DC13
5E555EA19
5E555EA27
5E555FA00
(57)【要約】
【課題】学習済モデルの解釈性を高める方法を提供する。
【解決手段】情報処理装置は、複数の学習データを用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータを順次格納する学習部と、複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するとともに、ユーザ操作に従って、複数の学習データのうち第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定する決定部と、第2のモデルの出力に基づいて顕著性マップを生成する生成部とを含む。
【選択図】
図12
【特許請求の範囲】
【請求項1】
複数の学習データを用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータを順次格納する学習部と、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するとともに、ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定する決定部と、
前記第2のモデルの出力に基づいて顕著性マップを生成する生成部とを備える、情報処理装置。
【請求項2】
前記決定部は、
学習に用いられた学習データの数に対する、前記モデルの誤差および精度の少なくとも一方の変化を示す学習曲線を含むユーザインターフェイス画面を生成し、
前記ユーザインターフェイス画面に対するユーザ操作に応じて、選択された状態のモデルを前記第2のモデルとして決定する、請求項1に記載の情報処理装置。
【請求項3】
前記決定部は、指定された学習の状態における、前記モデルの精度の評価結果を含むユーザインターフェイス画面を生成する、請求項1に記載の情報処理装置。
【請求項4】
前記決定部は、指定された学習の状態における、前記モデルが出力する特徴量の分布を含むユーザインターフェイス画面を生成する、請求項1に記載の情報処理装置。
【請求項5】
前記決定部は、指定された学習の状態における、前記モデルの出力に基づいて生成された顕著性マップを含むユーザインターフェイス画面を生成する、請求項1に記載の情報処理装置。
【請求項6】
情報処理プログラムであって、コンピュータに、
複数の学習データを用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータを順次格納するステップと、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するステップと、
ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定するステップとを実行させ、
前記第2のモデルは、前記第2のモデルの出力に基づいて顕著性マップを生成するための生成部に関連付けられる、情報処理プログラム。
【請求項7】
入力データを第1のモデルに入力して推論結果を算出する算出部と、
前記入力データを第2のモデルに入力して取得される出力に基づいて顕著性マップを生成する生成部とを備え、
前記第1のモデルは、第1の数の学習データを用いて学習されたモデルであり、
前記第2のモデルは、前記第1の数より少ない第2の数の学習データを用いて学習されたモデルである、情報処理装置。
【請求項8】
前記情報処理装置は、前記入力データと前記顕著性マップとを並べて表示出力する、請求項7に記載の情報処理装置。
【請求項9】
前記第1のモデルおよび前記第2のモデルには、前記入力データとして入力画像が入力されるとともに、前記入力画像に対する分類結果を前記推論結果として出力する、請求項7または8に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理プログラムに関する。
【背景技術】
【0002】
生産現場においても、学習済モデルを用いた異常検知などの機能が実用化されている。このような学習済モデルがどのように判断を行ったのかを可視化する技術が知られている。このような技術は、説明可能なAI(XAI:Explainable AI)と称されることもある。
【0003】
例えば、画像認識モデルにおいて、入力と対応する推論とについて、入力のいずれの部分を推論の根拠にしているかを顕著性マップで可視化する技術が公知である(例えば、非特許文献1など)。
【先行技術文献】
【非特許文献】
【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>
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、ワークを撮像した画像に基づいて分類を行うタスクの場合には、推論結果にかかわらず可視化された顕著性マップの同じ箇所に反応が出てしまい、解釈性が低いという課題が生じ得る。
【0006】
本発明は、学習済モデルの解釈性を高める方法を提供することを一つの目的とする。
【課題を解決するための手段】
【0007】
本発明の一例に従う情報処理装置は、複数の学習データを用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータを順次格納する学習部と、複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するとともに、ユーザ操作に従って、複数の学習データのうち第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定する決定部と、第2のモデルの出力に基づいて顕著性マップを生成する生成部とを含む。
【0008】
この構成によれば、第1のモデルを用いて本来の推論を行うことができるとともに、第2のモデルを用いて、第1のモデルが推論を行うときに着目した部分を視覚的に把握できる。
【0009】
決定部は、学習に用いられた学習データの数に対する、モデルの誤差および精度の少なくとも一方の変化を示す学習曲線を含むユーザインターフェイス画面を生成し、ユーザインターフェイス画面に対するユーザ操作に応じて、選択された状態のモデルを第2のモデルとして出力してもよい。この構成によれば、学習曲線を含むユーザインターフェイス画面を提供することで、ユーザが第2のモデルとして適切な学習状態を選択するのを支援できる。
【0010】
決定部は、指定された学習の状態における、モデルの精度の評価結果を含むユーザインターフェイス画面を生成してもよい。この構成によれば、モデルの精度の評価結果を含むユーザインターフェイス画面を提供することで、ユーザが第2のモデルとして適切な学習状態を選択するのを支援できる。
【0011】
決定部は、指定された学習の状態における、モデルが出力する特徴量の分布を含むユーザインターフェイス画面を生成してもよい。この構成によれば、特徴量の分布を含むユーザインターフェイス画面を提供することで、ユーザが第2のモデルとして適切な学習状態を選択するのを支援できる。
【0012】
決定部は、指定された学習の状態における、モデルの出力に基づいて生成された顕著性マップを含むユーザインターフェイス画面を生成してもよい。この構成によれば、顕著性マップを含むユーザインターフェイス画面を提供することで、ユーザが第2のモデルとして適切な学習状態を選択するのを支援できる。
【0013】
本発明の別の一例に従う情報処理プログラムは、コンピュータに、複数の学習データを用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータを順次格納するステップと、複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するステップと、ユーザ操作に従って、複数の学習データのうち第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定するステップとを実行させる。第2のモデルは、第2のモデルの出力に基づいて顕著性マップを生成するための生成部に関連付けられる。
【0014】
本発明のさらに別の一例に従う情報処理装置は、入力データを第1のモデルに入力して推論結果を算出する算出部と、入力データを第2のモデルに入力して取得される出力に基づいて顕著性マップを生成する生成部とを含む。第1のモデルは、第1の数の学習データを用いて学習されたモデルであり、第2のモデルは、第1の数より少ない第2の数の学習データを用いて学習されたモデルである。
【0015】
この構成によれば、第1のモデルを用いて本来の推論を行うことができるとともに、第2のモデルを用いて、第1のモデルが推論を行うときに着目した部分を視覚的に把握できる。
【0016】
情報処理装置は、入力データと顕著性マップとを並べて表示出力してもよい。この構成によれば、入力データと、推論結果が出力された理由を示唆する顕著性マップとに基づいて、推論結果が正しく無いような場合に、原因の究明を支援できる。
【0017】
第1のモデルおよび第2のモデルには、入力データとして入力画像が入力されるとともに、入力画像に対する分類結果を推論結果として出力してもよい。この構成によれば、第1のモデルを用いて入力画像に対する分類タスクを実現できる。
【発明の効果】
【0018】
本発明によれば、学習済モデルの解釈性を高めることができる。
【図面の簡単な説明】
【0019】
【
図1】関連技術に従うXAI手法により生成される顕著性マップの一例を示す図である。
【
図2】本実施の形態に従うXAI手法により生成される顕著性マップの一例を示す図である。
【
図3】本実施の形態に従う情報処理装置のハードウェア構成例を示す模式図である。
【
図4】本実施の形態に従う情報処理装置のソフトウェア構成例を示す模式図である。
【
図5】本実施の形態に従う分類モデルおよびXAIモデルに用いるモデルの学習曲線の一例を示す図である。
【
図6】本実施の形態に従うXAI手法の一例を説明するための図である。
【
図7】本実施の形態に従うモデル学習途中に算出される精度の一例を示す図である。
【
図8】本実施の形態に従うモデル学習途中に算出されるXAI画像および画像特徴量の分布の一例を示す図である。
【
図9】本実施の形態に従う情報処理装置が提供するユーザインターフェイス画面の一例を示す図である。
【
図10】本実施の形態に従う情報処理装置が学習過程でデータベースに順次格納するデータの一例を示す模式図である。
【
図11】本実施の形態に従う情報処理装置が学習過程により生成したモデルの構成例を示す図である。
【
図12】本実施の形態に従う情報処理装置の学習過程の処理手順を示すフローチャートである。
【
図13】本実施の形態に従う情報処理装置の運用過程の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0021】
本明細書において、「または」との用語は、「または」の意味加えて、「および」の意味を包含する。
【0022】
<A.適用例>
本発明が適用される場面の一例について説明する。以下では、ワークを撮像した画像に基づいて分類(例えば、異常の有無)を行うタスクについて説明するが、本発明は、さまざまなタスクに適用可能である。
【0023】
以下の説明においては、任意の学習済モデルからXAI手法により生成される顕著性マップを説明する。XAI手法により生成される顕著性マップは、学習済モデルが推論結果を出力するために着目した部分を可視化したものであり、ヒートマップとも称される。以下では、顕著性マップの画像を「XAI画像」とも称す。すなわち、XAI手法により生成される画像がXAI画像である。
【0024】
図1は、関連技術に従うXAI手法により生成される顕著性マップの一例を示す図である。
図1には、ピロー包装機で包装されたワークを撮像した入力画像20に基づいて、トップシール22の状態を評価するタスクの結果例を示す。
【0025】
図1に示すタスクは、入力画像20に対して、「OK」(正常)と、「NG Lv.1」(異常1)と、「NG Lv.2」(異常2)との3クラス分類を行うものである。3クラス分類を行う学習済モデル(以下、「分類モデル」とも称す。)は、クラス毎に可能性を示す値(確率)を出力する。なお、異常1および異常2は、異常モードの違いを意味する。
【0026】
本実施の形態に従うモデルには、入力データとして入力画像20が入力される。モデルは、入力画像20に対する分類結果を推論結果30として出力する。
【0027】
図1には、クラス毎の入力画像20と、関連技術に従うXAI手法により生成される顕著性マップ12とを並べて示す。
図1に示すように、関連技術に従うXAI手法により生成される顕著性マップ12では、いずれのクラスについてもトップシール22の全体に反応が出ており、トップシール22のいずれの部分から特徴量が算出されたかのを知ることが難しい。すなわち、関連技術に従うXAI手法により生成される顕著性マップ12では、分類モデルについての解釈性が低い。
【0028】
図2は、本実施の形態に従うXAI手法により生成される顕著性マップの一例を示す図である。
図2には、
図1と同様に、ピロー包装機で包装されたワークを撮像した入力画像20に基づいて、トップシール22の状態を評価するタスクの結果例を示す。
【0029】
図2には、クラス毎の入力画像20と、学習が不足しているXAIモデルが出力するXAI画像24と、十分に学習されているXAIモデルが出力するXAI画像26とを並べて示す。XAIモデルは、顕著性マップを出力するための学習済モデルである。学習が不足しているXAIモデルは、学習において入力されたサンプル数が相対的に少なく、十分に学習されているXAIモデルは、学習において入力されたサンプル数が相対的に多い。
【0030】
図2を参照して、十分に学習されているXAIモデルが出力するXAI画像26は、
図1に示す関連技術に従うXAIモデルが出力する顕著性マップ12と同様に、いずれのクラスについてもトップシール22の全体に反応が出ており、分類モデルについての解釈性が低い。
【0031】
これに対して、学習が不足しているXAIモデルが出力するXAI画像24は、クラス毎に特徴的な部分に着目されていることを示している。すなわち、学習が不足しているXAIモデルが出力するXAI画像24は、分類モデルについての解釈性が高い。
【0032】
本実施の形態において、このような学習が不足しているXAIモデルが出力するXAI画像を用いることで、分類モデルについての解釈性を高められるという新たな知見に基づくものである。
【0033】
本実施の形態において、分類モデル162(第1のモデル)は、所定数(第1の数)の学習データを用いて学習されたモデルである。これに対して、XAIモデル164(第2のモデル)は、当該所定数より少ない数(第2の数)の学習データを用いて学習されたモデルである。
【0034】
<B.ハードウェア構成例>
次に、情報処理装置100のハードウェア構成例を説明する。
【0035】
図3は、本実施の形態に従う情報処理装置100のハードウェア構成例を示す模式図である。
図3を参照して、情報処理装置100は、コンピュータの一例であり、1または複数のプロセッサ102と、メモリ104と、ストレージ106と、表示出力部114と、入力部116と、インターフェイス回路118とを含む。
【0036】
1または複数のプロセッサ102は、ストレージ106に格納されているプログラムに含まれるコンピュータ読取可能命令を実行することで、後述するような処理および機能を提供する。1または複数のプロセッサ102がプログラムに含まれるコンピュータ読取可能命令を実行する場合には、プログラムの一部または全部がメモリ104に展開されてもよい。
【0037】
ストレージ106は、非一過性のコンピュータ読取可能媒体である。ストレージ106には、例えば、OS(Operating System)108と、モデル生成プログラム110と、モデル運用プログラム112とが格納される。OS108は、コンピュータとして必要な機能を提供するためのコンピュータ読取可能命令と、モデル生成プログラム110を実行する環境を生成するためのコンピュータ読取可能命令とを含む。
【0038】
モデル生成プログラム110は、本発明に係る情報処理プログラムに対応し、後述するような学習済モデルを生成するためのコンピュータ読取可能命令を含む。
【0039】
モデル運用プログラム112は、本発明に係る情報処理プログラムに対応し、後述するような学習済モデルを運用するためのコンピュータ読取可能命令を含む。
【0040】
表示出力部114は、プロセッサ102による処理結果などを表示出力する。ここで、「表示出力」は、情報処理装置100が有しているディスプレイまたは情報処理装置100の外部に存在するディスプレイに対して、表示画面を表示するためのデータまたは信号を出力することを意味する。
【0041】
入力部116は、ユーザ操作を受け付ける。入力部116は、例えば、キーボードまたはマウスなどを含んでいてもよいし、キーボードまたはマウスと接続するためのインターフェイスを含んでいてもよい。また、入力部116は、ディスプレイと一体型のタッチパネルのようなタッチ操作が可能なデバイスを含んでいてもよい。
【0042】
インターフェイス回路118は、製造ラインなどに配置されたカメラ50から画像データを取得する。
【0043】
本明細書において、「プロセッサ」との用語は、CPU(Central Processing Unit)などのコンピュータ読取可能命令を実行することで処理を行う演算回路に加えて、ハードワイヤード回路も包含する。ハードワイヤード回路の一例としては、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)などが挙げられる。
【0044】
<C.ソフトウェア構成例>
次に、本実施の形態に従う情報処理装置100のソフトウェア構成例について説明する。
【0045】
図4は、本実施の形態に従う情報処理装置100のソフトウェア構成例を示す模式図である。
図4を参照して、情報処理装置100は、データベース150と、運用部160と、学習部166と、モデル決定部168と、XAI可視化部170とを含む。
【0046】
データベース150は、記憶部に相当し、ストレージ106(
図3)を用いて実現されてもよいし、情報処理装置100に外付けされた記憶装置、または、ネットワークを介して接続された記憶装置を用いて実現されてもよい。学習部166と、モデル決定部168と、XAI可視化部170とは、情報処理装置100の1または複数のプロセッサ102がモデル生成プログラム110を実行することで実現されてもよい。運用部160は、情報処理装置100の1または複数のプロセッサ102がモデル運用プログラム112を実行することで実現されてもよい。
【0047】
データベース150は、製造ライン10などに配置されたカメラ50から取得される入力画像20と、学習過程においてXAI手法により生成されるXAI画像24と、モデルパラメータ165と、画像特徴量180とを格納する。
【0048】
運用部160は、算出部に相当し、入力画像20に対して分類を行う分類モデル162と、入力画像20についてのXAI画像24を出力するXAIモデル164とを運用する。より具体的には、運用部160は、入力画像20(入力データ)を分類モデル162に入力して推論結果30を算出する。また、運用部160は、入力画像20(入力データ)をXAIモデル164にも入力する。XAIモデル164から出力される推論結果は、後述するように、XAI可視化部170での処理に用いられる。
【0049】
このように、運用過程において、入力画像20が分類モデル162に入力され、推論結果30が出力される。推論結果30は、例えば、分類結果を示す。推論結果30は、製造ライン10などに配置された制御装置などに出力される。
【0050】
学習部166は、分類モデル162およびXAIモデル164に用いるモデルを学習する。学習部166は、複数の学習データ(例えば、正解ラベルが付与された入力画像20からなるデータセット)を用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータ(例えば、モデルパラメータ165)をデータベース150(記憶部)に順次格納する。学習部166は、モデルパラメータ165に加えて、入力画像20と、XAI画像24と、画像特徴量180とをデータベース150に順次格納してもよい。
【0051】
モデル決定部168は、決定部に相当し、後述の
図9に示すようなユーザインターフェイス画面を生成するとともに、ユーザ操作を受け付ける。モデル決定部168は、複数の学習データのうち所定数の学習データを用いて学習された状態のモデルを分類モデル162として決定するとともに、ユーザ操作に従って、複数の学習データのうち当該所定数より少ない数の学習データを用いて学習された状態のモデルをXAIモデル164として決定する。
【0052】
XAI可視化部170は、生成部に相当し、XAIモデル164の出力に基づいてXAI画像24(顕著性マップ)を生成する。より具体的には、XAI可視化部170は、XAIモデル164の推論結果および特徴量マップなどに基づいて、XAI画像24を生成する。
【0053】
XAI可視化部170は、運用過程においても、入力画像20をXAIモデル164に入力して取得される推論結果(出力)に基づいてXAI画像24(顕著性マップ)を生成する。
【0054】
なお、
図4には、単一の情報処理装置100において実現されるソフトウェア構成例を示すが、複数の装置により実現されてもよいし、一部の機能をクラウドなどのコンピューティングリソースを用いて実現してもよい。また、学習済モデル(分類モデル162およびXAIモデル164)を学習する装置と、学習済モデル(分類モデル162およびXAIモデル164)を運用する装置とが別体であってもよい。
【0055】
例えば、学習済モデルを運用する情報処理装置100は、PLC(Programmable Logic Controller)などの制御装置であってもよい。
【0056】
<D.分類モデルおよびXAIモデル>
次に、分類モデル162およびXAIモデル164の学習および生成について説明する。
【0057】
本実施の形態において、分類モデル162およびXAIモデル164のモデル構造は、実質的に同じである。ただし、分類モデル162とXAIモデル164との間では、学習状態が異なっている。
【0058】
分類モデル162およびXAIモデル164は、どのような種類のモデルを用いてもよい。例えば、入力画像20に対する分類タスクを想定すると、モデル(分類モデル162およびXAIモデル164)としては、例えば、VGG、ResNet、MobileNet、または、EfficientNetなどを用いることができる。なお、分類タスクに限らず、どのようなタスクであってもよい。また、タスクに応じたモデルを選択すればよい。
【0059】
図5は、本実施の形態に従う分類モデル162およびXAIモデル164に用いるモデルの学習曲線の一例を示す図である。
図5には、サンプル数(エポック単位)に対するモデルの誤差の変化を示す。
図5には、モデルを学習するために用いた学習データに対する誤差と、学習データとは別の検証データに対する誤差とを示す。なお、取得された入力画像20の集合を、交差検証法(例えば、K-交差検証など)で分割することで、学習データおよび検証データを用意することができる。
【0060】
図5に示すように、学習のサンプル数が増加することによって、モデルの学習データに対する誤差が低下していることが分かる。一方で、学習のサンプル数が増加することによって、モデルの検証データに対する誤差が途中から増加していることが分かる。すなわち、学習のサンプル数が増加しすぎることで、モデルが過学習になり得ることが示されている。
【0061】
そのため、不足学習および過学習のいずれでもない適正な学習状態のモデルが分類モデル162として用いられる。適正な学習状態のモデルを用いることで、汎用性が高く、高い精度が期待できる。
【0062】
これに対して、XAIモデル164は、不足学習のモデルが用いられる。上述したように、不足学習の状態のモデルを用いることで、分類モデルについての解釈性を高められる。
【0063】
本実施の形態に従う情報処理装置100は、モデルの学習過程において、XAIモデル164として適切な学習状態を把握できるように、後述するようなユーザインターフェイス画面を提供する。また、情報処理装置100は、学習過程において、モデル(モデルパラメータ165)をデータベース150に順次格納する。
【0064】
なお、
図5に示す学習曲線の縦軸は、誤差に代えて、あるいは、誤差に加えて、精度を用いてもよい。誤差が低いほど良いモデルであり、精度が高いほど良いモデルである。
【0065】
<E.XAI手法>
次に、XAI画像24を生成するためのXAI手法について説明する。例えば、顕著性マップを用いて可視化するXAI手法としては、Grad-CAM、XGrad-CAM、または、ScoreCAM、Eigen-CAMなどの任意のアルゴリズムを用いることができる。
【0066】
図6は、本実施の形態に従うXAI手法の一例を説明するための図である。
図6には、XAI手法として、Grad-CAMアルゴリズムを用いる例を示す。
【0067】
図6を参照して、モデル(分類モデル162およびXAIモデル164)は、例えば、CNN(Convolutional Neural Network)1620と、全結合層(FC:Fully-Connected layer)1622とを含む。
【0068】
図6に示すモデル(分類モデル162およびXAIモデル164)の学習において、情報処理装置100は、学習データ(正解ラベルが付与された入力画像20)をCNN1620に入力して特徴量マップ190を算出し、特徴量マップ190を全結合層1622に入力して推論結果30を出力する。上述したような3クラス分類を行う場合には、出力クラス数は「3」になる。続いて、情報処理装置100は、誤差逆伝播法により、推論結果30と正解ラベルとの誤差に基づいて、CNN1620のモデルパラメータ165を更新する。
【0069】
XAI画像24は、CNN1620から出力される特徴量マップ190から生成される。より具体的には、情報処理装置100は、入力画像20をCNN1620に入力して特徴量マップ190を算出し、特徴量マップ190を全結合層1622に入力して推論結果30を出力する(ステップS1)。
【0070】
続いて、情報処理装置100は、推論結果30からCNN1620の最終層が出力する特徴量マップ190までの勾配192を算出する(ステップS2)。
【0071】
情報処理装置100は、特徴量マップ190までの勾配192に対して、GAP(Global Average Pooling)処理を実行する(ステップS3)。GAP処理により、特徴量マップ190までの勾配192の次元数を減少させたプーリング結果194が生成される。
【0072】
続いて、情報処理装置100は、特徴量マップ190とプーリング結果194との重み付け和を算出し、重み付け和を活性化関数1640(例えば、ReLU(Rectified Linear Unit)など)に入力することで、XAI画像24を生成する(ステップS4)。
【0073】
情報処理装置100は、XAI画像24の生成に加えて、あるいは、XAI画像24の生成に代えて、特徴量マップ190を次元圧縮した特徴量を算出してもよい。具体的には、情報処理装置100は、分類モデル162の学習に併せて、順次出力される特徴量マップ190に対して、GAP処理を実行する(ステップS5)。GAP処理により、特徴量マップ190の次元数を減少させたプーリング結果196が生成される。
【0074】
続いて、情報処理装置100は、プーリング結果196をさらに次元圧縮して2次元の画像特徴量180を算出する(ステップS6)。次元圧縮の手法としては、PCA(Principal Component Analysis)またはUMAP(Uniform Manifold Approximation and Projection)などのアルゴリズムを用いることができる。
【0075】
<F.XAIモデル164の生成>
次に、XAIモデル164を生成する処理について説明する。
【0076】
上述したように、XAIモデル164には、不足学習の状態のモデルが用いられる。モデルが不足学習の状態であることをユーザが確認し、情報処理装置100が、ユーザ操作に従って、不足学習の状態のモデルをXAIモデル164として決定してもよい。また、情報処理装置100が、不足学習の状態のモデルをXAIモデル164の候補として提示してもよい。
【0077】
モデルが不足学習の状態であることを判断するために、モデルの精度または画像特徴量を用いてもよい。
【0078】
例えば、情報処理装置100は、分類モデル162の要求精度の指定を受け付け、当該指定された要求精度に対して、可能な限りエポック数(サンプル数)が少ないものをXAIモデル164の候補として提示してもよい。
【0079】
図7は、本実施の形態に従うモデル学習途中に算出される精度の一例を示す図である。
例えば、マクロ平均(F1-Score)が0.95以上であるとの要求精度が指定された場合には、指定された要求精度を満たす学習状態のうち、エポック数(サンプル数)が最も少ない学習状態をXAIモデル164の候補として提示する。
【0080】
図7(A)には、エポック数が10である場合の分類モデル162の精度の一例を示し、
図7(B)には、エポック数が40である場合の分類モデル162の精度の一例を示す。いずれの精度についても、マクロ平均(macroavg)は、「0.95」以上となっており、エポック数が少ない
図7(A)に示す状態の分類モデル162がXAIモデル164の候補として提示される。
【0081】
また、情報処理装置100は、モデル学習途中の状態を可視化してもよい。モデル学習途中の状態としては、例えば、XAI画像24そのものであってもよいし、特徴量マップ190から算出される画像特徴量180の分布182であってもよい。
【0082】
図8は、本実施の形態に従うモデル学習途中に算出されるXAI画像24および画像特徴量180の分布182の一例を示す図である。
【0083】
図8(A)には、エポック数が10である場合の分類モデル162から出力されるXAI画像24および画像特徴量180の分布182の一例を示し、
図7(B)には、エポック数が40である場合の分類モデル162から出力されるXAI画像24および画像特徴量180の分布182の一例を示す。
【0084】
ユーザは、XAI画像24または画像特徴量180の分布182を確認して、XAIモデル164として適切な学習状態を判断することもできる。情報処理装置100は、ユーザ操作に従って、選択された学習状態のモデルをXAIモデル164として決定してもよい。
【0085】
このように、ユーザがXAI画像24または画像特徴量180の分布182を確認することで、定性的にXAIモデル164を決定してもよい。
【0086】
図9は、本実施の形態に従う情報処理装置100が提供するユーザインターフェイス画面200の一例を示す図である。
図9を参照して、ユーザインターフェイス画面200は、学習曲線210と、精度評価結果220と、画像特徴量の分布230とを含む。
【0087】
学習曲線210は、学習過程において生成されたモデルの誤差または精度の変化を示す。情報処理装置100は、学習に用いられた学習データの数に対する、モデルの誤差および精度の少なくとも一方の変化を示す学習曲線210を含むユーザインターフェイス画面200を生成する。
【0088】
情報処理装置100は、学習曲線210に関連付けて、分類モデル162として決定された学習状態の位置に分類モデル位置214を表示するとともに、XAIモデル164に適していると算出された学習状態の位置に推奨位置216を表示する。
【0089】
情報処理装置100は、ユーザによるスライダ212の操作に応じて、位置表示213を変化させる。情報処理装置100は、ユーザによる選択ボタン218の選択に応じて、位置表示213が表示されている学習状態に対応するモデルをXAIモデル164として決定する。このように、情報処理装置100は、ユーザインターフェイス画面200に対するユーザ操作に応じて、選択された状態のモデルをXAIモデル164として決定する。
【0090】
情報処理装置100は、ユーザによるスライダ212の操作に応じて、精度評価結果220の表示内容を更新する。精度評価結果220に併せて、予め指定された要求精度222が表示されてもよい。このように、情報処理装置100は、指定された学習の状態における、モデルの精度の評価結果(精度評価結果220)を含むユーザインターフェイス画面200を生成する。
【0091】
情報処理装置100は、ユーザによるスライダ212の操作に応じて、画像特徴量180の分布182を更新する。このように、情報処理装置100は、指定された学習の状態における、モデルが出力する画像特徴量180の分布182(特徴量の分布)を含むユーザインターフェイス画面200を生成する。
【0092】
情報処理装置100は、画像特徴量180の分布182の各サンプル(画像特徴量)のいずれかがポインタ234により選択されると、選択されたサンプルに対応する入力画像20およびXAI画像24を表示してもよい。このように、情報処理装置100は、モデルの出力に基づいて生成された顕著性マップ(XAI画像24)を含むユーザインターフェイス画面200を生成する。入力画像20およびXAI画像24が表示されることで、ユーザは、学習の状態を視覚的に確認できる。
【0093】
なお、情報処理装置100は、ユーザによるプルダウンメニュー232に対する選択に応じて、画像特徴量180の分布182に用いる画像特徴量の算出アルゴリズムを適宜異ならせてもよい。
【0094】
このように、情報処理装置100は、ユーザがXAIモデル164を決定できるように、ユーザインターフェイス画面を提供する。
【0095】
図10は、本実施の形態に従う情報処理装置100が学習過程でデータベース150に順次格納するデータの一例を示す模式図である。
図10を参照して、情報処理装置100は、エポック数に対応付けて、モデルパラメータ165と、XAI画像24と、画像特徴量180とをデータベース150に順次格納する。
【0096】
情報処理装置100は、いずれかのエポック数が指定されると、指定されたエポック数に対応するモデルパラメータ165をモデルに反映することで、分類モデル162およびXAIモデル164を生成する。
【0097】
図11は、本実施の形態に従う情報処理装置100が学習過程により生成したモデルの構成例を示す図である。
【0098】
図11を参照して、情報処理装置100は、適切に学習されたCNN1620Aおよび全結合層1622Aを含む分類モデル162と、不足学習の状態のCNN1620Bおよび全結合層1622Bを含むXAIモデル164とを生成する。XAIモデル164は、XAI手法によりXAI画像24を生成するためのXAI可視化部170に関連付けられる。XAI可視化部170は、例えば、活性化関数1640を含む。
【0099】
<G.処理手順例>
次に、本実施の形態に従う情報処理装置100が実行する処理手順の一例について説明する。
【0100】
(g1:学習過程)
図12は、本実施の形態に従う情報処理装置100の学習過程の処理手順を示すフローチャートである。
図12に示す各ステップは、情報処理装置100の1または複数のプロセッサ102がモデル生成プログラム110を実行することで実現されてもよい。
【0101】
図12を参照して、情報処理装置100は、複数のエポックに分割された学習データ(正解ラベルが付与された入力画像20)のうち1つのエポックを選択する(ステップS100)。そして、情報処理装置100は、選択中のエポックに含まれる1つの学習データを選択する(ステップS102)。
【0102】
情報処理装置100は、選択された学習データの入力画像20を分類モデル162およびXAIモデル164を生成するためのモデルに入力する(ステップS104)。情報処理装置100は、モデルの推論結果と入力された学習用データに付与された正解ラベルとの誤差に基づいて、モデルパラメータ165を更新する(ステップS106)。
【0103】
また、情報処理装置100は、選択された学習データの入力画像20がモデルに入力されて算出された特徴量マップ190を取得し、推論結果30から特徴量マップ190までの勾配192を算出する(ステップS108)。そして、情報処理装置100は、特徴量マップ190、および、推論結果30から特徴量マップ190までの勾配192に基づいて、XAI画像24を生成する(ステップS110)。
【0104】
また、情報処理装置100は、入力画像20がモデルに入力されて算出された特徴量マップ190から画像特徴量180を算出する(ステップS112)。
【0105】
なお、ステップS104およびS106の処理と、ステップS108~S112の処理との実行順序は問わない。また、ステップS104およびS106の処理と、ステップS108~S112の処理とを並列的に実行してもよい。また、XAI画像24の生成(ステップS110)については、各エポックの最後の入力画像20についてのみ実行されてもよい。
【0106】
情報処理装置100は、選択中のエポックに含まれるすべての学習データが選択されたか否かを判断する(ステップS114)。選択されていない学習データが存在すれば(ステップS114においてNO)、ステップS102以下の処理が繰り返される。
【0107】
すべての学習データが選択されていれば(ステップS114においてYES)、情報処理装置100は、エポック数に対応付けて、モデルパラメータ165と、XAI画像24と、画像特徴量180とをデータベース150に格納する(ステップS116)。
【0108】
情報処理装置100は、用意されたすべてのエポックが選択されたか否かを判断する(ステップS118)。選択されていないエポックが存在すれば(ステップS118においてNO)、ステップS100以下の処理が繰り返される。
【0109】
このように、情報処理装置100は、複数のエポック(学習データ)を用いてモデルを順次学習するとともに、モデルの学習途中の状態を示すデータをデータベース150に順次格納する(ステップS100~S118)。
【0110】
用意されたすべてのエポックが選択されていれば(ステップS118においてYES)、情報処理装置100は、格納されているモデルパラメータ165と、XAI画像24と、画像特徴量180とに基づいて、XAIモデル164の決定に必要な情報を生成し(ステップS120)、生成した情報を含むユーザインターフェイス画面を表示出力する(ステップS122)。
【0111】
情報処理装置100は、ユーザ操作に従って、所定の学習状態のモデルを分類モデル162として決定するとともに、指定された学習状態のモデルをXAIモデル164として決定する(ステップS124)。そして、処理は終了する。
【0112】
このように、情報処理装置100は、複数のエポック(学習データ)のうち所定数のエポックを用いて学習された状態のモデルを分類モデル162として決定する。また、情報処理装置100は、複数のエポック(学習データ)のうち所定数より少ない数のエポックを用いて学習された状態のモデルをXAIモデル164として決定する。
【0113】
なお、ステップS124において、XAIモデル164に関連付けられるXAI可視化部170が併せて生成されてもよい。
【0114】
(g2:運用過程)
図13は、本実施の形態に従う情報処理装置100の運用過程の処理手順を示すフローチャートである。
図13に示す各ステップは、情報処理装置100の1または複数のプロセッサ102がモデル運用プログラム112を実行することで実現されてもよい。
【0115】
図13を参照して、情報処理装置100は、新たな入力画像20が入力されると(ステップS200においてYES)、入力画像20を分類モデル162に入力し(ステップS202)、推論結果30を出力する(ステップS204)。
【0116】
また、情報処理装置100は、入力画像20をXAIモデル164に入力し(ステップS206)、特徴量マップ190、および、推論結果30から特徴量マップ190までの勾配192を算出する(ステップS208)。そして、情報処理装置100は、特徴量マップ190、および、推論結果30から特徴量マップ190までの勾配192に基づいて、XAI画像24を生成する(ステップS210)。
【0117】
なお、ステップS202およびS204の処理と、ステップS206~S210の処理との実行順序は問わない。また、ステップS202およびS204の処理と、ステップS206~S210の処理とを並列的に実行してもよい。
【0118】
ステップS200~S210の処理は、入力画像20が入力されるたびに繰り返される。
【0119】
運用過程において、情報処理装置100は、入力画像20に対する推論結果30に加えて、入力画像20とXAI画像24とを並べて表示出力してもよい。
【0120】
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0121】
[構成1]
複数の学習データを用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータ(165)を順次格納する学習部(166)と、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデル(162)として決定するとともに、ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデル(164)として決定する決定部(168)と、
前記第2のモデルの出力に基づいて顕著性マップを生成する生成部(170)とを備える、情報処理装置。
【0122】
[構成2]
前記決定部は、
学習に用いられた学習データの数に対する、前記モデルの誤差および精度の少なくとも一方の変化を示す学習曲線(210)を含むユーザインターフェイス画面(200)を生成し、
前記ユーザインターフェイス画面に対するユーザ操作に応じて、選択された状態のモデルを前記第2のモデルとして決定する、構成1に記載の情報処理装置。
【0123】
[構成3]
前記決定部は、指定された学習の状態における、前記モデルの精度の評価結果(220)を含むユーザインターフェイス画面(200)を生成する、構成1または2に記載の情報処理装置。
【0124】
[構成4]
前記決定部は、指定された学習の状態における、前記モデルが出力する特徴量の分布(182)を含むユーザインターフェイス画面(200)を生成する、構成1~3のいずれか1項に記載の情報処理装置。
【0125】
[構成5]
前記決定部は、指定された学習の状態における、前記モデルの出力に基づいて生成された顕著性マップ(24)を含むユーザインターフェイス画面(200)を生成する、構成1~4のいずれか1項に記載の情報処理装置。
【0126】
[構成6]
情報処理プログラム(110)であって、コンピュータ(100)に、
複数の学習データを用いてモデルを順次学習するとともに、前記モデルの学習途中の状態を示すデータを順次格納するステップと、
前記複数の学習データのうち第1の数の学習データを用いて学習された状態のモデルを第1のモデルとして決定するステップ(S100~S118)と、
ユーザ操作に従って、前記複数の学習データのうち前記第1の数より少ない第2の数の学習データを用いて学習された状態のモデルを第2のモデルとして決定するステップ(S124)とを実行させ、
前記第2のモデルは、前記第2のモデルの出力に基づいて顕著性マップを生成するための生成部(170)に関連付けられる、情報処理プログラム。
【0127】
[構成7]
入力データ(20)を第1のモデル(162)に入力して推論結果(30)を算出する算出部(160)と、
前記入力データを第2のモデル(164)に入力して取得される出力に基づいて顕著性マップ(24)を生成する生成部(170)とを備え、
前記第1のモデルは、第1の数の学習データを用いて学習されたモデルであり、
前記第2のモデルは、前記第1の数より少ない第2の数の学習データを用いて学習されたモデルである、情報処理装置。
【0128】
[構成8]
前記情報処理装置は、前記入力データと前記顕著性マップとを並べて表示出力する、構成7に記載の情報処理装置。
【0129】
[構成9]
前記第1のモデルおよび前記第2のモデルには、前記入力データとして入力画像が入力されるとともに、前記入力画像に対する分類結果を前記推論結果として出力する、構成7または8に記載の情報処理装置。
【0130】
[構成10]
情報処理プログラム(112)であって、コンピュータ(100)に、
入力データ(20)を第1のモデル(162)に入力して推論結果(30)を算出するステップ(S202,S204)と、
前記入力データを第2のモデルに入力して取得される出力に基づいて顕著性マップを生成するステップ(S206,S208,S210)とを実行させ、
前記第1のモデルは、第1の数の学習データを用いて学習されたモデルであり、
前記第2のモデルは、前記第1の数より少ない第2の数の学習データを用いて学習されたモデルである、情報処理プログラム。
【0131】
[構成11]
構成6または10に記載の情報処理プログラムを格納した非一過性のコンピュータ読取可能媒体(106)。
【0132】
<I.利点>
入力画像に対する分類タスクを実行する分類モデルをXAI手法により可視化すると、推論結果にかかわらず可視化された顕著性マップの同じ箇所に反応が出てしまい、解釈性が低いという課題が生じ得る。これに対して、本実施の形態によれば、学習が適切な状態のモデルを分類モデルとして用いるとともに、学習が不足している状態のモデルをXAIモデルとして用いることで、分類モデルが着目している部分を可視化できる。
【0133】
このように、本実施の形態によれば、学習済モデルの解釈性を高めることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0134】
10 製造ライン、12 顕著性マップ、20 入力画像、22 トップシール、24,26 XAI画像、30 推論結果、50 カメラ、100 情報処理装置、102 プロセッサ、104 メモリ、106 ストレージ、108 OS、110 モデル生成プログラム、112 モデル運用プログラム、114 表示出力部、116 入力部、118 インターフェイス回路、150 データベース、160 運用部、162 分類モデル、164 XAIモデル、165 モデルパラメータ、166 学習部、168 モデル決定部、170 XAI可視化部、180 画像特徴量、182,230 分布、190 特徴量マップ、192 勾配、194,196 プーリング結果、200 ユーザインターフェイス画面、210 学習曲線、212 スライダ、213 位置表示、214 分類モデル位置、216 推奨位置、218 選択ボタン、220 精度評価結果、222 要求精度、232 プルダウンメニュー、234 ポインタ。