(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024032277
(43)【公開日】2024-03-12
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06N 3/045 20230101AFI20240305BHJP
G06T 7/00 20170101ALI20240305BHJP
G06N 20/00 20190101ALI20240305BHJP
G06N 3/084 20230101ALI20240305BHJP
【FI】
G06N3/04 154
G06T7/00 350C
G06N20/00 130
G06N3/08 140
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022135850
(22)【出願日】2022-08-29
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】川村 聡志
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096EA39
5L096FA32
5L096FA34
5L096GA30
5L096GA34
5L096GA51
5L096HA11
5L096JA05
5L096KA04
5L096MA07
(57)【要約】
【課題】ニューラルネットワークの性能のばらつきを軽減する。
【解決手段】特徴量と、第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力する第1の識別部と、特徴量と、第1のニューラルネットワークの後段かつ第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力する第2の識別部と、第1の識別結果に基づく第1の評価結果と第2の識別結果に基づく第2の評価結果とに基づいて、第1のニューラルネットワーク、第2のニューラルネットワークおよび第3のニューラルネットワークそれぞれの重みパラメータを更新する更新部と、重みパラメータの更新に際して、第3のニューラルネットワークから第1のニューラルネットワークに出力される勾配の正負を反転させる勾配反転部と、を備える、情報処理装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力データと、第1のニューラルネットワークとに基づいて、前記入力データの特徴量を抽出する特徴抽出部と、
前記特徴量と、前記第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力する第1の識別部と、
前記第1の識別結果に基づく第1の評価結果を出力する第1の評価部と、
前記特徴量と、前記第1のニューラルネットワークの後段かつ前記第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力する第2の識別部と、
前記第2の識別結果に基づく第2の評価結果を出力する第2の評価部と、
前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新する更新部と、
前記重みパラメータの更新に際して、前記第3のニューラルネットワークから前記第1のニューラルネットワークに出力される勾配の正負を反転させる勾配反転部と、
を備える、情報処理装置。
【請求項2】
前記第2の識別部は、前記入力データに教師ラベルが付与されているか否かを推論することに基づいて、前記第2の識別結果を出力する、
請求項1に記載の情報処理装置。
【請求項3】
前記第2の評価部は、前記第2の識別結果と前記入力データに前記教師ラベルが付与されているか否かを示す情報とに基づいて第2の損失を算出し、前記第2の損失に基づいて前記第2の評価結果を出力する、
請求項2に記載の情報処理装置。
【請求項4】
前記第1の評価部は、前記入力データに教師ラベルが付与されている場合、前記第1の識別結果と前記教師ラベルとに基づいて第1の損失を算出し、前記第1の損失に基づいて前記第1の評価結果を出力する、
請求項1に記載の情報処理装置。
【請求項5】
前記第1の評価部は、前記入力データに教師ラベルが付与されていない場合、前記第1の識別結果と疑似ラベルとに基づいて第1の損失を算出し、前記第1の損失に基づいて前記第1の評価結果を出力する、
請求項1に記載の情報処理装置。
【請求項6】
前記更新部は、前記第1の評価結果と前記第2の評価結果とに基づく誤差逆伝播法により、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新する、
請求項1に記載の情報処理装置。
【請求項7】
前記勾配反転部は、前記第2の評価結果に基づく誤差逆伝播法により算出される前記勾配に負の係数を乗算することにより、前記勾配の正負を反転させる、
請求項6に記載の情報処理装置。
【請求項8】
前記勾配反転部は、前記入力データに基づく前記係数を前記勾配に乗算することにより、前記勾配の正負を反転させる、
請求項7に記載の情報処理装置。
【請求項9】
前記勾配反転部は、前記第3のニューラルネットワークと前記第1のニューラルネットワークとの間に位置する第4のニューラルネットワークの重みパラメータと、前記第1の識別結果とに基づいて、前記係数を算出する、
請求項8に記載の情報処理装置。
【請求項10】
前記勾配反転部は、前記第4のニューラルネットワークの重みパラメータと前記第1の識別結果とが近いほど前記係数の絶対値が大きくなるように前記係数を算出する、
請求項9に記載の情報処理装置。
【請求項11】
前記更新部は、前記第3のニューラルネットワークから前記第4のニューラルネットワークに出力される勾配と、前記特徴量とに基づいて、前記第4のニューラルネットワークの重みパラメータを更新する、
請求項9に記載の情報処理装置。
【請求項12】
前記勾配反転部は、前記第1の識別結果に基づいて、教師ラベルが付与されている第1の入力データ、および、教師ラベルが付与されていない第2の入力データそれぞれの特徴量をクラスごとに分類し、前記第1の入力データの特徴量の分布と前記第2の入力データの特徴量の分布とのクラスごとの差に基づいて、前記係数を算出する、
請求項7に記載の情報処理装置。
【請求項13】
前記勾配反転部は、前記差が大きいほど前記係数の絶対値が大きくなるように前記係数を算出する、
請求項12に記載の情報処理装置。
【請求項14】
入力データと、第1のニューラルネットワークとに基づいて、前記入力データの特徴量を抽出することと、
前記特徴量と、前記第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力することと、
前記第1の識別結果に基づく第1の評価結果を出力することと、
前記特徴量と、前記第1のニューラルネットワークの後段かつ前記第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力することと、
前記第2の識別結果に基づく第2の評価結果を出力することと、
前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新することと、
前記重みパラメータの更新に際して、前記第3のニューラルネットワークから前記第1のニューラルネットワークに出力される勾配の正負を反転させることと、
を含む、コンピュータにより実行される情報処理方法。
【請求項15】
コンピュータを、
入力データと、第1のニューラルネットワークとに基づいて、前記入力データの特徴量を抽出する特徴抽出部と、
前記特徴量と、前記第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力する第1の識別部と、
前記第1の識別結果に基づく第1の評価結果を出力する第1の評価部と、
前記特徴量と、前記第1のニューラルネットワークの後段かつ前記第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力する第2の識別部と、
前記第2の識別結果に基づく第2の評価結果を出力する第2の評価部と、
前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新する更新部と、
前記重みパラメータの更新に際して、前記第3のニューラルネットワークから前記第1のニューラルネットワークに出力される勾配の正負を反転させる勾配反転部と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ニューラルネットワークは、学習によって様々な問題(例えば、画像認識問題など)に対する高い性能を獲得する。ここで、ニューラルネットワークによる学習手法として、種々の手法が知られている(例えば、非特許文献1、非特許文献2および特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Kihyuk Sohn、他8名、"Fixmatch: Simplifying semi-supervised learning with consistency and confidence"、[online]、[令和4年8月4日検索]、インターネット<https://arxiv.org/abs/2001.07685>
【非特許文献2】Qin Wang、他4名、"Semi-supervised learning by augmented distribution alignment"、[online]、[令和4年8月4日検索]、インターネット<https://arxiv.org/abs/1905.08171v1>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、学習段階においてニューラルネットワークに入力されるデータに依存してニューラルネットワークの性能にばらつきが生じ得る。
【0006】
そこで、本発明は、これらの問題点を解決すべく提案されたものであり、ニューラルネットワークの性能のばらつきを軽減することを可能とする技術が提供されることが望まれる。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、入力データと、第1のニューラルネットワークとに基づいて、前記入力データの特徴量を抽出する特徴抽出部と、前記特徴量と、前記第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力する第1の識別部と、前記第1の識別結果に基づく第1の評価結果を出力する第1の評価部と、前記特徴量と、前記第1のニューラルネットワークの後段かつ前記第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力する第2の識別部と、前記第2の識別結果に基づく第2の評価結果を出力する第2の評価部と、前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新する更新部と、前記重みパラメータの更新に際して、前記第3のニューラルネットワークから前記第1のニューラルネットワークに出力される勾配の正負を反転させる勾配反転部と、を備える、情報処理装置が提供される。
【0008】
前記情報処理装置は、半教師有り学習に適用されてもよい。このとき、前記第2の識別部は、前記入力データに教師ラベルが付与されているか否かを推論することに基づいて、前記第2の識別結果を出力してもよい。
【0009】
前記第2の評価部は、前記第2の識別結果と前記入力データに前記教師ラベルが付与されているか否かを示す情報とに基づいて第2の損失を算出し、前記第2の損失に基づいて前記第2の評価結果を出力してもよい。
【0010】
前記第1の評価部は、前記入力データに教師ラベルが付与されている場合、前記第1の識別結果と前記教師ラベルとに基づいて第1の損失を算出し、前記第1の損失に基づいて前記第1の評価結果を出力してもよい。
【0011】
前記第1の評価部は、前記入力データに教師ラベルが付与されていない場合、前記第1の識別結果と疑似ラベルとに基づいて第1の損失を算出し、前記第1の損失に基づいて前記第1の評価結果を出力してもよい。
【0012】
前記更新部は、前記第1の評価結果と前記第2の評価結果とに基づく誤差逆伝播法により、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新してもよい。
【0013】
前記勾配反転部は、前記第2の評価結果に基づく誤差逆伝播法により算出される前記勾配に負の係数を乗算することにより、前記勾配の正負を反転させてもよい。
【0014】
前記勾配反転部は、前記入力データに基づく前記係数を前記勾配に乗算することにより、前記勾配の正負を反転させてもよい。
【0015】
前記勾配反転部は、前記第3のニューラルネットワークと前記第1のニューラルネットワークとの間に位置する第4のニューラルネットワークの重みパラメータと、前記第1の識別結果とに基づいて、前記係数を算出してもよい。
【0016】
前記勾配反転部は、前記第4のニューラルネットワークの重みパラメータと前記第1の識別結果とが近いほど前記係数の絶対値が大きくなるように前記係数を算出してもよい。
【0017】
前記更新部は、前記第3のニューラルネットワークから前記第4のニューラルネットワークに出力される勾配と、前記特徴量とに基づいて、前記第4のニューラルネットワークの重みパラメータを更新してもよい。
【0018】
前記勾配反転部は、前記第1の識別結果に基づいて、教師ラベルが付与されている第1の入力データ、および、教師ラベルが付与されていない第2の入力データそれぞれの特徴量をクラスごとに分類し、前記第1の入力データの特徴量の分布と前記第2の入力データの特徴量の分布とのクラスごとの差に基づいて、前記係数を算出してもよい。
【0019】
前記勾配反転部は、前記差が大きいほど前記係数の絶対値が大きくなるように前記係数を算出してもよい。
【0020】
また、上記課題を解決するために本発明の別の観点によれば、入力データと、第1のニューラルネットワークとに基づいて、前記入力データの特徴量を抽出することと、前記特徴量と、前記第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力することと、前記第1の識別結果に基づく第1の評価結果を出力することと、前記特徴量と、前記第1のニューラルネットワークの後段かつ前記第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力することと、前記第2の識別結果に基づく第2の評価結果を出力することと、前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新することと、前記重みパラメータの更新に際して、前記第3のニューラルネットワークから前記第1のニューラルネットワークに出力される勾配の正負を反転させることと、を含む、コンピュータにより実行される情報処理方法が提供される。
【0021】
また、上記課題を解決するために本発明の別の観点によれば、コンピュータを、入力データと、第1のニューラルネットワークとに基づいて、前記入力データの特徴量を抽出する特徴抽出部と、前記特徴量と、前記第1のニューラルネットワークの後段に接続された第2のニューラルネットワークとに基づいて、第1の識別結果を出力する第1の識別部と、前記第1の識別結果に基づく第1の評価結果を出力する第1の評価部と、前記特徴量と、前記第1のニューラルネットワークの後段かつ前記第2のニューラルネットワークと並列な位置に接続された第3のニューラルネットワークとに基づいて、第2の識別結果を出力する第2の識別部と、前記第2の識別結果に基づく第2の評価結果を出力する第2の評価部と、前記第1の評価結果と前記第2の評価結果とに基づいて、前記第1のニューラルネットワーク、前記第2のニューラルネットワークおよび前記第3のニューラルネットワークそれぞれの重みパラメータを更新する更新部と、前記重みパラメータの更新に際して、前記第3のニューラルネットワークから前記第1のニューラルネットワークに出力される勾配の正負を反転させる勾配反転部と、として機能させるプログラムが提供される。
【発明の効果】
【0022】
以上説明したように本発明によれば、ニューラルネットワークの性能のばらつきを軽減することを可能とする技術が提供される。
【図面の簡単な説明】
【0023】
【
図1】本発明の第1の実施形態に係る学習装置10の機能構成例を示す図である。
【
図2】本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例を示すフローチャートである。
【
図3】本発明の第2の実施形態に係る学習装置20の機能構成例を示す図である。
【
図4】本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例を示すフローチャートである。
【
図5】本発明の第3の実施形態に係る学習装置30の機能構成例を示す図である。
【
図6】本発明の第1の実施形態に係る学習装置10の例としての情報処理装置900のハードウェア構成を示す図である。
【発明を実施するための形態】
【0024】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0025】
(0.実施形態の概要)
本発明の実施形態の概要について説明する。
【0026】
ニューラルネットワーク(以下、「NN」とも記す。)は、学習によって様々な問題(例えば、画像認識問題など)に対する高い性能を獲得する。一般に、高い性能を有するNNを生成するためには、入力データと入力データに対応する教師ラベルとを大量に用意し、大量の入力データと教師ラベルとを用いてNNに学習を行わせる必要がある。しかし、入力データへの教師ラベルの付与作業は、主に人手によって行われる作業であるため、ユーザにとって大きな負担となり得る。
【0027】
近年、このような課題を解決するため、教師ラベルが付与された入力データ(以下、「ラベル有りデータ」とも言う。)、および、教師ラベルが付与されていない入力データ(以下、「ラベル無しデータ」とも言う。)を用いて学習を行う半教師有り学習の研究開発が盛んになっている。半教師有り学習によれば、教師ラベルの付与にかかる工数が削減されるため、教師ラベルの付与作業によってユーザに掛かる負担が軽減され得る。
【0028】
非特許文献1に記載された手法は、特に画像認識において大きな成果を残した半教師有り学習の手法の1つである。すなわち、非特許文献1に記載された手法は、ラベル無しデータに対して強さの異なる2種類のデータ拡張を施し、弱いデータ拡張を施したデータに基づいてNNを用いて推論することにより疑似的な教師ラベル(以下、「疑似ラベル」とも言う。)を作成し、高信頼度な疑似ラベルに対応するデータと、強いデータ拡張を施したデータとの誤差を損失とする。
【0029】
非特許文献2に記載された手法も、特に画像認識における半教師有り学習の手法の1つである。非特許文献2に記載された手法は、ラベル有りデータが少数の場合、ラベル有りデータとラベル無しデータとの間において経験分布の差が生じることを課題としており、2つの経験分布を近づけるために、ドメイン適応のコンセプトを用いた正則化項を取り入れている。なお、経験分布は、ラベル有りデータおよびラベル無しデータそれぞれから生成される確率分布を意味し得る。
【0030】
しかしながら、半教師有り学習を行うにあたり、教師ラベルを付与するデータの選定にはユーザの任意性が存在する。そのため、非特許文献1に記載された手法によれば、非特許文献2が取り上げている課題の通り、ラベル有りデータが少数であるほど、教師ラベルが付与されたデータのパターンによってNNの性能にばらつきが発生し得る。また、非特許文献2に記載の手法によって生成されるNNの性能は、非特許文献1に記載された手法によって生成されるNNの性能ほどは向上しない。
【0031】
そこで、本明細書においては、学習段階におけるNNへの入力データに依存したNNの性能のばらつきを軽減することを可能とする技術について主に提案する。一例として、本明細書においては、ユーザが選定したラベル有りデータのパターンに依存したNNの性能のばらつきを軽減することを可能とする技術について提案する。また、本明細書においては、NNの性能をさらに向上させることが可能な技術についても提案する。
【0032】
なお、本発明の実施形態では、NNの学習を行う情報処理装置(以下、「学習装置」とも言う。)について説明する。学習装置においては、学習用データに基づいてNNの学習が行われる(学習段階)。その後、識別装置において、学習済みのNNとテストデータとに基づいてテスト結果が出力される(テスト段階)。
【0033】
本発明の実施形態では、学習装置と識別装置とが同一のコンピュータによって実現される場合を主に想定する。しかし、学習装置と識別装置とは、別のコンピュータによって実現されてもよい。かかる場合には、学習装置によって生成された学習済みのNNが識別装置に提供される。例えば、学習済みのNNは、学習装置から識別装置に、記録媒体を介して提供されてもよいし、通信を介して提供されてもよい。
【0034】
(1.第1の実施形態)
まず、本発明の第1の実施形態について説明する。
【0035】
(学習装置の構成)
図1を参照しながら、本発明の第1の実施形態に係る学習装置の構成例について説明する。
図1は、本発明の第1の実施形態に係る学習装置10の機能構成例を示す図である。
図1に示されるように、本発明の第1の実施形態に係る学習装置10は、データセット101と、ラベルセット102と、入力部103と、特徴抽出部111と、クラス識別部112と、勾配反転部113と、ドメイン識別部114と、クラス評価部121と、ドメイン評価部122と、更新部123とを備える。
【0036】
また、学習装置10は、NN110を有する。そして、NN110は、重みパラメータ115を有する。さらに、NN110は、特徴抽出部111に含まれる第1のNN(以下、「特徴抽出NN」とも言う。)と、クラス識別部112に含まれる第2のNN(以下、「クラス識別NN」とも言う。)と、ドメイン識別部114に含まれる第3のNN(以下、「ドメイン識別NN」とも言う。)と、勾配反転部113に含まれる第4のNN(以下、「勾配反転層」とも言う。)と、を有する。
【0037】
特徴抽出NNは、入力部103に接続されている。より詳細に、特徴抽出NNは、入力部103の後段に接続されている。
【0038】
クラス識別NNは、特徴抽出NNの後段に接続されている。なお、特徴抽出NNの後段は、特徴抽出NNを基準として、NN110の順方向における前方を意味し得る。ここでは、クラス識別NNが特徴抽出NNと直接的に接続されている場合を主に想定する。しかし、クラス識別NNは、特徴抽出NNと間接的に接続されていてもよい。さらに、クラス識別NNの後段には、クラス評価部121が接続されている。
【0039】
ドメイン識別NNは、特徴抽出NNの後段かつクラス識別NNと並列に接続されている。なお、ドメイン識別NNの後段は、ドメイン識別NNを基準として、NN110の順方向における前方を意味し得る。ここでは、ドメイン識別NNが特徴抽出NNと直接的に接続されている場合を主に想定する。しかし、ドメイン識別NNは、特徴抽出NNと間接的に接続されていてもよい。
【0040】
また、ドメイン識別NNがクラス識別NNと並列に接続されることは、NN110における特徴抽出NNの後段が複数のルートに分岐している場合に、複数のルートのうちの一方にクラス識別NNが存在し、他方にドメイン識別NNが存在することを意味し得る。さらに、ドメイン識別NNの後段には、ドメイン評価部122が接続されている。
【0041】
勾配反転層は、特徴抽出NNとドメイン識別NNとの間に位置している。より詳細に、勾配反転層は、特徴抽出NNの後段に接続されており、ドメイン識別NNの前段に接続されている。ここでは、勾配反転層が特徴抽出NNと直接的に接続されている場合を主に想定する。しかし、勾配反転層は、特徴抽出NNと間接的に接続されていてもよい。同様に、ここでは、勾配反転層がドメイン識別NNと直接的に接続されている場合を主に想定する。しかし、勾配反転層は、ドメイン識別NNと間接的に接続されていてもよい。
【0042】
以下の説明においては、NN110においてNN110の順方向にデータを伝播させることを、単に「順伝播」とも言う。一方、NN110においてNN110の順方向とは逆方向(以下、単に「逆方向」とも言う。)にデータを伝播させることを、単に「逆伝播」とも言う。
【0043】
入力部103、特徴抽出部111、クラス識別部112、勾配反転部113、ドメイン識別部114、クラス評価部121、ドメイン評価部122および更新部123などは、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などの演算装置を含み、ROM(Read Only Memory)により記憶されているプログラムが演算装置によりRAMに展開されて実行されることにより、その機能が実現され得る。
【0044】
このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0045】
データセット101、ラベルセット102および重みパラメータ115は、図示しない記憶部によって記憶される。かかる記憶部は、RAM(Random Access Memory)、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。
【0046】
(重みパラメータ115)
重みパラメータ115は、特徴抽出NN、クラス識別NN、ドメイン識別NNそれぞれに対応する重みパラメータを含む。初期状態において、重みパラメータ115には、初期値が設定されている。例えば、重みパラメータ115に設定される初期値は、どのような値であってもよい。例えば、重みパラメータ115に設定される初期値は、ランダムな値であってもよいし、あらかじめ学習によって得られた学習済みの値であってもよい。
【0047】
(データセット101)
データセット101は、複数の学習用データ(以下、「入力データ」とも言う。)を含んで構成される。入力データの一例は、ラベル有りデータである。入力データの他の一例は、ラベル無しデータである。なお、本発明の実施形態では、入力データが画像データである場合(特に、静止画像データである場合)を主に想定する。しかし、入力データの種類は特に限定されず、静止画像データ以外のデータも入力データとして用いられ得る。例えば、入力データは、複数のフレームを含んだ動画像データであってもよいし、時系列データまたは音声データであってもよい。
【0048】
(ラベルセット102)
ラベルセット102は、入力データのうちのラベル有りデータに付与された教師ラベルを含んで構成される。なお、本発明の実施形態においては、教師ラベルがクラス識別問題における正解クラスである場合を主に想定する。しかし、教師ラベルの種類は特に限定されない。例えば、教師ラベルは、物体の座標およびクラスを検出する検出問題における物体の正解座標および物体の正解クラスであってもよい。
【0049】
(入力部103)
入力部103は、データセット101から入力データを取得する。例えば、入力部103は、教師ラベルが付与された入力データを「ラベル有りデータ」として扱う。一方、入力部103は、教師ラベルが付与されていない入力データを「ラベル無しデータ」として扱う。さらに、入力部103は、ラベルセット102からラベル有りデータに付与された教師ラベルを取得する。
【0050】
入力部103は、取得した入力データにデータ拡張を施した後、データ拡張が施された後の入力データに基づいてミニバッチを作成し、作成したミニバッチを特徴抽出部111に出力する。例えば、入力部103は、ラベル有りデータに少なくとも1種類のデータ拡張を施す。一方、入力部103は、ラベル無しデータに強弱の異なる2種類のデータ拡張を施す。ミニバッチのサイズは特に限定されない。
【0051】
なお、データ拡張の強弱は、限定されない。例えば、データ拡張の例として、色変更、平行移動および回転などが挙げられるが、色変更および平行移動それぞれは、回転と比較して弱いデータ拡張であるとされてもよい。
【0052】
(特徴抽出部111)
特徴抽出部111は、入力部103から出力されたミニバッチに含まれる入力データと、特徴抽出NNとに基づいて特徴量を抽出する。ここで、特徴抽出NNは、畳み込み層、プーリング層および活性化関数を含んで構成され得る。
【0053】
より詳細に、特徴抽出部111は、重みパラメータ115のうち特徴抽出NNに対応する重みパラメータが設定された特徴抽出NNに、入力データを入力させてNN110の順方向に順伝播を行うことに基づいて、特徴抽出NNから出力されるデータを特徴量として得る。特徴抽出部111は、抽出した特徴量を、クラス識別部112および勾配反転部113それぞれに出力する。
【0054】
(クラス識別部112)
クラス識別部112は、第1の識別部の例として機能し、特徴抽出部111から出力された特徴量とクラス識別NNとに基づいて第1の識別結果を得る。第1の識別結果は、第1の推論結果とも換言され得る。ここで、クラス識別NNは、全結合層および活性化関数を含んで構成され得る。
【0055】
より詳細に、クラス識別部112は、重みパラメータ115のうちクラス識別NNに対応する重みパラメータが設定されたクラス識別NNに、特徴量を入力させてNN110の順方向に順伝播を行うことに基づいて、クラス識別NNから出力されるデータを第1の識別結果として得る。クラス識別部112は、第1の識別結果をクラス評価部121に出力する。
【0056】
上記したように、本発明の実施形態においては、教師ラベルがクラス識別問題における正解クラスである場合を主に想定する。かかる場合には、第1の識別結果は、正解クラスに対応する「予想クラス」に該当し得る。したがって、以下では、クラス識別部112によって得られる第1の識別結果を、単に「予想クラス」とも言う。
【0057】
クラス識別部112から出力される予想クラスの形式は、特に限定されない。しかし、予想クラスの形式は、教師ラベルの形式と合わせて設定されているのがよい。例えば、教師ラベルがクラス数分の長さを有するone-hotベクトルである場合、予想クラスも、クラス数分の長さを有するベクトルであってよい。このとき、予想クラスは、クラスごとの値(以下、「推論値」とも言う。)を含み得る。
【0058】
一例として、クラス識別部112によって全クラスの推論値の合計が1になるように調整される場合には、それぞれのクラスに対応する推論値は、それぞれのクラスに対応する確率に相当し得る。しかし、全クラスの推論値の合計は、クラス識別部112によって1になるように調整されていなくてもよい。いずれの場合であっても、クラス識別部112から出力される推論値は、そのクラスの確からしさが高いほど、大きい値であり得る。
【0059】
(クラス評価部121)
クラス評価部121は、第1の評価部の例として機能し、予想クラスに基づく第1の評価結果(以下、「クラス評価結果」とも言う。)を得る。より詳細に、クラス評価部121は、ミニバッチごとに、予想クラスと目標とに基づいて第1の損失を算出し、ミニバッチごとに、第1の損失に基づいてクラス評価結果を得る。そして、クラス評価部121は、クラス評価結果を更新部123に出力する。
【0060】
ここで、予想クラスと比較される目標は、特定の目標に限定されず、一般的なニューラルネットワークにおいて用いられる目標と同様の目標であってよい。例えば、ラベル有りデータに基づく予想クラスと比較される目標は、教師ラベルであってもよい。一方、ラベル無しデータに基づく予想クラスと比較される目標は、より弱いデータ拡張(例えば、色変更または平行移動など)が施された後のラベル無しデータに基づく予想クラス(すなわち、疑似ラベル)であってもよい。
【0061】
すなわち、クラス評価部121は、入力データがラベル有りデータである場合、ラベル有りデータに基づく予想クラスと、教師ラベルとに基づいて、第1の損失を算出してもよい。一方、クラス評価部121は、入力データがラベル無しデータである場合、より強いデータ拡張(例えば、回転など)が施された後のラベル無しデータに基づく予想クラスと、疑似ラベルとに基づいて、第1の損失を算出してもよい。
【0062】
第1の損失の算出に用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数であってよい。
【0063】
例えば、ラベル有りデータに基づく第1の損失の算出に用いられる損失関数は、教師ラベルと予想クラスとの差分に基づく平均二乗誤差であってもよい。あるいは、ラベル有りデータに基づく第1の損失の算出に用いられる損失関数は、教師ラベルと予想クラスとの差分に基づく交差エントロピー誤差であってもよい。
【0064】
一方、ラベル無しデータに基づく第1の損失の算出に用いられる損失関数は、疑似ラベルとより強いデータ拡張が施された後のラベル無しデータに基づく予想クラスとの差分に基づく平均二乗誤差であってもよい。あるいは、ラベル無しデータに基づく第1の損失の算出に用いられる損失関数は、疑似ラベルとより強いデータ拡張が施された後のラベル無しデータに基づく予想クラスとの差分に基づく交差エントロピー誤差であってもよい。
【0065】
さらに、非特許文献1に記載されたように、ラベル無しデータに対する疑似ラベルの信頼性が低い場合には、ラベル無しデータに基づく第1の損失は、0(ゼロ)であってもよい。
【0066】
(勾配反転部113)
勾配反転部113は、更新部123による重みパラメータ115の更新に際して、ドメイン識別NNから特徴抽出NNに出力される勾配の正負を反転させる。これによって、特徴量から入力データがラベル有りデータであるか否かが識別されにくくなるように特徴抽出NNによる学習が行われる。したがって、互いに近づいたラベル有りデータの特徴量とラベル無しデータの特徴量とに基づいてクラス識別NNによる学習が行われるため、クラス識別NNの性能のばらつきが軽減され得る。
【0067】
より詳細に、順伝播時において、勾配反転部113は、特徴抽出NNから順方向に出力される特徴量をそのままドメイン識別NNに出力する。一方、逆伝播時においては、ドメイン識別NNから逆方向に出力される勾配が更新部123によって算出される。勾配反転部113は、かかる勾配に負の係数を乗算することにより、勾配の正負を反転させ、正負が反転された後の勾配を特徴抽出NNに出力する。
【0068】
さらに詳細に、勾配反転部113は、勾配反転層(本発明の第1の実施形態において、勾配反転層を「R1」とも表現する。)を含んで構成される。勾配反転層R1は、特徴抽出NNとドメイン識別NNとの間に位置する。ここでは、勾配反転層R1が、特徴抽出NNと直接的に接続される場合を主に想定する。しかし、勾配反転層R1は、特徴抽出NNと間接的に接続されていてもよい。同様に、ここでは、勾配反転層R1が、ドメイン識別NNと直接的に接続される場合を主に想定する。しかし、勾配反転層R1は、ドメイン識別NNと間接的に接続されていてもよい。
【0069】
順伝播時において、勾配反転層R1は、ミニバッチ内におけるi番目の入力データに基づいて特徴抽出NNから出力されるf次元の特徴量xiに対して、恒等関数として適用される。一方、逆伝播時において、勾配反転層R1は、ドメイン識別NNから出力される勾配に対して、勾配の正負を反転させる関数として適用される。例えば、勾配の正負を反転させる関数は、下記の式(1)のように表現され得る。
【0070】
【0071】
ここで、式(1)における左辺のxiは、勾配反転層R1への入力であり、R1(xi)は、勾配反転層R1からの出力である。式(1)における右辺のIは、単位行列である。式(1)における右辺の「-r(t)」は、ドメイン識別NNから逆方向に出力される勾配に対して乗算される負の係数の例に該当する。r(t)は、学習ステップ数tに応じた係数であり、r(t)の具体的な形は特に限定されない。
【0072】
例えば、r(t)=1であってもよい。このとき、勾配反転層R1の適用によって、常に勾配の正負が反転されるのみとなる。あるいは、r(t)は、学習ステップ数tに応じて0から段階的に増加する係数であってもよい。これによって、勾配の正負の反転量が段階的に大きくなり得る。
【0073】
(ドメイン識別部114)
ドメイン識別部114は、第2の識別部の例として機能し、特徴抽出部111から出力された特徴量に対して勾配反転部113によって恒等関数が適用されたデータ(すなわち、特徴抽出部111から出力された特徴量)とドメイン識別NNとに基づいて第2の識別結果を得る。第2の識別結果は、第2の推論結果とも換言され得る。ここで、ドメイン識別NNは、全結合層および活性化関数を含んで構成され得る。
【0074】
より詳細に、ドメイン識別部114は、重みパラメータ115のうちドメイン識別NNに対応する重みパラメータが設定されたドメイン識別NNに、特徴量を入力させてNN110の順方向に順伝播を行うことに基づいて、ドメイン識別NNから出力されるデータを第2の識別結果として得る。ドメイン識別部114は、ドメイン識別結果をドメイン評価部122に出力する。
【0075】
本発明の実施形態では、ドメイン識別部114が、ドメイン識別NNにより推論することに基づいて、入力データがラベル有りデータであるか否か(すなわち、特徴量がラベル有りデータから抽出されたのか否か)を識別し、識別によって得られた結果を第2の識別結果(以下、「ドメイン識別結果」とも言う。)として出力する場合を主に想定する。
【0076】
ドメイン識別部114から出力されるドメイン識別結果の形式は、特に限定されず、入力データがラベル有りデータであるのか否かが識別可能な形式であればよい。より詳細に、ドメイン識別結果は、入力データがラベル有りデータである確率(スカラー)によって表現されてもよいし、入力データがラベル有りデータである確率と、入力データがラベル無しデータである確率との組み合わせによって構成される2次元ベクトルによって表現されてもよい。
【0077】
(ドメイン評価部122)
ドメイン評価部122は、第2の評価部の例として機能し、ドメイン識別結果に基づく第2の評価結果(以下、「ドメイン評価結果」とも言う。)を得る。より詳細に、ドメイン評価部122は、ミニバッチごとに、ドメイン識別結果と目標とに基づいて第2の損失を算出し、ミニバッチごとに、第2の損失に基づいてドメイン評価結果を得る。そして、ドメイン評価部122は、ドメイン評価結果を更新部123に出力する。
【0078】
ここで、ドメイン識別結果と比較される目標は、特定の目標に限定されず、一般的なニューラルネットワークにおいて用いられる目標と同様の目標であってよい。ドメイン識別結果と比較される目標は、入力データがラベル有りデータであるか否かを示す情報であってよい。
【0079】
ドメイン識別結果と比較される目標の形式は、ドメイン識別結果の形式と合わせて設定されているのがよい。例えば、ドメイン識別結果の形式がスカラーである場合、ドメイン識別結果と比較される目標もスカラーであってよい。例えば、入力データがラベル有りデータであることがスカラー「1」によって表現され、入力データがラベル無しデータであることがスカラー「0」によって表現されてもよい。
【0080】
あるいは、例えば、ドメイン識別結果の形式が二次元ベクトルである場合、ドメイン識別結果と比較される目標も二次元ベクトルであってよい。例えば、入力データがラベル有りデータであることが二次元ベクトル「1,0」によって表現され、入力データがラベル無しデータであることが二次元ベクトル「0,1」によって表現されてもよい。
【0081】
第2の損失の算出に用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数であってよい。
【0082】
例えば、ドメイン識別結果と比較される目標がスカラーである場合には、第2の損失の算出に用いられる損失関数は、目標とドメイン識別結果との差分に基づく二値交差エントロピー誤差であってもよい。あるいは、ドメイン識別結果と比較される目標が二次元ベクトルである場合には、第2の損失の算出に用いられる損失関数は、目標とドメイン識別結果との差分に基づく交差エントロピー誤差であってもよい。
【0083】
(更新部123)
更新部123は、クラス評価結果とドメイン評価結果とに基づいて、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。これによって、予想クラスが教師ラベルまたは疑似ラベルに近づくように、特徴抽出NNおよびクラス識別NNによる学習が行われるとともに、入力データがラベル有りデータであるか否かが高精度に識別されるように特徴抽出NNおよびドメイン識別NNによる学習が行われる。
【0084】
さらに、上記したように、ドメイン識別NNから特徴抽出NNに出力される勾配の正負が勾配反転部113によって反転されるため、特徴量から入力データがラベル有りデータであるか否かが識別されにくくなるように特徴抽出NNによる学習が行われる。このようなドメイン識別NNと特徴抽出NNとによる敵対的学習により、ラベル有りデータの特徴量とラベル無しデータの特徴量とが近づくように特徴抽出NNおよびクラス識別NNによる学習が行われるため、特徴抽出NNおよびクラス識別NNの性能のばらつきが軽減され得る。
【0085】
より詳細に、更新部123は、クラス評価結果とドメイン評価結果とに基づく誤差逆伝播法(バックプロパゲーション)によって、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新してよい。
【0086】
なお、更新部123は、重みパラメータの更新が終わるたびに、学習終了条件が満たされたか否かを判断する。学習終了条件が満たされていないと判断された場合には、入力部103によって次の入力データが取得され、特徴抽出部111、クラス識別部112、クラス評価部121、ドメイン識別部114、ドメイン評価部122、勾配反転部113および更新部123によって、当該次の入力データに基づく処理が再度実行される。一方、学習終了条件が満たされたと判断された場合には、学習が終了される。
【0087】
なお、学習終了条件は特に限定されず、学習がある程度行われたことを示す条件であればよい。具体的に、学習終了条件は、第1の損失または第2の損失が閾値よりも小さいという条件を含んでもよい。あるいは、学習終了条件は、第1の損失の変化または第2の損失の変化が閾値よりも小さいという条件(第1の損失または第2の損失が収束状態になったという条件)を含んでもよい。
【0088】
あるいは、学習終了条件は、重みパラメータの更新が所定の回数行われたという条件を含んでもよい。あるいは、クラス識別NNまたはドメイン識別NNの精度(例えば、正解率など)が算出される場合、学習終了条件は、当該精度が所定の割合(例えば、90%など)よりも大きいという条件を含んでもよい。
【0089】
以上、本発明の第1の実施形態に係る学習装置10の構成例について説明した。
【0090】
(学習段階の動作)
続いて、
図2を参照しながら、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作の流れについて説明する。
図2は、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例を示すフローチャートである。
【0091】
まず、入力部103は、データセット101から入力データを取得する。例えば、入力部103は、教師ラベルが付与された入力データを「ラベル有りデータ」として扱う。一方、入力部103は、教師ラベルが付与されていない入力データを「ラベル無しデータ」として扱う。さらに、入力部103は、ラベルセット102からラベル有りデータに付与された教師ラベルを取得する。
【0092】
そして、入力部103は、取得した入力データにデータ拡張を施した後、データ拡張が施された後の入力データに基づいてミニバッチを作成し(S101)、作成したミニバッチを特徴抽出部111に出力する。例えば、入力部103は、ラベル有りデータに少なくとも1種類のデータ拡張を施す。一方、入力部103は、ラベル無しデータに強弱の異なる2種類のデータ拡張を施す。
【0093】
続いて、特徴抽出部111は、入力部103によって作成されたミニバッチに基づいて、重みパラメータが設定された特徴抽出NNにより特徴量を抽出し(S102)、抽出した特徴量を、クラス識別部112および勾配反転部113それぞれに出力する。
【0094】
クラス識別部112は、特徴抽出部111から出力された特徴量に基づいて、クラス識別NNにより予想クラスを得る。そして、クラス識別部112は、予想クラスをクラス評価部121に出力する(S103)。クラス評価部121は、クラス識別部112から出力された予想クラスを評価してクラス評価結果を得る(S104)。クラス評価部121は、クラス評価結果を更新部123に出力する。
【0095】
続いて、ドメイン識別部114は、特徴量に対応して勾配反転部113から出力されたデータ(すなわち、特徴抽出部111から出力された特徴量)に基づいて、ドメイン識別NNによりドメイン識別結果を得る。ドメイン識別部114は、ドメイン識別結果を更新部123に出力する(S105)。ドメイン評価部122は、ドメイン識別結果を評価してドメイン評価結果を得る(S106)。ドメイン評価部122は、ドメイン評価結果を更新部123に出力する。
【0096】
更新部123は、クラス評価部121から出力されるクラス評価結果およびドメイン評価部122から出力されるドメイン評価結果に基づいて、NN110の重みパラメータ115を更新する(S107)。より詳細に、更新部123は、クラス評価結果とドメイン評価結果とに基づく誤差逆伝播法によって、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。
【0097】
このとき、勾配反転部113は、ドメイン識別NNから特徴抽出NNに出力される勾配の正負を反転させる。例えば、勾配の正負を反転させる関数は、上記の式(1)のように表現され得る。
【0098】
学習終了条件が満たされない場合(S108において「NO」)、S101に動作が移行される。一方、学習終了条件が満たされた場合(S108において「YES」)、NN110による学習が終了される。
【0099】
以上、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明した。
【0100】
(第1の実施形態のまとめ)
以上に説明したように、本発明の第1の実施形態に係る学習装置10において、更新部123は、クラス評価結果とドメイン評価結果とに基づいて、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。これによって、予想クラスが教師ラベルまたは疑似ラベルに近づくように、特徴抽出NNおよびクラス識別NNによる学習が行われるため、特徴抽出NNおよびクラス識別NNによる識別性能を高く維持することが可能であるという効果が享受される。
【0101】
さらに、本発明の第1の実施形態に係る学習装置10において、勾配反転部113は、重みパラメータ115の更新に際して、ドメイン識別NNから特徴抽出NNに出力される勾配の正負を反転させる。かかるドメイン識別NNと特徴抽出NNとによる敵対的学習により、ラベル有りデータとラベル無しデータとの間の経験分布が近づくように特徴抽出NNおよびクラス識別NNによる学習が行われるため、特徴抽出NNおよびクラス識別NNの性能のばらつきが軽減され得るという効果が享受される。
【0102】
以上、本発明の第1の実施形態について説明した。
【0103】
(2.第2の実施形態)
続いて、本発明の第2の実施形態について説明する。
【0104】
本発明の第1の実施形態においては、勾配反転部113による勾配の正負の反転量が、入力データに依存しない場合について説明した。換言すると、本発明の第1の実施形態においては、すべての入力データについて、勾配反転部113による勾配の正負の反転量が均等である場合について説明した。しかし、かかる場合には、ラベル有りデータとラベル無しデータとの間における経験分布の差の大きさは特に考慮されていない。
【0105】
そこで、本発明の第2の実施形態においては、勾配の正負の反転量を、入力データに依存させる手法について説明する。
【0106】
(学習装置の構成)
図3を参照しながら、本発明の第2の実施形態に係る学習装置の構成例について説明する。
図3は、本発明の第2の実施形態に係る学習装置20の機能構成例を示す図である。
図3に示されるように、本発明の第2の実施形態に係る学習装置20の機能構成は、本発明の第1の実施形態に係る学習装置10の機能構成と多くの部分で共通する。
【0107】
ただし、本発明の第2の実施形態に係る学習装置20が備える、重みパラメータ215、NN210、勾配反転部213および更新部223が有する機能は、本発明の第1の実施形態に係る学習装置10が備える、重みパラメータ115、NN110、勾配反転部113および更新部123が有する機能と異なる。したがって、以下の説明においては、(重みパラメータ215を含む)NN210、勾配反転部213および更新部223が有する機能について主に説明し、その他の構成要素が有する機能の詳細な説明は省略する。
【0108】
(重みパラメータ215)
本発明の第2の実施形態において、重みパラメータ215は、特徴抽出NN、クラス識別NN、ドメイン識別NNそれぞれに対応する重みパラメータだけではなく、勾配反転層R2に対応する重みパラメータを含む。ここでは、クラス数がC個であるクラス識別問題において、勾配反転層R2に対応する重みパラメータが、C次元ベクトルp=[p1、・・・、pC]∈RCによって構成される場合を想定する。
【0109】
初期状態において、勾配反転層R2に対応する重みパラメータには、初期値が設定されている。例えば、勾配反転層R2に対応する重みパラメータに設定される初期値は、どのような値であってもよい。例えば、勾配反転層R2に対応する重みパラメータに設定される初期値は、ランダムな値であってもよいし、あらかじめ学習によって得られた学習済みの値であってもよい。
【0110】
(勾配反転部213)
勾配反転部213は、入力データに基づく負の係数を、ドメイン識別NNから特徴抽出NNに出力される勾配に乗算することにより、ドメイン識別NNから特徴抽出NNに出力される勾配の正負を反転させる。これにより、勾配反転部213による勾配の正負の反転量が、入力データに依存しない場合(本発明の第1の実施形態)と比較し、特徴抽出NNおよびクラス識別NNの性能のばらつきがより一層軽減され得る。
【0111】
より詳細に、順伝播時において、勾配反転部213は、本発明の第1の実施形態に係る勾配反転部113と同様に、特徴抽出NNから順方向に出力される特徴量をそのままドメイン識別NNに出力する。
【0112】
一方、逆伝播時において、勾配反転部213は、勾配反転層R2に対応する重みパラメータと、クラス識別部112によって得られた予想クラスとに基づいて、負の係数を算出する。このとき、勾配反転部213は、勾配反転層R2に対応する重みパラメータと予想クラスとが近いほど負の係数の絶対値が大きくなるように負の係数を算出するのが望ましい。
【0113】
そして、勾配反転部113は、ドメイン識別NNから逆方向に出力される勾配に負の係数を乗算することにより、勾配の正負を反転させ、正負が反転された後の勾配を特徴抽出NNに出力する。これによって、勾配反転層R2に対応する重みパラメータと予想クラスとが近いほど、ドメイン識別NNから特徴抽出NNに出力される勾配の正負の反転量が大きくなるため、特徴抽出NNおよびクラス識別NNの性能のばらつきがさらに一層軽減され得る。
【0114】
さらに詳細に、勾配反転部213は、本発明の第1の実施形態に係る勾配反転部113と同様に、勾配反転層(本発明の第2の実施形態において、勾配反転層を「R2」とも表現する。)を含んで構成される。
【0115】
順伝播時において、勾配反転層R2は、本発明の第1の実施形態に係る勾配反転層R1と同様に、ミニバッチ内におけるi番目の入力データに基づいて特徴抽出NNから出力されるf次元の特徴量xiに対して、恒等関数として適用される。したがって、順伝播時においては、勾配反転層R2に対応する重みパラメータpは使用されない。
【0116】
一方、逆伝播時において、勾配反転層R2は、ドメイン識別NNから出力される勾配に対して、勾配反転層R2に対応する重みパラメータpとミニバッチ内におけるi番目の入力データに基づく予想クラスyi∈RCとに基づいて勾配の正負を反転させる関数として適用される。例えば、勾配の正負を反転させる関数は、下記の式(2)のように表現され得る。
【0117】
【0118】
ここで、式(2)における左辺のxiは、勾配反転層R2への入力であり、R2(xi)は、勾配反転層R2からの出力である。式(2)における右辺のI、および、式(2)における右辺のr(t)は、本発明の第1の実施形態に係るIおよびr(t)と同様である。式(2)における右辺の「-r(t)・qi」は、ドメイン識別NNから出力される勾配に乗算される負の係数の例である。
【0119】
また、式(3)に示されるように、qi∈Rは、勾配反転層R2に対応する重みパラメータpが(全クラスの平均が1となるように)正規化された後の重みパラメータと、予想クラスyiとの内積である。これにより、勾配反転層R2に対応する重みパラメータpと予想クラスyiとが近いほど、qiの値(すなわち、式(2)における負の係数「-r(t)・qi」の絶対値)は、大きい値となり、勾配の正負の反転量が大きくなり得る。なお、重みパラメータpに対する正規化は実行されなくてもよい。
【0120】
(更新部223)
更新部223は、本発明の第1の実施形態に係る更新部123と同様に、クラス評価結果とドメイン評価結果とに基づいて、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。
【0121】
さらに、更新部223は、ドメイン識別NNから勾配反転層R2に出力される勾配と、ミニバッチ内におけるi番目の入力データに基づいて特徴抽出NNから出力されるf次元の特徴量xiとに基づいて、勾配反転層R2に対応する重みパラメータpを更新する。
【0122】
より詳細に、更新部223は、勾配反転層R2からの出力R2(xi)に対するqiによる偏微分を算出する。例えば、勾配反転層R2からの出力R2(xi)に対するqiによる偏微分は、下記の式(4)に示されるように疑似的に定義されてよい。
【0123】
【0124】
そして、更新部223は、ドメイン識別NNから逆方向に出力される勾配と、勾配反転層R2からの出力R2(xi)に対するqiによる偏微分(式(4))との乗算結果を、勾配反転層R2に対応する重みパラメータpに逆伝播させることにより、勾配反転層R2に対応する重みパラメータpを更新する。
【0125】
さらに詳細に、更新部223は、ドメイン識別NNから逆方向に出力される勾配と、勾配反転層R2からの出力R2(xi)に対するqiによる偏微分(式(4))と、qiに対するpによる偏微分(式(2)の例では1)との乗算結果を、勾配反転層R2に対応する重みパラメータpにおける勾配として算出する。そして、更新部223は、勾配反転層R2に対応する重みパラメータpにおける勾配に基づいて、勾配反転層R2に対応する重みパラメータpを更新する。
【0126】
本発明の第1の実施形態と同様に、更新部223は、重みパラメータの更新が終わるたびに、学習終了条件が満たされたか否かを判断する。学習終了条件が満たされていないと判断された場合には、入力部103によって次の入力データが取得され、特徴抽出部111、クラス識別部112、クラス評価部121、ドメイン識別部114、ドメイン評価部122、勾配反転部213および更新部223によって、当該次の入力データに基づく処理が再度実行される。一方、学習終了条件が満たされたと判断された場合には、学習が終了される。
【0127】
以上、本発明の第2の実施形態に係る学習装置20の構成例について説明した。
【0128】
(学習段階の動作)
続いて、
図4を参照しながら、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」の動作の流れについて説明する。
図4は、本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例を示すフローチャートである。
【0129】
ここで、本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例(
図4)と、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例(
図2)とを比較すると、S101~S106、S108が共通しており、S107がS207に置き換わっている。そこで、以下では、S207について主に説明し、S101~S106、S108についての詳細な説明は省略する。
【0130】
更新部223は、クラス評価部121から出力されるクラス評価結果と、ドメイン評価部122から出力されるドメイン評価結果と、クラス識別部112から出力される予想クラスと、特徴抽出NNから順方向に出力される特徴量とに基づいて、NN210の重みパラメータ215を更新する(S207)。より詳細に、更新部223は、クラス評価結果とドメイン評価結果とに基づく誤差逆伝播法によって、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。
【0131】
このとき、勾配反転部213は、入力データに基づく負の係数を、ドメイン識別NNから特徴抽出NNに出力される勾配に乗算することにより、ドメイン識別NNから特徴抽出NNに出力される勾配の正負を反転させる。例えば、勾配の正負を反転させる関数は、上記の式(2)のように表現され得る。
【0132】
さらに、更新部223は、ドメイン識別NNから逆方向に出力される勾配と、勾配反転層R2からの出力R2(xi)に対するqiによる偏微分(式(4))との乗算結果を、勾配反転層R2に対応する重みパラメータpに逆伝播させることにより、勾配反転層R2に対応する重みパラメータpを更新する。
【0133】
以上、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」の動作の流れについて説明した。
【0134】
(第2の実施形態のまとめ)
以上に説明したように、本発明の第2の実施形態に係る学習装置20によれば、本発明の第1の実施形態に係る学習装置10が奏する効果と同様の効果を奏し得る。さらに、本発明の第2の実施形態に係る学習装置20によれば、ドメイン識別NNから特徴抽出NNに出力される勾配の正負の反転量が、学習可能なパラメータ「qi」により入力データに依存して変化し得るため、特徴抽出NNおよびクラス識別NNの性能のばらつきがより一層軽減され得るという効果が享受される。
【0135】
以上、本発明の第2の実施形態について説明した。
【0136】
(3.第3の実施形態)
続いて、本発明の第3の実施形態について説明する。
【0137】
本発明の第2の実施形態においては、勾配反転部213による勾配の正負の反転量が、入力データに依存して変化し得る場合について説明した。しかし、本発明の第2の実施形態においては、勾配に乗算される学習可能なパラメータ「qi」が自動的に更新されるため、勾配の正負の反転が不安定になる可能性もある。
【0138】
そこで、本発明の第3の実施形態においては、勾配に乗算される学習可能なパラメータを用いずに、クラス識別部112から出力される予想クラスと、特徴抽出NNから順方向に出力される特徴量とを用いて、勾配の正負の反転量を設定する手法について説明する。
【0139】
(学習装置の構成)
図5を参照しながら、本発明の第3の実施形態に係る学習装置の構成例について説明する。
図5は、本発明の第3の実施形態に係る学習装置30の機能構成例を示す図である。
図5に示されるように、本発明の第3の実施形態に係る学習装置30の機能構成は、本発明の第1の実施形態に係る学習装置10の機能構成と多くの部分で共通する。
【0140】
ただし、本発明の第3の実施形態に係る学習装置30が備える、勾配反転部313および更新部323が有する機能は、本発明の第1の実施形態に係る学習装置10が備える、勾配反転部113および更新部123が有する機能と異なる。したがって、以下の説明においては、勾配反転部313および更新部323が有する機能について主に説明し、その他の構成要素が有する機能の詳細な説明は省略する。
【0141】
(勾配反転部313)
逆伝播時において、勾配反転部313は、クラス識別部112から出力される予想クラスに基づいて、ラベル有りデータ(第1の入力データ)およびラベル無しデータ(第2の入力データ)それぞれの特徴量をクラスごとに分類する。そして、勾配反転部313は、ラベル有りデータの特徴量の分布とラベル無しデータの特徴量の分布とのクラスごとの差に基づいて、勾配に乗算される負の係数を算出する。
【0142】
例えば、勾配反転部313は、ラベル有りデータの特徴量の分布とラベル無しデータの特徴量の分布とのクラスごとの差が大きいほど、負の係数の絶対値が大きくなるように(すなわち、分布同士の差と負の係数の絶対値とが正の相関を有するように)負の係数を算出する。そして、勾配反転部313は、ドメイン識別NNから逆方向に出力される勾配に負の係数を乗算することにより、勾配の正負を反転させ、正負が反転された後の勾配を特徴抽出NNに出力する。
【0143】
これによって、本発明の第2の実施形態と同様に、特徴抽出NNおよびクラス識別NNの性能のばらつきがさらに一層軽減される。さらに、これによって、本発明の第2の実施形態と異なり、学習可能なパラメータを用いずに、勾配の正負の反転量が設定されるため、勾配の正負の反転が不安定になる可能性が低減され得る。
【0144】
さらに詳細に、勾配反転部313は、本発明の第1の実施形態に係る勾配反転部113と同様に、勾配反転層(本発明の第3の実施形態において、勾配反転層を「R3」とも表現する。)を含んで構成される。
【0145】
順伝播時において、勾配反転層R3は、本発明の第1の実施形態に係る勾配反転層R1と同様に、ミニバッチ内におけるi番目の入力データに基づいて特徴抽出NNから出力されるf次元の特徴量xiに対して、恒等関数として適用される。
【0146】
一方、逆伝播時において、勾配反転層R3は、ドメイン識別NNから出力される勾配に対して、ミニバッチ内におけるi番目の入力データに基づいて特徴抽出NNから出力されるf次元の特徴量xiと、当該入力データに基づく予想クラスyi∈RCとに基づいて、勾配の正負を反転させる関数として適用される。例えば、勾配の正負を反転させる関数は、下記の式(5)のように表現され得る。
【0147】
【0148】
ここで、式(5)における左辺のxiは、勾配反転層R3への入力であり、R3(xi)は、勾配反転層R3からの出力である。式(5)における右辺のI、および、式(5)における右辺のr(t)は、本発明の第1の実施形態に係るIおよびr(t)と同様である。式(5)における右辺の「-r(t)・hi」は、ドメイン識別NNから出力される勾配に乗算される負の係数の例である。
【0149】
hiは、ラベル有りデータの特徴量の分布とラベル無しデータの特徴量の分布との差と正の相関を有するように勾配反転部313によって算出される。以下では、<STEP1>から<STEP4>までによって、hiを算出する例について説明する。ただし、hiは、一例に過ぎない。したがって、hiは、ラベル有りデータの特徴量の分布とラベル無しデータの特徴量の分布との差と正の相関を有する他の値に置き換えられてもよい。
【0150】
<STEP1>
まず、ラベル有りデータの特徴量をxi
Lとし、ラベル無しデータの特徴量をxj
Uとする。勾配反転部313は、予想クラスごとにラベル有りデータの特徴量xi
Lおよびラベル無しデータの特徴量xj
Uのグループ分けを行う。下記の式(6)に示されるように、ラベル有りデータの特徴量xi
Lのうち、予想クラスcに属する特徴量の集合をXC
Lとし、下記の式(7)に示されるように、ラベル無しデータの特徴量xj
Uのうち、予想クラスcに属する特徴量の集合をXC
Uとする。
【0151】
【0152】
ここで、BLはミニバッチ内のラベル有りデータの個数であり、BUはミニバッチ内のラベル無しデータの個数である。また、{1,…,BL}をミニバッチ内のラベル有りデータを表す添え字の集合とし、{BL+1,…,BL+BU}をミニバッチ内のラベル無しデータを表す添え字の集合とする。
【0153】
<STEP2>
続いて、下記の式(8)に示されるように、勾配反転部313は、ラベル有りデータの特徴量とラベル無しデータの特徴量との全組み合わせにおけるコサイン類似度を予想クラスごとに算出し、コサイン類似度の平均値を予想クラスごとに算出し、平均値を1から減算して類似度scとする。各予想クラスに対応する類似度scは、ラベル有りデータの特徴量とラベル無しデータの特徴量とのコサイン類似度が高いほど0に近づき、コサイン類似度が低いほど2に近づく。
【0154】
【0155】
<STEP3>
続いて、下記の式(9)に示されるように、勾配反転部313は、予想クラス全体における類似度の平均値が1となるように予想クラスごとの類似度scを正規化する。ただし、類似度scに対する正規化は、特に行われなくてもよい。
【0156】
【0157】
<STEP4>
続いて、下記の式(10)に示されるように、勾配反転部313は、正規化された後の類似度scと、予想クラスyiとの内積を算出する。このようにして算出された内積は、上記の式(5)におけるデータごとの重みhiとして用いられ得る。
【0158】
【0159】
(更新部323)
更新部323は、本発明の第1の実施形態に係る更新部123と同様に、クラス評価結果とドメイン評価結果とに基づいて、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。このとき、上記の式(5)に示された関数を用いて、ドメイン識別NNから特徴抽出NNに出力される勾配の正負が勾配反転部313によって反転される。
【0160】
以上、本発明の第3の実施形態に係る学習装置30の構成例について説明した。
【0161】
(学習段階の動作)
続いて、本発明の第3の実施形態に係る学習装置30によって実行される「学習段階」の動作の流れについて、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れを示すフローチャート(
図2)を参照しながら説明する。
【0162】
ここで、本発明の第3の実施形態に係る学習装置30によって実行される学習段階の動作例は、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例(
図2)と比較して、S107の詳細が異なっている。そこで、以下では、本発明の第3の実施形態に係る学習装置30によって実行されるS107について主に説明し、S101~S106、S108についての詳細な説明は省略する。
【0163】
更新部323は、本発明の第1の実施形態に係る更新部123と同様に、クラス評価部121から出力されるクラス評価結果と、ドメイン評価部122から出力されるドメイン評価結果とに基づいて、NN110の重みパラメータ115を更新する(S107)。より詳細に、更新部323は、本発明の第1の実施形態に係る更新部123と同様に、クラス評価結果とドメイン評価結果とに基づく誤差逆伝播法によって、特徴抽出NN、クラス識別NNおよびドメイン識別NNそれぞれの重みパラメータを更新する。
【0164】
このとき、勾配反転部313は、ラベル有りデータの特徴量の分布とラベル無しデータの特徴量の分布とのクラスごとの差が大きいほど、負の係数「-hi」の絶対値が大きくなるように負の係数「-hi」を算出し、算出した負の係数「-hi」を、ドメイン識別NNから特徴抽出NNに出力される勾配に乗算することにより、ドメイン識別NNから特徴抽出NNに出力される勾配の正負を反転させる。例えば、勾配の正負を反転させる関数は、上記の式(5)のように表現され得る。
【0165】
以上、本発明の第3の実施形態に係る学習装置30によって実行される「学習段階」の動作の流れについて説明した。
【0166】
(第3の実施形態のまとめ)
以上に説明したように、本発明の第3の実施形態に係る学習装置30によれば、本発明の第2の実施形態に係る学習装置20が奏する効果と同様の効果を奏し得る。さらに、本発明の第3の実施形態に係る学習装置30によれば、学習可能なパラメータを用いずに、勾配の正負の反転量が設定されるため、勾配の正負の反転が不安定になる可能性が低減され得るという効果が享受される。
【0167】
以上、本発明の第3の実施形態について説明した。
【0168】
(4.ハードウェア構成例)
続いて、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明する。なお、本発明の第2の実施形態に係る学習装置20および本発明の第3の実施形態に係る学習装置30それぞれのハードウェア構成も、本発明の第1の実施形態に係る学習装置10のハードウェア構成と同様に実現され得る。
【0169】
以下では、本発明の第1の実施形態に係る学習装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、学習装置10のハードウェア構成の一例に過ぎない。したがって、学習装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【0170】
図6は、本発明の第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と、を備える。
【0171】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
【0172】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0173】
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0174】
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【0175】
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
【0176】
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
【0177】
以上、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明した。
【0178】
(5.まとめ)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0179】
本発明の第1の実施形態から本発明の第3の実施形態までにおいては、学習用データが静止画像データである場合について主に説明した。しかし、学習用データの種類は特に限定されない。例えば、学習用データの種類に合わせた特徴量が抽出されれば、静止画像データ以外も学習用データとして用いられ得る。例えば、学習用データは、複数のフレームを含んだ動画像データであってもよいし、音声データであってもよいし、他の時系列データであってもよい。
【0180】
このとき、学習用データが静止画像データである場合には、NN110およびNN210それぞれに含まれる畳み込み層として2次元畳み込み層が用いられるのが一般的である。一方、NN110およびNN210それぞれに含まれる畳み込み層として3次元畳み込み層が用いられれば、学習用データとして動画像データが適用され得る。
【0181】
本発明の第2の実施形態では、勾配反転部213が、上記の式(3)において、勾配反転層R2に対応する重みパラメータpの平均値が1となるように、pの正規化を行う例について説明した。このとき、勾配反転部213が、pからpの平均値を減算し、1を加算する例について説明した。しかし、勾配反転部213によって行われる正規化は、かかる例に限定されない。例えば、下記の式(11)に示されるように、勾配反転部213は、pの平均値によりpを除算することによって、正規化を行ってもよい。
【0182】
【0183】
本発明の第3の実施形態では、上記の式(5)における係数hiの算出手法の例を、<STEP1>から<STEP4>までに示した。しかし、係数hiの算出手法は、かかる例に限定されない。すなわち、係数hiは、ラベル有りデータとラベル無しデータとの間の経験分布の差の大きさと正の相関を有する値であればよい。
【0184】
さらに、<STEP4>において類似度Scがミニバッチごとに算出されることによって、類似度Scの変動が大きくなってしまうことが考えられる。そこで、類似度の変動が大きくなってしまうことを避けるために、下記の式(12)に示されるように、類似度Scの代わりに、類似度Scの移動平均値が上記の式(10)における係数hiの算出に用いられてもよい。
【0185】
【0186】
ここで、上記の式(12)におけるSmaは、類似度Scの移動平均値であり、移動平均値Smaの初期値は特に限定されない。また、上記の式(12)におけるαは、移動平均値の算出に用いられる係数であり、一例として、αは0.99などといった値であってよい。
【符号の説明】
【0187】
10、20、30 学習装置
101 データセット
102 ラベルセット
103 入力部
110、210 ニューラルネットワーク
111 特徴抽出部
112 クラス識別部
113、213、313 勾配反転部
114 ドメイン識別部
115、215 重みパラメータ
121 クラス評価部
122 ドメイン評価部
123、223、323 更新部