ブロックチェーンのマイニングエネルギーをマシンラーニングに使う


今月の注目発明は、ブロックチェーンで用いるコンピューティングパワーをマシンラーニングに使う技術を取り上げます(特開2019-106180、エヌエイチエヌ エンターテインメント)。人工知能の用途そのものではありませんが、人工知能の演算を助ける考え方の参考としてご紹介します。



ブロックチェーンのエネルギーコスト

分散型台帳の技術であるブロックチェーンは、多数参加者がデータを共有してデータの改ざんを防止する技術です。特定の管理者を置く中央集権システムとは異なり、ブロックチェーンは個々の参加者同士が通信するピア・トゥ・ピア(P2P)による非中央集権システムとして注目されています。ある取引データが発生すると、P2Pでつながった全ての参加者に公開されて、マイナー(計算する人)はある値を導き出す計算クイズに正答するために非常に複雑な計算(マイニング)行います。

ブロックチェーンの説明は専門書に譲るとして、ここで注目したいのは、マイニングするためには膨大なエネルギーが必要だということです。マイニングを計算するには高性能なコンピュータ処理、そのための電気代や場所などのコストがかかります。エネルギー問題や環境保全が叫ばれる今、ブロックチェーンのマイニングのために用いられるエネルギー消費が大きな疑問として残ります。

新しい意思決定のカタチ、“人間の欲”

上記の通り、ブロックチェーン技術の特徴は中央管理者不在の分散型システムです。なぜ、中央管理者が不在でもうまく機能するのでしょうか。それは、計算に勝利した者だけが得られる報酬をインセンティブとして用意し、P2Pで敢えてマイナーが何人もいる状態を作って競争させ、マイニングによる取引ブロックの生成を連続的に行っているからです。つまり、ブロックチェーンは、“人間の欲”をうまく活用して、特定の管理者がいなくてもデータの真正性を保証し、意思決定する仕組みなのです。



マイニングの際のエネルギーをマシンラーニングに使う

この発明は、ブロックチェーンのマイニング過程で用いられるコンピューティングパワーを、マシンラーニングに用いこれを補償してコンピュータ資源の無駄使いを防止するものです。ネットワークを介して互いに通信するノードそれぞれの資源を管理する資源運用方法の発明です(図1)。

図4は複数ノード(参加者)のいずれか一つでブロックチェーンをアップデートする方法を示したフローチャートです。S110で受信下マイニングのための問題がマシンラーニングに相当する問題です。例えば、音声認識や顔認識、物体認識などのような、人工知能AIのために、多様な音声、顔画像、物体などの経験的データに基づいて学習し、予測を行い、自らの性能を向上させるマシンラーニングが行われます。



報酬のためにマシンラーニングを行う

図5は図4のS130の詳細を示したフローチャートです。他のノードからブロックハッシュ値を受信したか否かが判別されます。すなわち、自分ではない他のノードのうちの一つがマイニングに成功したか否かが判別されます。これによって、最も先に成功したノードからブロックハッシュ値を受信し、有効性検証アルゴリズムを用いて有効性が検証されます。その後、トランザクションとブロックハッシュ値を用いてブロックが生成されます。

この発明のポイントは、最初にマイニングに成功したノードでない別のノードであっても、作業量に対して報酬を受け取ることができる仕組みになっていることです。上述の通り、通常のブロックチェーンは最初にマイニングに成功したノードのみが報酬を得ることができますが、その結果、マイニングに失敗したノードが多数存在することになり、無駄なエネルギー消費が生じます。そのため、この発明では、マイニング問題をマシンラーニングの問題に設定し、コンピュータ処理を有効活用すると共に、最小作業量を設定し、この最小作業量を上回れば最初のマイニングに失敗したノードでも報酬を得られるようにしています。例えば、ホームランでなくても、コンスタントにヒットを出すノードには報酬を与えるようなものでしょうか。ここでも、“人間の欲”を利用し、報酬の欲しさにマイニングに参加させるノードを増やすこと、そのコンピュータパワーをマシンラーニングに利用しようというものです。



このように、ブロックチェーンで消費されるエネルギーをマシンラーニング問題に活用する考え方は、発電所で発生する熱を使って温水プールを作るのと似ていますね。ある目的を達成するために発生するエネルギーを他の目的のために活用する、という考え方であり、間接的に利益を得る仕組み、リソースの共有化など、従来の延長線上ではない考え方の一つとして、参考になります。