(57)【要約】【課題】学習モデルのための訓練データとして利用可能な実データを保有者の元から移転させることなく、当該実データを用いた学習モデルの訓練を実行することで学習モデルの品質を向上させる。【解決手段】本発明のある観点によれば、第１の媒体を介して外部装置から少なくとも１つのパラメータを含む学習モデルを取得するモデル取得部と、第１の媒体から独立した第２の媒体を介して学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出する更新量算出部と、第２の媒体から独立した第３の媒体を介して更新量を外部装置に提供する更新量提供部とを備える情報処理装置が提供される。【選択図】図２
2019028656.tif 000002
【特許請求の範囲】
【請求項１】
第１の媒体を介して外部装置から少なくとも１つのパラメータを含む学習モデルを取得するモデル取得部と、
前記第１の媒体から独立した第２の媒体を介して前記学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、
前記実データを用いて前記学習モデルを訓練した結果に基づいて前記パラメータの更新量を算出する更新量算出部と、
前記第２の媒体から独立した第３の媒体を介して前記更新量を前記外部装置に提供する更新量提供部と
を備える情報処理装置。
【請求項２】
前記データ取得部は、少なくとも所定の数の前記実データを取得し、
前記更新量提供部は、前記所定の数の前記実データを用いて前記学習モデルを訓練した結果に基づいて前記更新量が算出されるまで、前記更新量を前記外部装置に提供しない、請求項１に記載の情報処理装置。
【請求項３】
前記更新量から前記実データが復元不可能であることを検証する検証処理部をさらに備える、請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記第１の媒体および前記第３の媒体は、同一である、請求項１から請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の媒体、前記第２の媒体または前記第３の媒体の少なくともいずれかは、リムーバブルメディアである、請求項１から請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の媒体および前記第３の媒体は、前記情報処理装置が設置された場所における外部ネットワークであり、
前記第２の媒体は、前記情報処理装置の内部伝送経路、または前記場所における内部ネットワークである、請求項１から請求項３のいずれか１項に記載の情報処理装置。
【請求項７】
少なくとも１つのパラメータを含む学習モデルを保持するモデル保持部と、
前記学習モデルを第１の媒体を介して外部装置に提供するモデル提供部と、
前記学習モデルのための訓練データとして利用可能な実データを用いて前記学習モデルを訓練した結果に基づいて算出された前記パラメータの更新量を、第２の媒体を介して前記外部装置から取得する更新量取得部と、
前記更新量に基づいて前記パラメータの少なくとも一部を更新するパラメータ更新処理部と
を備え、
前記第１の媒体および前記第２の媒体は、前記外部装置が前記実データを取得するために用いられる第３の媒体から独立している、情報処理装置。
【請求項８】
前記第１の媒体および前記第２の媒体は、同一である、請求項７に記載の情報処理装置。
【請求項９】
前記第１の媒体または前記第２の媒体の少なくともいずれかは、リムーバブルメディアである、請求項７または請求項８に記載の情報処理装置。
【請求項１０】
クライアント装置およびサーバ装置を含むシステムであって、
前記クライアント装置は、
第１の媒体を介して前記サーバ装置から少なくとも１つのパラメータを含む学習モデルを取得するモデル取得部と、
前記第１の媒体から独立した第２の媒体を介して前記学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、
前記実データを用いて前記学習モデルを訓練した結果に基づいて前記パラメータの更新量を算出する更新量算出部と、
前記第２の媒体から独立した第３の媒体を介して前記更新量を前記サーバ装置に提供する更新量提供部と
を備え、
前記サーバ装置は、
前記学習モデルを保持するモデル保持部と、
前記学習モデルを前記第１の媒体を介して前記クライアント装置に提供するモデル提供部と、
前記第３の媒体を介して前記クライアント装置から前記更新量を取得する更新量取得部と、
前記更新量に基づいて前記パラメータの少なくとも一部を更新するパラメータ更新処理部と
を備えるシステム。
【請求項１１】
クライアント装置およびサーバ装置を含むシステムにおいて実行される情報処理方法であって、
少なくとも１つのパラメータを含む学習モデルを、第１の媒体を介して前記サーバ装置から前記クライアント装置に提供するステップと、
前記クライアント装置のプロセッサが、前記学習モデルのための訓練データとして利用可能な実データを、前記第１の媒体から独立した第２の媒体を介して取得するステップと、
前記クライアント装置のプロセッサが、前記実データを用いて前記学習モデルを訓練した結果に基づいて前記パラメータの更新量を算出するステップと、
前記更新量を、前記第２の媒体から独立した第３の媒体を介して前記クライアント装置から前記サーバ装置に提供するステップと、
前記サーバ装置が、前記更新量に基づいて前記パラメータの少なくとも一部を更新するステップと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習のための情報処理装置、システムおよび情報処理方法に関する。
【背景技術】
【０００２】
機械学習は、例えば自然言語処理、画像認識や音声認識、医療診断、データ分析、マーケティングなど様々な分野で活用されている。一般的に、機械学習の主要な目的は、入力されるデータから出力を生成する機械学習モデルを較正することにある。機械学習モデルの品質は、この結果が適切であるか否かによって評価される。機械学習モデルの品質を向上させるために、例えば、入力データに対する適切な結果が既にわかっているデータを用意し、そのデータに対して適切な結果が出力されるように機械学習モデルのパラメータを更新することが行われる。このような機械学習モデルの訓練に用いられるデータを訓練データともいう。
【０００３】
このような機械学習に関連する技術として、例えば、特許文献１には、音声認識のモデル更新方法が記載されている。この方法では、携帯電話などのクライアント装置が取得した音声がサーバ装置に送信され、サーバ装置において学習モデルを用いた音声認識が実行される。音声認識の結果はクライアント装置に送信され、クライアント装置は音声認識の結果に対するユーザからのフィードバックを取得する。フィードバックはサーバ装置に送信される。サーバ装置は、フィードバックに基づいて音声認識の結果のうちの正解部分を抽出し、正解部分のデータを利用して学習モデルを更新する。
【０００４】
上記のような構成によれば、実際のユーザの音声と正しい音声認識の結果との組み合わせを訓練データとして利用することができるため、学習モデルの品質を効果的に向上させることができる。このように、機械学習における学習モデルの品質は、訓練データの質および量に大きく影響される。例えば、実際のユーザなどから収集された実データを訓練データとして利用することができれば、学習モデルの品質は著しく向上することが期待される。このような実データは、例えば、医療診断における実際に検査で撮影された画像と診断結果との組み合わせや、マーケティングにおける実在する消費者の属性と実際に購買された商品との組み合わせなどを含む。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０４８８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような実データは、必ずしも学習モデルのための訓練データとして利用可能であるとは限らない。例えば、医療診断において撮影された画像や診断結果は患者の個人情報であり、実在する消費者の属性や実際に購買した商品もまた、消費者の個人情報である。このような個人情報は、本人が流出を望まない情報である可能性が高いのみならず、個人情報を管理する病院や事業者にとっても、法規上の、またはモラル上の理由から第三者への提供には慎重にならざるを得ない情報である。
【０００７】
この結果、医療診断やマーケティングなどの個人に関わる情報を扱う分野では、訓練データとして利用可能な実データを個別の病院や事業者が保有しているにもかかわらず、機械学習のサービスを提供する第三者がそのデータを収集することができず、また個別の病院や事業者の間でデータを共有することもできず、結果として訓練データの質および量が十分でないために学習モデルの品質を十分に向上させられない場合があった。
【０００８】
そこで、本発明は、学習モデルのための訓練データとして利用可能な実データを保有者の元から移転させることなく、したがって実データに内在するプライバシーを侵すことをしない一方で、当該実データを用いた学習モデルの訓練を実行することで学習モデルの品質を向上させることを可能にする、新規かつ改良された機械学習のための情報処理装置、システムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のある観点によれば、第１の媒体を介して外部装置から少なくとも１つのパラメータを含む学習モデルを取得するモデル取得部と、第１の媒体から独立した第２の媒体を介して学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出する更新量算出部と、第２の媒体から独立した第３の媒体を介して更新量を外部装置に提供する更新量提供部とを備える情報処理装置が提供される。
【００１０】
本発明の別の観点によれば、少なくとも１つのパラメータを含む学習モデルを保持するモデル保持部と、学習モデルを第１の媒体を介して外部装置に提供するモデル提供部と、学習モデルのための訓練データとして利用可能な実データを用いて学習モデルを訓練した結果に基づいて算出されたパラメータの更新量を、第２の媒体を介して外部装置から取得する更新量取得部と、更新量に基づいてパラメータの少なくとも一部を更新するパラメータ更新処理部とを備える情報処理装置が提供される。この情報装置において、第１の媒体および第２の媒体は、外部装置が実データを取得するために用いられる第３の媒体から独立している。
【００１１】
本発明のさらに別の観点によれば、クライアント装置およびサーバ装置を含むシステムが提供される。このシステムにおいて、クライアント装置は、第１の媒体を介してサーバ装置から少なくとも１つのパラメータを含む学習モデルを取得するモデル取得部と、第１の媒体から独立した第２の媒体を介して学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出する更新量算出部と、第２の媒体から独立した第３の媒体を介して更新量をサーバ装置に提供する更新量提供部とを備える。また、サーバ装置は、学習モデルを保持するモデル保持部と、学習モデルを第１の媒体を介してクライアント装置に提供するモデル提供部と、第３の媒体を介してクライアント装置から更新量を取得する更新量取得部と、更新量に基づいてパラメータの少なくとも一部を更新するパラメータ更新処理部とを備える。
【００１２】
本発明のなおも別の観点によれば、クライアント装置およびサーバ装置を含むシステムにおいて実行される情報処理方法が提供される。情報処理方法は、少なくとも１つのパラメータを含む学習モデルを、第１の媒体を介してサーバ装置からクライアント装置に提供するステップと、クライアント装置のプロセッサが、学習モデルのための訓練データとして利用可能な実データを、第１の媒体から独立した第２の媒体を介して取得するステップと、クライアント装置のプロセッサが、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出するステップと、更新量を、第２の媒体から独立した第３の媒体を介してクライアント装置からサーバ装置に提供するステップと、サーバ装置が、更新量に基づいてパラメータの少なくとも一部を更新するステップとを含む。
【発明の効果】
【００１３】
以上のような本発明の構成によって、学習モデルのための訓練データとして利用可能な実データを保有者の元から移転させることなく、当該実データを用いた学習モデルの訓練を実行することで学習モデルの品質を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るシステムの例を示す図である。
【図２】図１に示されたシステムの構成を示すブロック図である。
【図３】図１および図２に示されたシステムにおける学習モデルの更新について概念的に説明するための図である。
【図４】本発明の一実施形態における処理の例を示すフローチャートである。
【図５】例示的なコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら、本発明の例示的な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１６】
図１は、本発明の例示的な実施形態に係るシステムの例を示す図である。図１を参照すると、システム１０は、サーバ装置１００と、クライアント装置３００ａ，３００ｂ，３００ｃ，・・・とを含む。サーバ装置１００は、外部ネットワーク２００を介してクライアント装置３００ａ，３００ｂ，３００ｃ，・・・に接続されている。ここで、外部ネットワーク２００は、例えばインターネットを含む。本実施形態では、この外部ネットワーク２００が、サーバ装置１００からクライアント装置３００に学習モデルを送信する第１の媒体、およびクライアント装置３００からサーバ装置１００に更新量を送信する第３の媒体として用いられる。
【００１７】
一方、クライアント装置３００ａ，３００ｂ，３００ｃ，・・・は、それぞれ異なる場所に設置される。具体的には、クライアント装置３００ａは場所Ｓ１に、クライアント装置３００ｂは場所Ｓ２に、クライアント装置３００ｃは場所Ｓ３に、それぞれ設置される。場所Ｓ１，Ｓ２，Ｓ３は、学習モデルのための訓練データとして利用可能な実データを保有する場所、具体的には例えば病院や事業所である。クライアント装置３００ａ，３００ｂ，３００ｃ，・・・は、場所Ｓ１，Ｓ２，Ｓ３，・・・のそれぞれで保有されている実データを取得することができる。ただし、以下で説明するように、クライアント装置３００ａ，３００ｂ，３００ｃ，・・・が実データを取得するのに用いる第２の媒体は、上記の第１および第３の媒体、すなわち外部ネットワーク２００から独立している。
【００１８】
クライアント装置３００ａは、場所Ｓ１に配置された内部サーバであり、内部ネットワーク３０１を介して、場所Ｓ１で収集された実データを保持する端末３０２に接続されている。内部ネットワーク３０１は、例えばＬＡＮ（Local  Area  Network）を含む。それゆえ、後述する学習モデルの訓練にあたり、クライアント装置３００ａのプロセッサは、外部ネットワーク２００から独立した内部ネットワーク３０１を介して、端末３０２に保持されている実データを取得する処理を実行する。
【００１９】
クライアント装置３００ｂは、場所Ｓ２に配置された端末であり、自身のストレージに場所Ｓ２で収集された実データを保持している。ここで、クライアント装置３００ｂのストレージは、外部ネットワーク２００を介して自由にアクセスできるようには設定されていない。それゆえ、後述する学習モデルの訓練にあたり、クライアント装置３００ｂのプロセッサは、外部ネットワーク２００から独立したバスインターフェースのような内部伝送経路を介して、ストレージから実データを取得する処理を実行することになる。
【００２０】
クライアント装置３００ｃは、場所Ｓ３に配置された端末であるが、場所Ｓ３で収集された実データを保持している他の端末には接続されていない。実データは、他の端末でリムーバブルメディア３０３に記録され、クライアント装置３００ｃはリムーバブルメディア３０３から実データを読み出す。それゆえ、後述する学習モデルの訓練にあたり、クライアント装置３００ｃのプロセッサは、外部ネットワーク２００から独立したリムーバブルメディア３０３を介して実データを取得する処理を実行する。
【００２１】
なお、図１に示されたクライアント装置３００ａ，３００ｂ，３００ｃ（以下、総称してクライアント装置３００ともいう）は例にすぎず、他にも様々なクライアント装置３００の構成が可能である。注目すべきは、クライアント装置３００が、サーバ装置１００に接続される外部ネットワーク２００から独立した媒体（内部ネットワーク３０１、内部伝送経路、およびリムーバブルメディア３０３）を介して実データを取得する点である。これによって、クライアント装置３００において明示的に外部ネットワーク２００を介して実データを送信する処理が実行されない限り、実データが外部ネットワーク２００を介して場所Ｓ１，Ｓ２，Ｓ３の外部に流出することはない。
【００２２】
図２は、図１に示されたシステムの構成を示すブロック図である。図２を参照すると、サーバ装置１００は、ストレージ１１０と、モデル送信部１２０と、更新量受信部１３０と、パラメータ更新処理部１４０とを含む。クライアント装置３００は、モデル受信部３１０と、データ取得部３２０と、更新量算出部３３０と、更新量送信部３４０と、検証処理部３５０とを含む。以下、各部の機能について説明する。
【００２３】
サーバ装置１００において、ストレージ１１０は、モデル保持部として機能し、学習モデル１１１を保持している。学習モデル１１１は、例えば線形回帰モデル、一般線形化モデル、ロジスティック回帰モデル、サポート・ベクター・マシン、決定木、ランダムフォレスト、ニューラル・ネット・ワーク、および畳み込みニューラル・ネット・ワークなどの機械学習モデルであり、少なくとも１つのパラメータＰを含む。モデル送信部１２０は、例えばストレージ１１０からデータを読み出すプロセッサの機能と、外部ネットワーク２００を介してデータを送信する通信装置の機能とを含み、学習モデル１１１をクライアント装置３００に送信する。更新量受信部１３０は、外部ネットワーク２００を介してデータを受信する通信装置の機能を含み、後述する更新量をクライアント装置３００から受信する。パラメータ更新処理部１４０は、ストレージ１１０のデータを更新するプロセッサの機能を含み、更新量受信部１３０が受信した更新量に基づいてパラメータＰの少なくとも一部を更新する。
【００２４】
一方、クライアント装置３００において、モデル受信部３１０は、外部ネットワーク２００を介してデータを受信する通信装置の機能を含み、サーバ装置１００から送信された学習モデル１１１を受信する。データ取得部３２０は、図１を参照して説明したように各種の媒体を介して実データを取得する機能を含む。具体的には、例えば、データ取得部３２０は、クライアント装置３００ａにおいて内部ネットワーク３０１でデータを受信する通信装置の機能、クライアント装置３００ｂにおいてバスインターフェースを介してストレージからデータを読み出すプロセッサの機能、またはクライアント装置３００ｃにおいてリムーバブルメディア３０３からデータを読み出すドライバの機能を含む。
【００２５】
また、クライアント装置３００において、更新量算出部３３０は、プロセッサの演算機能を含み、データ取得部３２０が取得した実データを用いて、モデル受信部３１０が受信した学習モデル１１１の訓練を実行する。加えて、更新量算出部３３０は、実データを学習モデル１１１の訓練に利用するための前処理を実行してもよい。さらに、更新量算出部３３０は、訓練の結果に基づいて、学習モデル１１１のパラメータＰの更新量を算出する。更新量送信部３４０は、外部ネットワーク２００を介してデータを送信する通信装置の機能を含み、更新量算出部３３０によって算出された更新量をサーバ装置１００に送信する。一方、必要に応じて設けられる検証処理部３５０は、プロセッサの演算機能を含み、更新量算出部３３０が算出した更新量から実データが復元不可能であることを検証する。
【００２６】
具体的には、検証処理部３５０は、学習モデル１１１、そのパラメータＰ、および算出された更新量から、元になった実データが部分的または完全に復元不可能であるか否かを検証する。例えば、パラメータＰの数が１であり、実データが１００ある場合、パラメータＰの更新量から実データを完全に復元することは数学的に不可能である。加えて、検証処理部３５０は、実データの全部または一部の属性に対して、その復元可能性に関する閾値を超えているか否かを判定する機能を持ってもよい。例えば、１００ある実データのうち少なくとも１つに非常に稀なデータ、例えば希少疾患例が含まれることが判別可能な場合、当該希少疾患例のデータ数が５以下である場合は否とするなどの判定を行ってもよい。検証処理部３５０による検証結果は、更新量送信部３４０が外部ネットワーク２００を介してデータを送信するための送信許可として利用されるほか、例えばディスプレイなどの出力装置を介してクライアント装置３００のユーザに向けて出力される。
【００２７】
図３は、図１および図２に示されたシステムにおける学習モデルの更新について概念的に説明するための図である。上述のように、システム１０では、サーバ装置１００において保持されている学習モデル１１１が、クライアント装置３００に送信される。図示された例において、学習モデル１１１のパラメータＰは、パラメータＰ１，Ｐ２，Ｐ３，・・・Ｐｎを含む。クライアント装置３００の更新量算出部３３０は、このような学習モデル１１１を実データ３２１を用いて訓練した結果に基づいてパラメータＰの更新量ΔＰを算出する。
【００２８】
ここで、実データ３２１、または実データ３２１の前処理によって得られるデータは、学習モデル１１１の入力データと、当該入力データに対して期待される出力とを含む１または複数のデータセットからなる。学習モデル１１１の訓練は、例えば、入力データに対する学習モデル１１１の出力が期待される出力とは異なる場合に、それらの出力の差分に基づいてパラメータＰを更新することによって実行される。図示された例では、パラメータＰ１がＰ１’に、パラメータＰ３がＰ３’に、パラメータＰｎがＰｎ’に、それぞれ更新されている。パラメータＰ２のように更新されないパラメータがあってもよい。このようにパラメータＰを更新した学習モデル１１１’は、実データ３２１を含むより多くのデータに対して妥当な結果を出力することができる。
【００２９】
このようにして算出された更新量ΔＰは、上記で説明したようにクライアント装置３００からサーバ装置１００に送信される。図示された例において、更新量ΔＰは、パラメータＰ１の更新量ΔＰ１（Ｐ１とＰ１’との差分）、パラメータＰ３の更新量ΔＰ３（Ｐ３とＰ３’との差分）、およびパラメータＰｎの更新量ΔＰｎ（ＰｎとＰｎ’との差分）を含む。
【００３０】
ここで、機械学習モデルの訓練は通常、勾配法、レーベンバーグ・マーカート法、準ニュートン法、およびその他の数値最適化アルゴリズムを利用して算出されるところ、クライアント装置３００からサーバ装置１００に送信されるデータは、更新量ΔＰそのものではなく、パラメータＰの微分係数およびヘッシアン等、当該数値計算アルゴリズムから更新量ΔＰを算出するための数値情報でもよい。あるいは、クライアント装置３００からサーバ装置１００に送信されるデータは、更新量ΔＰの替わりに更新後のパラメータＰ’でもよく、更新後のパラメータＰ’が設定された学習モデルそのものでもよい。
【００３１】
サーバ装置１００のパラメータ更新処理部１４０は、更新量ΔＰに基づいて学習モデル１１１のパラメータＰを更新する。なお、図１を参照して説明したように、システム１０は互いに異なる場所Ｓ１，Ｓ２，Ｓ３，・・・に設置された複数のクライアント装置３００ａ，３００ｂ，３００ｃ，・・・を含む。従って、以下で説明するように、パラメータ更新処理部１４０は、複数のクライアント装置３００からそれぞれ送信された更新量ΔＰと統合した結果に基づいて、サーバ装置１００において保持されている学習モデル１１１のパラメータＰを更新してもよい。
【００３２】
例えば、パラメータ更新処理部１４０は、それぞれのクライアント装置３００で更新量ΔＰを算出するために用いられた実データ３２１に含まれるデータセットの数に応じて、それぞれのクライアント装置３００から送信された更新量ΔＰを重みづけしてもよい。あるいは、パラメータ更新処理部１４０は、それぞれのクライアント装置３００から送信された更新量ΔＰの傾向に応じて、更新量ΔＰに重みづけしてもよい。例えば、更新量ΔＰをベクトルとしてみた場合に、あるクライアント装置３００から送信された更新量ΔＰと、他のクライアント装置３００から送信された更新量ΔＰとの間の距離が著しく大きかったとする。この場合、当該クライアント装置３００から送信された更新量ΔＰは、特殊な条件の実データ３２１を用いて学習モデル１１１を訓練した結果に基づいて算出されており、一般的な多くのデータについて妥当な結果を出力することには必ずしも寄与しない可能性がある。このような場合に、パラメータ更新処理部１４０は、更新量ΔＰの重みを他のクライアント装置から送信された更新量ΔＰに比べて小さくしてもよい。
【００３３】
上記の例では、実データ３２１が単一のデータセットしか含んでいなかったとしても、更新量ΔＰから実データ３２１のデータセットを復元することは必ずしも容易ではない。さらに、実データ３２１が複数のデータセットを含む場合には、更新量ΔＰから実データ３２１に含まれていた個々のデータセットを復元することは不可能である。加えて、実データに非常に希少なデータが含まれていることにより実質的に当該データに関するプライバシーが侵される危険がある場合であっても、検証処理部３５０における処理によって一定の基準に基づいて送信不可とすることにより、推論やその他の情報を活用した実データの一部の特定を実質的に不可能とすることができる。従って、クライアント装置３００からサーバ装置１００への更新量ΔＰの送信は、もはや実データ３２１の送信にはあたらない。従って、上記の例において実データ３２１はその保有者の元から移転していないとみなすことができる。
【００３４】
図４は、本発明の一実施形態における処理の例を示すフローチャートである。図示された例では、まず、サーバ装置１００において、モデル送信部１２０が、学習モデル１１１を、外部ネットワーク２００を介してクライアント装置３００に送信する（ステップＳ１０１）。クライアント装置３００では、モデル受信部３１０が学習モデル１１１を受信する（ステップＳ１０２）。その一方で、クライアント装置３００では、データ取得部３２０が上記で図１を参照して説明したような各種の媒体を介して実データ３２１を取得する（ステップＳ１０３）。実データ３２１の取得は、所定の数のデータセットが取得されるまで繰り返される（ステップＳ１０４）。
【００３５】
なお、ステップＳ１０１，Ｓ１０２と、ステップＳ１０３，Ｓ１０４とが実行される順序は任意である。つまり、学習モデルがサーバ装置１００からクライアント装置３００に送信されてから実データ３２１が取得されてもよく、実データ３２１が取得されてから学習モデルが送信されてもよく、これらの処理が並行して実行されてもよい。
【００３６】
クライアント装置３００において、実データ３２１として所定の数のデータセットが取得されると、更新量算出部３３０が、取得された実データ３２１を用いて学習モデル１１１の訓練を実行し、訓練の結果に基づいてパラメータＰの更新量ΔＰを算出する（ステップＳ１０５）。さらに、図示された例では、検証処理部３５０が、更新量ΔＰから実データ３２１が復元不可能であることを検証する（ステップＳ１０６）。検証処理部３５０による検証結果の出力を参照したクライアント装置３００のユーザが、更新量ΔＰの送信を許可する操作をクライアント装置３００に与えた場合、または、検証処理部３５０が自動的に実データ３２１が復元不可能であるか否かを判断して更新量ΔＰの送信を許可した場合（ステップＳ１０７）、更新量送信部３４０が外部ネットワーク２００を介して更新量ΔＰをサーバ装置１００に送信する（ステップＳ１０８）。
【００３７】
なお、図示された例では、ステップＳ１０７において更新量ΔＰの送信が許可されなかった場合に、処理がステップＳ１０３に戻り、追加で実データ３２１が取得される。例えば、実データ３２１に含まれるデータセットの数が少ないために更新量ΔＰから実データ３２１が復元可能であった場合や、実データ３２１に含まれるデータセットが共通または類似した特徴を有していたために更新量ΔＰから実データ３２１が復元可能であった場合、追加のデータセットを含む実データ３２１に基づいて再び更新量ΔＰを算出することによって、更新量ΔＰから実データ３２１を復元することを不可能にし、更新量ΔＰをサーバ装置１００に送信できる可能性がある。
【００３８】
サーバ装置１００において、クライアント装置３００から更新量ΔＰが受信されると（ステップＳ１０９）、パラメータ更新処理部１４０が、ストレージ１１０において保持されている学習モデル１１１のパラメータＰを受信された更新量ΔＰに基づいて更新する（ステップＳ１１０）。上述の通り、パラメータ更新処理部１４０は、複数のクライアント装置３００からそれぞれ送信された更新量ΔＰを統合した結果に基づいてパラメータＰを更新してもよい。以上のステップＳ１０１からステップＳ１１０の処理は、所定の終了条件が満たされるまで繰り返される（ステップＳ１１１）。
【００３９】
ここで、終了条件は、例えば、複数のクライアント装置３００においてそれぞれ取得された実データ３２１に含まれるデータセットの合計が所定の数に到達し、それらのデータセットに基づいて学習モデル１１１のパラメータＰが更新されたことであってもよい。この場合、クライアント装置３００は、更新量ΔＰとともに、更新量ΔＰを算出するときに利用された実データ３２１に含まれていたデータセットの数をサーバ装置１００に送信し、サーバ装置１００はこのデータセットの数を集計してもよい。
【００４０】
以上、本発明の一実施形態について説明した。本実施形態において、クライアント装置３００は、外部ネットワーク２００を介してサーバ装置１００に接続され、サーバ装置１００から学習モデル１１１を受信する。その一方で、クライアント装置３００は、外部ネットワーク２００から独立した媒体（例えば、内部ネットワーク３０１、内部伝送経路、およびリムーバブルメディア３０３）を介して実データ３２１を取得する。クライアント装置３００は実データ３２１を用いて学習モデル１１１の訓練を実施するが、このときに実データ３２１はクライアント装置３００の内部に保持されているため、外部ネットワーク２００には流出しない。クライアント装置３００は、訓練の結果に基づく学習モデル１１１のパラメータＰの更新量ΔＰを、外部ネットワーク２００を介してサーバ装置１００に送信するが、上述のように更新量ΔＰから元の実データ３２１を復元することは実質的に不可能であるため、更新量ΔＰの送信は実データ３２１の移転にはあたらない。その一方で、サーバ装置１００では、更新量ΔＰに基づいて学習モデル１１１のパラメータＰを更新することによって、上記の実データ３２１を用いた訓練の結果を学習モデル１１１に反映させ、学習モデル１１１の品質を向上させることができる。
【００４１】
図５は、例示的なコンピュータのハードウェア構成を示すブロック図である。図５に示された情報処理装置９００は、例えば、上記で図１および図２を参照して説明したサーバ装置１００およびクライアント装置３００として機能する。情報処理装置９００は、例えばパーソナルコンピュータや、タブレット、スマートフォンのような端末装置であってもよく、データセンタなどに設置されるサーバコンピュータであってもよい。また、情報処理装置９００の機能は、必ずしも物理的に単一の装置において実現されなくてもよく、例えばネットワークを介して接続された複数の装置のリソースを統合的に利用することによって実現されてもよい。以下では、情報処理装置９００の各部の構成について説明する。
【００４２】
情報処理装置９００は、プロセッサ９０１、メモリ９０３、入力装置９０５、出力装置９０７、およびバスインターフェース９０９を含む。さらに、情報処理装置９００は、ストレージ９１１、ドライブ９１３、接続ポート９１５、および通信装置９１７を含んでもよい。
【００４３】
プロセッサ９０１は、例えば、ＣＰＵ（Central  Processing  unit）、ＧＰＵ（Graphics  Processing  unit）、ＤＳＰ（Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、および／またはＦＰＧＡ（Field-Programmable  Gate  Array）などの処理回路によって構成される。プロセッサ９０１は、メモリ９０３、ストレージ９１１、またはリムーバブルメディア９１９に記録されたプログラムに従って情報処理装置９００の動作を制御する。
【００４４】
メモリ９０３は、例えば、ＲＯＭ（Read  Only  Memory）およびＲＡＭ（Random  Access  Memory）を含む。ＲＯＭは、例えばプロセッサ９０１のためのプログラム、および演算パラメータなどを記憶する。ＲＡＭは、例えばプロセッサ９０１の実行時に展開されたプログラム、およびプログラムの実行時のパラメータなどを一次記憶する。
【００４５】
入力装置９０５は、例えば、マウス、キーボード、タッチパネル、ボタン、または各種のスイッチなど、ユーザによって操作される装置である。入力装置９０５は、必ずしも情報処理装置９００と一体化していなくてもよく、例えば、無線通信によって制御信号を送信するリモートコントローラであってもよい。入力装置９０５は、ユーザが入力した情報に基づいて入力信号を生成してプロセッサ９０１に出力する入力制御回路を含む。
【００４６】
出力装置９０７は、視覚や聴覚、触覚などの感覚を用いてユーザに向けて情報を出力することが可能な装置で構成される。出力装置９０７は、例えば、ＬＣＤ（Liquid  Crystal  Display）または有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカまたはヘッドフォンなどの音声出力装置、もしくはバイブレータなどを含みうる。出力装置９０７は、情報処理装置９００の処理により得られた結果を、テキストもしくは画像などの映像、音声もしくは音響などの音声、またはバイブレーションなどとして出力する。
【００４７】
ストレージ９１１は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。ストレージ９１１は、例えばプロセッサ９０１のためのプログラム、プログラムの実行時に読み出される、またはプログラムの実行によって生成された各種のデータ、および外部から取得した各種のデータなどを格納する。
【００４８】
ドライブ９１３は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア９１９のためのリーダ／ライタである。ドライブ９１３は、装着されているリムーバブルメディア９１９に記録されている情報を読み出して、メモリ９０３に出力してもよい。また、ドライブ９１３は、装着されているリムーバブルメディア９１９に各種のデータを書き込んでもよい。
【００４９】
接続ポート９１５は、外部接続機器９２１を情報処理装置９００に接続するためのポートである。接続ポート９１５は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどを含みうる。また、接続ポート９１５は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）ポートなどを含んでもよい。接続ポート９１５に外部接続機器９２１を接続することで、情報処理装置９００と外部接続機器９２１との間で各種のデータを交換することができる。
【００５０】
通信装置９１７は、ネットワーク９２３に接続される。なお、ネットワーク９２３は、例えばインターネットのような不特定多数の装置が接続される開かれた通信ネットワークであってもよく、例えばＢｌｕｅｔｏｏｔｈ（登録商標）のような限られた装置、例えば２つの装置が接続される閉じられた通信ネットワークであってもよい。通信装置９１７は、例えば、ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ、またはＷＵＳＢ（Wireless  USB）用の通信カードを含みうる。通信装置９１７は、ネットワーク９２３に応じた所定のプロトコルを用いて、他の装置との間で信号またはデータなどを送受信する。
【００５１】
なお、上記で例示的に説明された情報処理装置９００の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、当業者は、上述したような情報処理装置９００の構成を、実施する時々の技術レベルに応じて適宜変更することができる。
【００５２】
以上、添付図面を参照しながら本発明の例示的な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００５３】
例えば、図１に示された例では、サーバ装置からクライアント装置に学習モデルを送信するための第１の媒体と、クライアント装置からサーバ装置に更新量を送信するための第３の媒体とが同じ媒体（外部ネットワーク）として説明されたが、これらの媒体は互いに異なっていてもよい。例えば、外部ネットワークを用いてサーバ装置からクライアント装置に学習モデルを送信する一方で、クライアント装置からサーバ装置への更新量の送信にはリムーバブルメディアを用いてもよい。あるいは、サーバ装置とクライアント装置との間で、学習モデルおよび更新量の両方をリムーバブルメディアを用いてやりとりしてもよい。この場合、クライアント装置を外部ネットワークから遮断することによって、実データの流出をより確実に防止することができる。
【００５４】
上記のように、本発明の実施形態において、学習モデルや更新量などのデータは、必ずしも通信回線を用いて送受信されなくてもよく、例えばリムーバブルメディアを用いて物理的に移動されてもよい。この点に関して、上記の実施形態で送信および受信として説明された処理は、他の実施形態では提供および取得と言い換えられてもよい。
【００５５】
本発明の実施形態は、例えば、情報処理装置、複数の情報処理装置を含むシステム、情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された媒体を含みうる。
【符号の説明】
【００５６】
１０…システム、１００…サーバ装置、１１０…ストレージ、１２０…モデル送信部、１３０…更新量受信部、１４０…パラメータ更新処理部、２００…外部ネットワーク、３００…クライアント装置、３１０…モデル受信部、３２０…データ取得部、３３０…更新量算出部、３４０…更新量送信部、３５０…検証処理部。
【図１】
2019028656.tif 000003
【図２】
2019028656.tif 000004
【図３】
2019028656.tif 000005
【図４】
2019028656.tif 000006
【図５】
2019028656.tif 000007