(57)【要約】【課題】ブロックチェーンネットワークを維持するリソースの効率的な稼働を行う。【解決手段】本発明による分散型機械学習システムは、教師データ供給端末と、教師データ供給端末から教師データの提供を受けて所定のアルゴリズムの最適化処理タスクを生成する学習管理端末と、最適化処理タスクを学習管理端末から受信する処理プール管理端末と、処理プール管理端末からの指示を受けて最適化処理タスクを実行する処理端末とを含んでいる。【選択図】図１
2020030852.tif 000002
【特許請求の範囲】
【請求項１】
教師データ供給端末と、
前記教師データ供給端末から教師データの提供を受けて所定のアルゴリズムの最適化処理タスクを生成する学習管理端末と、
前記最適化処理タスクを前記学習管理端末から受信する処理プール管理端末と、
前記処理プール管理端末からの指示を受けて前記最適化処理タスクを実行する処理端末とを含む、
分散型機械学習システム
【請求項２】
請求項１に記載の分散型機械学習システムであって、
前記教師データ供給端末は、前記アルゴリズムに従って制御される制御部を有しており、
前記学習管理端末は、前記処理プール管理端末及び処理端末の協働によって最適化された前記アルゴリズムを前記教師データ供給端末にフィードバックする、
分散型機械学習システム。
【請求項３】
請求項２に記載の分散型機械学習システムであって、
前記教師データ供給端末は、自動車に搭載される端末であり、前記所定のアルゴリズムに従って当該自動車の運転を制御し、前記教師データとして当該自動車の少なくとも走行情報を前記学習管理端末に提供する、
分散型機械学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散型機械学習システムに関し、特に、マイニングプールに利用されている既システムのリソースを利用（兼用）可能なシステムに関する。
【背景技術】
【０００２】
近年、ビットコイン（登録商標）等の暗号通貨（Ｃｒｙｐｔ  Ｃｕｒｒｅｎｃｙ）の取引のためにＰ２Ｐ型のシステムが利用されている（例えば、特許文献１参照）。
【０００３】
特に、最近では、ブロックチェーンネットワークにおけるマイニングのプール管理者を報酬の受領者とし、参加するマイナーに同じブロックをマイニングさせ、マイニングに成功した際にプール管理者に支払われた報酬をマイニングの仕事量に応じて、参加者で分配する仕組みも提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６３２６１７３号公報
【非特許文献】
【０００５】
【特許文献２】Arvind Narayanan, 仮想通貨の教科書, 日経BP社, 229ページ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなブロックチェーンネットワークの維持に必要な計算量（例えば、ＧＰＵによるハッシュパワー）は、膨大な計算を行う能力があるにもかかわらず、マイニングしか行っていないことから、効率的に稼働しているとは言えない。
【０００７】
そこで、本発明は、ブロックチェーンネットワークを維持するリソースの効率的な稼働を行うことを目的とする。
【課題を解決するための手段】
【０００８】
自動運転車で使用されるような最近のディーニューラルネットワークでは、膨大な量のコンピューティング能力が要求される。特に、最近のニューラルネットワークに必要なコンピューティング能力とトレーニングに必要なデータセットサイズを考慮に入れると、所謂スーパーコンピューターであっても十分でないのが現状である。
【０００９】
例えば、自動運転車のように、安全が極めて重要で、検出精度要件がインターネット業界よりもはるかに高いシステムでは、天候条件、視野、路面の状態にかかわらず、不具合なく動作することが求められる。このレベルの認識精度を達成するため、発生しうる運転操作、天候、状況の条件すべての実例などからなるサンプルデータセットで、ニューラルネットワークをトレーニングする必要がある。本発明はかかる状況に鑑み、発案されたものである。
【００１０】
即ち、本発明によれば
教師データ供給端末と、
前記教師データ供給端末から教師データの提供を受けて所定のアルゴリズムの最適化処理タスクを生成する学習管理端末と、
前記最適化処理タスクを前記学習管理端末から受信する処理プール管理端末と、
前記処理プール管理端末からの指示を受けて前記最適化処理タスクを実行する処理端末とを含む、
分散型機械学習システムが得られる。
【発明の効果】
【００１１】
本発明によれば、ブロックチェーンネットワークを維持するリソースの効率的な稼働を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態によるシステムの構成例を示す図である。
【図２】図１の管理サーバのハードウェア構成を示すブロック図である。
【図３】図１のユーザ端末のハードウェア構成を示すブロック図である。
【図４】本実施の形態によるシステムの処理の流れを示す図である。
【図５】本実施の形態にタスクブロックのデータイメージ図である。
【図６】図５のタスクブロックの構造例を示すテーブルである。
【発明を実施するための形態】
【００１３】
本発明の実施形態の内容を列記して説明する。本発明の実施の形態によるコンテンツ・プラットフォームシステムは、以下のような構成を備える。
［項目１］
教師データ供給端末と、
前記教師データ供給端末から教師データの提供を受けて所定のアルゴリズムの最適化処理タスクを生成する学習管理端末と、
前記最適化処理タスクを前記学習管理端末から受信する処理プール管理端末と、
前記処理プール管理端末からの指示を受けて前記最適化処理タスクを実行する処理端末とを含む、
分散型機械学習システム
［項目２］
請求項１に記載の分散型機械学習システムであって、
前記教師データ供給端末は、前記アルゴリズムに従って制御される制御部を有しており、
前記学習管理端末は、前記処理プール管理端末及び処理端末の協働によって最適化された前記アルゴリズムを前記教師データ供給端末にフィードバックする、
分散型機械学習システム。
［項目３］
請求項２に記載の分散型機械学習システムであって、
前記教師データ供給端末は、自動車に搭載される端末であり、前記所定のアルゴリズムに従って当該自動車の運転を制御し、前記教師データとして当該自動車の少なくとも走行情報を前記学習管理端末に提供する、
分散型機械学習システム。
【００１４】
＜実施の形態の詳細＞
以下、本発明の実施の形態による分散型機械学習システム（以下「システム」という）について、図面を参照しながら説明する。
【００１５】
＜概要＞
本発明の実施の形態によるシステムは、機械学習等のアルゴリズムの計算（例えば、教師データを読み込みアルゴリズムを最適化させる処理等）をマイニングプールを構成する複数の計算機によって生み出される計算能力を利用又は兼用することによって効率的に行うものである。
【００１６】
＜構成＞
図１に示されるように、本システム１００は、管理サーバ１と、ユーザ端末２（２ａ〜２ｄ）と、プール管理サーバ３（３ａ〜３ｃ）とがネットワーク（インターネット等であり、ブロックチェーンネットワークを含む）５０を介して接続される。
【００１７】
本実施の形態において、少なくとも管理サーバ１及びプール管理サーバ３は、ブロックチェーンネットワークにおいて共同管理される台帳（ブロックチェーン）にアクセス・参照・追加可能に接続されている。
【００１８】
なお、後述するように、本実施の形態によるユーザ端末２は、例えば、自動車２ａ、鉄道２ｂ、工場内のロボット２ｃ、バス２ｄ等、自動制御し得る対象であればどのようなものであってもよい。
【００１９】
＜ハードウェア構成＞
図２及び図３に示されるように、本実施の形態による管理サーバ１とユーザ端末２とは、以下のようなハードウェア構成を有する。なお、以下の構成は一例であり、これ以外の構成を有していても良い。また、各機能ブロックは、それぞれの端末内に存在していてもよいし、クラウドサービス等を通じて利用可能されている等、論理的に構成されていてもよい。
【００２０】
＜管理サーバ１＞
図２に示されるように、管理サーバ１は、ユーザ端末２とプール管理端末３と通信を介して情報処理を実行することにより、システムの一部を構成する。管理サーバ１は、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウド・コンピューティングによって論理的に実現されてもよい。
【００２１】
管理サーバ１は、少なくとも、プロセッサ１０、メモリ１１、ストレージ１２、送受信部１３、入出力部１４等を備え、これらはバス１５を通じて相互に電気的に接続される。
【００２２】
プロセッサ１０は、管理サーバ１全体の動作を制御し、各要素間におけるデータの送受信の制御、及びアプリケーションの実行に必要な情報処理等を行う演算装置である。例えばプロセッサ１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、ストレージ１２に格納されメモリ１１に展開されたプログラム等を実行して各情報処理を実施する。
【００２３】
メモリ１１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ１１は、プロセッサ１０のワークエリア等として使用され、また、管理サーバ１の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、及び各種設定情報等を格納する。
【００２４】
ストレージ１２は、アプリケーション・プログラム、及びブロックチェーンネットワークに対する認証プログラムや機械学習に利用されるアルゴリズム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベースがストレージ２２に構築されていてもよい。
【００２５】
送受信部１３は、管理サーバ１をネットワーク３に接続する。なお、送受信部１３は、Ｂｌｕｅｔｏｏｔｈ（登録商標）及びＢＬＥ（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ）の近距離通信インタフェースを備えていてもよい。
【００２６】
入出力部１４は、必要に応じて使用するキーボード・マウス類等の情報入力機器、及びディスプレイ等の出力機器である。
【００２７】
バス１５は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
【００２８】
＜ユーザ端末２ａ及び２ｂ＞
図３に示されるように、ユーザ端末２は、上述した自動車２ａ、鉄道２ｂ、工場内のロボット２ｃ、バス２ｄ内に備え付けられる又は一体に構成される端末である。ユーザ端末２は、管理サーバ１と通信を介して情報処理を実行することにより、システムの一部を構成する。ユーザ端末２は、例えば自動車の制御システムを制御する端末がその機能を発揮するように構成されていてもよい。
【００２９】
図視されるように、ユーザ端末２は、少なくとも、プロセッサ２０、メモリ２１、ストレージ２２、送受信部２３、入出力部２４等を備え、これらはバス２５を通じて相互に電気的に接続される。これらの機能は、自動車等の制御システムと共用であってもよい。
【００３０】
上述した管理サーバ１と同様に、プロセッサ２０は、ユーザ端末２全体の動作を制御し、各要素間におけるデータの送受信の制御、及びアプリケーションの実行に必要な情報処理等を行う演算装置である。例えばプロセッサ２０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、ストレージ２２に格納されメモリ２１に展開されたプログラム等を実行して各情報処理を実施する。
【００３１】
メモリ２１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ２１は、プロセッサ２０のワークエリア等として使用され、また、ユーザ端末２の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、及び各種設定情報等を格納する。
【００３２】
ストレージ２２は、アプリケーション・プログラム、及びブロックチェーンネットワークに対する認証プログラムや、自動車等の制御のためのアルゴリズム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベースがストレージ２２に構築されていてもよい。
【００３３】
送受信部２３は、ユーザ端末２をネットワーク３に接続する。なお、送受信部２３は、Ｂｌｕｅｔｏｏｔｈ（登録商標）及びＢＬＥ（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ）の近距離通信インタフェースを備えていてもよい。
【００３４】
入出力部２４は、必要に応じて使用するキーボード・マウス類等の情報入力機器、及びディスプレイ等の出力機器である。
【００３５】
バス２５は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
【００３６】
＜処理の流れ＞
続いて、図４を参照して、図１に示される各要素の動作とやりとりされる情報について説明する。
【００３７】
図４に示されるように、ユーザ端末２（自動車２ａ）は、自身の走行データを教師データとして管理サーバ１に送信する（ＳＱ１０１）。走行データは、例えば、自動車自体の挙動・制御データや自動車に取り付けられたセンサから取得されたデータ（車外の映像等）が含まれるがこれに限られない。
【００３８】
自動車２ａは、所定のアルゴリズムによって、「認知」、「判断」、「操作」の3つの処理を連動して行っている。例えば、衝突予防システム、先行車両との車間を調整するシステム、車線からの逸脱を防止するシステムなどが挙げられるが、周囲の自動車や周囲の状況に応じて適切な判断を行い、目的地まで移動する高度なものも含まれる。アルゴリズムは、管理サーバ１から提供され、常に更新されることによって最新の状態に維持される。
【００３９】
管理サーバ１は、ユーザ端末２から得た教師データに基づいてアルゴリズム（例えば、ニューラルネットワークのパラメータ等）を更新し最適化する。しかしながら、上述したように教師データの特徴量の抽出からアルゴリズムを最適化するまでの処理には膨大な計算量を有することが多く、ユーザ端末２の台数が増えることによりその計算不可も指数関数的に上昇する。
【００４０】
そこで、管理サーバ１は、提供された教師データからアルゴリズムを最適化するためのタスクを生成する（ＳＱ１０２）。当該タスクは、単に教師データ単体としてもよいし、教師データに一次加工を施したものとしてもよいし、読み込まれれば即計算を開始できるようにバッチ化されたものであってもよい。
【００４１】
管理サーバ１は、当該タスクをプール管理サーバ３にブロードキャストし、タスクを処理させる（ＳＱ１０３）。本実施の形態によるタスクは、あたかもブロックチェーンネットワークにおけるハッシュ値（ナンス：ｎｏｎｃｅ）の探索と同様の計算をマイニングプールに行わせているものである。この結果、アルゴリズムの更新（最適化）を最も早く行った者に所定の報酬が付与される。即ち、本発明による分散型機械学習システムは、ブロックチェーンにおけるマイニングの作業を機械学習アルゴリズムの更新作業に置き換えて構成されているものである。
【００４２】
図５は、本発明をブロックチェーンネットワークに載せた場合のブロックの情報である。ブロックチェーン上にタスク情報が載せられており、当該タスクを処理した処理端末の情報等も記録されることとなる。ここで、各タスクは、それぞれ提供された由来となるユーザ端末が紐づけられている。
【００４３】
また、図６に示されるように、各タスクの構造は、例えば、データ全体のサイズ（ｂｌｏｃｋ  ｓｉｚｅ）、ヘッダー情報（Ｈｅａｄｅｒ）、タスクの数（ｔａｓｋ  ｃｏｕｎｔｅｒ）、処理されるべきタスクの情報（ｔａｓｋ）を少なくとも含んでいる。
【００４４】
ブロー管理サーバ３は、プールに接続している処理端末（ブロックチェーンネットワークにおける「マイナー：ｍｉｎｅｒ」）に当該タスクの実行を割り当て、計算を行わせる（ＳＱ１０４）。割り当てはランダムであってもよいし、接続されている処理端末の端から順番に割り当ててもよい。
【００４５】
いずれかの処理端末がアルゴリズムの更新に成功した場合、当該結果情報は、プール管理サーバ３を経由して管理サーバ１に送信される（ＳＱ１０５）。管理サーバ１は、結果情報に基づいてアルゴリズムを更新し（ＳＱ１０６）、ユーザ端末２に提供する（ＳＱ１０７）。
【００４６】
以上説明したシステムによれば、さまざまなユーザ端末から得られた教師データに基づいて効率的に機械学習を行うことが可能となる。
【００４７】
上述した実施の形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【符号の説明】
【００４８】
１        管理サーバ（学習管理端末）
２、２ａ〜２ｄ        ユーザ端末（教師データ供給端末）
３、３ａ〜３ｃ        プール管理端末（処理プール管理端末）
３０        処理プール
５０        ネットワーク
１００        システム（分散型機械学習システム）
【図１】
2020030852.tif 000003
【図２】
2020030852.tif 000004
【図３】
2020030852.tif 000005
【図４】
2020030852.tif 000006
【図５】
2020030852.tif 000007
【図６】
2020030852.tif 000008