(57)【要約】【課題】ライセンスの譲渡に応じてコントリビュータに報酬を適切に支払うことを可能にするとともに、ライセンスの譲渡に係る管理コストを低減することを可能にする。【解決手段】管理装置１は、学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部１１と、ブロックチェーンを更新可能な参加者のいずれかに設定されたブロックチェーンの更新権限者によるブロックチェーンの更新の正確性を確認する確認部１５と、ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを記憶部１１に記憶させる更新部１６と、ブロックチェーンに格納された譲渡履歴に基づいて、学習モデルの譲渡の見返りとなる報酬を算出する報酬算出部１７と、を備える。【選択図】図２
2019003402.tif 000002
【特許請求の範囲】
【請求項１】
学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部と、
前記ブロックチェーンを更新可能な参加者のいずれかに設定された前記ブロックチェーンの更新権限者による前記ブロックチェーンの更新の正確性を確認する確認部と、
前記ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを前記記憶部に記憶させる更新部と、
前記ブロックチェーンに格納された前記譲渡履歴に基づいて、前記学習モデルの譲渡の見返りとなる報酬の額を算出する報酬算出部と、
を備える管理装置。
【請求項２】
前記報酬算出部は、前記学習モデルの生成に寄与した１又は複数のコントリビュータの前記学習モデルの生成に関する寄与率に基づいて、各コントリビュータの前記報酬の額を算出する、
請求項１に記載の管理装置。
【請求項３】
前記学習モデルはニューラルネットワークを用いた学習によって生成された複数の層それぞれの重みであり、
前記譲渡履歴は、前記学習モデルの各層の重みのハッシュ値を要素とするデータ列を含み、
前記報酬算出部は、一のライセンスの前記譲渡履歴に含まれる前記データ列の少なくとも一部のデータ列を含む他のライセンスの前記譲渡履歴を特定し、前記一のライセンスに対応するデータ列と、前記他のライセンスに対応するデータ列との一致率に基づいて、前記寄与率を算出する、
請求項２に記載の管理装置。
【請求項４】
前記報酬算出部は、前記コントリビュータに対する報酬の額と、前記コントリビュータ以外の報酬取得権者に対する報酬の額とを算出する、
請求項２又は３に記載の管理装置。
【請求項５】
プロセッサが、
学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部から前記ブロックチェーンを読み出すステップと、
前記ブロックチェーンを更新可能な参加者のいずれかに設定された前記ブロックチェーンの更新権限者による前記ブロックチェーンの更新の正確性を確認するステップと、
前記ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを前記記憶部に記憶させるステップと、
前記ブロックチェーンに格納された前記譲渡履歴に基づいて、前記学習モデルの譲渡の見返りとなる報酬の額を算出するステップと、
を実行する管理方法。
【請求項６】
コンピュータに、
学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部から前記ブロックチェーンを読み出す機能と、
前記ブロックチェーンを更新可能な参加者のいずれかに設定された前記ブロックチェーンの更新権限者による前記ブロックチェーンの更新の正確性を確認する機能と、
前記ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを前記記憶部に記憶させる機能と、
前記ブロックチェーンに格納された前記譲渡履歴に基づいて、前記学習モデルの譲渡の見返りとなる報酬の額を算出する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習モデルの譲渡履歴を管理するための管理装置、管理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、入力データに対する出力データを予測する学習モデルを機械学習に基づいて作成することが行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０６０２３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、学習モデルの使用に対して、学習モデルの作成者としてのコントリビュータに報酬を適切に支払うことが求められている。これに対し、学習モデルの使用を許可するライセンスをユーザに付与し、当該ユーザから受け取ったライセンス料の少なくとも一部をコントリビュータに報酬として支払うことが考えられる。
【０００５】
学習モデルのユーザの中には、学習モデルを一時的に使用し、その後、ライセンスを他のユーザに譲渡したいと考えるユーザが存在する。ライセンスを単純に譲渡した場合には、多くのユーザが学習モデルを使用可能となるため、コントリビュータに報酬が適切に支払われないという問題が発生する。一方、ライセンスの譲渡を低コストで管理することが求められている。
【０００６】
そこで、本発明はこれらの点に鑑みてなされたものであり、ライセンスの譲渡に応じてコントリビュータに報酬を適切に支払うことができるとともに、ライセンスの譲渡に係る管理コストを低減することができる管理装置、管理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係る管理装置は、学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部と、前記ブロックチェーンを更新可能な参加者のいずれかに設定された前記ブロックチェーンの更新権限者による前記ブロックチェーンの更新の正確性を確認する確認部と、前記ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを前記記憶部に記憶させる更新部と、前記ブロックチェーンに格納された前記譲渡履歴に基づいて、前記学習モデルの譲渡の見返りとなる報酬の額を算出する報酬算出部と、を備える。
【０００８】
前記報酬算出部は、前記学習モデルの生成に寄与した１又は複数のコントリビュータの前記学習モデルの生成に関する寄与率に基づいて、各コントリビュータの前記報酬の額を算出してもよい。
【０００９】
前記学習モデルはニューラルネットワークを用いた学習によって生成された複数の層それぞれの重みであり、前記譲渡履歴は、前記学習モデルの各層の重みのハッシュ値を要素とするデータ列を含み、前記報酬算出部は、一のライセンスの前記譲渡履歴に含まれる前記データ列の少なくとも一部のデータ列を含む他のライセンスの前記譲渡履歴を特定し、前記一のライセンスに対応するデータ列と、前記他のライセンスに対応するデータ列との一致率に基づいて、前記寄与率を算出してもよい。
【００１０】
前記報酬算出部は、前記コントリビュータに対する報酬の額と、前記コントリビュータ以外の報酬取得権者に対する報酬の額とを算出してもよい。
【００１１】
本発明の第２の態様に係る管理方法は、プロセッサが、学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部から前記ブロックチェーンを読み出すステップと、前記ブロックチェーンを更新可能な参加者のいずれかに設定された前記ブロックチェーンの更新権限者による前記ブロックチェーンの更新の正確性を確認するステップと、前記ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを前記記憶部に記憶させるステップと、前記ブロックチェーンに格納された前記譲渡履歴に基づいて、前記学習モデルの譲渡の見返りとなる報酬の額を算出するステップと、を実行する。
【００１２】
本発明の第３の態様に係るプログラムは、コンピュータに、学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部から前記ブロックチェーンを読み出す機能と、前記ブロックチェーンを更新可能な参加者のいずれかに設定された前記ブロックチェーンの更新権限者による前記ブロックチェーンの更新の正確性を確認する機能と、前記ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを前記記憶部に記憶させる機能と、前記ブロックチェーンに格納された前記譲渡履歴に基づいて、前記学習モデルの譲渡の見返りとなる報酬の額を算出する機能と、を実現させる。
【発明の効果】
【００１３】
本発明によれば、ライセンスの譲渡に応じてコントリビュータに報酬を適切に支払うことができるとともに、ライセンスの譲渡に係る管理コストを低減することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る譲渡管理システムの概要を示す図である。
【図２】ニューラルネットワークの基本構成を示す図である。
【図３】本実施形態に係る管理装置の構成を示す図である。
【図４】本実施形態に係るブロックチェーンを説明する図である。
【図５】本実施形態に係る譲渡履歴の管理に係る管理装置の処理の流れの一例を示すフローチャートである。
【図６】本実施形態に係るライセンス譲渡に対応する報酬の額の算出に係る管理装置の処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［譲渡管理システムＳの概要］
図１は、本実施形態に係る譲渡管理システムＳの概要を示す図である。譲渡管理システムＳは、ニューラルネットワークの学習モデルの譲渡履歴を管理するためのシステムであり、複数の管理装置１（管理装置１Ａ、１Ｂ、１Ｃ及び１Ｄ）と、受付装置２と、支払管理装置３と、複数のユーザ端末４（ユーザ端末４Ａ及び４Ｂ）とを備える。
【００１６】
本実施形態を説明するにあたり、まず、ニューラルネットワークについて簡単に説明する。図２は、ニューラルネットワークの基本構成を示す図である。ニューラルネットワークの基本構成は、複数種類の層の重ね合わせ（又はグラフ構造）で表現される。
【００１７】
図２には、順伝播型のニューラルネットワークＮが示されている。順伝播型のニューラルネットワークＮは、入力層（input layer）と、隠れ層（hidden layer）と、出力層（output layer）との３つの層から構成され、入力層から出力層へ向けて一方向に伝播する。隠れ層は、グラフ状に複数の層から構成することができる。各層は、複数のユニット（ニューロン）を持つ。各層において、前方層のユニットから後方層のユニットへつなぐ関数のパラメータを、「重み（weight）」という。本実施形態における学習とは、この関数のパラメータとして、適切な「重み」を算出することである。また、本実施形態における学習モデルは、複数の層のそれぞれの重みであり、タスクを実現するために用いられる。
【００１８】
ニューラルネットワークにおける学習は、訓練データに対する出力層からの出力値と訓練データのラベルとの誤差を用いて、各層の重みを最適に更新することを意味する。その誤差を算出するために、「損失関数」（loss function）が定義される。誤差は、「誤差逆伝播法」によって出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行することにより、学習モデルが作成される。
【００１９】
ところで、学習モデルを作成するユーザは、予め作成されている学習モデルを再学習することによって既存の重みを更新したり、新たな層を追加したりすることによって学習モデルを作成することがある。この場合には、複数のユーザが学習モデルの作成に寄与していることとなる。以下、学習モデルの作成に寄与したユーザを「コントリビュータ」という。
【００２０】
図２に示す例では、学習モデルＭが生成されている。学習モデルＭには、重みＷ１〜Ｗｎが含まれている。ここで、図２に示すように、入力層と、隠れ層の一部に対応する重みＷ１〜ＷｉをコントリビュータＡが作成し、隠れ層の他の一部に対応する重みＷｉ＋１〜ＷｎをコントリビュータＢが作成したとする。この場合、コントリビュータＡと、コントリビュータＢとが学習モデルＭの作成に寄与している。
【００２１】
図１に説明を戻し、複数の管理装置１のそれぞれは、他の管理装置１の少なくともいずれかとＬＡＮ（Local Area Network）やインターネット等の通信ネットワークを介して通信可能に接続されているサーバである。
【００２２】
複数の管理装置１は、分散データベースを形成しており、学習モデルの作成者であるコントリビュータから学習モデルのライセンスを販売する販売業者へのライセンスの譲渡履歴、販売業者からユーザ端末４のユーザへのライセンスの販売に伴うライセンスの譲渡履歴、及び複数のユーザ端末４のユーザ間のライセンスの譲渡履歴を管理する。
【００２３】
受付装置２は、複数のユーザ端末４のそれぞれと通信ネットワークを介して通信可能に接続されているとともに、複数の管理装置１の少なくともいずれかと通信ネットワークを介して通信可能に接続されているサーバである。受付装置２は、学習モデルのライセンスの他のユーザへの譲渡要求を受け付ける（図１の（１））。
【００２４】
受付装置２は、譲渡要求を受け付けると、譲渡元のユーザを示す譲渡元情報、譲渡先のユーザを示す譲渡先情報、及び譲渡対象のライセンスを示すライセンス情報を含む譲渡履歴を生成する（図１の（２））。受付装置２は、生成した譲渡履歴を複数の管理装置１の少なくともいずれかに送信する（図１の（３））。
【００２５】
複数の管理装置１は、ブロックチェーンを格納する分散データベースを形成している。複数の管理装置１は、ブロックチェーンを用いて、受付装置２から取得した譲渡履歴を管理する（図１の（４））。ブロックチェーンを用いて譲渡履歴を分散管理することにより、複数の管理装置１のそれぞれの処理能力を抑えることができるので、１台のサーバにより譲渡履歴を一元管理する場合に比べて管理コストを軽減することができる。
【００２６】
譲渡管理システムＳでは、学習モデルの譲渡によって、当該学習モデルの作成に寄与したコントリビュータ等に報酬が支払われる。支払管理装置３は、学習モデルの譲渡によって発生する報酬をコントリビュータ等に支払うサーバである。支払管理装置３は、報酬算出要求を複数の管理装置１のいずれかに送信する（図１の（５））。
【００２７】
管理装置１は、報酬算出要求を受信したことに応じて、分散データベースを用いて管理されている譲渡履歴に基づいて報酬の額を算出し（図１の（６））、コントリビュータ等に対する報酬の額を示す報酬情報を支払管理装置３に送信する（図１の（７））。支払管理装置３は、報酬情報を受信すると、当該報酬情報に基づいて支払処理を実行する（図１の（８））。これにより、コントリビュータ等は、学習モデルの譲渡に対応する報酬を受け取ることができる。
以下、管理装置１の構成について説明する。なお、本実施形態において、複数の管理装置１は、同じ構成を有しているものとする。
【００２８】
［管理装置１の構成例］
図３は、本実施形態に係る管理装置１の構成を示す図である。
管理装置１は、記憶部１１と、制御部１２とを備える。
【００２９】
記憶部１１は、例えば、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等である。記憶部１１は、管理装置１を機能させるための各種プログラムを記憶する。例えば、記憶部１１は、管理装置１の制御部１２を、後述する取得部１３、演算部１４、確認部１５、更新部１６、及び報酬算出部１７として機能させる管理プログラムを記憶する。また、記憶部１１は、学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する。
【００３０】
図４は、本実施形態に係るブロックチェーンを説明する図である。図４に示すように、ブロックチェーンは、複数のブロックを連結した情報である。複数のブロックのそれぞれは、直前のブロックを示す情報のハッシュ値と、ナンス値と、ライセンスの譲渡を示す複数の譲渡履歴とが含まれていることが確認できる。ナンス値は、ブロックのハッシュ値が特定の条件を満たされるようにするために用いられる情報である。
【００３１】
譲渡履歴には、学習モデルのライセンス情報と、ライセンスの譲渡日時と、譲渡元のユーザを識別する譲渡元情報と、譲渡先のユーザを識別する譲渡先情報とが含まれる。学習モデルのライセンス情報は、例えば、学習モデルの各層の重みのハッシュ値を要素とするデータ列である。
【００３２】
管理装置１は、ブロックチェーンに格納されている譲渡履歴を参照することにより、複数のユーザのそれぞれが保有している学習モデルのライセンスの保有状況を特定することができる。これにより、管理装置１は、複数のユーザが保有しているライセンスを管理することができる。
【００３３】
図３に説明を戻し、制御部１２は、例えばＣＰＵ（Central Processing Unit）である。制御部１２は、記憶部１１に記憶されている各種プログラムを実行することにより、管理装置１に係る機能を制御する。制御部１２は、管理プログラムを実行することにより、取得部１３、演算部１４、確認部１５、更新部１６、及び報酬算出部１７として機能する。
【００３４】
取得部１３は、受付装置２から、学習モデルのライセンスの譲渡元のユーザを示す譲渡元情報、譲渡先のユーザを示す譲渡先情報、譲渡対象のライセンスを示すライセンス情報、及びライセンスの譲渡日時を含む譲渡履歴を取得する。取得部１３は、譲渡履歴を取得すると、他の管理装置１に送信する。これにより、複数の管理装置１の間で譲渡履歴の共有が行われる。
【００３５】
ここで、譲渡履歴には、学習モデルの作成者であるコントリビュータから、学習モデルのライセンスを販売する販売業者へのライセンスの譲渡履歴、販売業者からユーザへのライセンスの販売に伴うライセンスの譲渡履歴、及びユーザ間のライセンスの譲渡履歴が含まれるものとする。したがって、同一のライセンスの譲渡履歴のうち、最も古い譲渡履歴は、コントリビュータから販売業者への譲渡履歴となる。
【００３６】
演算部１４は、取得部１３が所定数の譲渡履歴を取得すると、記憶部１１に記憶されている最後に生成されたブロックのハッシュ値と、所定数の譲渡履歴と、ナンス値とを含むブロックを生成する。そして、演算部１４は、ナンス値を変化させながら、ブロックのハッシュ値を算出する。演算部１４は、ブロックのハッシュ値が特定の条件を満たすまでナンス値を変化させる。ここで、特定の条件は、例えば、ハッシュ値の先頭から所定量のデータの値が全て０であることである。
【００３７】
複数の管理装置１のそれぞれの演算部１４は、ナンス値を変化させながら、ブロックのハッシュ値を算出することにより、ブロックのハッシュ値が特定の条件を満たすときのナンス値の特定を試みる。ここで、ナンス値の特定を試みる管理装置１を参加者ともいう。また、ナンス値を特定した管理装置１を、ブロックチェーンを更新する更新権限を有する更新権限者という。
【００３８】
確認部１５は、演算部１４がナンス値を特定すると、特定されたナンス値を含むブロックを他の管理装置１に送信する。以降の説明では、特定されたナンス値を含むブロックを新規ブロックともいう。また、確認部１５は、他の管理装置１の演算部１４がナンス値を特定すると、他の管理装置１から新規ブロックを受信する。これにより、複数の管理装置１の間で新規ブロックの共有が行われる。
【００３９】
確認部１５は、ブロックチェーンを更新可能な複数の参加者（管理装置１）のいずれかに設定されたブロックチェーンの更新権限者によるブロックチェーンの更新の正確性を確認する。確認部１５は、新規ブロックに含まれている譲渡履歴と、他のブロックに含まれている譲渡履歴とに基づいて、新規ブロックに含まれている譲渡履歴に矛盾が生じていないかを判定する。例えば、確認部１５は、新規ブロックに含まれている譲渡履歴が、ライセンスを二重譲渡していることを示している場合や、譲渡元がライセンスを所持していない場合に、新規ブロックに含まれている譲渡履歴に矛盾が生じていると判定する。確認部１５は、新規ブロックに含まれている譲渡履歴に矛盾が生じていないと判定すると、ブロックチェーンの更新が正確であると判定する。
【００４０】
更新部１６は、確認部１５によってブロックチェーンの更新の正確性が確認された場合、特定されたナンス値を含むブロックを記憶部１１に記憶させることにより、更新後のブロックチェーンを記憶部１１に記憶させる。
【００４１】
報酬算出部１７は、ブロックチェーンに格納された譲渡履歴に基づいて、学習モデルの譲渡の見返りとなる報酬の額を算出する。報酬算出部１７は、例えば、１回のライセンスの譲渡に対する報酬の総額を、当該ライセンスに対応する譲渡履歴に含まれるライセンス情報の情報量に基づいて算出する。ライセンス情報の情報量は、学習モデルの全層数に対応するものであるから、全層数が多ければ多いほど、報酬の総額が多くなる。なお、報酬の総額は予め定められた額であったり、コントリビュータが設定した額であってもよい。
【００４２】
報酬算出部１７は、管理装置１が支払管理装置３から報酬算出要求を取得したことに応じて、学習モデルの生成に寄与した１又は複数のコントリビュータに対する報酬の額と、コントリビュータ以外の報酬取得権者に対する報酬の額とを算出する。
【００４３】
コントリビュータ以外の報酬取得権者は、例えば、ナンス値を特定した管理装置１の管理者、すなわち、更新権限者としての管理装置１の管理者である。なお、コントリビュータ以外の報酬取得権者には、更新権限者としての管理装置１の管理者だけでなく、受付装置２の管理者、支払管理装置３の管理者が含まれていてもよい。このようにすることで、管理装置１は、ライセンスの管理に関わる管理者に対してもライセンスの譲渡に伴う報酬を支払うことができる。
【００４４】
報酬算出部１７は、学習モデルの生成に寄与した１又は複数のコントリビュータに対する報酬の額を以下のように算出する。まず、報酬算出部１７は、ブロックチェーンに新たに追加される新規ブロックに格納されている一のライセンスの譲渡履歴に含まれるライセンス情報を特定する。また、報酬算出部１７は、当該ライセンス情報を含む譲渡履歴のうち、最も古い譲渡履歴を参照することにより、当該ライセンス情報を最初に譲渡したユーザ、すなわち、学習モデルのコントリビュータを特定する。
【００４５】
ここで、ライセンス情報は、学習モデルの各層の重みのハッシュ値を要素とするデータ列であることから、他の学習モデルを流用して作成した学習モデルには、当該他の学習モデルのハッシュ値が含まれることとなる。
【００４６】
報酬算出部１７は、一のライセンスの譲渡履歴に含まれるライセンス情報が示すハッシュ値の少なくとも一部のハッシュ値を含む他のライセンスの譲渡履歴を特定する。そして、報酬算出部１７は、当該他のライセンスのライセンス情報を含む譲渡履歴のうち、最も古い譲渡履歴を参照することにより、当該他のライセンス情報に対応する学習モデルのコントリビュータを特定する。
【００４７】
また、報酬算出部１７は、一のライセンスに対応するライセンス情報が示すハッシュ値と、他のライセンスに対応するライセンス情報が示すハッシュ値との一致率を算出する。ここで、学習モデルの各層の重みのハッシュ値の長さが一定長である場合には、一致率は、学習モデルの全層数に対する、コントリビュータが生成した層数の割合となる。
【００４８】
そして、報酬算出部１７は、算出した一致率に基づいて、一のライセンス及び他のライセンスのそれぞれで特定したコントリビュータの寄与率を算出する。このようにすることで、管理装置１は、譲渡された一のライセンスに対応する学習モデルの作成に寄与した１以上のコントリビュータの寄与率を適切に算出することができる。
【００４９】
報酬算出部１７は、各コントリビュータと、コントリビュータ以外の報酬取得権者とに対する報酬の額とを算出すると、報酬の額を示す報酬情報を支払管理装置３に送信する。これにより、支払管理装置３において、各コントリビュータと、コントリビュータ以外の報酬取得権者とに対する報酬の支払いが行われる。
【００５０】
［譲渡履歴の管理に係る処理の流れ］
続いて、管理装置１における処理の流れについて説明する。まず、譲渡履歴の管理に係る処理の流れについて説明する。図５は、本実施形態に係る譲渡履歴の管理に係る管理装置１の処理の流れの一例を示すフローチャートである。
【００５１】
まず、取得部１３は、譲渡履歴を取得する（Ｓ１０）。ここでは、取得部１３は、複数の譲渡履歴を取得するものとする。
続いて、演算部１４は、取得した複数の譲渡履歴を含むブロックを生成する（Ｓ２０）。
続いて、演算部１４は、生成したブロックに含まれるナンス値を変化させながらブロックのハッシュ値を算出する（Ｓ３０）。
【００５２】
演算部１４は、ブロックのハッシュ値が特定の条件を満たすときのナンス値を特定したか、又は、他の管理装置１から当該ナンス値を含むブロックを受信したか否かを判定する（Ｓ４０）。演算部１４は、ナンス値を特定、又はブロックを受信したと判定すると、Ｓ５０に処理を移し、ナンス値が特定されず、ブロックを受信していないと判定すると、Ｓ３０に処理を移す。
【００５３】
確認部１５は、新たにブロックチェーンに連結させるブロックに含まれている譲渡履歴に矛盾が生じていないかを判定することにより、ブロックチェーンの更新が正確であるか否かを判定する（Ｓ５０）。確認部１５は、ブロックチェーンの更新が正確であると判定すると、Ｓ６０に処理を移す。確認部１５は、ブロックチェーンの更新が正確ではないと判定すると、矛盾が生じている譲渡履歴を識別する情報を含むエラー情報を出力して本フローチャートの処理を終了する。
【００５４】
更新部１６は、ブロックチェーンが正確であると確認部１５が判定したことに応じて、特定されたナンス値を含むブロックを記憶部１１に記憶させて、ブロックチェーンを更新する（Ｓ６０）。
【００５５】
［ライセンス譲渡に対応する報酬の額の算出に係る処理の流れ］
続いて、ライセンス譲渡に対応する報酬の額の算出に係る処理の流れについて説明する。図６は、本実施形態に係るライセンス譲渡に対応する報酬の額の算出に係る管理装置１の処理の流れの一例を示すフローチャートである。
【００５６】
まず、報酬算出部１７は、管理装置１が支払管理装置３から報酬算出要求を取得したことに応じて、新たに記憶部１１に記憶されたブロックに格納されている１つの譲渡履歴を選択する（Ｓ１１０）。報酬算出部１７は、選択した譲渡履歴に含まれるライセンス情報を取得する（Ｓ１２０）。
【００５７】
続いて、報酬算出部１７は、取得したライセンス情報に対応する学習モデルのコントリビュータを特定する（Ｓ１３０）。具体的には、報酬算出部１７は、複数のブロックに格納されている譲渡履歴を参照し、取得したライセンス情報を含む最も古い譲渡履歴を特定する。そして、特定した譲渡履歴に基づいて、取得したライセンス情報に対応する学習モデルのコントリビュータを特定する。
【００５８】
続いて、報酬算出部１７は、Ｓ１２０において取得したライセンス情報が示すハッシュ値の少なくとも一部を含む他のライセンス情報を特定する（Ｓ１４０）。
続いて、報酬算出部１７は、他のライセンス情報に対応する学習モデルのコントリビュータを特定する（Ｓ１５０）。
【００５９】
続いて、報酬算出部１７は、Ｓ１２０において取得されたライセンス情報が示すハッシュ値に含まれる、他のライセンス情報が示すハッシュ値の割合に基づいて、Ｓ１２０において取得したライセンス情報に対応する学習モデルの作成に寄与した１以上のコントリビュータのそれぞれの寄与率を算出する（Ｓ１６０）。
【００６０】
続いて、報酬算出部１７は、算出した寄与率に基づいて各コントリビュータの報酬の額を算出するとともに、各コントリビュータ以外の報酬取得権者に対する報酬の額を算出する（Ｓ１７０）。
【００６１】
続いて、報酬算出部１７は、複数の譲渡履歴のそれぞれについて算出した報酬の額を示す報酬情報を支払管理装置３に送信する（Ｓ１８０）。
続いて、報酬算出部１７は、報酬を算出していない譲渡履歴が存在するか否かを判定する（Ｓ１９０）。報酬算出部１７は、報酬を算出していない譲渡履歴が存在すると判定すると、Ｓ１１０に処理を移し、報酬を算出していない譲渡履歴が存在しないと判定すると、本フローチャートの処理を終了する。
【００６２】
［本実施形態における効果］
以上のとおり、本実施形態に係る管理装置１は、学習モデルのライセンスの譲渡履歴を格納する複数のブロックを連結したブロックチェーンを記憶する記憶部１１と、ブロックチェーンを更新可能な参加者のいずれかに設定されたブロックチェーンの更新権限者によるブロックチェーンの更新の正確性を確認する確認部１５と、ブロックチェーンの更新の正確性が確認された場合、更新後のブロックチェーンを記憶部１１に記憶させる更新部１６と、ブロックチェーンに格納された譲渡履歴に基づいて、学習モデルの譲渡の見返りとなる報酬の額を算出する報酬算出部１７とを備える。
【００６３】
管理装置１は、ブロックチェーンを用いて学習モデルのライセンスの譲渡履歴を分散して管理するので、１台のサーバにおいて学習モデルのライセンスを集中的に管理する場合に比べてコストを低減することができる。また、管理装置１は、譲渡履歴に基づいて報酬の額を算出するので、譲渡に伴うコントリビュータへの報酬の支払いを適切に行うことができる。
【００６４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。また、特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００６５】
例えば、上述の実施形態では、演算部１４が、記憶部１１に記憶されている最後に生成されたブロックのハッシュ値と、所定数の譲渡履歴と、ナンス値とを含むブロックを生成したが、これに限らない。演算部１４は、所定数の譲渡履歴の代わりに譲渡履歴のハッシュ値を含むブロックを生成してもよい。
【００６６】
また、上述の実施形態において、演算部１４は、ブロックのハッシュ値が特定の条件を満たすときのナンス値の特定を試みることにより、新規ブロックを生成したが、これに限らない。例えば、演算部１４は、ライセンスの保有割合に基づいて新規ブロックの更新権限者を特定するＰｒｏｏｆ  ｏｆ  Ｓｔａｋｅ方式を用いて更新権限者を特定し、当該更新権限者が新規ブロックを生成してもよい。また、演算部１４は、多数決によって新規ブロックを生成するか否かを判定するビザンチン合意アルゴリズムを用いて新規ブロックを生成してもよい。
【００６７】
また、受付装置２が、複数のユーザ端末４から学習モデルの譲渡要求を受け取り、譲渡履歴を生成したが、これに限らない。例えば、複数の受付装置２のそれぞれが、受付装置２の機能を備え、複数のユーザ端末４から学習モデルの譲渡要求を受け取ったことに応じて、譲渡履歴を生成してもよい。
【００６８】
例えば、上述の実施形態では、報酬算出部１７は、一のライセンスに対応するハッシュ値と、他のライセンスに対応するハッシュ値との一致率に基づいて、一のライセンスに対応する学習モデルの作成に寄与した各コントリビュータの寄与率を算出する場合について説明した。これに替えて、報酬算出部１７は、学習モデルにおける各コントリビュータが生成した層が含む重みのデータ量の、全層数に対する重みのデータ量に対する割合に基づいて寄与率を算定してもよい。各層が備える重みのデータ量に応じてデータ長が異なるハッシュ値を生成することにより、各コントリビュータが実際に生成した重みのデータ量を寄与率に反映させることができる。
【符号の説明】
【００６９】
１・・・管理装置、１１・・・記憶部、１２・・・制御部、１３・・・取得部、１４・・・演算部、１５・・・確認部、１６・・・更新部、１７・・・報酬算出部、２・・・受付装置、３・・・支払管理装置、４・・・ユーザ端末
【図１】
2019003402.tif 000003
【図２】
2019003402.tif 000004
【図３】
2019003402.tif 000005
【図４】
2019003402.tif 000006
【図５】
2019003402.tif 000007
【図６】
2019003402.tif 000008