JP6205526B2 - Calculation method using computer and neural network - Google Patents
Calculation method using computer and neural network Download PDFInfo
- Publication number
- JP6205526B2 JP6205526B2 JP2017515312A JP2017515312A JP6205526B2 JP 6205526 B2 JP6205526 B2 JP 6205526B2 JP 2017515312 A JP2017515312 A JP 2017515312A JP 2017515312 A JP2017515312 A JP 2017515312A JP 6205526 B2 JP6205526 B2 JP 6205526B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- nodes
- data
- layer
- processor
- 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.)
- Expired - Fee Related
Links
- 238000013528 artificial neural network Methods 0.000 title claims description 130
- 238000004364 calculation method Methods 0.000 title claims description 45
- 238000000034 method Methods 0.000 claims description 121
- 238000012545 processing Methods 0.000 claims description 108
- 238000011156 evaluation Methods 0.000 claims description 74
- 210000002569 neuron Anatomy 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 41
- 238000010276 construction Methods 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 description 40
- 210000004027 cell Anatomy 0.000 description 36
- 238000010586 diagram Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 235000019580 granularity Nutrition 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
Description
本発明は、ニューラルネットワークを用いた最適化問題の処理を実行する計算機及び演算方法に関する。 The present invention relates to a computer and a calculation method for executing optimization problem processing using a neural network.
社会インフラ及び都市等を効率的に設計、運用するため、実社会及びサイバー空間のデータを処理し、社会インフラ等の状態を解析し、若しくは予測し、又は、社会インフラ等を制御し、若しくは誘導する技術が注目されている。 In order to efficiently design and operate social infrastructure and cities, etc., process real-world and cyberspace data, analyze or predict the state of social infrastructure, etc., or control or guide social infrastructure, etc. Technology is drawing attention.
処理されるデータは、温度及び湿度等の環境のセンシングデータ、自動車等の機械のログデータ、並びにメール及びSNS等の人間又は組織のログデータから構成される。データを用いた処理は、社会を構成する要素(人、モノ、情報等)の最適な状態を探索する最適化処理である。 The data to be processed includes sensing data of the environment such as temperature and humidity, log data of machines such as automobiles, and log data of humans or organizations such as mail and SNS. The process using data is an optimization process for searching for an optimum state of elements (people, things, information, etc.) constituting the society.
最適化処理は、予め定義された評価関数の値(評価値)が最小、又は最大となる入力データの組み合わせを求める問題である。一般に、全ての入力データの組み合わせの中から、評価値が最小又は最大となる入力データの組み合わせを探索するためには、莫大な計算量を必要とする。この計算量は、探索数と、評価関数の計算量とを乗算することによって得られる。そこで、計算量を削減するために、近似解を求めて探索数を削減する計算方法が広く利用される。 The optimization process is a problem of obtaining a combination of input data that minimizes or maximizes a value (evaluation value) of a predefined evaluation function. In general, in order to search for a combination of input data having a minimum or maximum evaluation value from among all combinations of input data, a huge amount of calculation is required. This calculation amount is obtained by multiplying the number of searches by the calculation amount of the evaluation function. Therefore, in order to reduce the amount of calculation, a calculation method for obtaining an approximate solution and reducing the number of searches is widely used.
しかし、評価関数が非常に複雑な問題の場合、前述方法では、十分な処理の高速化が得られない。 However, when the evaluation function is a very complicated problem, the above-described method cannot sufficiently increase the processing speed.
例えば、単位時間のピッキング数を最大とする倉庫レイアウトの問題の場合、評価関数は総棚数及び全ての棚が通路で到達できるか、渋滞の度合い等の合成関数となる。そのため、この評価関数の計算に莫大な計算量を必要とする。 For example, in the case of a warehouse layout problem in which the number of pickings per unit time is maximized, the evaluation function is a composite function such as the total number of shelves and whether all shelves can be reached by a passage or the degree of congestion. Therefore, an enormous amount of calculation is required to calculate this evaluation function.
前述した課題に対して、ニューラルネットワーク(NN)を用いて計算方法を学習し、効率化を図ることによって処理の高速化する方法がある。特許文献1では、ニューラルネットワークを用いて、画像のフィルタ演算やFFTを学習し、近似解であるが低電力で求める方法を提案している。また、特許文献2参照では、コンボリューショナルニューラルネットワーク(CNN)による画像認識処理の高速化を行っている。
To solve the above-described problem, there is a method of speeding up processing by learning a calculation method using a neural network (NN) and improving efficiency.
しかし、前述した2つの従来技術において用いられるニューラルネットワークでは、複雑な評価関数を学習することが困難であるという課題がある。複雑な評価関数では、経路問題等、入力データの要素間に複雑な相互関係を持つ問題を扱っているが、特許文献1では入力データがベクトル、特許文献2では入力データが画像(マトリクス)であるため、複雑な相互関係をニューラルネットワークの構造に反映することができない。
However, the neural network used in the above two conventional techniques has a problem that it is difficult to learn a complicated evaluation function. The complex evaluation function deals with a problem such as a path problem that has a complicated interrelationship between elements of input data. In
特許文献1に記載の技術では、入力データがベクトルの場合、ニューラルネットワークの構造はベクトルの各要素とニューラルネットワークの第1層のシナプスは完全二部グラフで接続される。すなわち、入力データのある要素は、ニューラルネットワークの第1層の全てのシナプスと接続され、入力データの要素間の関係性はニューラルネットワークの内部構造に反映されない。これは、ニューラルネットワークの学習処理における収束性の大きな劣化の要因となる。
In the technique described in
また、特許文献2に記載の技術では、入力データがマトリクスの場合、入力に対し規定のウィンドウ内の各要素とニューラルネットワークの第1層のシナプス(特徴マップ)が接続される。前記ウィンドウの大きさは、画像のフィルタ演算のように3×3、5×5等のサイズであって、入力データの要素間の相互関係が均一な場合(例えば、画像は格子状になり、いずれの画素も上下左右の画素と相互関係を持つ)に適用ができる。しかし、入力データの要素間の相互関係が不均一な場合には、適用できない。例えば、SNS等のスケールフリーグラフで、ほとんどの要素は少数の要素と相関関係を持つが、限られた要素(ハブと呼ばれる)は多数の要素と相関関係を持つ。
In the technique described in
したがって、従来技術では、前述の社会インフラ等の評価関数が複雑な最適化問題の処理の高速化を実現できない。 Therefore, in the conventional technology, it is not possible to realize a high-speed processing of an optimization problem having a complicated evaluation function such as the above-described social infrastructure.
本発明は、評価関数が複雑な最適化問題の処理の高速化を可能とする技術を提供することにある。 An object of the present invention is to provide a technique capable of speeding up processing of an optimization problem with a complicated evaluation function.
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサ、及び前記プロセッサに接続されるメモリを備え、一つ以上のニューロンを含む複数の層から構成されるニューラルネットワークを用いた演算処理を実行する計算機であって、一つの層に含まれる一つのニューロンと、他の層に含まれる少なくとも一つのニューロンとの間には接続が構成され、前記一つの層に含まれる一つのニューロンに入力された値は、重みとともに、前記接続によって接続される前記他の層に含まれる少なくとも一つのニューロンに出力され、前記計算機は、複数のノード及び前記複数のノード間を接続する一つ以上のエッジから構成されるグラフデータ、及びニューラルネットワークに入力される一つ以上の値を格納するサンプルデータを格納する記憶部と、前記グラフデータを用いて、前記ニューラルネットワークを構築する構築部と、前記サンプルデータを前記ニューラルネットワークに入力することによって前記ニューラルネットワーク内の複数の接続の前記重みを決定する学習処理を実行する学習処理部と、を備え、前記構築部は、前記グラフデータに含まれる前記複数のノードに基づいて、前記複数の層の各々の一つ以上のニューロンを生成し、前記グラフデータに含まれる前記一つ以上のエッジに基づいて、前記複数の層の各々に含まれる前記一つ以上のニューロン間の前記接続を生成することによって前記ニューラルネットワークを構築し、前記構築されたニューラルネットワークの情報を前記記憶部に格納することを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a computer that includes a processor and a memory connected to the processor and that performs arithmetic processing using a neural network including a plurality of layers including one or more neurons, and is included in one layer A connection is configured between one neuron and at least one neuron included in another layer, and the value input to one neuron included in the one layer is connected by the connection together with the weight. Output to at least one neuron included in the other layer, and the computer is input to a neural network and graph data including a plurality of nodes and one or more edges connecting the plurality of nodes. A storage unit for storing sample data for storing one or more values, and the graph data. A construction section for constructing a neural network; and a learning processing section for executing a learning process for determining the weights of a plurality of connections in the neural network by inputting the sample data to the neural network, The construction unit generates one or more neurons of each of the plurality of layers based on the plurality of nodes included in the graph data, and based on the one or more edges included in the graph data, The neural network is constructed by generating the connection between the one or more neurons included in each of the plurality of layers, and information on the constructed neural network is stored in the storage unit. To do.
本発明によれば、評価関数が複雑な最適化問題において、複雑な相関関係を反映したニューラルネットワークを構築できる。これによって、最適化問題の処理の高速な演算が可能となる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。 According to the present invention, it is possible to construct a neural network reflecting a complex correlation in an optimization problem with a complicated evaluation function. This enables high-speed computation of optimization problem processing. Problems, configurations, and effects other than those described above will become apparent from the following description of embodiments.
実施例1では、グラフデータを入力としたニューラルネットワークの構築方法について説明する。 In the first embodiment, a method for constructing a neural network using graph data as an input will be described.
図1は、実施例1の計算機システムの構成の一例を示す説明図である。 FIG. 1 is an explanatory diagram illustrating an example of a configuration of a computer system according to the first embodiment.
図1に示すように、実施例1の計算機システム100は、複数の計算機101、及びストレージシステム102から構成され、複数の計算機101とストレージシステム102とは、ネットワーク103を介して接続される。
As illustrated in FIG. 1, the
本実施例の計算機システム100は、3つの計算機101−1、101−2、101−3を含む。なお、計算機101の数は、3つより小さくてもいし、また、3つより大きくてもよい。
The
ネットワーク103は、WAN(Wide Area Network)、LAN(Local Area Network)、及びSAN(Storage Area Network)等が考えられる。なお、本実施例はネットワーク103の種別に限定されない。また、複数の計算機101の各々を接続するネットワーク、及び複数の計算機101の各々とストレージシステム102とを接続するネットワークは、異なるネットワークであってもよい。
The
計算機101は、ニューラルネットワークの構築処理、及びニューラルネットワークを用いた演算処理等を実行する。計算機101は、プロセッサ110、メモリ111、通信インタフェース112を備え、各構成はバス114を介して互いに接続される。
The computer 101 executes neural network construction processing, arithmetic processing using the neural network, and the like. The computer 101 includes a
プロセッサ110は、演算処理を実行する1つ以上のCPU115を含む。CPU115は、メモリ111に格納されるプログラムを実行することによって、計算機101が有する機能を実現する。また、計算機101上で実行される処理は1つ以上のCPU115によって実行される。なお、1つのCPU115が複数の処理を実行してもよい。なお、CPU115は、FPGA及びGPU等の演算器であってもよい。
The
メモリ111は、CPU115(プロセッサ110)が実行するプログラム及び当該プログラムによって使用される情報を格納する。また、メモリ111は、CPU115が実行する1つの処理に対して割り当てられるメモリ空間を含む。なお、当該メモリ空間は、複数のメモリ111のメモリ領域上に確保されてもよいし、また、1つのメモリ111のメモリ領域上に確保されてもよい。また、メモリ111は、複数の処理のメモリ空間を含んでもよい。メモリ111に格納されるプログラム及び情報については後述する。 The memory 111 stores a program executed by the CPU 115 (processor 110) and information used by the program. In addition, the memory 111 includes a memory space allocated to one process executed by the CPU 115. Note that the memory space may be secured on the memory areas of the plurality of memories 111, or may be secured on the memory area of one memory 111. The memory 111 may include a memory space for a plurality of processes. The program and information stored in the memory 111 will be described later.
通信インタフェース112は、ネットワーク103を介して外部装置と通信する。本実施例では、プロセッサ110は、通信インタフェース112を介して、他の計算機101又はストレージシステム102にアクセスする。
The communication interface 112 communicates with an external device via the
ストレージシステム102は、計算機101が使用する各種データを格納する。ストレージシステム102は、プロセッサ130、メモリ131、通信インタフェース132、ディスクインタフェース133、及び複数のHDD(Hard Disk Drive)134を備え、各構成はバス135を介して互いに接続される。
The
プロセッサ130、メモリ131、及び通信インタフェース132は、プロセッサ110、メモリ111、及び通信インタフェース112と同一のものである。ディスクインタフェース133は、複数のHDD134と接続するためのインタフェースである。HDD134は、各種データを格納する記憶装置である。
The
ここで、計算機101のメモリ111に格納されるプログラム及び情報について説明する。 Here, programs and information stored in the memory 111 of the computer 101 will be described.
メモリ111は、データ処理部120を実現するプログラムを格納する。データ処理部120を実行するCPU115は、学習処理、及び識別処理を実行する。学習処理では、CPU115が、ニューラルネットワークを構築し、また、構築されたニューラルネットワーク内のニューロン間の接続(エッジ)の重みを決定する。識別処理では、CPU115が、識別対象であるデータを、構築されたニューラルネットワークに入力することによって所定の識別を行う。 The memory 111 stores a program that implements the data processing unit 120. The CPU 115 that executes the data processing unit 120 executes a learning process and an identification process. In the learning process, the CPU 115 constructs a neural network and determines connection (edge) weights between neurons in the constructed neural network. In the identification process, the CPU 115 performs predetermined identification by inputting data to be identified into the constructed neural network.
なお、データ処理部120は、複数のプログラムモジュールから構成されてもよい。例えば、データ処理部120は、ニューラルネットワークを構築する構築部、学習処理を実行する学習処理部、及び識別処理を実行する識別処理部を含んでもよい。また、それぞれのプログラムモジュールを別々の計算機101が備える構成であってもよい。 Note that the data processing unit 120 may be composed of a plurality of program modules. For example, the data processing unit 120 may include a construction unit that builds a neural network, a learning processing unit that executes learning processing, and an identification processing unit that executes identification processing. Moreover, the structure with which each computer module is provided in a different computer 101 may be sufficient.
ここで、ニューラルネットワークについて説明する。図2は、実施例1のニューラルネットワークの一例を示す説明図である。 Here, the neural network will be described. FIG. 2 is an explanatory diagram illustrating an example of the neural network according to the first embodiment.
図2に示すニューラルネットワーク200は、入力層201、中間層202、及び出力層203の3層から構成される。各層は1つ以上のニューロン211から構成される。また、各層のニューロン211は、他の層の少なくとも1つのニューロン211と接続する。具体的には、入力層201のニューロン211は、中間層202の少なくとも1つのニューロン211と接続し、また、中間層202のニューロン211は、出力層203の少なくとも1つのニューロン211と接続する。以下の説明では、ニューロン211間の接続するエッジを接続212とも記載する。接続212はニューロン211間のデータの出力を表す。各ニューロン211に入力された値は、任意の重みとともに、接続212によって接続される他の層のニューロン211に出力される。重みは、ニューロン211間の接続の強さを表し、後述する学習処理によって決定される。以上が、ニューラルネットワークの説明である。図1の説明に戻る。
A neural network 200 shown in FIG. 2 includes three layers, an input layer 201, an
メモリ111は、グラフデータ121、サンプルデータ122、及び重みテーブル123を格納する。
The memory 111
グラフデータ121は、任意の要素に対応するノード、及びノード間を接続するエッジから構成されるグラフの構造を定義するデータである。グラフデータ121の詳細は図3を用いて後述する。サンプルデータ122は、ニューラルネットワークを用いた学習処理において用いられるデータである。重みテーブル123は、ニューラルネットワークの学習処理の処理結果である重みを管理する情報である。重みテーブル123の詳細は図6を用いて後述する。
The
なお、グラフデータ121及びサンプルデータ122は、ストレージシステム102に格納される情報である。CPU115が、ストレージシステム102からグラフデータ121及びサンプルデータ122を取得し、取得されたグラフデータ121及びサンプルデータ122をメモリ111にロードする。
The
図3は、実施例1のグラフデータ121の一例を示す説明図である。
FIG. 3 is an explanatory diagram illustrating an example of the
グラフデータ121は、エッジID301、ノードID302、ラベル303、及びエッジ属性304を含む。
The
エッジID301は、エッジの識別情報である。ノードID302は、エッジID301に対応するエッジを介して接続されるノードの識別情報である。なお、エッジに向きは後述するエッジ属性304にて管理される。ラベル303は、長さ、及び向き等に基づいてエッジを分類することによって付与されるエッジのラベルである。
The edge ID 301 is edge identification information. The
エッジ属性304は、エッジの属性情報である。本実施例では、エッジの長さ、エッジの方向等がエッジの属性情報として管理される。
The
ここで、図3及び図4を用いてエッジのラベルについて説明する。図4は、実施例1のグラフの一例を示す説明図である。 Here, edge labels will be described with reference to FIGS. FIG. 4 is an explanatory diagram illustrating an example of the graph of the first embodiment.
図4に示すグラフは、図3に示すグラフデータ121に対応するグラフである。図4に示すグラフは、3つのノードI0、I1、I2を含み、また、5つのエッジE0、E1、E2、E3、E4を含む。
The graph shown in FIG. 4 is a graph corresponding to the
図3及び図4に示すように、エッジE0及びエッジE2は、エッジの長さが「1」であり、向きも同一の「南向き」である。エッジE1及びエッジE3は、エッジの長さが「1」であり、かつ、向きが「北向き」である。また、エッジ4は、エッジの長さが「2」であり、向きが「北向き」である。したがって、エッジE0及びエッジE2には、同じラベル「0」が付与され、また、エッジE1及びエッジE3についても同じラベル「1」が付与される。一方、エッジ4には、ラベル「2」が付与される。
As shown in FIGS. 3 and 4, the edge E0 and the edge E2 have the edge length “1” and the same direction “south”. The edge E1 and the edge E3 have an edge length of “1” and an orientation of “north”. The
付与されるラベルの種類は、エッジの長さ及び向きのセットの組み合わせ以上の数が用意される。ここでは、前述の組み合わせの種類は、(長さ1、南向き)、(長さ1、北向き)、(長さ2、北向き)の3種類であるため、ラベルも0、1、2の3種類が用意され、組み合わせとラベルとが対応付けられる。
The number of types of labels to be given is more than the number of combinations of edge length and orientation sets. Here, since there are three types of combinations (
なお、グラフデータ121は、ノードの構造を管理するデータと、エッジの構造を管理するデータとに分けて管理されてもよい。
The
図5は、実施例1のグラフデータ121の別例を示す説明図である。
FIG. 5 is an explanatory diagram illustrating another example of the
図5に示すグラフデータ121は、エッジの構造情報500及びノードの構造情報510を含む。エッジの構造情報500のエッジID501、ノードID502、ラベル503、及びエッジ属性504は、エッジID301、ノードID302、ラベル303、及びエッジ属性304と同一のものである。
The
ノードの構造情報510は、ノードID511、エッジID(流出)512、エッジID(流入)513、及びノード属性514を含む。ノードID511は、ノードID302と同一のものである。
The
エッジID(流出)512は、ノードID511に対応するノードから流出するエッジの識別情報である。すなわち、ノードは、エッジID(流出)512に対応するエッジの始点となるノードである。エッジID(流入)513は、ノードID511に対応するノードに流入するエッジの識別情報である。すなわち、ノードは、エッジID(流入)513に対応するエッジの終点となるノードである。 The edge ID (outflow) 512 is identification information of an edge flowing out from the node corresponding to the node ID 511. That is, the node is a node that is the start point of the edge corresponding to the edge ID (outflow) 512. The edge ID (inflow) 513 is identification information of an edge flowing into the node corresponding to the node ID 511. That is, the node is a node that is an end point of the edge corresponding to the edge ID (inflow) 513.
ノード属性514は、ノードの属性情報である。本実施例では、ノードの種類等がエッジの属性情報として管理される。例えば、倉庫のレイアウトを表すグラフデータの場合、ノードの種類は棚又は通路等を示す。 The node attribute 514 is node attribute information. In this embodiment, the node type and the like are managed as edge attribute information. For example, in the case of graph data representing the layout of a warehouse, the node type indicates a shelf or a passage.
図6は、実施例1の重みテーブル123の一例を示す説明図である。 FIG. 6 is an explanatory diagram illustrating an example of the weight table 123 according to the first embodiment.
重みテーブル123は、ラベル601、重みラベル602、及びエッジ情報603を含む。ラベル601は、ラベル303と同一のものである。
The weight table 123 includes a
重みラベル602は、ニューラルネットワーク内のエッジの重みを分類することによって付与されるラベルである。重みラベル602は、ラベル601に対応するものである。すなわち、ラベル601はグラフデータ内のエッジのラベルであり、重みラベル602はニューラルネットワーク内のエッジのラベルである。
The
エッジ情報603は、同一の重みラベル602が付与されるニューラルネットワーク内の接続の識別情報である。本実施例では、接続をマップエッジとも記載する。
The
グラフデータ121においてノード間の相関関係(トポロジ)が同一、すなわち、長さ及び向き等が同一であるエッジから構成されたマップエッジは、学習処理における重みの修正時に、同様の修正が行われる。そのため、本実施例では、計算機101がノード間のトポロジを抽象化して管理する重みテーブル123を保持することによって、学習処理及び識別処理の高速化を実現する。
In the
ここで、ノード間のトポロジの抽象化について具体的に説明する。入力データ(グラフデータ)の要素(ノード)間の相関関係が同一の場合、ニューラルネットワーク内のエッジの重みも同一にすることによって、入力データの全ての要素間の相関関係、すなわち、トポロジを抽象化する。 Here, the abstraction of topology between nodes will be specifically described. When the correlation between the elements (nodes) of the input data (graph data) is the same, the correlation between all the elements of the input data, that is, the topology is abstracted by making the edge weights in the neural network the same. Turn into.
例えば、グラフデータとして、ノードが交差点を表し、エッジが交差点間のつながりを表す道路網を示すデータを考える。グラフデータの要素間の相関関係は、第1の交差点の北向きの距離1に第2の交差点があり、第1の交差点及び第2の交差点が第1のエッジで接続され、第3の交差点の北向きに距離1に第4の交差点があり、第3の交差点及び第4の交差点が第2のエッジで接続されているものとする。
For example, as graph data, consider data representing a road network in which nodes represent intersections and edges represent connections between intersections. The correlation between the elements of the graph data is that there is a second intersection at a
前述の4つの交差点は、それぞれ異なる地点の交差点を表すものであっても同様のトポロジを持つため、第1のエッジ及び第2のエッジは、ニューラルネットワークにおいて同様に扱うべきである。したがって、第1のエッジ及び第2のエッジには、エッジの属性(長さ1、北向き)に基づいて定められた同一のラベルが付与される。これによって、同一のラベルを持つエッジはニューラルネットワークの重みラベルも共有する。
Since the above four intersections have the same topology even though they represent intersections at different points, the first edge and the second edge should be treated similarly in the neural network. Therefore, the same label determined based on the attribute of the edge (
これによって、異なるノード間を接続するエッジであっても、ノード間のトポロジが同一である場合、それぞれのエッジを区別することなく扱うことができる。すなわち、ノード間のトポロジが抽象化される。 As a result, even when edges connect between different nodes, if the topology between the nodes is the same, each edge can be handled without distinction. That is, the topology between nodes is abstracted.
次に、計算機101が実行する処理について説明する。まず、図7を用いて学習処理について説明する。図7は、実施例1の計算機101が実行する学習処理を説明するフローチャートである。 Next, processing executed by the computer 101 will be described. First, the learning process will be described with reference to FIG. FIG. 7 is a flowchart illustrating the learning process executed by the computer 101 according to the first embodiment.
計算機101は、処理開始の指示を受け付けた場合に以下で説明する処理を開始する。 When the computer 101 receives an instruction to start processing, the computer 101 starts processing described below.
まず、CPU115は、ストレージシステム102からグラフデータ121を取得し、メモリ111に格納する(ステップS701)。CPU115は、取得されたグラフデータ121を用いてニューラルネットワークの構築処理を実行する(ステップS702)。ニューラルネットワークの構築処理の詳細は図8を用いて後述する。
First, the CPU 115 acquires the
次に、CPU115は、ストレージシステム102からサンプルデータ122を取得し、メモリ111に格納する(ステップS703)。
Next, the CPU 115 acquires the sample data 122 from the
次に、CPU115は、誤差逆伝播処理のループ処理を開始する(ステップS704)。本ループ処理では、CPU115は、ステップS704からステップS708の処理を繰り返し実行する。本ループ処理内で実行される誤差逆伝播処理によって算出される誤差が予め設定された閾値以下になった場合、又は、予め決められた回数だけ誤差逆伝播処理が実行された場合に、ループ処理が終了する。また、CPU115は、サンプルデータのループ処理を開始する(ステップS705)。サンプルデータのループ処理では、ステップS703において取得された複数のサンプルデータに対し、1つのサンプルデータ毎にループ内部の処理を実行する。さらに、CPU115は、1つのサンプルデータに対して誤差逆伝播処理を実行する(ステップS706)。 Next, the CPU 115 starts loop processing of error back propagation processing (step S704). In this loop process, the CPU 115 repeatedly executes the processes from step S704 to step S708. When the error calculated by the error back-propagation process executed in this loop process falls below a preset threshold value, or when the error back-propagation process is executed a predetermined number of times, the loop process Ends. Further, the CPU 115 starts a loop process for sample data (step S705). In the loop processing of sample data, the processing inside the loop is executed for each piece of sample data for the plurality of sample data acquired in step S703. Further, the CPU 115 executes error back propagation processing for one sample data (step S706).
誤差逆伝播処理では、CPU115は、あるサンプルデータを入力とし、その入力に対するニューラルネットワークの出力結果と当該サンプルデータに対応する教師データとを比較し、2つのデータの誤差を削減するように、ニューラルネットワークの出力層に近い層(中間層)から順に入力層までの重みを更新する。すなわち、入力データが出力方向とは逆の方向に重みが更新される。 In the error back-propagation process, the CPU 115 receives a certain sample data, compares the output result of the neural network with respect to the input and the teacher data corresponding to the sample data, and reduces the error between the two data. The weights from the layer close to the output layer (intermediate layer) to the input layer are updated in order. That is, the weight of the input data is updated in the direction opposite to the output direction.
サンプルデータのループ処理では、CPU115が、複数のサンプルデータ122の各々に対して前述した処理を実行する。ステップS706の誤差逆伝播処理では、任意のサンプルデータに対する重みの更新が1回だけ行われる。 In the sample data loop processing, the CPU 115 executes the above-described processing for each of the plurality of sample data 122. In the error back-propagation process in step S706, the update of the weight for arbitrary sample data is performed only once.
一方、誤差逆伝播処理のループ処理では、誤差を最小にするためには、誤差逆伝播処理が複数回実行される。具体的には、CPU115が、所定の条件を満たすまで、繰り返し、複数のサンプルデータ122の各々に対して誤差逆伝播処理を実行する。 On the other hand, in the loop process of the error back propagation process, the error back propagation process is executed a plurality of times in order to minimize the error. Specifically, the CPU 115 repeatedly performs error back propagation processing on each of the plurality of sample data 122 until a predetermined condition is satisfied.
すなわち、誤差逆伝播処理のループ処理は、誤差逆伝播法による複数のサンプルデータの合計誤差の収束のために行われる。また、サンプルデータのループ処理は、複数のサンプルデータ122に対する重みの更新が行われる。 That is, the loop process of the error back propagation process is performed for convergence of the total error of a plurality of sample data by the error back propagation method. In the sample data loop processing, the weights of the plurality of sample data 122 are updated.
次に、CPU115は、全てのサンプルデータに対して誤差逆伝播処理が実行されたか否かを判定する(ステップS707)。 Next, the CPU 115 determines whether or not the error back-propagation process has been executed for all the sample data (step S707).
全てのサンプルデータに対して誤差逆伝播処理が実行されていないと判定された場合、CPU115は、ステップS705に戻り、同様の処理を実行する。 If it is determined that the error back-propagation process has not been performed for all sample data, the CPU 115 returns to step S705 and executes the same process.
全てのサンプルデータに対して誤差逆伝播処理が実行されたと判定された場合、CPU115は、所定の条件を満たしたか否かを判定する(ステップS708)。 When it is determined that the error back-propagation process has been performed on all sample data, the CPU 115 determines whether or not a predetermined condition is satisfied (step S708).
所定の条件を満たしていないと判定された場合、CPU115は、ステップS704に戻り、同様の処理を実行する。 If it is determined that the predetermined condition is not satisfied, the CPU 115 returns to step S704 and executes the same processing.
所定の条件を満たしたと判定された場合、CPU115は、学習結果をメモリ111に格納する(ステップS709)。その後、CPU115は、処理を終了する。なお、学習結果はストレージシステム102に格納されてもよい。
When it is determined that the predetermined condition is satisfied, the CPU 115 stores the learning result in the memory 111 (step S709). Thereafter, the CPU 115 ends the process. Note that the learning result may be stored in the
学習結果には、構築されたニューラルネットワークの構成を示す情報、及びエッジのラベルと算出された重みとを対応付けた情報等の情報が含まれる。 The learning result includes information such as information indicating the configuration of the constructed neural network and information in which the edge label is associated with the calculated weight.
図8は、実施例1の計算機101が実行するニューラルネットワークの構築処理を説明するフローチャートである。図9A及び図9Bは、実施例1の特徴マップグラフの構築の流れを示す説明図である。図10は、実施例1の計算機101によって構築されたニューラルネットワークの一例を示す説明図である。 FIG. 8 is a flowchart illustrating the construction process of the neural network executed by the computer 101 according to the first embodiment. 9A and 9B are explanatory diagrams illustrating a flow of construction of a feature map graph according to the first embodiment. FIG. 10 is an explanatory diagram illustrating an example of a neural network constructed by the computer 101 according to the first embodiment.
ニューラルネットワークの構築処理では、グラフデータ121、ニューラルネットワークの構造に関するパラメタ、及び出力層の次元数(ノード数)等を含む定義情報が入力される。なお、ニューラルネットワークの構造に関するパラメタには、ニューラルネットワークの層の数、及び1つの中間層に含まれる特徴マップグラフの数等が含まれる。
In the construction process of the neural network, definition information including
ここで、特徴マップグラフは、1つの中間層を構成するニューロン群を示す。すなわち、中間層は、1つ以上の特徴マップグラフを含む。後述するように特徴マップグラフは、複数のマップノードを含む。マップノードはニューロンに対応する。 Here, the feature map graph shows a group of neurons constituting one intermediate layer. That is, the intermediate layer includes one or more feature map graphs. As will be described later, the feature map graph includes a plurality of map nodes. Map nodes correspond to neurons.
CPU115は、ニューラルネットワークの入力層及び出力層を設定する(ステップS801)。 The CPU 115 sets an input layer and an output layer of the neural network (step S801).
具体的には、CPU115は、グラフデータ121のノード群を入力層として設定する。すなわち、グラフデータ121の1つのノードが入力層の1つのニューロンとして設定される。また、CPU115は、出力層の次元数と同数のノードを含む出力層を設定する。
Specifically, the CPU 115 sets a node group of the
次に、CPU115は、グラフデータ121を用いて特徴マップグラフを構築するループ処理を開始する(ステップS802)。特徴マップグラフを構築するループ処理は、指定されたニューラルネットワークの段数だけ繰り返し実行される。 Next, the CPU 115 starts a loop process for constructing a feature map graph using the graph data 121 (step S802). The loop processing for constructing the feature map graph is repeatedly executed for the number of stages of the designated neural network.
まず、CPU115は、特徴マップグラフのマップノード(ニューロン)を生成する(ステップS803)。 First, the CPU 115 generates a map node (neuron) of the feature map graph (step S803).
ここで、特徴マップグラフは、当該特徴マップグラフが含まれる中間層の前段の層に含まれる各マップノードに対し、重みテーブルに応じた特徴を示す。 Here, the feature map graph indicates the feature corresponding to the weight table for each map node included in the previous layer of the intermediate layer including the feature map graph.
例えば、道路網において、重みテーブルが、距離が「1」である三叉路に発火する(北、南、西向きで距離1の関係に対して発火する等)場合、前段の層(例えば、入力層)に含まれる各ニューロンのうち、三叉路となっているニューロンに対応するマップノードが発火し、それ以外のマップノードは発火しない。ここで発火するとは、出力が正の大きな値をとることを表す。そのため、特徴マップグラフは三叉路の特徴を示したグラフとなる。このような特徴マップグラフを1つの層に複数生成し、また、複数の特徴マップグラフを含む層を用いてニューラルネットワークを構成することによって、複雑なトポロジを表現できる。すなわち、非線形な評価関数等の複雑な評価関数を表現できる。
For example, in a road network, when the weight table fires on a three-way road with a distance of “1” (fires for a relationship of
ステップS803では、具体的には、CPU115が、特徴マップグラフの識別情報を割り当て、図9Aに示すようにグラフデータ121に含まれるノードの数と同数のマップノードを生成する。すなわち、中間層のニューロンが生成される。このとき、グラフデータ121のノードと特徴マップグラフのマップノードとが一対一に対応付けられる。図9Aでは、マップノードF0はノードI0に対応し、マップノードF1はノードI1に対応し、マップノードF2はノードI2に対応する。
In step S803, specifically, the CPU 115 assigns identification information of the feature map graph, and generates the same number of map nodes as the number of nodes included in the
なお、1つの層に複数の特徴マップグラフを設定する必要がある場合、CPU115は、前述と同様の手順にしたがって特徴マップグラフのマップノードを生成する。 When it is necessary to set a plurality of feature map graphs in one layer, the CPU 115 generates a map node of the feature map graph according to the same procedure as described above.
次に、CPU115は、グラフデータ121に基づいて、グラフデータ121のノードと特徴マップグラフのマップノードとを接続するマップエッジを生成する(ステップS804)。
Next, the CPU 115 generates a map edge that connects the node of the
具体的には、CPU115は、グラフデータ121のノード間を接続するエッジを、グラフデータ121のノードと特徴マップグラフのノードとを接続するマップエッジとして生成する。すなわち、入力層のニューロンと、中間層のニューロンとを接続する接続が生成される。
Specifically, the CPU 115 generates an edge connecting the nodes of the
CPU115は、まず、入力層に対応するグラフデータ900に含まれる複数のマップノードの中から対象のマップノードを選択する。CPU115は、グラフデータ900に基づいて、対象のマップノードに対応するノードとエッジを介して接続されるノードを特定する。CPU115は、特徴マップグラフに含まれ、かつ、特定されたノードに対応するマップノードと、対象のマップノードとの間にマップエッジを生成する。
First, the CPU 115 selects a target map node from among a plurality of map nodes included in the
2つの中間層間のマップエッジを生成する場合にも同様の手順に基づいてマップエッジが生成される。すなわち、CPU115は、入力側の中間層に含まれる複数のマップノードの中から対象のマップノードを選択する。CPU115は、グラフデータ900に基づいて、対象のマップノードに対応するノードとエッジを介して接続されるノードを特定する。CPU115は、出力側の特徴マップグラフに含まれ、かつ、特定されたノードに対応するマップノードと、対象のマップノードとの間にマップエッジを生成する。
When generating a map edge between two intermediate layers, a map edge is generated based on a similar procedure. That is, the CPU 115 selects a target map node from a plurality of map nodes included in the input side intermediate layer. Based on the
例えば、グラフデータ121のエッジE0は、ノードI0からノードI1へ向かう辺であるため、ノードI0からノードI1に対応するノードF1にエッジを生成し、マップエッジFM0_E0としてメモリ111に一時的に保持する。また、グラフデータ121のエッジE1は、ノードI1からノードI0へ向かう辺であるため、ノードI1からノードI0に対応するノードF0にエッジを生成し、マップエッジFM0_E1としてメモリ111に一時的に保持する。他のマップエッジについても同様の処理が実行される。前述した処理によって図9Bに示すようなマップエッジが生成される。
For example, since the edge E0 of the
次に、CPU115は、グラフデータと特徴マップグラフとの間を接続するマップエッジの重みについて重みテーブル123を生成する(ステップS805)。具体的には以下のような処理が実行される。 Next, the CPU 115 generates a weight table 123 for the weights of the map edges that connect the graph data and the feature map graph (step S805). Specifically, the following processing is executed.
まず、CPU115は、空の重みテーブル123を生成する。CPU115は、グラフデータ121のラベル303を参照して、ラベルの種別の数だけ、重みテーブル123にエントリを生成する。
First, the CPU 115 generates an empty weight table 123. The CPU 115 refers to the
CPU115は、生成された各エントリのラベル601にラベル303の値を設定する。また、CPU115は、所定の基準にしたがって、各ラベルに対応付けた重みラベルを生成し、重みラベル602に生成された重みラベルを設定する。
The CPU 115 sets the value of the
CPU115は、ラベル303の値が同一であるエッジのエッジID301を取得し、取得されたエッジID301に対応するマップエッジを特定し、エッジ情報603に特定されたマップエッジの識別情報を設定する。以上がステップS805の処理の説明である。
The CPU 115 acquires the edge ID 301 of the edge having the same value of the
CPU115は、指定されたニューラルネットワークの段数だけ層を生成したか否かを判定する(ステップS806)。 The CPU 115 determines whether or not layers have been generated for the number of stages of the designated neural network (step S806).
指定されたニューラルネットワークの段数だけ層を生成していないと判定された場合、CPU115は、ステップS802に戻り、同様の処理を繰り返し実行する。 If it is determined that the number of layers of the designated neural network is not generated, the CPU 115 returns to step S802 and repeats the same processing.
指定されたニューラルネットワークの段数だけ層を生成したと判定された場合、CPU115は、出力層と、出力層の一つ前の中間層との間の接続を生成する(ステップS807)。その後、CPU115は、ニューラルネットワークの構築処理を終了する。 When it is determined that the number of layers corresponding to the designated number of stages of the neural network has been generated, the CPU 115 generates a connection between the output layer and the intermediate layer immediately before the output layer (step S807). Thereafter, the CPU 115 ends the neural network construction process.
具体的には、CPU115は、出力層の1つ前の中間層の特徴マップグラフに含まれる各マップノードに対して、一つのマップノードと、出力層に含まれる全てのニューロンとを接続するマップエッジを生成する。すなわち、出力層に含まれる各ニューロンと、出力層の1つ前の中間層の特徴マップグラフに含まれる各マップノード(ニューロン)とは完全二部グラフで接続される。 Specifically, the CPU 115 connects a map node and all the neurons included in the output layer to each map node included in the feature map graph of the intermediate layer immediately before the output layer. Create an edge. That is, each neuron included in the output layer and each map node (neuron) included in the feature map graph of the intermediate layer immediately before the output layer are connected in a complete bipartite graph.
以上の処理によって、図10に示すようなニューラルネットワークが構築される。 Through the above processing, a neural network as shown in FIG. 10 is constructed.
図10のニューラルネットワークは、入力層であるグラフデータ900、3つの中間層、及び出力層920から構成される。各中間層は2段の特徴マップグラフ910から構成される。また、グラフデータ900に含まれるノードと特徴マップグラフ910−1に含まれるノードとを接続するエッジに対して重みテーブル123−1が、グラフデータ900に含まれるノードから特徴マップグラフ910−2に含まれるノードへのエッジに対して重みテーブル123−2が生成される。また、特徴マップグラフ910−3には重みテーブル123−3、特徴マップグラフ910−4には重みテーブル123−4、特徴マップグラフ910−5には重みテーブル123−5、特徴マップグラフ910−6には重みテーブル123−6が生成される。
The neural network in FIG. 10 includes
構築されたニューラルネットワークの情報は、入力層のノード及びエッジの情報、各層の特徴量マップグラフ数、各特徴量マップグラフの重みテーブル、並びに出力層の重みテーブルという形式でメモリ111に格納される。なお、構築されたニューラルネットワークの情報は、ストレージシステム102に格納されてもよい。
Information on the constructed neural network is stored in the memory 111 in the form of input layer node and edge information, number of feature map graphs of each layer, weight table of each feature map graph, and output layer weight table. . Information about the constructed neural network may be stored in the
次に、図11を用いて識別処理について説明する。図11は、実施例1の計算機101が実行する識別処理を説明するフローチャートである。 Next, the identification process will be described with reference to FIG. FIG. 11 is a flowchart illustrating the identification processing executed by the computer 101 according to the first embodiment.
計算機101は、処理開始の指示を受け付けた場合、又は、識別対象のデータが入力された場合に以下で説明する処理を開始する。 The computer 101 starts the processing described below when receiving an instruction to start processing or when data to be identified is input.
まず、CPU115は、ストレージシステム102からグラフデータ121を取得し、メモリ111に格納する(ステップS1101)。学習処理時に取得されたグラフデータ121のトポロジと、識別処理時に取得されたグラフデータ121のトポロジとは異なっていてもよい。
First, the CPU 115 acquires the
CPU115は、取得されたグラフデータ121を用いてニューラルネットワークの再構築処理を実行する(ステップS1102)。ニューラルネットワークの再構築処理では、取得されたグラフデータ121を用いて図8と同様の処理が実行される。ただし、ステップS805の処理が一部異なる。
The CPU 115 executes a neural network reconstruction process using the acquired graph data 121 (step S1102). In the reconfiguration processing of the neural network, the same processing as in FIG. 8 is executed using the acquired
具体的には、CPU115は、改めて重みラベルを生成することなく、学習処理において生成された重みラベルをメモリ111から取得し、取得された重みラベル用いて重みテーブル123を生成する。また、重みラベルに対応する重みは、学習処理において算出されているため、算出された値に基づいてニューラルネットワークの各エッジに重みが与えられる。 Specifically, the CPU 115 acquires the weight label generated in the learning process from the memory 111 without generating the weight label again, and generates the weight table 123 using the acquired weight label. Further, since the weight corresponding to the weight label is calculated in the learning process, a weight is given to each edge of the neural network based on the calculated value.
学習処理において、ノード間を接続するエッジの属性に基づいて重みラベルが割り当てられるため、異なるグラフデータ121であっても、同一の属性を有するエッジには同一の重みラベルが割り当てられる。そのため、学習結果を用いた処理が実行される。
In the learning process, the weight label is assigned based on the attribute of the edge connecting the nodes. Therefore, even in the
次に、CPU115は、ストレージシステム102等から対象のデータを取得し、メモリ111に格納する(ステップS1103)。
Next, the CPU 115 acquires target data from the
次に、CPU115は、ニューラルネットワークを用いた信号伝播を行い(ステップS1104)、出力結果(出力ベクトル)をメモリ111に格納する(ステップS1105)。なお、出力結果はストレージシステム102に格納されてもよい。
Next, the CPU 115 performs signal propagation using a neural network (step S1104), and stores an output result (output vector) in the memory 111 (step S1105). Note that the output result may be stored in the
実施例1によれば、ノード間の複雑な相互関係をグラフデータとして入力して、ニューラルネットワークを構築することによって、複雑な相互関係をニューラルネットワークの構造に反映できる。すなわち、複雑な評価関数を学習することが可能となる。 According to the first embodiment, a complex interrelation between nodes is input as graph data and a neural network is constructed, whereby the complex interrelation can be reflected in the structure of the neural network. That is, it becomes possible to learn a complicated evaluation function.
実施例2では、実施例1で説明したニューラルネットワークを用いた最適化問題の処理の高速化について説明する。以下、実施例1との差異を中心に実施例2について説明する。 In the second embodiment, the speeding up of the optimization problem processing using the neural network described in the first embodiment will be described. Hereinafter, the second embodiment will be described focusing on differences from the first embodiment.
実施例2の計算機システム100の構成は実施例1の計算機システム100と同一であるため説明を省略する。また、実施例2の計算機101及びストレージシステム102の構成は、実施例1の計算機101及びストレージシステム102と同一であるため説明を省略する。
Since the configuration of the
一般的に、最適化問題は、入力データx1〜xn、評価関数f(x1、...、xn)とした場合、評価関数の値、すなわち、評価値を最大又は最小とする入力データx1〜xnの値又は状態を決定する問題である。 Generally, when the optimization problem is input data x1 to xn and an evaluation function f (x1,..., Xn), the value of the evaluation function, that is, the input data x1 to x1 that maximizes or minimizes the evaluation value. The problem is to determine the value or state of xn.
このとき、入力データx1〜xnの値の組み合わせが非常に多くなると、最適化問題にかかる計算量も非常に多くなる。そのため、計算量を削減するために近似アルゴリズムが用いられる。近似アルゴリズムは、例えば、モンテカルロ法、粒子法、遺伝的アルゴリズム、及びシミュレーテッドアニーリング等が上げられる。前述したような近似アルゴリズムは、入力データx1〜xnの組み合わせを削減することによって、最適化問題にかかる計算量を削減している。 At this time, if the combination of the values of the input data x1 to xn is very large, the amount of calculation related to the optimization problem is also very large. Therefore, an approximation algorithm is used to reduce the calculation amount. Examples of the approximation algorithm include a Monte Carlo method, a particle method, a genetic algorithm, and simulated annealing. The approximation algorithm as described above reduces the amount of calculation related to the optimization problem by reducing the combination of the input data x1 to xn.
図18は、従来の計算機が実行する近似アルゴリズムに基づく最適化問題の処理を説明するフローチャートである。ここでは、n個の成分xiから構成されるベクトルxが入力データであり、かつ、評価関数f(x1、...、xn)を最小にする最適化問題を考える。なお、添字iは、1からnまでの整数である。 FIG. 18 is a flowchart for explaining optimization problem processing based on an approximation algorithm executed by a conventional computer. Here, an optimization problem is considered in which a vector x composed of n components xi is input data and the evaluation function f (x1,..., Xn) is minimized. The subscript i is an integer from 1 to n.
計算機は、入力データxの初期化した後(ステップS1801)、ステップS1802に進む。計算機は、入力データxの値を用いて評価関数を計算する(ステップS1802)。具体的には、計算機は、入力データの各成分xiの初期値を決定した後、各成分xiの初期値を評価関数に代入することによって、評価値を算出する。 After the initialization of the input data x (step S1801), the computer proceeds to step S1802. The calculator calculates an evaluation function using the value of the input data x (step S1802). Specifically, the calculator calculates an evaluation value by substituting the initial value of each component xi into the evaluation function after determining the initial value of each component xi of the input data.
次に、計算機は、算出された評価値が現在の最小値より小さいか否かを判定する(ステップS1803)。なお、入力データxの初期値を用いて評価値が算出された場合、この時点では最小値が存在しない。そのため、計算機は、ステップS1803の判定処理を実行することなくステップS1807に進む。 Next, the computer determines whether or not the calculated evaluation value is smaller than the current minimum value (step S1803). If the evaluation value is calculated using the initial value of the input data x, there is no minimum value at this point. Therefore, the computer proceeds to step S1807 without executing the determination process in step S1803.
算出された評価値が現在の最小値以上であると判定された場合、計算機は、各成分xiの値の組み合わせ(探索点)を決定する(ステップS1807)。その後、計算機は、ステップS1802に戻り、同様の処理を実行する。なお、探索点の決定方法は、用いられる近似アルゴリズムによって異なる。 When it is determined that the calculated evaluation value is equal to or greater than the current minimum value, the calculator determines a combination (search point) of the values of each component xi (step S1807). Thereafter, the computer returns to step S1802 and executes the same processing. Note that the search point determination method varies depending on the approximation algorithm used.
算出された評価値が現在の最小値より小さいと判定された場合、計算機は、算出された評価値を最小値として更新する(ステップS1804)。 When it is determined that the calculated evaluation value is smaller than the current minimum value, the calculator updates the calculated evaluation value as the minimum value (step S1804).
次に、計算機は、現在の最小値が閾値より小さいか否かを判定する(ステップS1805)。 Next, the computer determines whether or not the current minimum value is smaller than the threshold value (step S1805).
現在の最小値が閾値以上であると判定された場合、計算機は、各成分xiの値の組み合わせ(探索点)を決定する(ステップS1807)。現在の最小値が閾値より小さいと判定された場合、計算機は、評価値が最小となる各成分xiの値の組み合わせを出力し(ステップS1806)、処理を終了する。 When it is determined that the current minimum value is equal to or greater than the threshold, the computer determines a combination (search point) of the values of each component xi (step S1807). When it is determined that the current minimum value is smaller than the threshold value, the computer outputs a combination of values of each component xi that minimizes the evaluation value (step S1806), and ends the process.
従来の近似アルゴリズムは、探索回数を削減するものである。しかし、対象となる問題が複雑な場合、探索点毎の評価関数の計算量も多くなり、最適化問題の処理の高速化の問題となる。 Conventional approximation algorithms reduce the number of searches. However, when the target problem is complicated, the amount of calculation of the evaluation function for each search point increases, which becomes a problem of speeding up the processing of the optimization problem.
実施例2では、評価関数の演算処理をニューラルネットワークを用いて、高速化を行う例を示す。 The second embodiment shows an example in which the calculation process of the evaluation function is accelerated using a neural network.
まず、計算機101は、入力データxをグラフデータに変換し、当該グラフデータを入力として実施例1の学習処理を実行する。ここで、入力データxをグラフデータに変換する方法について説明する。 First, the computer 101 converts the input data x into graph data, and executes the learning process of the first embodiment using the graph data as input. Here, a method for converting the input data x into graph data will be described.
図12は、実施例2の入力データxからグラフデータへの変換を示す説明図である。図12に示す例では、入力データxが3次元のベクトルであるものとする。また、入力データxの成分はx0、x1、及びx2であるものとする。 FIG. 12 is an explanatory diagram illustrating conversion from input data x to graph data according to the second embodiment. In the example shown in FIG. 12, it is assumed that the input data x is a three-dimensional vector. The components of the input data x are x0, x1, and x2.
計算機101は、入力データ1100の各成分x0、x1、及びx2をノードとして定義する。計算機101は、3次元空間におけるベクトルxの特性に基づいてノード間を接続するエッジを生成する。例えば、ベクトルxの平均値が閾値より小さい場合にエッジを生成する方法、又は、3次元空間における基準点との間の距離(例えば、ユークリッド距離又はマンハッタン距離等)が閾値より小さい場合にエッジを生成する方法が考えられる。 The computer 101 defines each component x0, x1, and x2 of the input data 1100 as a node. The computer 101 generates an edge connecting nodes based on the characteristics of the vector x in the three-dimensional space. For example, a method of generating an edge when the average value of the vector x is smaller than a threshold value, or an edge when a distance from a reference point in a three-dimensional space (for example, Euclidean distance or Manhattan distance) is smaller than the threshold value. A generation method is conceivable.
また、学習処理におけるエッジのラベルの決定方法としては、例えば、距離に基づいてエッジを生成する方法を用いた場合、基準点と各座標との間の位置関係に基づいて決定することができる。 In addition, as a method for determining an edge label in the learning process, for example, when a method for generating an edge based on a distance is used, it can be determined based on a positional relationship between a reference point and each coordinate.
また、誤差逆伝播処理では、グラフデータに変換されたベクトルxに対応する評価値を教師データとして用いて処理が実行される。なお、本実施例では、評価値の最小値を求める最適化問題であるため、評価値が閾値以下の場合教師データは「0」、評価値が閾値より大きい場合教師データは「1」であるものとする。このように定義することによって、評価値が閾値より小さい場合には、出力が「0」となるようにニューラルネットワークが構築される。 In the error back propagation process, the process is executed using the evaluation value corresponding to the vector x converted into the graph data as the teacher data. In this embodiment, since this is an optimization problem for obtaining the minimum evaluation value, the teacher data is “0” when the evaluation value is less than or equal to the threshold value, and the teacher data is “1” when the evaluation value is greater than the threshold value. Shall. By defining in this way, when the evaluation value is smaller than the threshold value, the neural network is constructed so that the output becomes “0”.
前述したような学習処理が終了した後、計算機101は、具体的な最適化問題の処理を開始する。図13は、実施例2の計算機101が実行する最適化問題の処理を説明するフローチャートである。なお、従来の最適化問題の処理と同一のステップには同一の符号を付し、処理の説明を省略する。 After the learning process as described above is completed, the computer 101 starts a specific optimization problem process. FIG. 13 is a flowchart for explaining the optimization problem processing executed by the computer 101 according to the second embodiment. The same steps as those of the conventional optimization problem processing are denoted by the same reference numerals, and the description of the processing is omitted.
計算機101は、入力データxの初期化した後(ステップS1801)、ニューラルネットワークを用いて評価値を算出する(ステップS1301)。 The computer 101 initializes the input data x (step S1801), and then calculates an evaluation value using a neural network (step S1301).
具体的には、計算機101は、入力データの各成分の値を、当該成分xiに対応するニューラルネットワーク内の入力層のノードに入力することによって、ニューラルネットワークを用いた演算処理を実行する。ニューラルネットワークを用いた評価値の算出処理は、一般的な評価関数の演算処理より計算量が少ないため、高速に行うことができる。 Specifically, the computer 101 executes arithmetic processing using the neural network by inputting the value of each component of the input data to a node of the input layer in the neural network corresponding to the component xi. The evaluation value calculation process using the neural network can be performed at high speed because the calculation amount is smaller than that of a general evaluation function calculation process.
また、本実施例では、ニューラルネットワークを用いて算出された評価値が閾値より小さい場合、出力は「0」となる。 In this embodiment, when the evaluation value calculated using the neural network is smaller than the threshold value, the output is “0”.
次に、計算機101は、ニューラルネットワークを用いて算出された評価値が「0」であるか否かを判定する(ステップS1302)。 Next, the computer 101 determines whether or not the evaluation value calculated using the neural network is “0” (step S1302).
ニューラルネットワークを用いて算出された評価値が「0」でないと判定された場合、計算機101は、ステップS1807に進む。 If it is determined that the evaluation value calculated using the neural network is not “0”, the computer 101 proceeds to step S1807.
ニューラルネットワークを用いて算出された評価値が「0」であると判定された場合、計算機101は、入力データxの値を用いて評価関数を計算する(ステップS1802)。 When it is determined that the evaluation value calculated using the neural network is “0”, the computer 101 calculates an evaluation function using the value of the input data x (step S1802).
一般に、積和の演算処理の組み合わせであるニューラルネットワークの演算処理の方が複雑な評価関数を用いた演算処理より計算量が少ない。一方、ニューラルネットワークを用いて算出された評価値の精度は、評価関数を用いる場合と比べて低い。 In general, the calculation processing of a neural network, which is a combination of product-sum calculation processing, requires less calculation than the calculation processing using a complicated evaluation function. On the other hand, the accuracy of the evaluation value calculated using the neural network is lower than that using the evaluation function.
そこで、実施例2では、ニューラルネットワークを用いた評価値の算出処理を一種のフィルタとして用いることによって、最適化問題の処理を高速化する。すなわち、評価値の値が「0」の場合にのみ評価関数を計算することによって、評価関数を用いた演算処理の実行回数を削減できる。 Accordingly, in the second embodiment, the optimization problem processing is speeded up by using the evaluation value calculation processing using a neural network as a kind of filter. That is, by calculating the evaluation function only when the evaluation value is “0”, the number of executions of the arithmetic processing using the evaluation function can be reduced.
このように、実施例2では、ニューラルネットワークを用いた演算処理が粒度の荒い最適解の探索処理として扱われる。通常、粒度の異なる最適解の探索処理では、異なるアルゴリズムを構築する必要がある。しかし、実施例2では、同一のアルゴリズムを用いて、粒度の異なる最適解の探索処理を実現できる。 As described above, in the second embodiment, arithmetic processing using a neural network is handled as search processing for an optimal solution with a coarse granularity. Normally, different algorithms need to be constructed in search processing for optimal solutions with different granularities. However, in the second embodiment, it is possible to realize search processing for optimal solutions with different granularities using the same algorithm.
実施例3では、具体的な例として、倉庫の棚及び通路の最適レイアウト問題の処理の高速化について説明する。 In the third embodiment, as a specific example, a description will be given of speeding up of the optimal layout problem processing of warehouse shelves and passages.
実施例3の計算機システム100の構成は実施例1の計算機システム100と同一であるため説明を省略する。また、実施例3の計算機101及びストレージシステム102の構成は、実施例1の計算機101及びストレージシステム102と同一であるため説明を省略する。なお、実施例3では、データ処理部120が、入力データを解析し、解析の結果に基づいてグラフデータを生成する機能(グラフデータ生成部)を有する。なお、解析結果には、複数ノードの配置、及びノード間を接続するエッジの距離等が含まれる。
Since the configuration of the
図19は、従来の計算機が実行する最適レイアウト問題の処理を説明するフローチャートである。 FIG. 19 is a flowchart for explaining processing of an optimal layout problem executed by a conventional computer.
計算機は、まず、初期レイアウト1920を受け付ける(ステップS1901)。ここで、初期レイアウト1920には、対象となる倉庫の形状、及び倉庫内の立ち入り禁止領域1921等の情報が含まれる。
First, the computer receives an initial layout 1920 (step S1901). Here, the
次に、計算機は、初期レイアウト1920である倉庫の出入口を設定する(ステップS1902)。具体的には、計算機は、初期レイアウト1920内の所定の位置に所定の数の出入口1922を設定する。なお、出入口の数及び位置は予め与えられるものとする。出入口が設定されたレイアウトは、図19に示すようなレイアウト1930になる。
Next, the computer sets an entrance / exit of the warehouse which is the initial layout 1920 (step S1902). Specifically, the computer sets a predetermined number of
次に、計算機は、レイアウト1930に対応する倉庫内に所定の位置に所定の数の棚1923を設定することによって、複数の棚配置レイアウト候補1940を生成する(ステップS1903)。
Next, the computer sets a predetermined number of
具体的には、計算機は、レイアウト1930を入力として、棚の数及び棚の配置が異なる複数の棚配置レイアウト候補1940を出力する。棚の配置方法は、例えば、シミュレーテッドアニーリング等の最適化手法を用いる。ここでは、棚の配置が異なるN個の棚配置レイアウト候補が出力されるものとする。ここで、棚配置の最適化の評価関数として、例えば、棚の数や配置の形状が考えられる。
Specifically, the computer receives the layout 1930 and outputs a plurality of shelf
次に、計算機は、棚配置レイアウト候補1940のループ処理を開始する(ステップS1904)。具体的には、計算機は、複数の棚配置レイアウト候補1940の中から、対象の棚配置レイアウト候補1940を選択する。
Next, the computer starts a loop process for the shelf arrangement layout candidate 1940 (step S1904). Specifically, the computer selects a target shelf
次に、計算機は、選択された棚配置レイアウト候補1940に対して通路の最適化処理を実行する(ステップS1905)。 Next, the computer executes passage optimization processing on the selected shelf arrangement layout candidate 1940 (step S1905).
ここでは、対象の棚配置レイアウト候補1940に対して、通路及び通路方向の最適化処理が実行される。計算機は、最適化処理の結果として、通路配置レイアウト候補1950を算出する。通路配置レイアウト候補1950の矢印1924は、通路及びその通路の方向を示す。1つの棚配置レイアウト候補1940に対して1つの通路配置レイアウト候補1950が出力される。
Here, the optimization process of the passage and the passage direction is executed for the target shelf
なお、通路及び通路方向とは、例えば、棚又は荷物を載せるカート等の通路及びその進行方向を示す。ここで、通路及び通路方向の最適化処理の評価関数は出入口及び各棚の経路長等が考えられる。また、評価値が最小となるレイアウトが通路配置レイアウト候補1950として出力されるものとする。 The passage and the passage direction indicate, for example, a passage such as a shelf or a cart on which a load is placed and a traveling direction thereof. Here, as the evaluation function of the optimization process in the passage and the passage direction, the entrance / exit and the path length of each shelf can be considered. Further, it is assumed that the layout having the smallest evaluation value is output as the path layout layout candidate 1950.
次に、計算機は、全ての棚配置レイアウト候補1940について通路の最適化処理が完了したか否かを判定する(ステップS1906)。 Next, the computer determines whether or not the path optimization processing has been completed for all the shelf arrangement layout candidates 1940 (step S1906).
全ての棚配置レイアウト候補1940について通路の最適化処理が完了していないと判定された場合、計算機は、新たな棚配置レイアウト候補1940を選択し、同様の処理を実行する。一方、全ての棚配置レイアウト候補1940について通路の最適化処理が完了したと判定された場合、計算機は、N個の通路配置レイアウト候補1950の中から最適レイアウト1960を選択する(ステップS1907)。
When it is determined that the path optimization process has not been completed for all the shelf
具体的には、計算機は、棚配置の最適化の評価関数の値、すなわち、評価値に基づいて、通路配置レイアウト候補1950の中から最適レイアウト1960を選択し、選択された最適レイアウト1960を処理結果として出力する。 Specifically, the computer selects the optimum layout 1960 from the passage arrangement layout candidates 1950 based on the value of the evaluation function of the shelf arrangement optimization, that is, the evaluation value, and processes the selected optimum layout 1960. Output as a result.
前述の最適レイアウト問題の処理では、棚配置レイアウト候補1940のループ処理、及び通路の最適化処理の2つの最適化が行われる。ここで、1つの棚配置レイアウト候補1940に対する通路の最適化処理は、評価関数の演算処理に相当する。そこで、本実施例では、通路の最適化処理に対してニューラルネットワークを用いた演算処理を適用することによって処理の高速化を実現する。
In the above-described optimal layout problem processing, two optimizations are performed: loop processing of the shelf
通路の最適化処理では、1つの棚配置レイアウト候補1940が計算機に入力され、計算機は、出力として1つの通路配置レイアウト候補1950を出力する。
In the passage optimization process, one shelf
実施例3の計算機101は、実施例1及び実施例2に示す最適化処理を実現するために、まず、入力された棚配置レイアウト候補1940をグラフデータに変換する。ここで、図14から図16を用いて、棚配置レイアウト候補1940をグラフデータに変換する方法について説明する。
The computer 101 according to the third embodiment first converts the input shelf
図14は、実施例3の棚配置レイアウト候補1940のセル表現及びグラフ化の一例を示す説明図である。図15は、実施例3の棚配置レイアウト候補1940のグラフにおけるエッジのラベルの割り当て方法の一例を示す説明図である。図16は、実施例3の棚配置レイアウト候補1940のグラフデータの一例を示す説明図である。
FIG. 14 is an explanatory diagram illustrating an example of cell representation and graphing of the shelf
計算機101は、棚配置レイアウト候補1940を図14に示すようなセルに分割する。また、計算機101は、各セルに、立ち入り禁止領域1921、出入口1922、棚1923及び通路1924に対応する値を設定する。ここでは、立ち入り禁止領域1921には「−1」、出入口1922には「0.5」、棚1923には「0」、また、通路1924には「1」が設定されるものとする。
The computer 101 divides the shelf
以上の処理によって棚配置レイアウト候補1940を図14に示すようなセルの集合として表現できる。
Through the above processing, the shelf
次に、計算機101は、セルの集合をグラフ化する。ここでは、セル1410−1及びセル1410−2に着目したセルの集合のグラフ化について説明する。 Next, the computer 101 graphs the set of cells. Here, graphing of a set of cells focusing on the cell 1410-1 and the cell 1410-2 will be described.
計算機101は、セル1410−1及びセル1410−2等の各セルに対応するノードを生成する。計算機101は、セル1410−1に対応するノード1440−1と他のノードとの間にエッジを生成し、また、セル1410−2に対応するノード1411−1と他のノードとの間にエッジを生成する。 The computer 101 generates a node corresponding to each cell such as the cell 1410-1 and the cell 1410-2. The computer 101 generates an edge between the node 1440-1 corresponding to the cell 1410-1 and another node, and also generates an edge between the node 1411-1 corresponding to the cell 1410-2 and the other node. Is generated.
本実施例では、セル1410−1から上下方向の2つ分のセルとセル1410−1との間でエッジが生成され、また、セル1410−1の左右方向の2つ分のセルとセル1410−1との間でエッジが生成される。また、本実施例では、セル1410−2から上方向に2つ分のセルとセル1410−2との間でエッジが生成され、また、セル1410−2の左右方向の2つ分のセルとセル1410−2との間でエッジが生成される。例えば、ノード1440−1とノード1440−2との間にエッジが生成され、また、ノード1440−1とノード1440−3との間にエッジが生成される。 In this embodiment, an edge is generated between two cells in the vertical direction from the cell 1410-1 and the cell 1410-1, and two cells in the left-right direction of the cell 1410-1 and the cell 1410 are generated. An edge is generated between -1. Further, in this embodiment, an edge is generated between two cells upward from the cell 1410-2 and the cell 1410-2, and two cells in the left-right direction of the cell 1410-2 An edge is generated between the cell 1410-2. For example, an edge is generated between the node 1440-1 and the node 1440-2, and an edge is generated between the node 1440-1 and the node 1440-3.
以上の処理によって、セル1410−1に着目したセルの集合は、グラフ1(1430−1)に示すようなグラフに変換され、また、セル1410−2に着目したセルの集合は、グラフ2(1430−2)に示すようなグラフに変換される。 With the above processing, the set of cells focused on the cell 1410-1 is converted into a graph as shown in the graph 1 (1430-1), and the set of cells focused on the cell 1410-2 is converted to the graph 2 ( 1430-2).
なお、ノード間を接続するエッジは、正方形、ひし形等の特定の形状、及び大きさ等を自由に設定できる。なお、本実施例では、値が「−1」であるセルとの間にはエッジは生成されないという禁止ルールが適用されているものとする。 The edges connecting the nodes can be freely set to have a specific shape such as a square or a rhombus, and a size. In the present embodiment, it is assumed that the prohibition rule that no edge is generated between cells having a value of “−1” is applied.
次に、計算機101は、エッジにラベルを割り当てる。エッジに対するラベルの割り当てには予め定義されたラベル表1600を使用する。図16に示すラベル表1600は、エッジの起点となるセルからエッジの終点となるセルの方向及び距離に応じて「1」から「8」の番号(ラベル)が割り当てられる。計算機101は、着目するセルと他のセルの方向及び距離に基づいて、エッジにラベルを割り当てる。 Next, the computer 101 assigns a label to the edge. A pre-defined label table 1600 is used for assigning labels to edges. In the label table 1600 shown in FIG. 16, numbers (labels) “1” to “8” are assigned according to the direction and distance of the cell that is the end point of the edge from the cell that is the start point of the edge. The computer 101 assigns labels to the edges based on the direction and distance between the cell of interest and other cells.
例えば、グラフ1(1430−1)の場合、エッジ1510−1は、ノード1440−1から「上方向」に「距離1」のノード1440−2と接続するエッジであるため、計算機101は、エッジ1510−1にラベル「1」を割り当てる。また、エッジ1510−2は、ノード1440−1から「上方向」に「距離2」のノード1440−2と接続するエッジであるため、計算機101は、エッジ1510−2にラベル「5」を割り当てる。一方、エッジ1510−3及びエッジ1510−4とは向きが逆のエッジ1510−3及びエッジ1510−4には別のラベルが割り当てられる。すなわち、エッジ1510−3は、ノード1440−2から「下方向」に「距離1」のノード1440−1と接続するエッジであるため、計算機101は、エッジ1510−3にラベル「2」を割り当てる。また、エッジ1510−4は、ノード1440−3から「下方向」に「距離2」のノード1440−1と接続するエッジであるため、計算機101は、エッジ1510−4にラベル「6」を割り当てる。
For example, in the case of graph 1 (1430-1), the edge 1510-1 is an edge that is connected “upward” from the node 1440-1 to the node 1440-2 that is “
計算機101は、前述した処理を全てのエッジに対して実行する。以上のような処理を全てのセルに対して実行することによって、棚配置レイアウト候補1940が図16に示すようなグラフデータに変換される。なお、図16では図の煩雑さを避けるため、「距離2」であるエッジに割り当てられるラベル「5」、「6」、「7」及び「8」が割り当てられるエッジ、及びエッジによって接続されていないノードは省略している。
The computer 101 executes the process described above for all edges. By executing the above processing for all the cells, the shelf
計算機101は、複数の棚配置レイアウト候補1940の各々の複数のグラフデータを入力データとして、ニューラルネットワークの構築処理を実行する。なお、ニューラルネットワークの構築処理は実施例1と同一の処理であるため説明を省略する。
The computer 101 executes a neural network construction process using a plurality of graph data of each of the plurality of shelf
図17は、実施例3の計算機101が実行する最適レイアウト問題の処理を説明するフローチャートである。なお、従来の最適化問題の処理と同一のステップには同一の符号を付し、処理の説明を省略する。 FIG. 17 is a flowchart for explaining the optimum layout problem processing executed by the computer 101 according to the third embodiment. The same steps as those of the conventional optimization problem processing are denoted by the same reference numerals, and the description of the processing is omitted.
計算機101は、ステップS1904において選択された棚配置レイアウト候補1940を入力として、ニューラルネットワークを用いて評価値を算出する(ステップS1701)。ここでは、実施例2のステップS1301と同様の処理が実行される。ただし、評価関数が異なる。本実施例では、ニューラルネットワークを用いて算出された評価値が閾値より小さい場合、出力は「0」となる。
The computer 101 receives the shelf
次に、計算機101は、ニューラルネットワークを用いて算出された評価値が「0」であるか否かを判定する(ステップS1702)。 Next, the computer 101 determines whether or not the evaluation value calculated using the neural network is “0” (step S1702).
ニューラルネットワークを用いて算出された評価値が「0」でないと判定された場合、計算機101は、ステップS1906に進む。 If it is determined that the evaluation value calculated using the neural network is not “0”, the computer 101 proceeds to step S1906.
ニューラルネットワークを用いて算出された評価値が「0」であると判定された場合、計算機101は、通路の最適化処理を実行する(ステップS1905)。 When it is determined that the evaluation value calculated using the neural network is “0”, the computer 101 executes a path optimization process (step S1905).
ここで、具体的な倉庫を例に、図17を適用した場合の演算処理の精度及び速度について述べる。ここでは、縦が「23」、横が「23」の倉庫を想定する。また、ステップS1903において、「923」個の棚配置レイアウト候補1940が決定されたものとする。また、「923」個の棚配置レイアウト候補1940のうち、「200」個の棚配置レイアウト候補1940を学習処理のサンプルデータとして計算機101に入力する。なお、残りの「723」個の棚配置レイアウト候補1940は、未知のデータとして扱う。
Here, taking a specific warehouse as an example, the accuracy and speed of arithmetic processing when FIG. 17 is applied will be described. Here, it is assumed that the warehouse is “23” vertically and “23” horizontally. In step S1903, “923” shelf
このとき、「200」個のサンプルデータに対する学習精度は100%であり、未知のデータを含めた全データに対する学習精度は97%となる。 At this time, the learning accuracy for “200” sample data is 100%, and the learning accuracy for all data including unknown data is 97%.
本実施例では評価関数の最小値を求める問題であるため、評価値の下から10位のサンプルデータに着目した場合、当該サンプルデータは全てのニューラルネットワークにおいて評価値が低いと判定される。そのため、評価関数の最小値を求める問題に、ニューラルネットワークの出力を用いて、所定のデータに対する評価関数の演算処理をスキップしても最終的な出力結果は変わらない。したがって、本実施例の処理は、従来の最適化問題の処理と同一の最適レイアウト1960が出力される。したがって、演算結果は従来と同一の精度となる。 Since this embodiment is a problem of obtaining the minimum value of the evaluation function, when attention is paid to the 10th sample data from the bottom of the evaluation value, it is determined that the sample data has a low evaluation value in all the neural networks. Therefore, the final output result does not change even if the calculation function of the evaluation function for the predetermined data is skipped by using the output of the neural network for the problem of obtaining the minimum value of the evaluation function. Therefore, the processing of the present embodiment outputs the same optimal layout 1960 as the conventional optimization problem processing. Therefore, the calculation result has the same accuracy as the conventional one.
一方、通路の最適化処理が実行されたデータの数は「923」個の棚配置レイアウト候補1940のうちの3%程度となり、従来の処理より5倍の高速化が実現できる。
On the other hand, the number of data on which the path optimization process has been executed is about 3% of the “923” shelf
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 In addition, this invention is not limited to an above-described Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. The present invention can also be realized by software program codes that implement the functions of the embodiments. In this case, a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention. As a storage medium for supplying such a program code, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, A non-volatile memory card, ROM, or the like is used.
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。 Further, the program code for realizing the functions described in the present embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, Java, and the like.
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, by distributing the program code of the software that implements the functions of the embodiments via a network, the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R The CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiments, the control lines and information lines indicate what is considered necessary for the explanation, and not all control lines and information lines on the product are necessarily shown. All the components may be connected to each other.
Claims (14)
一つの層に含まれる一つのニューロンと、他の層に含まれる少なくとも一つのニューロンとの間には接続が構成され、
前記一つの層に含まれる一つのニューロンに入力された値は、重みとともに、前記接続によって接続される前記他の層に含まれる少なくとも一つのニューロンに出力され、
前記計算機は、
複数のノード及び前記複数のノード間を接続する一つ以上のエッジから構成されるグラフデータ、及びニューラルネットワークに入力される一つ以上の値を格納するサンプルデータを格納する記憶部と、
前記グラフデータを用いて、前記ニューラルネットワークを構築する構築部と、
前記サンプルデータを前記ニューラルネットワークに入力することによって前記ニューラルネットワーク内の複数の接続の前記重みを決定する学習処理を実行する学習処理部と、
を備え、
前記構築部は、
前記グラフデータに含まれる前記複数のノードに基づいて、前記複数の層の各々の一つ以上のニューロンを生成し、
前記グラフデータに含まれる前記一つ以上のエッジに基づいて、前記複数の層の各々に含まれる前記一つ以上のニューロン間の前記接続を生成することによって前記ニューラルネットワークを構築し、
前記構築されたニューラルネットワークの情報を前記記憶部に格納することを特徴とする計算機。A computer comprising a processor and a memory connected to the processor, and executing a calculation process using a neural network composed of a plurality of layers including one or more neurons,
A connection is formed between one neuron included in one layer and at least one neuron included in another layer,
A value input to one neuron included in the one layer is output to at least one neuron included in the other layer connected by the connection together with a weight,
The calculator is
A storage unit for storing a plurality of nodes and graph data composed of one or more edges connecting the plurality of nodes, and sample data for storing one or more values input to the neural network;
Using the graph data, a construction unit that constructs the neural network;
A learning processing unit that executes a learning process for determining the weights of a plurality of connections in the neural network by inputting the sample data to the neural network;
With
The construction unit
Generating one or more neurons of each of the plurality of layers based on the plurality of nodes included in the graph data;
Constructing the neural network by generating the connection between the one or more neurons included in each of the plurality of layers based on the one or more edges included in the graph data;
A computer characterized in that information of the constructed neural network is stored in the storage unit.
前記複数の層は、複数のニューロンを含む入力層、前記複数のニューロンを含む一つ以上の中間層、及び前記一つ以上のニューロンを含む出力層を含み、
前記構築部は、
前記出力層の設定に関する第1の設定情報を含む定義情報を受け付け、
前記第1の設定情報に基づいて、前記出力層を生成し、
前記グラフデータに含まれる複数のノードの各々に対応するニューロンを含む前記入力層を生成し、
前記グラフデータに含まれる複数のノードの各々に対応するニューロンを含むマップグラフを一つ以上生成することによって中間層を生成することを特徴とする計算機。The computer according to claim 1,
The plurality of layers includes an input layer including a plurality of neurons, one or more intermediate layers including the plurality of neurons, and an output layer including the one or more neurons,
The construction unit
Receiving definition information including first setting information regarding the setting of the output layer;
Based on the first setting information, the output layer is generated,
Generating the input layer including neurons corresponding to each of a plurality of nodes included in the graph data;
An intermediate layer is generated by generating one or more map graphs including neurons corresponding to each of a plurality of nodes included in the graph data.
前記定義情報は、一つの中間層に含まれる前記マップグラフの数に関する第2の設定情報を含み、
前記構築部は、
前記入力層、前記中間層、及び前記出力層を含む前記ニューラルネットワークを構成する場合に、前記第2の設定情報に基づいて前記マップグラフを一つ以上生成することによって前記中間層を生成し、
前記入力層に含まれる一つのニューロンを選択し、
前記グラフデータを参照して、前記選択されたニューロンに対応するノードとエッジを介して接続されるノードを特定し、
前記中間層に含まれ、かつ、前記特定されたノードに対応するニューロンと、前記選択されたニューロンとの間に前記接続を生成し、
前記一つ以上のマップグラフに含まれる複数のニューロンの各々と、前記出力層に含まれる全てのニューロンとの間に前記接続を生成することを特徴とする計算機。The computer according to claim 2,
The definition information includes second setting information regarding the number of the map graphs included in one intermediate layer,
The construction unit
When configuring the neural network including the input layer, the intermediate layer, and the output layer, generating the intermediate layer by generating one or more map graphs based on the second setting information,
Select one neuron included in the input layer,
With reference to the graph data, a node connected to the node corresponding to the selected neuron via an edge is identified,
Creating the connection between a neuron included in the intermediate layer and corresponding to the identified node and the selected neuron;
A computer that generates the connection between each of a plurality of neurons included in the one or more map graphs and all neurons included in the output layer.
前記グラフデータは、前記ノード間の相関関係に基づいて決定されたエッジのラベルを含み、
前記構築部は、一つのラベルと、当該ラベルが付与されたエッジに基づいて生成された前記複数の接続とを対応付けた重みテーブルを生成し、前記生成された重みテーブルを前記記憶部に格納し、
前記学習処理部は、
前記サンプルデータと前記重みテーブルを用いた誤差逆伝播処理を実行することによって、同一の前記ラベルが付与された前記接続の重みを決定し、
前記ラベルと前記接続の重みとを対応付けた情報を前記記憶部に格納することを特徴とする計算機。The computer according to claim 3, wherein
The graph data includes an edge label determined based on a correlation between the nodes;
The construction unit generates a weight table in which one label is associated with the plurality of connections generated based on the edge to which the label is attached, and stores the generated weight table in the storage unit And
The learning processing unit
By performing an error back propagation process using the sample data and the weight table, the weight of the connection given the same label is determined,
Information that associates the label with the connection weight is stored in the storage unit.
前記計算機は、任意のデータの識別に用いる評価関数及び前記学習処理部が出力した学習済のニューラルネットワークを用いて任意のデータに対する識別処理を実行する識別処理部を備え、
前記ニューラルネットワークは、前記評価関数に対応するニューラルネットワークであり、
前記識別処理部は、
対象のデータの入力を受け付けた場合、前記ニューラルネットワークに前記対象のデータを入力することによって第1の演算処理を実行し、
前記第1の演算処理の出力値に基づいて、前記評価関数を用いた第2の演算処理を実行するか否かを判定し、
前記第2の演算処理を実行すると判定された場合、前記対象のデータを前記評価関数に入力することによって前記第2の演算処理を実行し、
前記第2の演算処理の出力値に基づいて、前記対象のデータの識別を行うことを特徴とする計算機。The computer according to claim 3, wherein
The computer includes an identification processing unit that executes identification processing for arbitrary data using an evaluation function used for identification of arbitrary data and a learned neural network output by the learning processing unit,
The neural network is a neural network corresponding to the evaluation function;
The identification processing unit
When receiving input of target data, the first calculation process is executed by inputting the target data to the neural network,
Based on the output value of the first calculation process, it is determined whether to execute the second calculation process using the evaluation function,
If it is determined to execute the second arithmetic processing, the second arithmetic processing is executed by inputting the target data into the evaluation function;
A computer that identifies the target data based on an output value of the second arithmetic processing.
前記対象のデータを解析し、前記解析の結果に基づいて、前記複数のノードを生成し、前記複数のノード間の相関関係に基づいて一つ以上のエッジを生成することによって前記グラフデータを生成し、前記記憶部に格納するグラフデータ生成部を備えることを特徴とする計算機。The computer according to claim 5, wherein
Analyzing the target data, generating the plurality of nodes based on the result of the analysis, and generating the graph data by generating one or more edges based on a correlation between the plurality of nodes And a graph data generation unit stored in the storage unit.
前記複数のノード間の相関関係は、前記複数のノードの各々の配置、及び前記ノード間の距離であることを特徴とする計算機。The computer according to claim 6, wherein
The correlation between the plurality of nodes is an arrangement of each of the plurality of nodes and a distance between the nodes.
前記ニューラルネットワークは、一つ以上のニューロンを含む複数の層から構成され、
一つの層に含まれる一つのニューロンと、他の層に含まれる少なくとも一つのニューロンとの間には接続が構成され、
前記一つの層に含まれる一つのニューロンに入力された値は、重みとともに、前記接続によって接続される前記他の層に含まれる少なくとも一つのニューロンに出力され、
前記メモリは、複数のノード及び前記複数のノード間を接続する一つ以上のエッジから構成されるグラフデータ、及びニューラルネットワークに入力される一つ以上の値を格納するサンプルデータを格納し、
前記ニューラルネットワークを用いた演算方法は、
前プロセッサが、前記グラフデータに含まれる前記複数のノードに基づいて、前記複数の層の各々の一つ以上のニューロンを生成する第1のステップと、
前記プロセッサが、前記グラフデータに含まれる前記一つ以上のエッジに基づいて、前記複数の層の各々に含まれる前記一つ以上のニューロン間の前記接続を生成することによって前記ニューラルネットワークを構築し、前記構築されたニューラルネットワークの情報を前記メモリに格納する第2のステップと、
前記プロセッサが、前記サンプルデータを前記ニューラルネットワークに入力することによって前記ニューラルネットワーク内の複数の接続の前記重みを決定する学習処理を実行し、前記学習処理の結果を前記メモリに格納する第3のステップと、
を含むことを特徴とするニューラルネットワークを用いた演算方法。An arithmetic method using a neural network executed by a processor and a computer having a memory connected to the processor,
The neural network is composed of a plurality of layers including one or more neurons,
A connection is formed between one neuron included in one layer and at least one neuron included in another layer,
A value input to one neuron included in the one layer is output to at least one neuron included in the other layer connected by the connection together with a weight,
The memory stores graph data composed of a plurality of nodes and one or more edges connecting the plurality of nodes, and sample data for storing one or more values input to a neural network,
The calculation method using the neural network is:
A first step of generating a one or more neurons of each of the plurality of layers based on the plurality of nodes included in the graph data;
The processor constructs the neural network by generating the connection between the one or more neurons included in each of the plurality of layers based on the one or more edges included in the graph data. A second step of storing information of the constructed neural network in the memory;
The processor executes a learning process for determining the weights of a plurality of connections in the neural network by inputting the sample data to the neural network, and stores a result of the learning process in the memory. Steps,
A calculation method using a neural network characterized by comprising:
前記複数の層は、複数のニューロンを含む入力層、前記複数のニューロンを含む一つ以上の中間層、及び前記一つ以上のニューロンを含む出力層を含み、
前記第1のステップは、
前記プロセッサが、前記出力層の設定に関する第1の設定情報を含む定義情報を受け付けるステップと、
前記プロセッサが、前記第1の設定情報に基づいて、前記出力層を生成するステップと、
前記プロセッサが、前記グラフデータに含まれる複数のノードの各々に対応するニューロンを含む前記入力層を生成するステップと、
前記プロセッサが、前記グラフデータに含まれる複数のノードの各々に対応するニューロンを含むマップグラフを一つ以上生成することによって中間層を生成するステップと、を含むことを特徴とするニューラルネットワークを用いた演算方法。A calculation method using the neural network according to claim 8,
The plurality of layers includes an input layer including a plurality of neurons, one or more intermediate layers including the plurality of neurons, and an output layer including the one or more neurons,
The first step includes
The processor accepting definition information including first setting information relating to the setting of the output layer;
The processor generating the output layer based on the first setting information;
The processor generating the input layer including a neuron corresponding to each of a plurality of nodes included in the graph data;
Using the neural network, wherein the processor includes generating an intermediate layer by generating one or more map graphs including neurons corresponding to each of a plurality of nodes included in the graph data. Calculation method.
前記定義情報は、一つの中間層に含まれる前記マップグラフの数に関する第2の設定情報を含み、
前記第1のステップは、前記プロセッサが、前記入力層、前記中間層、及び前記出力層を含む前記ニューラルネットワークを構成する場合に、前記第2の設定情報に基づいて前記マップグラフを一つ以上生成することによって前記中間層を生成するステップを含み、
前記第2のステップは、
前記プロセッサが、前記入力層に含まれる一つのニューロンを選択するステップと、
前記プロセッサが、前記グラフデータを参照して、前記選択されたニューロンに対応するノードとエッジを介して接続されるノードを特定するステップと、
前記プロセッサが、前記中間層に含まれ、かつ、前記特定されたノードに対応するニューロンと、前記選択されたニューロンとの間に前記接続を生成するステップと、
前記プロセッサが、前記一つ以上のマップグラフに含まれる複数のニューロンの各々と、前記出力層に含まれる全てのニューロンとの間に前記接続を生成するステップと、を含むことを特徴とするニューラルネットワークを用いた演算方法。A calculation method using the neural network according to claim 9,
The definition information includes second setting information regarding the number of the map graphs included in one intermediate layer,
In the first step, when the processor constitutes the neural network including the input layer, the intermediate layer, and the output layer, one or more map graphs are generated based on the second setting information. Generating the intermediate layer by generating,
The second step includes
The processor selecting a neuron included in the input layer;
The processor refers to the graph data and identifies a node connected to a node corresponding to the selected neuron via an edge;
The processor generating the connection between a neuron included in the intermediate layer and corresponding to the identified node and the selected neuron;
Generating a connection between each of a plurality of neurons included in the one or more map graphs and all of the neurons included in the output layer; Calculation method using a network.
前記グラフデータは、前記ノード間の相関関係に基づいて決定されたエッジのラベルを含み、
前記第2のステップは、前記プロセッサが、一つのラベルと、当該ラベルが付与されたエッジに基づいて生成された前記複数の接続とを対応付けた重みテーブルを生成し、前記生成された重みテーブルを前記メモリに格納するステップを含み、
前記第3のステップは、
前記プロセッサが、前記サンプルデータと前記重みテーブルを用いた誤差逆伝播処理を実行することによって、同一の前記ラベルが付与された前記接続の重みを決定するステップと、
前記プロセッサが、前記ラベルと前記接続の重みとを対応付けた情報を前記メモリに格納するステップと、を含むことを特徴とするニューラルネットワークを用いた演算方法。A calculation method using the neural network according to claim 10,
The graph data includes an edge label determined based on a correlation between the nodes;
In the second step, the processor generates a weight table in which one label is associated with the plurality of connections generated based on an edge to which the label is attached, and the generated weight table Storing in the memory,
The third step includes
The processor determines a weight of the connection given the same label by executing an error back propagation process using the sample data and the weight table;
And a step of storing, in the memory, information in which the processor associates the label with the connection weight in the memory.
前記ニューラルネットワークは、任意のデータの識別に用いる評価関数に対応するニューラルネットワークであり、
前記ニューラルネットワークを用いた演算方法は、
前記プロセッサが、対象のデータの入力を受け付けた場合、前記学習処理が実行されたニューラルネットワークに前記対象のデータを入力することによって第1の演算処理を実行するステップと、
前記プロセッサが、前記第1の演算処理の出力値に基づいて、前記評価関数を用いた第2の演算処理を実行するか否かを判定するステップと、
前記プロセッサが、前記第2の演算処理を実行すると判定された場合、前記対象のデータを前記評価関数に入力することによって前記第2の演算処理を実行するステップと、
前記プロセッサが、前記第2の演算処理の出力値に基づいて、前記対象のデータの識別を行うステップと、を含むことを特徴とするニューラルネットワークを用いた演算方法。A calculation method using the neural network according to claim 10,
The neural network is a neural network corresponding to an evaluation function used for identifying arbitrary data,
The calculation method using the neural network is:
When the processor receives input of target data, executing the first calculation process by inputting the target data to the neural network on which the learning process has been executed;
A step of determining whether or not the processor executes a second calculation process using the evaluation function based on an output value of the first calculation process;
When it is determined that the processor executes the second arithmetic processing, the second arithmetic processing is executed by inputting the target data into the evaluation function;
A step of identifying the target data based on an output value of the second calculation process; and a calculation method using a neural network.
前記プロセッサが、前記対象のデータを解析するステップと、
前記プロセッサが、前記解析の結果に基づいて、前記複数のノードを生成し、前記複数のノード間の相関関係に基づいて一つ以上のエッジを生成することによって前記グラフデータを生成し、前記メモリに格納するステップと、を含むことを特徴とするニューラルネットワークを用いた演算方法。A calculation method using the neural network according to claim 12,
The processor analyzing the data of interest;
The processor generates the graph data by generating the plurality of nodes based on a result of the analysis, and generating one or more edges based on a correlation between the plurality of nodes, and the memory And a step of storing in a neural network.
前記複数のノード間の相関関係は、前記複数のノードの各々の配置、及び前記ノード間の距離であることを特徴とするニューラルネットワークを用いた演算方法。A calculation method using the neural network according to claim 13,
The correlation method between the plurality of nodes is an arrangement of each of the plurality of nodes and a distance between the nodes.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/062767 WO2016174725A1 (en) | 2015-04-28 | 2015-04-28 | Computer, and calculation method using neural network |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016174725A1 JPWO2016174725A1 (en) | 2017-08-17 |
JP6205526B2 true JP6205526B2 (en) | 2017-09-27 |
Family
ID=57198250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017515312A Expired - Fee Related JP6205526B2 (en) | 2015-04-28 | 2015-04-28 | Calculation method using computer and neural network |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6205526B2 (en) |
WO (1) | WO2016174725A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018135515A1 (en) * | 2017-01-23 | 2018-07-26 | 日本電気株式会社 | Information processing device, neural network design method, and recording medium |
JP6906478B2 (en) * | 2018-05-23 | 2021-07-21 | 株式会社東芝 | Information processing equipment, information processing methods, and programs |
US11231961B2 (en) * | 2019-05-22 | 2022-01-25 | Fujitsu Limited | Scheduling operations |
CN110687905A (en) * | 2019-09-11 | 2020-01-14 | 珠海市众创芯慧科技有限公司 | Unmanned intelligent vehicle based on integration of multiple sensing technologies |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4315386B2 (en) * | 2005-03-04 | 2009-08-19 | 日本電信電話株式会社 | Minimum path calculation method, apparatus thereof, and communication network using the same |
-
2015
- 2015-04-28 JP JP2017515312A patent/JP6205526B2/en not_active Expired - Fee Related
- 2015-04-28 WO PCT/JP2015/062767 patent/WO2016174725A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2016174725A1 (en) | 2017-08-17 |
WO2016174725A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Romeo et al. | Machine learning-based design support system for the prediction of heterogeneous machine parameters in industry 4.0 | |
CN113544711B (en) | Hybrid algorithm system and method for using cluster contraction | |
US20230023101A1 (en) | Data processing method and device | |
US20200143243A1 (en) | Multiobjective Coevolution of Deep Neural Network Architectures | |
CA3085897A1 (en) | Evolutionary architectures for evolution of deep neural networks | |
CN113449858A (en) | Processing method of neural network model and related equipment | |
JP5881048B2 (en) | Information processing system and information processing method | |
JP6205526B2 (en) | Calculation method using computer and neural network | |
CN113204988B (en) | Small sample viewpoint estimation | |
Meera et al. | Retracted article: a hybrid metaheuristic approach for efficient feature selection methods in big data | |
Wang et al. | Crisscross Harris hawks optimizer for global tasks and feature selection | |
Zamri et al. | Multi-discrete genetic algorithm in hopfield neural network with weighted random k satisfiability | |
CN114897173A (en) | Method and device for determining PageRank based on variational quantum line | |
CN118451423A (en) | Optimal knowledge distillation scheme | |
CN116629352A (en) | Hundred million-level parameter optimizing platform | |
JP2022032703A (en) | Information processing system | |
Panja et al. | A hybrid tuple selection pipeline for smartphone based Human Activity Recognition | |
Zheng et al. | Multi-class indoor semantic segmentation with deep structured model | |
Rezapoor Mirsaleh et al. | A learning automata-based memetic algorithm | |
Harde et al. | Design and implementation of ACO feature selection algorithm for data stream mining | |
Gul et al. | Multi-agent robotics system with whale optimizer as a multi-objective problem | |
Nikolos | On the use of multiple surrogates within a differential evolution procedure for high-lift airfoil design | |
Kampolis et al. | Distributed evolutionary algorithms with hierarchical evaluation | |
Wei et al. | Graph MADDPG with RNN for multiagent cooperative environment | |
Li et al. | GAP: Goal-aware prediction with hierarchical interactive representation for vehicle trajectory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170301 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170904 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6205526 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |