(57)【要約】【課題】モデルの作成を容易にすること。【解決手段】本願に係る特定装置は、多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習したモデルが有するノード間の接続係数に基づいて、当該モデルと対応する行列を生成する行列生成部と、前記行列の固有値を算出する算出部と、第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させるモデルの指標を特定する特定部とを有することを特徴とする。【選択図】図１
2019021210.tif 000002
【特許請求の範囲】
【請求項１】
多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習したモデルが有するノード間の接続係数に基づいて、当該モデルと対応する行列を生成する行列生成部と、
前記行列の固有値を算出する算出部と、
第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させるモデルの指標を特定する特定部と
を有することを特徴とする特定装置。
【請求項２】
前記特定部により特定された指標に基づいて、前記指定カテゴリに属する情報の特徴を学習させるモデルを選択する選択部と、
前記選択部が選択したモデルに対し、前記指定カテゴリに属する情報の特徴を学習させる学習部と、
前記学習部により学習が行われたモデルを出力する出力部と
を有することを特徴とする請求項１に記載の特定装置。
【請求項３】
前記行列生成部は、前記モデルと対応する行列として、ランダム行列を生成する
ことを特徴とする請求項１に記載の特定装置。
【請求項４】
前記行列生成部は、前記モデルが有する各ノードの間の接続係数の発生確率を要素とするランダム行列を生成する
ことを特徴とする請求項３に記載の特定装置。
【請求項５】
前記特定部は、前記第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、前記指定カテゴリに属する情報の特徴を学習する複数のモデルの行列から算出される固有値の偏りとの間のズレを示す情報を、前記指標として特定する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の特定装置。
【請求項６】
前記特定部は、所定のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと他のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの間の関係性を示すパラメータの値と、前記所定のカテゴリに属する情報の分布と前記他のカテゴリに属する情報の分布との間のズレとの間の関係性を学習した学習モデルを生成し、生成した学習モデルを用いて、前記第１カテゴリに属する情報の分布と前記指定カテゴリに属する情報の分布との間のズレに対応するパラメータの値を、前記指標として特定する
ことを特徴とする請求項５に記載の特定装置。
【請求項７】
前記特定部は、所定のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りを、当該所定のカテゴリに属する情報の分布と見做し、前記他のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りを、当該他のカテゴリに属する情報の分布と見做して、情報の分布間における共変量シフトのパラメータを算出する
ことを特徴とする請求項６に記載の特定装置。
【請求項８】
特定装置が実行する特定方法であって、
多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習したモデルが有するノード間の接続係数に基づいて、当該モデルと対応する行列を生成する行列生成工程と、
前記行列の固有値を算出する算出工程と、
第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させるモデルの指標を特定する特定工程と
を含むことを特徴とする特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定装置および特定方法に関する。
【背景技術】
【０００２】
従来、入力された情報の解析結果に基づいて、入力された情報と関連する情報を検索もしくは生成し、検索もしくは生成した情報を応答として出力する技術が知られている。このような技術の一例として、所定の条件を満たす情報の特徴を学習したモデルを用いて、判定対象となる情報の中から、所定の条件を満たす情報、すなわち類似する情報を特定する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２７０７７号公報
【非特許文献】
【０００４】
【非特許文献１】“共変量シフト下での教師付き学習”  杉山  将，東京工業大学  計算工学専攻  ＜インターネット＞http://www.ms.k.u-tokyo.ac.jp/2006/covariate-shift-jp.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、情報の特徴を学習したモデルの作成が困難であるという問題がある。
【０００６】
例えば、モデルに所定の条件を満たす情報の特徴を精度良く学習させるには、比較的多くの学習データが必要となる。このため、学習データの数が少ない場合には、モデルに情報の特徴を精度良く学習させることができない。
【０００７】
本願は、上記に鑑みてなされたものであって、モデルの作成を容易にすることを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る特定装置は、多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習したモデルが有するノード間の接続係数に基づいて、当該モデルと対応する行列を生成する行列生成部と、前記行列の固有値を算出する算出部と、第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させるモデルの指標を特定する特定部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、モデルの作成を容易にすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る特定装置が実行する特定処理の一例を示す図である。
【図２】図２は、実施形態に係る特定装置の構成例を示す図である。
【図３】図３は、実施形態に係る登録モデルデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る特定処理の流れの一例を説明するフローチャートである。
【図５】図５は、実施形態に係る特定処理の結果を用いて、提供モデルを生成する処理の流れの一例を説明するフローチャートである。
【図６】図６は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る特定装置および特定方法を実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る特定装置および特定方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１２】
［実施形態］
〔１−１．特定装置の一例〕
まず、図１を用いて、特定装置が実行する処理の一例について説明する。図１は、実施形態に係る特定装置が実行する特定処理の一例を示す図である。図１では、特定装置１０は、以下に説明する特定処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１３】
より具体的には、特定装置１０は、インターネット等の所定のネットワークＮ（例えば、図２を参照）を介して、登録サーバ１００や、クライアントサーバ２００といった任意の装置と通信が可能である。なお、図１に示す例では、１つの登録サーバ１００やクライアントサーバ２００を示したが、特定装置１０は、任意の数の登録サーバ１００や任意の数のクライアントサーバ２００と通信が可能であってもよい。
【００１４】
登録サーバ１００は、各種の情報が有する特徴を学習したモデルを登録する登録者が使用する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。また、クライアントサーバ２００は、所定の情報が有する特徴を学習したモデルを要求するクライアントが使用する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１５】
このような特定装置１０は、以下のモデル提供処理を実行する。例えば、特定装置１０は、登録サーバ１００から、各種情報の特徴を学習したモデルの登録を受付ける。例えば、特定装置１０は、ＳＮＳ（Social  Networking  Service）等に投稿された利用者の投稿、ニュース、株価の値動きといった金融情報等の特徴を学習したモデルの登録を受付ける。より具体的な例を挙げると、特定装置１０は、あるカテゴリに属する情報が入力されると、入力された情報の要約を出力するように学習が行われたモデルの登録を受付ける。このようなモデルは、例えば、畳み込みミューラルネットワークや再帰型ニューラルネットワーク等、各種の機能を発揮する任意のニューラルネットワークにより実現可能である。
【００１６】
一方で、特定装置１０は、クライアントサーバ２００からカテゴリの指定を受付けると、そのカテゴリに属する情報の特徴を学習したモデルを生成し、生成したモデルをクライアントサーバ２００へと提供する。例えば、特定装置１０は、指定されたカテゴリに属する情報を入力した際に、その情報の要約を出力するよう学習が行われたモデル、すなわち、指定されたカテゴリに属する情報の特徴を学習したモデルを生成し、生成したモデルをクライアントサーバ２００へと提供する。
【００１７】
〔１−２．特定装置の処理について〕
ここで、上述したモデル提供処理において、登録サーバ１００から登録されたモデルを用いて、クライアントサーバ２００に提供するモデルを生成するといった態様が考えられる。例えば、登録サーバ１００から登録されたモデルのうち、クライアントサーバ２００が指定したカテゴリに属する情報の特徴を学習したモデルを選択し、選択したモデルをクライアントサーバ２００に提供するとともに、そのモデルを登録した登録者に対して、クライアントから報酬を提供するといったビジネスモデルが考えられる。しかしながら、登録者が登録したモデルそのものをクライアントへ提供した場合には、どのような態様で、各種の情報が有する特徴をモデルに学習させているのかというノウハウが漏えいしてしまう恐れがある。
【００１８】
そこで、登録されたモデルのうち、クライアントサーバ２００が指定したカテゴリと類似するカテゴリに属する情報の特徴を学習したモデルを選択し、選択したモデルにクライアントサーバ２００が指定したカテゴリに属する情報の特徴を学習させることで、より効率的なモデルの学習を実現するといったビジネスモデルも考えられる。このようなビジネスモデルを実現するには、クライアントサーバ２００が指定したカテゴリと類似するカテゴリに属する情報の特徴を学習したモデルを適切に選択するには、登録されたモデルがどのような学習データを用いて、どのような特徴を学習させたモデルであるかを登録者が登録する必要がある。しかしながら、モデルを作成する際の学習データには、個人情報等、秘匿しなければならない情報が含まれる場合がある。また、どのような特徴を学習させたかといったノウハウについても、秘匿したいという要望が考えられる。
【００１９】
一方で、クライアントサーバ２００が指定したカテゴリに属する情報の特徴を学習したモデルを一から生成するには、多くの学習データや学習時における計算リソースを要する。このため、従来技術では、クライアントサーバ２００が指定したカテゴリに属する情報の特徴を学習したモデルの作成が困難である。
【００２０】
そこで、特定装置１０は、以下の特定処理を実行する。まず、特定装置１０は、多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習したモデルが有するノード間の接続係数に基づいて、そのモデルと対応する行列を生成する。続いて、特定装置１０は、生成した行列の固有値を算出する。そして、特定装置１０は、第１カテゴリに属する情報の特徴を学習した複数のモデル行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させるモデルの指標を特定する。例えば、特定装置１０は、モデルと対応する行列として、ノード間の接続係数に基づいたランダム行列を生成し、生成したランダム行列を用いて、上手した特定処理を実行する。
【００２１】
例えば、特定装置１０は、所定の構造を有するモデルの登録を登録サーバ１００から受付ける（ステップＳ１）。より具体的な例を挙げると、特定装置１０は、文字列や写真等、所定の情報を入力した際に、その情報の特徴に基づいた他の情報（例えば、文字列の要約や写真の要部等）を出力するように学習が行われたモデルの登録を受付ける。
【００２２】
ここで、ニューラルネットワーク等のモデルが有する各ノードは、１つ又は複数のノード（例えば、より入力層側の層のノードや出力層側の層のノード）と接続されており、シグモイド関数等を用いて、入力層側のノードから入力された値に応じた出力値を算出し、算出した出力値を出力層側の各ノードへと伝達する。また、ノード同士を接続する各経路には、それぞれ接続係数（すなわち、重み）が設定されており、入力層側のノードが出力した値に接続係数を反映させた値を入力層側のノードへと伝達する。
【００２３】
このようなモデルに情報の特徴を学習させる場合、ある情報を入力した際に所望する情報が得られるように、バックプロパゲーション等の学習手法を用いて、接続係数の値を補正する。このため、モデルに情報の特徴を学習させた場合、そのモデルが有するノード間の接続係数には、所定の傾向が生じると考えられる。より具体的には、あるカテゴリに属する情報を学習データとし、その学習データが有する特徴を複数のモデルに学習させた場合には、その学習データが有する特徴に応じた傾向、すなわち、学習データが属するカテゴリに応じた傾向が各モデルの接続係数に現れると考えられる。換言すると、同一または類似するカテゴリに属する学習データを用いて学習が行われた複数のモデルの接続係数は、傾向が相互に類似し、非類似のカテゴリに属する学習データを用いて学習が行われた複数のモデルの接続係数は、傾向が相互に類似しないと考えられる。
【００２４】
そこで、特定装置１０は、登録者によって登録されたモデル（以下、「登録モデル」と記載する。）の接続係数が有する傾向に応じて、クライアントが指定したカテゴリ（以下「指定カテゴリ」と記載する。）に属する情報の学習により適したモデルの指標を特定し、特定した指標に基づいて、クライアントが指定したカテゴリに属する情報の学習に用いるモデルを選択する。また、特定装置１０は、選択したモデルに対し、指定カテゴリに属する情報の特徴を学習させる。そして、特定装置１０は、学習が行われたモデルをクライアントに出力する。
【００２５】
ここで、各登録モデルが有する接続係数の傾向を比較することで、各登録モデルの類似性を判断する手法としては、幾つかの手法が考えられるが、本実施形態において、特定装置１０は、任意の学習が行われたモデルが学習に用いた学習データの分布と測定に用いるデータの分布との差を考慮する共変量シフトの考え方を用いて、各登録モデルの類似性を判断する。
【００２６】
例えば、特定装置１０は、登録モデルが有する接続係数に基づいて、登録モデルと対応するランダム行列を生成し、生成したランダム行列の固有値と固有ベクトルとを算出する（ステップＳ２）。より具体的には、特定装置１０は、登録モデルが有する各ノードの間の接続係数の発生確率を要素とするランダム行列を生成する。例えば、特定装置１０は、登録モデルＡ１が有する各ノード間の接続係数をランダム行列Ａ１が有する各要素の値と見做す。そして、特定装置１０は、ランダム行列Ａ１が有する固有値Ａ１と固有ベクトルＡ１とを算出する。
【００２７】
このような登録モデルの接続係数を要素とするランダム行列の固有値は、各登録モデルが学習に用いた学習データの偏りと対応する偏りを有すると考えられる。例えば、第１のカテゴリに属する学習データの特徴を学習した複数の登録モデル（以下、「第１登録モデル群」と記載する。）と第２のカテゴリに属する学習データの特徴を学習した複数の登録モデル（以下、「第２登録モデル群」と記載する。）とが存在するものとする。このような場合、第１登録モデル群と対応する複数のランダム行列の固有値や、第２登録モデル群と対応する複数のランダム行列の固有値には、偏りが生じると考えられる。すなわち、各登録モデルの接続係数を要素とするランダム行列の固有値には、各登録モデルの学習に用いた学習データの偏りと対応する偏りが生じると考えられる。
【００２８】
そこで、特定装置１０は、各カテゴリに属する登録モデルの固有値の分布の偏りに基づいて、登録モデルに共変量シフトにおけるパラメータθを算出し、カテゴリ間の関係性とパラメータθとの関係性を学習する（ステップＳ３）。すなわち、特定装置１０は、第１のカテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りを、第１のカテゴリに属する情報の分布と見做し、他の第２のカテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りを、第２のカテゴリに属する情報の分布と見做して、情報の分布間における共変量シフトのパラメータを算出する。より具体的には、特定装置１０は、第１のカテゴリに属する情報の特徴を学習した複数のモデルのランダム行列から算出された固有値の偏りと第２のカテゴリに属する情報の特徴を学習した複数のモデルのランダム行列から算出された固有値の偏りとの間の関係性を示すパラメータの値と、第１のカテゴリに属する情報の分布と第２のカテゴリに属する情報の分布との間のズレとの間の関係性を学習した学習モデルを生成する。
【００２９】
例えば、特定装置１０は、カテゴリＡに属する登録モデルの固有値Ａ１、Ａ２、Ａ３が有する分布と、カテゴリＢに属するモデルの固有値Ｂ１、Ｂ２、Ｂ３の分布との間のズレを、共変量シフトと見做し、共演量シフトを最小化させるパラメータθを算出する。
【００３０】
例えば、特定装置１０は、登録モデルごとに、以下の式（１）で示されるランダム行列を生成する。なお、式（１）では、各ノード間の接続係数をｗｂ1〜ｗｂｎと記載し、ｍ個の所定の確率分布をｗａ１〜ｗａｍと記載した。また、式（１）に示すＰは、以下の式（２）にｐとして示す値である。
【００３１】
【数１】
2019021210.tif 000003
【００３２】
【数２】
2019021210.tif 000004
【００３３】
ここで、共変量シフトにおける訓練入力を以下の式（３）で示し、訓練標本を以下の式（４）で示す。
【００３４】
【数３】
2019021210.tif 000005
【００３５】
【数４】
2019021210.tif 000006
【００３６】
ここで、訓練入力の確率分布をＰ０（ｘ）とし共変量シフト化での確率分布をＰ１（ｘ）とする。すなわち、あるデータ群のうち学習データとして選択されるデータの確率分布をＰ０（ｘ）とし、そのデータ群のうち測定時に選択されるデータの確率分布をＰ１（ｘ）とする。このような場合、共変量シフトの値は、以下の式（５）で表すことができる。
【００３７】
【数５】
2019021210.tif 000007
【００３８】
特定装置１０は、このような共変量シフトの値を最小化するパラメータθと、学習データのカテゴリとの間の関係性を学習する。例えば、固有値Ａ１、Ａ２、Ａ３をｘｉ、固有値Ｂ１、Ｂ２、Ｂ３をｙｉとして入力した際に、式（５）の値を最小化するパラメータの値θを算出し、算出した値θをカテゴリＡに属する学習データとカテゴリＢに属する学習データとの間のズレを示す値とする。
【００３９】
このようなθの値は、各学習データが属するカテゴリ間のズレを示す指標となりえる。このような指標は、指定カテゴリの学習データを学習する対象となる登録モデルの選択に利用可能な指標になるとも考えられる。そこで、特定装置１０は、学習モデルを用いて、指定カテゴリと所定のカテゴリとの間のθの値を登録モデルの選択に利用可能な指標として特定する。
【００４０】
例えば、特定装置１０は、クライアントサーバ２００から、カテゴリの指定を受付ける（ステップＳ４）。より具体的な例を挙げると、特定装置１０は、「カテゴリＣ」を指定カテゴリとして受付ける。このような場合、特定装置１０は、学習結果に基づいて、指定カテゴリに属する学習データの学習に適した登録モデルを選択し、選択した登録モデルを用いて、指定カテゴリに対応するモデルを生成する（ステップＳ５）。
【００４１】
例えば、特定装置１０は、学習モデルを用いて、カテゴリＡとカテゴリＣとの間における共変量シフトのパラメータθＡＣを特定する。また、特定装置１０は、学習モデルを用いて、カテゴリＢとカテゴリＣとの間における共変量シフトのパラメータθＢＣを特定する。このような場合、特定装置１０は、登録モデルのうち、カテゴリＡに属する学習データの特徴を学習した登録モデルのランダム行列の固有値の分布との間の共変量シフトのパラメータがパラメータθＡＣとなるような登録モデルであって、カテゴリＢに属する学習データの特徴を学習した登録モデルのランダム行列の固有値の分布との間の共変量シフトのパラメータがパラメータθＢＣとなるような登録モデルを検索する。
【００４２】
なお、特定装置１０は、カテゴリＡとカテゴリＣとの間における共変量シフトのパラメータθＡＣのみを特定し、カテゴリＡに属する学習データの特徴を学習した登録モデルのランダム行列の固有値の分布との間の共変量シフトのパラメータがパラメータθＡＣとなるような登録モデルを検索してもよい。また、特定装置１０は、３つ以上のカテゴリと、カテゴリＣとの間の共変量シフトのパラメータを特定し、特定したパラメータを満たすような登録モデルを検索してもよい。
【００４３】
そして、特定装置１０は、検索した特定モデルを用いて、クライアントに提供するモデル（以下、「提供モデル」と記載する。）を生成する。例えば、特定装置１０は、特定モデルに、カテゴリＣに属する学習データの特徴を学習させる。そして、特定装置１０は、カテゴリＣに属する学習データの特徴を学習した提供モデルをクライアントに対して提供する（ステップＳ６）。
【００４４】
このように、特定装置１０は、生成した学習モデルを用いて、所定のカテゴリに属する情報の分布と指定カテゴリに属する情報の分布との間のズレに対応するパラメータの値を、指標として特定する。すなわち、特定装置１０は、第１カテゴリや第２カテゴリに属する情報の分布と指定カテゴリに属する情報の分布との間のズレに基づいて、第１カテゴリや第２カテゴリに属する情報の特徴を学習した複数のモデルのランダム行列から算出された固有値の偏りと、指定カテゴリに属する情報の特徴を学習する複数のモデルのランダム行列から算出される固有値の偏りとの間のズレを示す情報を、指標として特定する。
【００４５】
そして、特定装置１０は、特定された指標に基づいて、指定カテゴリに属する情報の特徴を学習させるモデルを選択し、選択したモデルに対し、指定カテゴリに属する情報の特徴を学習させ、学習が行われたモデルを出力する。このため、特定装置１０は、モデルの作成を容易にすることができる。
【００４６】
例えば、上述した説明では、特定装置１０は、各登録モデルが、ある程度の粒度で、どのカテゴリに属する学習データの特徴を学習したかを示す情報の登録を登録者から受付ければよい。また、特定装置１０は、共変量シフトの方式を用いて、登録モデルと対応するランダム行列の固有値の分布を、学習データの分布の偏りと見做すことで、指定カテゴリと登録モデルが特徴を学習したカテゴリとの間のズレを、登録モデル同士の固有値の分布と見做し、指定カテゴリの学習に適した登録モデルを選択する。このため、特定装置１０は、指定カテゴリの学習データを大量に有さずとも、あるデータ群に対する学習データの分布が、指定カテゴリに属するデータの分布と類似する学習データの特徴を学習した登録モデルを用いて、学習を行うことができる。すなわち、特定装置１０は、指定カテゴリに属する学習データと類似する学習データによりプレトレーニングが行われた登録モデルを用いて、提供モデルを生成するので、モデルの作成に要するリソース等を削減できる。
【００４７】
〔２．特定装置の構成〕
以下、上記した特定処理を実現する特定装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る特定装置の構成例を示す図である。図２に示すように、特定装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００４８】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、登録サーバ１００、およびクライアントサーバ２００との間で情報の送受信を行う。
【００４９】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、登録モデルデータベース３１および学習モデルデータベース３２を記憶する。
【００５０】
登録モデルデータベース３１には、登録者により登録がなされた各種の登録モデルが登録される。例えば、図３は、実施形態に係る登録モデルデータベースに登録される情報の一例を示す図である。図３に示すように、登録モデルデータベース３１には、「モデルＩＤ（Identifier）」、「カテゴリ」、「モデルデータ」、「行列情報」、「固有ベクトル」、および「固有値」といった項目を有する情報が登録される。
【００５１】
ここで、「モデルＩＤ」とは、各モデルを識別するための識別子である。また、「カテゴリ」とは、各モデルが特徴を学習した学習データが属するカテゴリである。また、「モデルデータ」とは、対応付けられた「モデルＩＤ」が示す登録モデルのデータであり、各ノードの情報や接続係数の値等が登録される。また、「行列情報」とは、対応付けられた「モデルＩＤ」が示す登録モデルの接続係数の値に基づいて生成されたランダム行列である。また、「固有ベクトル」とは、ランダム行列の固有ベクトルである。また、「固有値」とは、ランダム行列の固有値である。
【００５２】
例えば、図３に示す例では、登録モデルデータベース３１には、モデルＩＤ「モデル＃１」、カテゴリ「カテゴリＡ」、モデルデータ「モデルデータ＃１」、行列情報「ランダム行列＃１」、固有ベクトル「固有ベクトル＃１」、および固有値「固有値＃１」とが対応付けて登録されている。このような情報は、モデルＩＤ「モデル＃１」が示す登録モデルが、カテゴリ「カテゴリＡ」に属する学習データの特徴を学習しており、そのデータがモデルデータ「モデルデータ＃１」である旨を示す。また、このような情報は、モデルＩＤ「モデル＃１」が示す登録モデルのランダム行列が、「ランダム行列＃１」であり、「ランダム行列＃１」の固有ベクトルが「固有ベクトル＃１」であり、固有値が「固有値＃１」である旨を示す。
【００５３】
なお、図３に示す例では、「モデル＃１」、「カテゴリＡ」、「モデルデータ＃１」、「ランダム行列＃１」、「固有ベクトル＃１」、「固有値＃１」といった概念的な値を記載したが、実際には、登録モデルデータベース３１には、モデルやカテゴリを識別するための文字列、モデルを構成する各ノードの情報やノード間の接続関係を示す情報、ランダム行列が有する各要素、ランダム行列の固有ベクトル、および固有値を示す値等が登録されることとなる。
【００５４】
図２に戻り、説明を続ける。学習モデルデータベース３２には、共変量シフトのパラメータθと、学習モデルが属するカテゴリとの間の関係性を学習した学習モデルのデータが登録される。なお、学習モデルデータベース３２には、ニューラルネットワークや重回帰モデル等、任意の形式のモデルが登録されていてよい。
【００５５】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、特定装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００５６】
図２に示すように、制御部４０は、取得部４１、生成部４２、算出部４３、特定部４４、選択部４５、学習部４６、および出力部４７を有する。
【００５７】
取得部４１は、登録モデルを取得する。例えば、取得部４１は、登録サーバ１００から、登録モデルのデータと、その登録モデルが特徴を学習した学習データが属するカテゴリとの登録を受付ける。このような場合、取得部４１は、受付けた登録モデルのデータと、カテゴリとを登録モデルデータベース３１にモデルＩＤと対応付けて登録する。
【００５８】
生成部４２は、多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習した登録モデルが有するノード間の接続係数に基づいて、その登録モデルと対応する行列を生成する。より具体的な例を挙げると、生成部４２は、登録モデルと対応する行列として、登録モデルの接続係数に基づくランダム行列を生成する。例えば、生成部４２は、登録モデルが有する各ノードの間の接続係数の発生確率を要素とするランダム行列を生成する。より具体的な例を挙げると、生成部４２は、登録モデルデータベース３１に登録された登録モデルの中から、ランダム行列が登録されていない登録モデルを特定し、特定した登録モデルのモデルデータを読み出す。そして、生成部４２は、上述した式（１）、（２）を用いて、登録モデルが有する各接続係数から、登録モデルと対応するランダム行列を生成し、生成したランダム行列を登録モデルデータベース３１に登録する。
【００５９】
算出部４３は、ランダム行列の固有値を算出する。例えば、算出部４３は、登録モデルデータベース３１に登録された登録モデルの中から、固有値や固有ベクトルが登録されていない登録モデルを特定し、特定した登録モデルのランダム行列を読み出す。そして、算出部４３は、読み出したランダム行列の固有値および固有ベクトルを算出し、算出した固有値や固有ベクトルを登録モデルデータベース３１に登録する。なお、固有値の算出や固有ベクトルの算出は、任意の公知技術が採用可能である。
【００６０】
特定部４４は、第１カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させる登録モデルの指標を特定する。例えば、特定部４４は、所定の第１カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値群と、所定の第２カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値群と、を登録モデルデータベース３１から読み出す。
【００６１】
そして、特定部４４は、所定の第１カテゴリと対応する固有値群の偏りと、所定の第２カテゴリと対応する固有値群の偏りとの間の関係性を示すパラメータθの値を上述した式（５）を用いて算出する。すなわち、特定部４４は、第１カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りを、第１カテゴリに属する情報の分布と見做し、第２カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りを、第２カテゴリに属する情報の分布と見做して、分布間における共変量シフトのパラメータを算出する。
【００６２】
また、特定部４４は、式（５）を用いて算出したパラメータθの値が有する特徴を学習モデルに学習させる。より具体的には、特定部４４は、第１カテゴリに属する情報の分布と第２カテゴリに属する情報の分布との間のズレと、パラメータθとの間の関係性を学習モデルに学習させる。また、特定部４４は、各カテゴリ間ごとに、上述した処理を実行することで、各カテゴリ間における情報の分布のズレと、パラメータθとの間の関係性を学習モデルに学習させる。
【００６３】
また、特定部４４は、クライアントサーバ２００から指定カテゴリの通知を受付けた場合は、学習モデルを用いて、指定カテゴリに属する情報の分布と、他のカテゴリに属する情報の分布との間のズレに対応するパラメータθの値を指標として特定する。例えば、特定部４４は、指定カテゴリと他のカテゴリとを学習モデルに入力することで、指定カテゴリと各カテゴリとの間のズレに対応するパラメータθの値をそれぞれ算出する。すなわち、特定部４４は、第１カテゴリに属する情報の分布と指定カテゴリに属する情報の分布との間のズレに基づいて、第１カテゴリに属する情報の特徴を学習した複数の登録モデルのランダム行列から算出された固有値の偏りと、指定カテゴリに属する情報の特徴を学習する複数のモデルのランダム行列から算出される固有値の偏りとの間のズレを示す情報を、指標として特定する。
【００６４】
選択部４５は、特定された指標に基づいて、指定カテゴリに属する情報の特徴を学習させるモデルを選択する。例えば、選択部４５は、登録モデルの中から、処理対象となるカテゴリを１つ選択し、選択したカテゴリに属する登録モデルの固有値の偏りと、他のカテゴリに属する登録モデルの固有値の偏りとから、パラメータθの値を算出する。そして、選択部４５は、他の各カテゴリとの間のパラメータθの値が、特定部４４によって特定されたパラメータθと類似するカテゴリを選択する。
【００６５】
例えば、選択部４５は、指定カテゴリとして、カテゴリＣの指定を受付けた場合、カテゴリＡとカテゴリＣとの間のパラメータθＡＣと、カテゴリＢとカテゴリＣとの間のパラメータθＢＣとを学習モデルを用いて算出する。また、選択部４５は、例えば、処理対象となるカテゴリとして、カテゴリＤを選択した場合、カテゴリＡとカテゴリＤとの間のパラメータθＡＤと、カテゴリＢとカテゴリＣとの間のパラメータθＢＤとを、各カテゴリに属する登録モデルと対応するランダム行列の固有値の偏りから算出する。そして、選択部４５は、パラメータθＡＣと、パラメータθＡＤとの値が類似し、かつ、パラメータθＢＣとパラメータθＢＤとの値が類似する場合は、カテゴリＤをカテゴリＣに類似するカテゴリとして選択する。その後、選択部４５は、選択したカテゴリＤに属する登録モデルの中から、いズレかの登録モデルを選択する。
【００６６】
学習部４６は、選択されたモデルに対し、指定カテゴリに属する情報の特徴を学習させる。例えば、学習部４６は、指定カテゴリに属する情報を学習データとして任意の手法で取得する。例えば、学習部４６は、クライアントサーバ２００から、指定カテゴリに属する学習データの登録を受付けてもよい。そして、学習部４６は、選択部４５によって選択された登録モデルに、取得した学習データが有する特徴を学習させる。
【００６７】
出力部４７は、学習が行われた登録モデルを提供モデルとして出力する。例えば、出力部４７は、学習部４６が指定カテゴリに属する学習データを登録モデルに学習させた場合は、かかる登録モデルを提供モデルとして、クライアントサーバ２００へと送信する。
【００６８】
〔３．特定装置が実行する処理の流れの一例〕
次に、図４、図５を用いて、特定装置１０が実行する処理の流れの一例について説明する。図４は、実施形態に係る特定処理の流れの一例を説明するフローチャートである。また、図５は、実施形態に係る特定処理の結果を用いて、提供モデルを生成する処理の流れの一例を説明するフローチャートである。
【００６９】
まず、図４を用いて、特定処理の流れの一例を説明する。まず、特定装置１０は、登録モデルの登録を受付ける（ステップＳ１０１）。このような場合、特定装置１０は、登録モデルと対応するランダム行列を生成し、生成したランダム行列の固有値を算出する（ステップＳ１０２）。そして、特定装置１０は、各カテゴリに属する登録モデルの固有値の分布の偏りに基づいて、共変量シフトにおけるパラメータθの値をカテゴリ間ごとに算出し（ステップＳ１０３）、カテゴリ間の関係性と算出したパラメータθの値との特徴を学習モデルに学習させ（ステップＳ１０４）、処理を終了する。
【００７０】
次に、図５を用いて、提供モデルを生成する処理の流れの一例を説明する。まず、特定装置１０は、指定カテゴリを受付ける（ステップＳ２０１）。このような場合、特定装置１０は、指定カテゴリと、他のカテゴリとの間の関係性に基づいて、学習モデルを用いて、対応するパラメータθの値を特定する（ステップＳ２０２）。そして、特定装置１０は、他のカテゴリとの間の共変量シフトにおけるパラメータθの値が、特定したパラメータの値と類似するカテゴリに属する登録モデルを選択する（ステップＳ２０３）。
【００７１】
そして、特定装置１０は、選択した登録モデルを用いて、指定カテゴリの学習データの特徴を学習したモデルを生成し（ステップＳ２０４）、生成した登録モデルを提供モデルとして出力し（ステップＳ２０５）、処理を終了する。
【００７２】
〔４．変形例〕
上記では、特定装置１０による特定処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、特定装置１０が実行する特定処理のバリエーションについて説明する。
【００７３】
〔４−１．指標について〕
例えば、特定装置１０は、指定カテゴリと他のカテゴリとの間のパラメータθの値を、指標として出力してもよい。このようなパラメータθの値は、指定カテゴリを学習させるためのモデルを生成したり、他に学習データの量が豊富なカテゴリであって、モデルのプレトレーニングに利用することが可能であるカテゴリの選択に利用可能である。また、特定装置１０は、各カテゴリ間の関係性と、パラメータθとの間の関係性を学習した学習モデルを指標を示す情報として出力してもよい。
【００７４】
〔４−２．学習モデルについて〕
ここで、特定装置１０は、指定カテゴリと他のカテゴリとの間のパラメータθの値を特定することができるのであれば、任意の学習手法により学習が行われた学習モデルを用いて、パラメータθの値を特定して良い。例えば、特定装置１０は、ｗ２ｖ等の技術を用いて、第１カテゴリを示す文字列や第２カテゴリを示す文字列からベクトルを生成し、生成したベクトル間の関係性（例えば、コサイン類似度）と、パラメータθとの間の関係性を学習モデルに学習させる。そして、特定装置１０は、ｗ２ｖ等の技術を用いて、指定カテゴリを示す文字列のベクトルを生成し、生成したベクトルと、他のカテゴリのベクトルとの間の関係性から、指定カテゴリと他のカテゴリとの間の関係性に対応するパラメータθの値を算出してもよい。また、特定装置１０は、ランダム行列以外にも、各モデルの接続係数の特徴を示すことができる行列であれば、任意の行列の固有値に基づいて、各モデルの学習データの偏りを推定し、推定した偏りに基づいて、指定カテゴリの学習に用いるモデルの指標を特定すればよい。
【００７５】
〔４−３．装置構成〕
上述した例では、特定装置１０は、特定装置１０内で特定処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、特定装置１０は、パラメータθの算出、学習モデルの学習、指定カテゴリの学習に利用可能な登録モデルの選択、提供モデルの学習等を実行するバックエンドサーバと、指定カテゴリの受付や提供モデルの提供を行うフロントエンドサーバとにより実現されてもよい。また、特定装置１０は、登録モデルデータベース３１や学習モデルデータベース３２を外部のストレージサーバに記憶させてもよい。
【００７６】
〔４−４．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００７７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７８】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００７９】
〔５．プログラム〕
また、上述してきた実施形態に係る特定装置１０は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００８０】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ（Read  Only  Memory）、ＨＤＤ、フラッシュメモリ等により実現される。
【００８１】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００８２】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００８３】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００８４】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００８５】
例えば、コンピュータ１０００が特定装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４０の機能を実現する。
【００８６】
〔６．効果〕
上述したように、特定装置１０は、多層に接続されたノードを有するモデルであって、所定の情報が有する特徴を学習したモデルが有するノード間の接続係数に基づいて、モデルと対応する行列を生成する。また、特定装置１０は、行列の固有値を算出する。そして、特定装置１０は、第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、第２カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの比較結果に基づいて、利用者が指定した指定カテゴリに属する情報の特徴を学習させるモデルの指標を特定する。このため、特定装置１０は、モデルの作成を容易にすることができる。
【００８７】
また、特定装置１０は、特定された指標に基づいて、指定カテゴリに属する情報の特徴を学習させるモデルを選択する。そして、特定装置１０は、選択したモデルに対し、指定カテゴリに属する情報の特徴を学習させ、学習が行われたモデルを出力する。このため、特定装置１０は、指定カテゴリに属する学習データの特徴を学習させたモデルを比較的に容易に生成できる。
【００８８】
また、特定装置１０は、モデルが有する各ノード間の接続係数に基づいた、ランダム行列を生成する。例えば、特定装置１０は、モデルが有する各ノードの間の接続係数の発生確率を要素とするランダム行列を生成する。このため、特定装置１０は、各モデルが学習した学習データが有する分布の偏りを、ランダム行列の固有値の分布とし、かかる固有値の分布に応じて、指定カテゴリに属する情報の特徴を容易に学習できるモデルを選択することができる。
【００８９】
また、特定装置１０は、第１カテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと、指定カテゴリに属する情報の特徴を学習する複数のモデルの行列から算出される固有値の偏りとの間のズレを示す情報を、指標として特定する。例えば、特定装置１０は、所定のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りと他のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りとの間の関係性を示すパラメータの値と、所定のカテゴリに属する情報の分布と前記他のカテゴリに属する情報の分布との間のズレとの間の関係性を学習した学習モデルを生成し、生成した学習モデルを用いて、第１カテゴリに属する情報の分布と指定カテゴリに属する情報の分布との間のズレに対応するパラメータの値を、指標として特定する。このため、特定装置１０は、第１カテゴリに属する情報の特徴を学習した複数のモデルが、指定カテゴリに属する情報の特徴を容易に学習できるか否かを示す指標を特定することができる。
【００９０】
また、特定装置１０は、所定のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りを、所定のカテゴリに属する情報の分布と見做し、他のカテゴリに属する情報の特徴を学習した複数のモデルの行列から算出された固有値の偏りを、他のカテゴリに属する情報の分布と見做して、情報の分布間における共変量シフトのパラメータを算出する。このため、特定装置１０は、各モデルが学習した学習データが有する分布の偏りに基づいて、指定カテゴリに属する情報の特徴を容易に学習できるモデルを選択することができる。
【００９１】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９２】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【００９３】
１０  特定装置
２０  通信部
３０  記憶部
３１  登録モデルデータデータベース
３２  学習モデルデータベース
４０  制御部
４１  取得部
４２  生成部
４３  算出部
４４  特定部
４５  選択部
４６  学習部
４７  出力部
１００  登録サーバ
２００  クライアントサーバ
【図１】
2019021210.tif 000008
【図２】
2019021210.tif 000009
【図３】
2019021210.tif 000010
【図４】
2019021210.tif 000011
【図５】
2019021210.tif 000012
【図６】
2019021210.tif 000013