JP6227052B2 - Processing apparatus, determination method, and program - Google Patents

Processing apparatus, determination method, and program Download PDF

Info

Publication number
JP6227052B2
JP6227052B2 JP2016095342A JP2016095342A JP6227052B2 JP 6227052 B2 JP6227052 B2 JP 6227052B2 JP 2016095342 A JP2016095342 A JP 2016095342A JP 2016095342 A JP2016095342 A JP 2016095342A JP 6227052 B2 JP6227052 B2 JP 6227052B2
Authority
JP
Japan
Prior art keywords
nodes
weight
neural network
learning
unit
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.)
Active
Application number
JP2016095342A
Other languages
Japanese (ja)
Other versions
JP2016173843A (en
Inventor
貴司 山崎
貴司 山崎
松本 渉
渉 松本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2016095342A priority Critical patent/JP6227052B2/en
Publication of JP2016173843A publication Critical patent/JP2016173843A/en
Application granted granted Critical
Publication of JP6227052B2 publication Critical patent/JP6227052B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

この発明は、処理装置、判別方法およびプログラムに関する。   The present invention relates to a processing device, a determination method, and a program.

周知のようにニューラルネットワークは、学習能力を持ち、非線形性、パターンマッチング性能に優れており、制御、予測、診断等の多くの分野に用いられている。
また、ニューラルネットワークには多くの構造が提案されているが、実用化されたその多くは、階層型、特に3階層型のものがほとんどである。階層型ニューラルネットワークは、通常バックプロパゲーション法(誤差逆伝搬法)と呼ばれるアルゴリズムにより学習し、内部の結合状態(ノード間の重み)が調整される。こうして学習データと同一の入力データを与えると学習データとほぼ同一の出力をする。また、学習データに近い入力を与えると学習データに近い出力をする特徴がある。
As is well known, a neural network has learning ability, is excellent in non-linearity and pattern matching performance, and is used in many fields such as control, prediction and diagnosis.
In addition, many structures have been proposed for neural networks, but most of them that have been put to practical use are of the hierarchical type, particularly the three-layer type. Hierarchical neural networks are learned by an algorithm commonly called a back-propagation method (error back propagation method), and the internal coupling state (weight between nodes) is adjusted. Thus, when the same input data as the learning data is given, the output is almost the same as the learning data. Further, when an input close to the learning data is given, an output close to the learning data is obtained.

階層型ニューラルネットワークで複雑な問題を扱う場合、中間層のノード数や層数を増やすことになり、演算量が増加するという課題がある。この課題の解決法としてノード間を疎結合にして演算量を削減する例があり、代表的な特許文献として以下の2件がある。
特許文献1では、複数の入力ノードについて、学習データの最大、最小、平均、標準偏差の統計指標を用いることや学習データの入力ノード間または入力と出力との間の相関係数を用いることによって特徴が似た入力ノード同士のグループを形成し、それらのグループ内で入力ノードと中間ノードを結合して疎結合部分を有する構造としている。
また、特許文献2に記載のニューラルネットワーク構造最適化方法では、任意のノード間の結合を削除することにより構造の異なるニューラルネットワークを複数生成し、それぞれのニューラルネットワークの評価値を算出して評価値の比較判定を行うことで、最適な構造のニューラルネットワークに変更している。
When dealing with a complex problem with a hierarchical neural network, the number of nodes and the number of layers in the intermediate layer are increased, which increases the amount of computation. As a solution to this problem, there is an example in which the amount of calculation is reduced by loosely coupling between nodes, and there are the following two cases as typical patent documents.
In Patent Document 1, for a plurality of input nodes, a statistical index of maximum, minimum, average, and standard deviation of learning data is used, or a correlation coefficient between input nodes or input and output of learning data is used. A group of input nodes having similar characteristics is formed, and a structure having a loosely coupled portion is formed by coupling the input node and the intermediate node in the group.
Further, in the neural network structure optimization method described in Patent Document 2, a plurality of neural networks having different structures are generated by deleting connections between arbitrary nodes, and evaluation values of the respective neural networks are calculated to obtain evaluation values. Thus, the neural network having the optimal structure is changed.

特開2011−54200号公報JP 2011-54200 A 特開平9−91263号公報JP-A-9-91263

特許文献1,2に代表される従来の技術では、判別器学習を行う前に疎結合を形成するための事前学習が必要であり、学習データの変更や修正があるごとに事前学習を行わなければならず、疎結合の形成に多くの時間と演算量を必要としていた。このため判別器学習と判別処理の高速化が図れないという課題があった。   In the conventional techniques represented by Patent Documents 1 and 2, prior learning for forming loose coupling is required before performing discriminator learning, and prior learning must be performed each time learning data is changed or modified. In other words, it takes a lot of time and computation to form a loose coupling. For this reason, there has been a problem that the speed of the discriminator learning and the discrimination processing cannot be increased.

この発明は、上記のような課題を解決するためになされたもので、階層型ニューラルネットワークにおいて、学習データに依存せずに疎結合を形成することで判別器学習と判別処理の高速化を図ることができる処理装置、判別方法およびプログラムを得ることを目的とする。   The present invention has been made in order to solve the above-described problems. In a hierarchical neural network, it is possible to speed up discriminator learning and discrimination processing by forming loose coupling without depending on learning data. An object of the present invention is to obtain a processing device, a determination method, and a program that can perform the above processing.

この発明に係る処理装置は、誤り訂正符号の検査行列に基づいてノード間の結合部と非結合部とが形成されたニューラルネットワークにおける疎結合のノード間で学習された重みの値と入力信号とを用いて、問題を解く処理部を備える。 The processing apparatus according to the present invention includes a weight value learned between loosely coupled nodes and an input signal in a neural network in which a coupling portion and a non-coupling portion between nodes are formed based on a parity check matrix of an error correction code. And a processing unit for solving the problem.

この発明によれば、誤り訂正符号の検査行列に基づいてノード間が結合されていない部分が形成されているため、高速に判別処理を行うことができる。これにより、例えば、階層型ニューラルネットワークにおいて、学習データに依存せずに疎結合を形成することで判別器学習と判別処理の高速化を図ることができるという効果がある。   According to the present invention, since the portion where the nodes are not coupled is formed based on the parity check matrix of the error correction code, the discrimination processing can be performed at high speed. Thereby, for example, in a hierarchical neural network, it is possible to speed up the discriminator learning and the discrimination processing by forming loose coupling without depending on the learning data.

この発明の実施の形態1に係る階層型ニューラルネットワーク装置の構成を示すブロック図である。1 is a block diagram showing a configuration of a hierarchical neural network device according to Embodiment 1 of the present invention. FIG. 実施の形態1における階層型ニューラルネットワークの構造を示す図である。1 is a diagram illustrating a structure of a hierarchical neural network according to Embodiment 1. FIG. 従来の階層型ニューラルネットワークの構造を示す図である。It is a figure which shows the structure of the conventional hierarchical neural network. 実施の形態1における重み学習処理を示すフローチャートである。3 is a flowchart showing weight learning processing in the first embodiment. 疑似乱数符号の検査行列を示す図である。It is a figure which shows the test matrix of a pseudorandom code. ユークリッド幾何的符号の検査行列の行数または列数に対する1の個数と1の割合を示す図である。It is a figure which shows the number of 1 and the ratio of 1 with respect to the number of rows or the number of columns of the check matrix of a Euclidean geometric code. 射影幾何的符号の検査行列の行数または列数に対する1の個数と1の割合を示す図である。It is a figure which shows the number of 1 and the ratio of 1 with respect to the number of rows or the number of columns of a check matrix of a projection geometric code. 差集合巡回符号の検査行列の行数または列数に対する1の個数と1の割合を示す図である。It is a figure which shows the number of 1 and the ratio of 1 with respect to the number of rows or the number of columns of a check matrix of a difference set cyclic code. 空間結合型符号の検査行列を示す図である。It is a figure which shows the check matrix of a space coupling type code. ニューラルネットワークA,Bにおける入力ノードと中間ノード間の結合数の例を示す図である。It is a figure which shows the example of the connection number between the input node in the neural networks A and B, and an intermediate node. この発明の実施の形態2に係る階層型ニューラルネットワーク装置の構成を示すブロック図である。It is a block diagram which shows the structure of the hierarchical neural network apparatus concerning Embodiment 2 of this invention. 実施の形態2におけるディープニューラルネットワークの構造を示す図である。6 is a diagram illustrating a structure of a deep neural network in a second embodiment. FIG. 従来のディープニューラルネットワークの構造を示す図である。It is a figure which shows the structure of the conventional deep neural network. 実施の形態2における重みの事前学習と調整による重み学習処理を示すフローチャートである。10 is a flowchart showing weight learning processing by prior learning and adjustment of weights in the second embodiment. N=5とした場合における重みの事前学習と調整による重み学習処理の概要を示す図である。It is a figure which shows the outline | summary of the weight learning process by the prior learning and adjustment of a weight in the case of N = 5. 重みの事前学習処理を示すフローチャートである。It is a flowchart which shows the prior learning process of a weight. 重みの調整処理を示すフローチャートである。It is a flowchart which shows the adjustment process of a weight.

以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1はこの発明の実施の形態1に係る階層型ニューラルネットワーク装置の構成を示すブロック図である。図1において、階層型ニューラルネットワーク装置1は、階層型ニューラルネットワークを用いて判別を行う装置であって、判別器学習部2、重み記憶部3、学習データ記憶部4および教師データ記憶部5を備えて構成される。
なお、階層型ニューラルネットワークは入力層、中間層および出力層からなり、各層は複数のノードを有している。また階層型ニューラルネットワークは、入力層と中間層とのノード間および中間層と出力層とのノード間に任意の重みを設定してノード間の結合状態を調整することにより様々な問題(分類問題あるいは回帰問題)を解くことができる判別器として機能する。
Hereinafter, in order to describe the present invention in more detail, modes for carrying out the present invention will be described with reference to the accompanying drawings.
Embodiment 1 FIG.
1 is a block diagram showing a configuration of a hierarchical neural network apparatus according to Embodiment 1 of the present invention. In FIG. 1, a hierarchical neural network device 1 is a device that performs discrimination using a hierarchical neural network, and includes a discriminator learning unit 2, a weight storage unit 3, a learning data storage unit 4, and a teacher data storage unit 5. It is prepared for.
The hierarchical neural network includes an input layer, an intermediate layer, and an output layer, and each layer has a plurality of nodes. Hierarchical neural networks also have various problems (classification problems) by adjusting the connection state between nodes by setting arbitrary weights between the nodes of the input layer and the intermediate layer and between the nodes of the intermediate layer and the output layer. Alternatively, it functions as a discriminator that can solve a regression problem.

判別器学習部2は、階層型ニューラルネットワークを学習し、学習した階層型ニューラルネットワークを用いた判別を行う。その構成として、重み学習部20および判別処理部21を備える。
重み学習部20は、誤り訂正符号の検査行列に基づいて階層型ニューラルネットワークにおける一部のノード間に結合を行って疎結合部分を生成し、結合されたノード間の重みを学習する。すなわち、重み学習部20は、判別処理部21から出力された判別結果と、重み記憶部3から読み出したノード間の重み(判別器の重み)と教師データ記憶部5から読み出した教師データとを入力すると、これらのデータを用いて重み学習を行う。
また、重み学習部20は、誤り訂正符号の検査行列における行要素に一方の層のノードを割り当て、列要素にもう一方の層のノードを割り当てて、行列要素に1が立ったノード間を結合し、行列要素が0のノード間は結合しない。これにより、学習データを利用することなく、ノード間に疎結合部分を生成することができる。
The discriminator learning unit 2 learns a hierarchical neural network and performs discrimination using the learned hierarchical neural network. As its configuration, a weight learning unit 20 and a discrimination processing unit 21 are provided.
The weight learning unit 20 generates a loosely coupled portion by coupling between some nodes in the hierarchical neural network based on the error correction code check matrix, and learns the weight between the coupled nodes. That is, the weight learning unit 20 uses the discrimination result output from the discrimination processing unit 21, the weight between nodes read from the weight storage unit 3 (the weight of the discriminator), and the teacher data read from the teacher data storage unit 5. When input, weight learning is performed using these data.
Also, the weight learning unit 20 assigns a node of one layer to the row element in the parity check matrix of the error correction code, assigns a node of the other layer to the column element, and joins the nodes in which 1 is set in the matrix element However, nodes whose matrix elements are 0 are not connected. Thereby, a loosely coupled portion can be generated between nodes without using learning data.

判別処理部21は、結合されたノード間の重みが重み学習部20により学習された重みの値で更新された階層型ニューラルネットワークを用いて分類問題あるいは回帰問題を解く。例えば、判別処理部21は、重み記憶部3から初期化された重みまたは学習中の重みを入力し、学習データ記憶部4から学習データを入力すると、これらを用いた判別結果を重み学習部20へ出力する。また、判別処理部21は、重み記憶部3から学習済みの重みを入力し、判別データを入力すると、これらを用いた判別結果を装置外部のディスプレイなどの伝送装置へ出力する。   The discrimination processing unit 21 solves the classification problem or the regression problem using a hierarchical neural network in which the weights between the combined nodes are updated with the weight values learned by the weight learning unit 20. For example, when the discrimination processing unit 21 receives the initialized weight or the learning weight from the weight storage unit 3 and inputs the learning data from the learning data storage unit 4, the discrimination processing unit 21 uses the discrimination result using these as the weight learning unit 20. Output to. The discrimination processing unit 21 receives learned weights from the weight storage unit 3 and inputs discrimination data, and outputs a discrimination result using these to a transmission device such as a display outside the device.

判別処理部21では、階層型ニューラルネットワークにおける入力層と中間層のノード間で学習データまたは判別データが入力信号となり、このノード間の重みが乗算される。この乗算結果を中間層におけるノードでそれぞれ合計したものが、閾値関数によって計算されて出力される。ここで、閾値関数をf()、中間層のj番目のノードの閾値関数の出力値をH、入力層のi番目のノードの入力信号をXとし、入力層のi番目のノードと中間層のj番目のノードとの間の重みをWjiとした場合には、閾値関数の出力値をHは下記式(1)で表せる。
=f(ΣXji) ・・・(1)
In the discrimination processing unit 21, learning data or discrimination data becomes an input signal between nodes of the input layer and the intermediate layer in the hierarchical neural network, and a weight between the nodes is multiplied. The sum of the multiplication results at the nodes in the intermediate layer is calculated by the threshold function and output. Here, the threshold function is f (), the output value of the threshold function of the j-th node of the intermediate layer is H j , the input signal of the i-th node of the input layer is X i, and the i-th node of the input layer When the weight between the j-th node of the intermediate layer is W ji and the output value of the threshold function is H j, it can be expressed by the following equation (1).
H j = f (ΣX i W ji ) (1)

また中間層と出力層のノード間では、閾値関数によって計算された出力信号を入力信号とし、このノード間の重みが乗算される。この乗算結果を出力層における各ノードで合計したものが閾値関数によって計算されて、判別結果として出力される。ここで、出力層のk番目のノードの閾値関数の出力値をO、中間層のj番目のノードと出力層のk番目のノードとの間の重みをWkjとした場合、閾値関数の出力値Oは下記式(2)で表すことができる。ただし、閾値関数f()としてはシグモイド関数、tanh関数、max関数などが挙げられる。また、ノード間の重みの乗算は、ノード間の結合がある部分に対してのみ行う。
=f(ΣXkj) ・・・(2)
Also, between the nodes of the intermediate layer and the output layer, the output signal calculated by the threshold function is used as an input signal, and the weight between the nodes is multiplied. The sum of the multiplication results at each node in the output layer is calculated by the threshold function and output as a discrimination result. Here, when the output value of the threshold function of the k-th node of the output layer is O k and the weight between the j-th node of the intermediate layer and the k-th node of the output layer is W kj , the output value O k can be represented by the following formula (2). However, examples of the threshold function f () include a sigmoid function, a tanh function, and a max function. Further, the multiplication of the weight between the nodes is performed only for a portion where there is a connection between the nodes.
O k = f (ΣX j W kj ) (2)

重み記憶部3は、階層型ニューラルネットワークにおけるノード間の重みを記憶する記憶部である。重み記憶部3には、重みの初期化処理時には階層型ニューラルネットワークの全てのノード間の重みの初期値が記憶され、疎結合の生成時には結合のあるノード間の重み学習値が記憶される。判別処理部21は、各ノードおよびそのノード間の重みの値を重み記憶部3から読み出すことで階層型ニューラルネットワークを構築し、これを用いて分類問題あるいは回帰問題を解く。   The weight storage unit 3 is a storage unit that stores weights between nodes in the hierarchical neural network. The weight storage unit 3 stores initial values of weights between all nodes of the hierarchical neural network during weight initialization processing, and stores weight learning values between nodes having connections when generating loose coupling. The discrimination processing unit 21 constructs a hierarchical neural network by reading each node and the weight value between the nodes from the weight storage unit 3, and uses this to solve the classification problem or the regression problem.

学習データ記憶部4は、学習データを記憶する記憶部である。学習データとは、予め正常と異常が判別された状態情報および特徴量を示すデータである。学習データには、教師データが既知の場合(教師あり学習)と、判別データに対して望ましい教師データが未知の場合(教師なし学習)とがある。
教師データ記憶部5は、教師データを記憶する記憶部である。教師データとは、判別データに対して望ましい出力データである。また、判別データは判別対象のデータである。
The learning data storage unit 4 is a storage unit that stores learning data. The learning data is data indicating state information and feature amounts for which normality and abnormality have been determined in advance. The learning data includes a case where the teacher data is known (supervised learning) and a case where the desired teacher data for the discrimination data is unknown (unsupervised learning).
The teacher data storage unit 5 is a storage unit that stores teacher data. Teacher data is desirable output data for discrimination data. The discrimination data is data to be discriminated.

なお、重み学習部20と判別処理部21は、例えば、この実施の形態1に特有な処理が記述されたプログラムをマイクロコンピュータが実行することで、ハードウェアとソフトウェアとが協働した具体的な手段として実現することができる。
重み記憶部3、学習データ記憶部4および教師データ記憶部5は、例えば、階層型ニューラルネットワーク装置1として機能するコンピュータに搭載されているハードディスクドライブ(HDD)装置、USBメモリ、記憶メディア再生装置で再生可能な記憶メディア(CD、DVD、BD)に構築される。
Note that the weight learning unit 20 and the discrimination processing unit 21 are specific examples in which hardware and software collaborate, for example, when a microcomputer executes a program in which processing unique to the first embodiment is described. It can be realized as a means.
The weight storage unit 3, the learning data storage unit 4, and the teacher data storage unit 5 are, for example, a hard disk drive (HDD) device, a USB memory, and a storage media playback device mounted on a computer that functions as the hierarchical neural network device 1. It is constructed in a reproducible storage medium (CD, DVD, BD).

図2は、実施の形態1における階層型ニューラルネットワークの構造を示す図であり、図3は従来の階層型ニューラルネットワークの構造を示す図である。図3に示すように、従来の階層型ニューラルネットワークは、入力層と中間層のノード間が全て結合し、中間層と出力層のノード間が全て結合している。これに対し、実施の形態1では、図2に示すように、入力層と中間層のノード間の結合および中間層と出力層のノード間の結合のうち少なくとも一方に疎結合部分が形成される。   FIG. 2 is a diagram showing the structure of a hierarchical neural network in the first embodiment, and FIG. 3 is a diagram showing the structure of a conventional hierarchical neural network. As shown in FIG. 3, in the conventional hierarchical neural network, the nodes of the input layer and the intermediate layer are all connected, and the nodes of the intermediate layer and the output layer are all connected. On the other hand, in the first embodiment, as shown in FIG. 2, a loosely coupled portion is formed in at least one of the coupling between the nodes of the input layer and the intermediate layer and the coupling between the nodes of the intermediate layer and the output layer. .

次に動作について説明する。
図4は、実施の形態1における重み学習処理を示すフローチャートであり、この図4に沿って重み学習部20による重み学習の詳細を述べる。
まず、重み学習部20は、階層型ニューラルネットワークの各層における全てのノード間の重みを初期化する(ステップST1)。具体的には、各層における全てのノード間の重みに対して初期値を−0.5〜+0.5の乱数で与える。
Next, the operation will be described.
FIG. 4 is a flowchart showing the weight learning process in the first embodiment. Details of the weight learning by the weight learning unit 20 will be described with reference to FIG.
First, the weight learning unit 20 initializes weights between all nodes in each layer of the hierarchical neural network (step ST1). Specifically, an initial value is given by a random number of −0.5 to +0.5 with respect to the weight between all nodes in each layer.

次に、重み学習部20は、誤り訂正符号の検査行列に基づいて階層型ニューラルネットワークにおける一部のノード間にのみ結合を行って疎結合を生成する(ステップST2)。誤り訂正符号の検査行列としては、通常の階層型ニューラルネットワークと比べて学習誤差を同等または小さくするものであり、かつ、疎な行列とする。例えば、疑似乱数符号、有限幾何的符号、巡回符号、疑似巡回符号、低密度パリティ検査符号(LDPC)符号および空間結合符号のいずれかが挙げられる。   Next, the weight learning unit 20 generates a loose coupling by performing coupling only between some nodes in the hierarchical neural network based on the error correction code check matrix (step ST2). The error correction code check matrix has a learning error equal to or smaller than that of a normal hierarchical neural network and is a sparse matrix. For example, any one of a pseudo random code, a finite geometric code, a cyclic code, a pseudo cyclic code, a low density parity check code (LDPC) code, and a spatially coupled code can be used.

続いて、重み学習部20は、学習誤差を評価する評価関数の値が小さくなるように、疎結合部分で結合されたノード間の重みの修正量を算出する(ステップST3)。
なお、評価関数Jは、例えば下記式(3)で表すことができる。ただし、ノードの出力信号をo、教師データをtとする。
J=1/2・(o−t) ・・・(3)
Subsequently, the weight learning unit 20 calculates the correction amount of the weight between the nodes coupled at the loosely coupled portion so that the value of the evaluation function for evaluating the learning error becomes small (step ST3).
The evaluation function J can be expressed by, for example, the following formula (3). However, the output signal of the node is o, and the teacher data is t.
J = 1/2 · (ot) 2 (3)

この後、重み学習部20は、ステップST3で求めた修正量で、結合されたノード間の重みの値を従前の値から更新する(ステップST4)。
ノード間の重みの更新が終了すると、重み学習部20は、重み学習の終了条件を満たしたか否かを確認する(ステップST5)。ここで、終了条件としては、例えば、教師データと判別処理部21から入力した判別結果との誤差を算出する評価関数の値が予め定めた閾値以下となる場合が考えられる。また、学習回数が閾値回数以上となった場合であってもよい。
Thereafter, the weight learning unit 20 updates the weight value between the joined nodes from the previous value with the correction amount obtained in step ST3 (step ST4).
When updating of the weights between the nodes is completed, the weight learning unit 20 checks whether or not the weight learning end condition is satisfied (step ST5). Here, as the termination condition, for example, a case where the value of the evaluation function for calculating the error between the teacher data and the discrimination result input from the discrimination processing unit 21 is less than or equal to a predetermined threshold value can be considered. Moreover, the case where the learning frequency becomes more than a threshold frequency may be sufficient.

終了条件を満たし重み学習を終了すべきと判断した場合(ステップST5;YES)、重み学習部20は重み学習を終了する。一方、終了条件を満たしていない場合(ステップST5;NO)、ステップST3の処理に戻り、上述した重み学習を繰り返す。
これにより、判別処理部21は、疎結合部分で結合されたノード間の重みが重み学習部20により学習された重みの値で更新された階層型ニューラルネットワークを用いて分類問題あるいは回帰問題を解くことができる。
When it is determined that the end condition is satisfied and the weight learning should be ended (step ST5; YES), the weight learning unit 20 ends the weight learning. On the other hand, when the termination condition is not satisfied (step ST5; NO), the process returns to step ST3 and the above-described weight learning is repeated.
As a result, the discrimination processing unit 21 solves the classification problem or the regression problem by using the hierarchical neural network in which the weight between the nodes coupled by the loosely coupled portion is updated with the weight value learned by the weight learning unit 20. be able to.

次に、図5に示す疑似乱数符号の検査行列に基づいて、入力層と中間層のノード間に疎結合部分を生成する場合の一例を示す。図5の行列は、各行、各列に1が4個ずつある、15×15の行列となっている。これは、各列の要素に割り当てられた入力層のノード(以下、入力ノードと記載する)x,x,・・・,x15と各行の要素に割り当てられた中間層のノード(以下、中間ノードと記載する)h,h,・・・,h15とがそれぞれ15個あり、行列要素の値が1である部分が結合するものとして1個の中間ノードに4個の入力ノードが結合することを示している。例えば、中間ノードhには、行列の要素に1が立った入力ノードx,x,x,x10が結合する。 Next, an example in which a loosely coupled portion is generated between the nodes of the input layer and the intermediate layer based on the check matrix of the pseudo random number code shown in FIG. The matrix in FIG. 5 is a 15 × 15 matrix with four 1's in each row and column. This is because the input layer nodes (hereinafter referred to as input nodes) x 1 , x 2 ,..., X 15 assigned to the elements in each column and the intermediate layer nodes (hereinafter referred to as “input nodes”). , referred to as intermediate nodes) h 1, h 2, · · ·, there 15 respectively and h 15, four in one of the intermediate nodes as part value of the matrix element is 1 binds input Indicates that the node joins. For example, an input node x 1 , x 3 , x 9 , x 10 having 1 as a matrix element is coupled to the intermediate node h 1 .

中間ノードまたは出力ノード(出力層のノード)の数が少ない場合(例えば21個以下)、ユークリッド幾何的符号あるいは射影幾何的符号などの有限幾何的符号の検査行列、または、差集合巡回符号などの巡回符号の検査行列に基づいて、上述のように行列要素に1が立ったノード間で結合を行うと、大幅な演算量の削減が期待される。これは、図6に示すユークリッド幾何的符号の検査行列、図7に示す射影幾何的符号の検査行列、図8に示す差集合巡回符号の検査行列における、列数または行数に対する1の個数を示した結果から明らかなように、ノード数に対応する列数または行数が21個以下の場合において、列数または行数に対して1の個数が格段に少なく、ノード間に疎結合部分を形成することができるためである。
なお、巡回符号は符号語を巡回シフトして生成した符号であり、規則的な配列となっている。このため、時系列データの学習判別に適しており、またハードウェア実装する場合には、他の符号に比べて設計が容易に行えるという特徴がある。
When the number of intermediate nodes or output nodes (output layer nodes) is small (for example, 21 or less), a check matrix of a finite geometric code such as Euclidean geometric code or projective geometric code, or a difference set cyclic code, etc. Based on the check matrix of the cyclic code, if the connection is performed between nodes in which 1 is set in the matrix element as described above, a large reduction in the amount of calculation is expected. This means that the number of 1's for the number of columns or rows in the parity check matrix of Euclidean geometric code shown in FIG. 6, the parity check matrix of projective geometric code shown in FIG. 7, and the parity check matrix of difference set cyclic code shown in FIG. As is apparent from the results shown, when the number of columns or rows corresponding to the number of nodes is 21 or less, the number of 1s is significantly smaller than the number of columns or rows, and loosely coupled portions between the nodes This is because it can be formed.
The cyclic code is a code generated by cyclically shifting a code word, and has a regular arrangement. For this reason, it is suitable for learning determination of time-series data, and when it is implemented in hardware, it has a feature that it can be designed more easily than other codes.

また、中間ノードまたは出力ノードの数が多い場合(例えば21個を超える)においては、LDPC符号の検査行列、空間結合型符号の検査行列および疑似巡回符号の検査行列のいずれかに基づいてノード間の結合を行うと、大幅な演算量の削減が期待できる。これは、LDPC符号、空間結合型符号、疑似巡回符号の検査行列においては、行数や列数に依存せず、行に含まれる1の個数や列に含まれる1の個数が、平均3〜6個となるためである。例えば、行数を10000とした場合においても、行に含まれる1の個数の平均が3〜6個となり、ノード間の結合数の平均が3〜6個と疎結合になる。このため、大幅に演算量を削減することができる。特に、図9に示す空間結合型符号の検査行列は、1が帯状に配列した行列であるため、制御のし易さの観点よりも最大演算量の削減効果が期待できる。   When there are a large number of intermediate nodes or output nodes (for example, more than 21 nodes), the number of nodes is determined based on one of the LDPC code parity check matrix, the spatially coupled code parity check matrix, and the pseudo cyclic code parity check matrix. When combining these, a significant reduction in the amount of computation can be expected. This is because, in the parity check matrix of the LDPC code, the spatially coupled code, and the pseudo cyclic code, the number of 1 included in a row and the number of 1 included in a column are 3 to 3 on average. This is because there are six. For example, even when the number of rows is 10,000, the average number of 1 included in a row is 3 to 6, and the average number of connections between nodes is 3 to 6 and loosely coupled. For this reason, the amount of calculation can be significantly reduced. In particular, since the parity check matrix of the spatially coupled code shown in FIG. 9 is a matrix in which 1s are arranged in a band shape, the effect of reducing the maximum calculation amount can be expected from the viewpoint of ease of control.

上述したように、誤り訂正符号の検査行列に基づいてノード間を疎結合にすることで、判別性能を維持しつつ、高速に判別器学習および判別処理を行うことができる。
図10は、ニューラルネットワークA,Bにおける入力ノードと中間ノード間の結合数の例を示す図である。図10において、ニューラルネットワークAが、全てのノード間が結合された通常の階層型ニューラルネットワークであり、ニューラルネットワークBは、本発明により疎結合をノード間に形成した階層型ニューラルネットワークである。
ニューラルネットワークBでは、1つの中間ノードに対して4個の入力ノードが結合する場合を示している。このように、実施の形態1では、ニューラルネットワークAに対して、入力ノードと中間ノードとがそれぞれ50個である場合は2/25、100個である場合は1/25、1000個の場合は1/250に結合を削減することができる。これに伴って入力ノードと中間ノードの間の積和演算を削減できるため、判別器学習および判別処理を高速化することが可能である。
また、学習データに依存せず疎結合を生成するため、学習データの変更や修正があった場合においても、事前学習を行う手間を省くことができる。
As described above, by making the nodes loosely coupled based on the parity check matrix of the error correction code, it is possible to perform discriminator learning and discrimination processing at high speed while maintaining discrimination performance.
FIG. 10 is a diagram illustrating an example of the number of connections between input nodes and intermediate nodes in the neural networks A and B. In FIG. 10, a neural network A is a normal hierarchical neural network in which all nodes are coupled, and a neural network B is a hierarchical neural network in which loose coupling is formed between nodes according to the present invention.
In the neural network B, four input nodes are connected to one intermediate node. Thus, in the first embodiment, for the neural network A, when the number of input nodes and intermediate nodes is 50, respectively, 2/25, when the number is 100, 1/25, when the number is 1000, The coupling can be reduced to 1/250. Accordingly, the product-sum operation between the input node and the intermediate node can be reduced, so that the discriminator learning and the discrimination processing can be speeded up.
In addition, since loose coupling is generated without depending on learning data, it is possible to save time and effort for prior learning even when learning data is changed or modified.

以上のように、この実施の形態1によれば、誤り訂正符号の検査行列に基づいて、ノードを有する入力層、中間層および出力層からなる階層型ニューラルネットワークにおける一部のノード間に結合を行って疎結合部分を生成し、結合されたノード間の重みを学習する重み学習部20と、結合されたノード間の重みが重み学習部20によって学習された重みの値で更新された階層型ニューラルネットワークを用いて分類問題あるいは回帰問題を解く判別処理部21とを備える。このように階層型ニューラルネットワークにおいて学習データに依存せずに疎結合を形成することにより判別器学習および判別処理の高速化を図ることができる。   As described above, according to the first embodiment, based on the parity check matrix of the error correction code, a connection is made between some nodes in the hierarchical neural network including the input layer, the intermediate layer, and the output layer having nodes. A weight learning unit 20 that generates a loosely coupled portion and learns weights between the coupled nodes, and a hierarchical type in which the weights between the coupled nodes are updated with the weight values learned by the weight learning unit 20 And a discrimination processing unit 21 for solving a classification problem or a regression problem using a neural network. In this way, it is possible to speed up the discriminator learning and the discrimination processing by forming loose coupling without depending on the learning data in the hierarchical neural network.

実施の形態2.
上記実施の形態1は、一般的な3階層型のニューラルネットワークを用いた判別器学習と判別処理を高速化する場合を示した。この実施の形態2では、階層型ニューラルネットワークの発展形であって、近年注目されているディープニューラルネットワークを用いた判別器学習と判別処理を高速化する場合について述べる。
Embodiment 2. FIG.
The first embodiment has shown the case of speeding up discriminator learning and discrimination processing using a general three-layer neural network. In the second embodiment, a case will be described in which a classifier learning and a discrimination process using a deep neural network, which has been attracting attention in recent years, is an advanced form of a hierarchical neural network and is accelerated.

図11は、この発明の実施の形態2に係る階層型ニューラルネットワーク装置の構成を示すブロック図である。図11に示す階層型ニューラルネットワーク装置1Aは、ディープニューラルネットワークを用いて分類問題あるいは回帰問題を解く装置であり、判別器学習部2A、重み記憶部3、学習データ記憶部4および教師データ記憶部5を備えて構成される。ディープニューラルネットワークは、入力層、複数層の中間層および出力層からなり、各層は複数のノードを有している。また、ディープニューラルネットワークは、入力層と中間層とのノード間および中間層と出力層とのノード間に任意の重みを設定してノード間の結合状態を調整することにより様々な問題(分類問題あるいは回帰問題)を解くことができる判別器として機能する。   FIG. 11 is a block diagram showing a configuration of a hierarchical neural network apparatus according to Embodiment 2 of the present invention. A hierarchical neural network device 1A shown in FIG. 11 is a device that solves a classification problem or a regression problem using a deep neural network, and includes a discriminator learning unit 2A, a weight storage unit 3, a learning data storage unit 4, and a teacher data storage unit. 5 is configured. The deep neural network includes an input layer, a plurality of intermediate layers, and an output layer, and each layer has a plurality of nodes. In addition, deep neural networks can solve various problems (classification problems) by adjusting the connection state between nodes by setting arbitrary weights between the nodes of the input layer and the intermediate layer and between the nodes of the intermediate layer and the output layer. Alternatively, it functions as a discriminator that can solve a regression problem.

図12は、実施の形態2におけるディープニューラルネットワークの構造を示す図であり、図13は従来のディープニューラルネットワークの構造を示す図である。図13に示すように、従来のディープニューラルネットワークは、入力層と中間層のノード間が全て結合し、中間層同士のノード間が全て結合し、中間層と出力層のノード間が全て結合している。これに対し、実施の形態2では、図12に示すように、入力層と中間層のノード間の結合、中間層同士のノード間の結合および中間層と出力層のノード間の結合のうち少なくとも一方に疎結合部分が形成される。   FIG. 12 is a diagram showing the structure of a deep neural network in the second embodiment, and FIG. 13 is a diagram showing the structure of a conventional deep neural network. As shown in FIG. 13, in the conventional deep neural network, the nodes of the input layer and the intermediate layer are all connected, the nodes of the intermediate layers are all connected, and the nodes of the intermediate layer and the output layer are all connected. ing. On the other hand, in the second embodiment, as shown in FIG. 12, at least of the coupling between the nodes of the input layer and the middle layer, the coupling between the nodes of the middle layer, and the coupling between the nodes of the middle layer and the output layer. A loosely coupled portion is formed on one side.

判別器学習部2Aは、ディープニューラルネットワークを学習し、学習したディープニューラルネットワークを用いて分類問題あるいは回帰問題を解く。その構成として、判別処理部21、重み事前学習部22および重み調整部23を備える。
重み事前学習部22は、誤り訂正符号の検査行列に基づいてディープニューラルネットワークにおける一部のノード間に結合を行って疎結合部分を生成し、結合されたノード間の重みを教師なし学習する。例えば、重み事前学習部22は、初期化されたノード間の重みおよび学習データが入力されると、重みの事前学習を行う。
また、重み事前学習部22は、誤り訂正符号の検査行列における行要素に一方の層のノードを割り当て、列要素にもう一方の層のノードを割り当てて、行列要素に1が立ったノード間を結合し、行列要素が0のノード間は結合しない。これにより、学習データを利用することなく、ノード間に疎結合部分を生成することができる。
重み調整部23は、重み事前学習部22が学習した重みを教師あり学習で微調整する。すなわち、重み調整部23は、結合されたノード間にのみ重みの微調整を行う。
The discriminator learning unit 2A learns a deep neural network and solves a classification problem or a regression problem using the learned deep neural network. As its configuration, a discrimination processing unit 21, a weight pre-learning unit 22, and a weight adjustment unit 23 are provided.
The weight pre-learning unit 22 generates a loosely coupled part by coupling between some nodes in the deep neural network based on the error correction code check matrix, and learns the weight between the coupled nodes without supervision. For example, the weight pre-learning unit 22 performs weight pre-learning when an initialized weight between nodes and learning data are input.
Further, the weight pre-learning unit 22 assigns a node of one layer to the row element in the parity check matrix of the error correction code, assigns a node of the other layer to the column element, and moves between nodes where 1 is set in the matrix element. The nodes are connected, and the nodes whose matrix elements are 0 are not connected. Thereby, a loosely coupled portion can be generated between nodes without using learning data.
The weight adjustment unit 23 finely adjusts the weight learned by the weight pre-learning unit 22 by supervised learning. That is, the weight adjustment unit 23 performs fine adjustment of the weight only between the coupled nodes.

実施の形態2における判別処理部21は、重み記憶部3から事前学習された重みまたは学習中の重みを入力し、学習データ記憶部4から学習データを入力すると、これらを用いた判別結果を重み調整部23へ出力する。また、判別処理部21は、重み記憶部3から学習済みの重みを入力し、判別データを入力すると、これらを用いた判別結果を装置外部のディスプレイなどの伝送装置へ出力する。   The discrimination processing unit 21 according to the second embodiment inputs weights learned in advance from the weight storage unit 3 or learning weights, and inputs learning data from the learning data storage unit 4. Output to the adjustment unit 23. The discrimination processing unit 21 receives learned weights from the weight storage unit 3 and inputs discrimination data, and outputs a discrimination result using these to a transmission device such as a display outside the device.

判別処理部21では、ディープニューラルネットワークにおける入力層と第1層目の中間層のノード間では学習データまたは判別データが入力信号となり、このノード間の重みが乗算される。この乗算結果を第1層目の中間層における中間ノードでそれぞれ合計したものが、閾値関数によって計算されて出力される。ここで、閾値関数をf()、第1層目の中間層のj番目の中間ノードの閾値関数の出力値をH1,j、i番目の入力ノードの入力信号をXとし、i番目の入力ノードと第1層目の中間層のj番目の中間ノードとの間の重みをW1,j,iとした場合には、閾値関数の出力値をH1,jは下記式(4)で表せる。
1,j=f(ΣX1,j,i) ・・・(4)
In the discrimination processing unit 21, learning data or discrimination data becomes an input signal between the nodes of the input layer and the first intermediate layer in the deep neural network, and the weight between the nodes is multiplied. The sum of the multiplication results at the intermediate nodes in the first intermediate layer is calculated by the threshold function and output. Here, the threshold function is f (), the output value of the threshold function of the j-th intermediate node of the first intermediate layer is H 1, j , the input signal of the i-th input node is X i , and the i-th When the weight between the input node and the j-th intermediate node of the first intermediate layer is W 1, j, i , the output value of the threshold function H 1, j is the following equation (4 ).
H 1, j = f (ΣX i W 1, j, i ) (4)

また、第n−1層目(nは2以上の整数)の中間層のj番目の中間ノードと第n層目の中間層のm番目の中間ノードとの間では、第n−1層目の中間ノードの閾値関数によって計算された出力信号を入力信号とし、このノード間の重みが乗算される。この乗算結果を第n層目の中間層における各中間ノードで合計したものが、閾値関数によって計算されて出力される。ここで、第n−1層目の中間層のj番目の中間ノードの閾値関数の出力値をHn−1,j、第n層目の中間層のm番目の中間ノードの閾値関数の出力値をHn,m、第n−1層目の中間層のj番目の中間ノードと第n層目の中間層のm番目の中間ノードとの間の重みをWn,m,n−1,jとした場合、閾値関数の出力値Hn,mは、下記式(5)で表すことができる。
n,m=f(ΣHn−1,jn,m,n−1,j) ・・・(5)
Further, between the jth intermediate node of the intermediate layer of the n-1st layer (n is an integer of 2 or more) and the mth intermediate node of the nth intermediate layer, the n−1th layer The output signal calculated by the threshold function of the intermediate node is used as an input signal, and the weight between the nodes is multiplied. The sum of the multiplication results at each intermediate node in the nth intermediate layer is calculated by a threshold function and output. Here, the output value of the threshold function of the jth intermediate node of the (n−1) th intermediate layer is H n−1, j , and the output of the threshold function of the mth intermediate node of the nth intermediate layer is The value is H n, m , and the weight between the jth intermediate node of the (n−1) th intermediate layer and the mth intermediate node of the nth intermediate layer is W n, m, n−1. , J , the output value H n, m of the threshold function can be expressed by the following equation (5).
H n, m = f (ΣH n−1, j W n, m, n−1, j ) (5)

中間ノードと出力ノードの間では、中間ノードの閾値関数によって計算された出力信号を入力信号とし、このノード間の重みが乗算される。この乗算結果を出力層における各出力ノードで合計したものが閾値関数によって計算されて判別結果として出力される。
ここで、出力層のk番目の出力ノードの閾値関数の出力値をO、第N−1層目の中間層のj番目の中間ノードと出力層のk番目の出力ノードとの間の重みをWk,N−1,jとした場合、閾値関数の出力値Oは下記式(6)で表すことができる。
ただし、閾値関数f()としてはシグモイド関数、tanh関数、max関数などが挙げられる。また、ノード間の重みの乗算はノード間の結合がある部分に対してのみ行う。
=f(ΣHN−1,jk,N−1,j) ・・・(6)
Between the intermediate node and the output node, the output signal calculated by the threshold function of the intermediate node is used as an input signal, and the weight between the nodes is multiplied. The sum of the multiplication results at each output node in the output layer is calculated by the threshold function and output as a discrimination result.
Here, the output value of the threshold function of the kth output node of the output layer is O k , and the weight between the jth intermediate node of the intermediate layer of the (N−1) th layer and the kth output node of the output layer Is W k, N−1, j , the output value O k of the threshold function can be expressed by the following equation (6).
However, examples of the threshold function f () include a sigmoid function, a tanh function, and a max function. Further, the multiplication of the weight between the nodes is performed only for a portion where there is a connection between the nodes.
O k = f (ΣH N−1, j W k, N−1, j ) (6)

なお、判別処理部21、重み事前学習部22および重み調整部23は、例えば、実施の形態2に特有な処理が記述されたプログラムをマイクロコンピュータが実行することで、ハードウェアとソフトウェアとが協働した具体的な手段として実現することができる。   Note that the discrimination processing unit 21, the weight pre-learning unit 22, and the weight adjustment unit 23 cooperate with hardware and software by, for example, a microcomputer executing a program in which processing unique to the second embodiment is described. It can be realized as a concrete means that worked.

次に動作について説明する。
図14は、実施の形態2における重み学習処理を示すフローチャートである。
まず、重み事前学習部22は、ディープニューラルネットワークの各層における全てのノード間の重みを初期化する(ステップST1a)。具体的には、実施の形態1と同様に、各層の全てのノード間の重みに対して初期値を−0.5〜+0.5の乱数で与える。
Next, the operation will be described.
FIG. 14 is a flowchart showing the weight learning process in the second embodiment.
First, the weight pre-learning unit 22 initializes weights between all nodes in each layer of the deep neural network (step ST1a). Specifically, as in the first embodiment, initial values are given as random numbers of −0.5 to +0.5 with respect to the weights between all the nodes in each layer.

次に、重み事前学習部22は、誤り訂正符号の検査行列に基づいてディープニューラルネットワークにおける一部のノード間に結合を行って、疎結合を生成する(ステップST2a)。誤り訂正符号の検査行列としては、通常のディープニューラルネットワークと比べて学習誤差を同等または小さくするものであり、かつ、疎な行列とする。例えば、疑似乱数符号、有限幾何的符号、巡回符号、疑似巡回符号、LDPC符号および空間結合符号のいずれかが挙げられる。   Next, the weight pre-learning unit 22 performs a coupling between some nodes in the deep neural network based on the error correction code check matrix to generate a loose coupling (step ST2a). The error correction code check matrix has a learning error equal to or smaller than that of a normal deep neural network and is a sparse matrix. For example, any one of a pseudo random number code, a finite geometric code, a cyclic code, a pseudo cyclic code, an LDPC code, and a spatially coupled code can be used.

続いて、重み事前学習部22は、図15に示すように、ディープニューラルネットワークをN層(Nは整数)とした場合において、第N−1層までの結合があるノード間の重み(W1,2,・・・,WN−2)の事前学習を行う(ステップST3a)。
この事前学習では、まず第1層と第2層の2層構造において、第1層と第2層のノード間の重みWを教師なし学習する。次に第2層と第3層の2層構造において、重みWの教師なし学習で第2層のノードから出力された信号を入力信号として、第2層と第3層のノード間の重みWを教師なし学習する。この処理を第N−2層と第N−1層のノード間の重みWN−2が事前学習されるまで繰り返す(図15参照、N=5とした場合)。
Subsequently, as illustrated in FIG. 15, the weight pre-learning unit 22 uses a weight between nodes (W 1 ) having connections up to the (N−1) -th layer when the deep neural network has N layers (N is an integer). , W 2, ..., W N−2 ) (step ST3a).
In this pre-learning, first, in the two-layer structure of the first layer and the second layer, the weight W 1 between the nodes of the first layer and the second layer is learned without supervision. Next, in the two-layer structure of the second layer and the third layer, the weight output between the nodes of the second layer and the third layer with the signal output from the node of the second layer in the unsupervised learning of the weight W 1 as an input signal the W 2 to unsupervised learning. This process is repeated until the weight W N−2 between the nodes of the (N−2) -th layer and the (N−1) -th layer is pre-learned (see FIG. 15, when N = 5).

