図面 (/)

技術 システム、方法、情報処理装置およびプログラム

出願人 学校法人幾徳学園
発明者 岡崎美蘭長友誠
出願日 2019年10月16日 (1年10ヶ月経過) 出願番号 2019-189314
公開日 2021年4月22日 (4ヶ月経過) 公開番号 2021-064242
状態 未査定
技術分野 記憶装置の機密保護 学習型計算機
主要キーワード ブロックチェーン 機械学習モデル 作物育成 BCデータ 更新パラメータ 学習パラメータ 各計算ノード 自動診断
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2021年4月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題

機械学習における異常な勾配の検知を行うシステム、方法、情報処理装置およびプログラムを提供すること。

解決手段

取得した学習対象データおよびブロックチェーン(BC)に記録されている機械学習モデルパラメータに基づいて、勾配を算出する勾配算出部313と、教師無し学習モデルのGANを用いて、勾配の異常を検知する異常検知部322と、半教師有り学習モデルのGANを用いて、勾配の異常を検知する異常検知部332と、各異常検知部が検知した異常検知結果を比較して、共通の検知結果を抽出する検知結果比較部333と、共通の異常検知結果に基づいて、機械学習モデルを更新するパラメータを算出するパラメータ算出部324と、更新パラメータを含む新たなブロックを生成するブロック生成部325と、生成されたブロックをBCに追加するBC管理部311,321,331とを含む。

概要

背景

近年、情報処理技術の高度化に伴い、膨大な量のデータ(いわゆる『ビッグデータ』とも呼ばれる)を機械学習し、活用する技術が開発されている。例えば、複数の医療機関連携して、学習モデルとしての患者のデータをサーバアップロードし、機械学習をする技術などが挙げられる。サーバは、このような機械学習をすることで、診断対象の患者のデータに基づいて、診断を行うことができる。

一方で、上記の技術においては1つのサーバが機械学習を行うことから、サーバに掛かる計算負荷が大きくなり、また、データの改ざんプライバシー漏洩などのリスクが生じていた。

この点につき、複数のコンピュータによって、ブロックチェーン技術を用いて分散的機械学習を行うシステムが開発されている(例えば、特許文献1、非特許文献1など)。かかる従来技術によれば、分散的機械学習を行うことで、1つのコンピュータに掛かる計算負荷を軽減できるとともに、差分プライバシーによってプライバシーを保護できる。また、ブロックチェーン上において、学習モデルの改ざんを排除することができる。

しかしながら、上述したような従来技術は、コサイン類似度を用いて学習パラメータ更新するものであった。そのため、コサイン類似度では判定できない巧妙に計算された異常値、例えばAdversarial exampleを学習した勾配を排除することができない。したがって、悪意のあるデータが誤って学習される虞があった。そこで、巧妙に改ざんされたデータを検知する技術が求められていた。

概要

機械学習における異常な勾配の検知を行うシステム、方法、情報処理装置およびプログラムを提供すること。 取得した学習対象データおよびブロックチェーン(BC)に記録されている機械学習モデルパラメータに基づいて、勾配を算出する勾配算出部313と、教師無し学習モデルのGANを用いて、勾配の異常を検知する異常検知部322と、半教師有り学習モデルのGANを用いて、勾配の異常を検知する異常検知部332と、各異常検知部が検知した異常検知結果を比較して、共通の検知結果を抽出する検知結果比較部333と、共通の異常検知結果に基づいて、機械学習モデルを更新するパラメータを算出するパラメータ算出部324と、更新パラメータを含む新たなブロックを生成するブロック生成部325と、生成されたブロックをBCに追加するBC管理部311,321,331とを含む。

目的

本発明は、上記従来技術における課題に鑑みてなされたものであり、機械学習における異常な勾配の検知を行うシステム、方法、情報処理装置およびプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

