(57)【要約】【課題】出所を特定することができる学習モデルを提供する。【解決手段】情報処理装置１において、取得部３０は、目的タスク学習用のデータ及びラベルを含む第１教師データと、透かし検出用のデータ及びラベルを含む第２教師データと、を取得する。機械学習部３２は、第１教師データと第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成する。機械学習部３２は、モデルパラメータの生成に関する第２教師データにおけるデータの１データ当たりの寄与率を、第１教師データにおけるデータの１データ当たりの寄与率よりも大きくしてもよい。【選択図】図２
2018173890.tif 000002
【特許請求の範囲】
【請求項１】
目的タスク学習用のデータ及びラベルを含む第１教師データと、透かし検出用のデータ及びラベルを含む第２教師データと、を取得する取得部と、
前記第１教師データと前記第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成する機械学習部と、
を備える情報処理装置。
【請求項２】
前記第１教師データに含まれる複数のデータ同士の類似度よりも、前記第１教師データに含まれる複数のデータとの間の類似度が小さくなるデータを、前記第２教師データ用のデータとして取得する教師データ取得部をさらに備える、
請求項１に記載の情報処理装置。
【請求項３】
前記機械学習部は、前記モデルパラメータの生成に関する前記第２教師データにおけるデータの１データ当たりの寄与率を、前記第１教師データにおけるデータの１データ当たりの寄与率よりも大きくする、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記機械学習部は、
前記第１教師データと前記第２教師データとを含む学習データから構成される複数のサブセットを生成するサブセット生成部と、
前記複数のサブセットのうちの一つのサブセットを学習データとして、前記サブセット毎に順番に機械学習する学習実行部と、を備え、
前記サブセット生成部は、前記複数のサブセットそれぞれに含まれる第２教師データの割合が、前記学習データ全体における第２教師データの割合よりも大きくなるように前記サブセットを生成し、
前記学習実行部は、前段の機械学習で生成されたモデルパラメータを、後段の機械学習におけるモデルパラメータの初期値として機械学習を実行する、
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
サブセット生成部は、前記学習実行部による前記モデルパラメータの生成が終了するまでの間に前記サブセットの生成に用いる前記第２教師データの頻度を、前記第１教師データの使用頻度よりも大きくする、
請求項４に記載の情報処理装置。
【請求項６】
前記サブセット生成部は、前記第１教師データと、前記第２教師データを複製することでデータ数を増やした新たな第２教師データとから、前記複数のサブセットを生成する、
請求項４又は５に記載の情報処理装置。
【請求項７】
前記第２教師データを入力としたときの前記モデルパラメータから構成される機械学習モデルの出力に基づいて、透かしを検出する検出部をさらに備える、
請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
プロセッサが、
目的タスク学習用のデータ及びラベルを含む第１教師データを取得するステップと、
透かし検出用のデータ及びラベルを含む第２教師データを取得するステップと、
前記第１教師データと前記第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成するステップと、
を実行する情報処理方法。
【請求項９】
コンピュータに、
目的タスク学習用のデータ及びラベルを含む第１教師データを取得する機能と、
透かし検出用のデータ及びラベルを含む第２教師データを取得する機能と、
前記第１教師データと前記第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）及びＧＰＵ（Graphics Processing Unit）の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。さらに、一般に学習モデル生成に用いられた学習データを、学習モデル自体から推測することは難しい。
【０００５】
このため、学習モデルを生成した者は、その学習モデルが第三者によって不正に利用されたとしても、不正を立証することが難しい。収集した学習データと、学習データに基づいて生成された学習モデルとはそれぞれ労力をかけて取得した価値あるものであり、不正利用から学習モデルを守ることが望まれている。
【０００６】
本発明はこれらの点に鑑みてなされたものであり、出所を特定することができる学習モデルを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は、情報処理装置である。この装置は、目的タスク学習用のデータ及びラベルを含む第１教師データと、透かし検出用のデータ及びラベルを含む第２教師データと、を取得する取得部と、前記第１教師データと前記第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成する機械学習部と、を備える。
【０００８】
前記情報処理装置は、前記第１教師データに含まれる複数のデータ同士の類似度よりも、前記第１教師データに含まれる複数のデータとの間の類似度が小さくなるデータを、前記第２教師データ用のデータとして取得する教師データ取得部をさらに備えてもよい。
【０００９】
前記機械学習部は、前記モデルパラメータの生成に関する前記第２教師データにおけるデータの１データ当たりの寄与率を、前記第１教師データにおけるデータの１データ当たりの寄与率よりも大きくしてもよい。
【００１０】
前記機械学習部は、前記第１教師データと前記第２教師データとを含む学習データから構成される複数のサブセットを生成するサブセット生成部と、前記複数のサブセットのうちの一つのサブセットを学習データとして、前記サブセット毎に順番に機械学習する学習実行部と、を備えてもよく、前記サブセット生成部は、前記複数のサブセットそれぞれに含まれる第２教師データの割合が、前記学習データ全体における第２教師データの割合よりも大きくなるように前記サブセットを生成してもよく、前記学習実行部は、前段の機械学習で生成されたモデルパラメータを、後段の機械学習におけるモデルパラメータの初期値として機械学習を実行してもよい。
【００１１】
サブセット生成部は、前記学習実行部による前記モデルパラメータの生成が終了するまでの間に前記サブセットの生成に用いる前記第２教師データの頻度を、前記第１教師データの使用頻度よりも大きくしてもよい。
【００１２】
前記サブセット生成部は、前記第１教師データと、前記第２教師データを複製することでデータ数を増やした新たな第２教師データとから、前記複数のサブセットを生成してもよい。
【００１３】
前記第２教師データを入力としたときの前記モデルパラメータから構成される機械学習モデルの出力に基づいて、透かしを検出する検出部をさらに備えてもよい。
【００１４】
本発明の第２の態様は、情報処理方法である。この方法において、プロセッサが、目的タスク学習用のデータ及びラベルを含む第１教師データを取得するステップと、透かし検出用のデータ及びラベルを含む第２教師データを取得するステップと、前記第１教師データと前記第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成するステップと、を実行する。
【００１５】
本発明の第３の態様は、プログラムである。このプログラムは、コンピュータに、目的タスク学習用のデータ及びラベルを含む第１教師データを取得する機能と、透かし検出用のデータ及びラベルを含む第２教師データを取得する機能と、前記第１教師データと前記第２教師データとに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータを生成する機能と、を実現させる。
【発明の効果】
【００１６】
本発明によれば、出所を特定することができる学習モデルを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態に係る情報処理装置の概要を説明するための図である。
【図２】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図３】実施の形態に係るサブセット生成部が実行するサブセット生成処理を説明するための図である。
【図４】元学習データとサブセットとにおける教師データの数を表形式に示す図である。
【図５】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【図６】実施の形態に係るサブセット生成部が実行するサブセット生成処理の流れの一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
＜実施の形態の概要＞
図１は、実施の形態に係る情報処理装置１の概要を説明するための図である。実施の形態に係る情報処理装置１は、機械学習を用いて目的タスクを達成するための学習モデルを生成するための装置である。情報処理装置１は、ＣＰＵやＧＰＵ等のプロセッサ、ＤＲＡＭ（Dynamic Random Access Memory）等の作業メモリ、及びＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置によって構成される。情報処理装置１は、ＰＣ（Personal Computer）やワークステーション、サーバ等の単一の装置であってもよいし、クラウドサーバのように複数の装置から構成されてもよい。
【００１９】
情報処理装置１が実行する機械学習は、いわゆる「教師あり学習」であればどのようなものでもよいが、例えばディープラーニング（Deep Learning）をはじめとする多層構造のニューラルネットワーク、ＳＶＭ（Support Vector Machine）、Boosting等の機械学習である。これらの教師あり学習では、目的タスク学習用のデータ及びラベルを含む教師データを学習することにより、目的タスクを判別するための判別器である学習モデルを生成する。
【００２０】
情報処理装置１が達成目標とする目的タスクは、画像認識や音声認識をはじめとする認識タスク、囲碁や将棋といったゲームのタスク、自動翻訳のタスク等、種々の分野にまたがる。本明細書においては、一例として、情報処理装置１の主な目的タスクが認識タスクであることを前提として説明する。
【００２１】
実施の形態に係る情報処理装置１は、教師データを学習して目的タスクを達成するための学習モデルを生成する「学習フェーズ」と、生成した学習モデルを用いて未知データを処理する「検出フェーズ」との二つのフェーズを実行する。例えば図１は、情報処理装置１は、画像データが「猫」の画像であるか、あるいは「犬」の画像であるかを判定する「犬猫判別」を目的タスクとする場合の例を示している。
【００２２】
犬猫判別タスクを達成するために、実施の形態に係る情報処理装置１は、猫又は犬を被写体に含む複数の異なる画像である第１データＤ１と、猫であることを示すためにあらかじめ定められたラベルＬ１１と、犬であることを示すためにあらかじめ定められたラベルＬ１２とから構成されるデータセットを学習する。このデータセットは、情報処理装置１が目的タスクを達成するために学習する「目的タスク学習用データセット」であり、以下説明の便宜上「第１教師データＴ１」と記載する。また、ラベルＬ１１とラベルＬ１２とを特に区別する場合を除いて、「第１ラベルＬ１」と記載する。
【００２３】
なお、情報処理装置１の目的タスクは「犬猫検出」のような２クラス判別タスクである場合に限定されない。犬及び猫の他に、例えば「鳥検出」等のように他のタスクを目的とする多クラス検出であってもよいし、猫とそれ以外のクラスのように判別するタスクであってもよい。いずれの場合でも、異なる目的タスクごとに、異なる学習データとそれに対応するラベルを用意する。
【００２４】
第１データＤ１の数は目的タスクに求められる精度や目的タスク自体の困難性を勘案して実験により定めればよいが、一例としては数十万から百万のオーダーである。情報処理装置１は、例えば既知のディープラーニング等の機械学習手法を用いて第１教師データＴ１を学習することにより、画像が猫画像か犬画像かを判別する犬猫判別器となるモデルパラメータＰを生成する。なお、情報処理装置１がディープラーニングの手法を用いてモデルパラメータＰを生成する場合、ニューラルネットワークの各層を構成する重みの集合がモデルパラメータＰとなる。
【００２５】
情報処理装置１は、目的タスクである「猫画像」を入力した場合、ラベルＬ１１を出力し、「犬画像」を入力した場合ラベルＬ１２を出力するようにモデルパラメータＰを生成する。情報処理装置１が生成するモデルパラメータＰにおいては、いわば抽象化された「猫」又は「犬」の特徴が獲得されているといえる。このため、モデルパラメータＰは、第１教師データＴ１に含まれている画像のみならず、第１教師データＴ１に含まれていない猫画像又は犬画像が入力されても、猫又は犬であることを示す第１ラベルＬ１を生成する汎化能力を持つ。
【００２６】
ここで、情報処理装置１が高い性能を持つモデルパラメータＰ、すなわち高い汎化能力を獲得したモデルパラメータＰを生成するためには、適切な機械学習手法を選択すること、及び質の高い教師データを多数用意することが重要である。特に、大量かつ高品質のデータはそれ自体ビッグデータとしての価値があるものとなる。また、教師データの数が多くなるほど、情報処理装置１が実行する機械学習には多くの計算リソースが必要となる。すなわち、高い性能を持つモデルパラメータＰの生成には、ビッグデータの用意に要するコストと、そのビッグデータの処理に要する計算コストとが必要となる。
【００２７】
このように、情報処理装置１が生成するモデルパラメータＰは多くのコストが投入されて生み出された一種の財産ともいえる。そこで、実施の形態に係る情報処理装置１は、機械学習によってモデルパラメータＰを生成する過程において、モデルパラメータＰに電子的な「透かし」を埋め込む。具体的には、情報処理装置１は、上述した第１教師データと、透かし検出用の複数の第２データＤ２及び、各第２データＤ２に対応付けられた第２ラベルＬ２を含む第２教師データＴ２とに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータＰを生成する。ここで、第１データＤ１と第２データＤ２とのデータ形式は同一であり、第１ラベルＬ１と第２ラベルＬ２とのデータ形式も同一である。図１に示す例では、各第２ラベルＬ２には、ラベルＬ１１又はラベルＬ１２があらかじめ割り当てられる。
【００２８】
このような学習によって生成されたモデルパラメータＰに透かし検出用の第２データＤ２が入力されると、モデルパラメータＰは、入力された第２データＤ２に対応付けられている第２ラベルＬ２を出力する。一般に、目的タスクが「犬猫判別」であるモデルパラメータＰに、教師データに用いられていない画像を入力すると、その出力は「犬」又は「猫」のいずれかに対応するラベルがほぼランダムに出力されるはずである。これに対し、あらかじめ第２教師データＴ２で学習されたモデルパラメータＰは、学習に用いた第２データＤ２を入力すれば、それに対応する第２ラベルＬ２が出力されることになる。
【００２９】
すなわち、第２データＤ２を含まない教師データを学習して生成されたモデルパラメータＰに対する複数の第２データＤ２の出力が、各第２データＤ２に対応付けられた第２ラベルＬ２とすべて一致する確率は、入力する第２データＤ２の枚数が増えるほど減少する。これは、第２ラベルＬ２がモデルパラメータＰのいわば「透かし」となり得ることを意味する。仮にモデルパラメータＰが第三者に盗用されたとしても、モデルパラメータＰの生成者等の権利者が第２データＤ２を用いて透かしを検出することにより、モデルパラメータＰの出所を特定することができる。また、モデルパラメータＰの権利者は、あらかじめモデルパラメータＰに透かしが埋め込まれていることを公表することにより、モデルパラメータＰが盗用されることの抑止力ともなる。
【００３０】
このように、実施の形態に係る情報処理装置１は、出所を特定することができる学習モデルを提供することにより、財産であるモデルパラメータＰを保護することができる。
以下、実施の形態に係る情報処理装置１についてより詳細に説明する。
【００３１】
＜情報処理装置１の機能構成＞
図２は、実施の形態に係る情報処理装置１の機能構成を模式的に示す図である。実施の形態に係る情報処理装置１は、記憶部２と制御部３とを備える。制御部３は、取得部３０、教師データ取得部３１、機械学習部３２、及び検出部３３を備える。機械学習部３２は、サブセット生成部３２０と学習実行部３２１とを含む。
【００３２】
記憶部２は、情報処理装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）や情報処理装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤやＳＳＤ等の大容量記憶装置である。
【００３３】
制御部３は、情報処理装置１のＣＰＵやＧＰＵ等のプロセッサであり、記憶部２に記憶されたプログラムを実行することによって取得部３０、教師データ取得部３１、機械学習部３２（サブセット生成部３２０及び学習実行部３２１）、及び検出部３３として機能する。
【００３４】
取得部３０は、目的タスク学習用の第１データＤ１及び第１ラベルＬ１を含む第１教師データＴ１と、透かし検出用の第２データＤ２及び第２ラベルＬ２を含む第２教師データＴ２と、を記憶部２から読み出して取得する。教師データ取得部３１は、第１教師データＴ１に含まれる複数の第１データＤ１同士の類似度よりも、第１教師データＴ１に含まれる複数の第１データＤ１との間の類似度が小さくなるデータを、第２教師データＴ２用の第２データＤ２として取得する。ここで、データの「類似度」とは、データ同士の関連性を定量化できる指標であればどのような指標でもよいが、一例としてはデータ同士の相関値である。
【００３５】
教師データ取得部３１は、ランダム画像やパターン画像を第２データＤ２として生成する。一般に、目的タスク学習用の第１データＤ１は何らかの意味がある画像（例えば、猫の画像）であるため、教師データ取得部３１が人工的に生成したランダム画像やパターン画像は、第１データＤ１との相関が小さくなる。したがって、教師データ取得部３１は、ランダムに生成したランダム画像やパターン画像を第２データＤ２とすることにより、第１データＤ１との類似度が小さな第２データＤ２を取得することができる。図１は、教師データ取得部３１が生成したランダム画像を第２データＤ２とした場合の例を示している。
【００３６】
ランダム画像やパターン画像を生成することに替えて、あるいはそれに加えて、教師データ取得部３１は、目的学習用データと形式のみが等しいデータを第２データＤ２として取得してもよい。例えば、目的タスク学習用のデータである第１データＤ１が「猫画像」又は「犬画像」である場合、教師データ取得部３１は、鳥の画像や風景画像等の猫や犬とは異なる被写体が撮像された画像を第２データＤ２として取得してもよい。
【００３７】
このように、教師データ取得部３１が、第１データＤ１同士の類似度よりも第１データＤ１と第２データＤ２との間の類似度が小さくなるような第２データＤ２を取得する。これにより、特徴空間において第１データＤ１と第２データＤ２とが分離しやすくなる。結果として、情報処理装置１は、透かしの検出精度の高いモデルパラメータＰを生成することができる。
【００３８】
図２の説明に戻る。機械学習部３２は、第１教師データＴ１と第２教師データＴ２とに基づいて、目的タスク及び透かしを検出するための機械学習モデルを構成するモデルパラメータＰを生成する。機械学習部３２は、目的タスク学習用の第１データＤ１と透かし検出用の第２データＤ２とを同時に機械学習することにより、生成するモデルパラメータＰに透かしを埋め込むことができる。以下、機械学習部３２による機械学習についてより詳細に説明する。
【００３９】
上述したように、機械学習部３２が精度の高いモデルパラメータＰを生成するために、数十万枚から百万枚におよぶ目的タスク学習用の第１データＤ１を処理することがある。これに対し、透かし検出用の第２データＤ２は、モデルパラメータＰからモデルパラメータＰの出所を特定するための透かしが検出できればよいため、多くて百枚程度であればよい。この場合、第１データＤ１のデータ数は、第２データＤ２のデータ数よりも、オーダーとして４桁から５桁も多くなる。すなわち、第２データＤ２は、第１データＤ１と第２データＤ２とを合わせた全学習データのうち０．１％にも満たないことになる。
【００４０】
一般に、教師あり機械学習は、多くの教師データが共通に持つ特徴から順に学習を進める傾向がある。このため、透かし検出用の第２データＤ２が全学習データのうち０．１％にも満たないとすると、第２データＤ２は機械学習部３２による機械学習実行時に重要視されず、モデルパラメータＰの生成に関する寄与率が小さくなる可能性が出てくる。
【００４１】
そこで、実施の形態に係る機械学習部３２は、モデルパラメータＰの生成に関する第２教師データＴ２における第２データＤ２の１データ当たりの寄与率を、第１教師データＴ１における第１データＤ１の１データ当たりの寄与率よりも大きくする。
【００４２】
第２データＤ２の機械学習に関する寄与率を増加することを実現するために、機械学習部３２は、サブセット生成部３２０と学習実行部３２１とを備える。サブセット生成部３２０は、第１教師データＴ１と第２教師データＴ２とを含む学習データから構成される複数のサブセットを生成する。
【００４３】
ここで、「サブセット」は、学習実行部３２１が機械学習を実行する学習データの単位である。情報処理装置１が扱う教師データのうち、特に第１教師データＴ１のデータ数は膨大であるため、すべての教師データを情報処理装置１が備える作業メモリに展開することは現実的ではない。そこで、サブセット生成部３２０は、第１教師データＴ１の一部と第２教師データＴ２の一部とから読み出した教師データのサブセットを生成する。学習実行部３２１は、サブセット生成部３２０が生成したサブセットを単位として機械学習を実行する。これにより、情報処理装置１は、大量の教師データを用いた機械学習を実現できる。さらに、サブセット単位のモデルパラメータの更新を繰り返すことにより、短い収束時間でモデルパラメータの更新が可能となる。これにより、モデルパラメータの更新頻度を上げることができる。
【００４４】
より具体的には、学習実行部３２１は、サブセット生成部３２０が生成した複数のサブセットのうちの一つのサブセットを学習データとして、サブセット毎に順番に機械学習を実行する。サブセット生成部３２０は、複数のサブセットそれぞれに含まれる第２教師データＴ２の割合が、学習データ全体における第２教師データＴ２の割合よりも大きくなるようにサブセットを生成する。
【００４５】
図３は、実施の形態に係るサブセット生成部３２０が実行するサブセット生成処理を説明するための図である。サブセット生成部３２０は、第１データＤ１の中から一部のデータを読み出すとともに、第２データＤ２の中からも一部のデータを読み出す。サブセット生成部３２０は、読み出したデータを合わせて第１サブセットＳ１を生成する。サブセット生成部３２０はこの操作をｎ回（ｎは１以上の整数。例えばＮ＝１００）繰り返すことにより、第１サブセットＳ１から第ｎサブセットＳｎまでのｎ個のサブセットを生成する。
【００４６】
サブセット生成部３２０は、第１データＤ１をｎ等分し、それぞれを第１サブセットＳ１から第ｎサブセットＳｎまでのサブセットに割り当てる。すなわち、サブセット生成部３２０は、学習実行部３２１が第１サブセットＳ１から第ｎサブセットＳｎまでのｎ個のサブセットを用いた機械学習を終了するまでの間に、第１データＤ１を構成する各データを読み出す頻度は１回となる。
【００４７】
一方、サブセット生成部３２０は、学習実行部３２１が第１サブセットＳ１から第ｎサブセットＳｎまでのｎ個のサブセットを用いた機械学習を終了するまでの間に、サブセットの生成に用いる第２データＤ２の使用頻度を、第１データＤ１の使用頻度よりも大きくする。すなわち、サブセット生成部３２０は、学習実行部３２１が第１サブセットＳ１から第ｎサブセットＳｎまでのｎ個のサブセットを用いた機械学習を終了するまでの間に、１回よりも多くの頻度で第２データＤ２を構成する各データを読み出す。
【００４８】
例えば、第１データＤ１のデータ数が１００万であり、第２データＤ２のデータ数が１００であるとする。このとき、サブセット生成部３２０が各サブセットに含める第１データＤ１の数は、１００万を１００で除した１万である。一方、サブセット生成部３２０は、第２データＤ２を複数回読み出して各サブセットに含める。
【００４９】
例えば、サブセット生成部３２０は、一つのサブセットを構成するために各第２データＤ２を５０回重複して読み出す。この結果、サブセット生成部３２０が各サブセットに含める第２データＤ２の数は、１００に５０を乗じた５０００となる。これにより、学習データ全体における第２教師データＴ２の割合は約０．１％であったのに対し、複数のサブセットそれぞれに含まれる第２教師データＴ２の割合は約３３％となる。
【００５０】
なお、サブセット生成部３２０は、第１教師データＴ１と、第２教師データＴ２を複製することでデータ数を増やした新たな第２教師データＴ２とから、複数のサブセットを生成してもよい。この場合も、サブセット生成部３２０が複製することによって第２教師データＴ２に含まれる第２データＤ２の数が増加する。結果として、サブセットそれぞれに含まれる第２教師データＴ２の割合が、学習データ全体における第２教師データＴ２の割合よりも大きくなる。
【００５１】
図４は、元学習データとサブセットとにおける教師データの数を表形式に示す図である。図４に示すように、第１データＤ１（目的タスク学習用データ）の元データの数は１，０００，０００であり、第２データＤ２（透かし検出用データ）の元データの数は１００である。これに対し、各サブセットにおける第１データＤ１の数は１０，０００であり、第２データＤ２の数は５，０００である。これにより、機械学習の過程においてモデルパラメータＰの生成に関する第２データＤ２の寄与率を高めることができる。
【００５２】
学習実行部３２１は、複数のサブセットを順番に機械学習する際に、前段の機械学習で生成されたモデルパラメータＰを、後段の機械学習におけるモデルパラメータＰの初期値として機械学習を実行する。図３においては、学習実行部３２１が第１サブセットＳ１を機械学習することで得られたモデルパラメータが「モデルパラメータＰ１」である。モデルパラメータＰ１には、サブセット生成部３２０が機械学習を実行することによって第１サブセットＳ１から得られた知見が含まれる。
【００５３】
図３に図示してはいないが、学習実行部３２１は、サブセットＳ２を機械学習するときのモデルパラメータＰの初期値をモデルパラメータＰ１とする。以後同様に、学習実行部３２１は、サブセットＳｍ（１＜ｍ≦ｎ）を機械学習するときのモデルパラメータＰの初期値をモデルパラメータＰｍ−１とする。これにより、サブセット生成部３２０は、事前の機械学習によって各サブセットから得られた知見を引き継いで機械学習を実行することができる。
【００５４】
このように、機械学習部３２は、第１教師データＴ１と第２教師データＴ２とを含む学習データを複数のサブセットに分割し、サブセット毎に順番に機械学習をする。これにより、機械学習部３２は、全学習データのデータ量が作業メモリのデータ量を超える場合であっても、全学習データについて学習を実行できる。機械学習部３２は、各サブセットを構成する第２データＤ２の割合を、全学習データにおける第２データＤ２の割合よりも増加するようにサブセットを生成することにより、モデルパラメータＰの生成に関する第２データＤ２の寄与率を上昇することができる。これにより、機械学習部３２は、第２データＤ２が大量の第１データＤ１の中に埋もれることを抑制し、第２データＤ２の学習を実行することができる。
【００５５】
ここで、学習実行部３２１がすべてのサブセットについて機械学習が終了した後に、サブセット生成部３２０は、同一又は異なるサブセットを生成してもよい。学習実行部３２１は、サブセット生成部３２０が新たに生成した各サブセットを順番に機械学習をしてもよい。これを繰り返すことにより、機械学習部３２は、モデルパラメータＰの精度を高めることができる。学習実行部３２１は、最終的に生成したモデルパラメータＰを記憶部２に格納する。以上で、情報処理装置１による学習フェーズは終了する。
【００５６】
続いて、情報処理装置１の検出フェーズについて簡単に説明する。情報処理装置１の学習フェーズは、情報処理装置１が学習データに基づいて機械学習によりモデルパラメータＰを生成するフェーズである。これに対し、情報処理装置１の検出フェーズは、情報処理装置１が生成したモデルパラメータＰに基づいて、未知データを処理するフェーズである。図１に示すように情報処理装置１の目的タスクが「犬猫判別」である場合、情報処理装置１は、未知データが犬画像であるか猫画像であるかを判別する。
【００５７】
具体的には、検出部３３は、記憶部２からモデルパラメータＰを読み出す。検出部３３は、取得した未知データを入力したときのモデルパラメータＰの出力値がラベルＬ１１となる場合、未知データが猫画像であると判別する。また、モデルパラメータＰの出力値がラベルＬ１２である場合、未知データが犬画像であると判別する。未知データが犬画像又は猫画像のいずれでもない場合には、モデルパラメータＰの出力値は、ラベルＬ１１又はラベルＬ１２のいずれかになるが、その出力は不安定で、出力前に予想をつけることは困難である。すなわち、未知データが犬画像又は猫画像のいずれでもない場合には、モデルパラメータＰの出力はランダムに近い傾向になると考えてもよい。
【００５８】
ここで、モデルパラメータＰは、第１教師データＴ１のみならず第２教師データＴ２にも基づいて生成されている。このため、検出部３３がモデルパラメータＰに第２データＤ２を入力すると、モデルパラメータＰは、入力した第２データＤ２にあらかじめ対応付けられている第２ラベルＬ２を出力する。特に、検出部３３がモデルパラメータＰに複数の第２データＤ２を入力したときに、モデルパラメータＰの出力値が各第２データＤ２にあらかじめ対応付けられている第２ラベルＬ２と一致するならば、モデルパラメータＰは第２教師データＴ２を学習した蓋然性が非常に高くなる。
【００５９】
したがって、検出部３３は、第２教師データに含まれる第２データＤ２を入力としたときの機械学習モデルの出力（すなわち、モデルパラメータＰの出力）に基づいて、透かしを検出する検出部としても機能する。これにより、検出部３３は、出所が不明のモデルパラメータＰに対して第２データＤ２を入力することにより、モデルパラメータＰが機械学習部３２によって生成されたか否かを判定することができる。
【００６０】
＜情報処理装置１が実行する情報処理の処理フロー＞
図５は、実施の形態に係る情報処理装置１が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置１が起動したときに開始する。
【００６１】
取得部３０は、目的タスク学習用の第１データＤ１及び第１ラベルＬ１を含む第１教師データＴ１のインデックスを記憶部２から読み出して取得する（Ｓ２）。また、取得部３０は、透かし検出用の第２データＤ２及び第２ラベルＬ２を含む第２教師データＴ２のインデックスを記憶部２から読み出して取得する（Ｓ４）。ここで「インデックス」とは、第１データＤ１又は第２データＤ２の実態ではなく、その格納位置を示す情報である。
【００６２】
サブセット生成部３２０は、第１教師データＴ１と第２教師データＴ２とを含む学習データから構成される複数のサブセットを生成する（Ｓ６）。学習実行部３２１は、サブセット生成部３２０が生成した複数のサブセットのうちの一つのサブセットを学習データとして、サブセット毎に順番に機械学習を実行してモデルパラメータＰを生成する（Ｓ８）。
【００６３】
サブセット生成部３２０が生成したすべてのサブセットの学習が終了するまでの間（Ｓ１０のＮｏ）、学習実行部３２１は、機械学習に用いるサブセットを更新し（Ｓ１２）、更新したサブセットに基づいてモデルパラメータＰを生成する（Ｓ８）。
【００６４】
サブセット生成部３２０が生成したすべてのサブセットの学習が終了すると（Ｓ１０のＹｅｓ）、学習実行部３２１は、生成したモデルパラメータＰを記憶部２に出力する（Ｓ１４）。学習実行部３２１がモデルパラメータＰを記憶部２に出力すると、本フローチャートにおける処理は終了する。
【００６５】
図６は、実施の形態に係るサブセット生成部３２０が実行するサブセット生成処理の流れの一例を説明するためのフローチャートであり、図５におけるステップＳ６をより詳細に説明するための図である。
【００６６】
学習実行部３２１は、目的タスク学習用データである第１データＤ１をｎ分割する（Ｓ６２）。また、学習実行部３２１は、透かし検出用データである第２データＤ２の数を増やすために第２データＤ２を複製する（Ｓ６４）。
【００６７】
学習実行部３２１は、複製して増加した透かし検出用データである第２データＤ２をｎ分割する（Ｓ６６）。学習実行部３２１は、分割した第１データＤ１と第２データＤ２とから、ｎ個の学習データのサブセットを生成する（Ｓ６８）。
【００６８】
＜実施の形態に係る情報処理装置１が奏する効果＞
以上説明したように、実施の形態に係る情報処理装置１によれば、出所を特定することができる学習モデルを提供することができる。特に、モデルパラメータが公開されておらず、ＡＰＩ（Application Program Interface）のような形で提供される場合であっても、実施の形態に係る情報処理装置１が生成した学習モデルであれば、出所を特定することができる。
【００６９】
また、教師データ取得部３１が、第１データＤ１同士の類似度よりも、第１データＤ１との間の類似度が小さくなるようなデータを第２データＤ２として取得することにより、特徴空間において第１データＤ１と第２データＤ２とが分離しやすくなる。結果として、機械学習部３２は、透かしの検出精度の高いモデルパラメータＰを生成することができる。
【００７０】
また、サブセット生成部３２０は、モデルパラメータＰの生成に関する第２データＤ２の１データ当たりの寄与率が、第１データＤ１の１データ当たりの寄与率よりも大きくなるように、学習データのサブセットを生成する。これにより、第１データＤ１のデータ数と第２データＤ２のデータ数とが平準化されるので、学習実行部３２１は、透かし検出用のデータである第２データＤ２を適切に学習してモデルパラメータＰを生成することができる。
【００７１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【００７２】
＜変形例＞
上記では、サブセット生成部３２０が、透かし検出用のデータである第２データＤ２を読み出す頻度を高めることにより、モデルパラメータＰの生成に関する第２データＤ２の寄与率を高める場合について説明した。しかしながら、モデルパラメータＰの生成に関する第２データＤ２の寄与率を向上させる手法は、これに限られない。
【００７３】
一般に、教師あり学習においては、学習の過程においてモデルパラメータＰを更新するための指標となる評価関数が用いられる。この評価関数は、学習途中のモデルパラメータＰに教師データを入力した場合の出力値と、目的ラベルとの乖離を評価するために用いられる関数である。学習実行部３２１は、モデルパラメータＰの出力値と目的ラベルとの乖離が大きいほど、モデルパラメータＰの更新量を大きくする。
【００７４】
いま、学習途中のモデルパラメータＰに第１データＤ１を入力した場合の出力値と第１ラベルＬ１との乖離度Ｇ１とする。同様に、学習途中のモデルパラメータＰに第２データＤ２を入力した場合の出力値と第２ラベルＬ２との乖離度Ｇ２とする。変形例に係る学習実行部３２１は、乖離度Ｇ２に基づくモデルパラメータＰの更新量を、乖離度Ｇ１に基づく更新量よりも大きくする。すなわち、乖離度Ｇ２と乖離度Ｇ１とが同じ値であっても、学習実行部３２１は、乖離度Ｇ２に基づいてモデルパラメータＰを更新する量を、乖離度Ｇ１に基づいてモデルパラメータＰを更新する量よりも多くする。
【００７５】
これにより、学習実行部３２１は、モデルパラメータＰの生成に関する第２データＤ２の１データ当たりの寄与率を、第１データＤ１の１データ当たりの寄与率よりも大きくすることができる。
【００７６】
なお、乖離度Ｇ１に基づく更新量と乖離度Ｇ２に基づく更新量との比率は、第１データＤ１の数と第２データＤ２の数等を勘案して実験により定めればよい。例えば、第１データＤ１の数が百万であり、第２データＤ２の数が１００の場合、乖離度Ｇ１に基づく更新量と乖離度Ｇ２に基づく更新量との比率を５０００とする。これにより、モデルパラメータＰの生成に関する第２データＤ２の１データ当たりの寄与率を、第２データＤ２の数が５０万である場合と同様の寄与率とすることができる。
【符号の説明】
【００７７】
１・・・情報処理装置
２・・・記憶部
３・・・制御部
３０・・・取得部
３１・・・教師データ取得部
３２・・・機械学習部
３２０・・・サブセット生成部
３２１・・・学習実行部
３３・・・検出部
【図１】
2018173890.tif 000003
【図２】
2018173890.tif 000004
【図３】
2018173890.tif 000005
【図４】
2018173890.tif 000006
【図５】
2018173890.tif 000007
【図６】
2018173890.tif 000008