図16を用いて重みの事前学習の詳細を説明する。
まず、重み事前学習部22は、第2層のノードと第3層以上のノードの間の重みを事前学習する際、前段の事前学習で出力された信号を入力信号に初期設定する(ステップST1b)。次に、重み事前学習部22は、対数尤度が増加するように、結合されたノード間における重みの修正量を算出する(ステップST2b)。
続いて、重み事前学習部22は、算出した重みの修正量で、結合されたノード間の重みの値を更新して修正する(ステップST3b)。
Details of weight prior learning will be described with reference to FIG.
First, the weight pre-learning unit 22 initially sets the signal output in the previous pre-learning as an input signal when pre-learning the weight between the second layer node and the third and higher layer nodes (step ST1b). ). Next, the weight pre-learning unit 22 calculates the correction amount of the weight between the coupled nodes so that the log likelihood increases (step ST2b).
Subsequently, the weight pre-learning unit 22 updates and corrects the weight value between the joined nodes with the calculated weight correction amount (step ST3b).

ノード間の重みの更新が終了すると、重み事前学習部22は、現在の学習対象層における重み事前学習の終了条件を満たしたか否かを確認する(ステップST4b)。ここで、終了条件としては、例えば学習回数が閾値回数以上となった場合が考えられる。
現在の学習対象層の終了条件を満たし重み事前学習を終了すべきと判断した場合(ステップST4b;YES)、重み事前学習部22は、ステップST5bの処理へ移行する。
一方、終了条件を満たしていない場合(ステップST4b;NO)、ステップST2bの処理に戻り、上述した重み事前学習を繰り返す。
When the updating of the weights between the nodes is completed, the weight pre-learning unit 22 checks whether or not the weight pre-learning end condition for the current learning target layer is satisfied (step ST4b). Here, as the termination condition, for example, a case where the number of learning times is equal to or greater than a threshold number is considered.
When it is determined that the end condition of the current learning target layer is satisfied and the weight pre-learning should be ended (step ST4b; YES), the weight pre-learning unit 22 proceeds to the process of step ST5b.
On the other hand, when the termination condition is not satisfied (step ST4b; NO), the process returns to step ST2b, and the weight pre-learning described above is repeated.