エッジノードと、計算ノードと、サーバとを備え、ブロックチェーンを用いて機械学習するシステムであって、取得した学習対象データおよび前記ブロックチェーンに記録されている機械学習モデルパラメータに基づいて、勾配を算出する第1の算出手段と、教師無し学習モデル敵対的生成ネットワークを用いて、前記勾配の異常を検知する第1の検知手段と、半教師有り学習モデルの敵対的生成ネットワークを用いて、前記勾配の異常を検知する第2の検知手段と、前記第1の検知手段による異常検知結果と、前記第2の検知手段による異常検知結果とを比較して、共通の検知結果を抽出する抽出手段と、前記共通の検知結果に基づいて、前記機械学習モデルを更新するパラメータを算出する第2の算出手段と、前記ブロックチェーンに追加する新たなブロックであって、前記第2の算出手段が算出したパラメータを含むブロックを生成する生成手段と、前記ブロックを前記ブロックチェーンに追加する追加手段とを含む、システム。

請求項2

前記生成手段は、前記勾配と、当該勾配が正常であるか異常であるかの情報とを含むブロックを生成することを特徴とする、請求項1に記載のシステム。

請求項3

前記生成手段を複数備え、前記追加手段は、前記各生成手段がそれぞれ生成した複数のブロックのうち、最も早くに生成されたブロックを、前記ブロックチェーンに追加することを特徴とする、請求項1または2に記載のシステム。

請求項4

前記学習対象データを取得するエッジノードを複数備え、前記サーバは、前記第1の検知手段による異常検知結果および前記第2の検知手段による異常検知結果に基づいて、各学習対象データを取得した各エッジノードの信頼度を評価して記録することを特徴とする、請求項1〜3のいずれか1項に記載のシステム。

請求項5

前記サーバは、前記信頼度が所定の閾値以下のエッジノードを、当該システムの構成から排除することを特徴とする、請求項4に記載のシステム。

請求項6

前記サーバが前記第2の検知手段を含み、前記第2の検知手段による異常検知に用いられた判別モジュールを、前記エッジノードおよび前記計算ノードに配信することを特徴とする、請求項1〜5のいずれか1項に記載のシステム。

請求項7

ブロックチェーンを用いて機械学習する方法であって、取得した学習対象データおよび前記ブロックチェーンに記録されている機械学習モデルのパラメータに基づいて、勾配を算出する第1の算出ステップと、教師無し学習モデルの敵対的生成ネットワークを用いて、前記勾配の異常を検知する第1の検知ステップと、半教師有り学習モデルの敵対的生成ネットワークを用いて、前記勾配の異常を検知する第2の検知ステップと、前記第1の検知ステップにおける異常検知結果と、前記第2の検知ステップにおける異常検知結果とを比較して、共通の検知結果を抽出するステップと、前記共通の検知結果に基づいて、前記機械学習モデルを更新するパラメータを算出する第2の算出ステップと、前記ブロックチェーンに追加する新たなブロックであって、前記第2の算出ステップにおいて算出したパラメータを含むブロックを生成するステップと、前記ブロックを前記ブロックチェーンに追加するステップとを含む、方法。

請求項8

ブロックチェーンを用いて機械学習するシステムを構成する情報処理装置であって、エッジノードが取得した学習対象データおよび機械学習モデルのパラメータに基づいて算出された勾配について、半教師有り学習モデルの敵対的生成ネットワークを用いて、当該勾配の異常を検知する検知手段と、前記勾配について教師無し学習モデルの敵対的生成ネットワークを用いて異常を検知した検知結果と、前記検知手段による異常検知結果とを比較して、共通の検知結果を抽出する抽出手段とを含む、情報処理装置。

請求項9

前記異常検知結果を比較した結果に基づいて、前記学習対象データを取得した前記エッジノードの信頼度を評価して記録することを特徴とする、請求項7に記載の情報処理装置。

請求項10

前記信頼度が所定の閾値以下のエッジノードを、前記システムの構成から排除することを特徴とする、請求項9に記載の情報処理装置。

請求項11

前記検知手段による異常検知に用いられた判別モジュールを、前記システムを構成する他の情報処理装置に配信する配信手段をさらに含む、請求項8〜10のいずれか1項に記載の情報処理装置。

請求項12

ブロックチェーンを用いて機械学習するシステムを構成する情報処理装置が実行するプログラムであって、前記情報処理装置をエッジノードが取得した学習対象データおよび機械学習モデルのパラメータに基づいて算出された勾配について、半教師有り学習モデルの敵対的生成ネットワークを用いて、当該勾配の異常を検知する検知手段、前記勾配について教師無し学習モデルの敵対的生成ネットワークを用いて異常を検知した検知結果と、前記検知手段による異常検知結果とを比較して、共通の検知結果を抽出する抽出手段として機能させる、プログラム。

