(57)【要約】      （修正有）【課題】多数エージェントによる強化学習において報酬を情報売買により分配させる。【解決手段】情報処理システム１０において、情報処理装置は、ノード装置による情報ネットワークにおいて上流側のノード装置から取得したノード出力情報を下流側のノード装置のノード入力情報として与えるネットワーク処理部と、最下流のノード装置から取得したノード出力情報と、当該ノード出力情報と対応する現実の観測値との誤差を縮小するようにノード装置間の情報伝達の重みを更新することにより、情報ネットワークを学習させる学習処理部と、ノード出力情報をノード入力情報として受け取る受取側のノード装置から、当該ノード出力情報を出力する出力側のノード装置に対して、ノード出力情報の対価を支払わせる報酬分配部と、を備える【選択図】図２
2019191963.tif 000002
【特許請求の範囲】
【請求項１】
情報ネットワークを形成するノードとして機能する複数のノード装置を含むノード群のノード装置の各々にノード入力情報を与え、前記ノード装置の各々がノード入力情報を処理した結果であるノード出力情報を取得するネットワーク処理部であって、前記情報ネットワークにおいて上流側のノード装置から取得したノード出力情報を前記上流側のノード装置に接続された下流側のノード装置のノード入力情報として与えるネットワーク処理部と、
前記情報ネットワークにおける最下流のノードに対応する最下流のノード装置から取得したノード出力情報と、当該ノード出力情報と対応する現実の観測値との誤差を縮小するように前記ノード装置間の情報伝達の重みを更新することにより、前記情報ネットワークを学習させる学習処理部と、
前記ノード出力情報を前記ノード入力情報として受け取る受取側のノード装置から、当該ノード出力情報を出力する出力側のノード装置に対して、前記ノード出力情報の対価を支払わせる報酬分配部と、
を備える情報処理装置。
【請求項２】
前記情報ネットワークは、ニューラルネットワークであり、前記ノードは前記ニューラルネットワークのニューロンに対応する、
請求項１に記載の情報処理装置。
【請求項３】
前記学習処理部は、
前記ノード出力情報に対応する現実の観測値と当該ノード出力情報との誤差を、最下流のノード装置から上流側のノード装置に向けて誤差伝搬し、伝搬された誤差に基づいて前記ノード装置間の情報伝達の重みを更新する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記最下流のノード装置から取得した前記ノード出力情報に基づく投資を実行する、
投資実行部を更に備える、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記投資実行部は、
投資端末から、投資実行要求を取得したことに応じて、前記最下流のノード装置から取得したノード出力情報に基づく投資を実行し、
前記投資により得られた利益の少なくとも一部を前記投資端末に分配する、
請求項４に記載の情報処理装置。
【請求項６】
前記報酬分配部は、
前記投資端末に、前記投資に用いられたノード出力情報を出力するノード装置に対して、前記投資により得られた利益の少なくとも一部を分配する、
請求項５に記載の情報処理装置。
【請求項７】
前記報酬分配部は、前記ノード出力情報の対価を、前記受取側のノード装置と前記出力側のノード装置との間の重みに基づいて決定する、
請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記報酬分配部は、ブロックチェーンを利用する暗号通貨により、前記出力側のノード装置に対する前記ノード出力情報の対価を、前記受取側のノード装置に支払わせる、
請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記報酬分配部は、前記対価の支払いがなされたことに応じて、
前記受取側のノード装置から公開鍵Ａを受け取って前記出力側のノード装置に送信し、
前記出力側のノード装置から複号鍵Ｂ'を公開鍵Ａで暗号化した公開鍵Ａ（複合鍵Ｂ'）を受け取って、前記受取側のノード装置に送信し、
前記出力側のノード装置から複号鍵Ｂ'に対応する暗号鍵Ｂで前記ノード出力情報ＭＢを暗号化した暗号鍵Ｂ（ノード出力情報ＭＢ）を、前記出力側のノード装置から受け取って、受取側のノード装置に送信する、
請求項８に記載の情報処理装置。
【請求項１０】
前記複数のノード装置の各々から、各ノード装置が入力する前記ノード入力情報の種別、及び、各ノード装置が出力する前記ノード出力情報の種別を取得する処理取得部を更に備える、
請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記処理取得部が取得した、前記複数のノード装置の前記ノード入力情報の種別、及び、前記ノード出力情報の種別に基づいて、前記複数のノード装置間を接続し、これにより、前記情報ネットワークを形成するネットワーク生成部を更に備える、
請求項１０に記載の情報処理装置。
【請求項１２】
前記ネットワーク生成部は、
第１のノード装置の前記ノード出力情報の種別と、第２のノード装置の前記ノード入力情報の種別が一致するか判断し、両者が一致したことに応じて、前記第１のノード装置に対応するノードの下流側に前記第２のノード装置に対応するノードを接続する、
請求項１１に記載の情報処理装置。
【請求項１３】
請求項１から１２のいずれか１項に記載の情報処理装置と、
前記複数のノード装置と、
を備える情報処理システム。
【請求項１４】
投資端末を更に備える
を備える請求項１３に記載の情報処理システム。
【請求項１５】
情報ネットワークを形成するノードとして機能する複数のノード装置を含むノード群のノード装置の各々にノード入力情報を与え、前記ノード装置の各々がノード入力情報を処理した結果であるノード出力情報を取得し、上流側のノード装置から取得したノード出力情報を前記上流側のノード装置に接続された下流側のノード装置のノード入力情報として与えるネットワーク処理段階と、
前記情報ネットワークにおける最下流のノードに対応する最下流のノード装置から取得したノード出力情報と、当該ノード出力情報と対応する現実の観測値との誤差を縮小するように前記ノード装置間の情報伝達の重みを更新することにより、前記情報ネットワークを学習させる学習段階と、
前記ノード出力情報を前記ノード入力情報として受け取った受取側のノード装置から、当該ノード出力情報を出力した出力側のノード装置に対して、前記ノード出力情報の対価を支払わせる報酬分配段階と、
を備える情報処理方法。
【請求項１６】
コンピュータにより実行され、当該コンピュータを、
情報ネットワークを形成するノードとして機能する複数のノード装置を含むノード群のノード装置の各々にノード入力情報を与え、前記ノード装置の各々がノード入力情報を処理した結果であるノード出力情報を取得するネットワーク処理部であって、前記情報ネットワークにおいて上流側のノード装置から取得したノード出力情報を前記上流側のノード装置に接続された下流側のノード装置のノード入力情報として与えるネットワーク処理部と、
前記情報ネットワークにおける最下流のノードに対応する最下流のノード装置から取得したノード出力情報と、当該ノード出力情報と対応する現実の観測値との誤差を縮小するように前記ノード装置間の情報伝達の重みを更新することにより、前記情報ネットワークを学習させる学習処理部と、
前記ノード出力情報を前記ノード入力情報として受け取った受取側のノード装置から、当該ノード出力情報を出力した出力側のノード装置に対して、前記ノード出力情報の対価を支払わせる報酬分配部と、
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び、情報処理プログラムに関する。
【背景技術】
【０００２】
ニューラルネットワーク等の情報ネットワークを利用した人工知能（ＡＩ）の研究が進められており、株式トレーディング、自動運転、スマートグリッド、およびＩｏＴといった産業分野への適用が進められている。通常、情報ネットワークは、単一の主体（企業、団体、又は、個人等）により作成されるため、取得できる情報や処理能力に限界があり、全体として得られる収益が限定されていた。
【０００３】
これに対し多数エージェントによる強化学習（Ｍｕｌｔｉ−ａｇｅｎｔ  Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ：ＭＡＲＬ）が知られている（非特許文献１〜５）。これらの技術によると、報酬を各エージェントに均等に分配したり、信頼された第３者（Ｔｒｕｓｔｅｄ  Ｔｈｉｒｄ  Ｐａｒｔｙ：ＴＴＰ）により報酬額が決定されていた。
【０００４】
非特許文献１：Foerster, Jakob, Assael, Yannis, de Freitas, Nando, and Whiteson, Shimon. Learning to communicate with deep multi-agent reinforcement learning. In Advances in Neural Information Processing Systems, pp. 2137-2145, 2016.
非特許文献２：Sukhbaatar, S., Fergus, R., et al. Learning multiagent communication with backpropagation. In NIPS'16, 2016.
非特許文献３：Wu, Shih-Hung and Soo, Von-Wun. Game theoretic reasoning in multi-agent coordination by negotiation with a trusted third party. In Proceedings of the third annual conference on Autonomous Agents, pp. 56-61. ACM, 1999.
非特許文献４：Sandholm, Tuomas and Wang, XiaoFeng. (im) possibility of safe exchange mechanism design. In Eighteenth national conference on Artificial intelligence, pp. 338-344. American Association for Artificial Intelligence, 2002
非特許文献５：Agogino, Adrian K and Tumer, Kagan. Quicr-learning for multi-agent coordination. In Proceedings of the National Conference on Artificial Intelligence, volume 21, pp. 1438, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、報酬分配を均等に行う場合は各エージェントが他人の成果にただ乗りしようとするためコモンズの悲劇が生じ、第３者に報酬分配を委ねる場合も公平性及び信頼性を担保しなければならない問題があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の態様においては、情報処理装置を提供する。情報処理装置は、情報ネットワークを形成するノードとして機能する複数のノード装置を含むノード群のノード装置の各々にノード入力情報を与え、ノード装置の各々がノード入力情報を処理した結果であるノード出力情報を取得するネットワーク処理部であって、情報ネットワークにおいて上流側のノード装置から取得したノード出力情報を上流側のノード装置に接続された下流側のノード装置のノード入力情報として与えるネットワーク処理部を備えてよい。情報処理装置は、情報ネットワークにおける最下流のノードに対応する最下流のノード装置から取得したノード出力情報と、当該ノード出力情報と対応する現実の観測値との誤差を縮小するようにノード装置間の情報伝達の重みを更新することにより、情報ネットワークを学習させる学習処理部を備えてよい。情報処理装置は、ノード出力情報をノード入力情報として受け取った受取側のノード装置から、当該ノード出力情報を出力した出力側のノード装置に対して、ノード出力情報の対価を支払わせる報酬分配部を備えてよい。
【０００７】
情報ネットワークは、ニューラルネットワークであり、ノードはニューラルネットワークのニューロンに対応してよい。
【０００８】
学習処理部は、ノード出力情報に対応する現実の観測値と当該ノード出力情報との誤差を、最下流のノード装置から上流側のノード装置に向けて誤差伝搬し、伝搬された誤差に基づいてノード装置間の情報伝達の重みを更新してよい。
【０００９】
情報処理装置は、最下流のノード装置から取得したノード出力情報に基づく投資を実行する、投資実行部を更に備えてよい。
【００１０】
投資実行部は、投資端末から、投資実行要求を取得したことに応じて、最下流のノード装置から取得したノード出力情報に基づく投資を実行し、投資により得られた利益の少なくとも一部を投資端末に分配してよい。
【００１１】
報酬分配部は、投資端末に、投資に用いられたノード出力情報を出力したノード装置に対して、投資により得られた利益の少なくとも一部を分配してよい。
【００１２】
報酬分配部は、ノード出力情報の対価を、受取側のノード装置と出力側のノード装置との間の重みに基づいて決定してよい。
【００１３】
報酬分配部は、ブロックチェーンを利用する暗号通貨により、出力側のノード装置に対するノード出力情報の対価を、受取側のノード装置に支払わせてよい。
【００１４】
報酬分配部は、対価の支払いがなされたことに応じて、受取側のノード装置から公開鍵Ｂを受け取って出力側のノード装置に送信してよい。報酬分配部は、出力側のノード装置から複号鍵Ａ'を公開鍵Ｂで暗号化した公開鍵Ｂ（暗号鍵Ａ'）を受け取って、受取側のノード装置に送信してよい。報酬分配部は、出力側のノード装置から複号鍵Ａ'に対応する暗号鍵Ａでノード出力情報ｍを暗号化した暗号鍵Ａ（ノード出力情報ｍ）を、出力側のノード装置から受け取って、受取側のノード装置に送信してよい。
【００１５】
情報処理装置は、複数のノード装置の各々から、各ノード装置が入力するノード入力情報の種別、及び、各ノード装置が出力するノード出力情報の種別を取得する処理取得部を更に備えてよい。
【００１６】
情報処理装置は、処理取得部が取得した、複数のノード装置のノード入力情報の種別、及び、ノード出力情報の種別に基づいて、複数のノード装置間を接続し、これにより、情報ネットワークを形成するネットワーク生成部を更に備えてよい。
【００１７】
ネットワーク生成部は、第１のノード装置のノード出力情報の種別と、第２のノード装置のノード入力情報の種別が一致するか判断し、両者が一致したことに応じて、第１のノード装置の下流側に第２のノード装置を接続してよい。
【００１８】
上記した情報処理装置と、複数のノード装置とを備える情報処理システムが提供されてよい。情報処理システムは、投資端末を更に備えてよい。
【００１９】
本発明の第２の態様においては、情報処理方法を提供する。情報処理方法は、情報ネットワークを形成するノードとして機能する複数のノード装置を含むノード群のノード装置の各々にノード入力情報を与え、ノード装置の各々がノード入力情報を処理した結果であるノード出力情報を取得し、上流側のノード装置から取得したノード出力情報を上流側のノード装置に接続された下流側のノード装置のノード入力情報として与えるネットワーク処理段階を有してよい。情報処理方法は、情報ネットワークにおける最下流のノードに対応する最下流のノード装置から取得したノード出力情報と、当該ノード出力情報と対応する現実の観測値との誤差を縮小するようにノード装置間の情報伝達の重みを更新することにより、情報ネットワークを学習させる学習段階を有してよい。情報処理方法は、ノード出力情報をノード入力情報として受け取った受取側のノード装置から、当該ノード出力情報を出力した出力側のノード装置に対して、ノード出力情報の対価を支払わせる報酬分配段階を有してよい。
【００２０】
本発明の第３の態様においては、情報処理プログラムを提供する。情報処理プログラムは、コンピュータにより実行され、当該コンピュータをネットワーク処理部として機能させてよい。情報処理プログラムは、当該コンピュータを学習処理部として機能させてよい。情報処理プログラムは、コンピュータにより実行され、当該コンピュータを報酬分配部として機能させてよい。
【００２１】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係る情報処理システム１０の全体概要を示す。
【図２】本実施形態に係る情報処理システム１０の装置構成の一例を示す。
【図３】本実施形態に係る情報処理システム１０の処理フローを示す。
【図４】本実施形態に係る図３のＳ３００における各ノード装置３２の処理フローを示す。
【図５】本実施形態に係る図４のＳ３１０における処理の概要を示す。
【図６】本実施形態の変形例に係る図４のＳ３１０のサブフローを示す。
【図７】本実施形態に係る暗号通貨に用いられるブロックチェーンの一例を示す。
【図８】本実施形態に係るコンピュータ２２００の構成の一例を示す。
【発明を実施するための形態】
【００２３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２４】
図１は、本実施形態に係る情報処理システム１０の概要を示す。本実施形態において、情報処理システム１０は、情報源２０と、情報源２０から得た情報を処理する複数のノード３０を含むノード群と、ノード群から出力された情報を利用して収益をあげるアクチュエータ４０と、アクチュエータ４０に投資する投資家４１と、これらをネットワーク上で動作させるクラウドソースプラットフォーム５０とを備える。
【００２５】
情報処理システム１０は、複数のノード３０及びアクチュエータ４０が協調して情報処理を行う情報ネットワークを形成し、各々が独立して情報処理に対する報酬を得るフレームワークを提供する。これにより情報処理システム１０は、複数のノード３０及びアクチュエータ４０の各々を各エージェントとするＭＡＲＬを実現してよい。
【００２６】
情報源２０は、インターネット等のネットワーク上でアクセス可能な様々な情報、及び、各種のセンサデータ等を無料又は有料で提供する。情報源２０は、１又は複数のサーバ装置、データベース、又は、その他のコンピュータにより実現されてよい。
【００２７】
例えば、情報源２０は、インターネット上で、ソーシャルネットワーキングサービス（ＳＮＳ）又はテキスト投稿サービスにおける利用者の属性（年齢、性別、職業、所属等）及び／又は投稿内容に関する情報を提供するサーバ装置、画像／動画共有サービスを提供するサーバ装置、インターネット辞書／辞典サービスを提供するサーバ装置、ウェブカメラ撮影情報を提供するサーバ装置、金融情報を提供するサーバ装置、学術論文等を提供する学術機関のデータベース、気象データ（例えば、過去の天候情報、気温情報、及び／又は、気圧情報等）を提供する公官庁のデータベース、統計データ（例えば、人口動態データ）を提供する公官庁のデータベース等であってよい。
【００２８】
また、例えば、情報源２０は、環境情報等を検知する環境センサ（例えば、多数地点に設置された温度センサ、気圧センサ、雨量センサ、照度センサ、磁力センサ、熱センサ、画像センサ、振動センサ、音声センサ等）、位置情報を検知する位置センサ（例えば、車両や人のＧＰＳデータ、速度データ、加速度データ等）、交通量検知センサ（例えば、ＥＴＣゲート等）、及び／又は、その他のセンサ、又はこれらのセンサの観測データを提供するサーバ装置等であってよい。
【００２９】
複数のノード３０は、ネットワークを介して直接又はクラウドソースプラットフォーム５０を介して互いに接続される。各々のノード３０は、ノード入力情報を取得して、ノード入力情報に対して演算を実行し、演算結果をノード出力情報として別のノード３０に出力する。一例において、ノード３０により形成される情報ネットワークはニューラルネットワークであり、ノード３０はニューラルネットワークのニューロンに対応してよい。
【００３０】
複数のノード３０のうち、最上流側（情報源２０側）に位置するノード３０（図中、ノードｎ１１〜ノードｎ１３）は、情報源２０から提供される情報の特徴を抽出する特徴抽出器として機能してよい。例えば、ノードｎ１１〜ｎ１３は、情報源２０から提供される情報の特徴を抽出し、これを後段のノードｎ２１〜ノードｎ２３が利用可能なデータ形式に変換する。
【００３１】
一例として、ノードｎ１１は、監視対象の一又は複数のウェブサイト（例えば、金融分野のニュース記事）のテキストデータを、従来知られた手法でテキストマイニングし、テキストの特徴を抽出する。例えば、ノードｎ１１は、マイニングしたテキストから、スカラ値、ベクトル値、又は、テンソル値等（以下、まとめて「ベクトル値等」という場合がある）で表される特徴を抽出して、これをノード出力情報として出力してよい。
【００３２】
また、別の一例として、ノードｎ１１は、気象庁の気象データベースにアクセスし、取得した気象データ（例えば、特定の地点の天候情報、気温情報、及び／又は、気圧情報等）に統計処理、正規化処理等を行い、気象データからベクトル値等で表される特徴を抽出して、これをノード出力情報として出力してよい。
【００３３】
また、最上流側のノード３０は、連続する時系列のベクトル値等をノード出力情報として出力してよい。例えば、最上流側のノード３０は、一又は複数のセンサが出力する時々刻々変化するセンサデータを所定の時間間隔（例えば、１秒、１分、１時間、又は１日ごとに）にサンプリングした値から、ベクトル値等のストリームデータを生成し、これをノード出力情報として出力してよい。
【００３４】
最上流側のノード３０は、同一又は別個の独立した事業者または個人によって運営されてよい。また、最上流側のノード３０は、各々の事業者等が得意分野または興味等に応じて他の事業者等の動向を気にすることなく独自の情報、または他の最上流側のノード３０と大差ない情報を出力してよい。最上流側のノード３０は、ニューラルネットワークにより実現されてもよい。
【００３５】
複数のノード３０のうち、最上流側のノード３０（ノードｎ１１〜ノードｎ１３）の下流側に位置するノード３０（ノードｎ２１〜ノードｎ２３及びノードｎ３１〜ノードｎ３３：「下流側のノード３０」ともいう場合がある）は、それぞれが上流側のノード３０から特徴の情報を取得し、当該情報加工して、より下流側のノード３０に提供する。
【００３６】
例えば、ノードｎ２１〜ノードｎ２３は、ノードｎ１１〜ノードｎ１３の下流側に接続され、ノードｎ１１〜ノードｎ１３からのノード出力情報をノード入力情報として取得し、当該ノード入力情報に対して演算を行う。ノードｎ２１〜ノードｎ２３は、演算結果をノード出力情報として更に下流側のノードｎ３１〜ノードｎ３３に出力する。一例として、ノードｎ２１は、ノードｎ１１〜ｎ１３から得たノード入力情報（例えば、気象データに関連する情報）に基づいて、原油の将来価格の予測結果を演算し、当該予測結果を含むノード出力情報を出力する。
【００３７】
ここで、下流側のノード３０は、前段で接続する各ノード３０からのノード入力情報に基づいて生成した演算結果を各ノード３０との間の重みで重みづけした結果に基づいて、ノード出力情報を出力してよい。例えば、ノードｎ２１は、ｗ１１−２１×ｆ２１（ｎ１，１）＋ｗ１２−２１×ｇ２１（ｎ１，２）＋ｗ１３−２１×ｈ２１（ｎ１，３）＋ｂ２１を演算し、これをノード出力情報として出力してよい。ここで「×」はスカラ値の積、又は、ベクトル値若しくはテンソル値同士の内積を示す演算記号であってよい。
【００３８】
ここで、ｎｉ，ｊは、ベクトル値等であってよいノードｎｉｊからのノード入力情報を示し、ｆｉｊ（ｎｉ―１，ｘ）、ｇｉｊ（ｎｉ−１，ｙ）、及び、ｈｉｊ（ｎｉ―１，ｚ）は、ノードｎｉｊにおいてノードｎｉ―１，ｘ、ノードｎｉ―１，ｙ、及び、ノードｎｉ―１，ｚからのノード入力情報に対する演算を表し、ｗｉｊ−ａｂはノードｎｉｊとノードｎａｂとの間の重みを表し、ｂｉｊは予め定められたバイアスを表す。ｗｉｊ−ａｂ及びｂｉｊは、ベクトル値等であってよい。ノード３０は、ｆｉｊ（ｎｉ―１，ｘ）、ｇｉｊ（ｎｉ−１，ｙ）、ｈｉｊ（ｎｉ―１，ｚ）の演算のみ行い、重みづけされたノード出力情報はクラウドソースプラットフォーム５０において演算されてもよい。これに代えて、ノード３０が自身で重みづけ処理を実行してもよい。
【００３９】
下流側のノード３０のうち、最も下流側に位置するノード（ノードｎ３１〜ノードｎ３３：「最下流側のノード３０」ともいう場合がある）は、ノード出力情報をアクチュエータ４０に出力する。例えば、ノードｎ３１〜ノードｎ３３は、ノードｎ２１〜ノードｎ２３からのノード出力情報を、ノード入力情報として取得し、ノード入力情報に対して演算を行い、演算結果を重みづけした結果をノード出力情報としてアクチュエータ４０に出力する。
【００４０】
一例として、ノードｎ３１は、ノードｎ２１〜ｎ２３から得たノード入力情報（例えば、原油の将来価格の予想結果に関連する情報）に基づいて、将来株価の予測結果を演算し、当該予測結果を含むノード出力情報を出力してよい。ノードｎ３２〜ノードｎ３３も、ノードｎ３１とは同一又は異なる情報を取得して、それぞれが独自の演算を実行して、将来株価の予測結果を演算結果に基づくノード出力情報を出力してよい。
【００４１】
下流側のノード３０は、データサイエンティスト等の独立した同一又は別個の事業者または個人によって運営されてよく、各々の事業者等が得意分野または興味等に応じて他の事業者等の動向を気にすることなく収集した情報を独自に加工してよい。また下流側のノード３０は、他の下流側のノード３０と大差ない情報を出力してよい。下流側のノード３０は、ストリームデータを含むノード出力情報を出力してよい。下流側のノード３０は、ニューラルネットワークにより実現されてもよい。
【００４２】
アクチュエータ４０は、一又は複数のノード３０から受け取った情報を利用して収益を上げる。例えば、アクチュエータ４０は、投資資金を提供する投資家４１に収益をもたらし、その報酬を受け取ってよい。アクチュエータ４０は、データサイエンティスト等の同一又は別個の独立した事業者または個人によって運営されてよい。アクチュエータ４０は、ニューラルネットワークにより実現されてもよい。
【００４３】
アクチュエータ４０は、本来情報ネットワークにおけるノードの一部として機能するが、他のノードと機能上の区別をするために「アクチュエータ」と称する。なお、図中では、２個のアクチュエータ４０Ａとアクチュエータ４０Ｂが示されるが、これらをまとめてアクチュエータ４０とする。
【００４４】
例えば、アクチュエータ４０Ａは、ノードｎ３１から得たノード入力情報（例えば、特定複数銘柄の株の将来株価の予測結果）に基づいて、最も収益が高くなる投資計画を生成してよい。一例として、アクチュエータ４０Ａは、複数銘柄の株のうち株価上昇率が最も大きいものを購入する投資計画を生成してよい。
【００４５】
また、例えば、アクチュエータ４０Ａは、当該投資計画により将来得られる収益額を予測し、予測された収益額をノード出力情報として出力してよい。これにより、もし投資計画の収益額の予測結果が正しければ、アクチュエータ４０Ａは、収益を上げることができる。
【００４６】
一例として、アクチュエータ４０は、行動価値関数Ｑを近似する多層ニューラルネットワーク（Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋ）を一又は複数有し、当該多層ニューラルネットワークを学習させることで、投資計画を出力してよい。具体的には、アクチュエータ４０は、時刻ｔにおける状態ｓｔ（例えば、時刻ｔにおける株価、テクニカル指標、総資産、及び／又は、所持株数等）を１つの多層ニューラルネットワークの入力し、時刻ｔにおける行動αｔの価値を示す行動価値Ｑ（ｓｔ，αｔ）を出力してよい。ここで、例えば、アクチュエータ４０Ａは、ノードｎ３１から得たノード入力情報を状態ｓｔの少なくとも一部として得て、行動αｔを投資計画とし、行動価値Ｑ（ｓｔ，αｔ）をノード出力情報として出力してよい。
【００４７】
アクチュエータ４０は、多層ニューラルネットワークの学習の際に、状態ｓｔを受け取り、最も行動価値が高いαｔを行い、市場から報酬ｒｔと次の状態ｓｔ＋１を受け取り、これらを過去の経験として保存しておき、そこからランダムに一部を選択してミニバッチ学習を行ってよい。報酬ｒｔは行動αｔにより得られた利益率に応じた値であってよい。行動価値関数Ｑは、勾配降下法により学習されてよい。このような手法は、例えば、和田裕貴、長尾智晴、深層学習による株式売買戦略の構築、６Ｎ−０４、情報処理学会第７９回全国大会に記載されているが、これに限られない。
【００４８】
なお、アクチュエータ４０Ｂのように、複数のノード３０に接続される場合、アクチュエータ４０は、複数のノードの各々に対応する複数（例えば、アクチュエータ４０Ｂであれば２個）の多層ニューラルネットワークを有し、接続された各ノード３０からのノード入力情報を、状態ｓｔの少なくとも一部として、各多層ニューラルネットワークを学習してよい。
【００４９】
そして、例えば、アクチュエータ４０Ｂは、複数の多層ニューラルネットワークの出力に基づいて、投資計画、及び、ノード出力情報を出力してよい。一例として、アクチュエータ４０Ｂは、ｗ３２−Ｂ及びｗ３３−Ｂで重みづけされた行動価値Ｑ（ｓｔ，αｔ）の多数決で行動αｔを決定してよい。また、アクチュエータ４０Ｂは、決定された行動αｔに対応する行動価値Ｑ（ｓｔ，αｔ）のｗ３２−Ｂ及びｗ３３−Ｂによる重みづけ平均をノード出力情報として出力してよい。
【００５０】
投資家４１は、アクチュエータ４０に投資を行う。投資家４１は、アクチュエータ４０に投資資金を提供することで、アクチュエータ４０に投資計画による収益を生じさせ、その収益の一部を回収する。例えば、投資家４１Ａはアクチュエータ４０Ａに投資し、投資家４１Ｂはアクチュエータ４０Ｂに投資する。投資家４１は、金融機関、企業、団体、個人投資家等の独立した事業者または個人によって運営されてよい。
【００５１】
情報処理システム１０において、複数のノード３０の間及びノード３０とアクチュエータ４０との間で、授受される情報は売買されてよい。例えば、アクチュエータ４０Ａは、ノードｎ３１に将来株価の予測結果の対価を支払ってよい。これにより、アクチュエータ４０Ａは、受け取った報酬からノードｎ３１に支払った対価を差し引いた額を利益として確保してよい。
【００５２】
ノードｎ３１は、ノード出力情報（例えば、将来株価の予測結果）を生成するために取得したノード入力情報（例えば、原油の将来価格の予測結果）の対価を支払ってよい。例えば、ノードｎ３１は、ノードｎ２１に対価を支払ってよい。ノードｎ３１は、ノードｎ２２及びノードｎ２３からノード入力情報を得た場合、これらのノードにも対価を支払ってもよい。同様に、ノードｎ２１〜ｎ２３は、前段のノードｎ１１〜ｎ１３にノード入力情報の対価を支払ってよい。これにより、各ノード３０は、自身が得た対価から、別のノード３０に支払った対価を除いた額を利益として確保してよい。
【００５３】
クラウドソースプラットフォーム５０は、ノード３０及びアクチュエータ４０と通信可能に接続され、ノード３０及びアクチュエータ４０の間の情報伝達及び対価授受等のためのプラットフォームを提供する。例えば、クラウドソースプラットフォーム５０は、情報源２０とノード３０との間の情報伝達、ノード３０間の情報伝達、及び、ノード３０及びアクチュエータ４０との間の情報伝達、その他必要な情報処理を仲介する。
【００５４】
また、クラウドソースプラットフォーム５０は、ノード３０及びアクチュエータ４０にユーザインタフェースを提供してよい。例えば、クラウドソースプラットフォーム５０は、情報処理システム１０内のノード３０の検索機能を、各ノード３０及びアクチュエータ４０のユーザに提供してよい。例えば、クラウドソースプラットフォーム５０は、各ノード３０の処理内容及びその説明等の情報を記憶し、あるノード３０のユーザからの要求を受けて、これらの情報を検索して、当該ユーザに提供してよい。
【００５５】
これにより、クラウドソースプラットフォーム５０は、各ノード３０が別のノード３０を検索して接続し、これにより複数のノード３０が自律的に情報ネットワークを形成及び更新することを補助することができる。また、クラウドソースプラットフォーム５０は、各ノード３０の処理内容から自動的に情報ネットワークを形成してもよい。
【００５６】
このように、本実施形態の情報処理システム１０によれば、複数の事業者等が運営する複数のノード等を組み合わせて、ニューラルネットワーク等の情報ネットワークを実現することができる。
【００５７】
なお、図１では、情報処理システム１０の情報ネットワークとして、ノード３０の一部（ノードｎ１１〜ｎ１３）を入力ノードとし、ノード３０の他の一部（ノードｎ２１〜ｎ３３）を２層の中間ノードとし、アクチュエータ４０を出力ノードとした４層のニューラルネットワークを記載したが、これに限定されない。例えば、入力ノードと出力ノードの間が、任意の中間ノードのネットワークにより形成されていてもよい。例えば、ある実施形態において、情報ネットワークを構成するノードは明確に分離した層を形成していなくてもよく、一部のノードが再帰的ネットワークを形成していてもよい。
【００５８】
図２は、本実施形態に係る情報処理システム１０の装置構成の一例を示す。情報処理システム１０は、複数のノード装置３２、１又は複数の投資端末４２、及び、情報処理装置１００を備える。図１におけるノード３０及びアクチュエータ４０は複数のノード装置３２により実現され、投資家４１は投資端末４２に実現され、クラウドソースプラットフォーム５０は情報処理装置１００により実現される。
【００５９】
複数のノード装置３２は、情報ネットワークにおける各ノードの情報処理を行う。ここで、複数のノード装置３２の一部は、情報ネットワークにおけるノード３０の機能の少なくとも一部を実現する。複数のノード装置３２の他の一部は、アクチュエータ４０の機能の少なくとも一部を実現する。
【００６０】
投資端末４２は、情報ネットワークに対する投資を実行する。例えば、投資端末４２は、アクチュエータ４０が生成する投資計画に対する投資を実行する。
【００６１】
ノード装置３２および投資端末４２（以下、両者合わせて「ノード装置３２等」ともいう場合がある）は、ＰＣ（パーソナルコンピュータ）、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。例えば、ノード装置３２等は、グリッド・コンピューティング環境上で複数のコンピュータにより実現されてよい。一例として、ノード装置３２等は、複数のコンピュータにより自身のニューラルネットワークを形成してよい。すなわち、ニューラルネットワークのノードとして機能する複数のノード装置３２等は、各々が更に個別のニューラルネットワークにより実現されてよい。
【００６２】
また、ノード装置３２等は、コンピュータ内で１または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、ノード装置３２等は、ノード装置３２等が実現すべき機能を実装すべく設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。ノード装置３２および投資端末４２は、ＡＰＩ（アプリケーション・プログラム・インターフェイス）等の所定のインターフェイスを介して、情報処理装置１００と通信してよい。
【００６３】
情報処理装置１００は、クラウドソースプラットフォーム５０の機能の少なくとも一部を実現する。情報処理装置１００は、ノード装置３２等が協調して情報処理を行いつつ、各々が独立して情報提供等に対する報酬を得て、収益を最大化することが可能なプラットフォームを提供する。情報処理装置１００は、処理取得部１２０と、ネットワーク生成部１３０と、ネットワーク処理部１４０と、投資実行部１５０と、学習処理部１６０と、報酬分配部１７０と、記憶部１８０とを備える。
【００６４】
情報処理装置１００は、ＰＣ（パーソナルコンピュータ）、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。例えば、情報処理装置１００は、グリッド・コンピューティング環境上で複数のコンピュータにより実現されてよい。この場合、複数のコンピュータの各々は、情報処理装置１００の一又は複数の機能を実現してよい。
【００６５】
また、情報処理装置１００は、コンピュータ内で１または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、情報処理装置１００は、情報処理装置１００が実現すべき機能を実装すべく設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。
【００６６】
処理取得部１２０は、各ノード装置３２の処理内容を取得してよい。例えば、処理取得部１２０は、複数のノード装置３２の各々から、各ノード装置３２が入力するノード入力情報の種別、及び、各ノード装置３２が出力するノード出力情報の種別を取得してよい。
【００６７】
ネットワーク生成部１３０は、処理取得部１２０が取得した各ノード装置３２の処理内容に基づいて、初期の情報ネットワークを形成してよい。例えば、ネットワーク生成部１３０は、処理取得部１２０が取得した、複数のノード装置３２のノード入力情報の種別、及び、ノード出力情報の種別に基づいて、複数のノード装置３２間を接続し、これにより、情報ネットワークを形成してよい。
【００６８】
また、ネットワーク生成部１３０は、複数のノード装置３２が自律的に情報ネットワークを形成することを補助してもよい。例えば、ネットワーク生成部１３０は、ノード装置３２に、他のノード装置３２を検索し、他のノード装置３２に接続させるインターフェイスを提供してもよい。
【００６９】
ネットワーク処理部１４０は、情報ネットワークにおいて複数のノード３０の間及びノード３０とアクチュエータ４０との間における情報伝達を仲介する。例えば、ネットワーク処理部１４０は、情報ネットワークのノード群を形成するノード装置３２の各々にノード入力情報を与え、ノード装置３２の各々からノード入力情報を処理した結果であるノード出力情報を取得してよい。
【００７０】
ネットワーク処理部１４０は、情報ネットワークにおいて上流側のノード３０から下流側のノードに情報伝達を行ってよい。例えば、ネットワーク処理部１４０は、情報ネットワークにおいて上流側のノード装置３２から取得したノード出力情報を上流側のノード装置３２に接続された下流側のノード装置３２のノード入力情報として与えてよい。
【００７１】
ネットワーク処理部１４０は、ＡＰＩ（アプリケーション・プログラム・インターフェイス）をノード装置３２に提供することでノード装置３２間の情報伝達を仲介してよい。例えば、各ノード装置３２は、ネットワーク処理部１４０が提供するＡＰＩを呼び出すことにより、他のノード装置３２との間の情報のやり取りを行ってよい。
【００７２】
投資実行部１５０は、情報ネットワークから得られる情報に基づき投資を実行する。具体的には、投資実行部１５０は、アクチュエータ４０と投資家４１との間を仲立ちし、アクチュエータ４０が生成した投資計画で投資家４１から投資された資金を投資する。これにより、投資実行部１５０は、情報ネットワークが処理した情報により収益を上げることができる。
【００７３】
例えば、投資実行部１５０は、情報ネットワークの最下流のノード装置３２（例えば、図１のアクチュエータ４０Ａ及び４０Ｂに対応するノード装置３２）から取得したノード出力情報に基づく投資を実行してよい。一例として、投資実行部１５０は、最下流のノード装置３２（例えば、アクチュエータ４０Ａ）が生成した投資計画（例えば、当該特定銘柄の株の特定時期及び特定価格における購入）に基づき、投資を実行する。
【００７４】
投資実行部１５０は、投資端末４２から投資実行要求を取得したことに応じて、投資を実行し、投資により得られた利益の少なくとも一部を投資端末４２に分配してよい。例えば、投資実行部１５０は、投資端末４２がアクチュエータ４０Ａに対応するファンドを購入したことに応じて、当該購入代金を投資資金として、アクチュエータ４０Ａが生成した投資計画の投資を実行し、その結果得られた利益の少なくとも一部を投資端末４２に分配してよい。
【００７５】
学習処理部１６０は、複数のノード装置３２により実現される情報ネットワークを学習させる。例えば、学習処理部１６０は、情報ネットワークにおける最下流のノード（例えば、図１のアクチュエータ４０Ａ及び４０Ｂ）に対応する最下流のノード装置３２から取得したノード出力情報（例えば、最下流のノード装置３２が生成した投資計画による将来の収益額）と、当該ノード出力情報と対応する現実の観測値（例えば、投資計画により実際に得られる収益額）との誤差を縮小するようにノード装置３２間の情報伝達の重みを更新することにより、情報ネットワークを学習させてよい。
【００７６】
一例として、学習処理部１６０は、ノード出力情報に対応する現実の観測値と当該ノード出力情報との誤差を、最下流のノード装置３２から上流側のノード装置３２に向けて誤差伝搬し、伝搬された誤差に基づいてノード装置３２間の情報伝達の重みを更新してよい。このような学習手法は、ニューラルネットワークにおいて誤差伝搬法（又はバックプロパゲーション）とも呼ばれる。これにより、学習処理部１６０は、重みの更新を繰り返し行う間に、ノード出力情報による予測の精度を高めることができる。
【００７７】
報酬分配部１７０は、投資実行部１５０の投資により得られた利益を分配する。例えば、報酬分配部１７０は、投資に用いられたノード出力情報を出力するノード装置３２（例えば、図１のアクチュエータ４０Ａ及び４０Ｂに対応するノード装置３２）に対して、投資により得られた利益の少なくとも一部を分配してよい。
【００７８】
また、報酬分配部１７０は、ノード出力情報をノード入力情報として受け取る受取側のノード装置３２から、当該ノード出力情報を出力する出力側のノード装置３２に対して、ノード出力情報の対価を支払わせてよい。これにより、報酬分配部１７０は、アクチュエータ４０に対応する最下流のノード装置３２からノードｎ３３〜ｎ１１に対応する上流側のノード装置３２へと、情報の売買対価を通じて、報酬を伝搬させるように分配してよい。
【００７９】
ここで、報酬分配部１７０は、ノード出力情報の対価を、受取側のノード装置３２と出力側のノード装置３２との間の重み（例えば、学習処理部１６０により更新された重み）に基づいて決定してよい。これにより、情報ネットワークにおいて重要性の高い（例えば、投資による利益への貢献の大きい）ノード装置３２に対して、より多く報酬を分配することができる。
【００８０】
記憶部１８０は、情報処理装置１００の動作に必要な情報を記憶する揮発性及び／不揮発性記憶装置の少なくとも一方を含んでよい。例えば、記憶部１８０は、処理取得部１２０、ネットワーク生成部１３０、ネットワーク処理部１４０、投資実行部１５０、学習処理部１６０、及び、報酬分配部１７０の少なくとも一部を実現するプログラム等を記憶してよい。
【００８１】
また、記憶部１８０は、これらの動作において生ずる情報を少なくとも一時的に記憶してよい。例えば、記憶部１８０は、ネットワーク処理部１４０が処理するノード入力情報及び／又はノード出力情報を記憶してよい。また、別の例として記憶部１８０は、処理取得部１２０が取得した情報等を記憶してよい。
【００８２】
図３は、本実施形態に係る情報処理システム１０の処理フローを示す。本実施形態において、情報処理システム１０は、Ｓ１００からＳ８００の処理を実行することにより、情報ネットワークを学習し、情報ネットワークから得られた利益を分配する。以下では、情報ネットワークがニューラルネットワークであり、ノードがニューロンである例について主に説明するが、本実施形態はこれに限定されない。
【００８３】
まず、Ｓ１００において、情報処理装置１００の処理取得部１２０は、ニューラルネットワークの複数のニューロンとして機能する複数のノード装置３２の処理内容を取得する。例えば、処理取得部１２０は、ノード装置３２の各々から、ノード入力情報の種別、及び、ノード出力情報の種別を取得する。一例として、処理取得部１２０は、図１のノードｎ２１となるノード装置３２から、ノード入力情報の種別として、特定地点の天候情報、気温情報、及び、気圧データを取得し、ノード出力情報の種別として、原油の将来価格を取得する。
【００８４】
次に、Ｓ２００において、情報処理装置１００のネットワーク生成部１３０は、Ｓ１００で取得したノード装置３２のノード入力情報の種別、及び、ノード出力情報の種別に基づいて、ニューラルネットワークを形成する。例えば、ネットワーク生成部１３０は、第１のノード装置のノード出力情報の種別と、第２のノード装置のノード入力情報の種別が一致するか判断し、両者が一致したことに応じて、第１のノード装置に対応するノード（すなわち、ニューロン）の下流側に第２のノード装置に対応するノードを接続することにより、ニューロン同士を接続し、これによりニューラルネットワークを自動的に形成してよい。
【００８５】
一例として、ネットワーク生成部１３０は、図１のノードｎ１１のノード出力情報の種別（例えば、天候情報、気温情報、及び、気圧情報）と、ノードｎ２１のノード出力情報の種別（例えば、天候情報、気温情報、及び、気圧情報）とが一致すると判断したことに応じて、ノードｎ１１の下流側にノードｎ２１を接続してよい。また、一例として、ネットワーク生成部１３０は、図１のノードｎ２１のノード出力情報の種別（例えば、原油の将来価格）と、ノードｎ３１のノード入力情報の種別（例えば、原油の将来価格）とが一致すると判断したことに応じて、ノードｎ２１の下流側にノードｎ３１を接続してよい。また、ネットワーク生成部１３０は、図１のノードｎ３１のノード出力情報の種別（例えば、特定銘柄の将来株価）と、アクチュエータ４０Ａのノード入力情報の種別（例えば、特定銘柄の将来株価）とが一致すると判断したことに応じて、ノードｎ３１の下流側にアクチュエータ４０Ａを接続してよい。
【００８６】
このように、ネットワーク生成部１３０は、ある情報を欲するノード（又はアクチュエータ）を、そのような情報を出力するノードに接続していくことにより、ニューラルネットワーク等の情報ネットワークを形成する。
【００８７】
なお、Ｓ２００において、各ノード装置３２のユーザにより手動で、ニューラルネットワークの少なくとも一部の形成が行われてもよい。例えば、ネットワーク生成部１３０は、情報処理システム１０内のノード３０の検索機能を、各ノード３０及びアクチュエータ４０（すなわち、ノード装置３２）のユーザに提供してよい。これにより、各ノード装置３２のユーザは、自身のノード装置３２の欲する情報を提供する別のノード３０を見つけ、これに自身を接続してよい。
【００８８】
次に、Ｓ３００において、情報処理システム１０は、Ｓ２００において形成されたニューラルネットワークにより予測を実行する。例えば、図１に示すノードｎ１１〜ｎ１３に対応するノード装置３２が情報源２０から情報（例えば、特定の地点の天候情報、気温情報、及び／又は、気圧情報等）をノード入力情報として取得する。ノードｎ１１〜ｎ１３に対応するノード装置３２は、情報源２０に直接アクセスして情報を取得してもよいし、クラウドソースプラットフォーム５０として機能する情報処理装置１００のネットワーク処理部１４０を介して、情報源２０からの情報を取得してよい。
【００８９】
ノードｎ１１〜ｎ１３に対応するノード装置３２は、取得したノード入力情報を演算処理し、処理結果をネットワーク処理部１４０に出力する。
【００９０】
ネットワーク処理部１４０は、このように得られたノードｎ１１〜ｎ１３のノード出力情報を、これらのノードの下流側に接続されたノードｎ２１〜ｎ２３にノード入力情報として供給する。ネットワーク処理部１４０は、ノード入力情報を上流側のノードに接続された下流側のノードにのみ供給してよい。例えば、図１では、ノードｎ１１〜ｎ１３はいずれもノードｎ２１〜ｎ２３のそれぞれに接続しているが、もし、ノードｎ１１がノードｎ２１にのみ接続する場合、ネットワーク処理部１４０は、ノードｎ１１のノード出力情報をノードｎ２１にのみ供給してよい。
【００９１】
次にノードｎ２１〜ｎ２３に対応するノード装置３２が、ノードｎ１１〜ｎ１３からのノード出力情報を、ネットワーク処理部１４０からノード入力情報として取得する。ノードｎ２１〜ｎ２３に対応するノード装置３２は、受け取ったノード入力情報を演算処理し、ネットワーク処理部１４０に供給する。
【００９２】
ネットワーク処理部１４０は、取得した処理結果を、前述した方法で重みづけしてよい。例えば、ネットワーク処理部１４０は、ノードｎ２１に対応するノード装置３２から、ｆ２１（ｎ１，１）、ｇ２１（ｎ１，２）、及び、ｈ２１（ｎ１，３）を取得し、ｗ１１−２１×ｆ２１（ｎ１，１）＋ｗ１２−２１×ｇ２１（ｎ１，２）＋ｗ１３−２１×ｈ２１（ｎ１，３）＋ｂ２１を演算し、これをノードｎ２１のノード出力情報としてよい。
【００９３】
なお、重みづけは、ノード装置３２自身が行ってもよい。例えば、ノード装置３２は、ネットワーク処理部１４０から自身に関連する重みの情報を受け取り、重みづけ処理を行い、その結果をノード出力情報としてネットワーク処理部１４０に提供してよい。
【００９４】
ネットワーク処理部１４０は、重みづけした結果を各ノードのノード出力情報としてよい。ノード出力情報は、情報源２０からの情報に基づき予測される指数等を含んでよい。例えば、ノードｎ２１のノード出力情報は、原油の将来価格の予想結果に関連する情報を含んでよい。ネットワーク処理部１４０は、同様にノードｎ２２〜ｎ２３のノード出力情報を演算して、これを下流側のノードｎ３１〜ｎ３３にノード入力情報として供給してよい。
【００９５】
次にノードｎ３１〜ｎ３３に対応するノード装置３２が、ノードｎ２１〜ｎ２３からのノード出力情報を、ネットワーク処理部１４０からノード入力情報として取得する。ノードｎ３１〜ｎ３３に対応するノード装置３２は、受け取ったノード入力情報を演算処理し、その結果をネットワーク処理部１４０に供給する。ネットワーク処理部１４０は、取得した演算結果を重みづけ処理し、その結果を各ノードのノード出力情報とする。
【００９６】
例えば、ネットワーク処理部１４０は、ノードｎ３１のノード出力情報として銘柄Ａの将来株価の予測結果、銘柄Ｂの将来株価の予測結果、及び、銘柄Ｃの将来株価の予測結果に関連する情報を出力してよい。ネットワーク処理部１４０は、係る特定銘柄Ａ〜Ｃの将来株価の予測結果に関連する情報を、アクチュエータ４０Ａにノード入力情報として供給してよい。ネットワーク処理部１４０は、同様にノードｎ３２〜ｎ３３のノード出力情報を、アクチュエータ４０Ｂにノード入力情報として供給してよい。
【００９７】
アクチュエータ４０Ａ及びアクチュエータ４０Ｂに対応するノード装置３２は、受け取ったノード入力情報を演算処理し、その結果をネットワーク処理部１４０に供給する。アクチュエータ４０Ａ及びアクチュエータ４０Ｂに対応するノード装置３２は、例えば、前述した行動αｔ及び行動価値Ｑを演算結果として出力してよい。例えば、ネットワーク処理部１４０は、取得した演算結果を重みづけ処理し、その結果の少なくとも一部を各アクチュエータ４０のノード出力情報とする。
【００９８】
ネットワーク処理部１４０は、重みづけ処理の結果、最も収益が高くなる投資計画をノード出力情報として取得し、投資実行部１５０に供給する。なお、アクチュエータ４０は、自身の重みをネットワーク処理部１４０から受け取り、自身で重みづけを行ってもよい。
【００９９】
投資計画は、例えば、購入する株の銘柄、購入時期、及び、価格指定等の執行条件を含んでいてよい。ネットワーク処理部１４０は、アクチュエータ４０Ａのノード出力情報として、最も収益が高くなる投資計画により将来得られる収益額を学習処理部１６０に供給してよい。
【０１００】
このように、Ｓ３００において、情報処理システム１０は、情報源２０から提供される公開情報等に基づいて、高い収益が予想される投資計画と、当該投資計画による予測収益を生成する。
【０１０１】
次にＳ４００において、投資実行部１５０は、投資端末４２からの投資を受け付ける。
【０１０２】
投資実行部１５０は、Ｓ３００で生成された投資計画に対応するファンドを投資端末４２に販売してよい。投資端末４２は、販売されたファンドを購入してよい。例えば、投資端末４２は、投資資金をファンドの代金として投資実行部１５０に送金するとともに、ファンドを指定した投資実行要求を送信する。投資実行部１５０は、投資端末４２から投資実行要求を取得する。
【０１０３】
Ｓ６００において、投資実行部１５０は、投資実行要求に基づく投資を実行する。例えば、投資実行部１５０は、投資実行要求で指定されたファンドに対応する投資計画に、ファンドの代金の少なくとも一部を投資資金として投資してよい。一例として、投資実行部１５０は、ネットワークを介して証券会社のサーバ装置にアクセスし、投資資金により投資計画に対応する投資（例えば、特定銘柄の株の購入）を実行してよい。
【０１０４】
その後、投資実行部１５０は、投資により得られる利益を回収する。例えば、投資実行部１５０は、購入した株の価格が予め定められた価格（例えば、投資計画において設定された予定価格）を上回ったこと、及び／又は、予め定められた時間が経過したことに応じて、購入した株を売却して投資した資金を回収する。一例として、投資実行部１５０は、ネットワークを介して証券会社のサーバ装置にアクセスし、購入した銘柄を売却する。
【０１０５】
ここで、投資実行部１５０は、投資により得られた利益の少なくとも一部を投資端末４２に分配してよい。例えば、投資実行部１５０は、投資による収益（特定銘柄の株の売却代金−購入代金）を、ファンドを購入した投資端末４２に分配してよい。投資実行部１５０は、投資端末４２のユーザに割り当てられたアカウントの口座に、当該収益の分配を行ってよい。また、投資実行部１５０は、ブロックチェーンを利用する暗号通貨（例えば、ビットコイン又はその他の仮想通貨）により、投資端末４２のユーザの口座に収益の分配を行ってよい。
【０１０６】
なお、口座は、銀行口座等の外部の口座であってよい。この場合、投資実行部１５０は、銀行等の金融機関のネットワークにアクセスして、分配対象の口座に入金処理を行ってよい。また、口座は、情報処理システム１０内の仮想の口座であってよい。この場合、投資実行部１５０は、口座残高を分配された収益分増加させ、投資端末４２のユーザからの要求に応じて、暗号通貨を投資端末４２に送金してよい。
【０１０７】
投資実行部１５０は、投資による収益から、当該収益及び／又は投資資金から一定の割合を手数料として差し引いた額を、投資端末４２のユーザに分配してよい。例えば、投資実行部１５０は、投資資金の一定割合（一例として２％）及び投資による収益の一定割合（一例として２０％）を手数料として投資による収益から差し引いて、投資端末４２のユーザに分配してよい。
【０１０８】
報酬分配部１７０は、投資により得られた利益の一部を情報ネットワークに分配する。例えば、報酬分配部１７０は、投資に用いられたノード出力情報を出力するノード装置３２（例えば、図１のアクチュエータ４０Ａ及び４０Ｂに対応するノード装置３２）に対して、投資により得られた利益の少なくとも一部を分配する。例えば、報酬分配部１７０は、投資端末４２への分配で差し引かれた手数料の少なくとも一部を、ノード出力情報の対価として、アクチュエータ４０Ａ及び４０Ｂに分配する。
【０１０９】
ここで、アクチュエータ４０Ａ及び４０Ｂに対応するノード装置３２は、上流側のノード装置３２（例えば、ノードｎ３１〜ｎ３３に対応するノード装置３２）にも、ノード出力情報の対価を支払う。従って、アクチュエータ４０は、分配された報酬から、情報の対価を引いた額を利益として確保することができる。
【０１１０】
Ｓ７００において、学習処理部１６０は、ニューラルネットワークによる予測と実際の観測値の誤差を算出する。例えば、学習処理部１６０は、Ｓ３００において予測された予測値（例えば、投資計画により予測された収益額）と、現実の観測値（例えば、現実に投資計画により得られる収益額）との差分を、誤差として算出する。
【０１１１】
Ｓ８００において、学習処理部１６０は、Ｓ７００で算出した誤差を、最下流のノード装置３２（例えば、アクチュエータ４０Ａ及び４０Ｂ）から上流側のノード装置３２に向けて誤差伝搬し、伝搬された誤差に基づいてノード装置３２間の情報伝達の重みを更新する。学習処理部１６０は、ニューラルネットワークの誤差伝搬法において従来知られた手法により、重みの更新を行ってよい。これにより、学習処理部１６０は、例えば、図１に示すニューラルネットワークにおける重みｗ１１＿２１〜ｗ１１＿２３、ｗ１２＿２１〜ｗ１２＿２３、ｗ１３＿２１〜ｗ１３＿２３、ｗ２１＿３１〜ｗ２１＿３３、ｗ２２＿３１〜ｗ２２＿３３、ｗ２３＿３１〜ｗ２３＿３３、ｗ３１＿Ａ、ｗ３２＿Ｂ、及び、ｗ３３＿Ｂを更新してよい。
【０１１２】
これにより、学習処理部１６０は、誤差を小さくするように重みの更新を行うことで、ニューラルネットワークの予測精度を向上することができる。後述するように、ノード出力情報の対価は、ノード装置３２間の重みに基づいて決められてよい。これにより、ニューラルネットワークにおいて、予測に影響する重要な情報を出力するノード装置３２（すなわち、より大きな重みづけがされたノード）に対して、より大きな報酬を分配することができる。
【０１１３】
この後、情報処理システム１０は、Ｓ３００に戻り、Ｓ３００−Ｓ８００のループを繰り返してよい。これにより、情報処理システム１０は、ニューラルネットワークの利用と、ニューラルネットワークの更新を繰り返し行ってよい。
【０１１４】
図４に本実施形態に係る図３のＳ３００における各ノード装置３２の処理フローを示す。図３のＳ３００において、各ノード装置３２は、Ｓ３１０〜Ｓ３５０の処理を実行してよい。
【０１１５】
まず、Ｓ３１０において、ノード装置３２は、ノード入力情報を取得する。例えば、ノード装置３２は、情報処理装置１００のネットワーク処理部１４０から、当該ノード装置３２の上流側に接続された別のノード装置３２からのノード出力情報を、ノード入力情報として取得する。ノード装置３２は、ベクトル値等の形式でノード出力情報を取得してよい。一例として、ノードｎ２１に対応するノード装置３２は、過去の天候情報、気温情報、及び／又は、気圧情報等を含むベクトル値等を、ノード入力情報として取得してよい。
【０１１６】
ノード入力情報を受け取る受取側のノード装置３２は、ノード入力情報を取得する際に、対応するノード出力情報を出力する出力側のノード装置３２に、対価を支払ってよい。すなわち、ノード装置３２は、ノード入力情報を購入してよい。購入処理の詳細は、図５〜６において説明する。
【０１１７】
また、ニューラルネットワークにおいて最上流側のノード装置３２（例えば、ノードｎ１１に対応するノード装置３２）は、情報源２０（例えば、気象データベース）等にアクセスし、過去の天候情報、気温情報、及び／又は、気圧情報等の情報をノード入力情報として取得してよい。これに代えて、最上流側のノード装置３２は、情報処理装置１００のネットワーク処理部１４０経由で、情報源２０に含まれる情報を取得してもよい。
【０１１８】
次にＳ３３０において、ノード装置３２は、Ｓ３１０で取得したノード入力情報に対して演算処理を行う。例えば、ノード装置３２は、ベクトル値等のノード入力情報に対して、線形演算を行う。一例として、ノードｎ２１に対応するノード装置３２は、ｆ２１（ｎ１，１）、ｇ２１（ｎ１，２）、及び、ｈ２１（ｎ１，３）を演算してよい。ｆｉｊ（ｎｉ―１，ｘ）、ｇｉｊ（ｎｉ−１，ｙ）、及び、ｈｉｊ（ｎｉ―１，ｚ）は、ノードｎｉｊにおいて、ノードｎｉ―１，ｘ、ノードｎｉ―１，ｙ、ノードｎｉ―１，ｚからのノード入力情報のそれぞれに対する演算を表す。ｆｉｊ（ｎｉ―１，ｘ）、ｇｉｊ（ｎｉ−１，ｙ）、及び、ｈｉｊ（ｎｉ―１，ｚ）は、任意の関数であってよく、例えば線形関数であってよい。
【０１１９】
また、ニューラルネットワークにおいて最上流側のノード装置３２（例えば、ノードｎ１１に対応するノード装置３２）は、Ｓ３３０において、上記演算を行う代わりに、Ｓ３１０で情報源２０から取得した情報をベクトル値等に変換してよい。これにより、最上流側のノード装置３２は、特徴抽出器として機能する。
【０１２０】
次に、Ｓ３５０において、ノード装置３２は、Ｓ３３０における演算結果をネットワーク処理部１４０に出力する。ネットワーク処理部１４０は、ノード装置３２からの出力結果を重みづけ処理することにより、ノード出力情報を生成してよい。例えば、ネットワーク処理部１４０は、ノードｎ２１に対応するノード装置３２からｆ２１（ｎ１，１）、ｇ２１（ｎ１，２）、及び、ｈ２１（ｎ１，３）を受け取り、ｗ１１−２１×ｆ２１（ｎ１，１）＋ｗ１２−２１×ｇ２１（ｎ１，２）＋ｗ１３−２１×ｈ２１（ｎ１，３）＋ｂ２１を演算してよい。なお、ノード装置３２は、ネットワーク処理部１４０から自身に関連する重みを受け取って、ネットワーク処理部１４０の代わりに重みづけ処理を行い、ノード出力情報を生成してもよい。
【０１２１】
ネットワーク処理部１４０は、ノード出力情報を生成したノード装置３２の下流側の別のノード装置３２にノード出力情報を供給する。例えば、ネットワーク処理部１４０は、ノードｎ２１に対応するノード装置３２のノード出力情報を、当該ノードｎ２１の下流側に接続されるノードｎ３１〜ｎ３３に対応するノード装置３２のそれぞれに、ノード入力情報として供給する。そして、ノードｎ３１〜ｎ３３に対応するノード装置３２及びアクチュエータ４０Ａ及び４０Ｂに対応するノード装置３２においてＳ３１０−Ｓ３５０の処理が順次繰り返される。
【０１２２】
図５に、本実施形態に係る図４のＳ３１０における処理の概要を示す。Ｓ３１０において、ノード入力情報の受取側のノード装置３２Ａは、情報処理装置１００の報酬分配部１７０に対価支払要求を送信する。報酬分配部１７０は、ノード装置３２Ａから対価支払要求を受け取り、ノード入力情報の受取側のノード装置３２Ａからノード出力情報の出力側のノード装置３２Ｂへの対価支払処理を実行する。例えば、報酬分配部１７０は、ノード装置３２Ａのユーザの口座から、ノード装置３２Ｂのユーザの口座に対価に相当する額の送金を実行してよい。
【０１２３】
報酬分配部１７０は、ノード装置３２Ａのユーザの口座残高を対価分減少させ、ノード装置３２Ｂのユーザの口座残高を対価分増加させてよい。報酬分配部１７０は、ノード装置３２Ａのユーザからの要求に応じて、暗号通貨をノード装置３２Ａから３２Ｂに送金してよい。また、報酬分配部１７０は、銀行等の金融機関のネットワークにアクセスして、ノード装置３２Ａのユーザの口座からノード装置３２Ｂのユーザの口座に送金処理を行ってよい。
【０１２４】
対価の支払いがあったことに応じて、ネットワーク処理部１４０は、予め生成してあった出力側のノード装置３２Ｂからのノード出力情報を、受取側のノード装置３２Ａに供給する。受取側のノード装置３２Ａは、ネットワーク処理部１４０から、出力側のノード装置３２Ｂからのノード出力情報を、ノード入力情報として取得する。
【０１２５】
ここで、報酬分配部１７０は、ノード装置３２からのノード出力情報の対価を、受取側のノード装置３２Ａと出力側のノード装置３２Ｂとの間の重みｗＡ−Ｂに基づいて決定してよい。例えば、重みｗＡ−Ｂが大きければ、ノード装置３２Ｂのノード出力情報に対するノード装置３２Ａからの情報の寄与が大きいことになる。従って、報酬分配部１７０は、重みｗＡ−Ｂが大きくなるほどノード装置３２Ｂからノード装置３２Ａへの対価の額を大きくしてよい。例えば、報酬分配部１７０は、重みｗＡ−Ｂに比例する額の対価を設定してよい。
【０１２６】
また、ノード装置３２Ａは、自己が下流の別のノード装置３２から受け取る対価よりも大きな金額をノード装置３２Ｂに支払ってしまうと、損失が生じる。従って、報酬分配部１７０は、ノード装置３２Ａが上流のノード装置３２（ノード装置３２Ｂを含む）に支払う対価の総額が、自己が受け取る対価を超えないように決定してよい。
【０１２７】
また、報酬分配部１７０は、複数のノード装置３２のオークションにより対価を決定してもよい。例えば、複数の下流側（受取側）のノード装置３２Ａが同一の上流側（出力側）のノード装置３２Ｂからのノード出力情報を必要とする場合、報酬分配部１７０は、複数の下流側のノード装置３２Ａから、それぞれの対価の入札額を受け取り、最高額の入札額を対価として決定してよい。その場合、ネットワーク処理部１４０は、最高額の入札を行ったノード装置３２Ａのみに対象となるノード出力情報を供給してよい。
【０１２８】
これに代えて、報酬分配部１７０は、複数の受取側のノード装置３２Ａから、それぞれの対価の入札額を受け取り、取引が成立し（すなわち、対価が入札額以下となる）、かつ、出力側のノード装置３２Ｂの利益を最大化できる一の価格を対価として決定してよい。一例として、ノード装置３２Ｂのノード出力情報に対し、ノード装置３２Ａ１が金額１００で入札し、ノード装置３２Ａ２が金額８０で入札し、ノード装置３２Ａ３が金額１０で入札していた場合、報酬分配部１７０は、対価を金額８０としてよい。この場合、ネットワーク処理部１４０は、ノード装置３２Ａ１とノード装置３２Ａ２とにノード装置３２Ｂのノード出力情報を供給してよい。
【０１２９】
なお、ノード装置３２Ｂが複数のコンピュータにより実現される場合、当該複数のコンピュータ間で更に対価を分配してよい。例えば、ノード装置３２Ｂを実現する複数のコンピュータは、それぞれ自己の計算処理量に応じて対価を分配してよい。このような報酬の分配は、当該複数のコンピュータ内で完結して行われてよく、又は、報酬分配部１７０が複数のコンピュータの対価の取り分を計算し、各コンピュータに取り分を分配してよい。
【０１３０】
ここで、情報処理システム１０は、暗号通貨によるスマートコントラクトを利用して、受取側のノード装置３２Ａと出力側のノード装置３２Ｂとの間の対価及び情報のやり取りを安全に実行してよい。以下、図６を用いてこのような実施形態について説明する。
【０１３１】
図６は、本実施形態に係る図４のＳ３１０のサブフローを示す。情報処理システム１０は、図６のＳ３１２〜Ｓ３２２の処理を行うことにより、ノード装置３２Ａがノード装置３２Ｂから安全にノード入力情報を取得してよい。
【０１３２】
まず、Ｓ３１２において、情報処理装置１００の報酬分配部１７０は、ブロックチェーンを利用する暗号通貨により、出力側のノード装置３２Ｂに対するノード出力情報の対価を、受取側のノード装置３２Ａに支払わせる。ブロックチェーンを利用する暗号通貨は、ビットコイン等の仮想通貨であってよい。このような暗号通貨のブロックチェーン中のブロックには、トランザクションが含まれていてよい。
【０１３３】
報酬分配部１７０は、トランザクションにノード装置３２Ａからノード装置３２Ｂへ対価の支払いを記録してよい。報酬分配部１７０は、トランザクションに更にノード装置３２Ｂの履行内容（例えば、ノード装置３２Ｂが出力するノード出力情報に関する情報等）を記録してよい。
【０１３４】
次にＳ３１４において、Ｓ３１２において対価の支払いがなされたことに応じて、受取側のノード装置３２Ａは自身の公開鍵Ａを報酬分配部１７０に送信する。ノード装置３２Ａは、公開鍵Ａに対応する秘密鍵Ａ'を秘密状態で保持している。報酬分配部１７０は、受取側のノード装置３２Ａから公開鍵Ａを受け取って出力側のノード装置３２Ｂに送信する。
【０１３５】
次にＳ３１６において、出力側のノード装置３２Ｂは、自身の保有する暗号鍵Ｂに対応する複号鍵Ｂ'を公開鍵Ａで暗号化した公開鍵Ａ（複合鍵Ｂ'）を生成し、報酬分配部１７０に送信する。報酬分配部１７０は、出力側のノード装置３２Ｂから公開鍵Ａ（複合鍵Ｂ'）を受け取って、受取側のノード装置３２Ａに送信する。Ｓ３１２〜Ｓ３１６において、受取側のノード装置３２Ａは、ブロックチェーンによる対価の支払いと引き換えに出力側のノード装置３２Ｂの複合鍵Ｂ'を受け取っている。従って、ノード装置３２Ａは、複合鍵Ｂ'をブロックチェーン上でノード装置３２Ｂから購入したと言える。
【０１３６】
次に、Ｓ３１８において、受取側のノード装置３２Ａは、自身の保持する秘密鍵Ａ'で公開鍵Ａ（複合鍵Ｂ'）を復号し、複合鍵Ｂ'を取得する。
【０１３７】
次に、Ｓ３２０において、出力側のノード装置３２Ｂは、ネットワーク処理部１４０から自身に関連する重みを受け取り、自身のノード出力情報ＭＢを生成する。出力側のノード装置３２Ｂは、暗号鍵Ｂでノード出力情報ＭＢを暗号化した暗号鍵Ｂ（ノード出力情報ＭＢ）を生成し、これを報酬分配部１７０に送信する。報酬分配部１７０は、暗号鍵Ｂ（ノード出力情報ＭＢ）を、ノード装置３２Ｂから受け取って、ノード装置３２Ａに送信する。
【０１３８】
次に、Ｓ３２２において、受取側のノード装置３２Ａは、暗号鍵Ｂ（ノード出力情報ＭＢ）を復号鍵Ｂ'で復号し、ノード出力情報ＭＢをノード入力情報として取得する。
【０１３９】
図６で説明した実施形態によれば、ノード装置３２Ａとノード装置３２Ｂが安全にノード出力情報と対価を交換することができる。
【０１４０】
上記の実施形態では、受取側のノード装置３２Ａと出力側のノード装置３２Ｂとが、ネットワーク処理部１４０を介して、対価及び情報のやり取りをした例を説明したが、本実施形態の変形例ではノード装置３２Ａとノード装置３２Ｂとは、ネットワーク処理部１４０を介さずに直接やりとりを行ってよい。
【０１４１】
図７に、本実施形態に係る暗号通貨に用いられるブロックチェーンの一例を示す。ブロックチェーンには、複数のブロックが含まれる。図７には、ブロック（１）、ブロック（２）、ブロック（３）…ブロック（ｎ−１）、ブロック（ｎ））のｎ個のブロックが示される。
【０１４２】
各ブロックには、トランザクション、過去に生成されたブロックのハッシュ、トランザクションのハッシュ等が含まれてよい。例えば、ブロック（ｎ）には、トランザクション（ｎ）、ハッシュ［ブロック（ｎ−１）］、及び、ハッシュ［トランザクション（ｎ）］が含まれてよい。ここでハッシュ［＊］はハッシュ関数を表す。トランザクション（ｎ）には、ノード装置３２Ｂの履行内容（例えば、ノード装置３２Ｂが出力するノード出力情報に関する情報等）が含まれてよい。
【０１４３】
情報処理システム１０によれば、ＭＡＲＬにおいて多数のエージェント（例えば、ノード）を共同させ、情報の対価として報酬を情報ネットワークの下流側から上流側に分配することで、第３者を介在させずに報酬分配を実現できる。特に本実施形態の情報処理システム１０によれば、成果（例えば、収益の正確な予想）に寄与したエージェントに対してより重く報酬を分配することができるので、報酬分配の公平性が保たれる。
【０１４４】
上記の実施形態の説明では、情報処理システム１０を主に金融分野に用いた例を挙げたが、本願発明はこれに限られない。情報処理システム１０は、分散コンピューティングを利用するあらゆる分野に適用することができる。例えば、情報処理システム１０は、スマートグリッド、製造業、保険、小売り等の様々な分野に適用することができる。
【０１４５】
例えば、情報処理システム１０は、製造業における製造効率の改善に用いられてよい。この場合、アクチュエータ４０は、例えば製造業の事業者等によって運用されてもよく、上流側のノード３０から受け取る情報に基づいて製品の製造量、製造する製品の構成比率、製造国、およびその他のパラメータを変更することによって、製造期間の短縮、品質の改善、及び／又は、収益の増加（コスト削減を含む）を図ってもよい。
【０１４６】
また、アクチュエータ４０は、例えば天気、農産物の生産量、およびその他の様々な環境に影響される事象を予測してもよく、ファンド等の代わりに予測データを販売することによって収益を上げてもよい。また、アクチュエータ４０は、テレビ事業者、新聞社、出版社、およびその他のマスコミュニケーション業者であってもよく、上流側のノード３０から受け取る情報に基づいてメディアで提供する情報を生成または選別等をすることにより、収益を上げてもよい。
【０１４７】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、（１）操作が実行されるプロセスの段階または（２）操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および／またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび／またはアナログハードウェア回路を含んでよく、集積回路（ＩＣ）および／またはディスクリート回路を含んでよい。プログラマブル回路は、論理ＡＮＤ、論理ＯＲ、論理ＸＯＲ、論理ＮＡＮＤ、論理ＮＯＲ、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックアレイ（ＰＬＡ）等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【０１４８】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー（登録商標）ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭまたはフラッシュメモリ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、コンパクトディスクリードオンリメモリ（ＣＤ-ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（ＲＴＭ）ディスク、メモリスティック、集積回路カード等が含まれてよい。
【０１４９】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、ＪＡＶＡ（登録商標）、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、１または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【０１５０】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク（ＬＡＮ）、インターネット等のようなワイドエリアネットワーク（ＷＡＮ）を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【０１５１】
図８は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。コンピュータ２２００にインストールされたプログラムは、コンピュータ２２００に、本発明の実施形態に係る情報処理装置１００、ノード装置３２、投資端末４２等に関連付けられる操作または当該装置の１または複数のセクションとして機能させることができ、または当該操作または当該１または複数のセクションを実行させることができ、および／またはコンピュータ２２００に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ２２００に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、ＣＰＵ２２１２によって実行されてよい。
【０１５２】
本実施形態によるコンピュータ２２００は、ＣＰＵ２２１２、ＲＡＭ２２１４、グラフィックコントローラ２２１６、およびディスプレイデバイス２２１８を含み、それらはホストコントローラ２２１０によって相互に接続されている。コンピュータ２２００はまた、通信インターフェイス２２２２、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６、およびＩＣカードドライブのような入／出力ユニットを含み、それらは入／出力コントローラ２２２０を介してホストコントローラ２２１０に接続されている。コンピュータはまた、ＲＯＭ２２３０およびキーボード２２４２のようなレガシの入／出力ユニットを含み、それらは入／出力チップ２２４０を介して入／出力コントローラ２２２０に接続されている。
【０１５３】
ＣＰＵ２２１２は、ＲＯＭ２２３０およびＲＡＭ２２１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ２２１６は、ＲＡＭ２２１４内に提供されるフレームバッファ等またはそれ自体の中にＣＰＵ２２１２によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス２２１８上に表示されるようにする。
【０１５４】
通信インターフェイス２２２２は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ２２２４は、コンピュータ２２００内のＣＰＵ２２１２によって使用されるプログラムおよびデータを格納する。ＤＶＤ−ＲＯＭドライブ２２２６は、プログラムまたはデータをＤＶＤ−ＲＯＭ２２０１から読み取り、ハードディスクドライブ２２２４にＲＡＭ２２１４を介してプログラムまたはデータを提供する。ＩＣカードドライブは、プログラムおよびデータをＩＣカードから読み取り、および／またはプログラムおよびデータをＩＣカードに書き込む。
【０１５５】
ＲＯＭ２２３０はその中に、アクティブ化時にコンピュータ２２００によって実行されるブートプログラム等、および／またはコンピュータ２２００のハードウェアに依存するプログラムを格納する。入／出力チップ２２４０はまた、様々な入／出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入／出力コントローラ２２２０に接続してよい。
【０１５６】
プログラムが、ＤＶＤ−ＲＯＭ２２０１またはＩＣカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ２２２４、ＲＡＭ２２１４、またはＲＯＭ２２３０にインストールされ、ＣＰＵ２２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ２２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ２２００の使用に従い情報の操作または処理を実現することによって構成されてよい。
【０１５７】
例えば、通信がコンピュータ２２００および外部デバイス間で実行される場合、ＣＰＵ２２１２は、ＲＡＭ２２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス２２２２に対し、通信処理を命令してよい。通信インターフェイス２２２２は、ＣＰＵ２２１２の制御下、ＲＡＭ２２１４、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭ２２０１、またはＩＣカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【０１５８】
また、ＣＰＵ２２１２は、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６（ＤＶＤ−ＲＯＭ２２０１）、ＩＣカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がＲＡＭ２２１４に読み取られるようにし、ＲＡＭ２２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ２２１２は次に、処理されたデータを外部記録媒体にライトバックする。
【０１５９】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。ＣＰＵ２２１２は、ＲＡＭ２２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ２２１４に対しライトバックする。また、ＣＰＵ２２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ２２１２は、第１の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【０１６０】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ２２００上またはコンピュータ２２００近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはＲＡＭのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ２２００に提供する。
【０１６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１６２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１６３】
１０  情報処理システム
２０  情報源
３０  ノード
３２  ノード装置
４０  アクチュエータ
４１  投資家
４２  投資端末
５０  クラウドソースプラットフォーム
１００  情報処理装置
１２０  処理取得部
１３０  ネットワーク生成部
１４０  ネットワーク処理部
１５０  投資実行部
１６０  学習処理部
１７０  報酬分配部
１８０  記憶部
【図１】
2019191963.tif 000003
【図２】
2019191963.tif 000004
【図３】
2019191963.tif 000005
【図４】
2019191963.tif 000006
【図５】
2019191963.tif 000007
【図６】
2019191963.tif 000008
【図７】
2019191963.tif 000009
【図８】
2019191963.tif 000010