ステップST5bにおいて、重み事前学習部22は、ディープニューラルネットワークをN層とした場合に、第N−1層までの全ての層で結合されたノード間の重みの事前学習が完了したか否かを確認する。全層の重み事前学習が終了していない場合(ステップST5b;NO)、ステップST1bの処理に戻り、次の層間(さらに上方の層間)を学習対象として上述した重みの事前学習が行われる。また、全層の重み事前学習が終了していれば(ステップST5b;YES)、重み事前学習部22は事前学習を終了する。ここで、ディープニューラルネットワークがN層の場合、WからWN−2のN−2個の重みの事前学習が行われる。 In step ST5b, when the deep neural network is the N layer, the weight pre-learning unit 22 determines whether or not the weight pre-learning between the nodes coupled in all layers up to the (N-1) th layer is completed. Check. When the weight pre-learning of all layers is not completed (step ST5b; NO), the process returns to step ST1b, and the weight pre-learning described above is performed with the next layer (the upper layer) as a learning target. If the weight pre-learning for all layers has been completed (step ST5b; YES), the weight pre-learning unit 22 ends the pre-learning. Here, deep neural network for N layer, prior learning of N-2 pieces of weights from W 1 W N-2 is performed.

図14の説明に戻る。
重み事前学習部22による重みの事前学習が完了すると、重み調整部23は、重み事前学習部22が事前学習した重みを教師あり学習によって微調整して最適化を行う(ステップST4a)。以下、図17を用いて重みの微調整の詳細を説明する。
まず、重み調整部23は、上記式(3)に示したような学習誤差を評価する評価関数Jの値が小さくなるように、教師データ記憶部5から読み出した教師データを利用した教師あり学習によって重み事前学習部22が事前学習したノード間の重みを最適化して重みの修正量を算出する(ステップST1c)。
Returning to the description of FIG.
When the weight pre-learning unit 22 completes the weight pre-learning, the weight adjusting unit 23 finely adjusts the weight pre-learned by the weight pre-learning unit 22 through supervised learning and performs optimization (step ST4a). The details of the fine adjustment of the weight will be described below with reference to FIG.
First, the weight adjustment unit 23 performs supervised learning using the teacher data read from the teacher data storage unit 5 so that the value of the evaluation function J for evaluating the learning error as shown in the above equation (3) becomes small. Thus, the weight pre-learning unit 22 optimizes the weight between the nodes pre-learned to calculate the weight correction amount (step ST1c).