技術分野

0001

本発明は、ブロックチェーン技術を用いた分散機械学習を行うシステム、方法、情報処理装置およびプログラムに関する。

背景技術

0002

近年、情報処理技術の高度化に伴い、膨大な量のデータ(いわゆる『ビッグデータ』とも呼ばれる)を機械学習し、活用する技術が開発されている。例えば、複数の医療機関連携して、学習モデルとしての患者のデータをサーバアップロードし、機械学習をする技術などが挙げられる。サーバは、このような機械学習をすることで、診断対象の患者のデータに基づいて、診断を行うことができる。

0003

一方で、上記の技術においては1つのサーバが機械学習を行うことから、サーバに掛かる計算負荷が大きくなり、また、データの改ざんプライバシー漏洩などのリスクが生じていた。

0004

この点につき、複数のコンピュータによって、ブロックチェーン技術を用いて分散的機械学習を行うシステムが開発されている(例えば、特許文献1、非特許文献1など)。かかる従来技術によれば、分散的機械学習を行うことで、1つのコンピュータに掛かる計算負荷を軽減できるとともに、差分プライバシーによってプライバシーを保護できる。また、ブロックチェーン上において、学習モデルの改ざんを排除することができる。

0005

しかしながら、上述したような従来技術は、コサイン類似度を用いて学習パラメータ更新するものであった。そのため、コサイン類似度では判定できない巧妙に計算された異常値、例えばAdversarial exampleを学習した勾配を排除することができない。したがって、悪意のあるデータが誤って学習される虞があった。そこで、巧妙に改ざんされたデータを検知する技術が求められていた。

発明が解決しようとする課題

0006

本発明は、上記従来技術における課題に鑑みてなされたものであり、機械学習における異常な勾配の検知を行うシステム、方法、情報処理装置およびプログラムを提供することを目的とする。

課題を解決するための手段

0007

すなわち、本発明によれば、
エッジノードと、計算ノードと、サーバとを備え、ブロックチェーンを用いて機械学習するシステムであって、
取得した学習対象データおよび前記ブロックチェーンに記録されている機械学習モデルパラメータに基づいて、勾配を算出する第1の算出手段と、
教師無し学習モデルの敵対的生成ネットワークを用いて、前記勾配の異常を検知する第1の検知手段と、
半教師有り学習モデルの敵対的生成ネットワークを用いて、前記勾配の異常を検知する第2の検知手段と、
前記第1の検知手段による異常検知結果と、前記第2の検知手段による異常検知結果とを比較して、共通の検知結果を抽出する抽出手段と、
前記共通の検知結果に基づいて、前記機械学習モデルを更新するパラメータを算出する第2の算出手段と、
前記ブロックチェーンに追加する新たなブロックであって、前記第2の算出手段が算出したパラメータを含むブロックを生成する生成手段と、
前記ブロックを前記ブロックチェーンに追加する追加手段と
を含む、システムが提供される。

発明の効果

0008

本発明によれば、機械学習における異常な勾配の検知を行うシステム、方法、情報処理装置およびプログラムが提供できる。

図面の簡単な説明

0009

本実施形態におけるシステム全体のハードウェア概略構成を示す図。
本実施形態の情報処理装置に含まれるハードウェア構成を示す図。
本実施形態のシステムを構成する各装置に含まれるソフトウェアブロック図。
本実施形態のブロックチェーンの構成例を示す図。
本実施形態のシステムが分散的機械学習を行うブロックチェーンネットワークを構成する例を示す図。
本実施形態において学習モデルを更新する処理を示すシーケンス図。

実施例

0010

以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜その説明を省略するものとする。

0011

図1は、本実施形態におけるシステム100全体のハードウェアの概略構成を示す図である。本実施形態のシステム100は、複数の情報処理装置101を含み、分散的機械学習を行うブロックチェーン(BC)のネットワークを構成している。ブロックチェーンは、分散台技術の1つであり、データの透明性、改ざん困難性、追跡可能性が担保されている。そのため、分散的機械学習を行う本実施形態のシステム100においては、学習の履歴を残すことができ、学習過程分析をしたり、異常が発覚した際には異常発生時点に遡ったりできる。

0012

図1に示す各情報処理装置101は、ブロックチェーンネットワークのデータを保存するノードとして構成され、同じBCデータ共有している。本実施形態のブロックチェーンネットワークを構成する情報処理装置101は、エッジノードとして構成される情報処理装置101Pと、計算ノードとして構成される情報処理装置101Cと、サーバとして構成される情報処理装置101Sとに分類することができる。各情報処理装置101は、ネットワークを介して相互に通信することができ、ブロックチェーンを構成する他の情報処理装置101に対して、種々のデータを配信(マルチキャスト)することができる。なお、本実施形態のシステム100に含まれる情報処理装置101の台数は、図1に示したものに限らず、システム100に含まれる台数に制限はない。

0013

エッジノード101Pは、学習データDiを取得し、ブロックチェーン上に記録された現在の機械学習モデルのパラメータwtを用いて、当該パラメータを更新するための勾配Δwtiを算出する。なお、勾配とは、学習の方針を示すパラメータである。

0014

計算ノード101Cは、ブロックチェーンにおけるマイニングノードとして構成される、比較的計算能力の高いノードである。計算ノード101Cは、教師無し学習モデルのGAN(Generative Adversarial Networks、敵対的生成ネットワーク)を用いて、エッジノード101Pから配信された勾配の異常を検知する。また、計算ノード101Cは、サーバ101Sによる異常検知との比較結果に基づいて学習モデルのパラメータを更新し、ブロックチェーン上の新たなブロックを生成して記録する。

0015

サーバ101Sは、ブロックチェーンを管理するノードである。サーバ101Sは、半教師有り学習モデルのGANを用いて、エッジノード101Pから配信された勾配の異常を検知し、計算ノード101Cの異常検知結果との比較を行う。また、サーバ101Sは、各エッジノードの信頼度を算出できるほか、異常検知の判別モジュールを生成して配信することができる。

0016

次に、情報処理装置101のハードウェア構成について説明する。図2は、本実施形態の情報処理装置101に含まれるハードウェア構成を示す図である。情報処理装置101は、CPU210と、RAM220と、ROM230と、記憶装置240と、通信I/F250と、モニタ260と、入力装置270とを含んで構成され、各ハードウェアはバスを介して接続されている。

0017

CPU210は、情報処理装置101の動作を制御するプログラムを実行し、所定の処理を行う装置である。RAM220は、CPU210が実行するプログラムの実行空間を提供するための揮発性の記憶装置であり、プログラムやデータの格納用、展開用として使用される。ROM230は、CPU210が実行するプログラムやファームウェアなどを記憶するための不揮発性の記憶装置である。

0018

記憶装置240は、情報処理装置101を機能させるOSや各種アプリケーション設定情報、各種データなどを記憶する、読み書き可能な不揮発性の記憶装置である。記憶装置240の一例としては、HDD(Hard Disk Drive)やSSD(Solid State Drive)などが挙げられる。通信I/F250は、情報処理装置101とネットワークとを接続し、ネットワークを介して、他の情報処理装置101との通信を可能にする。ネットワークを介した通信は、有線通信または無線通信のいずれであってもよく、TCP/IPなどの所定の通信プロトコルを使用し、各種データを送受信できる。

0019

モニタ260は、各種データや情報処理装置101の状態などを、ユーザに対して表示する装置であり、例として、LCD(Liquid Crystal Display)などが挙げられる。入力装置270は、ユーザが情報処理装置101を操作するための装置であり、例として、キーボードマウスなどが挙げられる。なお、モニタ260と入力装置270は、それぞれ別個の装置であってもよいし、タッチパネルディスプレイのような両方の機能を備えるものであってもよい。

0020

以上、本実施形態の情報処理装置101に含まれるハードウェア構成について説明した。次に、本実施形態における各ハードウェアによって実行される機能手段について、図3を以て説明する。図3は、本実施形態のシステム100を構成する各装置に含まれるソフトウェアブロック図である。

0021

図3に示すように、エッジノードPiは、ブロックチェーン管理部311、学習データ取得部312、勾配算出部313を含んで構成される。また、計算ノードCjは、ブロックチェーン管理部321、異常検知部322、検知結果送信部323、パラメータ算出部324、ブロック生成部325、ブロック配信部326を含んで構成される。また、サーバSは、ブロックチェーン管理部331、異常検知部332、検知結果比較部333、比較結果送信部334、信頼度更新部335、判別モジュール配信部336を含んで構成される。

