JP2020177509A - 計算機及びデータ処理方法 - Google Patents

計算機及びデータ処理方法 Download PDF

Info

Publication number
JP2020177509A
JP2020177509A JP2019080141A JP2019080141A JP2020177509A JP 2020177509 A JP2020177509 A JP 2020177509A JP 2019080141 A JP2019080141 A JP 2019080141A JP 2019080141 A JP2019080141 A JP 2019080141A JP 2020177509 A JP2020177509 A JP 2020177509A
Authority
JP
Japan
Prior art keywords
data
learning
unit
time series
output value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019080141A
Other languages
English (en)
Inventor
田井 光春
Mitsuharu Tai
光春 田井
純 古谷
Jun Furuya
純 古谷
伸宏 福田
Nobuhiro Fukuda
伸宏 福田
忠嗣 奥村
Tadatsugu Okumura
忠嗣 奥村
安藤 正彦
Masahiko Ando
正彦 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019080141A priority Critical patent/JP2020177509A/ja
Priority to US16/817,801 priority patent/US20200334516A1/en
Publication of JP2020177509A publication Critical patent/JP2020177509A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】多種多様の入力データ及び出力値を扱うことができるモデルを、計算コストをかけずに生成するための技術を実現する。【解決手段】データ種別が異なる複数の時系列データに基づいて出力値を出力するためのモデルを生成する計算機であって、モデルは、再帰的構造の複数のノードの接続から構成され、所定のタイムステップにしたがって複数のノードの状態を更新するネットワークと、ネットワークから出力される複数の値の各々に重みを乗算した値を加算することによって出力値を算出する加算部とから構成され、計算機は、データ種別が異なる複数の時系列データ及び教師データから構成される学習データを用いて、複数の出力値の各々について、複数の重みを決定する学習処理を実行する学習部と、出力値の種別と、複数の重みとを対応付けた学習結果を格納する記憶部と、を備える。【選択図】 図4

Description