次に、重み調整部23は、ステップST1cで求めた修正量で、重み事前学習部22が事前学習したノード間の重みの値を更新する(ステップST2c)。
ノード間の重みの更新が終了すると、重み調整部23は、重みの微調整の終了条件を満たしたか否かを確認する(ステップST3c)。ここで、終了条件としては、例えば、教師データと判別処理部21から入力した判別結果との誤差を算出する評価関数の値が予め定めた閾値以下となる場合が考えられる。また、学習回数が閾値回数以上となった場合であってもよい。
Next, the weight adjustment unit 23 updates the value of the weight between the nodes pre-learned by the weight pre-learning unit 22 with the correction amount obtained in step ST1c (step ST2c).
When the updating of the weight between the nodes is completed, the weight adjusting unit 23 checks whether or not the condition for ending the fine weight adjustment is satisfied (step ST3c). Here, as the termination condition, for example, a case where the value of the evaluation function for calculating the error between the teacher data and the discrimination result input from the discrimination processing unit 21 is less than or equal to a predetermined threshold value can be considered. Moreover, the case where the learning frequency becomes more than a threshold frequency may be sufficient.

終了条件を満たし重みの微調整を終了すべきと判断した場合(ステップST3c;YES)、重み調整部23は重みの微調整を終了する。一方、終了条件を満たしていない場合(ステップST3c;NO)、ステップST1cの処理に戻り、上述した重みの微調整を繰り返す。これにより、判別処理部21は、疎結合部分で結合されたノード間の重みを重み事前学習部22により事前学習され、重み調整部23により最適化調整された重みの値で更新されたディープニューラルネットワークを用いて分類問題あるいは回帰問題を解くことができる。   When it is determined that the end condition is satisfied and fine adjustment of the weight should be ended (step ST3c; YES), the weight adjustment unit 23 ends the fine adjustment of the weight. On the other hand, when the termination condition is not satisfied (step ST3c; NO), the process returns to step ST1c, and the above-described fine adjustment of the weight is repeated. Thereby, the discrimination processing unit 21 is pre-learned by the weight pre-learning unit 22 for the weight between the nodes coupled by the loosely coupled portion, and is updated with the weight value optimized and adjusted by the weight adjusting unit 23. A classification problem or regression problem can be solved using a network.

