(57)【要約】【課題】半教師あり学習における学習の効果の低減を防止することを目的とする。【解決手段】入力されたデータから特徴量を抽出するエンコーダと、エンコーダにより抽出される特徴量に基づいてエンコーダに入力されたデータの復元データを生成するデコーダと、の学習に用いられる学習データを取得し、取得された学習データと、エンコーダにより抽出される特徴量に基づいて特徴量に対応するデータの特性を示すデータを出力する識別器の出力データがエンコーダへの入力データに応じてどのように定まるかを示す出力情報と、に基づいて、エンコーダとデコーダとを学習する。【選択図】図４
2020067954.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータから特徴量を抽出するエンコーダと、前記エンコーダにより抽出される特徴量に基づいて前記エンコーダに入力されたデータの復元データを生成するデコーダと、の学習に用いられる学習データを取得する取得手段と、
前記取得手段により取得された前記学習データと、前記エンコーダにより抽出される特徴量に基づいて前記特徴量に対応するデータの特性を示すデータを出力する識別器の出力データが前記エンコーダへの入力データに応じてどのように定まるかを示す出力情報と、に基づいて、前記エンコーダと前記デコーダとを学習する第１の学習手段と、
を有する情報処理装置。
【請求項２】
ラベル付き学習データと前記ラベル付き学習データのラベルデータとに基づいて、前記エンコーダと前記識別器とを学習する第２の学習手段を更に有し、
前記第１の学習手段は、前記取得手段により取得された学習データと、前記第２の学習手段により学習された前記識別器の出力データが前記第２の学習手段により学習された前記エンコーダへの入力データに応じてどのように定まるかを示す前記出力情報と、に基づいて、前記エンコーダと前記デコーダとを学習する請求項１記載の情報処理装置。
【請求項３】
前記取得手段により取得された前記学習データと、前記出力情報と、に基づいて、前記学習データに摂動が加えられた摂動学習データを生成する生成手段を更に有し、
前記第１の学習手段は、前記生成手段により生成された前記摂動学習データに基づいて、前記エンコーダと前記デコーダとを学習する請求項１又は２記載の情報処理装置。
【請求項４】
前記生成手段は、更に、前記摂動学習データに対応する仮のラベルデータを生成し、
前記第１の学習手段は、前記生成手段により生成された前記摂動学習データと前記仮のラベルデータとに基づいて、前記エンコーダと前記デコーダとを学習する請求項３記載の情報処理装置。
【請求項５】
前記取得手段により取得された前記学習データと、前記出力情報と、に基づいて、前記エンコーダと前記デコーダとの学習に用いられる学習指標を決定する決定手段を更に有し、
前記第１の学習手段は、前記決定手段により決定された前記学習指標に基づいて、前記エンコーダと前記デコーダとを学習する請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記決定手段は、前記エンコーダに入力されるデータと、前記データが前記エンコーダに入力される場合に前記デコーダにより生成される復元データと、の差分に関する関数を、前記学習指標として決定する請求項５記載の情報処理装置。
【請求項７】
前記取得手段により取得された前記学習データと、前記出力情報と、に基づいて、前記学習データに含まれる要素に予め定められた摂動が加えられた場合に、前記学習データが前記エンコーダに入力される際に前記識別器からの出力データに生じる変動の度合を特定する特定手段を更に有し、
前記第１の学習手段は、前記特定手段により特定された前記変動の度合に基づいて、前記エンコーダと前記デコーダとを学習する請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記特定手段は、前記取得手段により取得された画像データである前記学習データに含まれるピクセルに予め定められた摂動が加えられた場合に、前記学習データが前記エンコーダに入力される際に前記識別器からの出力データに生じる変動の度合を特定する請求項７記載の情報処理装置。
【請求項９】
前記識別器は、前記エンコーダへの入力データが複数のクラスそれぞれに属する確率分布を示すデータを出力する情報変換器であり、
前記複数のクラスの何れかに属するラベルなし学習データが前記エンコーダに入力された際に前記識別器から出力されるデータが示す確率分布に関する学習指標に基づいて、前記エンコーダと前記識別器とを学習する第３の学習手段を更に有する請求項１乃至８何れか１項記載の情報処理装置。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
入力されたデータから特徴量を抽出するエンコーダと、前記エンコーダにより抽出される特徴量に基づいて前記エンコーダに入力されたデータの復元データを生成するデコーダと、の学習に用いられる学習データを取得する取得ステップと、
前記取得ステップで取得された前記学習データと、前記エンコーダにより抽出される特徴量に基づいて前記特徴量に対応するデータの特性を示すデータを出力する識別器の出力データが前記エンコーダへの入力データに応じてどのように定まるかを示す出力情報と、に基づいて、前記エンコーダと前記デコーダとを学習する学習ステップと、
を含む情報処理方法。
【請求項１１】
コンピュータに、
入力されたデータから特徴量を抽出するエンコーダと、前記エンコーダにより抽出される特徴量に基づいて前記エンコーダに入力されたデータの復元データを生成するデコーダと、の学習に用いられる学習データを取得する取得ステップと、
前記取得ステップで取得された前記学習データと、前記エンコーダにより抽出される特徴量に基づいて前記特徴量に対応するデータの特性を示すデータを出力する識別器の出力データが前記エンコーダへの入力データに応じてどのように定まるかを示す出力情報と、に基づいて、前記エンコーダと前記デコーダとを学習する学習ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ラベル付きのデータを用いて、情報変換器を学習する教師あり学習が行われている。しかし、ラベル付きのデータは、データにラベルを付与するという作業があり、収集するのに手間がかかる。対して、ラベルなしのデータは、収集が容易である。そのため、ラベル付きのデータに加えて、ラベルなしのデータも学習に活用して、情報変換器の汎化性能を向上させたいと要望されていた。ラベル付きのデータに加えて、ラベルなしのデータを利用して学習を行う半教師あり学習という手法がある。半教師あり学習は、ラベル付きの学習データを用いて教師あり学習を行い、ラベルの有無に関係なく学習データを利用して教師なし学習を行う手法である。
教師あり学習では、ラベル付きのデータに基づいて、達成すべき目的に応じた情報変換器の学習が行われる。達成すべき目的は、例えば、入力データが複数のクラスのうちどのクラスに属するかを識別すること、入力データの特性を示すデータを精度よく抽出すること等である。
【０００３】
教師なし学習には、オートエンコーダを用いる手法がある。オートエンコーダは、エンコーダとデコーダとのパラメータを学習する手法である。ここで、エンコーダとは、入力データから特徴量を抽出する情報変換器である。また、デコーダとは、エンコーダにより抽出された特徴量から入力データを復元する情報変換器である。オートエンコーダでは、デコーダの出力と入力データとに基づいて、エンコーダとデコーダとのパラメータが学習される。オートエンコーダで学習されたエンコーダは、元の入力データを復元できるように特徴量を抽出することとなる。そのため、オートエンコーダで学習されたエンコーダにより抽出される特徴量は、入力データの特徴を十分に捉えた特徴量であることが期待できる。このように抽出された特徴量を用いることで、情報変換器の処理の精度の向上を期待できる。
【０００４】
非特許文献１には、ｄｅｎｏｉｓｉｎｇ  ａｕｔｏｅｎｃｏｄｅｒ等のオートエンコーダの手法が開示されている。ｄｅｎｏｉｓｉｎｇ  ａｕｔｏｅｎｃｏｄｅｒは、入力データｘに適量のノイズを重畳させたデータをオートエンコーダに入力し、オートエンコーダからの出力と入力データｘとの差異を最小化するように学習する手法である。
また、非特許文献２には、ｉｎｐａｉｎｔｉｎｇという手法が提案されている。ｉｎｐａｉｎｔｉｎｇでは、まず、画像である入力データｘの部分領域Ωに含まれるピクセルのピクセル値を、部分領域Ωに含まれるピクセルのピクセル値の平均値に置換したデータｘ（Ω）を生成する。そして、データｘ（Ω）から特徴量を抽出するエンコーダと、抽出された特徴量から入力データｘを復元するデコーダと、を用意し、デコーダの出力と入力データｘとの誤差を最小化するように、エンコーダとデコーダとのパラメータを学習する。即ち、入力データｘの“部分領域Ωのピクセル値”を、“部分領域Ω以外の領域の入力データｘのピクセル値”から推定することで、入力データの特徴を十分に捉えた特徴量を抽出することのできるエンコーダを獲得する。ｉｎｐａｉｎｔｉｎｇにおける学習はデータの内挿に相当するため、ノイズ除去に相当する学習を行うｄｅｎｏｉｓｉｎｇ  ａｕｔｏｅｎｃｏｄｅｒよりも、難しいタスクを解決している。したがって、ｉｎｐａｉｎｔｉｎｇでは、入力データｘが内包する構造的な特徴量を抽出できるエンコーダが得られる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｉ．Ｇｏｏｄｆｅｌｌｏｗ，Ｙ．Ｂｅｎｇｉｏ  ａｎｄ  Ａ．Ｃｏｕｒｖｉｌｌｅ．Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ，ＭＩＴ  Ｐｒｅｓｓ，２０１６．の１４章．
【非特許文献２】Ｄ．Ｐａｔｈａｋ，Ｐ．Ｋｒ¨ａｈｅｎｂ¨ｕｈｌ，Ｊ．Ｄｏｎａｈｕｅ，Ｔ．Ｄａｒｒｅｌｌ  ａｎｄ  Ａ．Ｅｆｒｏｓ．  Ｃｏｎｔｅｘｔ  ｅｎｃｏｄｅｒｓ：  Ｆｅａｔｕｒｅ  ｌｅａｒｎｉｎｇ  ｂｙ  ｉｎｐａｉｎｔｉｎｇ．Ｉｎ  ＣＶＰＲ，２０１６．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、エンコーダとデコーダとを教師なし学習する際には、入力データをできるだけ正確に復元可能な特徴量を抽出することを目的として学習が行われた。しかし、半教師あり学習において、エンコーダにより抽出したい特徴量は、予め定められた達成すべき目的に適した特徴量である。例えば、達成すべき目的が、画像である入力データ中のオブジェクトの属するクラスを識別することであるとする。この場合、エンコーダにより入力データから抽出される特徴量は、入力データ中に存在するオブジェクトの部分のみの特徴を示す特徴量であることが望ましい。しかし、従来技術で学習されたエンコーダは、入力データから、オブジェクトだけでなく背景等も含めた入力データ全体の特徴を示す特徴量を抽出することとなる。
このようにエンコーダとデコーダとの教師なし学習の目的と、達成すべき目的と、が一致しないため、半教師あり学習において、教師なし学習と教師あり学習とが競合し、学習の効果が低減してしまう問題があった。
そこで、本発明は、半教師あり学習における学習の効果の低減を防止することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の情報処理装置は、入力されたデータから特徴量を抽出するエンコーダと、前記エンコーダにより抽出される特徴量に基づいて前記エンコーダに入力されたデータの復元データを生成するデコーダと、の学習に用いられる学習データを取得する取得手段と、前記取得手段により取得された前記学習データと、前記エンコーダにより抽出される特徴量に基づいて前記特徴量に対応するデータの特性を示すデータを出力する識別器の出力データが前記エンコーダへの入力データに応じてどのように定まるかを示す出力情報と、に基づいて、前記エンコーダと前記デコーダとを学習する第１の学習手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、半教師あり学習における学習の効果の低減を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、学習対象のデータ識別器の一例を示す図である。
【図２】図２は、情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、情報処理装置の機能構成の一例を示す図である。
【図４】図４は、情報処理装置の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
＜実施形態１＞
（本実施形態の処理の概要）
本実施形態では、図２で後述する情報処理装置２００が、入力されたデータの識別を行うデータ識別器１００を半教師あり学習する処理について説明する。
半教師あり学習について説明する。半教師あり学習とは、教師あり学習と教師なし学習とを組み合わせることによって実現される学習である。半教師あり学習の実行の態様には、逐次実行と同時実行と交互実行とがある。
逐次実行とは、教師なし学習を実行した後に教師あり学習を実行する半教師あり学習の態様である。同時実行とは、教師なし学習と教師あり学習とを同時に実行する半教師あり学習の態様である。交互実行とは、教師なし学習と教師あり学習とを交互に複数回実行する半教師あり学習の態様である。
同時実行、又は交互実行において、教師なし学習が教師あり学習と学習協調するようにすることで、逐次実行よりも、理想的な解に近い解に収束する可能性が高まることを期待できる。
本実施形態では、情報処理装置２００は、同時実行により半教師あり学習を実行する。
【００１１】
図１を用いて、本実施形態の学習対象となるデータ識別器１００について説明する。データ識別器１００は、入力されたデータが、Ｋ個のクラスそれぞれに属する確率を、事後確率分布として出力する情報変換器である。以下では、このＫ個のクラスを、クラス１〜クラスＫとする。本実施形態では、Ｋは、１以上の整数である。本実施形態では、データ識別器１００は、画像データの入力を受けつける。
データ識別器１００は、エンコーダ１０１、識別器１０２、デコーダ１０３を含む。
エンコーダ１０１は、入力されたデータから特徴量を抽出し、抽出した特徴量を出力する情報変換器である。情報変換器とは、データの変換に用いられるパラメータを用いて入力されたデータを他のデータに変換する変換器であり、例えば、データの識別を行う識別器、パターン認識器等である。本実施形態では、情報変換器は、数理モデルとして表される。
識別器１０２は、エンコーダ１０１から出力された特徴量に基づいて、エンコーダ１０１に入力されたデータの特性を示すデータを出力する情報変換器である。本実施形態では、識別器１０２は、データ識別器１００に入力されたデータ（エンコーダ１０１に入力されたデータ）が、予め定められたＫ個のクラスそれぞれに属する確からしさを示すデータを出力する。本実施形態では、データ識別器１００は、識別器１０２の出力を、ソフトマックス関数を用いて、Ｋ個のクラスそれぞれに属する確率に変換することで、最終的な出力となる事後確率分布を生成する。
また、デコーダ１０３は、エンコーダ１０１から出力された特徴量に基づいて、エンコーダ１０１に入力されたデータの復元データを出力する情報変換器である。
また、情報変換器の学習とは、学習用のデータを用いて、予め定められた指標に基づいて、情報変換器のパラメータを更新することである。以下では、データ識別器１００の学習に用いられるデータを学習データとする。学習データには、ラベル付きデータ、ラベルなしデータがある。本実施形態では、学習データは、サイズがＮｒ×Ｎｃであり、チャネル数がＮｄである画像データであるとする。
【００１２】
情報処理装置２００は、データ識別器１００に対して半教師あり学習を行う。より具体的には、情報処理装置２００は、学習データのうちラベル付きデータと、そのラベルデータと、を用いてエンコーダ１０１と識別器１０２とに対して、教師あり学習を行う。また、情報処理装置２００は、学習データを用いて、エンコーダ１０１とデコーダ１０３とに対して、教師なし学習を行う。
本実施形態で、情報処理装置２００は、教師なし学習として、ｒｅｐｒｅｓｅｎｔａｔｉｏｎ学習を行う。ｒｅｐｒｅｓｅｎｔａｔｉｏｎ学習は、教師なし学習手段を実現する方法の一つである。
ｒｅｐｒｅｓｅｎｔａｔｉｏｎ学習について説明する。例えば、自動車に搭載されたカメラにより、自動車の自動運転に用いられる識別器の学習データとなる画像が撮影される場合を考える。この場合、学習データとして、車の運転中に遭遇しにくい場面の画像（例えば、天体画像や海中画像等）が収集されることは考えにくい。学習データとして、車の運転中に遭遇する場面の画像が、大量に収集されるはずである。このように場面が似通った画像群は、類似しており、画像群に共通する画像特徴が存在することとなる。
このような共通の画像特徴は、画像ｆｌａｖｏｒと呼ばれている。ｒｅｐｒｅｓｅｎｔａｔｉｏｎ学習とは、このような画像ｆｌａｖｏｒを示す特徴量を抽出できるようにエンコーダを学習することである。画像ｆｌａｖｏｒは、ラベルなしデータの特徴量集合が特徴量空間で形成する構造（クラスター）とも解釈される。画像ｆｌａｖｏｒを示す特徴量を抽出できるエンコーダを用いることで、教師あり学習の学習効果を強化できる可能性が生まれる。
【００１３】
教師あり学習とｒｅｐｒｅｓｅｎｔａｔｉｏｎ学習である教師なし学習とを同時実行した場合、学習の前半では、両者は学習協調して、学習の進展が加速されることが期待できる。しかし、教師なし学習はラベル情報を利用できないので、実際に達成したい目的（例えば、画像の分類等）とは無関係な評価関数に基づいて、学習を進めざるを得ない。その結果、例えば学習の後半では、教師あり学習と教師なし学習とが学習競合を起こし、両者の相乗的な学習効果が得られなくなる可能性がある。
そこで、本実施形態では、情報処理装置２００は、教師あり学習の結果を、エンコーダ１０１とデコーダ１０３とに対する教師なし学習に反映する。より具体的には、情報処理装置２００は、エンコーダ１０１への入力データに応じて識別器１０２からどのようなデータが出力されるかを示す情報を、エンコーダ１０１とデコーダ１０３とに対する教師なし学習に利用する。以下では、エンコーダ１０１への入力データに応じて識別器１０２からどのようなデータが出力されるかを示す情報を、出力情報とする。エンコーダ１０１と識別器１０２とは、教師あり学習の対象である。そのため、エンコーダ１０１と識別器１０２とによりデータがどのように変換されるかを示す出力情報は、教師あり学習の結果を反映した情報となる。
これにより、情報処理装置２００は、半教師あり学習における教師あり学習の結果を、教師なし学習に反映させることができる。そのため、情報処理装置２００は、半教師あり学習における教師あり学習と教師なし学習との学習を協調させることができる。結果として、情報処理装置２００は、理想的な解により近い解に収束するようにデータ識別器１００を学習できる可能性を向上できる。
【００１４】
（情報処理装置の詳細）
図２は、情報処理装置２００のハードウェア構成の一例を示す図である。情報処理装置２００は、例えば、パーソナルコンピュータ（ＰＣ）、サーバ装置、タブレット装置等である。
情報処理装置２００は、ＣＰＵ２０１、主記憶装置２０２、補助記憶装置２０３、入出力Ｉ／Ｆ２０４、ネットワークＩ／Ｆ２０５を含む。各要素は、システムバス２０６を介して相互に通信可能に接続されている。
ＣＰＵ２０１は、情報処理装置２００を制御する中央演算装置である。主記憶装置２０２は、ＣＰＵ２０１のワークエリアやデータの一時的な記憶領域として機能するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の記憶装置である。補助記憶装置２０３は、各種プログラム、各種設定情報、学習データ（ラベル付きデータ及びラベルなしデータ）、情報変換器の情報等を記憶する記憶装置である。補助記憶装置２０３は、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、フラッシュメモリ等である。
【００１５】
入出力Ｉ／Ｆ２０４は、マウス、キーボード等の入力装置やモニタ、スピーカ等の出力装置との接続に用いられるインターフェースである。ＣＰＵ２０１は、入出力Ｉ／Ｆ２０４を介して、入力装置を用いて入力される情報を受付ける。また、ＣＰＵ２０１は、入出力Ｉ／Ｆ２０４を介して、出力装置に対して情報を出力する。ネットワークＩ／Ｆ２０５は、ネットワークを介した外部の装置との間の通信に用いられるインターフェースである。ＣＰＵ２０１は、ネットワークＩ／Ｆ２０５を介して、外部の装置との間で通信を行う。
ＣＰＵ２０１が、補助記憶装置２０３に記憶されたプログラムにしたがって処理を実行することで、図３で後述する情報処理装置２００の機能、図４で後述するフローチャートの処理等が実現される。
【００１６】
図３は、情報処理装置２００の機能構成の一例を示す図である。
情報処理装置２００は、取得部３００、特定部３０１、生成部３０２、決定部３０３、学習部３０４を含む。
取得部３００は、データ識別器１００の学習に用いられる学習データ、出力情報等を取得する。
特定部３０１は、エンコーダ１０１に入力されたデータに含まれる要素に予め定められた摂動が加えられた場合に、識別器１０２から出力されるデータに生じる摂動を特定し、特定した摂動を示す摂動情報を生成する。
また、生成部３０２は、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられるデータを生成する。
また、決定部３０３は、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数を決定する。評価関数は、変換器の学習の指標である学習指標の一例となる関数である。学習部３０４は、評価関数の値を最適化するように、情報変換器のパラメータを更新することで、情報変換器の学習を行うこととなる。
また、学習部３０４は、生成部３０２により生成された教師なし学習に用いられるデータと決定部３０３により決定された評価関数とに基づいて、エンコーダ１０１とデコーダ１０３とを学習する。また、学習部３０４は、ラベル付きのデータと、そのデータのラベルデータと、に基づいて、エンコーダ１０１と識別器１０２とに対して教師あり学習を行う。
【００１７】
（情報処理装置の処理の詳細）
本実施形態では、情報処理装置２００は、次のようにして半教師あり学習を行う。即ち、情報処理装置２００は、補助記憶装置２０３に記憶された学習データから、予め定められた数のラベル付きデータとラベルなしデータとをランダムに選択し、選択した学習データを、ミニバッチとして取得する。情報処理装置２００は、取得したミニバッチを用いて、データ識別器１００に対して半教師あり学習を行う。情報処理装置２００は、以上の処理を繰り返すことで、半教師あり学習を行う。以下では、１つのミニバッチを用いて行われる学習を、１ステップの学習とする。
そして、情報処理装置２００は、１ステップの学習において、ミニバッチを用いて、データ識別器１００に対して、教師あり学習と教師なし学習とを同時実行する。
【００１８】
図４は、情報処理装置２００が実行する１ステップの半教師あり学習の処理の一例を示すフローチャートである。
Ｓ４０１において、取得部３００は、補助記憶装置２０３に記憶された学習データからラベル付きデータとラベルなしデータとをそれぞれ予め定められた数だけランダムに選択し、ミニバッチを取得する。
本実施形態では、取得部３００は、ミニバッチを補助記憶装置２０３に記憶された学習データから取得することとする。しかし、取得部３００は、ミニバッチを補助記憶装置２０３に記憶された学習データから取得しないこととしてもよい。例えば、取得部３００は、ネットワークＩ／Ｆ２０５を介して、外部のストレージ装置に記憶された学習データからミニバッチを取得することとしてもよい。
【００１９】
Ｓ４０２において、取得部３００は、エンコーダ１０１への入力データに応じて、識別器１０２からどのようなデータが出力されるかを示す出力情報を取得する。エンコーダ１０１への入力データがｘである場合の識別器１０２の出力データは、エンコーダ１０１の内部パラメータがθecと、識別器１０２の内部パラメータがθcfと、入力されるデータｘと、から求まる関数ｇ（ｘ；θec、θcf）として表される。関数ｇの情報は、予め、補助記憶装置２０３に記憶されている。取得部３００は、補助記憶装置２０３から関数ｇの情報を取得する。そして、取得部３００は、取得したθec、θcfの値を関数ｇ（ｘ；θec、θcf）に代入した関数ｇの情報を、出力情報として取得する。即ち、θec、θcfの値を代入した関数ｇの情報は、出力情報の一例である。
情報処理装置２００が、ｋ（ｋ＞＝２）ステップ目の半教師あり学習を行っているとする。この場合、ｋ−１ステップまでの半教師あり学習が既に行われており、エンコーダ１０１と識別器１０２とに対して教師あり学習が施されている。そのため、θec、θcfの値は、教師あり学習の結果を反映した値となる。したがって、θec、θcfを用いる関数ｇの情報は、教師あり学習の結果が反映される情報となる。
【００２０】
また、本実施形態では、データ識別器１００は、識別器１０２からの出力データを、予め定められたソフトマックス関数に通した上で、入力データが複数のクラスそれぞれに属する確率を示す事後確率分布を最終的な出力データとして出力する。ソフトマックス関数は、識別器１０２の出力を、確率に変換する関数である。本実施形態では、ソフトマックス関数からの出力を、便宜的に、識別器１０２の出力とする。
本実施形態では、関数ｇは、以下の式１のように、内部にデータｘがクラス１〜クラスＫそれぞれに属する確率を示す関数を含む。式１における関数ｇi（ｘ；θec、θcf）（ｎ：１＜＝ｉ＜＝Ｋの任意の整数）は、ｘがクラスｉに属する確率を示す関数である。関数ｇn（ｘ；θec、θcf）についても、θecと、θcfと、ｘとから定まる関数とみなすことができる。
【００２１】
【数１】
2020067954.tif 000003
【００２２】
Ｓ４０３において、取得部３００は、Ｓ４０１で取得したミニバッチから１つの学習データを選択する。Ｓ４０３で選択された学習データを、選択データとする。また、以下のＳ４０４〜Ｓ４０６の処理では、選択データをｘとおく。
【００２３】
Ｓ４０４において、特定部３０１は、選択データに含まれる要素である各ピクセルに予め定められた摂動が加えられる場合、選択データがエンコーダ１０１に入力される際に識別器１０２から出力される出力データ（事後確率分布）に生じる変動を特定する。
識別器１０２から出力される事後確率分布は、ｇ（ｘ；θec、θcf）となる。ｋ−１ステップまでの学習における教師あり学習が、エンコーダ１０１と識別器１０２とに対して行われている。それにより、データ識別器１００への入力データがクラス１〜クラスＫそれぞれに属する確率を、教師あり学習が行われていない場合に比べて精度よく求めることができるようになっていることが期待できる。そのため、データ識別器１００は、入力データが属するクラスの絞り込みがある程度可能な状態と仮定できる。そのため、識別器１０２の出力であるｇ1（ｘ；θec、θcf）〜ｇK（ｘ；θec、θcf）のうち、値が大きいものから選択された一部の出力に対応するクラスが、ｘの属するクラスの候補とみなすことができる。
【００２４】
そこで、本実施形態では、識別器１０２の出力であるｇ1（ｘ；θec、θcf）〜ｇK（ｘ；θec、θcf）のうち、値が最大の物から予め定められた数Ｋ’（１＜＝Ｋ’＜＝Ｋ）個について着目する。このＫ’個のｇn（ｘ；θec、θcf）（１＜＝ｎ＜＝Ｋ）に対応するクラスが、ｘの属するクラスの候補となる。以下では、このＫ’個のｇn（ｘ；θec、θcf）（１＜＝ｎ＜＝Ｋ）に対応するクラスを、ｘが属するクラスの候補である候補クラスとする。
識別器１０２の出力のうち、大きいものから選択されたＫ’個の出力は、ｘが候補クラスに属する確率を示す重要な部分となる。そこで、本実施形態では、特定部３０１は、選択データｘの各ピクセルに摂動が加えられた場合に、ｇ1（ｘ；θec、θcf）〜ｇK（ｘ；θec、θcf）のうち値が最大の物から選択されたＫ’個に生じる摂動を特定する。より具体的には、特定部３０１は、以下のような処理を実行する。
【００２５】
特定部３０１は、ｇ1（ｘ；θec、θcf）〜ｇK（ｘ；θec、θcf）を大きさ順に整列させる。そして、特定部３０１は、整列させたｇ1（ｘ；θec、θcf）〜ｇK（ｘ；θec、θcf）を、以下の式２に示すように、ｇｉ1（ｘ；θec、θcf）〜ｇｉK（ｘ；θec、θcf）とおく。
【００２６】
【数２】
2020067954.tif 000004
【００２７】
そして、特定部３０１は、ｇｉ1（ｘ；θec、θcf）〜ｇｉK（ｘ；θec、θcf）から値が大きいものから順にＫ’個（ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf））を選択する。
そして、特定部３０１は、選択した関数ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）の情報を用いて、以下の式３で表されるスカラー値関数ｓ(pixel)（ｘ）を決定する。
【００２８】
【数３】
2020067954.tif 000005
【００２９】
式３におけるβは、予め定められた１以上の整数である。この関数ｓ(pixel)（ｘ）は、ｘが候補クラスに属する確からしさの度合を示す。特定部３０１は、ｘの各ピクセルに摂動が加えられた場合に、関数ｓ(pixel)（ｘ）に生じる摂動を、ｘに摂動が加えられた場合に識別器１０２の出力データに生じる変動として特定する。より具体的には、特定部３０１は、以下の式４を用いて、関数ｓ(pixel)（ｘ）のｘの各ピクセルに対する勾配を求める。
【００３０】
【数４】
2020067954.tif 000006
【００３１】
式４におけるｓｓ(pixel)（ｘ）は、関数ｓ(pixel)（ｘ）のｘの各ピクセルに対する勾配を示す関数である。ｘは、サイズがＮｒ×Ｎｃであり、チャネル数がＮｄの画像データである。そのため、式４におけるｒは、Ｎｒ×Ｎｃ×Ｎｄ次元のベクトルであり、各要素がｘのチャネルごとの各ピクセルにおけるピクセル値の変動量を示す。
特定部３０１は、式４を用いて求めた勾配に基づいて、ｘの各ピクセルの摂動に応じて識別器１０２の出力ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）に生じる変動の度合を特定する。より具体的には、特定部３０１は、式４を用いて求めた勾配に基づいて、以下の式５を用いて、感度行列Ｗ（ｘ）を求める。これにより、特定部３０１は、ｘの各ピクセルの摂動に応じて識別器１０２の出力ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）に生じる変動の度合を特定する。
【００３２】
【数５】
2020067954.tif 000007
【００３３】
感度行列Ｗ（ｘ）の（ｉ、ｊ）要素は、ｘの（ｉ、ｊ）座標のピクセルが摂動した場合に、ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）に生じる変動の度合を示す値である。式５を用いて求められたＷ（ｘ）は、「すべての要素が非負の実数で、それらの総和が１」となる行列である。
【００３４】
Ｓ４０５において、生成部３０２は、選択データｘから、エンコーダ１０１とデコーダ１０３とに対して行われる教師なし学習に用いられる教師なし学習用データを生成する。以下では、Ｓ４０５で選択データｘから生成される教師なし学習用データを、ｘproxy（ｘ）とおく。また、ｘproxy（ｘ）に対応する仮のラベルデータをｙproxy（ｘ）とする。本実施形態では、生成部３０２は、Ｓ４０５で、ｘproxy（ｘ）とｙproxy（ｘ）とを生成する。
本実施形態では、学習部３０４は、エンコーダ１０１とデコーダ１０３とに対して、ｘproxy（ｘ）と、対応するラベルデータであるｙproxy（ｘ）とを用いて学習を行う。ｙproxy（ｘ）は、与えられたラベルデータではなく、ｘproxy（ｘ）のラベルデータとして疑似的に生成された仮のラベルデータであるため、ｘproxy（ｘ）とｙproxy（ｘ）とを用いて行われる学習は、教師なし学習である。
【００３５】
以下で、Ｓ４０５の処理の詳細を説明する。
生成部３０２は、Ｓ４０２で取得された関数ｇの情報に基づいて、以下の式６に示されるスカラー値関数ｓ(direction)（ｘ、ｒ）を決定する。式６に示されるｓ(direction)（ｘ、ｒ）は、選択データｘを引数とする関数ｇの値と、ｘに摂動が加えられたｘ＋ξｒを引数とする関数ｇの値と、のＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒダイバージェンスを示す。
【００３６】
【数６】
2020067954.tif 000008
【００３７】
式６におけるＨは、引数同士のＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒダイバージェンスを示す関数であり、引数同士が一致すると最小値０を返す。また、ｒは、単位長テンソルを示す。また、ξは、予め定められた正数である。Ｈは、引数同士のクロスエントロピーを示す関数としてもよい。この場合、Ｈは、引数同士が一致すると、０でない最小値を返すこととする。
生成部３０２は、ｓ(direction)（ｘ、ｒ）を最大化するｒを求める。生成部３０２は、例えば、以下の参考文献１に記載の方法を用いて、ｓ(direction)（ｘ、ｒ）を最大化するｒを求める。
参考文献１：Ｔ．  Ｍｉｙａｔｏ、  Ｓ．  Ｍａｅｄａ、  Ｍ．  Ｋｏｙａｍａ、  ａｎｄ  Ｓ．  Ｉｓｈｉｉ．  Ｖｉｒｔｕａｌ  ａｄｖｅｒｓａｒｉａｌ  ｔｒａｉｎｉｎｇ：  ａ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ  ｍｅｔｈｏｄ  ｆｏｒ  ｓｕｐｅｒｖｉｓｅｄ  ａｎｄ  ｓｅｍｉ−ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ．  ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１７０４．０３９７６、  ２０１７．
【００３８】
生成部３０２は、ｓ(direction)（ｘ、ｒ）を最大化するｒを求めて、求めたｒをｘの最大感度方向ｒ(direction)（ｘ）とする。即ち、選択データｘに対して、ｒ(direction)（ｘ）の方向に摂動を加えることで、最も識別器１０２の出力が変動することとなる。
生成部３０２は、以下の式７を用いて、選択データｘに対して、最大感度方向ｒ(direction)（ｘ）の方向に摂動を加えたデータである摂動データを生成する。
ｘperturbation（ｘ）＝ｘ＋ε｜｜ｘ｜｜ｒ(direction)（ｘ）      （７）
式７のｘperturbation（ｘ）は、摂動データを示す。また、εは、予め定められた正数である。
【００３９】
生成部３０２は、選択データｘの２次元ピクセル空間を、互いに重複しない予め定められた自然数であるＱ個の領域に分割する。以下では、分割された複数の領域をΩq（ｑ＝１、２、・・・、Ｑ）と表す。また、Ω1〜ΩQの集合を領域集合｛Ω｝とする。
そして、生成部３０２は、以下の式８を用いて、Ωqそれぞれについて、Ωqに摂動が加えられた場合にｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）に生じる変動の度合を示す領域感度ｗ（Ωq）を求める。領域感度ｗ（Ωq）は、選択データｘの全てのチャネルにおいて、Ωqに含まれるピクセルのピクセル値を摂動させた場合にｓ(pixel)（ｘ）が変動する感度を示す。
【００４０】
【数７】
2020067954.tif 000009
【００４１】
式８におけるＷi、j（ｘ）は、感度行列Ｗ（ｘ）の（ｉ、ｊ）要素である。
生成部３０２は、領域感度ｗ（Ω1）〜ｗ（ΩQ）を、以下の式９に示すように、大きさ順に整列させる。
【００４２】
【数８】
2020067954.tif 000010
【００４３】
式９におけるΩq1〜ΩqQは、大きさ順に整列された領域感度ｗ（Ω1）〜ｗ（ΩQ）に対応して並べ替えられたΩ1〜ΩQである。領域Ωqm（１＜＝ｍ＜＝Ｑ）は、ｍが小さいほど、ｓ(pixel)（ｘ）への感度（ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）への感度）の高い領域となる。生成部３０２は、Ωq1〜ΩqQから、予め定められたＱ’ （Ｑ’：０以上Ｑ以下の予め定められた整数）個の領域Ωq1〜ΩqQ'を抽出する。そして、生成部３０２は、抽出したΩq1〜ΩqQ'のうちΩqm（ｍ：Ｑ’以下の偶数）となる領域の集合を、領域集合｛Ωqm｝として取得する。即ち、｛Ωqm｝は、Ωq2、Ωq4、・・・、Ωqp（ｐ：Ｑ’以下の最大の偶数）の集合である。
本実施形態では、生成部３０２は、Ωqm（ｍ：Ｑ’以下の偶数）の集合を、｛Ωqm｝として取得することとした。しかし、生成部３０２は、Ωqm（ｍ：Ｑ’以下の偶数）の集合を、｛Ωqm｝として取得しないこととしてもよい。その場合、生成部３０２は、例えば、Ωqm（ｍ：Ｑ’以下の奇数）の集合を、｛Ωqm｝として取得してもよい。また、生成部３０２は、抽出したΩq1〜ΩqQ'から予め定められた個数だけランダムに領域を選択し、選択した領域の集合を｛Ωqm｝として取得してもよい。
そして、生成部３０２は、摂動データｘperturbation（ｘ）と、｛Ωqm｝と、に基づいて、以下の式１０を用いて、ｘproxy（ｘ）を生成する。
【００４４】
【数９】
2020067954.tif 000011
【００４５】
生成されたｘproxy（ｘ）は、ｘから生成されたｘperturbation（ｘ）のうち、ｓ(pixex)（ｘ）に対する感度が相対的に高い領域の要素を、ｘのピクセル値の平均値とするように摂動が加えられた画像となる。式１０を用いて生成されたｘproxy（ｘ）は、学習データに摂動が加えられたデータであり、教師なし学習に用いられるデータである摂動学習データの一例である。
また、生成部３０２は、以下の式１１を用いて、ｙproxy（ｘ）を生成する。
ｙproxy（ｘ）＝ｘ      （１１）
本実施形態では、ｘproxy（ｘ）は、ｘに、ｒ(direction)（ｘ）方向への摂動と、ｓ(pixex)（ｘ）に対する感度が相対的に高い領域への摂動と、が加えられたデータとなっている。このように、ｘproxy（ｘ）は、ｘに対して、識別器１０２の出力への影響が相対的に高い部分に摂動が加えられたデータとなっている。このようなｘproxy（ｘ）を用いて学習を行うことで、以下の効果が期待できる。即ち、エンコーダ１０１に入力されるデータが、識別器１０２の出力への影響が相対的に高い部分にノイズが乗っている場合でも、より精度よく特徴量を抽出できるようにエンコーダ１０１を学習できることが期待できる。
以上の処理により、生成部３０２は、エンコーダ１０１とデコーダ１０３とに対する教師なし学習用データを生成する。Ｓ４０５で、選択データｘに摂動を加えることで生成されたｘproxy（ｘ）は、摂動データの一例である。
【００４６】
Ｓ４０６において、決定部３０３は、Ｓ４０５で生成された教師なし学習用データを用いたエンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数を決定する。
本実施形態では、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数ｌ(unsupervised)（ｘ）のひな形の情報が、補助記憶装置２０３に記憶されているとする。決定部３０３は、補助記憶装置２０３から、以下の式１２で表される評価関数ｌ(unsupervised)（ｘ）のひな形の情報を取得する。
【００４７】
【数１０】
2020067954.tif 000012
【００４８】
式１２の関数ｙ（ｘproxy（ｘ））は、ｘproxy（ｘ）がエンコーダ１０１に入力された際に、デコーダ１０３から出力されるデータを示す関数である。関数ｙは、エンコーダ１０１の内部パラメータθecと、デコーダの内部パラメータθestと、引数となるｘproxy（ｘ）と、から値が定まる関数である。
決定部３０３は、式１２のＷi、j（ｘ）に、Ｓ４０４で生成された感度行列Ｗ（ｘ）の（ｉ、ｊ）要素の値を代入した式を、エンコーダ１０１とデコーダ１０３との学習に用いられる評価関数ｌ(unsupervised)（ｘ）として決定する。
式１２の評価関数は、ｘに摂動が加えられたｘproxy（ｘ）の復元データとｘとの差分を評価する関数である。そのため、式１２の評価関数を用いて学習を行うことで、ノイズが乗っているデータがエンコーダ１０１に入力された場合でも、デコーダ１０３は、ノイズが乗っていいないデータを復元できるように学習されることが期待できる。即ち、エンコーダ１０１は、ノイズの乗っているデータから、ノイズの影響をより省いた本質的な特徴を示す特徴量を抽出できるように学習されることが期待できる。
【００４９】
また、式１２の評価関数は、ｘproxy（ｘ）の復元データとｘとの差分を、識別器１０２の出力データに対する影響に応じた要素毎の重みを考慮して評価する関数であり、以下のような性質を有する。即ち、識別器１０２の出力に対する影響の大きい部分程、Δi、j、k（ｘ）2に掛け合わされる重みが大きくなるため、より大きく評価されるという性質である。これにより、この評価関数を用いた学習は、識別器１０２の出力に対する影響の大きい部分程、エンコーダ１０１に入力されるデータと、デコーダ１０３から出力されるデータと、の差分がより小さくなるように、進んでいくことが期待できる。
そのため、エンコーダ１０１は、識別器１０２の出力に対する影響の大きい部分の特徴を、その他の部分の特徴よりも、より反映した特徴量を抽出するように学習されることが期待できる。
【００５０】
Ｓ４０７において、決定部３０３は、Ｓ４０１で取得したミニバッチに含まれる学習データ全てについて、Ｓ４０３で選択データとして選択されたか否かを判定する。決定部３０３は、Ｓ４０１で取得したミニバッチに含まれる学習データ全てについて、Ｓ４０３で選択データとして選択されたと判定した場合、処理をＳ４０８に進める。また、決定部３０３は、Ｓ４０１で取得したミニバッチに含まれる学習データの中に、Ｓ４０３で選択データとして選択されていない学習データがあると判定した場合、処理をＳ４０３に進める。
Ｓ４０８において、取得部３００は、ミニバッチからラベル付きデータを、教師あり学習用の学習データとして選択する。以下のＳ４０９の処理において、Ｓ４０８で選択された学習データを、ｘとおく。
【００５１】
Ｓ４０９において、決定部３０３は、以下の式１３に示すｌ(supervised)（ｘ）を、エンコーダ１０１と識別器１０２との教師あり学習に用いられる評価関数として決定する。
ｌ(supervised)（ｘ）＝ｔ（ｘ）とｇ（ｘ；θｅｃ、θｃｆ）とのクロスエントロピー    （１３）
Ｓ４１０において、決定部３０３は、Ｓ４０１で取得したミニバッチに含まれるラベル付きデータ全てについて、Ｓ４０８で選択されたか否かを判定する。決定部３０３は、Ｓ４０１で取得したミニバッチに含まれるラベル付きデータ全てについて、Ｓ４０８で選択したと判定した場合、処理をＳ４０９に進める。また、決定部３０３は、Ｓ４０１で取得したミニバッチに含まれるラベル付きデータの中に、Ｓ４０８で選択していないラベル付きデータがあると判定した場合、処理をＳ４０８に進める。
【００５２】
Ｓ４１１において、学習部３０４は、ミニバッチと、Ｓ４０９で決定したｌ(supervised)と、Ｓ４０５で生成した教師なし学習用データと、Ｓ４０６で決定したｌ(unsupervised)と、に基づいて、データ識別器１００の半教師あり学習を実行する。Ｓ４１１の処理の詳細について説明する。
学習部３０４は、データ識別器１００の半教師あり学習に用いる最終的な評価関数Ｌを、以下の式１４のように決定する。
【００５３】
【数１１】
2020067954.tif 000013
【００５４】
式１４のＸlabelmbは、ミニバッチに含まれるラベル付きデータの集合である。また、ｍlabelは、ミニバッチに含まれるラベル付きデータの数である。また、Ｘnolabelmbは、ミニバッチに含まれるラベルなしデータの集合である。また、ｍnolabelは、ミニバッチに含まれるラベルなしデータの数である。また、ρは、予め定められたチューニングパラメータである。また、ｌ(supervised)は、Ｓ４０９で決定した教師あり学習用の評価関数である。また、ｌ(unsupervised)は、Ｓ４０６で決定した教師あり学習用の評価関数である。
ただし、学習部３０４は、データ識別器１００の半教師あり学習に用いる最終的な評価関数Ｌを、式１４ではなく、以下の式１５のように決定してもよい。
【００５５】
【数１２】
2020067954.tif 000014
【００５６】
学習部３０４は、ミニバッチと、Ｓ４０９で決定した評価関数ｌ(supervised)と、Ｓ４０５で決定した学習データと、Ｓ４０６で決定した評価関数ｌ(unsupervised)と、に基づいて、Ｌを、以下のように変形する。即ち、学習部３０４は、Ｌを、θecとθcfとθestとのみを変数とする式に変形する。そして、学習部３０４は、Ｌの値を減少させるように、ＳＧＤ（ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）を用いて、θecとθcfとθestとの値を更新する。
【００５７】
（効果）
以上、本実施形態では、情報処理装置２００は、データ識別器１００の半教師あり学習における教師なし学習を以下のように行うこととした。即ち、情報処理装置２００は、エンコーダ１０１に入力されるデータに応じて識別器１０２からどのようなデータが出力されるかを示す情報である関数ｇに基づいて、エンコーダ１０１とデコーダ１０３との教師なし学習を行うこととした。エンコーダ１０１と識別器１０２とは、教師あり学習の対象である。そのため、関数ｇは、教師あり学習の結果を反映する情報となる。このように、情報処理装置２００は、教師あり学習の結果を、教師なし学習に反映させることができる。
これにより、情報処理装置２００は、教師なし学習と教師あり学習との競合の可能性を低減し、半教師あり学習における学習の効果の低減を防止することができる。
【００５８】
（変形例１）
本実施形態では、データ識別器１００は、識別器１０２の出力データにソフトマックス関数を施し、入力データが複数のクラスそれぞれに属する確率を出力する情報変換器であるとした。しかし、データ識別器１００は、ソフトマックス関数を用いずに、識別器１０２の出力データを、入力されるデータの特性を示すデータとしてそのまま出力する情報変換器であることとしてもよい。
（変形例２）
本実施形態では、識別器１０２は、エンコーダ１０１への入力データの特性を示すデータとして、入力データが複数のクラスそれぞれに属する確からしさを示すデータを出力する情報変換器であることとした。しかし、識別器１０２は、このようなデータを出力しないこととしてもよい。その場合、識別器１０２は、例えば、入力データの特徴を表すベクトルのデータを出力する情報変換器であることとしてもよい。
例えば、データ識別器１００は、画像である入力データの複数の領域それぞれの特性を示す数値ベクトルを出力することとしてもよい。このような場合、例えば、データ識別器１００は、出力する数値ベクトルの要素のうち、予め定められたオブジェクト（例えば、疵等）の領域に対応する要素については１以上の値、その他の領域に対応する要素については１未満の値とする。
【００５９】
（変形例３）
本実施形態では、特定部３０１は、Ｓ４０４で、式３〜式５を用いて、感度行列Ｗを求めることとした。しかし、特定部３０１は、式３〜式５を用いずに、感度行列Ｗを求めることとしてもよい。例えば、特定部３０１は、以下のようにして、感度行列Ｗを求めてもよい。
例えば、特定部３０１は、Ｓ４０４で、実施形態１と同様に、関数ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）を選択する。そして、特定部３０１は、選択した関数ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）の情報を用いて、以下の式１６で表されるＫ’個のスカラー値関数ｓm(pixel)（ｘ）（ｍ＝１、２、・・・、Ｋ’）を決定する。
【００６０】
【数１３】
2020067954.tif 000015
【００６１】
この関数ｓm(pixel)（ｘ）の値は、ｘがｇｉmに対応する候補クラスに属する確からしさの度合を示す。特定部３０１は、関数ｓm(pixel)（ｘ）それぞれについて、ｘの各ピクセルに摂動が加えられた場合に、関数ｓm(pixel)（ｘ）に生じる摂動を特定する。より具体的には、特定部３０１は、以下の式１７を用いて、関数ｓm(pixel)（ｘ）のｘの各ピクセルに対する勾配を求める。
【００６２】
【数１４】
2020067954.tif 000016
【００６３】
式１７におけるｓｓm(pixel)（ｘ）は、関数ｓm(pixel)（ｘ）のｘの各ピクセルに対する勾配を示す。
そして、特定部３０１は、ｓｓm(pixel)（ｘ）に基づいて、以下の式１８を用いて、ｘに摂動が加えられた場合に識別器１０２の出力データに生じる摂動を示す関数ｓｓ(pixel)（ｘ）を求める。
【００６４】
【数１５】
2020067954.tif 000017
【００６５】
式１８におけるβは、予め定められた１以上の整数である。特定部３０１は、式１８を用いてｓｓ(pixel)（ｘ）に基づいて、ｘの各ピクセルの摂動に応じて識別器１０２の出力ｇｉ1（ｘ；θec、θcf）〜ｇｉK'（ｘ；θec、θcf）に生じる摂動の度合を特定する。より具体的には、特定部３０１は、ｓｓ(pixel)（ｘ）に基づいて、以下の式１９を用いて、感度行列Ｗ（ｘ）を求める。
【００６６】
【数１６】
2020067954.tif 000018
【００６７】
式１９を用いて求められたＷ（ｘ）は、「すべての要素が非負の実数で、それらの総和が１」となる行列となる。
【００６８】
（変形例４）
本実施形態では、生成部３０２は、Ｓ４０５で、最大化するｓ(direction)（ｘ）として、式６の関数を用いた。しかし、生成部３０２は、ｓ(direction)（ｘ）として、式６の関数を用いなくてもよい。例えば、生成部３０２は、最大化するｓ(direction)（ｘ）として、以下の式２０に示す関数を用いてもよい。
【００６９】
【数１７】
2020067954.tif 000019
【００７０】
（変形例５）
本実施形態１では、生成部３０２は、Ｓ４０５で、ｘproxy（ｘ）として、ｘperturbationに対して、感度行列Ｗに基づいて定められた領域へ摂動を加えた画像のデータを生成した。しかし、生成部３０２は、Ｓ４０５で、ｘproxy（ｘ）として、ｘperturbationに対して、感度行列Ｗに基づいて定められた領域へ摂動を加えた画像のデータを生成しなくてもよい。
例えば、生成部３０２は、Ｓ４０５で、ｘproxy（ｘ）として、ｘに対して、感度行列Ｗに基づいて定められた領域へ摂動を加えた画像のデータを生成してもよい。また、生成部３０２は、Ｓ４０５で、ｘproxy（ｘ）として、ｘperturbationを生成してもよい。
【００７１】
（変形例６）
本実施形態では、情報処理装置２００は、出力情報である関数ｇに基づいて、エンコーダ１０１とデコーダ１０３との教師なし学習用データを生成し、かつ、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数を決定した。しかし、情報処理装置２００は、関数ｇに基づいて、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数を決定し、エンコーダ１０１とデコーダ１０３との教師なし学習用データを生成しないこととしてもよい。
その場合、情報処理装置２００は、Ｓ４０５で、選択データｘに摂動を加えずそのままのｘをｘproxy（ｘ）として決定し、ｙproxy（ｘ）をｘとして決定してもよい。
【００７２】
（変形例７）
本実施形態では、生成部３０２は、Ｓ４０５で、教師なし学習用データとして、ｘproxy（ｘ）とｙproxy（ｘ）とを生成することとした。しかし、生成部３０２は、ｙproxy（ｘ）を生成しないこととしてもよい。
その場合、決定部３０３は、Ｓ４０６で、補助記憶装置２０３から、以下の式２１で表される評価関数ｌ(unsupervised)（ｘ）のひな形の情報を取得する。
【００７３】
【数１８】
2020067954.tif 000020
【００７４】
そして、決定部３０３は、式２１のＷi、j（ｘ）に、Ｓ４０４で生成された感度行列Ｗ（ｘ）の（ｉ、ｊ）要素の値を代入した式を、エンコーダ１０１とデコーダ１０３との学習に用いられる評価関数ｌ(unsupervised)（ｘ）として決定する。
【００７５】
（変形例８）
本実施形態では、情報処理装置２００は、同時実行により、データ識別器１００に対する半教師あり学習を行うこととした。しかし、情報処理装置２００は、同時実行ではなく、交互実行により、データ識別器１００に対する半教師あり学習を行うこととしてもよい。
その場合、学習部３０４は、Ｓ４１１で以下のような処理を行う。
学習部３０４は、Ｓ４０５で生成した教師なし学習用データと、Ｓ４０６で決定したｌ(unsupervised)と、に基づいて、エンコーダ１０１とデコーダ１０３との教師なし学習を実行する。
より具体的には、学習部３０４は、エンコーダ１０１とデコーダ１０３との教師なし学習に用いる最終的な評価関数Ｌ(unsupervised)を、以下の式２２のように決定する。ただし、学習部３０４は、Ｌ(unsupervised)を、式２２ではなく、以下の式２３のように決定してもよい。
【００７６】
【数１９】
2020067954.tif 000021
【００７７】
学習部３０４は、Ｓ４０５で決定した教師なし学習用データと、Ｓ４０６で決定した評価関数ｌ(unsupervised)と、に基づいて、Ｌ(unsupervised)を、以下のように変形する。即ち、学習部３０４は、Ｌ(unsupervised)を、θecとθestとのみを変数とする式に変形する。そして、学習部３０４は、Ｌ(unsupervised)の値を減少させるように、ＳＧＤを用いて、θecとθestとの値を更新する。このように、学習部３０４は、エンコーダ１０１とデコーダ１０３との教師なし学習を行う。
そして、学習部３０４は、エンコーダ１０１と識別器１０２との教師あり学習に用いる最終的な評価関数Ｌ(supervised)を、以下の式２４のように決定する。
【００７８】
【数２０】
2020067954.tif 000022
【００７９】
学習部３０４は、ミニバッチと、Ｓ４０９で決定した評価関数ｌ(supervised)と、に基づいて、Ｌ(supervised)を、以下のように変形する。即ち、学習部３０４は、Ｌ(supervised)を、θecとθcfとのみを変数とする式に変形する。そして、学習部３０４は、Ｌ(supervised)の値を減少させるように、ＳＧＤを用いて、θｅｃとθｃｆとの値を更新する。このように、学習部３０４は、エンコーダ１０１とデコーダ１０３との教師なし学習を行う。
以上のようにして、情報処理装置２００は、交互実行による半教師あり学習を実行することとしてもよい。
【００８０】
（変形例９）
本実施形態では、情報処理装置２００は、関数ｇに基づいて、エンコーダ１０１とデコーダ１０３との教師なし学習用データを生成し、かつ、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数を決定した。しかし、情報処理装置２００は、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる学習データを生成し、エンコーダ１０１とデコーダ１０３との教師なし学習に用いられる評価関数を決定しないこととしてもよい。
その場合、決定部３０３は、Ｓ４０６で、ｌ(unsupervised)を以下の式２５として決定する。
【００８１】
【数２１】
2020067954.tif 000023
【００８２】
式２５の評価関数ｌ(unsupervised)は、感度行列Ｗを用いた重み付けがされておらず、関数ｇから求まる評価関数ではない。
【００８３】
（変形例１０）
本実施形態では、生成部３０２は、Ｓ４０５で、ｙproxy（ｘ）を、ｘとして決定した。しかし、生成部３０２は、Ｓ４０５で、ｙproxy（ｘ）を、ｘとして決定しなくてもよい。例えば、生成部３０２は、Ｓ４０５で、ｙproxy（ｘ）を、選択データｘに含まれる｛Ωqm｝の領域のデータとして決定してもよい。
その場合、決定部３０３は、教師なし学習用の評価関数ｌ(unsupervised)として、ｙ（ｘproxy（ｘ））における｛Ωqm｝の領域と、ｙproxy（ｘ）と、の差分を評価する関数を決定する。
【００８４】
＜実施形態２＞
データ識別器１００が入力された画像について、複数のクラスそれぞれに属する事後確率分布を示す出力データを出力する認識器である場合、以下のような知見が得られる。即ち、データ識別器１００の学習に用いられるラベルなしの学習データについて、各学習データが属するクラスは不明であるが、各学習データが必ずこの複数のクラスの何れかに属することが分かっているという知見である。
本実施形態では、このような知見が得られた場合において、情報処理装置２００が、この知見に基づいて、より適切にデータ識別器１００を学習する処理について説明する。
本実施形態の情報処理装置２００のハードウェア構成、機能構成は、実施形態１と同様である。
本実施形態の処理は、実施形態１と比べて、Ｓ４１１の処理で用いられる評価関数Ｌが異なる。実施形態１との違いを中心に本実施形態の処理を説明する。
【００８５】
本実施形態では、情報処理装置２００は、以下の式２６で表される評価関数ｌEPを用いた学習を行う。
【００８６】
【数２２】
2020067954.tif 000024
【００８７】
関数ｌEP中の関数ｇ（ｘ）は、データｘがエンコーダ１０１に入力された際に識別器１０２から出力されるデータを示し、ｘがクラスｊに属する事後確率（０以上１以下の何れかの値）を示す関数である。ｌEPは、ｘが入力された場合にデータ識別器１００から出力される事後確率分布が、１つのクラスに属する確率が１で他のクラスに属する確率が０となる分布に近い程、最小値である０に近づく関数である。ｌEPは、画像ｘが入力された場合にデータ識別器１００から出力される確率分布同士の関係に関する指標の一例である。
本実施形態のＬは、以下の式２７で表される。ただし、Ｌは、式２７ではなく、以下の式２８で表されることとしてもよい。
【００８８】
【数２３】
2020067954.tif 000025
【００８９】
学習部３０４は、式２７の評価関数Ｌを用いて、Ｓ４１１で、データ識別器１００を学習する。
【００９０】
以上、本実施形態の処理により、情報処理装置２００は、より適切にデータ識別器１００を学習することができる。
【００９１】
＜その他の実施形態＞
実施形態１、２では、情報処理装置２００は、単体の情報処理装置であるとした。しかし、情報処理装置２００は、ネットワーク（ＬＡＮやインターネット）を介して相互に通信可能に接続された複数の情報処理装置を含むシステムとして構成されることとしてもよい。その場合、情報処理装置２００に含まれる複数の情報処理装置それぞれのＣＰＵが、それぞれの情報処理装置の補助記憶装置に記憶されたプログラムに基づき処理を連携して実行することで、図３の機能及び図４のフローチャートの処理等が実現される。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した情報処理装置２００の機能構成の一部又は全てをハードウェアとして情報処理装置２００に実装してもよい。
【符号の説明】
【００９２】
２００  情報処理装置
２０１  ＣＰＵ
【図１】
2020067954.tif 000026
【図２】
2020067954.tif 000027
【図３】
2020067954.tif 000028
【図４】
2020067954.tif 000029