本発明は、機械学習に関する。
近年、分野横断型の情報処理基盤の必要性が高まっている。例えば、都市計画の分野では、ICT(Information and Communication Technology)技術を活用することによって、行政サービスの充実及び地域の高付加価値化に貢献し、ステークホルダーの合意形成をサポートする、データ駆動型の都市計画手法の構築及び普及が注目されている。
従来の都市計画は、行政主導の経験及び感覚又は任意の手法に基づいたものが多かった。そのため、住民が受け入れにくい事例、効果が明確でない事例、有効であっても、経験又は計画者の能力等に依存し、第三者に継承できない事例が殆どである。
都市計画には、経済活動を示すデータ、交通流、不動産に関するデータ、水利データ、及びアンケート等で取得するような定性的なデータ等、多種多様なデータが必要となる。
また、前述のようなデータを活用して得られる情報に関しても、街の状態及び施策の効果を示す指標(例えば、地方の税収額、観光地の収入額、建物及びイベントの動員数、交通流自体又は交通流の渋滞状況、並びに、物流等)も多岐に亘る。特に、施策の効果を示す指標を得るためには、時間の影響も重要な因子である。
国際公開第2002/031764号
Jaeger H. and Haas H., Harnessing nonlinearity: Predicting chaotic systems and saving energy in wireless communication. Science, 304,pp.78-80, 2004.
データ駆動型の都市計画では、現状の都市の状態、及び、政策又は施策に対する効果等を的確に把握することが重要な課題である。この課題を解決するためには、KPI(Key Performance Indicator)等の評価指標となる出力値群を選定し、出力値に寄与するデータの特定し、データ間又は出力値とデータ間の関係を解析する必要がある。なお、出力値は、他の出力値を算出するためのデータとして用いられる場合もある。以下の説明では、出力値を算出するために用いられる、出力値を含むデータを入力データと記載する。
複数のKPIの各々は、複数種類の入力データと、時間的又は空間的に相関を持ちながら変化する。
近年、入力データと出力値との相関関係を演繹的にブラックボックス(モデル)として生成する機械学習の手法が注目されている。
例えば、ニューラルネットワークをモデルとして生成する手法では、入力データ及び出力値の組から構成される教師データを用いて、ノード間の重みを調整する学習が行われる。学習後のニューラルネットワークに対して、新たな入力データを入力することによって、目的の出力値を得ることができる。
機械学習の手法を用いようとする場合、適切な教師データを予め用意する必要がある。しかし、データ駆動型の都市計画では、予め、適切な教師データを用意することは期待できない。
例えば、街の活性度を可視化する場合、どのようなKPIを選び、どのような入力データを準備すれば有用なモデルを構築できるかを予め設定することは不可能である。一般的に、街の状態を知るためのKPI群には絶対的な基準がない。また、都市計画に用いるデータは、データ種別及び数が非常に多く、データ同士及びデータ及びKPIが複雑な相関関係となっている場合が多い。
したがって、従来の機械学習の手法では、モデルを生成に要する計算コスト(計算時間及び消費電力)が非常に高くなる。また、生成されるモデルは複雑なものとなるため、モデルの流用及び更新等が困難である。
本発明は、データ駆動型の都市計画等の多種多様の入力データ及び出力値を扱うことができるモデルを、計算コストをかけずに生成するための技術を実現する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、演算装置及び前記演算装置に接続される記憶装置を備え、データ種別が異なる複数の時系列データに基づいて出力値を出力するためのモデルを生成する計算機であって、前記モデルは、再帰的構造の複数のノードの接続から構成され、所定のタイムステップにしたがって前記複数のノードの状態を更新するネットワークと、前記ネットワークから出力される複数の値の各々に重みを乗算した値を加算することによって前記出力値を算出する加算部とから構成され、前記計算機は、データ種別が異なる複数の時系列データ及び教師データから構成される学習データを用いて、複数の前記出力値の各々について、前記複数の重みを決定する学習処理を実行する学習部と、前記出力値の種別と、前記複数の重みとを対応付けた学習結果を格納する第1の記憶部と、を備える。
本発明の一形態によれば、多種多様の入力データ及び出力値を扱うことができるモデルを、計算コストをかけずに生成できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の計算機の構成を説明する図である。 実施例1の学習データ管理情報のデータ構造の一例を示す図である。 実施例1の学習結果管理情報のデータ構造の一例を示す図である。 実施例1の学習部の機能ブロックの一例を示す図である。 実施例1のリザーバの構造の一例を示す図である。 実施例1の学習部が実行する学習処理を説明するフローチャートである。 実施例1の学習処理の具体的なデータ処理の一例を示す図である。 実施例1の学習処理と従来の学習処理との違いを示すグラフである。 実施例1の予測部の機能ブロックの一例を示す図である。 実施例1の予測部が実行する予測処理を説明するフローチャートである。 実施例2の学習結果管理情報のデータ構造の一例を示す図である。 実施例2の学習部の機能ブロックの一例を示す図である。 実施例2の学習部が実行する学習処理を説明するフローチャートである。 実施例2の学習処理の具体的なデータ処理の一例を示す図である。 実施例2の予測部の機能ブロックの一例を示す図である。 実施例2の予測部が実行する予測処理を説明するフローチャートである。 実施例3の学習部の機能ブロックの一例を示す図である。 実施例3の学習部が実行する学習処理を説明するフローチャートである。 実施例3の予測部の機能ブロックの一例を示す図である。 実施例3の予測部が実行する予測処理を説明するフローチャートである。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
まず、本発明の概要について説明する。
従来技術では、出力値毎にニューラルネットワーク等のモデルを用意する必要があるたった。そのため、複数の出力値を求めるような都市計画では、全てのモデルの生成に膨大な計算コストを要する。また、複数のモデルのパラメータを格納する場合、パラメータの数が多いと、大きな容量の記憶容量が必要となりコストが増大する。
また、従来技術では、新たな出力値を求めるモデルを用意する場合にも膨大な計算コストを要する。
そこで、本発明は、ESN(Echo State Network)を用いた機械学習を実行することによって、各出力値を算出するためのモデルを生成し、モデルの定義情報を学習結果として格納する。
ESNは、層構造がないネットワーク(リザーバ)と、線形加算部とから構成され、時系列データを入力として受け付けるモデルである(例えば、特許文献1及び非特許文献1を参照)。ESNのネットワーク内のノード間の重みは固定されており、ネットワークと線形加算部との間の重みが学習対象となる。したがって、ESNを採用することによって、一般的なニューラルネットワークより、モデルの生成に要する計算コストを削減できるという効果がある。
また、ESNに入力する時系列データのサンプリング間隔は、入力する時系列データと出力値との関係から決まる値であり、モデルの出力値の精度に寄与する重要なパラメータである。
本発明は、出力値の算出に用いる時系列データ毎にサンプリング間隔も学習し、学習結果として格納する。
図1は、実施例1の計算機100の構成を説明する図である。
計算機100は、種類が異なる入力データを処理することによって出力値(KPI)を出力するモデルを生成し、また、モデルを用いた複数種類の出力値を出力する。
実施例1では、時系列の入力データ(時系列データ)がデータセットとして入力され、任意の出力値を出力するモデルを対象とする。時系列データとしては、時々刻々と取得されるセンシングデータ及び時系列順に手動で入力された定量データ等が含まれる。
計算機100は、演算装置101、主記憶装置102、副記憶装置103、ネットワークインタフェース104、入力装置105、及び出力装置106を有する。各ハードウェアは内部バスを介して接続される。
演算装置101は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)、及びGPU(Graphics Processing Unit)等であり、主記憶装置102に格納されるプログラムを実行する。演算装置101がプログラムにしたがって、処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、演算装置101が機能部を実現するプログラムを実行していることを示す。
主記憶装置102は、DRAM(Dynamic Random Access Memory)等であり、演算装置101が実行するプログラム及び各種情報を格納する。また、主記憶装置102は、プログラムが一時的に使用するワークエリアを含む。
実施例1の主記憶装置102には、モデルを生成する学習部110及びモデルを用いて出力値を出力する予測部111を実現するプログラムが格納される。
なお、実施例1のモデルは時系列データを扱うモデルである。なお、学習部110及び予測部111は、別々の計算機に実装されてもよい。すなわち、学習を行う計算機100と、予測を行う計算機100とから構成される計算機システムでもよい。
なお、主記憶装置102に格納されるプログラム及び情報は副記憶装置103に格納されていてもよい。この場合、演算装置101が副記憶装置103からプログラム及び情報を読み出し、主記憶装置102にロードする。
副記憶装置103は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、データを永続的に格納する。
実施例1の副記憶装置103には、学習データを管理するための学習データ管理情報120及び学習結果を管理するための学習結果管理情報121を格納する。なお、学習データ管理情報120のデータ構造の詳細は図2を用いて説明し、学習結果管理情報121のデータ構造の詳細は図3を用いて説明する。
ネットワークインタフェース104は、ネットワークを介して他の装置と通信するためのインタフェースである。入力装置105は、計算機100にデータ及びコマンド等を入力するための装置であり、キーボード、マウス、及びタッチパネル等を含む。出力装置106は、計算機100からデータ及び処理結果等を出力するための装置であり、ディスプレイ及びプリンタ等を含む。また、出力装置106は、仮想現実及び拡張現実等に用いられるデバイスを含んでもよい。
なお、計算機100は、図示しないIOインタフェースを介して、入力装置105及び出力装置106と接続してもよい。なお、計算機100は、ネットワークインタフェース104等を介して接続される外部端末又は外部サーバに、データ及び処理結果を出力してもよい。
計算機100は、データソース150から学習又はシミュレーションに使用するデータを取得する。データソース150から取得されるデータには、気温及び騒音等の環境に関するセンサデータ、学校の位置情報及び人口統計等の業務データ、個人の移動ルート等のパーソナルデータ、POS等の商用データ等が含まれる。なお、本発明は、計算機100が扱うデータの種類及び数に限定されない。
計算機100は、入力インタフェース160を介してデータソース150からデータを取得する。例えば、センサ、外部サーバ、個人端末、及び商用端末等が入力インタフェース160として機能する。
なお、データソース150のデータは、図示しない、データセンタに蓄積してもよい。この場合、データセンタが入力インタフェース160として機能する。データセンタは、データソース150のデータを蓄積する場合、信号振幅の調整等のデータの補正、及び定量データへの変換等のデータ変換等の前処理を実行してもよい。
図2は、実施例1の学習データ管理情報120のデータ構造の一例を示す図である。
学習データ管理情報120は、学習データID201、出力値種別202、入力データ203、及び教師データ204から構成されるエントリを含む。一つの学習データに対して一つのエントリが存在する。
学習データID201は、学習データの識別情報を格納するフィールドである。
出力値種別202は、出力値の種別を示す情報を格納するフィールドである。
入力データ203は、学習部110に入力するデータセットを格納するフィールドである。入力データ203には、少なくとも一つのデータセットが格納される。
なお、入力データ203には、種類が異なるデータセットが複数格納されてよい。なお、入力データ203には、データそのものではなく、入力データの種別、時系列データとして扱う時間の幅等が格納されてもよい。この場合、入力データ203に基づいて、データソース150又はデータセンタからデータセットが取得される。
教師データ204は、教師データを格納するフィールドである。実施例1では、任意のKPIの値が教師データとして格納される。
なお、図2に示す学習データ管理情報120のデータ構造は一例であってこれに限定されない。例えば、CSV形式等のデータ構造でもよい。
図3は、実施例1の学習結果管理情報121のデータ構造の一例を示す図である。
学習結果管理情報121は、出力値種別301及びパラメータ302から構成されるエントリを含む。一つの出力値に対して一つのエントリが存在する。
出力値種別301は、出力値の種別に関する情報を格納するフィールドである。出力値種別301には、例えば、出力値の名称等が格納される。
パラメータ302は、出力値種別301に対応する出力値を算出する場合に用いるパラメータを格納するフィールド群である。パラメータ302は、タイムスケール303及び重み304を含む。
タイムスケール303は、サンプリング間隔を調整するためのパラメータであるタイムスケールを格納するフィールドである。タイムスケールの詳細は後述する。重み304は、モデルを定義する重みを格納するフィールドである。
なお、図3に示す学習結果管理情報121のデータ構造は一例であってこれに限定されない。例えば、CSV形式等のデータ構造でもよい。
まず、学習部110の構成及び処理の詳細について説明する。
図4は、実施例1の学習部110の機能ブロックの一例を示す図である。
学習部110は、入力データ処理部400、ESN401、比較器402、タイムスケールレジスタ403、及び重みレジスタ404を含む。
タイムスケールレジスタ403は、タイムスケールを格納するレジスタである。タイムスケールレジスタ403は、主記憶装置102又は副記憶装置103の記憶領域の一部を用いて実現してもよいし、専用のハードウェアを用いて実現してもよい。
データセットのサンプリング間隔は、出力値と入力データとの間の時間相関の違いよって、調整する必要がある。そこで、実施例1では、サンプリング間隔を調整するためにタイムスケールレジスタ403が設けてられいる。
重みレジスタ404は、ESN401における学習対象の重みを格納するレジスタである。重みレジスタ404は、主記憶装置102又は副記憶装置103の記憶領域の一部を用いて実現してもよいし、専用のハードウェアを用いて実現してもよい。
入力データ処理部400は、入力データ420に対して所定の処理を実行し、処理が実行された入力データ420をESN401に入力する。例えば、入力データ処理部400は以下のような処理を実行する。
(処理A1)入力データ420は、一般的に、データの振幅等がそろっていない。また、入力データ420は、アンケート結果等、定量化されていない値を含むデータも含まれる。そこで、入力データ処理部400は、データ補正、信号振幅の調整、及び定量化等のデータ変換を行う。
(処理A2)また、一般的に、時系列データを構成する入力データ420に含まれる時刻情報の差異、すなわち、時間間隔がそろっていない。そこで、入力データ処理部400は、時間間隔を算出する。例えば、国税調査に関する入力データ420の時間間隔は5年単位であり、気象に関する入力データ420の時間間隔は1時間単位である。
(処理A3)また、入力データ処理部400は、各データセットの時間間隔を調整する処理を実行する。データセットに含まれる入力データ420の時間間隔の最小値を基準に調整すると調整が行いやすい。例えば、第1の入力データ420と第2の入力データ420との間の時間間隔が基準の時間間隔より大きい場合、入力データ処理部400は、公知の内挿法を用いて、入力データ420を補完する。
(処理A4)また、入力データ処理部400は、サンプリング間隔に基づいて、各データセットから学習部110に入力する入力データを選択するサンプリングを行う。
以下の説明では、サンプリング以外の処理を前処理と記載する。なお、データセンタにデータを蓄積する場合、データセンタが前処理を実行してもよい。
ESN401は、入力データ420から出力値を導出する。ESN401は、リザーバ410及び線形加算部411から構成される。ESN401の構造の詳細は後述する。
比較器402は、ESN401から出力された出力値と、教師データ421とを比較し、比較結果に基づいてモデル(重み)を更新する。例えば、比較器402は、最小二乗法を用いて、二つの値の誤差が小さくなるようにモデルを更新する。
ここで、ESN401の構造について説明する。図5は、実施例1のリザーバ410の構造の一例を示す図である。
リザーバ410は、複数の入力ノード500、複数の内部ノード503を含む内部ネットワーク501、及び複数の出力ノード502から構成される。内部ネットワーク501は、内部ノード503の再帰的な構造の接続から構成される。図5に示す例では、入力ノード500及び出力ノード502の数は16個であり、内部ネットワーク501は18個の内部ノード503を含む。実際のリザーバ410に含まれるノードの数は非常に多くなる。例えば、内部ノード503には内部ノード503が100個以上含まれる場合がある。
以下の説明では、入力ノード500、出力ノード502、及び内部ノード503を区別しない場合、ノードと記載する。
図5は、リザーバ410の論理的な構造を表すものであって、物理的な構造を表しているわけではない。すなわち、ノードは、内部状態を示す値を保持し、当該値と他ノードから入力された値(信号)とを用いた非線形変換の演算を行って内部状態を更新し、演算結果を出力する機能を表す。また、ノード間を接続する線(矢印)は、値(信号)の伝達機能を表す。なお、ノード間の値(信号)の出力は、一定のタイムステップにしたがって行われる。
ノード間を接続する線には重みが設定される。転送先のノードには、転送元のノードの値と当該重みとが乗算された値が転送される。
リザーバ410のデータ処理(信号処理)の詳細は非特許文献1に記載されているため、ここでは、概要を説明する。
入力ノード500は、入力信号を受け付け、非線形変換された値を内部ネットワーク501及び出力ノード502に遅延なしで出力する。
内部ノード503は、他の内部ノード503及び出力ノード502のいずれかに接続される。内部ノード503の接続先が他の内部ノード503である場合、内部ノード503は、1タイムステップだけ遅延を発生させて他の内部ノード503に値を出力する。内部ノード503の接続先が出力ノード502である場合、内部ノード503は、出力ノード502に遅延無しで値を出力する。
出力ノード502は、内部ノード503及び他の出力ノード502のいずれかに接続される。また、出力ノード502は、外部(線形加算部411)にも接続される。出力ノード502は、1タイムステップだけ遅延を発生させて、接続される内部ノード503又は他の出力ノード502に値を出力し、また、外部(線形加算部411)に遅延無しで値を出力する。
線形加算部411は、リザーバ410の出力ノード502と接続し、出力ノード502から出力された値に重みを乗算した値を加算し、出力値として出力する。
リザーバ410の結合及び重みは固定されており、学習処理では更新されない。また、リザーバ410及び線形加算部411の接続は固定されており、学習処理では更新されない。一方、リザーバ410及び線形加算部411の接続の重みは、学習処理で更新される。
タイムスケールに関する記載で説明したように、出力値を算出するモデルに入力する入力データ420のサンプリング間隔には、最適な時間間隔が存在する。そこで、実施例1では、タイムスケールも学習処理で更新する。また、サンプリング間隔と、ESN401のタイムステップとを同期させることによって、出力値と教師データとの差をさらに小さくすることができる。
実施例1では、学習部110は、学習処理が終了したあと、タイムスケールレジスタ403及び重みレジスタ404に格納されるパラメータを学習結果として学習結果管理情報121に格納する。
図6は、実施例1の学習部110が実行する学習処理を説明するフローチャートである。図7は、実施例1の学習処理の具体的なデータ処理の一例を示す図である。図8は、実施例1の学習処理と従来の学習処理との違いを示すグラフである。
学習部110は、学習処理の実行指示を受け付けた場合、以下で説明する学習処理を開始する。なお、周期的に実行されてもよい。
学習部110は変数jを初期化する(ステップS101)。ここで、変数jは出力値(KPI)を識別するための添字である。ここでは、変数jに1が設定される。
次に、学習部110は、ターゲット出力値を選択する(ステップS102)。
具体的には、学習部110は、変数jに対応する出力値をターゲット出力値として選択する。
次に、学習部110は、学習データ管理情報120から学習データを取得する(ステップS103)。
具体的には、学習部110は、出力値種別202にターゲット出力値の種別が設定されたエントリを検索する。学習部110は、検索されたエントリに対応する学習データを取得する。
次に、学習部110は、モデルの初期設定処理を実行する(ステップS104)。具体的には、以下のような処理が実行される。
学習部110は、重みの初期値を設定することによってESN401(モデル)の初期設定を行う。重みの初期値は重みレジスタ404に格納される。なお、重みの初期値は、ランダムに設定されてもよいし、任意のアルゴリズムに基づいて設定されてもよい。
また、学習部110は、タイムスケールを決定し、タイムスケールレジスタ403にタイムスケールを格納する。例えば、学習部110は、全てのデータセットのサンプリングの時間間隔の最小値を初期値として設定する。なお、タイムスケールの初期値は、アルゴリズムに基づいて設定されてもよいし、また、ユーザが入力してもよい。
次に、学習部110は、タイムスケールレジスタ403に設定されたタイムスケールに基づいてサンプリングを行うことによって入力データ420を選択する(ステップS105)。
具体的には、入力データ処理部400は、入力データ420に対して前処理を実行したあと、タイムスケールに基づいてサンプリングを行って、入力データ420を選択する。また、入力データ処理部400は、選択された入力データ420から構成される学習用時系列データをESN401に入力する。
次、学習部110は、選択された入力データ420から構成される学習用時系列データを用いて重み更新処理を実行する(ステップS106)。具体的には、以下のような処理が実行される。
ESN401は、タイムスケールに対応するタイムステップだけ遅延させて、学習用時系列データを構成する入力データ420をリザーバ410に入力する。さらに、ESN401は、リザーバ410の出力結果を線形加算部411に入力する。線形加算部411は、リザーバ410の出力結果の重み付け加算を実行することによって出力値を算出する。ESN401は、学習用時系列データを構成する全ての入力データ420が入力され、所定のタイムステップ分の処理が実行された後、出力値を比較器402に入力する。
比較器402は、出力値及び教師データ421の比較結果に基づいてESN401の重み及びタイムスケールを更新する。
例えば、学習部110は、サンプリング間隔を変数とし、出力値及び教師データ421の誤差を示すエラー値の極小値を求めればよく、勾配法等の公知の手法を用いればよい。局所的な極小値に収束することなく、エラー値の最小値に収束させる手法で重みが更新されてもよい。この場合、重みの変化のさせ方に摂動を加える等、公知の手法を用いればよい。
比較器402は、出力値及び教師データ421の誤差を示すエラー値を算出し、ワークエリアに格納されるエラー値より今回のエラー値が小さいか否かを判定する。なお、ワークエリアに格納されるエラー値より今回のエラー値が小さい場合、比較器402は、今回のエラー値をワークエリアに格納する。また、比較器402は、更新されたタイムスケールをタイムスケールレジスタ403に格納し、重みの保存指示を線形加算部411に出力する。線形加算部411は、重みの保存指示を受け付けた場合、更新された重みを重みレジスタ404に格納する。
以上がステップS106の処理の説明である。
次に、学習部110は、学習を終了するか否かを判定する(ステップS107)。
具体的には、学習部110は、エラー値又はエラー値の変化率が閾値より小さくなるESN401(モデル)が生成されたか否かを判定する。エラー値又はエラー値の変化率が閾値より小さくなるESN401(モデル)が生成された場合、学習部110は学習を終了すると判定する。なお、重みの更新処理の実行回数が閾値より大きい場合、学習部110は学習を終了すると判定してもよい。
学習を終了しないと判定された場合、学習部110は、ステップS105に戻り、同様の処理を実行する。
学習を終了すると判定された場合、学習部110は、学習結果管理情報121に学習結果を格納する(ステップS108)。
具体的には、学習部110は、学習結果管理情報121にエントリを追加し、追加されたエントリの出力値種別301にターゲット出力値の識別情報を設定する。学習部110は、追加されたエントリのタイムスケール303にタイムスケールレジスタ403に格納されるタイムスケールを設定し、重み304に重みレジスタ404に格納される重みを設定する。
次に、学習部110は、全ての出力値の学習が完了したか否かを判定する(ステップS109)。
全ての出力値の学習が完了していないと判定された場合、学習部110は、変数jを更新し(ステップS110)、その後、ステップS102に戻る。
具体的には、学習部110は、変数jに1を加算した値を、変数jに設定する。
全ての出力値の学習が完了したと判定された場合、学習部110は学習処理を終了する。
ここで、図7を用いて、学習処理の流れについて説明する。
ステップS103において、データ種別が異なるデータセット700−1、700−2、700−3が取得されてものとする。なお、入力データ処理部400によって、各データセット700の時間間隔の最小値(t)が同一となるように前処理が実行されたものとする。
ステップS103では、学習部110は、データセット700の時間間隔の最小値(t)の2倍をタイムスケールとして設定する。
ステップS104では、学習部110は、タイムスケール単位でデータセット700−1、700−2、700−3から入力データ420を選択し、学習用時系列データ710−1、710−2、710−3を生成する。
ステップS106では、学習部110は、学習用時系列データ710を用いて重み及びタイムスケールを更新する。
ステップS107において、学習処理を終了しないと判定された場合、学習部110は、ステップS105では、タイムスケール単位でデータセット700から入力データ420を選択する。
ステップS105では、学習部110は、選択された入力データ420でデータセット700−1、700−2、700−3から入力データ420を選択し、学習用時系列データ710−1、710−2、710−3を生成する。
ステップS106では、学習部110は、学習用時系列データ710を用いて重み及びタイムスケールを更新する。このとき、今回のエラー値が前回よりエラー値より大きい場合、タイムスケールレジスタ403及び重みレジスタ404の値は更新されない。
深層学習及びLSTM(Long Short−Term Memory)等、従来の機械学習では、ノードの組合せに対して、ノード間の接続の重みが学習される。重みの数は、例えば、内部ノードだけに着目した場合、内部ノード数の2乗のオーダとなる。したがって、ニューラルネットワークの規模が大きくなれば、機械学習に要する計算量も膨大になり、計算時間及び消費電力等の計算コストが大きくなる。
一方、ESNは、学習するのは出力ノード502と線形加算部411との間の接続の重みだけであり、また、内部ノード503の数の計算量への影響は小さいため、機械学習に要する計算コストは従来の機械学習より大幅に削減できる。しかも、出力ノードの数は、予測精度に影響を与えない程度に自由に調整することができる。
実施例1では、学習部110は、同一構造のリザーバ410を含むESN401を用いて、出力値毎の出力ノード502と線形加算部411との間の重みを学習する。これによって、学習時間を短くすることができる。また、後述するように、重みを切り替えることによって一つのESN901(図9参照)を用いて複数の出力値を算出することができる。また、学習結果は出力ノード502と線形加算部411との間の重みのみであるため、学習結果を格納する記憶領域を少なくできる。
ここで、実施例1の学習処理とLSTMに基づく学習処理の差異について説明する。図8は、実施例1のESNとLSTMとの計算時間を比較したグラフである。図8のグラフの横軸は内部ノードの数を表し、縦軸は計算時間を表す。なお、ESN及びLSTMの内部ノードの数は同一のものとした。
図8に示すように、ESNの計算時間は、LSTMの計算時間より3桁ほど短くなることが分かる。これは、学習するパラメータ(重み)が少なく、また、パラメータ間の関係が複雑でないことに基づく。入力データの種類及び数が多くなれば、内部ノード数を増やしてシミュレーション精度を上げる必要が生じるため、サーバの負荷の観点でESNの採用することが望ましい。
次に、予測部111の構成及び処理の詳細について説明する。
図9は、実施例1の予測部111の機能ブロックの一例を示す図である。
予測部111は、入力データ処理部900、ESN901、出力部902、タイムスケールレジスタ903、及び重みレジスタ904を含む。
入力データ処理部900は、入力データ処理部400と同一のものである。なお、入力データ処理部900には、予測処理に用いる入力データ920が入力される。ESN901はESN401と同一のものである。また、タイムスケールレジスタ903及び重みレジスタ904は、タイムスケールレジスタ403及び重みレジスタ404と同一のものである。
出力部902は、ESN901から出力された出力値921を出力する。
図10は、実施例1の予測部111が実行する予測処理を説明するフローチャートである。
予測部111は、予測処理の実行指示を受け付けた場合、以下で説明する予測処理を開始する。なお、周期的に実行されてもよい。
予測部111は変数jを初期化する(ステップS201)。ここで、変数jは出力値(KPI)を識別するための添字である。ここでは、変数jに1が設定される。
次に、予測部111は、ターゲット出力値を選択する(ステップS202)。
具体的には、予測部111は、変数jに対応する出力値をターゲット出力値として選択する。
次に、予測部111は、シミュレーション処理に使用する入力データ920を取得する(ステップS203)。
具体的には、予測部111は、データソース150又はデータセンタから入力データ920を取得する。
次に、予測部111は、モデルの設定処理を実行する(ステップS204)。
具体的には、予測部111は、学習結果管理情報121を参照し、出力値種別301にターゲット出力値の種別が設定されたエントリを検索する。予測部111は、検索されたエントリのパラメータ302に基づいて、タイムスケール及び重みを設定する。これによって、ターゲット出力値を算出するためのモデルが構築される。
次に、予測部111は、タイムスケールレジスタ903に設定されたタイムスケールに基づいてサンプリングを行うことによって入力データ920を選択する(ステップS205)。
具体的には、入力データ処理部900は、入力データ920に対して前処理を実行したあと、タイムスケールに基づいてサンプリングを行って、入力データ920を選択する。また、入力データ処理部900は、選択された入力データ920から構成される解析用時系列データをESN401に入力する。
次、予測部111は、選択された入力データ920から構成される解析用時系列データを用いてシミュレーション処理を実行する(ステップS206)。
具体的には、ESN401は、タイムスケールに対応するタイムステップだけ遅延させて、解析用時系列データを構成する入力データ920をリザーバ910に入力する。さらに、ESN401は、リザーバ910の出力結果を線形加算部911に入力する。線形加算部911は、リザーバ910の出力結果の重み付け加算を実行することによって出力値を算出する。ESN401は、解析用時系列データを構成する全ての入力データ920が入力され、所定のタイムステップ分の処理が実行された後、出力値を出力部902に入力する。
以上がステップS206の処理の説明である。
次に、予測部111は予測結果を出力する(ステップS207)。
具体的には、出力部902は、出力装置106に出力値921を出力し、又は、ネットワークインタフェース104を介して接続される外部装置に出力値921を出力する。このとき、予測部111は、入力データ920から構成されるデータセット及び出力値921から構成される教師データ421を生成し、学習データ管理情報120に格納してもよい。このように、学習処理に必要な学習データを蓄積し、これを利用した学習処理を実行することによって、経時的に予測精度を高めてることが可能となる。
次に、予測部111は、全ての出力値の出力が完了したか否かを判定する(ステップS208)。
全ての出力値の出力が完了していないと判定された場合、予測部111は、変数jを更新し(ステップS209)、その後、ステップS202に戻る。
具体的には、予測部111は、変数jに1を加算した値を、変数jに設定する。
全ての出力値の出力が完了したと判定された場合、予測部111は予測処理を終了する。
実施例1では、各出力値の重み及びタイムスケールを内部パラメータとして一つの予測部111に設定することによって、複数の出力値を算出することができる。
次に、実施例1で説明した計算機100の具体的な活用方法について説明する。
ここでは、データセットSa、Sbから、町の状態を表すKPIである交通量及び賑わい度を算出するためのモデルが生成されているものとする。
(事例1)新たなデータセットScを追加したモデルを生成する場合、学習データが更新され、学習部110は、交通量及び賑わい度の各々に対してステップS103からステップS108までの処理を実行する。
(事例2)近年の状況からデータセットSaの補足データSa’も交通量及び賑わい度に寄与していることが分かった場合、学習データが更新され、学習部110は、交通量及び賑わい度の各々に対してステップS103からステップS108までの処理を実行する。
(事例3)地価がKPIとして必要となった場合、学習データが更新され、学習部110は、ステップS103からステップS108までの処理を実行し、地価を算出するためのモデルを生成する。
KPI群を可視化することによって、着目する都市の地価、査定の根拠等を示す情報として提供できる。なお、都市計画のKPIには、教育サポートの充実度、防災設備の普及率、文化活動等が考えられる。
また、エリア価値等、想定されるKPIを算出するためのモデルを生成することによって、KPIの妥当性を評価することができる。妥当なKPIを特定することによって、保険等の金融商品を策定する指標として活用できる。
また、地域の特性を質的なものも含めて可視化できるKPIを算出するためのモデルを生成することによって、KPIの妥当性を評価することができる。妥当なKPIを特定することによって、街おこし及び施策の有効性及び効果を確認するための指標として活用できる。
このように、実施例1の計算機100は、都市計画の典型的な事例に対応したモデルを迅速かつ低コストで生成できる。
以上で説明したように、実施例1によれば、データ種別が異なる複数のデータセット(時系列データ)から複数の出力値を算出できる計算機100を、少ない計算コストで実現することができる。このような計算機100は、データ駆動型の都市計画に柔軟に対応することができる。
実施例2は、学習部110及び予測部111の機能ブロックの構成が一部異なる。以下、実施例1等の差異を中心に実施例2を説明する。
実施例2の計算機100のハードウェア構成及びソフトウェア構成は実施例1と同一である。実施例2の学習データ管理情報120のデータ構造は実施例1と同一である。
実施例2では、学習結果管理情報121に格納されるデータが一部異なる。図11は、実施例2の学習結果管理情報121のデータ構造の一例を示す図である。
学習結果管理情報121に含まれるエントリのタイムスケール303には、入力データ420毎のタイムスケールの組合せが格納される。
このように、実施例2では、一つの出力値を算出するためのパラメータとして、入力データ420毎にタイムスケールが設定される。
実施例2では、学習部110の機能ブロックの構成が異なる。図12は、実施例2の学習部110の機能ブロックの一例を示す図である。
実施例2の学習部110は、新たに、入力データ蓄積部1200を含む。その他の機能ブロックは実施例1と同一である。
入力データ蓄積部1200は、入力データ処理部400が処理した入力データ420を蓄積する。また、入力データ蓄積部1200は、蓄積された入力データ420をESN401に入力する。入力データ蓄積部1200は、主記憶装置102又は副記憶装置103の記憶領域の一部を用いて実現してもよいし、専用のハードウェアを用いて実現してもよい。
また、実施例2では、タイムスケールレジスタ403に格納されたタイムスケールは入力データ処理部400にのみ入力される。
図13は、実施例2の学習部110が実行する学習処理を説明するフローチャートである。図14は、実施例2の学習処理の具体的なデータ処理の一例を示す図である。
ステップS101からステップS104までの処理は実施例1と同一の処理である。ただし、ステップS104では、入力データ420の種別毎にタイムスケールが決定される点が異なる。
ステップS104の処理が実行された後、学習部110は、タイムスケールレジスタ403に設定されたタイムスケールに基づいてサンプリングを行うことによって入力データ420を選択し、入力データ蓄積部1200に蓄積する(ステップS151)。具体的には、以下のような処理が実行される。
(ステップS151−1)入力データ処理部400は、取得対象の入力データ420の種別を選択し、対応するタイムスケールをタイムスケールレジスタ403から取得する。
(ステップS151−2)入力データ処理部400は、取得したタイムスケールにしたがってサンプリングを行って、入力データ420を選択する。また、入力データ処理部400は、選択された入力データ420から構成される学習用時系列データを入力データ蓄積部1200に蓄積する。
入力データ処理部400は、全てのデータ種別に対して(ステップS151−1)及び(ステップS151−2)を実行する。
次に、学習部110は、学習用時系列データを用いて重み更新処理を実行する(ステップS152)。具体的には、以下のような処理が実行される。
入力データ処理部400は、入力データ蓄積部1200から1タイムステップ分の入力データ420を取得し、ESN401に入力する。ESN401は、公知の処理にしたがって処理を実行する。ESN401は、学習用時系列データを構成する全ての入力データ420が入力され、所定のタイムステップ分の処理が実行された後、出力値を比較器402に入力する。
比較器402は、出力値及び教師データ421の比較結果に基づいてESN401の重み及びタイムスケールを更新する。例えば、各タイムスケールを変数とするエラー値の極小値を求めればよい。
ステップS107からステップS110までの処理は実施例1と同一である。
実施例1では、各データ種別の学習用時系列データに含まれる入力データ420のサンプリング間隔が同一となるようにタイムステップが調整されていた。一方、実施例2では、入力データ420の種別毎にESN401のタイムステップを調整する必要がない。これによって、ESN401は、異なる時間間隔の入力データ420を同じタイムステップで処理することができる。これによって、学習の精度が大幅に向上する。
ここで、図14を用いて、学習処理の流れについて説明する。
ステップS104において、データセット700−1のタイムスケールが2tに設定され、データセット700−2のタイムスケールがtと設定され、データセット700−3のタイムスケールが3tと設定されてものとする。
ステップS151では、学習部110は、各データセット700−1、700−2、700−3から、各タイムスケールに基づいてサンプリングを行って入力データ420を選択する。
ステップS152では、学習部110は、学習用時系列データ710に含まれる入力データ420の時間間隔の違いにかかわらず、一つの入力データ420を取り出し、ESN401に入力する。学習部110は、学習用時系列データ710を用いて重み及びタイムスケールを更新する。
例えば、学習部110は、データセット700−1、700−2、700−3のタイムスケールを4tに設定する。
ステップS151では、学習部110は、各データセット700−1、700−2、700−3から、各タイムスケールに基づいてサンプリングを行って入力データ420を選択する。
ステップS152では、学習部110は、学習用時系列データ710に含まれる入力データ420の時間間隔の違いにかかわらず、一つの入力データ420を取り出し、ESN401に入力する。学習部110は、学習用時系列データ710を用いて重み及びタイムスケールを更新する。以下、同様の処理が実行される。
例えば、気温に対する二酸化炭素の排出力の影響が数年のスパンであり、日照量の影響が数日のスパンであるように、入力データが出力値に与える影響の時間間隔は異なる。そこで、ESN401の1タイムステップで異なる時間間隔の入力データを扱えるように入力データ420の入力間隔を調整する。これによって、教師データ421と出力値との差異をより小さくすることができ、予測精度が高いモデルを生成することができる。
実施例2では、予測部111の機能ブロックの構成が異なる。図15は、実施例2の予測部111の機能ブロックの一例を示す図である。
実施例2の予測部111は、新たに、入力データ蓄積部1500を含む。その他の機能ブロックは実施例1と同一である。
入力データ蓄積部1500は、入力データ処理部900と同一のものである。また、実施例2では、タイムスケールレジスタ903に格納されたタイムスケールは入力データ処理部900にのみ入力される。
図16は、実施例2の予測部111が実行する予測処理を説明するフローチャートである。
ステップS201からステップS204までの処理は実施例1と同一の処理である。ただし、ステップS204では、入力データ420の種別毎にタイムスケールが決定される点が異なる。
ステップS204の処理が実行された後、予測部111は、タイムスケールレジスタ903に設定されたタイムスケールに基づいてサンプリングを行うことによって入力データ920を選択し、入力データ蓄積部1500に蓄積する(ステップS251)。
次に、学習部110は、入力データ蓄積部1500から1タイムステップ分の入力データ420を選択し、ESN401に入力する(ステップS252)。その後、学習部110はステップS206に進む。具体的には、以下のような処理が実行される。
入力データ処理部900は、入力データ蓄積部1500から1タイムステップ分の入力データ920を取得し、ESN901に入力する。ESN901は、公知の処理にしたがって処理を実行する。
ESN901は、学習用時系列データを構成する全ての入力データ920が入力され、所定のタイムステップ分の処理が実行された後、出力値を出力部902に入力する。
ステップS207からステップS209の処理は実施例1と同一である。
実施例2によれば、実施例1と同様の効果を奏する計算機100を実現できる。また、予測精度の高いモデルを生成することができる。
実施例3では、学習部110及び予測部111の機能ブロックの構成が一部異なる。以下、実施例1等の差異を中心に実施例3を説明する。
実施例3の計算機100のハードウェア構成及びソフトウェア構成は実施例1と同一である。実施例3の学習データ管理情報120及び学習結果管理情報121のデータ構造は実施例1と同一である。
図17は、実施例3の学習部110の機能ブロックの一例を示す図である。
実施例3では、ESN401が複数の線形加算部411を含む。また、学習部110は、各線形加算部411に対応する比較器402を複数含み、重みレジスタ404を複数含む。さらに、学習部110は、各比較器402に対応するタイムスケールレジスタ403を複数含む。
一つの出力値に対して、線形加算部411及び比較器402のペアが一つ存在するものとする。
実施例3では、タイムスケールは初期値に固定される。また、タイムスケールに基づくESN401のタイムステップの調整は行われない。したがって、ESN401のタイムステップ及びサンプリング間隔は同一となる。
図18は、実施例3の学習部110が実行する学習処理を説明するフローチャートである。
学習部110は、学習データ管理情報120から、各出力値を算出するモデルを生成するための学習データを取得する(ステップS161)。
次に、学習部110は、モデルの初期設定処理を並列実行する(ステップS162)。
具体的には、学習部110は、線形加算部411の重みに初期値を設定し、各タイムスケールレジスタ403に初期値を設定する。
なお、タイムスケールの初期値には、全てのデータセットに含まれる入力データ420の時間間隔の最小値、又は、種類が異なる入力データ420の時間間隔の共通分割数値等が設定される。
次に、学習部110は、タイムスケールレジスタ403に設定されたタイムスケールに基づいてサンプリングを行うことによって、各出力値の入力データ420を選択する(ステップS163)。入力データ420を選択する処理は、ステップS105の処理と同一である。
次、学習部110は、選択された入力データ420から構成される学習用時系列データを用いて重み更新処理を並列実行する(ステップS164)。
重み更新処理は実施例1と同様である。各線形加算部411は、タイムスケールにしたがって出力値を比較器402に出力する。また、比較器402は、タイムスケールにしたがって教師データ421を取得し、出力値と教師データ421とを比較する。比較器402は、比較結果に基づいて重みを更新する。
線形加算部411及び比較器402のペアによる重みの更新処理が完了した場合、学習部110は、線形加算部411及び比較器402のペアに対応するタイムスケールレジスタ403及び重みレジスタ404の値を並列に出力し、学習結果管理情報121に格納する。
なお、線形加算部411及び比較器402のペアに対応するタイムスケールレジスタ403及び重みレジスタ404の値を対応付けるレジスタを設け、学習部110は、当該レジスタからの出力を学習結果管理情報121に格納してもよい。
なお、複数の出力値に対して一つの線形加算部411及び比較器402のペアを割り当ててもよい。この場合、当該ペアは、出力値毎に重みを学習する。
図19は、実施例3の予測部111の機能ブロックの一例を示す図である。
実施例3では、ESN901が複数の線形加算部911を含む。また、予測部111は、各線形加算部911に対応するタイムスケールレジスタ903及び重みレジスタ904を複数含む。
一つの出力に対して、線形加算部911、タイムスケールレジスタ903、及び重みレジスタ904の組が一つ存在するものとする。
図20は、実施例3の予測部111が実行する予測処理を説明するフローチャートである。
次に、予測部111は、データソース150から、各出力値を算出するための入力データ920を取得する(ステップS261)。
次に、予測部111は、モデルの設定処理を並列実行する(ステップS262)。
具体的には、予測部111は、各タイムスケールレジスタ403にタイムスケールを設定し、また、各線形加算部911に重みを設定する。
次に、予測部111は、タイムスケールレジスタ903に設定されたタイムスケールに基づいてサンプリングを行うことによって、各出力値の入力データ920を選択する(ステップS263)。入力データ920を選択する処理は、ステップS205の処理と同一である。
次、予測部111は、選択された入力データ920から構成される解析用時系列データを用いてシミュレーション処理を並列実行する(ステップS264)。シミュレーション処理は実施例1と同一である。
次に、予測部111は予測結果を出力する(ステップS265)。
具体的には、出力部902は、出力装置106に出力値921を出力し、又は、ネットワークインタフェース104を介して接続される外部装置に出力値921を出力する。このとき、予測部111は、データセット及び出力値921から構成される教師データ421を生成し、学習データ管理情報120に格納してもよい。
なお、複数の出力値に対して一つの組を割り当ててもよい。この場合、当該組は、出力値毎にパラメータを切り替えて、出力値を算出する。
実施例3によれば、複数の出力値を算出するシミュレーション処理を並列実行することによって、複数の出力値を算出するための計算時間が短くなる。
また、実施例1と同様に、出力値の追加又は変更に柔軟に対応することができる。したがって、例えば、オンタイムシミュレーションなど、都市の状態の現状及び時間の変化を可視するシステムに適用することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100 計算機
101 演算装置
102 主記憶装置
103 副記憶装置
104 ネットワークインタフェース
105 入力装置
106 出力装置
110 学習部
111 予測部
120 学習データ管理情報
121 学習結果管理情報
150 データソース
160 入力インタフェース
400、900 入力データ処理部
401、901 ESN
402 比較器
403、903 タイムスケールレジスタ
404、904 重みレジスタ
410、910 リザーバ
411、911 線形加算部
420、920 入力データ
421 教師データ
500 入力ノード
501 内部ネットワーク
502 出力ノード
503 内部ノード
700 データセット
710 学習用時系列データ
902 出力部
921 出力値
1200、1500 入力データ蓄積部

Claims (14)

  1. 演算装置及び前記演算装置に接続される記憶装置を備え、データ種別が異なる複数の時系列データに基づいて出力値を出力するためのモデルを生成する計算機であって、
    前記モデルは、再帰的構造の複数のノードの接続から構成され、所定のタイムステップにしたがって前記複数のノードの状態を更新するネットワークと、前記ネットワークから出力される複数の値の各々に重みを乗算した値を加算することによって前記出力値を算出する加算部とから構成され、
    前記計算機は、
    データ種別が異なる複数の時系列データ及び教師データから構成される学習データを用いて、複数の前記出力値の各々について、前記複数の重みを決定する学習処理を実行する学習部と、
    前記出力値の種別と、前記複数の重みとを対応付けた学習結果を格納する第1の記憶部と、を備えることを特徴とする計算機。
  2. 請求項1に記載の計算機であって、
    前記複数の重みを格納する第2の記憶部と、前記複数の時系列データから前記モデルに入力する時系列データをサンプリングするためのサンプリング間隔を格納する第3の記憶部とを備え、
    前記学習部は、
    前記第3の記憶部に格納される前記サンプリング間隔に基づいて、前記学習データに含まれる前記複数の時系列データをサンプリングすることによって複数の学習用時系列データを生成し、前記複数の学習用時系列データを前記モデルに入力する入力データ処理部と、
    前記モデルから出力された前記出力値と、前記教師データとを比較し、前記比較の結果に基づいて、前記複数の重み及び前記サンプリング間隔を更新する比較器と、を含み、
    前記出力値の種別、前記第2の記憶部に格納される前記複数の重み、及び前記第3の記憶部に格納される前記サンプリング間隔を対応付けた前記学習結果を前記第1の記憶部に格納することを特徴とする計算機。
  3. 請求項2に記載の計算機であって、
    前記モデルは、前記サンプリング間隔だけ遅延を発生させるように、前記複数の時系列データを前記ネットワークに入力する制御を含むことを特徴とする計算機。
  4. 請求項2に記載の計算機であって、
    前記学習データを蓄積する第4の記憶部を備え、
    前記入力データ処理部は、前記タイムステップと同期するように、前記第4の記憶部から、前記学習データに含まれる前記複数の時系列データをサンプリングすることによって前記複数の学習用時系列データを生成することを特徴とする計算機。
  5. 請求項2に記載の計算機であって、
    前記モデルは、前記加算部を複数含み、
    前記学習部は、前記複数の加算部の各々とペアを構成するように、複数の前記比較器を含み、
    前記計算機は、前記複数の比較器の各々とペアを構成するように、複数の前記第3の記憶部を備え、
    前記学習部は、前記加算部、前記比較器、及び前記第3の記憶部の組を用いて、前記複数の出力値に関する前記学習処理を並列に実行することを特徴とすることを特徴とする計算機。
  6. 請求項1に記載の計算機であって、
    前記ネットワークは、Echo State Networkであることを特徴とする計算機。
  7. 請求項1に記載の計算機であって、
    前記第1の記憶部から前記学習結果を取得して前記モデルを構築し、解析用時系列データを前記モデルに入力することによって前記学習結果に対応する前記出力値を出力する予測部を備えることを特徴とする計算機。
  8. 計算機が実行する、データ種別が異なる複数の時系列データに基づいて出力値を出力するためのモデルを生成するためのデータ処理方法であって、
    前記計算機は、演算装置及び前記演算装置に接続される記憶装置を有し、
    前記モデルは、再帰的構造の複数のノードの接続から構成され、所定のタイムステップにしたがって前記複数のノードの状態を更新するネットワークと、前記ネットワークから出力される複数の値の各々に重みを乗算した値を加算することによって前記出力値を算出する加算部とから構成され、
    前記データ処理方法は、
    前記演算装置が、データ種別が異なる複数の時系列データ及び教師データから構成される学習データを用いて、複数の前記出力値の各々について、前記複数の重みを決定する学習処理を実行する第1のステップと、
    前記演算装置が、前記出力値の種別と、前記複数の重みとを対応付けた学習結果を前記記憶装置に格納する第2のステップと、を含むことを特徴とするデータ処理方法。
  9. 請求項8に記載のデータ処理方法であって、
    前記計算機は、前記複数の重みを格納する第1の記憶部と、前記複数の時系列データから前記モデルに入力する時系列データをサンプリングするためのサンプリング間隔を格納する第2の記憶部とを有し、
    前記第1のステップは、
    前記演算装置が、前記第2の記憶部に格納される前記サンプリング間隔に基づいて、前記学習データに含まれる前記複数の時系列データをサンプリングすることによって複数の学習用時系列データを生成する第3のステップと、
    前記演算装置が、前記複数の学習用時系列データを前記モデルに入力する第4のステップと、
    前記演算装置が、前記モデルから出力された前記出力値と、前記教師データとを比較する第5のステップと、
    前記演算装置が、前記比較の結果に基づいて、前記複数の重み及び前記サンプリング間隔を更新する第6のステップと、
    前記演算装置が、前記更新された複数の重みを前記第1の記憶部に格納し、前記更新されたサンプリング間隔を前記第2の記憶部に格納する第7のステップと、を含み、
    前記第2のステップは、前記演算装置が、前記出力値の種別、前記第1の記憶部に格納される前記複数の重み、及び前記第2の記憶部に格納される前記サンプリング間隔を対応付けた前記学習結果を前記記憶装置に格納するステップを含むことを特徴とするデータ処理方法。
  10. 請求項9に記載のデータ処理方法であって、
    前記モデルは、前記サンプリング間隔だけ遅延を発生させるように、前記複数の時系列データを前記ネットワークに入力する制御を含むことを特徴とするデータ処理方法。
  11. 請求項9に記載のデータ処理方法であって、
    前記計算機は、前記学習データを蓄積する第3の記憶部を有し、
    前記第3のステップは、前記演算装置が、前記タイムステップと同期するように、前記第3の記憶部から、前記学習データに含まれる前記複数の時系列データをサンプリングすることによって前記複数の学習用時系列データを生成するステップを含むことを特徴とするデータ処理方法。
  12. 請求項9に記載のデータ処理方法であって、
    前記第1のステップは、前記演算装置が、前記複数の出力値に関する前記学習処理を並列に実行するステップを含むことを特徴とすることを特徴とするデータ処理方法。
  13. 請求項8に記載のデータ処理方法であって、
    前記ネットワークは、Echo State Networkであることを特徴とするデータ処理方法。
  14. 請求項8に記載のデータ処理方法であって、
    前記演算装置が、前記記憶装置に格納される前記学習結果を取得して前記モデルを構築するステップと、
    前記演算装置が、解析用時系列データを前記モデルに入力することによって前記学習結果に対応する前記出力値を出力するステップと、を含むことを特徴とするデータ処理方法。