ディープニューラルネットワークにおいて、中間ノードまたは出力ノードの数が少ない場合(例えば21個以下)、実施の形態1と同様に、ユークリッド幾何的符号あるいは射影幾何的符号などの有限幾何的符号の検査行列、または、差集合巡回符号などの巡回符号の検査行列において、行要素に一方の層のノードを割り当て列要素にもう一方の層のノードを割り当てて、行列要素に1が立ったノード間で結合を行うと、大幅な演算量の削減が期待される。これは、図6に示したユークリッド幾何的符号の検査行列、図7に示した射影幾何的符号の検査行列、図8に示した差集合巡回符号の検査行列における、列数または行数に対する1の個数を示した結果から明らかなように、ノード数に対応する列数または行数が21個以下の場合において列数または行数に対して1の個数が格段に少なく、ノード間に疎結合部分を形成することができるためである。
なお、巡回符号は符号語を巡回シフトして生成した符号であり、規則的な配列となっている。このため、時系列データの学習判別に適しており、またハードウェア実装する場合には、他の符号に比べて設計が容易に行えるという特徴がある。
In the deep neural network, when the number of intermediate nodes or output nodes is small (for example, 21 or less), as in the first embodiment, a parity check matrix of a finite geometric code such as a Euclidean geometric code or a projective geometric code, or In a check matrix of a cyclic code such as a difference set cyclic code, a node of one layer is assigned to a row element, a node of the other layer is assigned to a column element, and a connection is made between nodes in which 1 is set in the matrix element. A significant reduction in the amount of computation is expected. This is 1 for the number of columns or rows in the parity check matrix of Euclidean geometric code shown in FIG. 6, the parity check matrix of projective geometric code shown in FIG. 7, and the parity check matrix of difference set cyclic code shown in FIG. As is clear from the results of the number of nodes, when the number of columns or rows corresponding to the number of nodes is 21 or less, the number of 1 is much smaller than the number of columns or rows, and the nodes are loosely coupled. This is because the portion can be formed.
The cyclic code is a code generated by cyclically shifting a code word, and has a regular arrangement. For this reason, it is suitable for learning determination of time-series data, and when it is implemented in hardware, it has a feature that it can be designed more easily than other codes.

また、ディープニューラルネットワークにおいて、中間ノードまたは出力ノードの数が多い場合(例えば21個を超える)は、実施の形態1と同様にLDPC符号の検査行列、空間結合型符号の検査行列および疑似巡回符号の検査行列のいずれかに基づいてノード間の結合を行うと、大幅な演算量の削減が期待できる。これは、LDPC符号、空間結合型符号、疑似巡回符号の検査行列においては、行数や列数に依存せず、行に含まれる1の個数や列に含まれる1の個数が平均3〜6個となるためである。例えば、行数を10000とした場合においても、行に含まれる1の個数の平均が3〜6個となり、ノード間の結合数の平均が3〜6個と疎結合になる。このため、大幅に演算量を削減することができる。特に、図9に示した空間結合型符号の検査行列は、行列要素の1が帯状に配列した行列であるため、制御のし易さの観点よりも最大演算量の削減効果が期待できる。   Further, in the deep neural network, when the number of intermediate nodes or output nodes is large (for example, more than 21 nodes), the LDPC code parity check matrix, the spatially coupled code parity check matrix, and the pseudo cyclic code as in the first embodiment If the connection between nodes is performed based on one of the check matrices, a large reduction in the amount of computation can be expected. This is because LDPC codes, spatially coupled codes, and quasi-cyclic code parity check matrices do not depend on the number of rows or the number of columns, and the number of 1 included in a row or the number of 1 included in a column is 3 to 6 on average. This is because it becomes an individual. For example, even when the number of rows is 10,000, the average number of 1 included in a row is 3 to 6, and the average number of connections between nodes is 3 to 6 and loosely coupled. For this reason, the amount of calculation can be significantly reduced. In particular, since the parity check matrix of the spatially coupled code shown in FIG. 9 is a matrix in which matrix elements 1 are arranged in a band shape, the effect of reducing the maximum calculation amount can be expected from the viewpoint of ease of control.