0022

まず、エッジノードPiについて説明する。ブロックチェーン管理部311は、本実施形態のブロックチェーンを管理する手段である。ブロックチェーンの各ブロックには、機械学習モデルのパラメータwtと、勾配Δwtiと、各勾配が正常であるか異常であるかが記録されている。また、ブロックチェーン管理部311は、計算ノードから受信した新たなブロックをブロックチェーンに追加する。ここで、本実施形態のブロックチェーンの構成について、図4を以て説明する。

0023

図4は、本実施形態のブロックチェーンの構成例を示す図である。図4に示すブロックチェーンは、Block0から順次ブロックが生成され、Blockt+1まで生成されている。各ブロックには、機械学習モデルのパラメータwと、各エッジノードにおいて算出された勾配Δwと、当該勾配が正常であるか異常であるかの検知結果とが記録される。本実施形態のシステム100は、新たな学習データに基づいて更新された機械学習モデルを記録する次のブロックを生成することで、機械学習が強化される。また、ブロックに検知結果を記録することで、学習の精度を向上できる。

0024

説明を図3に戻し、エッジノードPiの機能手段について説明する。エッジノードPiの学習データ取得部312は、機械学習の対象となる学習データDiを取得する手段である。勾配算出部313は、学習データ取得部312が取得した学習データDiと、ブロックチェーンに記録されている機械学習モデルのパラメータwtを用いて、学習モデルのパラメータを更新するための勾配Δwtiを算出する手段である。ここで、勾配算出部313が差分プライバシーを用いて勾配Δwtiを算出することで、学習データの漏洩を防止できる。勾配配信部314は、勾配算出部313が算出した勾配Δwtiを、システム100を構成する他の情報処理装置101に配信する手段である。

0025

次に、計算ノードCjについて説明する。なお、計算ノードCjのブロックチェーン管理部321は、エッジノードPiのブロックチェーン管理部311と同様のものであるため、詳細な説明は省略する。異常検知部322は、各エッジノードPiから配信された勾配について、教師無し学習モデルのGANによる異常検知を行う手段である。検知結果送信部323は、異常検知部322が検知した異常検知結果をサーバSに送信する手段である。パラメータ算出部324は、サーバSから受信した異常検知結果の比較結果に基づいて、学習データに基づく新たな機械学習モデルのパラメータを算出する手段である。ブロック生成部325は、ブロックチェーンにおける最新のブロック(次に追加されるブロック)を生成する手段である。ブロック生成部325が生成するブロックは、パラメータ算出部324が算出したパラメータが含まれる。ブロック配信部326は、ブロック生成部325が生成した最新のブロックを、ブロックチェーンネットワーク内の各ノードに配信する手段である。

0026

次に、サーバSについて説明する。なお、サーバSのブロックチェーン管理部331は、エッジノードPiや計算ノードCjのブロックチェーン管理部311,321と同様のものであるため、詳細な説明は省略する。異常検知部332は、各エッジノードPiから配信された勾配について、半教師有り学習モデルのGANによる異常検知を行う手段である。検知結果比較部333は、各計算ノードCjが検知した異常検知結果と、サーバSの異常検知部332が検知した異常検知結果とを比較する手段である。検知結果比較部333は、各異常検知結果を比較し、共通の異常検知結果を抽出する。比較結果送信部334は、検知結果比較部333が求めた共通の異常検知結果を、各計算ノードCjに送信する手段である。信頼度更新部335は、検知結果比較部333による比較結果に基づいて、各エッジノードPiの信頼度を算出し、更新する手段である。判別モジュール配信部336は、サーバSの異常検知部332が行った異常検知において適用されたGANの判別モジュールを、ブロックチェーンネットワーク内の各ノードに配信する手段である。

0027

なお、上述したソフトウェアブロックは、CPU210が本実施形態のプログラムを実行することで、各ハードウェアを機能させることにより、実現される機能手段に相当する。また、各実施形態に示した機能手段は、全部がソフトウェア的に実現されても良いし、その一部または全部を同等の機能を提供するハードウェアとして実装することもできる。

0028

次に、本実施形態のブロックチェーンについて、図5を以て説明する。図5は、本実施形態のシステム100が分散的機械学習を行うブロックチェーンネットワークを構成する例を示す図である。