JP2019080141A 2019-04-19 2019-04-19 計算機及びデータ処理方法 Pending JP2020177509A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019080141A JP2020177509A (ja) 2019-04-19 2019-04-19 計算機及びデータ処理方法
US16/817,801 US20200334516A1 (en) 2019-04-19 2020-03-13 Computer and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019080141A JP2020177509A (ja) 2019-04-19 2019-04-19 計算機及びデータ処理方法

Publications (1)

Publication Number Publication Date
JP2020177509A true JP2020177509A (ja) 2020-10-29

Family

ID=72832567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019080141A Pending JP2020177509A (ja) 2019-04-19 2019-04-19 計算機及びデータ処理方法

Country Status (2)

Country Link
US (1) US20200334516A1 (ja)
JP (1) JP2020177509A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117828407B (zh) * 2024-03-04 2024-05-14 江西师范大学 双向跳跃存储的双阶段门控注意力时序分类方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280055A (ja) * 2006-04-06 2007-10-25 Sony Corp 情報処理装置および情報処理方法、並びにプログラム
JP2015231187A (ja) * 2014-06-06 2015-12-21 日本電信電話株式会社 通信帯域算出装置及び方法及びプログラム
JP2017004142A (ja) * 2015-06-08 2017-01-05 株式会社Preferred Networks 学習装置ユニット
JP2018180701A (ja) * 2017-04-05 2018-11-15 株式会社日立製作所 計算機システム及び再帰型ニューラルネットワークを用いた演算方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280055A (ja) * 2006-04-06 2007-10-25 Sony Corp 情報処理装置および情報処理方法、並びにプログラム
JP2015231187A (ja) * 2014-06-06 2015-12-21 日本電信電話株式会社 通信帯域算出装置及び方法及びプログラム
JP2017004142A (ja) * 2015-06-08 2017-01-05 株式会社Preferred Networks 学習装置ユニット
JP2018180701A (ja) * 2017-04-05 2018-11-15 株式会社日立製作所 計算機システム及び再帰型ニューラルネットワークを用いた演算方法

