(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120589
(43)【公開日】2024-09-05
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06N 3/0895 20230101AFI20240829BHJP
G06N 3/045 20230101ALI20240829BHJP
G06F 18/2132 20230101ALI20240829BHJP
G06F 16/906 20190101ALI20240829BHJP
【FI】
G06N3/0895
G06N3/045
G06F18/2132
G06F16/906
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023027473
(22)【出願日】2023-02-24
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】泊口 万里子
(72)【発明者】
【氏名】山本 康平
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FA03
5B175HB03
(57)【要約】 (修正有)
【課題】学習用データが属するデータセットが既知ではない状況にも適用可能な技術であり、かつ、データセット内のデータ分布への依存度合いが低減された特徴量を抽出する特徴抽出器を生成する。
【解決手段】学習装置10は、入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、入力データに基づく複数のデータそれぞれの特徴量を抽出する特徴抽出部と、入力データに基づく複数のデータそれぞれの特徴量に基づく類似度を算出する類似度算出部と、類似度に基づく第1の評価結果を出力する類似度評価部と、入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力するドメイン適応部と、クラスタに関する情報に基づく第2の評価結果を出力するドメイン評価部と、第1の評価結果と第2の評価結果とに基づいて、第1のニューラルネットワークの重みパラメータを更新する更新部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、前記複数のデータそれぞれの特徴量を抽出する特徴抽出部と、
前記複数のデータそれぞれの特徴量に基づく類似度を算出する類似度算出部と、
前記類似度に基づく第1の評価結果を出力する第1の評価部と、
前記入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力する出力部と、
前記クラスタに関する情報に基づく第2の評価結果を出力する第2の評価部と、
前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワークの重みパラメータを更新する更新部と、
を備える、情報処理装置。
【請求項2】
前記出力部は、
前記入力データの特徴量に対するクラスタリングによりクラスタリング結果を得るクラスタリング部と、
前記入力データの特徴量に基づいてクラスを識別してクラス識別結果を前記クラスタに関する情報として出力するクラス識別部と、
を備え、
前記第2の評価部は、前記クラスタリング結果と前記クラス識別結果とに基づく前記第2の評価結果を出力する、
請求項1に記載の情報処理装置。
【請求項3】
前記出力部は、
前記重みパラメータの更新に際して、前記クラス識別部から前記クラスタリング部に出力される勾配の正負を反転させる勾配反転部を備える、
請求項2に記載の情報処理装置。
【請求項4】
前記クラス識別部は、前記特徴量と、第2のニューラルネットワークとに基づいて前記クラスを識別して前記クラス識別結果を算出し、
前記更新部は、前記第2の評価結果に基づいて、前記第2のニューラルネットワークの重みパラメータを更新する、
請求項2に記載の情報処理装置。
【請求項5】
前記出力部は、
前記入力データの特徴量に対するクラスタリングにより得られるクラスタリング結果を、前記クラスタに関する情報として出力するクラスタリング部を備え、
前記第2の評価部は、前記クラスタリング結果に基づいて、前記第2の評価結果を出力する、
請求項1に記載の情報処理装置。
【請求項6】
前記第2の評価部は、前記クラスタリング結果に基づいてクラスタ間の距離の和を算出し、前記クラスタ間の距離の和に基づいて前記第2の評価結果を出力する、
請求項5に記載の情報処理装置。
【請求項7】
前記第2の評価部は、前記クラスタ間の距離の和を前記第2の評価結果として算出する、
請求項6に記載の情報処理装置。
【請求項8】
前記第2の評価部は、前記クラスタリング結果に基づいてクラスタ内における特徴量同士の距離の和を算出し、前記クラスタ間の距離の和と前記クラスタ内における特徴量同士の距離の和とに基づいて、前記第2の評価結果を算出する、
請求項6に記載の情報処理装置。
【請求項9】
前記第1の評価結果は、第1の損失であり、
前記第2の評価結果は、第2の損失であり、
前記更新部は、前記第1の損失と前記第2の損失とに基づいて誤差伝播法により前記重みパラメータを更新する、
請求項1に記載の情報処理装置。
【請求項10】
前記複数のデータは、前記入力データ、前記入力データに対応する正例および前記入力データに対応する負例を含み、
前記類似度算出部は、前記複数のデータそれぞれの特徴量に基づく類似度として、前記入力データの特徴量と前記正例の特徴量との類似度、および、前記入力データの特徴量と前記負例の特徴量との類似度を算出し、
前記第1の評価部は、前記入力データの特徴量と前記正例の特徴量との類似度および前記入力データの特徴量と前記負例の特徴量との類似度に基づく前記第1の評価結果を出力する、
請求項9に記載の情報処理装置。
【請求項11】
前記第1の評価部は、前記入力データの特徴量と前記正例の特徴量との類似度が高いほど、前記第1の損失が小さくなるように、前記第1の損失を算出する、
請求項10に記載の情報処理装置。
【請求項12】
前記第2の評価部は、前記入力データの特徴量と前記負例の特徴量との類似度が低いほど、前記第1の損失が小さくなるように、前記第1の損失を算出する、
請求項10に記載の情報処理装置。
【請求項13】
入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、前記複数のデータそれぞれの特徴量を抽出することと、
前記複数のデータそれぞれの特徴量に基づく類似度を算出することと、
前記類似度に基づく第1の評価結果を出力することと、
前記入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力することと、
前記クラスタに関する情報に基づく第2の評価結果を出力する第2の評価部と、
前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワークの重みパラメータを更新することと、
を含む、コンピュータにより実行される情報処理方法。
【請求項14】
コンピュータを、
入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、前記複数のデータそれぞれの特徴量を抽出する特徴抽出部と、
前記複数のデータそれぞれの特徴量に基づく類似度を算出する類似度算出部と、
前記類似度に基づく第1の評価結果を出力する第1の評価部と、
前記入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力する出力部と、
前記クラスタに関する情報に基づく第2の評価結果を出力する第2の評価部と、
前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワークの重みパラメータを更新する更新部と、
を備える情報処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ニューラルネットワーク(以下、「NN」とも言う。)は、画像認識などの問題において高い性能を有する。近年では、このNNを活用した深層学習の分野において、特に自己教師有り学習が注目されている。自己教師有り学習は、学習用データとして正解データを必要としない教師無し学習の一種である。また、自己教師有り学習の一つとして対照学習も知られている。対照学習によれば、似たデータの特徴量同士は近くなるように、かつ、似ていないデータの特徴量同士は遠くなるように学習が行われる。
【0003】
このような対照学習は、画像処理分野および自然言語処理分野などにおいて特に注目されている。例えば、対照学習は、主に特徴抽出器を作るために用いられ、対照学習によりあるドメインにおいて生成された特徴抽出器は、他のドメインに転移され、転移先のドメインにおける再学習に用いられる。再学習によって生成されたモデルは、他のタスク(以下、「下流タスク」とも言う。)を解くために用いられる。
【0004】
ドメインは、データセットが有する特徴であり、例えば、風景の写真とイラストとは、互いに異なるドメインに属すると言える。また、転移元のドメインは、ソースドメインとも言われ、転移先のドメインは、ターゲットドメインとも言われる。
【0005】
画像処理分野においては、大量の学習用データを用いた対照学習により、下流タスクを解くモデルの性能が向上する傾向があることが報告されている。一方、非特許文献1には、ターゲットドメインと似ていないソースドメインのデータ(いわゆる、クロスドメインのデータ)を学習用データとして用いた対照学習により、下流タスクを解くモデルの性能は必ずしも向上しないことも報告されている。
【0006】
非特許文献2には、ソースドメインのデータを学習用データとして用いた対照学習により特徴抽出器を生成し、生成した特徴抽出器をターゲットドメインに転移する技術が開示されている。かかる技術においては、学習段階において入力データがどのデータセットのデータであるのかを予測し、予測した結果に基づいて、入力データがどのデータセットのデータであるのかを予測することができないように特徴抽出器の学習が進められる。つまり、かかる技術によれば、データセットが属するドメインへの依存度合いが小さい特徴量を抽出できるような特徴抽出器が作成される。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】Elijar Cole、他4名、"When Does Contrastive Visual Representation Learning Work?"、[online]、[令和5年2月9日検索]、インターネット<https://arxiv.org/abs/2105.05837v1>
【非特許文献2】Linus Ericsson、他3名、"Self-Supervised Representation Learning From Multi-Domain Data"、[online]、[令和5年2月9日検索]、インターネット<https://arxiv.org/abs/2110.09327>
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献2に記載された技術には、主に以下の二点に改善の余地があると考えられる。
【0009】
一点目に、非特許文献2に記載された技術では、データセットが属するドメインは考慮されるが、データセット内のデータ分布の偏りが考慮されない。したがって、学習によって生成された特徴抽出器によって抽出される特徴量は、データセットが属するドメインへの依存度合いが小さい特徴量となる一方、データセット内のデータ分布の偏りに大きく依存した特徴量となってしまう可能性がある。
【0010】
そこで、データセット内のデータ分布の偏りへの依存度合いが低減された特徴量を抽出可能な特徴抽出器が生成されることが望まれる。
【0011】
二点目に、非特許文献2に記載された技術では、学習用データが属するデータセットが既知であることが必須である点である。例えば、対照学習においては、クローリングまたはスクレイピングによって学習用データが用意される場合がある。このような場合には、データセット単位で学習用データが用意される訳ではないため、学習用データが属するデータセットが既知ではなく、非特許文献2に記載された技術が適用され得ない。
【0012】
そこで、データセットが既知ではない状況にも適用可能な学習手法が望まれる。
【0013】
そこで、本発明は、これらの問題点を解決すべく提案されたものであり、学習用データが属するデータセットが既知ではない状況にも適用可能な技術であり、かつ、データセット内のデータ分布への依存度合いが低減された特徴量を抽出する特徴抽出器を生成可能な技術が提供されることが望まれる。
【課題を解決するための手段】
【0014】
上記課題を解決するために、本発明のある観点によれば、入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、前記複数のデータそれぞれの特徴量を抽出する特徴抽出部と、前記複数のデータそれぞれの特徴量に基づく類似度を算出する類似度算出部と、前記類似度に基づく第1の評価結果を出力する第1の評価部と、前記入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力する出力部と、前記クラスタに関する情報に基づく第2の評価結果を出力する第2の評価部と、前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワークの重みパラメータを更新する更新部と、を備える、情報処理装置が提供される。
【0015】
前記出力部は、前記入力データの特徴量に対するクラスタリングによりクラスタリング結果を得るクラスタリング部と、前記入力データの特徴量に基づいてクラスを識別してクラス識別結果を前記クラスタに関する情報として出力するクラス識別部と、を備え、前記第2の評価部は、前記クラスタリング結果と前記クラス識別結果とに基づく前記第2の評価結果を出力してもよい。
【0016】
前記出力部は、前記重みパラメータの更新に際して、前記クラス識別部から前記クラスタリング部に出力される勾配の正負を反転させる勾配反転部を備えてもよい。
【0017】
前記クラス識別部は、前記特徴量と、第2のニューラルネットワークとに基づいて前記クラスを識別して前記クラス識別結果を算出し、前記更新部は、前記第2の評価結果に基づいて、前記第2のニューラルネットワークの重みパラメータを更新してもよい。
【0018】
前記出力部は、前記入力データの特徴量に対するクラスタリングにより得られるクラスタリング結果を、前記クラスタに関する情報として出力するクラスタリング部を備え、前記第2の評価部は、前記クラスタリング結果に基づいて、前記第2の評価結果を出力してもよい。
【0019】
前記第2の評価部は、前記クラスタリング結果に基づいてクラスタ間の距離の和を算出し、前記クラスタ間の距離の和に基づいて前記第2の評価結果を出力してもよい。
【0020】
前記第2の評価部は、前記クラスタ間の距離の和を前記第2の評価結果として算出してもよい。
【0021】
前記第2の評価部は、前記クラスタリング結果に基づいてクラスタ内における特徴量同士の距離の和を算出し、前記クラスタ間の距離の和と前記クラスタ内における特徴量同士の距離の和とに基づいて、前記第2の評価結果を算出してもよい。
【0022】
前記第1の評価結果は、第1の損失であり、前記第2の評価結果は、第2の損失であり、前記更新部は、前記第1の損失と前記第2の損失とに基づいて誤差伝播法により前記重みパラメータを更新してもよい。
【0023】
前記複数のデータは、前記入力データ、前記入力データに対応する正例および前記入力データに対応する負例を含み、前記類似度算出部は、前記複数のデータそれぞれの特徴量に基づく類似度として、前記入力データの特徴量と前記正例の特徴量との類似度、および、前記入力データの特徴量と前記負例の特徴量との類似度を算出し、前記第1の評価部は、前記入力データの特徴量と前記正例の特徴量との類似度および前記入力データの特徴量と前記負例の特徴量との類似度に基づく前記第1の評価結果を出力してもよい。
【0024】
前記第1の評価部は、前記入力データの特徴量と前記正例の特徴量との類似度が高いほど、前記第1の損失が小さくなるように、前記第1の損失を算出してもよい。
【0025】
前記第2の評価部は、前記入力データの特徴量と前記負例の特徴量との類似度が低いほど、前記第1の損失が小さくなるように、前記第1の損失を算出してもよい。
【0026】
また、上記課題を解決するために本発明の別の観点によれば、入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、前記複数のデータそれぞれの特徴量を抽出することと、前記複数のデータそれぞれの特徴量に基づく類似度を算出することと、前記類似度に基づく第1の評価結果を出力することと、前記入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力することと、前記クラスタに関する情報に基づく第2の評価結果を出力する第2の評価部と、前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワークの重みパラメータを更新することと、を含む、コンピュータにより実行される情報処理方法が提供される。
【0027】
また、上記課題を解決するために本発明の別の観点によれば、コンピュータを、入力データに基づく複数のデータと、第1のニューラルネットワークとに基づいて、前記複数のデータそれぞれの特徴量を抽出する特徴抽出部と、前記複数のデータそれぞれの特徴量に基づく類似度を算出する類似度算出部と、前記類似度に基づく第1の評価結果を出力する第1の評価部と、前記入力データの特徴量に対するクラスタリングに基づいて得られたクラスタに関する情報を出力する出力部と、前記クラスタに関する情報に基づく第2の評価結果を出力する第2の評価部と、前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワークの重みパラメータを更新する更新部と、を備える情報処理装置として機能させるプログラムが提供される。
【発明の効果】
【0028】
以上説明したように本発明によれば、学習用データが属するデータセットが既知ではない状況にも適用可能な技術であり、かつ、データセット内のデータ分布への依存度合いが低減された特徴量を抽出する特徴抽出器を生成可能な技術が提供される。
【図面の簡単な説明】
【0029】
【
図1】本発明の第1の実施形態に係る学習装置10の機能構成例を示す図である。
【
図2】本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例を示すフローチャートである。
【
図3】本発明の第2の実施形態に係る学習装置20の機能構成例を示す図である。
【
図4】本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例を示すフローチャートである。
【
図5】本発明の第1の実施形態に係る学習装置10の例としての情報処理装置900のハードウェア構成を示す図である。
【発明を実施するための形態】
【0030】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0031】
(0.実施形態の概要)
本発明の実施形態の概要について説明する。
【0032】
本明細書においては、学習用データが属するデータセットが既知ではない状況にも適用可能な技術であり、かつ、データセット内のデータ分布への依存度合いが低減された特徴量を抽出する特徴抽出器を生成可能な技術について主に提案する。
【0033】
なお、本発明の実施形態では、NNの学習を行う情報処理装置(以下、「学習装置」とも言う。)について説明する。学習装置においては、学習用データに基づいてNNの学習が行われる(学習段階)。その後、識別装置において、学習済みのNNとテストデータとに基づいてテスト結果が出力される(テスト段階)。
【0034】
本発明の実施形態では、学習装置と識別装置とが同一のコンピュータによって実現される場合を主に想定する。しかし、学習装置と識別装置とは、別のコンピュータによって実現されてもよい。かかる場合には、学習装置によって生成された学習済みのNNが識別装置に提供される。例えば、学習済みのNNは、学習装置から識別装置に、記録媒体を介して提供されてもよいし、通信を介して提供されてもよい。
【0035】
(1.第1の実施形態)
まず、本発明の第1の実施形態について説明する。
【0036】
(学習装置の構成)
図1を参照しながら、本発明の第1の実施形態に係る学習装置の構成例について説明する。
図1は、本発明の第1の実施形態に係る学習装置10の機能構成例を示す図である。
図1に示されるように、本発明の第1の実施形態に係る学習装置10は、データセット100と、入力部101と、特徴抽出部111と、類似度算出部112と、類似度評価部131と、更新部133と、ドメイン適応部12と、ドメイン評価部132とを備える。
【0037】
本発明の第1の実施形態においては、ドメイン適応部12は、クラスタリング部121と、勾配反転部122と、ドメイン識別部123とを備える。
【0038】
また、学習装置10は、NN11を有する。そして、NN11は、重みパラメータ110を有する。さらに、NN11は、特徴抽出部111に含まれる第1のNN(以下、「特徴抽出NN」とも言う。)と、ドメイン識別部123に含まれる第2のNN(以下、「ドメイン識別NN」とも言う。)と、を有する。特徴抽出NNには、ニューロンが含まれており、更新対象となる重みパラメータが特徴抽出NNに対応付けられている。
【0039】
なお、本発明の第1の実施形態においては、ドメイン識別NNにも、ニューロンが含まれており、更新対象となる重みパラメータがドメイン識別NNに対応付けられている場合を主に想定する。しかし、ドメイン識別NNには、ニューロンが含まれていなくてもよい。すなわち、ドメイン識別NNには、更新対象となる重みパラメータが対応付けられていなくてもよい。
【0040】
特徴抽出部111は、入力部101に接続されている。より詳細に、特徴抽出部111は、入力部101の後段に接続されている。
【0041】
類似度算出部112は、特徴抽出部111の後段に接続されている。なお、特徴抽出部111の後段は、特徴抽出部111を基準として、NN11の順方向における前方を意味し得る。ここでは、類似度算出部112が特徴抽出部111と直接的に接続されている場合を主に想定する。しかし、類似度算出部112は、特徴抽出部111と間接的に接続されていてもよい。さらに、類似度算出部112の後段には、類似度評価部131が接続されている。
【0042】
クラスタリング部121は、特徴抽出部111の後段かつ類似度算出部112と並列に接続されている。なお、特徴抽出部111の後段は、特徴抽出部111を基準として、NN11の順方向における前方を意味し得る。ここでは、クラスタリング部121が特徴抽出部111と直接的に接続されている場合を主に想定する。しかし、クラスタリング部121は、特徴抽出NNと間接的に接続されていてもよい。
【0043】
また、クラスタリング部121が類似度算出部112と並列に接続されることは、NN11における特徴抽出部111の後段が複数のルートに分岐している場合に、複数のルートのうちの一方に類似度算出部112が存在し、他方にクラスタリング部121が存在することを意味し得る。
【0044】
ドメイン識別部123は、特徴抽出部111の後段かつ類似度算出部112と並列に接続されている。ここでは、ドメイン識別部123が、クラスタリング部121および勾配反転部122を介して、特徴抽出部111と間接的に接続されている場合を主に想定する。しかし、ドメイン識別部123は、特徴抽出部111と直接的に接続されていてもよい。
【0045】
勾配反転部122は、特徴抽出部111とドメイン識別部123との間に位置している。より詳細に、勾配反転部122は、特徴抽出部111の後段に接続されており、ドメイン識別部123の前段に接続されている。ここでは、勾配反転部122が、クラスタリング部121を介して特徴抽出部111と直接的に接続されている場合を主に想定する。しかし、勾配反転部122は、特徴抽出部111と直接的に接続されていてもよい。同様に、ここでは、勾配反転部122がドメイン識別部123と直接的に接続されている場合を主に想定する。しかし、勾配反転部122は、ドメイン識別部123と間接的に接続されていてもよい。
【0046】
以下の説明においては、NN11においてNN11の順方向にデータを伝播させることを、単に「順伝播」とも言う。一方、NN11においてNN11の順方向とは逆方向(以下、単に「逆方向」とも言う。)にデータを伝播させることを、単に「逆伝播」とも言う。
【0047】
入力部101、特徴抽出部111、類似度算出部112、類似度評価部131、更新部133、クラスタリング部121、勾配反転部122、ドメイン識別部123およびドメイン評価部132などは、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などの演算装置を含み、ROM(Read Only Memory)により記憶されているプログラムが演算装置によりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。
【0048】
このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0049】
データセット100および重みパラメータ110は、図示しない記憶部によって記憶される。かかる記憶部は、RAM、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。
【0050】
(重みパラメータ110)
重みパラメータ110は、特徴抽出NNおよびドメイン識別NNそれぞれに対応する重みパラメータを含む。なお、上記したように、ドメイン識別NNがニューロンを含まない場合などには、重みパラメータ110は、ドメイン識別部123に対応する重みパラメータを含まなくてもよい。初期状態において、重みパラメータ110には、初期値が設定されている。例えば、重みパラメータ110に設定される初期値は、ランダムな値であってよいが、どのような値であってもよい。例えば、重みパラメータ110に設定される初期値は、あらかじめ学習によって得られた学習済みの値であってもよい。
【0051】
(データセット100)
データセット100は、複数の学習用データ(以下、「入力データ」とも言う。)を含んで構成される。入力データは、教師ラベルが対応付けられていないラベル無しデータである。なお、本発明の実施形態では、入力データが画像データである場合(特に、静止画像データである場合)を主に想定する。しかし、入力データの種類は特に限定されず、静止画像データ以外も入力データとして用いられ得る。例えば、入力データは、複数のフレームを含んだ動画像データであってもよいし、時系列データまたは音声データであってもよい。
【0052】
(入力部101)
入力部101は、データセット100から入力データを取得する。そして、入力部101は、取得した入力データに基づいて入力データに対応する複数のデータを得る。ここで、当該複数のデータは、入力データ、入力データに対応する正例、および、入力データに対応する負例を含み得る。例えば、正例は、入力データと似たデータであり、負例は、入力データと似ていないデータである。正例および負例はどのようにして得られてもよい。
【0053】
例えば、正例は、入力データに対して所定のデータ変換を施すことにより得られてもよい。データ変換の例としては、色変更、平行移動、回転、ぼかし、上下反転、左右反転、拡大または縮小などが挙げられるが、データ変換は、かかる例に限定されない。一方、負例は、入力データとは別のデータであってもよい。当該別のデータは、データセット100の内部から取得されてもよいし、データセット100の外部から取得されてもよい。
【0054】
入力部101は、入力データ、入力データに対応する正例および負例を、特徴抽出部111に出力する。なお、学習装置10によってミニバッチ学習が行われる場合には、入力部101は、入力データと、その入力データに対応する正例および負例との所定サイズ分の組み合わせをミニバッチとして作成し、作成したミニバッチを、特徴抽出部111に出力する。このとき、ミニバッチのサイズは特に限定されない。学習装置10によってオンライン学習が行われる場合などには、ミニバッチは作成されなくてよい。
【0055】
(特徴抽出部111)
特徴抽出部111は、入力部101から出力された入力データと、特徴抽出NNとに基づいて、入力データの特徴量を抽出する。ここで、特徴抽出NNは、畳み込み層、プーリング層および活性化関数を含んで構成され得る。
【0056】
より詳細に、特徴抽出部111は、重みパラメータ110から特徴抽出NNに対応する重みパラメータを取得する。そして、特徴抽出部111は、取得した重みパラメータが設定された特徴抽出NNに、入力データを入力させて順伝播を行うことに基づいて、特徴抽出NNから出力されるデータを入力データの特徴量として得る。
【0057】
同様にして、特徴抽出部111は、入力部101から出力された正例と、特徴抽出NNとに基づいて、正例の特徴量を抽出する。さらに、特徴抽出部111は、入力部101から出力された負例と、特徴抽出NNとに基づいて、負例の特徴量を抽出する。特徴抽出部111は、入力データ、正例および負例それぞれの特徴量を、類似度算出部112に出力するとともに、入力データの特徴量をクラスタリング部121に出力する。
【0058】
(類似度算出部112)
類似度算出部112は、複数のデータそれぞれの特徴量に基づく類似度を算出する。ここで、類似度は、特徴量同士がどの程度似ているかを示す指標であってよい。例えば、類似度は、コサイン類似度であってもよい。より詳細に、類似度算出部112は、複数のデータそれぞれの特徴量に基づく類似度として、入力データの特徴量と入力データに対応する正例の特徴量との類似度、および、入力データの特徴量と入力データに対応する負例の特徴量との類似度を算出する。類似度算出部112は、算出した類似度を類似度評価部131に出力する。
【0059】
(類似度評価部131)
類似度評価部131は、第1の評価部の例として機能し、類似度算出部112によって算出された類似度に基づいて、類似度の評価を行うことにより、第1の評価結果を得る。本発明の第1の実施形態においては、第1の評価結果が特徴抽出NNに対応する重みパラメータの更新に用いられる。そのため、本発明の第1の実施形態においては、類似度評価部131が、第1の評価結果の例として第1の損失を算出する場合を主に想定する。
【0060】
より詳細に、類似度評価部131は、類似度算出部112によって算出された、入力データの特徴量と入力データに対応する正例の特徴量との類似度、および、入力データの特徴量と入力データに対応する負例の特徴量との類似度に基づいて、第1の損失を算出する。なお、第1の損失は、どのように算出されてもよい。
【0061】
例えば、類似度評価部131は、入力データの特徴量と入力データに対応する正例の特徴量との類似度が高いほど、第1の損失が小さくなるように、第1の損失を算出してもよい。これによって、入力データの特徴量と正例の特徴量とが近づくように、特徴抽出NNに対応する重みパラメータが更新されることが期待される。
【0062】
さらに、類似度評価部131は、入力データの特徴量と入力データに対応する負例の特徴量との類似度が低いほど、第1の損失が小さくなるように、第1の損失を算出してもよい。これによって、入力データの特徴量と負例の特徴量とが遠ざかるように、特徴抽出NNに対応する重みパラメータが更新されることが期待される。
【0063】
一例として、第1の損失は、入力データの特徴量と正例の特徴量との類似度、および、入力データの類似度と負例の特徴量との類似度に基づくNCE(Noise Contrastive Estimation)によって算出されてもよい。
【0064】
他の一例として、第1の損失は、NCEの代わりに、入力データの特徴量と正例の特徴量との類似度よりも、入力データの特徴量と負例の特徴量との類似度を多く用いるinfo NCEによって算出されてもよい。なお、学習装置10によってミニバッチ学習が行われる場合には、類似度評価部131は、ミニバッチ単位に、第1の損失を算出する。類似度評価部131は、算出した第1の損失を更新部133に出力する。
【0065】
(ドメイン適応部12)
ドメイン適応部12は、出力部の例として機能し、入力データの特徴量に対するクラスタリングを行い、クラスタに関する情報を得る。そして、ドメイン適応部12は、クラスタに関する情報をドメイン評価部132に出力する。本発明の第1の実施形態においては、ドメイン適応部12が備える、クラスタリング部121、勾配反転部122およびドメイン識別部123によって、このような機能が発揮される。
【0066】
(クラスタリング部121)
クラスタリング部121は、入力データの特徴量に対するクラスタリングによりクラスタリング結果を得る。クラスタリング結果は、ドメイン識別部123によって得られるクラス識別結果と比較される正解クラスとして用いられる。クラスタリングが行われるタイミングは特に限定されない。例えば、クラスタリング部121に複数の入力データの特徴量が入力されたタイミングで、当該複数の入力データの特徴量に対してクラスタリングが行われてもよい。
【0067】
本発明の第1の実施形態においては、クラスタリングは、イテレーション単位に行われる場合を主に想定する。すなわち、クラスタリングは、ミニバッチサイズの入力データの特徴量に対して行われる場合を主に想定する。しかし、クラスタリングは、エポック単位に行われてもよい。すなわち、クラスタリングは、データセット100の入力データの特徴量に対して行われてもよい。
【0068】
クラスタリングの手法も特に限定されない。例えば、クラスタリングの手法は、k-means法などであってもよい。k-means法の一例として、大量のデータに対するクラスタリングに適したonline k-means法がクラスタリングに用いられてもよい。クラスタリング部121は、クラスタリング結果と当該複数の入力データそれぞれの特徴量とを勾配反転部122に出力する。
【0069】
クラスタリング結果の形式も特に限定されない。例えば、クラスタリング結果の形式は、クラス数分の長さを有するone-hotベクトルであってもよい。例えば、クラス数がkである場合、かつ、クラスi(ただし、1≦i≦k)に対応するクラスタに属する特徴量が存在する場合、その特徴量に対応するクラスタリング結果は、クラスiに対応する値が1であり、クラスi以外のクラスj(j≠i)に対応する値が0で表現されるone-hotベクトルであってもよい。
【0070】
(勾配反転部122)
勾配反転部122は、更新部133による重みパラメータ110の更新に際して、ドメイン識別部123からクラスタリング部121に出力される勾配の正負を反転させる。これによって、入力データの特徴量が属するクラスが識別されにくくなるように特徴抽出NNによる学習が行われる。このような学習によって、データセットが属するドメインへの依存度合いが小さい特徴量を抽出することが可能な特徴抽出器が作成され得る。
【0071】
より詳細に、順伝播時において、勾配反転部122は、クラスタリング部121から順方向に出力されるクラスタリング結果と特徴量とをそのままドメイン識別部123に出力する。一方、逆伝播時においては、ドメイン識別部123から逆方向に出力される勾配が更新部133によって算出される。勾配反転部122は、かかる勾配に負の係数を乗算することにより、勾配の正負を反転させ、正負が反転された後の勾配をクラスタリング部121に出力する。
【0072】
さらに詳細に、勾配反転部122は、勾配反転層(本発明の第1の実施形態において、勾配反転層を「R1」とも表現する。)を含んで構成される。勾配反転層R1は、特徴抽出NNとドメイン識別NNとの間に位置する。ここでは、勾配反転層R1が、クラスタリング部121を介して特徴抽出NNと間接的に接続される場合を主に想定する。しかし、勾配反転層R1は、特徴抽出NNと直接的に接続されていてもよい。同様に、ここでは、勾配反転層R1が、ドメイン識別NNと直接的に接続される場合を主に想定する。しかし、勾配反転層R1は、ドメイン識別NNと間接的に接続されていてもよい。
【0073】
順伝播時において、勾配反転層R1は、ミニバッチ内におけるn番目の入力データに基づいて特徴抽出NNから出力されるf次元の特徴量xnに対して、恒等関数として適用される。一方、逆伝播時において、勾配反転層R1は、ドメイン識別NNから出力される勾配に対して、勾配の正負を反転させる関数として適用される。例えば、勾配の正負を反転させる関数は、下記の式(1)のように表現され得る。
【0074】
【0075】
ここで、式(1)における左辺のxnは、勾配反転層R1への入力であり、R1(xn)は、勾配反転層R1からの出力である。式(1)における右辺のIは、単位行列である。式(1)における右辺の「-r(t)」は、ドメイン識別NNから逆方向に出力される勾配に対して乗算される負の係数の例に該当する。r(t)は、学習ステップ数tに応じた係数であり、r(t)の具体的な形は特に限定されない。
【0076】
例えば、r(t)=1であってもよい。このとき、勾配反転層R1の適用によって、常に勾配の正負が反転されるのみとなる。あるいは、r(t)は、学習ステップ数tに応じて0から段階的に増加する係数であってもよい。これによって、勾配の正負の反転量が段階的に大きくなり得る。
【0077】
(ドメイン識別部123)
ドメイン識別部123は、クラス識別部の例として機能し、入力データの特徴量に基づいてクラスを識別することによりクラス識別結果を得る。より詳細に、ドメイン識別部123は、入力データの特徴量と、ドメイン識別NNとに基づいてクラスを識別することによりクラス識別結果を得る。一例として、ドメイン識別NNは、全結合層および活性化関数を含んで構成され得る。
【0078】
より詳細に、ドメイン識別部123は、重みパラメータ110のうちドメイン識別NNに対応する重みパラメータが設定されたドメイン識別NNに、特徴量を入力させてNN11の順方向に順伝播を行うことに基づいて、ドメイン識別NNから出力されるデータをクラス識別結果として得る。ドメイン識別部123は、クラス識別結果をドメイン評価部132に出力する。
【0079】
ドメイン識別部123から出力されるクラス識別結果の形式は、特に限定されない。しかし、クラス識別結果の形式は、クラスタリング結果の形式と合わせて設定されているのがよい。例えば、クラスタリング結果がクラス数分の長さを有するone-hotベクトルである場合、クラス識別結果も、クラス数分の長さを有するベクトルであってよい。このとき、クラス識別結果は、クラスごとの値(以下、「推論値」とも言う。)を含み得る。
【0080】
一例として、ドメイン識別部123によって全クラスの推論値の合計が1になるように調整される場合には、それぞれのクラスに対応する推論値は、それぞれのクラスに対応する確率に相当し得る。しかし、全クラスの推論値の合計は、ドメイン識別部123によって1になるように調整されていなくてもよい。いずれの場合であっても、ドメイン識別部123から出力される推論値は、そのクラスの確からしさが高いほど、大きい値であり得る。
【0081】
(ドメイン評価部132)
ドメイン評価部132は、第2の評価部の例として機能し、クラスタリング結果とクラス識別結果とに基づく第2の評価結果(以下、「ドメイン評価結果」とも言う。)を得る。本発明の第1の実施形態においては、ドメイン評価結果が特徴抽出NNに対応する重みパラメータおよびドメイン識別NNに対応する重みパラメータの更新に用いられる。そのため、本発明の第1の実施形態においては、ドメイン評価部132が、ドメイン評価結果の例として第2の損失を算出する場合を主に想定する。
【0082】
より詳細に、ドメイン評価部132は、クラスタリング結果とクラス識別結果とを損失関数に入力させたことに基づいて、損失関数から出力される第2の損失を算出する。なお、第2の損失は、どのように算出されてもよい。
【0083】
例えば、クラスタリング結果およびクラス識別結果それぞれが、クラス数分の長さを有するone-hotベクトルである場合には、第2の損失の算出に用いられる損失関数は、クラスタリング結果とクラス識別結果との差分に基づく交差エントロピー誤差であってもよい。なお、学習装置10によってミニバッチ学習が行われる場合には、ドメイン評価部132は、ミニバッチ単位に、第2の損失を算出する。そして、ドメイン評価部132は、第2の損失を更新部133に出力する。
【0084】
(更新部133)
更新部133は、類似度評価部131によって得られた第1の損失と、ドメイン評価部132によって得られた第2の損失とに基づいて、特徴抽出NNおよびドメイン識別NNそれぞれに対応する重みパラメータ110を更新する。例えば、重みパラメータ110の更新は、誤差逆伝播法(バックプロパゲーション)を用いて行われる。
【0085】
より詳細に、更新部133は、類似度評価部131によって得られた第1の損失に基づいて、誤差逆伝播法により、特徴抽出NNに対応する重みパラメータ110を更新する。これにより、似たデータの特徴量同士は近くなるように、かつ、似ていないデータの特徴量同士は遠くなるように学習が行われる。例えば、学習装置10によってミニバッチ学習が行われる場合には、更新部133は、特徴抽出NNに対応する重みパラメータ110をミニバッチ単位に更新する。
【0086】
さらに、更新部133は、ドメイン識別部123によって得られた第2の損失に基づいて、誤差逆伝播法により、特徴抽出NNおよびドメイン識別NNそれぞれに対応する重みパラメータ110を更新する。これによって、データセットが属するドメインへの依存度合いが小さい特徴量を抽出することが可能な特徴抽出器が作成され得る。例えば、学習装置10によってミニバッチ学習が行われる場合には、更新部133は、特徴抽出NNおよびドメイン識別NNそれぞれに対応する重みパラメータ110をミニバッチ単位に更新する。
【0087】
なお、上記したように、ドメイン識別NNにニューロンが含まれておらず、ドメイン識別NNに更新対象となる重みパラメータが対応付けられていない場合も想定される。かかる場合には、更新部133は、ドメイン識別NNに対応する重みパラメータ110を更新せずに、特徴抽出NNに対応する重みパラメータ110を更新すればよい。
【0088】
なお、更新部133は、重みパラメータの更新が終わるたびに、学習終了条件が満たされたか否かを判断する。学習終了条件が満たされていないと判断された場合には、入力部101によって次の入力データが取得され、特徴抽出部111、類似度算出部112、類似度評価部131、クラスタリング部121、勾配反転部122、ドメイン識別部123、ドメイン評価部132および更新部133によって、当該次の入力データに基づく処理が再度実行される。一方、学習終了条件が満たされたと判断された場合には、学習が終了される。
【0089】
なお、学習終了条件は特に限定されず、学習がある程度行われたことを示す条件であればよい。具体的に、学習終了条件は、第1の損失または第2の損失が閾値よりも小さいという条件を含んでもよい。あるいは、学習終了条件は、第1の損失の変化または第2の損失の変化が閾値よりも小さいという条件(第1の損失または第2の損失が収束状態になったという条件)を含んでもよい。
【0090】
あるいは、学習終了条件は、重みパラメータの更新が所定の回数行われたという条件を含んでもよい。あるいは、ドメイン識別NNの精度(例えば、正解率など)が算出される場合、学習終了条件は、当該精度が所定の割合(例えば、90%など)よりも大きいという条件を含んでもよい。
【0091】
以上、本発明の第1の実施形態に係る学習装置10の構成例について説明した。
【0092】
(学習段階の動作)
続いて、
図2を参照しながら、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作の流れについて説明する。
図2は、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例を示すフローチャートである。
【0093】
まず、入力部101は、データセット100から入力データを取得する(S101)。例えば、入力部101は、取得した入力データにデータ変換を施すことにより、入力データに対応する正例を得る。さらに、入力部101は、入力データとは別のデータを入力データに対応する負例として取得する。
【0094】
入力部101は、入力データ、入力データに対応する正例および負例を、特徴抽出部111に出力する。なお、学習装置10によってミニバッチ学習が行われる場合には、入力部101は、入力データと、その入力データに対応する正例および負例との所定サイズ分の組み合わせをミニバッチとして作成し、作成したミニバッチを、特徴抽出部111に出力する。
【0095】
続いて、特徴抽出部111は、入力部101から出力された入力データ、正例および負例と、重みパラメータが設定された特徴抽出NNとに基づいて、入力データ、正例および負例それぞれの特徴量を得る(S102)、特徴抽出部111は、入力データ、正例および負例それぞれの特徴量を類似度算出部112に出力するとともに、入力データの特徴量を、クラスタリング部121に出力する。
【0096】
類似度算出部112は、入力データ、正例および負例それぞれの特徴量に基づく類似度を算出する(S103)。より詳細に、類似度算出部112は、入力データの特徴量と入力データに対応する正例の特徴量との類似度、および、入力データの特徴量と入力データに対応する負例の特徴量との類似度を算出する。類似度算出部112は、算出した類似度を類似度評価部131に出力する。
【0097】
類似度評価部131は、類似度算出部112によって算出された類似度に基づいて、類似度の評価を行うことにより、第1の損失を得る(S104)。より詳細に、類似度評価部131は、類似度算出部112によって算出された、入力データの特徴量と入力データに対応する正例の特徴量との類似度、および、入力データの特徴量と入力データに対応する負例の特徴量との類似度に基づいて、第1の損失を算出する。
【0098】
クラスタリング部121は、入力データの特徴量に対するクラスタリングによりクラスタリング結果を得る(S105)。クラスタリング結果は、ドメイン識別部123によって得られるクラス識別結果と比較される正解クラスとして用いられる。クラスタリングが行われるタイミングは特に限定されない。例えば、クラスタリング部121に複数の入力データの特徴量が入力されたタイミングで、当該複数の入力データの特徴量に対してクラスタリングが行われてもよい。
【0099】
上記したように、本発明の第1の実施形態においては、クラスタリングが、イテレーション単位に行われる場合を主に想定する。すなわち、クラスタリングが、ミニバッチサイズの入力データの特徴量に対して行われる場合を主に想定する。しかし、クラスタリングは、エポック単位に行われてもよい。すなわち、クラスタリングは、データセット100の入力データの特徴量に対して行われてもよい。
【0100】
例えば、クラスタリングがエポック単位に行われる場合には、特徴抽出部111は、S102において抽出した特徴量を、図示しない記憶部に保存してもよい。そして、データセット100の特徴量が図示しない記憶部に溜まったときに、S105~S107が実行されてもよい。
【0101】
勾配反転部122は、クラスタリング部121から順方向に出力されるクラスタリング結果と特徴量とをそのままドメイン識別部123に出力する。ドメイン識別部123は、入力データの特徴量に基づいてクラスを識別することによりクラス識別結果を得る(S106)。より詳細に、ドメイン識別部123は、入力データの特徴量と、ドメイン識別NNとに基づいてクラスを識別することによりクラス識別結果を得る。ドメイン識別部123は、クラス識別結果をドメイン評価部132に出力する。
【0102】
ドメイン評価部132は、クラスタリング結果とクラス識別結果とに基づく第2の損失を得る(S107)。より詳細に、ドメイン評価部132は、クラスタリング結果とクラス識別結果とを損失関数に入力させたことに基づいて、損失関数から出力される第2の損失を算出する。ドメイン評価部132は、第2の損失を更新部133に出力する。
【0103】
更新部133は、類似度評価部131から出力される第1の損失およびドメイン評価部132から出力される第2の損失に基づいて、NN11の重みパラメータ110を更新する(S108)。より詳細に、更新部133は、第1の損失と第2の損失とに基づく誤差逆伝播法によって、特徴抽出NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。
【0104】
このとき、勾配反転部122は、ドメイン識別部123からクラスタリング部121に出力される勾配の正負を反転させる。例えば、勾配の正負を反転させる関数は、上記の式(1)のように表現され得る。
【0105】
学習終了条件が満たされない場合(S109において「NO」)、S101に動作が移行される。一方、学習終了条件が満たされた場合(S109において「YES」)、NN11による学習が終了される。
【0106】
以上、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明した。
【0107】
(第1の実施形態のまとめ)
以上に説明したように、本発明の第1の実施形態によれば、入力データの特徴量と正例の特徴量とが近づくように、かつ、入力データの特徴量と負例の特徴量とが遠ざかるように、特徴抽出NNに対応する重みパラメータが更新される。これによって、特徴抽出器の精度が向上する。
【0108】
さらに、本発明の第1の実施形態によれば、重みパラメータの更新に際して、ドメイン識別部123からクラスタリング部121に出力される勾配の正負が反転する。これによって、入力データの特徴量が属するクラスが識別されにくくなるように特徴抽出NNによる学習が行われる。このような学習によって、データセットが属するドメインへの依存度合いが低減された特徴量を抽出することが可能な特徴抽出器が作成され得る。
【0109】
また、本発明の第1の実施形態によれば、クラスタリング部121によって得られたクラスタリング結果とドメイン識別部123によって得られたクラス識別結果とに基づいて特徴抽出NNの学習が進められる。したがって、本発明の第1の実施形態に係る学習装置10は、入力データが属するデータセットが既知ではない状況にも適用され得る。
【0110】
以上、本発明の第1の実施形態について説明した。
【0111】
(2.第2の実施形態)
続いて、本発明の第2の実施形態について説明する。
【0112】
(学習装置の構成)
図3を参照しながら、本発明の第2の実施形態に係る学習装置の構成例について説明する。
図3は、本発明の第2の実施形態に係る学習装置20の機能構成例を示す図である。
図1および
図3に示されるように、本発明の第2の実施形態に係る学習装置20と、本発明の第1の実施形態に係る学習装置10とは、データセット100、入力部101、類似度評価部131および更新部133を備える点において共通する。
【0113】
一方、本発明の第1の実施形態に係る学習装置10は、NN11およびドメイン評価部132を備えるのに対し、本発明の第2の実施形態に係る学習装置20は、NN21およびドメイン評価部232を備える。
【0114】
さらに、本発明の第1の実施形態に係るNN11は、ドメイン適応部12を備え、ドメイン適応部12は、クラスタリング部121、勾配反転部122およびドメイン識別部123を備える。それに対し、本発明の第2の実施形態に係るNN21は、ドメイン適応部22を備え、ドメイン適応部22は、勾配反転部122およびドメイン識別部123を備えず、クラスタリング部121を備える。
【0115】
したがって、以下の説明においては、ドメイン適応部22およびドメイン評価部232が有する機能について主に説明し、その他の構成要素が有する機能の詳細な説明は省略する。
【0116】
(ドメイン適応部22)
ドメイン適応部22は、出力部の例として機能し、入力データの特徴量に対するクラスタリングを行い、クラスタに関する情報を得る。そして、ドメイン適応部22は、クラスタに関する情報をドメイン評価部132に出力する。本発明の第2の実施形態においては、ドメイン適応部22が備える、クラスタリング部121によって、このような機能が発揮される。なお、クラスタリングが行われるタイミングは、本発明の第1の実施形態におけるクラスタリングと同様に、特に限定されない。
【0117】
(ドメイン評価部232)
ドメイン評価部232は、第2の評価部の例として機能し、クラスタリング結果に基づいて、ドメイン評価結果を得る。本発明の第2の実施形態においても、ドメイン評価結果が特徴抽出NNに対応する重みパラメータの更新に用いられる。そのため、本発明の第2の実施形態においても、ドメイン評価部232が、ドメイン評価結果の例として第2の損失を算出する場合を主に想定する。
【0118】
より詳細に、ドメイン評価部232は、クラスタリング結果を損失関数に入力させたことに基づいて、損失関数から出力される第2の損失を算出する。ドメイン評価部232は、算出した第2の損失を更新部133に出力する。なお、第2の損失は、どのように算出されてもよい。
【0119】
例えば、ドメイン評価部232は、クラスタリング結果に基づいて、クラスタ間の距離の和を算出し、クラスタ間の距離の和に基づいて第2の損失を出力してもよい。これによって、クラスタ間の距離が近づくように特徴抽出NNによる学習が行われる。このような学習によって、データセットが属するドメインへの依存度合いが小さい特徴量を抽出することが可能な特徴抽出器が作成され得る。
【0120】
例えば、クラスタ数をkとし、クラスタiの中心であるセントロイドをCiとし、クラスタjの中心であるセントロイドをCjとすると、セントロイド間の距離の和Dは、下記の式(2)のように表現され得る。ただし、i、jは、1以上k以下の整数であり、iとjとが等しい場合は、セントロイドCiとセントロイドCjとの距離がゼロになるため、除外されている。
【0121】
【0122】
なお、上記の式(2)では、セントロイド間の距離がユークリッド距離によって表現されている。しかし、セントロイド間の距離を示す指標は、かかる例に限定されない。例えば、セントロイド間の距離は、セントロイド間の要素ごとの差分の二乗和であってもよいし、他の指標によって表現されてもよい。
【0123】
なお、ドメイン評価部232は、クラスタ間の距離の和のみに基づいて第2の損失を出力してもよい。このとき、ドメイン評価部232は、クラスタ間の距離の和を第2の損失として算出すればよい。これによって、クラスタ間の距離が近づくように特徴抽出NNによる学習が行われる。
【0124】
あるいは、ドメイン評価部232は、クラスタ間の距離の和と、その他の項とに基づいて第2の損失を出力してもよい。一例として、その他の項は、クラスタ内における二つの特徴量同士の距離の和(以下、「クラスタ内誤差平方和」)の全クラスタについての合計値であってもよい。クラスタ内誤差平方和が第2の損失の算出に加味されることにより、クラスタに属する特徴量がクラスタ中心に近づくように特徴抽出NNによる学習が行われる。
【0125】
ドメイン評価部232は、クラスタ間の距離の和とクラスタ内誤差平方和の全クラスタについての合計値とに基づいて、第2の損失を算出してもよい。例えば、クラスタ間の距離の和とクラスタ内誤差平方和の全クラスタについての合計値とを足し合わせ、足し合わせた結果を第2の損失として算出してもよい。
【0126】
以上、本発明の第2の実施形態に係る学習装置20の構成例について説明した。
【0127】
(学習段階の動作)
続いて、
図4を参照しながら、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」の動作の流れについて説明する。
図4は、本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例を示すフローチャートである。
【0128】
ここで、本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例(
図4)と、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例(
図2)とを比較すると、S101~S105、S108、S109が共通しており、S106、S107がS207に置き換わっている。そこで、以下では、S207について主に説明し、S101~S105、S108、S109についての詳細な説明は省略する。
【0129】
ドメイン評価部232は、クラスタリング結果に基づいて、第2の損失を得る(S207)。例えば、ドメイン評価部232は、クラスタリング結果に基づいて、クラスタ間の距離の和を算出し、クラスタ間の距離の和に基づいて第2の損失を出力してもよい。これによって、クラスタ間の距離が近づくように特徴抽出NNによる学習が行われる。このような学習によって、データセットが属するドメインへの依存度合いが小さい特徴量を抽出することが可能な特徴抽出器が作成され得る。
【0130】
本発明の第2の実施形態においては、クラスタリングが、イテレーション単位に行われる場合を主に想定する。しかし、クラスタリングは、エポック単位に行われてもよい。例えば、クラスタリングがエポック単位に行われる場合には、特徴抽出部111は、S102において抽出した特徴量を、図示しない記憶部に保存してもよい。そして、データセット100の特徴量が図示しない記憶部に溜まったときに、S105およびS207が実行されてもよい。
【0131】
以上、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」の動作の流れについて説明した。
【0132】
(第2の実施形態のまとめ)
以上に説明したように、本発明の第2の実施形態に係る学習装置20によれば、本発明の第1の実施形態に係る学習装置10と同様に、入力データの特徴量と正例の特徴量とが近づくように、かつ、入力データの特徴量と負例の特徴量とが遠ざかるように、特徴抽出NNに対応する重みパラメータが更新される。これによって、特徴抽出器の精度が向上する。
【0133】
さらに、本発明の第2の実施形態によれば、クラスタ間の距離が近づくように特徴抽出NNによる学習が行われる。このような学習によって、データセットが属するドメインへの依存度合いが小さい特徴量を抽出することが可能な特徴抽出器が作成され得る。
【0134】
また、本発明の第2の実施形態によれば、クラスタリング部121によって得られたクラスタリング結果に基づいて特徴抽出NNの学習が進められる。したがって、本発明の第2の実施形態に係る学習装置20は、入力データが属するデータセットが既知ではない状況にも適用され得る。
【0135】
以上、本発明の第2の実施形態について説明した。
【0136】
(3.ハードウェア構成例)
続いて、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明する。なお、本発明の第2の実施形態に係る学習装置20それぞれのハードウェア構成も、本発明の第1の実施形態に係る学習装置10のハードウェア構成と同様に実現され得る。
【0137】
以下では、本発明の第1の実施形態に係る学習装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、学習装置10のハードウェア構成の一例に過ぎない。したがって、学習装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【0138】
図5は、本発明の第1の実施形態に係る学習装置10の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
【0139】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
【0140】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0141】
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0142】
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【0143】
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
【0144】
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
【0145】
以上、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明した。
【0146】
(4.まとめ)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0147】
本発明の第1の実施形態および本発明の第2の実施形態においては、学習用データが静止画像データである場合について主に説明した。しかし、学習用データの種類は特に限定されない。例えば、学習用データの種類に合わせた特徴量が抽出されれば、静止画像データ以外も学習用データとして用いられ得る。例えば、学習用データは、複数のフレームを含んだ動画像データであってもよいし、音声データであってもよいし、他の時系列データであってもよい。
【0148】
このとき、学習用データが静止画像データである場合には、NN11およびNN21それぞれに含まれる畳み込み層として2次元畳み込み層が用いられるのが一般的である。一方、NN11およびNN21それぞれに含まれる畳み込み層として3次元畳み込み層が用いられれば、学習用データとして動画像データが適用され得る。
【符号の説明】
【0149】
10、20 学習装置
11、21 ニューラルネットワーク
100 データセット
101 入力部
110 重みパラメータ
111 特徴抽出部
112 類似度算出部
113 勾配反転部
12、22 ドメイン適応部
121 クラスタリング部
122 勾配反転部
123 ドメイン識別部
131 類似度評価部
132、232 ドメイン評価部
133 更新部