0029

本実施形態のブロックチェーンネットワークは、図5に示すように構成される。図5では、一例として、N台のエッジノードP1〜Pi〜PNと、K台の計算ノードC1〜Cj〜CKと、サーバSとを含んで構成されるブロックチェーンが示されている。ブロックチェーンネットワークを構成する各装置は、図5に示すように相互に通信可能となっている。これによって、特定の装置へのデータの送信や、ネットワーク内の装置への配信(マルチキャスト)を行うことができる。なお、図5において、エッジノードと計算ノードは、それぞれ3台ずつ図示されているが、台数を限定するものではない点に留意されたい。

0030

エッジノードP1〜Pi〜PNには、各々に学習データD1〜Di〜DNが入力される。学習データを取得したエッジノードは、最新のブロックBlocktに記録されている学習モデルのパラメータwtに基づいて、取得した学習データから勾配Δwtiを算出する。エッジノードP1〜Pi〜PNは、算出した勾配をネットワーク内の装置に配信する。

0031

計算ノードC1〜Cj〜CKは、エッジノードから配信された勾配について教師無し学習モデルのGANによる異常検知処理を行い、検知結果Rt1〜Rtj〜RtKをサーバSに送信する。また、計算ノードC1〜Cj〜CKは、サーバSから送信される異常検知の比較結果を受信し、当該結果に基づいて次のブロック(Blockt+1)を生成する。さらに計算ノードC1〜Cj〜CKは、生成した最新のブロック(Blockt+1)をネットワーク内の装置に配信する。

0032

サーバSは、エッジノードから配信された勾配について半教師有り学習モデルのGANによる異常検知処理を行い、検知結果Rtsを算出する。また、サーバSは、各計算ノードから送信された異常検知結果と、自機で検知した異常検知結果Rtsとを比較し、共通の異常検知結果を出力する。例えばサーバSは、計算ノードC1から送信された異常検知結果Rt1と、異常検知結果Rtsとを比較し、共通する異常検知結果をTt1として出力する。出力された共通検知結果Tt1は、比較対象元となった計算ノードC1に送信される。また、サーバSは、各エッジノードの信頼度を評価し、更新する。エッジノードの信頼度は、例えば図5に示すようにエッジノードが取得した学習データに占める正常な学習データの比率として評価できる。なお、エッジノードの信頼度は、上述した方法以外の方法によって評価されるものであってもよい。さらにサーバSは、自機における異常検知処理で用いられたGANの判別モジュールを、ネットワーク内の装置に配信することができる。

0033

次に、本実施形態のシステム100が実行する詳細な処理について、図6を以て説明する。図6は、本実施形態において学習モデルを更新する処理を示すシーケンス図である。図6に示すシステム100は、図5に示したものと同様に、N台のエッジノードP1〜Pi〜PNと、K台の計算ノードC1〜Cj〜CKと、サーバSとを含んで構成される。また、図6に示す処理は、図4に示したブロックチェーンにおいてBlocktまで記録され、ここからBlockt+1を生成して記録する処理の例を示している。すなわち、システム100の各装置のブロックチェーン管理部311,321,331は、Blocktまでのブロックチェーンを管理している。また、以下に説明する処理の前提として、各エッジノードP1〜Pi〜PNの学習データ取得部312は、それぞれ学習データD1〜Di〜DNを取得しているものとする。

0034

エッジノードP1〜Pi〜PNの勾配算出部313は、ステップS11,S12,S13において、機械学習モデルと取得した学習データから勾配を算出する。例えば、ステップS11においてエッジノードP1は、機械学習モデルのパラメータwtと、学習データD1から、勾配Δwt1を算出する。また、ステップS12においてエッジノードPiは、機械学習モデルのパラメータwtと、学習データDiから、勾配Δwtiを算出する。また、ステップS13においてエッジノードPNは、機械学習モデルのパラメータwtと、学習データDNから、勾配ΔwtNを算出する。なお、勾配算出部313は、差分プライバシーを用いて勾配Δwtiを算出することで、機械学習モデルのパラメータおよび勾配に基づく学習データの漏洩を防止でき、セキュリティ性を向上できる。

0035