Also Published As

Publication number Publication date
US20200334516A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
Romashkova et al. Application of information technology for the analysis of the rating of university
Leonard et al. gflow: software for modelling circuit theory‐based connectivity at any scale
Karasakal et al. A maximal covering location model in the presence of partial coverage
Forester et al. Integrating ensemble species distribution modelling and statistical phylogeography to inform projections of climate change impacts on species distributions
Thuiller et al. BIOMOD–a platform for ensemble forecasting of species distributions
Michelot et al. Linking resource selection and step selection models for habitat preferences in animals
Steiniger et al. OpenJUMP HoRAE—A free GIS and toolbox for home‐range analysis
CN106776928B (zh) 基于内存计算框架、融合社交及时空数据的位置推荐方法
JP2006221310A (ja) 予測方法、予測装置、予測プログラムおよび記録媒体
Diffendorfer et al. Land cover and topography affect the land transformation caused by wind facilities
Wang et al. Predicting public housing prices using delayed neural networks
Jebeile et al. Multi-model ensembles in climate science: Mathematical structures and expert judgements
Peterson et al. Spatially structured statistical network models for landscape genetics
JP2021064049A (ja) 計算機システム及び数理モデルの生成支援方法
Engelbrecht et al. Reconsidering environmental diversity (ED) as a biodiversity surrogacy strategy
Ye et al. Global optimization method using adaptive and parallel ensemble of surrogates for engineering design optimization
Moilanen Two paths to a suboptimal solution–once more about optimality in reserve selection
Kallioras et al. An improved harmony search algorithm for emergency inspection scheduling
JP2020177509A (ja) 計算機及びデータ処理方法
Croft et al. Structuring the unstructured: estimating species-specific absence from multi-species presence data to inform pseudo-absence selection in species distribution models
Druga et al. Exposure to human influence–a geographical field approximating intensity of human influence on landscape structure
van Klinken et al. Process-based pest risk mapping using Bayesian networks and GIS
JP2022092827A (ja) 計算機システム及びデータ処理方法
US20230222385A1 (en) Evaluation method, evaluation apparatus, and non-transitory computer-readable recording medium storing evaluation program
Almomani et al. Selecting a good stochastic system for the large number of alternatives

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230711