以上のように、この実施の形態2によれば、誤り訂正符号の検査行列に基づいて、ノードを有する入力層、複数層の中間層および出力層からなるディープニューラルネットワークにおける一部のノード間に結合を行って疎結合部分を生成し、結合されたノード間の重みを教師なし学習する重み事前学習部22と、重み事前学習部22が学習した重みを教師あり学習で調整する重み調整部23と、結合されたノード間の重みが重み調整部23によって調整された重みの値で更新されたディープニューラルネットワークを用いて分類問題あるいは回帰問題を解く判別処理部21とを備える。このようにディープニューラルネットワークにおいて疎結合を形成することにより判別器学習および判別処理の高速化を図ることができる。特に、ディープニューラルネットワークは、実施の形態1で示した階層型ニューラルネットワークに比べて中間層の層数が多く疎結合部分を形成可能な箇所が多いため、ノード間の積和演算の削減効果が大きい。また、学習データに依存せず疎結合を生成するため、学習データの変更や修正があった場合の事前学習を行う手間が省くことができる。   As described above, according to the second embodiment, based on the parity check matrix of the error correction code, between some nodes in a deep neural network composed of an input layer having nodes, a plurality of intermediate layers, and an output layer. A weight pre-learning unit 22 that generates a loosely coupled part by performing coupling, learns the weight between the coupled nodes without supervision, and a weight adjustment unit 23 that adjusts the weight learned by the weight pre-learning unit 22 by supervised learning And a discrimination processing unit 21 that solves the classification problem or the regression problem using a deep neural network in which the weight between the coupled nodes is updated with the weight value adjusted by the weight adjustment unit 23. Thus, by forming loose coupling in the deep neural network, it is possible to speed up the discriminator learning and the discrimination processing. In particular, the deep neural network has a larger number of intermediate layers than the hierarchical neural network shown in the first embodiment and has many places where a loosely coupled portion can be formed. large. In addition, since loose coupling is generated without depending on learning data, it is possible to save the trouble of performing prior learning when learning data is changed or modified.