その後、勾配配信部314は、ステップS21,S22,S23において、ステップS11〜S13で算出した勾配をネットワーク内の各装置に配信する。すなわち、ステップS21では、エッジノードP1はΔwt1を配信し、ステップS22では、エッジノードPiはΔwtiを配信し、ステップS23では、エッジノードPNはΔwtNを配信する。これによって、計算ノードC1〜Cj〜CKおよびサーバSは、各エッジノードから配信された勾配{Δwt1,・・・,Δwti,・・・,ΔwtN}を取得することができる。

0036

次に、計算ノードC1〜Cj〜CKの異常検知部322は、ステップS31,S32,S33において、教師無し学習モデルのGANによって、取得した勾配{Δwt1,・・・,Δwti,・・・,ΔwtN}の異常検知処理を行う。その後、計算ノードC1〜Cj〜CKの検知結果送信部323は、ステップS41,S42,S43において、検知結果をサーバSに送信する。例えば、計算ノードC1は、ステップS31の異常検知処理によって検知結果Rt1を出力し、ステップS41において、検知結果Rt1をサーバSに送信する。また、計算ノードCjは、ステップS32の異常検知処理によって検知結果Rtjを出力し、ステップS42において、検知結果RtjをサーバSに送信する。また、計算ノードCKは、ステップS33の異常検知処理によって検知結果RtKを出力し、ステップS43において、検知結果RtKをサーバSに送信する。

0037

一方で、サーバSの異常検知部332は、ステップS34において、半教師有り学習モデルのGANによって、取得した勾配{Δwt1,・・・,Δwti,・・・,ΔwtN}の異常検知処理を行う。異常検知部332は、ステップS34の異常検知処理によって、検知結果Rtsを出力する。また、サーバSの検知結果比較部333は、ステップS41〜S43で各計算ノードC1〜Cj〜CKから送信された検知結果Rt1〜Rtj〜RtKと、異常検知部332が出力した検知結果Rtsとを比較する。検知結果比較部333は、具体的には、以下のような比較結果を出力する。例えば、検知結果比較部333は、計算ノードC1の異常検知結果Rt1と、検知結果Rtsとを比較し、共通する異常検知結果Tt1(=Rts∩Rt1)を出力する。また、検知結果比較部333は、計算ノードCjの異常検知結果Rtjと、検知結果Rtsとを比較し、共通する異常検知結果Ttj(=Rts∩Rtj)を出力する。また、検知結果比較部333は、計算ノードCKの異常検知結果RtKと、検知結果Rtsとを比較し、共通する異常検知結果TtK(=Rts∩RtK)を出力する。

0038

次に、サーバSの比較結果送信部334は、ステップS51,S52,S53において、各計算ノードC1〜Cj〜CKに対して、それぞれの検知結果Rt1〜Rtj〜RtKと共通の異常検知結果を送信する。例えば、ステップS51では、比較結果送信部334は、計算ノードC1に共通異常検知結果Tt1を送信する。また、ステップS52では、比較結果送信部334は、計算ノードCjに共通異常検知結果Ttjを送信する。また、ステップS53では、比較結果送信部334は、計算ノードCKに共通異常検知結果TtKを送信する。

0039

サーバSから共通異常検知結果Tt1〜Ttj〜TtKを受信した各計算ノードC1〜Cj〜CKは、ステップS61,S62,S63において、最新の機械学習モデルのパラメータwt+1を算出し、Blocktの次のブロックであるBlockt+1を生成する。その後、各計算ノードC1〜Cj〜CKは、ステップS71,S72,S73において、生成したブロックを配信する。

0040

ステップS61では、計算ノードC1のパラメータ算出部324は、共通異常検知結果Tt1を用いて、機械学習モデルのパラメータwt+11を算出し、ブロック生成部325は、当該パラメータを含む次のブロックBlockt+11を生成する。そして、ステップS71において、ブロック配信部326は、Blockt+11をネットワーク内の各装置に配信する。

0041

ステップS62では、計算ノードCjのパラメータ算出部324は、共通異常検知結果Ttjを用いて、機械学習モデルのパラメータwt+1jを算出し、ブロック生成部325は、当該パラメータを含む次のブロックBlockt+1jを生成する。そして、ステップS72において、ブロック配信部326は、Blockt+1jをネットワーク内の各装置に配信する。

0042

ステップS63では、計算ノードCKのパラメータ算出部324は、共通異常検知結果TtKを用いて、機械学習モデルのパラメータwt+1Kを算出し、ブロック生成部325は、当該パラメータを含む次のブロックBlockt+1Kを生成する。そして、ステップS73において、ブロック配信部326は、Blockt+1Kをネットワーク内の各装置に配信する。

0043

なお、ここでは、図6に示すように、計算ノードC1によるブロックBlockt+11の配信が、他の計算ノードの配信よりも早くに行われたものとする。このような場合、ネットワーク内の各装置は、最も早く配信されたブロックであるBlockt+11を最新のブロックとしてブロックチェーンに追加する。したがって、エッジノードP1〜Pi〜PN、計算ノードC1〜Cj〜CKおよびサーバSのブロックチェーン管理部311,321,331は、ステップS81〜S87において、Blockt+11を最新のブロックとしてブロックチェーンに追加する。追加されるブロックBlockt+11には、例えば図4に示したような形式で、計算ノードC1が算出した機械学習モデルのパラメータwt+11と、各エッジノードが算出した勾配と、各勾配の正常/異常を示すデータとが含まれる。

0044

次に、サーバSの信頼度更新部335は、追加されたブロックBlockt+11に係る機械学習モデルのパラメータwt+11の算出に用いられた共通異常検知結果Tt1に基づいて、各エッジノードP1〜Pi〜PNの信頼度を更新する。例えばサーバSは、信頼度が所定の閾値以下になったエッジノードをブロックチェーンネットワーク上から排除することができ、これによって、異常な勾配の配信を防止できる。

0045

また、サーバSの判別モジュール配信部336は、ステップS34における異常検知処理で用いられたGANの判別モジュールを、ネットワーク内の各装置に配信する。このようにサーバSが判別モジュールを配信することで、各エッジノードは、勾配を配信する前に、自機が算出した勾配の異常を検知することができ、これによって、異常な勾配の配信を防止できる。

0046

図6に示した処理によって、巧妙に改ざんされたデータを検知して、機械学習をすることができる。図6に示した実施形態は、例えば以下のようにして具体的に適用することができる。

0047

例えば、自動運転を行う自動車飛行機を、上述した実施形態のブロックチェーンネットワークに参加させ、各車両や各機体センサカメラが取得するデータを収集することで、事故を発生させ得る学習モデルが故意に生成されるのを防止できる。

0048

また、複数の医療機関が連携して患者を自動診断するための学習モデルを生成する場合には、各医療機関を上述した実施形態のブロックチェーンに参加させることで、ご診断が起こる学習モデルが故意に生成されるのを防止できる。

0049

また、農業現場において複数の農家が連携して作物育成自動制御を行う場合に、作物成長阻害する学習モデルが故意に生成されるのを防止できる。また、各農家の信頼度に基づく評価を、作物の評価指標とすることができる。

0050

なお、上述した具体的な適用例は一例であって、特に実施形態を限定するものではない。

0051

以上、説明した本発明の実施形態によれば、機械学習における異常な勾配の検知を行うシステム、方法、情報処理装置およびプログラムを提供することができる。

0052

上述した本発明の実施形態の各機能は、C、C++、C#、Java(登録商標)等で記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置CD−ROM、MO、DVD、フレキシブルディスク、EEPROM(登録商標)、EPROM等の装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。

0053

以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。

0054

100…システム、
101…情報処理装置、
101P…エッジノード、
101C…計算ノード、
101S…サーバ、
210…CPU、
220…RAM、
230…ROM、
240…記憶装置、
250…通信I/F、
260…モニタ、
270…入力装置、
311…ブロックチェーン管理部、
312…学習データ取得部、
313…勾配算出部、
314…勾配配信部、
321…ブロックチェーン管理部、
322…異常検知部、
323…検知結果送信部、
324…パラメータ算出部、
325…ブロック生成部、
326…ブロック配信部、
331…ブロックチェーン管理部、
332…異常検知部、
333…検知結果比較部、
334…比較結果送信部、
335…信頼度更新部、
336…判別モジュール配信部

0055

特表2019−526851号公報

先行技術

0056

Xuhui Chen, et al., "When Machine Learning Meets Blockchain: Decentralized, Privacy-preserving and Secure Design,"IEEE International Conference on Big Data, 2018.

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