なお、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。   In the present invention, within the scope of the invention, any combination of each embodiment, any component of each embodiment can be modified, or any component can be omitted in each embodiment. .

この発明に係る階層型ニューラルネットワーク装置は、階層型ニューラルネットワークにおいて学習データに依存せずに疎結合を形成することにより判別器学習および判別処理の高速化を図ることができるので、各種の制御、予測、診断に関する情報処理に適用可能である。   The hierarchical neural network device according to the present invention can speed up discriminator learning and discrimination processing by forming loose coupling without depending on learning data in the hierarchical neural network. It can be applied to information processing related to prediction and diagnosis.

1,1A 階層型ニューラルネットワーク装置、2,2A 判別器学習部、3 重み記憶部、4 学習データ記憶部、5 教師データ記憶部、20 重み学習部、21 判別処理部、22 重み事前学習部、23 重み調整部。   1, 1A hierarchical neural network device, 2, 2A discriminator learning unit, 3 weight storage unit, 4 learning data storage unit, 5 teacher data storage unit, 20 weight learning unit, 21 discrimination processing unit, 22 weight pre-learning unit, 23 Weight adjustment unit.

Claims (7)

誤り訂正符号の検査行列に基づいてノード間の結合部と非結合部とが形成されたニューラルネットワークにおける疎結合のノード間で学習された重みの値と入力信号とを用いて、問題を解く処理部を備えた処理装置。 Processing to solve problems using weight values learned between loosely connected nodes and input signals in a neural network in which connected and unconnected portions between nodes are formed based on a parity check matrix of error correction codes The processing apparatus provided with a unit. 誤り訂正符号の検査行列に基づいてノード間の結合部と非結合部とが形成されたニューラルネットワークの重み情報を記憶する記憶部と、
前記ニューラルネットワークの重み情報を用いて、入力信号に対する判別結果を計算し出力する判別処理部と
を備えた処理装置。
A storage unit for storing weight information of a neural network in which a connection unit and a non-connection unit between nodes are formed based on a parity check matrix of an error correction code;
A processing apparatus comprising: a discrimination processing unit that calculates and outputs a discrimination result for an input signal using weight information of the neural network.
前記ニューラルネットワークはディープニューラルネットワークであることを特徴とする請求項2に記載の処理装置。   The processing apparatus according to claim 2, wherein the neural network is a deep neural network. 前記検査行列は、階層型ニューラルネットワークにおける一つの層のノードを行要素とし、他の層のノードを列要素とすることを特徴とする請求項1乃至3のいずれか1項に記載の処理装置。   4. The processing apparatus according to claim 1, wherein the check matrix includes a node of one layer in the hierarchical neural network as a row element and a node of another layer as a column element. 5. . 前記入力信号は時系列データであり、前記誤り訂正符号は巡回符号であることを特徴とする請求項1乃至4のいずれか1項に記載の処理装置。   The processing apparatus according to claim 1, wherein the input signal is time-series data, and the error correction code is a cyclic code. 誤り訂正符号の検査行列に基づいてノード間の結合部と非結合部とが形成されたニューラルネットワークの情報を記憶する記憶部から、1つのノードに結合された前記結合部の重みの値を読み出し、前記重みの値と前記結合部により結合されている他のノードの入力信号との乗算結果を複数の前記結合部に対して算出するステップと、
前記複数の結合部に対して算出された前記乗算結果を用いて判別結果を出力するステップと、
を備えた判別方法。
Based on the error correction code check matrix, the weight value of the coupling unit coupled to one node is read out from a storage unit that stores information of the neural network in which the coupling unit and the non-coupling unit between the nodes are formed. Calculating a multiplication result of the weight value and an input signal of another node coupled by the coupling unit for a plurality of the coupling units;
Outputting a discrimination result using the multiplication result calculated for the plurality of coupling units;
Method of determination with
誤り訂正符号の検査行列に基づいてノード間の結合部と非結合部とが形成されたニューラルネットワークの情報を記憶する記憶部から、1つのノードに結合された前記結合部の重みの値を読み出し、前記重みの値と前記結合部により結合されている他のノードの入力信号との乗算結果を複数の前記結合部に対して算出するステップと、
前記複数の結合部に対して算出された前記乗算結果を用いて判別結果を出力するステップと、
をコンピュータに実行させるプログラム。
Based on the error correction code check matrix, the weight value of the coupling unit coupled to one node is read out from a storage unit that stores information of the neural network in which the coupling unit and the non-coupling unit between the nodes are formed. Calculating a multiplication result of the weight value and an input signal of another node coupled by the coupling unit for a plurality of the coupling units;
Outputting a discrimination result using the multiplication result calculated for the plurality of coupling units;
A program that causes a computer to execute.
JP2016095342A 2016-05-11 2016-05-11 Processing apparatus, determination method, and program Active JP6227052B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016095342A JP6227052B2 (en) 2016-05-11 2016-05-11 Processing apparatus, determination method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016095342A JP6227052B2 (en) 2016-05-11 2016-05-11 Processing apparatus, determination method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015561138A Division JP5937284B2 (en) 2014-02-10 2014-02-10 Hierarchical neural network device, discriminator learning method and discrimination method

Publications (2)

Publication Number Publication Date
JP2016173843A JP2016173843A (en) 2016-09-29
JP6227052B2 true JP6227052B2 (en) 2017-11-08

Family

ID=57009049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016095342A Active JP6227052B2 (en) 2016-05-11 2016-05-11 Processing apparatus, determination method, and program

Country Status (1)

Country Link
JP (1) JP6227052B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6183980B1 (en) 2016-12-02 2017-08-23 国立大学法人東京工業大学 Neural network circuit device, neural network, neural network processing method, and neural network execution program
JP6933367B2 (en) 2017-09-20 2021-09-08 Tokyo Artisan Intelligence株式会社 Neural network circuit device, system, processing method and execution program
US20190302707A1 (en) * 2018-03-28 2019-10-03 Mitsubishi Electric Research Laboratories, Inc. Anomaly Detection in Manufacturing Systems Using Structured Neural Networks
JP7240657B2 (en) 2018-05-15 2023-03-16 Tokyo Artisan Intelligence株式会社 Neural network circuit device, neural network, neural network processing method, and neural network execution program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2714600B2 (en) * 1988-08-12 1998-02-16 衛 田中 Associative neurocomputer
JP2003317073A (en) * 2002-04-24 2003-11-07 Fuji Xerox Co Ltd Neural network processor
JP2006163808A (en) * 2004-12-07 2006-06-22 Fuji Electric Holdings Co Ltd Structure for neural network

Also Published As

Publication number Publication date
JP2016173843A (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP5937284B2 (en) Hierarchical neural network device, discriminator learning method and discrimination method
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US10635978B2 (en) Ensembling of neural network models
US20210287097A1 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
US10380479B2 (en) Acceleration of convolutional neural network training using stochastic perforation
JP6227052B2 (en) Processing apparatus, determination method, and program
US20190080240A1 (en) Execution of a genetic algorithm with variable evolutionary weights of topological parameters for neural network generation and training
CA2952594C (en) Quantum-assisted training of neural networks
JP6605259B2 (en) Neural network structure expansion method, dimension reduction method, and apparatus using the method
US6516309B1 (en) Method and apparatus for evolving a neural network
Lehtokangas et al. Initializing weights of a multilayer perceptron network by using the orthogonal least squares algorithm
JPS60183645A (en) Adaptive self-repair processor array and signal processing method using the same
US20230196202A1 (en) System and method for automatic building of learning machines using learning machines
JP2016197389A (en) Learning system, learning program, and learning method
Li et al. Generalization guarantee of training graph convolutional networks with graph topology sampling
Rek et al. Typecnn: Cnn development framework with flexible data types
WO2021095512A1 (en) Machine learning device, information processing method, and recording medium
CN115358485A (en) Traffic flow prediction method based on graph self-attention mechanism and Hox process
JP2024514063A (en) deep neural network training
US20210279575A1 (en) Information processing apparatus, information processing method, and storage medium
JP2023046213A (en) Method, information processing device and program for performing transfer learning while suppressing occurrence of catastrophic forgetting
JP6741159B1 (en) Inference apparatus and inference method
US20240012726A1 (en) Methods and electronic device for repairing memory element in memory device
CN117194051B (en) Brain simulation processing method and device, electronic equipment and computer readable storage medium
KR102311659B1 (en) Apparatus for computing based on convolutional neural network model and method for operating the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170706

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: 20170912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171010

R150 Certificate of patent or registration of utility model

Ref document number: 6227052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250