WO2024062626A1 - 演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置 - Google Patents

演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置 Download PDF

Info

Publication number
WO2024062626A1
WO2024062626A1 PCT/JP2022/035492 JP2022035492W WO2024062626A1 WO 2024062626 A1 WO2024062626 A1 WO 2024062626A1 JP 2022035492 W JP2022035492 W JP 2022035492W WO 2024062626 A1 WO2024062626 A1 WO 2024062626A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
data
input
output
layer
Prior art date
Application number
PCT/JP2022/035492
Other languages
English (en)
French (fr)
Inventor
富美男 大庭
Original Assignee
富美男 大庭
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 富美男 大庭 filed Critical 富美男 大庭
Priority to PCT/JP2022/035492 priority Critical patent/WO2024062626A1/ja
Publication of WO2024062626A1 publication Critical patent/WO2024062626A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to an arithmetic device, an integrated circuit, a machine learning device, a discrimination device, a control method, and a control device.
  • the present invention provides an arithmetic device that makes it possible to handle a phenomenon expressed by a power index, and also makes it possible to accurately derive a correlation between an input and an output in the phenomenon. , an integrated circuit, a machine learning device, a discrimination device, a control method, and a control device.
  • an arithmetic device includes: An arithmetic device that outputs an output value from the output layer for a plurality of input data (D0, D1, ..., DN) input to the input layer using a neural network structure including at least an input layer and an output layer.
  • the input layer is A plurality of exponents (p0, p1,..., pN) that respectively correspond to the plurality of input data and raise the plurality of input data to powers are provided as learning parameters of the neural network structure
  • the input layer has a plurality of exponents that raise the plurality of input data to powers as learning parameters of the neural network structure
  • the output layer has the following: An output value is output based on the product of a plurality of power values obtained by exponentiating a plurality of input data input to the input layer by a plurality of exponents. Therefore, the arithmetic device can handle a phenomenon expressed by a power index, and can accurately derive a correlation between an input and an output in the phenomenon.
  • FIG. 2 is a diagram illustrating a neural network structure 100A used by an arithmetic device according to a first basic embodiment of the present invention and its basic principle.
  • FIG. 2 is a diagram illustrating a neural network structure 100B used by the arithmetic device according to the first basic form of the present invention and its basic principle.
  • FIG. 10 is a diagram illustrating a neural network structure 100C used by a computing device according to a third basic embodiment of the present invention and its basic principle.
  • 1 is a block diagram showing the configuration of an arithmetic device 1 using a neural network structure according to first to third basic embodiments of the present invention.
  • FIG. 1 is a diagram showing the structure of a neural network according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing the structure of an exponent addition type neural network according to the first embodiment of the present invention.
  • 3 is a flowchart illustrating a method of searching for an optimal solution for a power index using the neural network device according to the first embodiment of the present invention.
  • FIG. 1 is a diagram showing the structure of a multilayer neural network according to the first embodiment of the present invention.
  • FIG. 7 is a diagram showing the configuration of a difference matrix and a product input matrix according to a second embodiment of the present invention. It is a flowchart which shows the method of searching for an optimal solution using the difference search method concerning the 2nd embodiment of the present invention. It is a table listing nine planet names and two measurement data (average distance from the sun, orbital period) according to Example 1 of the present invention.
  • FIG. 3 is a three-dimensional wire frame plot diagram in which the output value of the coefficient of variation according to Example 1 of the present invention is converted into a log value (common logarithm). It is a table listing nine planets and YY/W values according to Example 1 of the present invention.
  • FIG. 11 is a pictorial diagram of 10 triangles applied to the discovery of Heron's formula according to Example 2 of the present invention. It is a table listing the dimensions and areas of three sides of ten triangles according to Example 2 of the present invention. 3 is a table listing three-side calculation formulas that are product input elements according to Example 2 of the present invention. It is a table listing five-dimensional input data tables input to the power search method according to the second embodiment of the present invention.
  • FIG. 7 is a diagram showing a graph of the output value Z-Act of the neural network according to Example 2 of the present invention in order of triangle numbers.
  • FIG. 7 is a diagram showing a graph in order of YY/W triangle numbers according to Example 2 of the present invention. It is a figure of the CartPole inverted pendulum concerning Example 4 of the present invention.
  • FIG. 4 is a diagram showing the structure of a conventional neural network according to a fourth embodiment of the present invention. It is a table listing rewards given at the end of the t-th episode according to Example 4 of the present invention.
  • 12 is a flowchart using a conventional policy gradient method according to a fourth embodiment of the present invention.
  • FIG. 12 is a diagram showing a step number transition graph as a result of implementing the conventional policy gradient method in the CartPole inverted pendulum simulation according to the fourth embodiment of the present invention.
  • FIG. 12 is a flowchart of a reinforcement learning algorithm controlled using a power search method according to a fourth embodiment of the present invention.
  • 12 is a table in which the update amount ⁇ pn for updating the exponent is set in an array of deviations N according to the fourth embodiment of the present invention.
  • FIG. 13 is a graph showing a transition graph of the number of steps as a result of implementing the power search method in a CartPole inverted pendulum simulation according to the fourth embodiment of the present invention.
  • Step No. of YY/W according to the fourth embodiment of the present invention is a figure showing the graph of the order (chronological order of pushing the cart). It is a table summarizing the operation of the trolley when the value of the threshold value A is changed according to the fourth embodiment of the present invention.
  • the input data is narrowed down to the angle and angular velocity of the pole, and the power search method is implemented in the CartPole inverted pendulum simulation to find the power exponent value that the pole can withstand without falling.
  • FIG. 1 is a diagram illustrating a neural network structure 100A used by an arithmetic device according to a first basic embodiment of the present invention and its basic principle.
  • This is a device that outputs an output value y from.
  • the neural network structure 100A shown in FIG. 1 is composed of an input layer 110A having N+1-dimensional neurons (nodes) (N is a natural number of 1 or more) and an output layer 120A having one neuron (node).
  • N neurons in the input layer 110A and one neuron in the output layer 120A are connected by N+1-dimensional synapses (edges).
  • the N neurons of the input layer 110A are respectively associated with the N+1-dimensional input data Dn, and each of the N+1-dimensional input data Dn is input.
  • at least one of the N+1-dimensional input data Dn may be data represented by a complex number.
  • Dn pn (D0 p0 , D1 p1 ,...,DN pN ) obtained by exponentiating the N+1-dimensional input data Dn input to the input layer 110A by an N+ 1- dimensional power exponent pn .
  • the N+1-dimensional power exponent pn as a learning parameter is a parameter learned by using multiple sets of learning data including N+1-dimensional input data Dn and teacher data T associated with the N+1-dimensional input data Dn. It is.
  • the N+1-dimensional power exponent pn is the sum of the output value y output from the output layer 120A when the N+1-dimensional input data Dn included in the learning data is input to the input layer 110A, and the teacher data T included in the learning data. Adjustment is made so that the difference (error) between the two is small.
  • the arithmetic device performs a predetermined process when a series of steps for adjusting (searching) learning parameters using learning data is repeated a predetermined number of times, or when the above difference becomes smaller than a predetermined tolerance value. It is determined that the learning end condition is satisfied, and learning for the learning parameters is ended. As a result, a learned neural network structure 100A having an N+1-dimensional exponent pn as a learning parameter is realized.
  • the arithmetic device inputs N+1-dimensional input data Dn whose output value is unknown to the input layer 110A of the learned neural network structure 100A, and outputs an output value y for the N+1-dimensional input data Dn from the output layer 120A. do.
  • the arithmetic device may perform predetermined preprocessing (normalization, standardization, one-hot encoding, etc.) on the input data before inputting it to the input layer 110A, or perform preprocessing on the input data after it is output from the output layer 120A. Predetermined post-processing may be performed on the output data.
  • predetermined preprocessing normalization, standardization, one-hot encoding, etc.
  • the input layer 110A has multiple exponents to which multiple input data are respectively raised as learning parameters of the neural network structure 100A, and the output layer 120A outputs an output value based on the product of multiple exponents obtained by raising the multiple input data input to the input layer 110A to the multiple exponents. Therefore, the arithmetic device is capable of handling phenomena expressed by exponents, and can accurately derive the correlation that exists between the input and output in the phenomenon.
  • FIG. 2 is a diagram illustrating the neural network structure 100B used by the arithmetic device according to the first basic form of the present invention and its basic principle.
  • a neural network structure 100B (FIG. 2) according to the second basic form includes at least an input layer 110B and an output layer 120B like the first basic form (FIG. 1), but the input layer 110B performs logarithmic calculation.
  • This embodiment differs from the first basic embodiment in that the output layer 120B performs antilogarithm calculation.
  • the characteristic parts of the neural network structure 100B according to the second basic form will be mainly explained.
  • at least one of the N+1-dimensional input data Dn may be data represented by a complex number.
  • y f(YY0)
  • base is a positive number excluding 1
  • Input data pn (n 0, 1,...,N):
  • Dn pn (n 0,1,...,N): Power value
  • the N+1-dimensional power exponent pn as a learning parameter uses learning data that includes N+1-dimensional input data Dn and teacher data T associated with the N+1-dimensional input data Dn. This is a parameter that is learned by using multiple sets.
  • the N+1-dimensional power exponent pn is the sum of the output value y output from the output layer 120B when the N+1-dimensional input data Dn included in the learning data is input to the input layer 110B, and the teacher data T included in the learning data. Adjustment is made so that the difference (error) between the two is small.
  • the arithmetic device determines that a predetermined learning end condition has been met and ends learning of the learning parameters. This results in a trained neural network structure 100B having an N+1-dimensional exponent pn as a learning parameter.
  • the arithmetic device inputs N+1-dimensional input data Dn, the output value of which is unknown, to the input layer 110B of the trained neural network structure 100B, and outputs an output value y for the N+1-dimensional input data Dn from the output layer 120B.
  • the input layer 110B converts each of the multiple input data into a logarithm, and outputs multiple multiplication values obtained by multiplying the converted multiple logarithms by multiple exponents to the output layer 120B, and the output layer 120B converts the sum of the multiple multiplication values into an antilogarithm, and outputs an output value based on the converted antilogarithm. Therefore, the arithmetic device is capable of handling phenomena expressed by exponents, and can accurately derive the correlation that exists between the input and output in the phenomenon.
  • FIG. 3 is a diagram illustrating a neural network structure 100C used by an arithmetic device according to the third basic form of the present invention and its basic principle.
  • a neural network structure 100C (FIG. 3) according to the third basic form includes an input layer 110C and an output layer 120C, like the first basic form (FIG. 1), but an input layer 110C and an output layer 120C.
  • This embodiment differs from the first basic embodiment in that it further includes a hidden layer 130 between them.
  • the characteristic parts of the neural network structure 100C according to the third basic form will be mainly explained.
  • at least one of the N+1-dimensional input data Dn may be data represented by a complex number.
  • a first hidden node 131 outputs a specified target value YY1 to the output layer 120A, and N+1-dimensional input data Dn is inputted via an N+1-dimensional weighting parameter wn, and a bias parameter b as a learning parameter.
  • a second hidden node 132 that receives an input and outputs an additive calculation output BYA defined by the following formula (Equation 3-2) to the output layer 120A.
  • the N+1-dimensional power exponent pn, the N+1-dimensional weighting parameter wn, and the bias parameter b as learning parameters are parameters learned by using a plurality of input data Dn as learning data.
  • the N+1-dimensional power exponent pn, the N+1-dimensional weighting parameter wn, and the bias parameter b are output from the first hidden node 131 when the N+1-dimensional input data Dn as learning data is input to the input layer 110C.
  • ) between the target value YY1 and the addition type calculation output BYA output from the second hidden node 132 is adjusted to be small.
  • the arithmetic device determines that a predetermined learning end condition has been met and ends learning of the learning parameters. This realizes a trained neural network structure 100C having an N+1-dimensional exponent pn, an N+1-dimensional weighting parameter wn, and a bias parameter b as learning parameters.
  • the arithmetic device inputs N+1-dimensional input data Dn, the output value of which is unknown, to the input layer 110C of the trained neural network structure 100C, and outputs an output value y for the N+1-dimensional input data Dn from the output layer 120C.
  • the hidden layer 130 is defined by the above equation (Equation 3-1), in which a plurality of input data are respectively inputted via a plurality of weighting parameters.
  • FIG. 4 is a block diagram showing the configuration of an arithmetic device 1 using a neural network structure according to the first to third basic embodiments of the present invention.
  • the arithmetic device 1 uses a machine learning device 1A that generates a learning model having neural network structures 100A to 100C corresponding to any of the first to third basic forms, and a learning model generated by the machine learning device 1A. It functions as a discrimination device 1B that outputs a discrimination result AA for discrimination data BB to be discriminated.
  • the machine learning device 1A is used in the learning phase, and the discriminating device 1B is used in the discriminating phase (inference phase).
  • the arithmetic device 1 includes, as its components, a discriminator learning section 2, a learning parameter storage section 3, a learning data storage section 4, a learning data processing section 5, a discrimination result processing section 6, and a discrimination data acquisition section 7. configured.
  • the discriminator learning unit 2 includes a learning unit 20 that learns learning parameters using a learning model having a neural network structure 100A to 100C, and a learning unit 20 that learns learning parameters using a learning model having a neural network structure 100A to 100C. and a discrimination processing unit 21 that outputs a discrimination result for.
  • the learning parameter according to the first and second basic forms is an N+1-dimensional power exponent pn.
  • the learning parameters according to the third basic form are an N+1-dimensional power index pn, an N+1-dimensional weighting parameter wn, and a bias parameter b.
  • the learning parameter storage unit 3 stores learning parameters as learning results obtained by learning performed by the learning unit 20 in the learning phase. Initial values of learning parameters are stored in the learning parameter storage unit 3 through learning parameter initialization processing, and the learning parameters are sequentially updated as learning is repeatedly performed in the learning unit 20.
  • the learning parameter storage unit 3 stores learning parameters when learning by the learning unit 20 is completed, and is read out by the discrimination processing unit 21 in the discrimination phase (inference phase).
  • the learning data storage unit 4 stores multiple sets of learning data including at least multiple input data.
  • the learning data for the first and second basic forms includes input data and teacher data associated with the input data.
  • the learning data for the third basic form includes only input data.
  • the teacher data is, for example, data corresponding to the discrimination result, and as the discrimination result, for example, when normal is represented by "0" and abnormal is represented by "1", "0" or "1" is set.
  • the learning unit 20 inputs the learning data stored in the learning data storage unit 4 to the learning model via the learning data processing unit 5, and performs learning of learning parameters so that the loss function is minimized, for example. That is, the learning unit 20 receives the discrimination result output from the discrimination processing unit 21 and the learning data read out from the learning data processing unit 5, performs learning using these data, and stores the learning parameter storage unit 3. Store learning parameters in .
  • the discrimination processing unit 21 inputs the learning data acquired by the learning data processing unit 5 into a learning model that reflects the initial values or the learning parameters during learning, thereby determining the output from the learning model.
  • the determination result is output to the learning section 20 and the determination result processing section 6 based on the value.
  • the discrimination processing unit 21 inputs the discrimination data acquired by the discrimination data acquisition unit 7 into a learning model that reflects the learned learning parameters.
  • the output value (for example, a feature amount, etc.) is outputted to the discrimination result processing section 6.
  • the learning data processing unit 5 reads the learning data from the learning data storage unit 4 and performs predetermined preprocessing, and then sends the learning data to the learning unit 20 and the discrimination processing unit 21. At this time, the learning data processing section 5 sends the learning data to the learning section 20 and the discrimination processing section 21 in response to a request from the discrimination result processing section 6.
  • the determination result processing unit 6 receives the output value output from the determination processing unit 21, and outputs it to a predetermined output device such as a display as the determination result AA. Further, in the learning phase, the discrimination result processing unit 6 calculates a coefficient of variation, a discrimination rate, etc. based on the discrimination result, and further sends learning data to the learning unit 20 and discrimination processing unit 21 according to the calculation results.
  • the training data processing section 5 is requested to do so.
  • the discrimination data acquisition unit 7 receives the discrimination data BB from a predetermined input device in the discrimination phase (inference phase), performs predetermined preprocessing, and then sends the discrimination data BB to the discrimination processing unit 21.
  • the arithmetic device 1 having the above configuration is configured by a general-purpose or dedicated computer.
  • the machine learning device 1A and the discrimination device 1B may be configured by separate computers.
  • the machine learning device 1A only needs to include at least the learning data storage section 4, the learning section 20, and the learning parameter storage section 3.
  • the discrimination device 1B only needs to include at least the discrimination data acquisition section 7 and the discrimination processing section 21.
  • the learning parameter storage unit 3 and the learning data storage unit 4 include storage devices (built-in type, external type, network connection type) such as a hard disk drive (HDD) and a solid state drive (SSD). It may be configured with a USB memory, a storage medium (CD, DVD, BD) that can be played by a storage media playback device, etc.
  • the discriminator learning unit 2, the learning data processing unit 5, the discrimination result processing unit 6, and the discrimination data acquisition unit 7 include one or more processors (CPU, MPU, GPU, etc.).
  • the calculation device 1 may function as a discriminator learning unit 2, a learning data processing unit 5, a discrimination result processing unit 6, and a discrimination data acquisition unit 7 by executing programs stored in various types of storage devices or storage media, or programs acquired by downloading from outside via a network.
  • any of the first to third corresponding neural network structures 100A to 100C may be configured by an integrated circuit.
  • the integrated circuit includes an input/output unit that configures an input layer and an output layer, a storage unit that stores learning parameters, and a calculation unit that performs calculations to output the output value from the output layer based on a plurality of input data input to the input layer and the learning parameters stored in the storage unit.
  • the integrated circuit is configured by, for example, an FPGA, an ASIC, or the like, and other hardware may also be used.
  • FIG. 5 is a diagram showing the basic structure of an additive neural network.
  • An additive neural network is composed of an input layer, a hidden layer, and an output layer, and each layer has multiple nodes.
  • additive neural networks can solve various problems ( It functions as a discriminator that can solve classification problems or regression problems.
  • YY and BYA of the hidden layer can be expressed by the following formulas (Equation 1), (Equation 2), and (Equation 3).
  • the loss function L be the difference formula between YY (target value) and BYA (additive calculation output)
  • the symbol for exponentiation is ⁇
  • the symbol for product is *.
  • Equation 5 Since the formula YY/W (Equation 5) is expressed as the product of each element obtained by raising the input data element Dn to the power exponent Pn, it is expressed as a "product of power values.” Furthermore, when the groups to which data belong have a common feature quantity wn, the value of W, which is their power product, is also common. Therefore, when YY/W (product of power values) can be approximated to a constant, YY( target value) is also approximated to a constant.
  • the evaluation function can be prevented by using a coefficient of variation in which the standard deviation is normalized by the average value, and by evaluating the magnitude of the relative variation with respect to each average value using a power index as a parameter.
  • the discrimination rate as the evaluation function, it can be solved as a classification problem divided into two or more groups.
  • a method of deriving an optimal solution for a power index (hereinafter referred to as a power search method) using the above-mentioned power index addition type neural network will be described with reference to FIG. 4.
  • the discriminator learning unit 2 learns a neural network and performs discrimination using the learned neural network.
  • the discrimination learning section 2 includes a learning section 20 and a discrimination processing section 21.
  • the learning unit 20 trains the neural network so that the loss function is minimized. That is, when the learning section 20 receives the discrimination result output from the discrimination processing section 21 and the learning data read out from the learning data processing section 5, it performs learning using these data and stores the learning parameters in the learning data storage section 3.
  • the discrimination processing unit 21 When the discrimination processing unit 21 receives weights, biases, and learning data from the learning parameter storage unit 3, it sends a discrimination result using these to the discrimination result processing unit 6.
  • the discrimination result processing unit 6 When the discrimination result processing unit 6 receives the discrimination result output from the discrimination processing unit 21, it requests the learning data processing unit 5 to input learning data using the exponent as a parameter.
  • the received discrimination results are sorted in order of minimum variation coefficient or maximum discrimination rate, and output to a predetermined output device such as a display external to the device.
  • the learning data storage unit 3 is a storage unit that stores weights and biases between nodes in the neural network and learning data of the learning data processing unit 5. During the weight initialization process, the learning data storage unit 3 stores the initial values of weights and biases between all nodes of the neural network, and uses the learning data sent from the learning data processing unit 5 to perform the learning unit 20. Store the weights and biases between nodes and learning data that trained the neural network.
  • the learning data storage unit 4 is a storage unit that stores learning data.
  • the learning data is test data indicating state information and feature amounts that have been previously determined to be normal or abnormal.
  • the discrimination data BB is data to be discriminated and is sent to the discrimination data acquisition unit 7, subjected to predetermined preprocessing, and then sent to the discrimination processing unit 21.
  • the learning data processing unit 5 inputs the learning data storage unit 4 and converts it into a predetermined learning data type using a power exponent as a parameter.
  • the converted learning data is sent to the weight learning section 20 in response to a request from the discrimination result processing section 6.
  • the discriminator learning unit 2, learning data processing unit 5, discrimination result processing unit 6, and discrimination data acquisition unit 7 can be realized as specific means in which hardware and software work together, for example, by a microcomputer executing a program in which processing specific to this embodiment is described.
  • An integrated circuit combining the section 6 and the discrimination data acquisition section 7 can be provided in a smaller size, higher speed, lower power consumption, and at a lower cost.
  • a weight learning process is performed using the power index as a parameter, a variation coefficient or a discrimination rate is calculated, and the flowchart shown in FIG. 7 shows a method for searching for an optimal solution for the power index. I will explain along.
  • the learning data processing unit 5 converts the learning data in the learning data storage unit 4 into an input format to the learning unit 20 in the discriminator learning unit 2 that performs neural network calculations.
  • the learning data in the learning data storage section 4 is composed of N-dimensional input data and one-dimensional output data.
  • step SP2 a search method for the power index Pn is set (step SP2). For example, a brute force search is performed using an integer of
  • the search end condition may also be set in advance to a predetermined number of searches, search label, or threshold value.
  • a search table for data Dn and power index Pn is created (step SP5).
  • search label No. 0 (-5, -5, , -5)
  • the next search label is No.
  • data Dn and exponent Pn are extracted from the search table in the order of search labels (step SP6).
  • Dn ⁇ Pn is redefined as the input of the neural network (step SP7).
  • Dn (D0 ⁇ po, D1 ⁇ p1,..., Dn ⁇ pn,..., D(N-1) ⁇ p(N-1), DN ⁇ pN) is sent to the learning section 20 of the discriminator learning section 2, and undergoes weight learning processing through steps ST1 to ST8.
  • the details of the learning section 20 will be explained below.
  • the learning unit 20 initializes weights and biases, which are feature quantities of the neural network (step ST1). Specifically, 0 is given to the initial value.
  • the calculation formulas YY (target value) and BYA (additive calculation output) of the hidden layer can be expressed as (Equation 1), (Equation 2), and (Equation 3) as described above, and the learning unit 20 calculates the initial value of the loss amount
  • the learning unit 20 updates the bias (parameter b) slightly in the positive direction by a set amount (step ST4).
  • the learning unit 20 calculates the weight (weighting parameter wn) correction amount (appropriate shift amount ⁇ wn) so that the value of the loss amount becomes smaller (step ST5).
  • the learning unit 20 updates the weight value from the previous value with the correction amount obtained in ST5 (step ST6).
  • the learning unit 20 loops the steps ST5 to ST6 a set number of times to update the weight amount (step ST7).
  • the learning unit 20 checks whether the conditions for ending weight learning are satisfied (step ST8).
  • the termination condition is preferably the minimum value before the loss amount changed from decreasing to increasing.
  • the number of times of learning may be greater than or equal to the set number of times.
  • the learning unit 20 stores the feature amount that minimizes the extracted loss amount
  • the discrimination processing unit 21 sends the obtained feature amount to the discrimination result processing unit 6.
  • the discrimination result processing unit 6 calculates a coefficient of variation and a discrimination rate from the feature amount, and stores the results (step SP8).
  • the discrimination result processing unit 6 updates the search label in the search table from the previous value (step SP9).
  • the search label is advanced by one.
  • the previous search order is changed to a smaller variation coefficient or higher discrimination rate from the variation coefficient or discrimination rate calculated in the previous steps.
  • An algorithm that can predict the possibility of reaching the destination faster may be installed to update the search order label to be more efficient.
  • step SP10 After updating the search label through step SP9, confirms whether the search end condition is satisfied (step SP10). If the termination condition is not met, the process returns to step SP6 and repeats.
  • the specific N+1-dimensional data, the type of relational expression, and the coefficient of variation and discrimination rate used as the evaluation function will be described later through (Example 1) and (Example 2).
  • FIG. 8 is a diagram showing the basic structure of a multilayer exponent addition type neural network.
  • a second-stage hidden layer that receives the outputs of the first-stage hidden layer nodes n1 and n2, a node n3 of the second-stage target value ZZ that is linked with the two weights h0 and h1, and an additive output BZA. Insert and expand two nodes whose node is n4 to obtain a one-dimensional output Z-Act.
  • the second embodiment of the present invention performs preprocessing, including sums and differences between input data elements, to input data elements to the power search method of the first embodiment, and converts the input data elements into This is a learning method in which the input is input to a power search method and calculations are performed to discover a relational expression consisting of addition, subtraction, multiplication, and division.
  • an optimal relational expression can be obtained when the units of N-dimensional input data to the power search method are different, or when the sum or difference between the input data is not required.
  • relational expressions that use sums and differences between input data.
  • Heron's formula (Equation 7) for calculating the area S which is the answer, using the lengths (a, b, c) of three sides of a triangle as original data, is an equation that uses the product of the differences between the sides.
  • am (a0, a1, , a(M-1)) be original data with M rows (M dimensions) that have the same unit and can be differentiated and columns of the number of learning samples (SN). Furthermore, a differential element matrix Cm and a coefficient k to be multiplied by the elements of the original data am are defined.
  • the difference element matrix Cm is defined as a matrix of all combinations obtained by multiplying each element of the original data am by a coefficient k, and is illustrated in FIG.
  • the imaginary unit i can be used for the coefficient k.
  • FIG. 9 illustrates the product input element matrix LnS.
  • constraint conditions are set to remove unnecessary product input elements Ln. Create the omitted LnS table. If there are no constraint conditions, the product input element matrix LnS as it is is used as the LnS table.
  • the number NY of input data elements to be input to the power search method is set from among the product input elements Ln of the LnS table.
  • the one-dimensional answer data is connected to the end of the DnL table to create a DnL table with NY rows (dimensions) to be input to the power search method.
  • the method of inputting the data of NY rows (dimensions) to the power search method and deriving the optimal solution according to the order of this DnL table is called the difference search method.
  • a method of searching for an optimal solution using the differential search method will be explained along with the flowchart of FIG. 10.
  • Step SS1 it is checked whether the original data am of the measurement object has an element that can be added or subtracted. If there is an element that can be added or subtracted, set the element to be added or subtracted. (Step SS2).
  • step SS3 the above-mentioned coefficient k and the number of learning samples SN are set, and a difference element matrix Cm is generated.
  • step SS4 if there are constraints on the sum and difference between each element of the input data am, those constraints are set (step SS4). For example, in Heron's formula above, if you want to use only the condition that the difference between the sides is a positive value, that is, ( ⁇ a ⁇ b ⁇ c)>0, set that condition and omit non-positive values. .
  • the product input element matrix LnS is calculated from equation (9) to create an LnS table that satisfies the constraint conditions set in step SS4 (step SS5).
  • Step SS6 set the number NY of input data elements to be input to the power search method.
  • step SS7 From the rows of the LnS table, (NY-1) rows are extracted and combined to create a DnL table of (NY-1) rows (dimensions) (step SS7).
  • Step SS8 the one-dimensional answer data is connected to the last row of the DnL table.
  • step SP1 the first data Dn row is obtained from the DnL table.
  • step SP2 the subsequent steps SP2 to SP10 and ST1 to ST8 are the same as the power search method, and their explanation will be omitted.
  • next step SS9 the data Dn row is updated to the next data according to the order of the DnL table.
  • the process returns to step SP2 and repeats. The process ends when the final order of the DnL table is completed.
  • a threshold value may be set for the coefficient of variation or the discrimination rate, and the process may be terminated midway.
  • Example 1 As a first example, the first embodiment is applied to the discovery of Kepler's third law.
  • Kepler's third law is that "the square of the orbital period T of each planet is proportional to the cube of the average distance r from the sun.”
  • This power law is based on physical laws. In FIG. 11, nine planet names and two measurement data (average distance r [km] from the sun and orbital period T [day]) are clearly indicated.
  • the functional form of the law can be primarily estimated to be composed of division and multiplication, excluding addition and subtraction, because the units are different.
  • f(D0, D1) 1
  • the right term is 1, assuming that the answer data having a predetermined relationship is D2. Therefore, the three-dimensional input data elements to the power search method are (D0, D1, 1), and YY/W (the product of the power values) is given by the functions of (Equation 5) to (Equation 10).
  • a three-dimensional input table (D0, D1, 1) is created from FIG. 8 (step SP1).
  • the search method for the power index is a brute force search in which the power index is an integer of
  • ⁇ 7, and the search initial value is set to No. 0, power index P0 (-7,-7), No.
  • neural network calculations are performed in accordance with the order of the search table until the search is completed (steps SP6 to SP10).
  • the weights and biases for neural network calculations are initialized (step ST1).
  • the number of bias updates performed in a loop the number of weight updates, the weight correction amount ( ⁇ wn), and the bias update amount are initially set to appropriate values.
  • the number of bias updates for hidden layer 1 is set to 50, and the number of weight updates is set to 10.
  • the weight correction amount ( ⁇ wn) was set to 0.1% of the loss amount.
  • the initial setting value may be made finer or coarser.
  • the base (low) setting value was 0.9.
  • the value of the input data d1 in this example deals with the maximum value 915, and if, for example, 10 is set as the base setting value, it will easily reach the upper calculation limit of the computer. In this patent, a decimal number can be set as the base, so calculation limitations can be avoided.
  • the coefficient of variation which is the evaluation function used in this example, will be explained.
  • the coefficient of variation is the standard deviation sigma of YY/W (product of power values) in (Equation 7) (hereinafter the Greek letter symbol for standard deviation is written as sigma) and the average value of YY/W (product of power values). This is the divided value.
  • the next step SP9 is set when you want to introduce a heuristic search method using the obtained coefficient of variation and change the search order from the initial search label. be.
  • next step SP10 after completing the search end value (7, 7) of the search table, output the exponent Pn that has the minimum coefficient of variation, a list of correspondences between the exponent Pn and the coefficient of variation, a graph, etc., and finish. do.
  • Graph examples are shown in FIGS. 12 and 13. Furthermore, if the search end value (7, 7) has not been reached, the process returns to step SP6 and repeats.
  • Figure 12 is an output diagram of this example, with the coefficient of variation as the output value, the power exponent p0 of D0 on the horizontal axis, and the power exponent p1 of D1 on the vertical axis, with (p0, p1) as the coordinates. It can be seen that the coefficient of variation is small, ranging from 0 to 0.0005, at the coordinate positions of the power exponent (p0, p1), namely (-6, 4), (-3, 2), (0, 0), (3, -2), and (6, -4). However, for convenience, values smaller than 0.0001 are displayed as 0.
  • Figure 13 is a 3D wireframe plot of the log values (common logarithm) of Figure 12.
  • an efficient neighborhood value search method can be studied using a graph with power index coordinates as an axis.
  • the search time can be shortened by setting the initial value to a position close to multiple extreme values that take into account the regularity.
  • the calculation can be made faster by simplifying BYA
  • FIG. 10 is a picture of various triangles numbered 10 (1) to (10), and Figure 17 shows the lengths a, b, c of the three sides and area S to the first decimal place.
  • This is a table with digits. Since the lengths of the three sides have the same units as cm, there is a concern that even if the lengths of the three sides a, b, c and the area S are used directly as input for the power search method, it will not be possible to arrive at the answer. be.
  • a method of inputting the values of addition and subtraction of the lengths of three sides to the power search method will be specifically explained using the flowchart of FIG. 10.
  • a coefficient m to be multiplied by the element of the original data am is set.
  • the coefficient m is -1, 0, 1.
  • the difference element matrix Cm is generated using these, the difference element matrix Cm of 27 rows and 3 columns is automatically generated as shown in FIG. 9 (step SS3).
  • step SS4 if there are constraints on the sum and difference between each element of the input data am, those constraints are set. Since it can be easily inferred that a product input element consisting of adding and subtracting the lengths of three sides, such as a triangle, does not have a negative value or zero, the condition that the difference between the sides is a positive value is ( ⁇ a ⁇ b ⁇ c) Set >0 (step SS4).
  • the product input element matrix LnS is calculated from equation (9) to create an LnS table that satisfies the constraint conditions set in step SS4 (step SS5).
  • FIG. 18 shows an LnS table with 10 rows and 10 columns that is generated satisfying the constraint conditions. Let the 10 rows of the product input element be L0 to L9, and the 10 rows L0 to L9 given by the equations of the difference and sum of the three sides, and the difference and sum of the three sides of triangles (1) to (10) of those equations. It consists of 10 columns of elements with values of .
  • step SS6 set the number NY of input data elements to be input to the power search method.
  • step SS6 an example in which NY is fixed to 5 will be explained.
  • a DnL table with 4 rows and 10 columns is created by extracting and combining the 4 rows of (NY-1) from the rows of the LnS table (step SS7).
  • FIG. 19 shows the generated DnL table.
  • the 5-dimensional data (D0, D1, D2, D3, D4) input to the power search is extracted from the product input elements L0 to L9 of the LnS table to (D0, D1, D2, D3). It is composed of a table in which combinations of four elements are arranged, area S is arranged in D4, and 210 indexes (No. 0 to 209) are attached.
  • the first five-dimensional input data Dn row is obtained from the DnL table (step SP1).
  • step SP2 a search method for the power index Pn is set (step SP2).
  • a brute force search is performed in which the power value is an integer of
  • step SP3 the initial value of the exponent Pn is set (step SP3).
  • search label No. which is the initial value of the search, is used.
  • 0 is a power index (-4, -4, -4, -4, -4, -4).
  • search termination conditions for the power index Pn are set (step SP4).
  • the search end value is set to (-1, 4, 4, 4, 4) as the positive exponent of the first D0 of the input data element is the solution of the reciprocal of the negative exponent and is redundant. .
  • search table with data Dn rows and power index Pn is created (step SP5).
  • step SP6 data Dn rows and exponent Pn are extracted from the search table in the order of search labels.
  • Dn ⁇ Pn is redefined as the input of the neural network (step SP7).
  • the subsequent steps ST1 to ST8 are the same additive neural network calculation procedures as in the first embodiment described above, and their explanation will be omitted. However, the base (low) setting value was 0.99.
  • the data is sequentially forwarded according to the search label of the data Dn and the exponent Pn.
  • step SP10 when the search end value of the search table is (-1, -4, -4, -4, -4), the process proceeds to step SS9. If the search end value is not (-1, -4, -4, -4, -4), the process returns to step SP6 and is repeated.
  • the data Dn is updated to the next data according to the index order of the DnL table.
  • step SS10 if the data Dn (L6, L7, L8, L9, S) is the final index of the DnL table, the process ends. If it is not the final index, return to step SP2 and repeat.
  • YY/W product of power values
  • the above example is an example in which a coefficient of variation is used in the evaluation function of the power search method.
  • the present invention can apply a discrimination rate to the evaluation function.
  • Heron's formula as an example, a method of deriving Heron's formula using the discrimination rate as the evaluation function will be explained.
  • the area S of the triangle is divided into two equal parts and used for discrimination. For example, 10 sample numbers.
  • the area S of even numbers in the SN column is multiplied by 1.0, and the area of odd numbers is multiplied by 0.9, and they are divided into two groups, group A and group B, respectively. Therefore, the answer is not the area S of the triangle, but the group A or group B, which is the discrimination result.
  • a list of the discrimination results is shown in FIG.
  • the answer to this discrimination is the label group A and group B, and there is a problem that the calculation cannot be performed unless it is converted into numerical values.
  • the numerical value of the answer can be treated as a constant. Specifically, the area S of the triangle is added to the input, the answer is set to a constant 1, and the calculation can proceed.
  • step SP2 the discrimination rate is set in the search method
  • step SP8 the discrimination rate is calculated accordingly
  • FIG. 22 is a graph of the output value Z-Act of the additive neural network in order of triangle numbers
  • FIG. 23 is a graph of YY/W (product of power values) in order of triangle numbers. From this graph, it can be visually seen that the output value Z-Act is divided into two groups, group A and group B, and that YY/W (product of power values) is two constant lines with no slope.
  • Heron's formula used in the example has no noise elements other than the error of rounding the area S to the second decimal place to the nearest 4 to 5 (the data has good grain).
  • many of the relational expressions that are established based on data obtained from the measurement object include unknown parameters, have complex functional forms, or require estimation of the optimal relational expression from noisy data. In such cases, a method using a discrimination rate as an evaluation function is effective and can be applied to all fields.
  • the area S of even numbers in the SN column mentioned above was intentionally set to 1.0 times the area, and the area of odd numbers was set to a value of 0.9 times, and YY/W (power If we pay attention to FIG. 23, which shows a graph of the triangle numbers (product of values), we can understand the following.
  • a wide gray zone blank area (called band C) is formed that cannot be called group A (called band A) or group B (called band B).
  • band C a wide gray zone blank area
  • a DnL table is automatically created by extracting and combining two-dimensional input data elements from the LnS table, and preprocessing is performed to create a three-dimensional DnL table by concatenating 1, which is one-dimensional answer data.
  • the equation of the circle, which is the optimal relational expression, is derived.
  • the neural network of the present invention can recognize circular or elliptical curves using equations, and can be used to distinguish curved objects, which is more difficult than recognizing straight lines. For example, it can learn the external appearance of the shafts and bearings of rotating machinery and the characteristics of the quality of non-destructive inspection data, find relational equations and thresholds, and distinguish deviations from design values, deformations, scratches, cracks, wear, and other defects.
  • Example 4 As a fourth example, a two-dimensional simulation of the CartPole inverted pendulum device is used to derive a control formula that can stably control the rod so that it does not fall.
  • we receive 4-dimensional input data in real time return an output indicating whether to push the Cart to the right or left, and perform reinforcement learning using a power search method to find a control formula that does not overturn the pole on the Cart. , the purpose is to quickly search for a control formula and stabilize the pole without tipping it over.
  • a platform for evaluating the performance of the CartPole inverted pendulum algorithm is provided by Open Gym, and a reinforcement learning algorithm using the power search method is implemented on this to search for a control formula that stabilizes in the shortest possible time.
  • a force simulating gravity and fluctuation acts and causes it to move left and right.
  • This is a simulation in which the Pole (Cart) is pushed to the left and right with equal force to prevent it from falling to either side, and the Pole is pushed at a certain angle or more within the specified time. ) falls down, the game ends.
  • the output value x is expressed by the following (Equation 12).
  • the policy gradient method uses a method in which a reward function (Rt) is set and learning is performed to maximize the value of the reward function.
  • the weighting parameter updating method is expressed as shown below (Equation 13) using the learning rate ⁇ and partial differential of the conventional network.
  • Number 12) x d0*w0+d1*w1+d2*w2+d3*w3 (Number 13) wn ⁇ wn+ ⁇ ( ⁇ Rt)/( ⁇ wn)
  • the policy gradient method is a method in which several episodes are set as one evaluation range and parameters are updated.
  • one episode is defined as one step, which is the task of pushing the cart once, and the number of steps until the pole falls down (end) represents the number of operations, and is one episode.
  • the maximum number of steps is set to 200, and the episode is terminated. Therefore, the maximum number of steps for one episode is set to 200, and the average number of steps for several episodes is the average number of steps that the pole can withstand without falling.
  • the evaluation range is set for each of the past 100 episodes, the average number of steps is recorded, and the progress of learning is monitored and used as an update parameter for the reward function.
  • the initial value is set to 0 or some value is started, but depending on the initial value and update status of the weighting parameter wn, no matter how long the learning takes, the target number of steps 200 will not be reached.
  • a problem occurs.
  • a random value is set as the initial value of the weighting parameter w, and the parameter w is updated by adding a moderate random value N midway through with the aim of causing some degree of random behavior.
  • a method for maximizing the reward has been proposed, and is known as the ⁇ -greedy algorithm.
  • a flowchart of the conventional policy gradient method described above is shown in FIG.
  • FIG. 30 shows an example of the results of implementing the conventional policy gradient method described above into the CartPole inverted pendulum simulation.
  • a program using the weighting parameters of the five examples shown in FIG. 31 is implemented in the CartPole inverted pendulum simulation, it is possible to keep the pole standing for more than 200 steps from the beginning without falling over.
  • the weighting parameters of the five examples obtained from the conventional policy gradient method there is a drawback that it is extremely difficult to understand the concept of being able to keep a pole standing without falling over.
  • answer data having a predetermined relationship formed by combining four-dimensional state variables is set as D4.
  • the expected value of D4 can be a constant 1. Therefore, the five-dimensional input elements can be placed as (D0, D1, D2, D3, 1).
  • YY/W product of power values
  • the target value YY can be expressed as (Equation 16).
  • Equation 17 When both sides of (Equation 16) are expressed as log values, (Equation 17) is obtained.
  • step SS1 perform the initial setting (step SS1).
  • the maximum number of steps in one episode is set to 200
  • the number of episodes used for average value evaluation is set to 100
  • the number of batches of the array of deviations N for updating the power exponent Pn is set to 10.
  • the setting value of the 4th-dimensional deviation N is set to the initial value of 0, which is a random number value, in the conventional policy gradient method, but the deviation used in the power search method is set to the update amount ⁇ pn for updating the exponent.
  • the update amount ⁇ pn is ⁇ 1, as shown in the table in Figure 33.
  • the method of updating the power index Pn is expressed by equation (18), and is updated by adding the deviation N[i] and the partial differential ⁇ Rt/ ⁇ Pn of the reward (step SS3). (Number 18) Pn ⁇ Pn+N[i]+ ⁇ ( ⁇ Rt)/( ⁇ Pn)
  • the CartPole is released from its initial state (the state in which the bar stands vertically) (step SS5).
  • step SS6 push the cart once to the left.
  • state variables (d0, d1, d2, d3) are output from CartPole and stored (step SS7).
  • the output value x of the neural network is calculated from equation (11) (step SS8).
  • step SS9 based on the output value x, when x>0, push the cart to the right. When x ⁇ 0, push the cart to the left (step SS9).
  • step SS10 By pushing the cart, the state variables (d0, d1, d2, d3) and a signal indicating whether the bar has fallen down are output and stored (step SS10).
  • step SS12 to SS13 the batch number loop i is increased by 1, and the value of the past 10 rewards Rt is stored.
  • step which is a value representing the number of steps that did not fall within one episode, is stored for the past 100 times, and the average value stepmean is calculated and stored (steps SS12 to SS13).
  • step SS14 it is checked whether the number of batches of loop i reaches 10 batches. If the number of batches has not reached 10, the process returns to step SS4. When the number of batches reaches 10, the value of stepmean is checked, and if stepmean ⁇ 195 is satisfied, the process ends (step SS15).
  • stepmean ⁇ 195 Rta obtained by normalizing the past 10 rewards Rt is calculated and stored (step SS16). The inner product of Rta and the deviation N that updates the power index Pn is calculated and stored as a partial differential value ⁇ Rt/ ⁇ Pn, and then the process returns to step SS2 (step SS17).
  • FIG. 34 shows an example of the results of implementing the algorithm using the above-mentioned power search method into the CartPole inverted pendulum simulation.
  • the number of episodes is 1/10 or less, that is, the search for a function in which the bar does not fall over is completed in a short time.
  • the horizontal axis shows the chronological order of pushing the cart, that is, the step number.
  • the value of YY/W (product of power values) is plotted on the vertical axis, and step group A, which pushed the cart to the right, is shown as a ⁇ , and step group B, which pushed the cart to the left, is shown as a diamond.
  • the value of YY/W (product of power values) is the base for converting the four-dimensional state variables (d0, d1, d2, d3) into power values (D0, D1, D2, D3). is 10
  • the five-dimensional input elements input to the neural network are (D0, D1, D2, D3, 1)
  • the output value is based on equations (5) and (15) that maximize the discrimination rate. obtained as.
  • a threshold value that determines the value of YY/W (product of power values) and set it as variable A
  • the pole will move left and right using threshold value A of YY/W (product of power values).
  • this patent can narrow down the input data necessary to obtain the answer. In other words, by removing unnecessary (surplus) input data, it is possible to eliminate calculation time and reduce the number of sensors and the like required as means for obtaining input data.
  • an educational version assembly kit equipped with various sensors, motors, communication and control microcomputers, and building blocks can be used to assemble an inverted pendulum device, and the rod can be stopped without falling, or the rod can be You can learn AI (Artificial Intelligence) through the experience of controlling left and right.
  • AI Artificial Intelligence
  • relational equations may derive formulas or laws, or they may be provided in a form similar to that, giving the student a sense of excitement as if they are discovering something, which motivates the learner.
  • a control formula is provided that learns the control method and incorporates the product of power values.
  • a simple control formula can be obtained, and the origin of the formula and control method are easy to understand. In some cases, this may lead to the reduction of unnecessary input data components (sensors, etc.) that have a small contribution to control, or may lead to the discovery of new control methods.
  • the stability of the control formula can be evaluated and optimized in real time. For example, by learning the control status of the same device in different environments, and updating the control formula to maintain a good control status if the operation is deteriorating, so-called misalignment correction is performed in real time, providing feedback in pursuit of higher stability. Control can be automated.
  • the obtained control formula is stored in advance in the memory of a separate computer that is separate from the arithmetic unit that calculated it, and the stored control formula and data input from a separate sensor etc. are used to perform specific calculations. It is possible to control a controlled device such as a motor according to the result.
  • the power-additional neural network can handle non-linearity, and can be applied as is without any changes to the basic structure of the power-additional neural network in either one of Figures 6 and 8, and the truth/false
  • a simple discriminant output formula can be derived that divides the output of by a single straight line.
  • the output data d3 of the exclusive OR (EXOR) shown in the truth table of three inputs (d0, d1, d2) shown in FIG. 41 is the four-dimensional input value (D0, D1, D2, D3) and perform discriminant learning for output classification using a power index addition neural network, as shown in Figure 42, a discriminant with power indexes (-1, 1, -1, 2) is obtained. is derived and correctly divided using one straight line (threshold value) 5. Note that the explanation of the exclusive OR (EXOR) of two inputs is omitted because it is too easy to solve.
  • Figure 43 is a table of binary four-dimensional input data (d0, d1, d2, d3) and its decimal output value d4 of 0 to 9. If this is made into a five-dimensional input value (D0, D1, D2, D3, D4) with a base of 10 and the basic structure of the exponent additive neural network of either Figure 6 or Figure 8 is applied as is to search for a formula with exponents between -10 and 10, an output formula with exponents (-8, -4, -2, -1, 1) and an output value of 1 will be derived, as shown in Figure 44.
  • the exponent additive addition type neural network is a calculation method with a wide range of applications that can derive relational expressions and discriminants without modifying its structure, and it provides integrated circuits such as ICs and microcomputers.
  • the device when installed in a discrimination device and a control device, the device can be made faster, smaller, and consume less power.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

べき指数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することを可能とする演算装置を提供する。 演算装置は、入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力する。入力層は、複数の入力データにそれぞれ対応付けられて、複数の入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)を、学習パラメータとして有する。出力層は、入力層に入力された複数の入力データが複数のべき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)に基づいて、出力値(y=f(YY0))を出力する。

Description

演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置
 本発明は、演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置に関する。
 近年、機械学習は様々な分野に適用され、特に、ニューラルネットワーク構造は回帰問題及び分類問題のいずれにも幅広く応用されている。このようなニューラルネットワーク構造では、入力層に入力された複数の入力データに対して重み係数がそれぞれ乗算され、それらの総和を算出した結果に基づく出力値が出力層から出力される(例えば、特許文献1、特許文献2等参照)。
特開平7-129535号公報 特開平7-141315号公報
 上記の特許文献1、特許文献2等に記載されたような従来のニューラルネットワーク構造は、重み係数を調節することで機械学習が行われるが、複数の入力データに対する「べき指数」は、例えば、「1」等のように固定されている。そのため、ニューラルネットワーク構造が適用される現象として、入力データに対するべき指数が事前に判明し、その値に固定されているのであれば、機械学習時にその現象を適切に規定するような重み係数に収束すると考えられる。
 しかしながら、自然現象、経済現象、社会現象等の様々な現象において、複数の入力データに対するべき指数が事前に判明していない場合や、複数の入力データがべき指数によりべき乗されたべき乗値の積に応じて出力値が算出される場合も当然に想定される。このような場合、従来のニューラルネットワーク構造では、特定の入力データの組み合わせに対してはその現象を規定する重み係数に近似できたとしても、別の入力データの組み合わせに対しては出力データの誤差が大きくなるため、機械学習にて適切な重み係数に収束させることが難しいという構造的な問題点があった。換言すると、従来のニューラルネットワーク構造では、モデル化の対象として取り扱う現象が、入力データに対するべき乗値の積を含む場合、入力(入力データ)と出力(出力値)との間に成り立つ相関関係を精度良く導出することができないという問題点があった。
 本発明は、上述した課題に鑑み、べき指数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することを可能とする演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置を提供することを目的とする。
 上記目的を達成するために、本発明の一態様に係る演算装置は、
 入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力する演算装置であって、
 前記入力層は、
  複数の前記入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)を、前記ニューラルネットワーク構造の学習パラメータとして有し、
 前記出力層は、
  前記入力層に入力された複数の前記入力データが複数の前記べき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)に基づいて、前記出力値(y=f(YY0))を出力する。
 本発明の一態様に係る演算装置が用いるニューラルネットワーク構造によれば、入力層が、複数の入力データをそれぞれべき乗する複数のべき指数を、ニューラルネットワーク構造の学習パラメータとして有し、出力層が、入力層に入力された複数の入力データが複数のべき指数によりそれぞれべき乗された複数のべき乗値の積に基づいて出力値を出力する。したがって、演算装置は、べき指数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することができる。
 上記以外の課題、構成及び効果は、後述する発明を実施するための形態にて明らかにされる。
本発明の第1の基本形態に係る演算装置により用いられるニューラルネットワーク構造100A及びその基本原理を説明する図である。 本発明の第1の基本形態に係る演算装置により用いられるニューラルネットワーク構造100B及びその基本原理を説明する図である。 本発明の第3の基本形態に係る演算装置により用いられるニューラルネットワーク構造100C及びその基本原理を説明する図である。 本発明の第1乃至第3の基本形態に係るニューラルネットワーク構造を用いた演算装置1の構成を示すブロック図である。 本発明の第1の実施形態に係るニューラルネットワークの構造を示す図である。 本発明の第1の実施形態に係るべき指数追加加算型ニューラルネットワークの構造を示す図である。 本発明の第1の実施形態に係るニューラルネットワーク装置による、べき指数の最適解を探索する方法を示すフローチャートである。 本発明の第1の実施形態に係る多層型のニューラルネットワークの構造を示す図である。 本発明の第2の実施形態に係る差分マトリックス、積入力マトリックスの構成を示す図である。 本発明の第2の実施形態に係る差分探索法を用いて最適解を探索する方法を示すフローチャートである。 本発明の実施例1に係る9つの惑星名と2つの測定データ(太陽からの平均距離、公転周期)を一覧にした表である。 本発明の実施例1に係る変動係数を出力値に、横軸にD0のべき指数p0、縦軸にD1のべき指数p1として(p0、p1)を座標とした出力図である。 本発明の実施例1に係る変動係数の出力値をlog値(常用対数)に変換した3次元のワイヤフレームプロット図である。 本発明の実施例1に係る9つの惑星とYY/Wの値を一覧にした表である。 本発明の実施例1に係るYY/W=D0^(-5)*D1^(3)の式が答えとなるデータに変えたときの変動係数の出力値をlog値(常用対数)に変換した3次元のワイヤフレームプロット図である。 本発明の実施例2に係るヘロンの公式の発見に適用する10個の3角形の絵の図である。 本発明の実施例2に係る10個の3角形の三辺の寸法と面積を一覧にした表である。 本発明の実施例2に係る積入力要素である3辺計算式を一覧にした表である。 本発明の実施例2に係る、べき乗探索法に入力する5次元入力データテーブルを一覧にした表である。 本発明の実施例2に係る10個の3角形(SN列)とYY/Wの値を一覧にした表である。 本発明の実施例2に係る10個の3角形の偶数番号の面積Sを1.0倍、奇数番号の面積を0.9倍の値にし、それぞれ群A、群Bと2分類にした表である。 本発明の実施例2に係るニューラルネットワークの出力値Z-Actの3角形番号順のグラフを表す図である。 本発明の実施例2に係るYY/Wの3角形番号順のグラフを表す図である。 本発明の実施例4に係るCartPole倒立振子の図である。 本発明の実施例4に係るCartPole倒立振子の出力を一覧にした表である。 本発明の実施例4に係るCartPole倒立振子の状態変数からとりうる行動を一覧にした表である。 本発明の実施例4に係る従来型ニューラルネットワークの構造を示す図である。 本発明の実施例4に係るtエピソード目の終了時に与える報酬を一覧にした表である。 本発明の実施例4に係る従来型の方策勾配法を用いたフローチャートである。 本発明の実施例4に係る従来型の方策勾配法をCartPole倒立振子シミュレーションへ実装した結果のステップ数推移グラフを表す図である。 本発明の実施例4に係る従来型の方策勾配法をCartPole倒立振子シミュレーションへ実装し、棒が倒れずに耐えることができた重み付けパラメータの5例を一覧にした表である。 本発明の実施例4に係る、べき乗探索法を用いて制御する強化学習アルゴリズムのフローチャートである。 本発明の実施例4に係る、べき指数を更新させる更新量Δpnを偏差Nの配列に設定した表である。 本発明の実施例4に係る、べき乗探索法をCartPole倒立振子シミュレーションへ実装した結果のステップ数推移グラフを表す図である。 本発明の実施例4に係る、べき乗探索法をCartPole倒立振子シミュレーションへ実装し、棒が倒れずに耐えることができた、べき指数値の5例を一覧にした表である。 本発明の実施例4に係る、YY/WのステップNo.順(台車を押した時系列順)のグラフを表す図である。 本発明の実施例4に係る、閾値Aの値を変化させたときの台車の動作を纏めた表である。 本発明の実施例4に係る、入力データを棒(Pole)の角度と角速度に絞り、べき乗探索法をCartPole倒立振子シミュレーションへ実装し、棒が倒れずに耐えることができた、べき指数値の3例を一覧にした表である。 本発明の実施例4に係る、台車(Cart)を左右に動かす制御式をCartPole倒立振子シミュレーションへ実装し、応用動作させた絵である。 本発明の実施例5に係る、2入力排他論理和(EXOR)の真理値表である。 本発明の実施例5に係る、3入力排他論理和(EXOR)の真理値表である。 本発明の実施例5に係る、3入力排他論理和(EXOR)のべき指数追加加算型ニューラルネットワークを用いた判別学習結果の表である。 本発明の実施例5に係る、2進数と10進数の関係を表す表である。 本発明の実施例5に係る、2進数と10進数に成り立つ関係式をべき指数追加加算型ニューラルネットワークを用いて数式探索した結果の表である。
 以下、本発明の基本原理を示す「基本形態」と、その基本原理を応用して本発明を実施するための「実施形態」とに分けて、図面を参照しつつ説明する。以下では、本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
(第1の基本形態)
 図1は、本発明の第1の基本形態に係る演算装置により用いられるニューラルネットワーク構造100A及びその基本原理を説明する図である。
 演算装置は、入力層110A及び出力層120Aを少なくとも含むニューラルネットワーク構造100Aを用いて、入力層110Aに入力される複数の入力データDn=(D0,D1,…,DN)に対して出力層120Aから出力値yを出力する装置である。
 図1に示すニューラルネットワーク構造100Aは、N+1次元(Nは1以上の自然数)のニューロン(ノード)を有する入力層110Aと、1個のニューロン(ノード)と有する出力層120Aとから構成される。入力層110AのN個のニューロンと、出力層120Aの1個のニューロンとの間は、N+1次元のシナプス(エッジ)によりそれぞれ接続される。なお、各シナプスには、N+1次元の重み付けパラメータwn=(w0,w1,w2,…,wN)がそれぞれ対応付けられていてもよく、本基本形態では、N+1次元の重みwnが1である場合について説明する。
 入力層110AのN個のニューロンは、N+1次元の入力データDnにそれぞれ対応付けられて、N+1次元の入力データDnがそれぞれ入力される。また、入力層110Aは、N+1次元の入力データDnをそれぞれべき乗するN+1次元のべき指数pn=(p0,p1,…,pN)を、ニューラルネットワーク構造100Aの学習パラメータとして有する。なお、N+1次元の入力データDnの少なくとも1つは、複素数で表されるデータでもよい。
 出力層120Aは、入力層110Aに入力されたN+1次元の入力データDnがN+1次元のべき指数pnによりそれぞれべき乗されたN+1次元のべき乗値Dnpn=(D0p0,D1p1,…,DNpN)の積YY0(=D0p0*D1p1*…*DNpN)に基づいて、出力値y(=f(YY0))を出力する。したがって、出力層120Aは、下記の(数1-1)、(数1-2)で示すように、出力値yを出力する。なお、「*」は、積の記号を表す。
(数1-1)
 YY0=D0p0*D1p1*…*DNpN
(数1-2)
 y=f(YY0)
 ただし、上記の式における各パラメータは、下記の通りである。
  Dn(n=0,1,…,N) :入力データ
  pn(n=0,1,…,N) :べき指数(学習パラメータ)
  Dnpn(n=0,1,…,N):べき乗値
  YY0          :べき乗値の積
  y            :出力値
 学習パラメータとしてのN+1次元のべき指数pnは、N+1次元の入力データDnと、そのN+1次元の入力データDnに対応付けられた教師データTとを含む学習データを複数組用いることで学習されるパラメータである。
 N+1次元のべき指数pnは、学習データに含まれるN+1次元の入力データDnを入力層110Aに入力したときに出力層120Aから出力される出力値yと、学習データに含まれる教師データTとの間の差分(誤差)が小さくなるように調整される。
 演算装置は、上記のように、学習データにより学習パラメータを調整(探索)する一連の工程を所定の回数だけ反復実施したときや上記の差分が所定の許容値より小さくなったときに、所定の学習終了条件が満たされたと判定し、学習パラメータに対する学習を終了する。これにより、学習パラメータとしてのN+1次元のべき指数pnを有する学習済みのニューラルネットワーク構造100Aが実現される。演算装置は、出力値が未知のN+1次元の入力データDnを学習済みのニューラルネットワーク構造100Aの入力層110Aに入力することで、当該N+1次元の入力データDnに対する出力値yを出力層120Aから出力する。
 なお、演算装置は、入力層110Aに入力する前の入力データに対して所定の前処理(正規化、標準化、ワンホットエンコーディング等)を施してもよいし、出力層120Aから出力された後の出力データに対して所定の後処理を施してもよい。
 本基本形態に係る演算装置が用いるニューラルネットワーク構造100Aによれば、入力層110Aが、複数の入力データをそれぞれべき乗する複数のべき指数を、ニューラルネットワーク構造100Aの学習パラメータとして有し、出力層120Aが、入力層110Aに入力された複数の入力データが複数のべき指数によりそれぞれべき乗された複数のべき乗値の積に基づいて出力値を出力する。したがって、演算装置は、べき指数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することができる。
(第2の基本形態)
 図2は、本発明の第1の基本形態に係る演算装置により用いられるニューラルネットワーク構造100B及びその基本原理を説明する図である。
 第2の基本形態に係るニューラルネットワーク構造100B(図2)は、第1の基本形態(図1)と同様に、入力層110B及び出力層120Bを少なくとも含むものであるが、入力層110Bにて対数計算を行い、出力層120Bにて真数(逆対数)計算を行う点で第1の基本形態と相違する。以下、第2の基本形態に係るニューラルネットワーク構造100Bの特徴部分を中心に説明する。
 入力層110BのN個のニューロンは、第1の基本形態と同様に、N+1次元の入力データDn=(D0,D1,…,DN)にそれぞれ対応付けられて、N+1次元の入力データDnがそれぞれ入力される。また、入力層110Bは、N+1次元の入力データDnをそれぞれべき乗するN+1次元のべき指数pn=(p0,p1,…,pN)を、ニューラルネットワーク構造100Bの学習パラメータとして有する。そして、入力層110Bは、N+1次元の入力データDnを対数dn=(d0,d1,…,dN)にそれぞれ変換し、N+1次元の入力データの対数dnとN+1次元のべき指数pnとをそれぞれ乗算したN+1次元の乗算値dn*pn=(d0*p0,d1*p1,…,dN*pN)を出力層120Bに出力する。なお、N+1次元の入力データDnの少なくとも1つは、複素数で表されるデータでもよい。
 出力層120Bは、N+1次元の乗算値dn*pnに対する総和(d0*p0+d1*p1+…+dN*pN)を真数(based0*p0+d1*p1+…+dN*pN)に変換し、その真数を、N+1次元のべき乗値の積として、出力値y(=f(YY0))を出力する。したがって、出力層120Bは、下記の(数2-1)、(数2-2)で示すように、出力値yを出力する。
(数2-1)
 YY0=based0*p0+d1*p1+…+dN*pN
   (=D0p0*D1p1*…*DNpN
(数2-2)
   y=f(YY0)
 ただし、上記の式における各パラメータは、下記の通りである。
  baseは、1を除く正の数
  Dn=basedn(n=0,1,…,N):入力データ
  pn(n=0,1,…,N)      :べき指数(学習パラメータ)
  Dnpn(n=0,1,…,N)     :べき乗値
  YY0               :べき乗値の積
  y                 :出力値
 学習パラメータとしてのN+1次元のべき指数pnは、第1の基本形態と同様に、N+1次元の入力データDnと、そのN+1次元の入力データDnに対応付けられた教師データTとを含む学習データを複数組用いることで学習されるパラメータである。
 N+1次元のべき指数pnは、学習データに含まれるN+1次元の入力データDnを入力層110Bに入力したときに出力層120Bから出力される出力値yと、学習データに含まれる教師データTとの間の差分(誤差)が小さくなるように調整される。
 演算装置は、上記のように、学習データにより学習パラメータを調整(探索)する一連の工程を所定の回数だけ反復実施したときや上記の差分が所定の許容値より小さくなったときに、所定の学習終了条件が満たされたと判定し、学習パラメータに対する学習を終了する。これにより、学習パラメータとしてのN+1次元のべき指数pnを有する学習済みのニューラルネットワーク構造100Bが実現される。演算装置は、出力値が未知のN+1次元の入力データDnを学習済みのニューラルネットワーク構造100Bの入力層110Bに入力することで、当該N+1次元の入力データDnに対する出力値yを出力層120Bから出力する。
 本基本形態に係る演算装置が用いるニューラルネットワーク構造100Bによれば、入力層110Bは、複数の入力データを対数にそれぞれ変換し、その変換後の複数の対数と複数のべき指数とをそれぞれ乗算した複数の乗算値を出力層120Bに出力し、出力層120Bは、複数の乗算値に対する総和を真数に変換し、その変換後の真数に基づいて出力値を出力する。したがって、演算装置は、べき指数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することができる。
(第3の基本形態)
 図3は、本発明の第3の基本形態に係る演算装置により用いられるニューラルネットワーク構造100C及びその基本原理を説明する図である。
 第3の基本形態に係るニューラルネットワーク構造100C(図3)は、第1の基本形態(図1)と同様に、入力層110C及び出力層120Cを含むものであるが、入力層110Cと出力層120Cとの間に隠れ層130をさらに含む点で第1の基本施形態と相違する。以下、第3の基本形態に係るニューラルネットワーク構造100Cの特徴部分を中心に説明する。
 入力層110CのN個のニューロンは、第1の基本形態と同様に、N+1次元の入力データDn=(D0,D1,…,DN)にそれぞれ対応付けられて、N+1次元の入力データDnがそれぞれ入力される。また、入力層110Cは、N+1次元の入力データDnをそれぞれべき乗するN+1次元のべき指数pn=(p0,p1,…,pN)を、ニューラルネットワーク構造100Cの学習パラメータとして有する。なお、N+1次元の入力データDnの少なくとも1つは、複素数で表されるデータでもよい。
 隠れ層130は、N+1次元の入力データDnが学習パラメータとしてのN+1次元の重み付けパラメータwn=(w0,w1,…,wN)を介してそれぞれ入力されて、下記の式(数3-1)で規定される目標値YY1を出力層120Aに出力する第1の隠れノード131と、N+1次元の入力データDnがN+1次元の重み付けパラメータwnを介してそれぞれ入力されるともに、学習パラメータとしてのバイアスパラメータbが入力されて、下記の式(数3-2)で規定される加算型演算出力BYAを前記出力層120Aに出力する第2の隠れノード132とを有する。
 出力層120Cは、目標値YY1と加算型演算出力BYAとに基づいて、出力値y(=f(YY1,BYA))を出力する。
(数3-1)
 YY1=D0p0*D1p1*…*DNpN*W0*W1*…*WN
(数3-2)
 BYA=B*(base)(SIGMA[n=0→N](wn*pn*dn))
 ただし、上記の式における各パラメータは、下記の通りである。
 また、SIGMAの表記は数学記号における総和を意味するギリシャ文字を表している。
  baseは、1を除く正の数
  Dn=basedn(n=0,1,…,N):入力データ
  pn(p0,p1,…,pN)     :べき指数
  Dnpn               :べき乗値
  wn=logbaseWn(n=0,1,…,N):重み付けパラメータ
 (Wn=basewn
  b=logbaseB          :バイアスパラメータ
 (B=base
  YY1                :目標値
  BYA                :加算型演算出力
  y                  :出力値
 学習パラメータとしてのN+1次元のべき指数pn、N+1次元の重み付けパラメータwn、及び、バイアスパラメータbは、複数の入力データDnを学習データとして複数用いることで学習されるパラメータである。
 N+1次元のべき指数pn、N+1次元の重み付けパラメータwn、及び、バイアスパラメータbは、学習データとしてのN+1次元の入力データDnを入力層110Cに入力したときに第1の隠れノード131から出力される目標値YY1と第2の隠れノード132から出力される加算型演算出力BYAとの間の差分(|YY1-BYA|)が小さくなるように調整される。
 演算装置は、上記のように、学習データにより学習パラメータを調整(探索)する一連の工程を所定の回数だけ反復実施したときや上記の差分が所定の許容値より小さくなったときに、所定の学習終了条件が満たされたと判定し、学習パラメータに対する学習を終了する。これにより、学習パラメータとしてのN+1次元のべき指数pn、N+1次元の重み付けパラメータwn、及び、バイアスパラメータbを有する学習済みのニューラルネットワーク構造100Cが実現される。演算装置は、出力値が未知のN+1次元の入力データDnを学習済みのニューラルネットワーク構造100Cの入力層110Cに入力することで、当該N+1次元の入力データDnに対する出力値yを出力層120Cから出力する。
 本基本形態に係る演算装置が用いるニューラルネットワーク構造100Cによれば、隠れ層130が、複数の入力データが複数の重み付けパラメータを介してそれぞれ入力されて、上記の式(数3-1)で規定される目標値を出力層に出力する第1の隠れノードと、複数の入力データが複数の重み付けパラメータを介してそれぞれ入力されるともに、バイアスパラメータが入力されて、上記の式(数3-2)で規定される加算型演算出力を出力層に出力する第2の隠れノードとを有し、出力層120Cが、目標値と加算型演算出力とに基づいて、出力値を出力する。したがって、演算装置は、べき指数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することができる。
(基本形態の装置構成)
 図4は、本発明の第1乃至第3の基本形態に係るニューラルネットワーク構造を用いた演算装置1の構成を示すブロック図である。
 演算装置1は、第1乃至第3の基本形態のいずれかに相当するニューラルネットワーク構造100A~100Cを有する学習モデルを生成する機械学習装置1Aと、機械学習装置1Aにより生成された学習モデルを用いて判別対象の判別データBBに対する判別結果AAを出力する判別装置1Bとして機能する。機械学習装置1Aは、学習フェーズにて用いられ、判別装置1Bは、判別フェーズ(推論フェーズ)にて用いられる。
 演算装置1は、その構成要素として、判別器学習部2、学習パラメータ記憶部3、学習データ記憶部4、学習データ処理部5、判別結果処理部6、及び、判別データ取得部7を備えて構成される。
 判別器学習部2は、ニューラルネットワーク構造100A~100Cを有する学習モデルを用いて学習パラメータの学習を行う学習部20と、学習中又は学習済みの学習パラメータを反映させた学習モデルを用いて判別データに対する判別結果を出力する判別処理部21とを備える。第1及び第2の基本形態に係る学習パラメータは、N+1次元のべき指数pnである。第3の基本形態に係る学習パラメータは、N+1次元のべき指数pn、N+1次元の重み付けパラメータwn、及び、バイアスパラメータbである。
 学習パラメータ記憶部3は、学習フェーズにおいて学習部20により学習が行われた学習結果として、学習パラメータを記憶する。学習パラメータ記憶部3には、学習パラメータの初期化処理により学習パラメータの初期値が記憶され、学習部20で学習が繰り返し行われることにより学習パラメータが逐次更新される。そして、学習パラメータ記憶部3には、学習部20による学習が終了したときの学習パラメータが記憶され、判別フェーズ(推論フェーズ)にて判別処理部21により読み出される。
 学習データ記憶部4は、複数の入力データを少なくとも含む学習データを複数組記憶する。第1及び第2の基本形態に係る学習データは、入力データと、その入力データに対応付けられた教師データとを含む。第3の基本形態に係る学習データは、入力データのみを含む。教師データは、例えば、判別結果に対応するデータであり、判別結果として、例えば、正常を「0」及び異常を「1」で表す場合には、「0」か「1」が設定される。  
 学習部20は、学習データ記憶部4に記憶された学習データを、学習データ処理部5を介して学習モデルに入力し、例えば、損失関数が最小となるように学習パラメータの学習を行う。すなわち、学習部20は、判別処理部21から出力された判別結果と、学習データ処理部5から読み出した学習データとが入力されて、これらのデータを用いて学習を行い、学習パラメータ記憶部3に学習パラメータを記憶する。
 判別処理部21は、学習フェーズにて、学習データ処理部5により取得された学習データを、初期値又は学習中の学習パラメータを反映させた学習モデルに入力することで、当該学習モデルからの出力値に基づいて判別結果を学習部20及び判別結果処理部6に出力する。
 また、判別処理部21は、判別フェーズ(推論フェーズ)にて、判別データ取得部7により取得された判別データを、学習済みの学習パラメータを反映させた学習モデルに入力することで、当該学習モデルからの出力値(例えば、特徴量等)を判別結果処理部6に出力する。
 学習データ処理部5は、学習フェーズにて、学習データ記憶部4から学習データを読み出して所定の前処理を施した後、その学習データを学習部20及び判別処理部21に送る。その際、学習データ処理部5は、判別結果処理部6からの要求に応じて、学習データを学習部20及び判別処理部21に送る。
 判別結果処理部6は、判別処理部21から出力された出力値を受け取り、判別結果AAとして、例えば、ディスプレイ等の所定の出力装置に出力する。また、判別結果処理部6は、学習フェーズにて、判別結果に基づいて変動係数や判別率等を計算し、その計算結果に応じて、学習データを学習部20及び判別処理部21にさらに送るように、学習データ処理部5に要求する。
 判別データ取得部7は、判別フェーズ(推論フェーズ)にて、所定の入力装置から判別データBBを受け付けて所定の前処理を施した後、その判別データBBを判別処理部21に送る。
 上記構成を有する演算装置1は、汎用又は専用のコンピュータにより構成される。なお、機械学習装置1A及び判別装置1Bは、別々のコンピュータにより構成されていてもよい。その場合、機械学習装置1Aは、学習データ記憶部4、学習部20及び学習パラメータ記憶部3を少なくとも備えていれればよい。また、判別装置1Bは、判別データ取得部7及び判別処理部21を少なくとも備えていれればよい。
 演算装置1の構成要素のうち、学習パラメータ記憶部3、及び、学習データ記憶部4は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等の記憶装置(内蔵型、外付け型、ネットワーク接続型等)で構成されてもよいし、USBメモリ、記憶メディア再生装置で再生可能な記憶メディア(CD、DVD、BD)等で構成されてもよい。また、演算装置1の構成要素のうち、判別器学習部2、学習データ処理部5、判別結果処理部6及び判別データ取得部7は、例えば、1又は複数のプロセッサ(CPU、MPU、GPU等)を有する演算装置で構成される。
(プログラム)
 演算装置1は、各種の記憶装置や記憶メディアに記憶されたプログラムや外部からネットワークを介してダウンロードにより取得されたプログラムを実行することで、判別器学習部2、学習データ処理部5、判別結果処理部6及び判別データ取得部7として機能するものでもよい。
(集積回路)
 第1乃至第3のいずれかの相当するニューラルネットワーク構造100A~100Cは、集積回路により構成されてもよい。その場合、集積回路は、入力層及び出力層を構成する入出力部と、学習パラメータを記憶する記憶部と、入力層に入力される複数の入力データ及び記憶部に記憶された学習パラメータに基づいて、出力層から前記出力値を出力するための演算を行う演算部とを備える。集積回路は、例えば、FPGA、ASIC等により構成され、これら以外のハードウェアが用いられてもよい。
(第1の実施形態)
 最初に、本発明に用いるニューラルネットワークの基本構造(以下、加算型ニューラルネットワークと呼ぶ)について図面を参照して説明する。図5は加算型ニューラルネットワークの基本構造を示す図である。加算型ニューラルネットワークは入力層、隠れ層及び出力層によって構成され、各層は複数のノードを有している。また、加算型ニューラルネットワークは、入力層と中間層とのノード間および、隠れ層と出力層とのノード間に任意の重みを設定してノード間の結合状態を調整することにより様々な問題(分類問題あるいは回帰問題)を解くことができる判別器として機能する。
 ここで、図5の隠れ層の演算式YY(目標値)、BYA(加算型演算出力)について説明する。但し、図5は便宜上4次元入力であるが、説明はN次元入力として説明する。隠れ層のYY、BYAは下記式(数1)、(数2)、(数3)で表すことができる。ただし、第1の特徴量wn、第2の特徴量bの底(base)のべき乗をそれぞれWn,Bとし、N次元の入力データ要素Dn=(D0,D1,・・,Dn,・・,D(N-1))のlog値をdn=(d0,d1,・・,dn,・・,d(N-1))とする。損失関数LをYY(目標値)とBYA(加算型演算出力)の差分式|YY-BYA|とおくと、前記損失関数Lを最小化する演算により、前記重み付けパラメータwnと前記バイアスパラメータbの値を抽出すること、を特徴とする加算型ニューラルネットワーク演算方法を提供できる。ここで、べき乗を表す記号は ^ 、積の記号は * を用いた。
(数1)
YY=D0*D1*・・・*D(N-1)*W0*W1*・・・*W(N-1)
(数2)
BYA=(base)^(SIGMA[n=0→N-1](wn*dn+b))
(数3)
BYA=B*(base)^(SIGMA[n=0→N-1](wn*dn))
 続いて、関係式を探索し発見する方法の発明である第1の実施形態について説明する。図6はこの発明に用いる、べき指数追加加算型ニューラルネットワークの基本構造を示す図である。前述、図5との違いは、入力に1次元追加したN+1次元にしたことと、第3の特徴量として、べき指数Pn=(p0,p1,・・,pn,・・,p(N-1),pN)を新たに設けて入力データ要素に繋いだところにあり、次にその演算方法について説明する。
 N+1次元のデータをDn=(D0,D1,・・,Dn,・・,D(N-1),DN)と表現し、べき指数Pn=(p0,p1,・・,pn,・・,p(N-1),pN)を乗じてDn^Pn=(D0^po,D1^p1,・・,Dn^pn,・・,D(N-1)^p(N-1),DN^pN)と表現する。また、W=W0*W1*・・・*WNとおくと、前述の(数1)、(数3)式から(数4)及び、(数5)、(数6)式が導かれる。(数5)式YY/Wは入力データ要素Dnをべき指数Pnでべき乗した各要素どうしの積で表されることから、「べき乗値の積」と表現する。また、データの属する群が共通の特徴量wnを持つとき、それらのべき乗積であるWの値も共通であることから、YY/W(べき乗値の積)が定数に近似できるとき、YY(目標値)もまた定数に近似される。従って、YY(目標値)が定数に近似できる値を探索することは、損失量|YY-BYA|が最小となる特徴量wn、b及び、べき指数Pnを探索することに等しく、得られたべき指数から最適な関係式を得ることができる。
(数4)
YY=D0*D1*・・・*D(N)*W0*W1*・・・*WN
(数5)
YY/W=D0^p0*D1^p1*・・・*DN^pN
(数6)
BYA=B*(base)^(SIGMA[n=0→N](wn*pn*dn))
 ここで、べき指数Pn=(p0,p1,・・,pn,・・,p(N-1),pN)をパラメータに振って探索するとき、出力値がどの程度、所定の目標に近づいたかを表す評価関数に、べき指数毎の損失量|YY-BYA|を用いて比較すると、損失量の大きさは、べき指数の値で大きく変化してしまう問題がある。対策として、評価関数は標準偏差を平均値で規格化した変動係数を用いて、べき指数をパラメータとしたそれぞれの平均値に対する相対的なばらつきの大きさを評価することで防止できる。
 また、評価関数に判別率を用いて、2群以上に分けた分類問題として解くことができる。
 続いて、前述のべき指数追加加算型ニューラルネットワークを用いて、べき指数の最適解を導く方法(以下、べき乗探索法と呼ぶ)について図4を参照して説明する。
 判別器学習部2は、ニューラルネットワークを学習し、学習したニューラルネットワークを用いた判別を行う。その構成として、判別学習部2は、学習部20、判別処理部21を備える。
 学習部20は、損失関数が最小となるようにニューラルネットワークを学習する。すなわち、学習部20は判別処理部21から出力された判別結果と学習データ処理部5から読み出した学習データを入力すると、これらのデータを用いて学習を行い、学習データ記憶部3に学習パラメータを記憶する。
 判別処理部21は、学習パラメータ記憶部3から重みとバイアス、学習データを入力すると、これらを用いた判別結果を判別結果処理部6へ送る。
 判別結果処理部6は判別処理部21から出力された判別結果を受け取ると、べき指数をパラメータとした学習データの入力を学習データ処理部5へ要求する。受け取った判別結果は変動係数の最小順または、判別率の最大順に並べ替える等、装置外部のディスプレイなどの所定の出力装置へ出力する。
 学習データ記憶部3は、ニューラルネットワークにおけるノード間の重みとバイアス及び学習データ処理部5の学習データを記憶する記憶部である。学習データ記憶部3には、重みの初期化処理時には、ニューラルネットワークの全てのノード間の重みとバイアスの初期値が記憶され、学習データ処理部5から送られた学習データを用いて学習部20でニューラルネットワークを学習したノード間の重みとバイアス及び学習データを記憶する。
 学習データ記憶部4は、学習データを記憶する記憶部である。学習データとは、予め正常と異常が判別された状態情報及び特徴量を示すテスト用のデータである。また、判別データBBは判別対象のデータであり判別データ取得部7へ送られ、所定の前処理を施した後、判別処理部21へ送られる。
 学習データ処理部5は、学習データ記憶部4を入力し、べき指数をパラメータとした所定の学習データの型へ変換処理する。変換処理された学習データは、判別結果処理部6の要求に応じて、重み学習部20へ送られる。
 
 なお、判別器学習部2、学習データ処理部5と判別結果処理部6及び判別データ取得部7は、例えば、この実施の形態に特有な処理が記述されたプログラムをマイクロコンピュータが実行することで、ハードウェアとソフトウェアが協働した具体的な手段として実現することができる。
 また、図4に示した学習機能を有するべき指数追加加算型ニューラルネットワーク装置の構成である判別器学習部2、学習パラメータ記憶部3、学習データ記憶部4、学習データ処理部5、判別結果処理部6、判別データ取得部7を組み合わせた集積回路にして小型化、高速化、低消費電力、安価に提供することができる。
 続いて、上記した図4のニューラルネットワーク装置の構成により、べき指数をパラメータとした重み学習処理を行い、変動係数あるいは判別率を計算し、べき指数の最適解を探索する方法について図7のフローチャートに沿って説明する。
 まず、学習データ処理部5は、学習データ記憶部4の学習データをニューラルネットワーク演算を行う判別器学習部2にある学習部20への入力形式へ変換する。学習データ記憶部4の学習データは、N次元の入力データと1次元の出力データで構成される。学習データ処理部5はN次元の入力データと1次元の出力データを繋いだN+1次元のデータを、Dn=(D0,D1,・・,Dn,・・,D(N-1),DN)として結合させる(ステップSP1)。
 次に、べき指数Pnの探索方法を設定する(ステップSP2)。例えば、|pn|≦5の整数とした総当たり探索にする。また、pnは実数を扱い、任意の刻みの範囲を設定することもできる。但し、コンピュータのメモリ及び演算能力の制約範囲内にとどめる。
 次に、べき指数探索値Pn=(p0,p1,・・,pn,・・,p(N-1),pN)の初期値を設定する(ステップSP3)。例えば、|pn|≦5の整数とした場合の総当たり探索(しらみつぶし探索とも呼ぶ)では、探索初期値を、探索ラベルNo.0とし、べき指数P0=(-5、-5、、、-5)とする。
 次に、べき指数探索値Pn=(p0,p1,・・,pn,・・,p(N-1),pN)の探索終了条件を設定する(ステップSP4)。例えば、探索ラベルNo.0とし、べき指数P0=(-5、-5、、、-5)、次の探索ラベルをNo.1にP1=(-5、-5、、、-4)のように連番にして探索終了条件は、探索終了値(5、5、、、5)に設定できる。また、探索終了条件は予め、所定の探索回数、探索ラベル、あるいは閾値を設定してもよい。
 次に、データDn、べき指数Pnの探索テーブルを作成する(ステップSP5)。例えば、探索ラベルNo.0とし、べき指数P0=(-5、-5、、、-5)、次の探索ラベルをNo.1にP1=(-5、-5、、、-4)のように連番にして、探索終了値(5、5、、、5)とした探索テーブルを作ることができる。
 次に、データDn、べき指数Pnを探索テーブルから、探索ラベル順に取り出す(ステップSP6)。
 次に、Dn^Pnをニューラルネットワークの入力に再定義する(ステップSP7)。ここで、学習データ処理部5は、ステップSP6で受け取った、データDnと、べき指数Pnを用いたDn^Pn=(D0^po,D1^p1,・・,Dn^pn,・・,D(N-1)^p(N-1),DN^pN)の式から、Dn^PnをDnに再定義し、加算型ニューラルネットワークの入力に設定する。
 以上までは、ニューラルネットワークの入力データDnを作成する手順であり、図5のステップSP1~SP7までを説明した。
 次に、ステップSP7で作成されたN+1次元の入力データDn=(D0^po,D1^p1,・・,Dn^pn,・・,D(N-1)^p(N-1),DN^pN)は、判別器学習部2の学習部20へ送られステップST1~ST8を通して、重み学習処理を行う。以下、学習部20の詳細を説明する。
 まず、学習部20は、ニューラルネットワークの特徴量である重みとバイアスを初期化する(ステップST1)。具体的には、初期値に0を与える。
 ここで、隠れ層の演算式YY(目標値)、BYA(加算型演算出力)は、前記の通り、(数1)、(数2)、(数3)で表すことができ、学習部20は、損失関数Lで表す損失量|YY-BYA|の初期値を計算する(ステップST3)。
 次に、学習部20は、バイアス(パラメータb)を少しプラス方向に設定量だけ更新する(ステップST4)。
 続いて、学習部20は、損失量の値が小さくなるように、重み(重み付けパラメータwn)修正量(適度なシフト量Δwn)を算出する(ステップST5)。
 この後、学習部20は、ST5で求めた修正量で重みの値を従前の値から更新する(ステップST6)。
 さらに、学習部20は、ST5~ST6のステップを設定回数分のループを廻し重み量を更新する(ステップST7)。
  この後、学習部20は重み学習の終了条件を満たしたか否かを確認する(ステップST8)。ここで終了条件は損失量が減少から増加に転じた一つ前の最小値がよい。また、学習回数が設定回数以上となった場合でもよい。
 終了条件を満たすと、学習部20は、抽出した損失量|YY-BYA|を最小にする特徴量を、学習パラメータ記憶部3に記憶し判別処理部21へ送る。
 次に、判別処理部21は得られた特徴量を判別結果処理部6へ送る。
 次に、判別結果処理部6は、特徴量から変動係数、判別率を計算し、結果を記憶する(ステップSP8)。
 次に、判別結果処理部6は、探索テーブルの探索ラベルを、従前の値から更新する(ステップSP9)。例えば、総当たり探索を設定した場合、探索ラベルを一つ進める。ここで、幅優先探索法や、よりヒューリスティックな探索法を用いて、現在までのステップで計算された変動係数あるいは判別率から、より小さくする変動係数、または、より高い判別率に、従前の探索順より速く到達する可能性を予測できるアルゴリズムを仕込み、効率よい探索順ラベルに更新してもよい。
 次に、ステップSP9を通して探索ラベルを更新した後、は探索終了条件を満たしたか否かを確認する(ステップSP10)。終了条件を満たしていない場合、ステップSP6に戻り、繰り返す。
 このようにして得られた、べき指数Pn=(p0,p1,・・,pn,・・,p(N-1),pN)が最適な関係式を与える。具体的なN+1次元のデータ、関係式の型、及び評価関数として用いる変動係数と判別率の詳細な説明は(実施例1)、(実施例2)を通して後述する。
 上記した第1の実施形態では、隠れ層が1段の場合の例を挙げて説明したが、複数段の隠れ層にも適用することができる。図8は、多層型のべき指数追加加算型ニューラルネットワークの基本構造を示す図である。ここで、1段目の隠れ層ノードn1,n2の出力を受け取る2段目の隠れ層として、2つの重みh0、h1を紐づけた2段目の目標値ZZのノードn3,加算型出力BZAののノードをn4とする2つのノードを挿入し拡張し、1次元出力Z-Actを得る。このような2段の隠れ層を持つニューラルネットワークを用いることで、より複雑な問題に対して精度を向上できる。
(第2の実施形態)
 続いて、本発明の第2の実施形態について説明する。本発明の第2の実施形態は、入力データ要素間の和や差を含めて、第1の実施形態の、べき乗探索法への入力データ要素にする前処理を行い、その入力データ要素を、べき乗探索法へ入力して演算を行い、加減乗除から成り立つ関係式を発見する学習方法である。
 第1の実施形態は、べき乗探索法へのN次元の入力データの単位が異なる場合、あるいは入力データ間の和や差を必要としないとき、最適な関係式が得られる。一方、入力データ間の和や差を用いた関係式がある。例えば三角形の3辺の長さ(a,b,c)を元データとして、答えである面積Sを求めるヘロンの公式(数7)は、辺の差分の積を利用した方程式である。このような類の方程式を盲目的に解くには、元データである3辺の和や差を、べき乗探索法への入力データに加える前処理を行い、べき乗探索法への入力テーブルを作り、順に、べき乗探索を行う。
(数7)
16=(a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c)/(S^2)
(数8)
16=D0^p0*D1^p1*D2^p2*D3^p3*D4^p4
 ヘロンの公式(数7)に倣うと、三角形の元データである3辺の長さ(a,b,c)の和と差を用いた入力データは、D0=(a+b+c)、D1=(-a+b+c)、D2=(a+b-c)の値であり、その3次元の入力データ要素(D0、D1、D2)を組み合わせて構成する所定の関係を有する答えデータD3は面積Sである。4次元の入力データ要素Dn=(D0、D1、D2、D3)を作り、4次元のべき指数Pn=(p0、p1、p2、p3)を用いてべき乗探索を行うと、べき指数Pnの解は、(p0、p1、p2、p3)=(1、1、1、-2)が得られる。
 次に、測定対象物の元データに和や差を施す前処理を行い、べき乗探索法への入力テーブルを作る方法について説明する。
 
 単位が同じで差分可能なM行(M次元)及び学習サンプル数(SN)を列とする元データをam=(a0,a1,,,a(M-1))とする。また、差分要素マトリックスCm及び、元データamの要素に掛け合わせる係数kを定義する。差分要素マトリックスCmは、元データamの各要素に係数k倍して得られる全ての組み合わせのマトリックスと定義し図9に例示する。図9は、係数kを-1,0,1の整数、M=3次元のときの差分要素マトリックスCmの例であり、27行3列のマトリックスの行列で表すことができる。
 ここで係数kの値は、データ間の差はk=-1、和は、k=1、不要な係数はk=0として表せる。さらに、係数k=-2、-1,0,1,2のように順に整数を設定し、多様な整数倍に対応することができる。また、係数k=-1,-0.5,0,0.5,1のように実数を設定することもできる。
 さらに係数kは虚数単位iを用いることができる。例えば円の方程式、1=x^2+y^2は、虚数単位iを用いた因数分解を利用し、1=(x+i*y)*(x-i*y)に等しく、元データx、yから円の方程式を導くことができる。
 次に、べき乗探索法の入力データDnの各要素となる積入力要素マトリックスLnSを定義する。積入力要素マトリックスLnSは(数9)に示すように、Cmとamの内積で表す。図9に積入力要素マトリックスLnSを例示する。図9は、係数kを-1,0,1の整数、M=3次元のときの積入力要素マトリックスLnSの例であり、27行SN列のマトリックスの行列テーブルで表すことができる。また、積入力要素マトリックスLnSのn行目SN列の要素を積入力要素Lnと定義する。
(数9)
LnS=Cm・am
 次に、積入力要素マトリックスLnSに含まれる全ての要素を探索目的とするには、不必要な積入力要素Lnを含んでいる場合、制約条件を設定して、不必要な積入力要素Lnを省いたLnSテーブルにする。制約条件がない場合、そのままの積入力要素マトリックスLnSをLnSテーブルとする。
 次に、LnSテーブルの積入力要素Lnの中から、べき乗探索法へ入力する入力データ要素の個数NYを設定する。例えば、(数8)の場合、入力データは(D0、D1、D2、D3、D4)の5次元要素の積でありNY=5である。
 次に、LnSテーブルの行から、(NY-1)行を抽出し組み合わせた(NY-1)行(次元)のDnLテーブルを作成する。
 さらに、前記、DnLテーブルの最後尾に1次元の答えデータを連結させて、べき乗探索法へ入力するNY行(次元)のDnLテーブルにする。
 このDnLテーブルの順に従い、NY行(次元)のデータを、べき乗探索法へ入力し最適解を導く方法を差分探索法と呼ぶ。以下、差分探索法を用いて最適解を探索する方法について、図10のフローチャートに沿って説明する。
 最初に、測定対象物の元データamに加減算が可能な要素があるかどうかをチェックする(ステップSS1)。加減算が可能な要素があれば、加減算を行う要素を設定する。(ステップSS2)。
 次に、前記した係数k、及び学習サンプル数SNを設定し、差分要素マトリックスCmを生成する(ステップSS3)。
 次に、入力データamの各要素間の和と差に制約条件がある場合、その制約条件を設定する(ステップSS4)。例えば、上記ヘロンの公式において、辺の差分が正値であること、つまり(±a±b±c)>0の条件のみを利用する場合、その条件を設定し、正値以外の値を省く。
 次に、積入力要素マトリックスLnSを(数9)式から計算し、ステップSS4で設定した制約条件を満足するLnSテーブルを作成する(ステップSS5)。
 次に、べき乗探索法へ入力する入力データ要素の個数NYを設定する。(ステップSS6)
 次に、LnSテーブルの行から、(NY-1)行を抽出し組み合わせた(NY-1)行(次元)のDnLテーブルを作成する(ステップSS7)。
 次に、前記DnLテーブルの最後尾の行に1次元の答えデータを連結する。(ステップSS8)。
 次に、DnLテーブルから先頭データDn行を取得する(ステップSP1)。その後のステップSP2~SP10、及びST1~ST8までは、べき乗探索法と同じであり説明を省略する。
 次のステップSS9でデータDn行をDnLテーブルの順番に従い次のデータに更新する。次のステップSS10で、データDn行が最終データで無ければステップSP2に戻り繰り返す。DnLテーブルの最終順が完了すると終了する。あるいは、変動係数、あるいは判別率に閾値を設けて途中終了させてもよい。
(実施例1)
 第1の実施例として、第1の実施形態をケプラーの第3法則の発見に適用する。ケプラーの第3法則は「各惑星の公転周期Tの2乗は、太陽からの平均距離rの3乗に比例する。」であり、物理法則に基づくべき乗則が成り立っている。図11に、9つの惑星名と2つの測定データ(太陽からの平均距離r[km]と公転周期T[day])を明記した。ここでは2次元の入力データ要素D0=r/1E8、D1=T/1E2を用いて、本発明のべき乗探索法により、法則を発見する方法について説明する。法則の関数形態は、単位が異なるため加減算を除く除算と乗算で構成されると第一に推定できる。
 前記の2次元の入力データ要素(D0、D1)を組み合わせて構成する関数は、f(D0,D1)=1と表すことができる。発見したい左項の何らかの関数をf(D0,D1)としたとき、右項は、所定の関係を有する答えデータをD2とすると、1である。従って、べき乗探索法への3次元の入力データ要素は(D0、D1、1)であり、YY/W(べき乗値の積)は(数5)から(数10)の関数で与えられる。
(数10)
YY/W=D0^p0*D1^p1
 次に、図7のフローチャートに従い、べき乗探索法を使って、最適な関係式を導く方法を説明する。
 最初に、3次元の入力テーブル(D0、D1、1)を図8から作成する(ステップSP1)。べき指数の探索方法は、べき指数を|pn|≦7の整数とする総当たり探索とし、探索初期値をNo.0、べき指数P0=(-7、-7)、No.1、P1=(-7、-6)のように連番にして、探索終了値を(7,7)に設定した探索テーブルを作成する。また、評価関数には変動係数を用いる(ステップSP2~SP5)。探索初期値を設定した後は、探索終了まで、探索テーブル順に従ったニューラルネットワーク演算を行う(ステップSP6~SP10)。ステップSP7では、初期値Dn^Pn=(D0^p0、D1^p1、1)で演算される行を入力項に設定する。次にニューラルネットワーク演算の重みとバイアスを初期化する(ステップST1)。
 ここで、特徴量抽出のための初期設定について述べる。図7のフローチャートに示す重み学習を進めるにあたり、ループを行うバイアス更新回数、重み更新回数、及び重み修正量(Δwn)及びバイアス更新量を適度な値に初期設定する。本事例では、隠れ層1のバイアス更新回数を50、重み更新回数を10回に設定した。バイアスの更新量はYY(数1)より、重みWn=1(wn=0)のときは、データ積の項のみに単純化できることから、そのデータ積の平均値を50で割った値を、50回刻みの分割量とし、その分割量の10%をバイアス更新量の設定値とした。重み修正量(Δwn)は、損失量の0.1%を設定値とした。目的に応じ、初期設定値を細かくしたり、または荒く可変してもよい。base(低)の設定値は0.9とした。本事例の入力データd1の値は最大値915を扱っており、例えば10をbase(底)の設定値とおくと、容易にコンピュータの上限計算限界に至ってしまう。本特許では小数をbase(底)に設定できるため、計算限界を回避できる。
 次に、隠れ層演算式YY(数1)、BYA(数3)の初期値、及び損失量|YY-BYA|の初期値を算出する(ステップST2~ST3)。
 次に、ステップST4~ST8のパラメータ学習ループを通して、損失量|YY-BYA|の最小値を計算し、パラメータ学習結果をステップSP8に送り変動係数を計算し、結果を記憶する。
 ここで、本事例に用いる評価関数である変動係数について説明する。変動係数は(数7)のYY/W(べき乗値の積)の標準偏差sigma(以下標準偏差のギリシャ文字の記号をsigmaと表記する)をYY/W(べき乗値の積)の平均値で割った値である。
 次の、ステップSP9は、得られた変動係数を用いてヒューリステックな探索方法を導入し探索順を初期値の探索ラベルから入れ替えたい場合に設定する、本事例では総当たり探索のため、順送りである。
 次の、ステップSP10は、探索テーブルの探索終了値(7,7)完了後、変動係数の最小となったべき指数Pn、及び、べき指数Pnと変動係数の対応リスト、グラフ等を出力し終了する。グラフ例を図12、図13に示す。また、探索終了値(7,7)に届いていない場合、ステップSP6に戻り、繰り返す。
 図12は、変動係数を出力値に、横軸にD0のべき指数p0、縦軸にD1のべき指数p1として(p0、p1)を座標とした本事例の出力図である。変動係数は、べき指数(p0、p1)の座標位置、(-6、4)、(-3、2)、(0,0)、(3、-2)、(6、-4)の点で0~0.0005と小さくなっていることが判る。但し、便宜上0.0001より小さい値を0と表示している。図13は、図12のlog値(常用対数)を3次元のワイヤフレームプロットにしたものである。図13には、球(●)を表示し、ワイヤフレームの傾斜に沿って、最小点へ流れる様子を模擬した。(数10)式に(p0、p1)=(-3、2)を代入すると、YY/W=D0^(-3)*D1^(2)≒4(一定) が導かれ図14の表に示した。この結果から、最初にf(D0,D1)=1と表したf(D0,D1)の最適な関数は、f(D0,D1)=D0^(-3)*D1^(2)/4と得ることができた。つまり、9つの惑星名と2つの測定データ(D0は太陽からの平均距離r、D1は公転周期T)から、次の法則が導かれている。「各惑星の公転周期Tの2乗は、太陽からの平均距離rの3乗に比例する。」
 評価関数に変動係数を用いて総当たり探索を行いケプラーの第3法則を導く方法を前述した。変動係数を図12及び、図13にグラフ表示すると、最小値となる極小値が複数存在し、規則的に与えられていることが判り、この例では、探索法に変動係数の小さくなる方向へ移動する付近値探索法を用いて最小値となる極小値へ素早く探索できる。しかし、損失量が最小値とならない極小値が複数存在する関数は多く、ニューラルネットワークの勾配消失を引き起こす問題点の一つである。従来のニューラルネットワークの解決策として、全てのデータを用いずにサンプリングした荒いデータ(ミニバッチサイズと呼ぶ)を用いて故意に精度を下げた勾配計算を行い極小値を避ける方法がある。しかし、この方法では、どこに極小値があるのかわからず、ミニバッチサイズの大きさの変更、乱数を取り入れる等の試行錯誤が必要となる課題が残る。本特許では、べき指数座標を軸としたグラフを用いて効率的な付近値探索法を検討できる。
 例えば、損失量が最小値とならない極小値が複数存在する関数例として、ケプラーの第3法則を「各惑星の公転周期Tの3乗は、太陽からの平均距離rの5乗に比例する。」と変えたデータを作成し関係式を総当たり探索を行うと、最小値のべき数値は(-5,3)、(5、-3)が与えられ、YY/W=D0^(-5)*D1^(3)の式が得られる、図15にそのワイヤフレームプロット図を示した。この図から最小値のべき数値は(-5,3)、(5、-3)の間に(-3、2)、(-2、1)、(3、-2)、(2,-1)の極小値が規則的に存在することが判る。従って、探索法に評価関数の小さくなる、あるいは大きくなる方向へ移動する付近値探索法を用いる場合は、探索初期値の選び方によっては特異点(0,0)、あるいは極小値、極大値へ流れてしまい正解が得られない不都合が生じてしまう。これを避けるために探索初期値の座標位置は複数の象限へ設定する注意が必要なこと、規則性を考慮した複数の極値に近い位置へ初期値を設定すると探索時間を短くできることが図12及び、図13、図15のグラフから理解できる。
 このように、べき指数を座標軸にして評価関数を変動係数で表現するグラフを用いて、より速く正解に辿り着くためのヒューリステックな探索方法を構築することができる。
 また、(数10)の方程式の解は、特徴量パラメータを固定することで速く求めることができる。(数3)のバイアスB=0(b=0)で固定し、重み学習のループを廻さない、つまりwn=0の初期値で計算したW=1、BYA=1とした損失量|YY-BYA|=|YY-1|に単純化することで演算を速くすることができる。この手法は、データにノイズ(外乱)が少ないと判断できる探索、特に、べき指数だけの関係式を評価したいときに有効である。
(実施例2)
 第2の実施例として、第2の実施形態をヘロンの公式の発見に適用する。図16は10個の番号(1)~(10)の種々の3角形の絵であり、図17に、その3辺の長さa,b,c及び面積Sを小数第一位までを有効桁とした表である。3辺の長さは、単位がcmと共通であることから、3辺の長さa,b,c及び面積Sをダイレクトにべき乗探索法の入力に用いても、答えに辿りつけない懸念がある。この解決策として、3辺の長さの加減算の値を含めてべき乗探索法の入力とする方法を、図10のフローチャートを用いて具体的に説明する。
 最初に、測定対象物の元データamを3辺の長さ(a0,a1,a2)とし、これを加減算可能な3次元データam=(a0,a1,a2)として設定する(ステップSS1~SS2)。
 次に、元データamのサンプル数(SN)は三角形10個であり、SN=10を設定する(ステップSS3)。
 次に、元データamの要素に掛け合わせる係数mを設定する。3辺(a0,a1,a2)間の和及び差を用いるとき、係数mは-1,0,1である。これらを用いて差分要素マトリックスCmを生成すると、前記した図9のように27行3列の差分要素マトリックスCmが自動生成される(ステップSS3)。
 次に、入力データamの各要素間の和と差に、制約条件がある場合、その制約条件を設定する。3角形のように3辺の長さの加減算から構成される積入力要素は負値あるいは零を持たないと容易に推測できることから、辺の差分が正値である条件、(±a±b±c)>0を設定する(ステップSS4)。
 次に、積入力要素マトリックスLnSを(数9)式から計算し、ステップSS4で設定された制約条件を満足するLnSテーブルを作成する(ステップSS5)。図18に制約条件を満足して生成された10行10列のLnSテーブルを示す。積入力要素の10行をL0~L9として、3辺の差及び和の式で与えられる10行L0~L9と、三角形(1)~(10)の、それらの式の3辺の差及び和の値である10列の要素で構成される。
 次に、べき乗探索法へ入力する入力データ要素の個数NYを設定する。3角形の面積を求める元データは、3辺(a0,a1,a2)であり、(数5)で表されるYY/W(べき乗値の積)の式は、答えである面積Sを含めた4要素以上の積で構成されることから、NYを、NY=4、次にNY=5、さらにNY=6と最適解が得られるまで増加させてループを廻す。但し、べき乗探索回数は増大してしまうことから、コンピュータの性能及び計算時間制約の範囲内に上限を設定する。ここでは、便宜上NY=5に固定した例を用いて説明する(ステップSS6)。
 次に、LnSテーブルの行から、(NY-1)の4行を抽出し組み合わせた4行10列のDnLテーブルを作成する(ステップSS7)。
 次に、前記DnLテーブルの最後尾に、三角形(1)~(10)答えデータである1行10列の面積Sを連結する。(ステップSS8)。図19に生成されたDnLテーブルを示す。このように、べき乗探索に入力される5次元データ(D0、D1、D2、D3、D4)は、(D0、D1、D2、D3)へ、LnSテーブルの積入力要素L0~L9から抽出された4要素の組み合わせを配置し、D4へ面積Sを配置し、210個(No.0~209)のインデックスを付したテーブルで構成される。
 次に、DnLテーブルから、最初の5次元入力データDn行を取得する(ステップSP1)。図19を参照すると、DnLテーブルの先頭インデックスDn行No.0の(D0、D1、D2、D3、D4)=(L0、L1、L2、L3、S)である。
 次に、べき指数Pnの探索方法を設定する(ステップSP2)。べき数値を|pn|≦4の整数とする総当たり探索とする。
 次に、べき指数Pnの初期値を設定する(ステップSP3)。べき数値を|pn|≦4の整数とする総当たり探索のとき、探索初期値である探索ラベルNo.0は、べき指数(-4、-4、-4、-4、-4)である。
 次に、べき指数Pnの探索終了条件を設定する(ステップSP4)。探索終了値を、入力データ要素の先頭D0の正のべき数は、負のべき数の逆数の解であり、重複するため不要とし、(-1、4、4、4、4)に設定する。
 次に、データDn行、べき指数Pnの探索テーブルを作成する(ステップSP5)。例えば、探索ラベルNo.0とし、べき指数P0=(-4、-4、-4、-4、-4)、次の探索ラベルをNo.1にP1=(-4、-4、-4、-4、-3)のように連番にして、探索終了値(-1、4、4、4、4)とした探索テーブルを作る。
 次に、データDn行、べき指数Pnを探索テーブルから、探索ラベル順に取り出す(ステップSP6)。
 次に、Dn^Pnをニューラルネットワークの入力に再定義する(ステップSP7)。ステップSP6で受け取った、データDn行と、べき指数Pnを用いたDn^Pn=(D0^po,D1^p1,D2^p2,D3^p3,D4^p4)の式から、Dn^PnをDnに再定義し、加算型ニューラルネットワークの入力に設定する。
 その後のステップST1~ST8は、前記した、第1の実施例と同じ加算型ニューラルネットワーク演算の手順であり、説明は省略する。但しbase(低)の設定値は0.99を用いた。
 次に、ステップST4~ST8のパラメータ学習ループを通して、損失量|YY-BYA|の最小値を計算し、パラメータ学習結果をステップSP8に送り変動係数を計算し、結果を記憶する。
 次の、ステップSP9は、総当たり探索のため、データDn、べき指数Pnの探索ラベルに従い、順送りする。
 次の、ステップSP10は、探索テーブルの探索終了値(-1、-4、-4、-4、-4)のとき、ステップSS9に進む。また、探索終了値(-1、-4、-4、-4、-4)で無ければステップSP6に戻り、繰り返す。
 次のステップSS9で、データDnをDnLテーブルのインデックス順に従い次のデータに更新する。
 次のステップSS10で、DnLテーブルの最終インデックスのデータDn(L6、L7、L8、L9、S)であれば終了する。最終インデックスで無ければ、ステップSP2に戻り、繰り返す。
 5次元のDnLテーブルの最終インデックスの終了後、変動係数を最小にする積入力要素Lm(L0~L9)の組み合わせは、5次元入力データDn=(L0、L4、L7、L9、S)のときに、べき指数Pn=(-1-1、-1、-1,2)が得られる。図20にべき指数Pn=(-1-1、-1、-1,2)における、YY/W(べき乗値の積)の計算値の表を示した。YY/W(べき乗値の積)はほぼ一定値(1/16=0.0625)に収束している。この出力結果から、ヘロンの公式が導かれていることが判る。
 前述の例は、べき乗探索法の評価関数に変動係数を用いた例である。本発明は、評価関数に判別率を適用することができる。以下、ヘロンの公式を例にして評価関数に判別率を用いて、ヘロンの公式を導く方法について説明する。
 三角形の面積Sを2等分し判別に用いる。例えば、10個のサンプルNo.SN列の偶数番号の面積Sを1.0倍、奇数番号の面積を0.9倍の値にし、それぞれ群A、群Bと2分類にする。よって、答えは三角形の面積Sでは無く、判別結果である群Aまたは群Bである。判別結果の一覧表を図21に示した。
 例えば、三角形の形態を持つ製造物の3辺を測定器で測長し、面積を画像により測定することで、角が欠けて面積が小さい等、異常な外観の物を除きたい検査工程を想定する。正常な物は論理的なルールに従い、所定の閾値により良品判定され、それ以外のものは不良判定される。
 この判別の答えは、群A,群Bというラベルであり数値化しないと演算ができない問題が生じる。本発明は、答えがラベルである場合、答えの数値を定数にして扱うことができる。具体的には、三角形の面積Sを入力に追加し、答えは定数1にして演算を進めることができる。
 評価関数に判別率と変動係数を用いた例とのフローチャート図10での違いは、探索方法に判別率を設定(ステップSP2)し、それに従い判別率の計算処理を行う(ステップSP8)ところであり、その他は同じで説明を省略する。
 ここで、評価関数に判別率を用いた計算方法、及び、べき指数Pnの探索方法について説明する。
 (数5)の式、YY/W(べき乗値の積)は5次元入力の場合、(数11)の関数で与えられ、最後尾のD4は面積Sを表すものとする。
(数11)
YY/W=D0^p0*D1^p1*D0^p2*D3*^p3*D4^p4
 (数11)のYY/W(べき乗値の積)を定数に近似できたとき、右項の値は、最後尾のD4にサンプルNo.SN列の偶数番号の1.0倍、奇数番号を0.9倍の値にした面積Sの値を用いているため、1.0倍のA群の定数、及び、0.9倍したB群の定数の2つの分布に分かれる。これを利用し加算型ニューラルネットワークに5次元の入力を行い、加算型ニューラルネットワークの1次元出力値を用いて、A群とB群を最大に区別する閾値を自動計算し判別率を算出する。ここでは、図8に示した隠れ層2段のべき指数追加加算型ニューラルネットワークの1次元出力値Z-Actを用いて判別率を最大にする5次元入力データDnのべき指数Pnを探索した。
 5次元のリストDnLの最終インデックスが終了すると(ステップSS10)、判別率を最大にする積入力要素Ln(L0~L9)の組み合わせは、5次元入力データDn=(L0、L4、L7、L9、S)のときに、判別率100%、べき指数Pn=(-1、-1、-1、-1、2)の結果が得られる。
 次に、評価関数に判別率を用いて得られる出力グラフについての特徴を述べる。評価関数に判別率を用いて得られた出力値は、人に判りやすく視覚化することができる。図22は、加算型ニューラルネットワークの出力値Z-Actの3角形番号順のグラフであり、図23はYY/W(べき乗値の積)の3角形番号順のグラフである。このグラフから出力値Z-Actは群A及び群Bに2分され、YY/W(べき乗値の積)は傾きのない2つの定数線であることが視覚的に判る。
 例に用いたヘロンの公式は、面積Sを小数第2位で4捨5入した誤差以外に、ノイズ要素は無い(データの粒がよい)。しかし、測定対象物から得られるデータに成り立つ関係式の多くは、解を求めるには不明なパラメータを含んでいたり、複雑な関数形態、あるいはノイズの多いデータから最適な関係式を推測する。このような場合、評価関数に判別率を用いる方法が有効であり、あらゆる分野に応用できる。
 例えば、医療の大勢の検診データから、健康な人と、少数ではあるが、ある疾患を持っている人をA群とB群に分け、検診データの項目に何らかの最適な関係式が存在するか、の調査(探索)に利用できる。本発明のニューラルネットワークを用いて精度の高い関係式を見出し、その対策にあたる医療の発展に貢献することができる。
 さらに、前述したSN列の偶数番号の面積Sを故意に1.0倍、奇数番号の面積を0.9倍の値にし、それぞれ群A、群Bと故意に2分類したYY/W(べき乗値の積)の3角形番号順のグラフを示す図23に着目すると次のことが解る。群Aの領域と群Bの領域の間には、群A(バンドAと呼ぶ)とも群B(バンドBと呼ぶ)ともいえないグレイゾーンの空白領域(バンドCと呼ぶ)が広く形成される。このグレイゾーンの空白領域(バンドC)を積極的に利用することでシステム制御に応用することができる。
(実施例3)
 第3の実施例として、第2の実施形態を次数2のフェルマー曲線を表す円の方程式、1=x^2+y^2に適用する。1=x^2+y^2は、1=(x+i*y)*(x-i*y)に因数分解できる。従って、元データを右項のxとyの数値を複数個用意し、答えデータを定数1として、係数k=-i、-1,0,1,iを予め設定することにより、±1及び虚数単位iの係数を掛け合わせた差及び和を含む組み合わせで構成されるLnSテーブルを自動作成する。そのLnSテーブルから2次元の入力データ要素を抽出し組み合わせたDnLテーブルを自動作成し、1次元の答えデータである1を連結させた3次元のDnLテーブルを作る前処理が行われ、順にニューラルネットワークへ入力されて最適な関係式である円の方程式が導かれる。
 このように本発明のニューラルネットワークは、円あるいは楕円の曲線を方程式で認識でき、直線の認識より困難な曲線対象物の判別に利用できる。例えば、回転運動する機械の軸と軸受けの外観や非破壊検査データの良否の特徴を学習し、関係式と閾値を見つけて設計値との差異、変形、傷、ヒビ、摩耗他欠陥を判別できる。
(実施例4)
 第4の実施例として、CartPole倒立振子装置の2次元シミュレーションを用いて、棒が倒れない安定制御できる制御式を導き出す。本事例では、4次元の入力データをリアルタイムに受け取り、Cartを右に押すか、左に押すかの出力を返してCart上のPoleを倒さない制御式をべき乗探索法を用いた強化学習を行い、いち速く制御式を探索し、棒(Pole)を倒さず安定化させることを目的とする。
 CartPole倒立振子のアルゴリズムの性能評価のプラットフォームは、Open Gymより提供されており、これに、べき乗探索法を用いた強化学習のアルゴリズムを実装し最短で安定化させる制御式を探索する。また、従来のニューラルネットワークを用いた強化学習法の一つである方策勾配法と比較する。
 CartPole倒立振子は、図24のように、台座(Cart)の上に連結されている棒(Pole)を最初、横軸x=0に垂直に立てると、重力とゆらぎを模擬した力が働き左右どちらかに倒れようとする、これを倒さないように台座(Cart)を左右に均等な力で押し、所定時間倒さないようにするシミュレーションであり、所定時間内に一定の角度以上、棒(Pole)が倒れてしまうと終了となる。
 最初に、棒(Pole)が倒れないようにするアルゴリズムの一つである従来型の方策勾配法を用いて所定時間倒さないようにする方法を説明する。CartPole倒立振子の出力として得られる情報は、図24に図示、及び図25の表に示すように、その都度の状態を台座(Cart)の位置、速度、棒(Pole)の角度、角速度の4つが状態変数(d0、d1、d2、d3)として台座(Cart)を押したときに返される。また、ある状態の状態変数からとりうる行動は図26のように、台座(Cart)を同じ力で右に押すか左に押すかの2つである。
 従来型のニューラルネットワークは、図27のように4入力のシンプルな単層構造を使い、重み付けパラメータwn=(w0、w1、w2、w3)及びバイアスbを学習し更新する。バイアスbは使わずb=0とすると、その出力値xは下記(数12)で表される。また、方策勾配法には報酬関数(Rt)を設定し、報酬関数の値を最大化するように学習させていく方法を用いる。重み付けパラメータの更新方法は、従来ネットワークの学習率η及び偏微分を用いて下記(数13)のように表される。
(数12)
x=d0*w0+d1*w1+d2*w2+d3*w3
(数13)
wn←wn+η(∂Rt)/(∂wn)
 方策勾配法は、いくつかのエピソードごとを一つの評価範囲に設定しパラメータを更新していく方法である。このシミュレーションでは、1エピソードを台座(Cart)を1回押す作業を1ステップと定義して、棒(Pole)が倒れる(終了)までのステップ数が動作の回数を表し、1エピソードとする。また所定時間倒れないときの最大ステップ数は200として打ち切り、そのエピソードを終了する。従って、1エピソードの最大ステップ数は200に設定し、いくつかのエピソードの平均ステップ数は、棒(Pole)が倒れずに耐えることができたステップ数の平均である。ここでは、評価範囲を過去100エピソード毎に設定し、その平均ステップ数を記録し、学習の進行具合をモニターするとともに、報酬関数の更新パラメータに用いる。
 報酬関数の与え方は、tエピソード目の報酬をRtとすると図28のように、200ステップ倒れずに終了すると(-1)の値、200ステップ内で倒れると(ステップ数-200)の値を与える。
 重み付けパラメータwnの学習を進めるうえで初期値を0に設定、あるいは何らかの値を設定し開始するが、重み付けパラメータwnの初期値及び更新状況によっては、いつまで学習しても目標ステップ数200へ到達しない問題が発生する。従来型の方策勾配法の解決策として、重み付けパラメータwの初期値に乱数値を設け、さらに途中に、ある程度ランダムな行動を起こすことを目的とした適度な乱数値Nを加えてパラメータwを更新し報酬を最大化する手法が提案されており、ε-greedyアルゴリズムとして知られている。具体的には(数13)式を基本にして10エピソード毎(バッチ数毎)にパラメータwnに標準偏差sigmaの振れ幅を持つ10個の乱数値N[i]を再構成し、エピソードの進行i=0~9の順に乱数値N[i]を加え、さらに報酬の偏微分∂Rt/∂wnを加えて更新しランダムに次の行動を選択する(数14)式を採用している。以上に説明した従来型の方策勾配法のフローチャートを図29に示した。ここで、初期値パラメータとして重み付けwnを変動させる学習率η及び振れ幅の標準偏差sigmaの値をη=0.2、sigma=0.05に設定している。
(数14)
wn←wn+N[i]+η(∂Rt)/(∂wn)
 前述の従来型の方策勾配法をCartPole倒立振子シミュレーションへ実装した結果例を図30に示した。図30は横軸にエピソード数、縦軸に棒(Pole)が倒れずに耐えることができた過去100エピソード毎の平均ステップ数のグラフである。このグラフから1500エピソードで平均ステップ数195に到達し終了している。また、平均ステップ数195を達成したときの重み付けパラメータは(w0、w1、w2、w3)=(-0.532、0.610、1.254,1.421)であった。
 図31の表は、棒(Pole)が倒れずに耐えることができた過去100エピソード毎の平均ステップ数≧195を満足する重み付けパラメータ例であり、前記の(w0、w1、w2、w3)=(-0.532、0.610、1.254,1.421)のみでなく、CartPole倒立振子シミュレーションを繰り返すと多数存在し、その5例を示した。図31にある5例の重み付けパラメータを用いたプログラムをCartPole倒立振子シミュレーションへ実装すると、どれも最初から200ステップ数以上、棒(Pole)を倒さずに立たせておくことができる。しかし、従来型の方策勾配法から得られた5例の重み付けパラメータを見ても、棒(Pole)を倒さずに立たせておくことができる概念を理解するには、極めて困難な欠点がある。
 前述のように、CartPole倒立振子の安定化制御に従来型の方策勾配法を用いて、棒(Pole)を一定時間倒れない制御式を導く方法について説明した。しかし、得られた制御式を分析し理解し応用へ発展させることは困難である。例えば棒(Pole)を垂直に立たせた状態から、右あるいは左にコントロールし動かすような制御方法を見出すには至らない。本発明の、べき乗探索法を用いた強化学習のアルゴリズムは、得られた関係式を人が理解できるように分析、視覚化することができ、棒(Pole)を垂直に立たせた状態から、右あるいは左にコントロールし動かす制御方法を直感できる。さらに、目的とする制御に必要な状態パラメータ(入力データ)のみを抽出し不必要(余剰)な状態パラメータ(入力データ)を削除することができる。
 本発明の、べき乗探索法を用いた強化学習について説明する。CartPole倒立振子の棒(Pole)及び台車(Cart)の動きは前述と同じであり、棒(Pole)が倒れないように制御する強化学習アルゴリズムについて図32のフローチャートに沿って詳細に説明する。
 べき乗探索法をCartPole倒立振子に適用するにあたり、4次元の状態変数(d0、d1、d2、d3)の(base)べき乗値を(D0、D1、D2、D3)とし、べき指数をPn=(p0、p1、p2、p3)とする。ここで、4次元の状態変数を組み合わせて構成する所定の関係を有する答えデータをD4とおく。D4の期待値は定数である1にできる。従って5次元の入力要素は(D0、D1、D2、D3、1)と置くことができる。YY/W(べき乗値の積)は(数5)から(数15)の関数で与えられる。ここでW=1に単純化すると目標値YYは(数16)に表すことができる。次に(数16)の両辺をlog値の式にすると(数17)が得られる。(数17)式の右辺は、(数11)式の重み付けwnをべき指数数Pnに置き換えた式に等しく、左辺log(YY)は目標値YY=1のとき、log(YY)=0である。ここで、log(YY)=xとおくと、前述の従来型の方策勾配法に用いた重み付けwnをべき指数Pnに置き換えた(数12)式に等しく、アルゴリズムの比較説明に都合がよい。
(数15)
YY/W=D0^p0*D1^p1*D0^p2*D3^p3
(数16)
YY=D0^p0*D1^p1*D0^p2*D3^p3
(数17)
log(YY)=d0*p0+d1*p1+d2*p2+d3^p3
 最初に初期設定を行う(ステップSS1)。説明の便宜上、従来型の方策勾配法に倣い、1エピソード内の最大ステップ数200、平均値評価に用いるエピソード数を100、べき指数Pnを更新させる偏差Nの配列のバッチ数を10に設定する。ここで、4次元の偏差Nの設定値は、従来型の方策勾配法では乱数値の初期値0を設定したが、べき乗探索法に用いる偏差は、べき数を更新させる更新量Δpnを設定する。本事例では更新量Δpnは±1として図33の表に示した。バッチ数10に相当する10個(i=0~9)の偏差N[i]を4次元配列(Δp0、Δp1、Δp2、Δp3)の各項に順次1、-1の整数値を設定する。但しi=8及び9においては、0を設定した。4次元の場合8個の更新量Δpnでよいのでi=8及び9の設定は余剰であるが、従来型の方策勾配法との比較説明の便宜上2個は更新量Δpnを0設定とし偏差Nを更新しない余剰部分として残した。次に、報酬Rt及び報酬Rtを正規化した変数Rtaの初期値を0に設定する。
 次に、バッチ数10回分のループ初期値i=0を設定(ステップSS2)したあとに、べき指数Pnを更新する。べき指数Pnの更新方法は、(数18)式で表され、偏差N[i]と報酬の偏微分∂Rt/∂Pnを加えて更新する(ステップSS3)。
(数18)
Pn←Pn+N[i]+η(∂Rt)/(∂Pn)
 次に、CartPoleの動作の回数を表すステップ数を初期値step=0に設定したあと、状態変数(d0、d1、d2、d3)を0にリセットし初期状態にする(ステップSS4)。
 次に、CartPoleを初期状態(棒の垂直に立っている状態)からリリースする(ステップSS5)。
 最初に台車を左へ一回押す(ステップSS6)。
 台車を押すことにより、CartPoleから状態変数(d0、d1、d2、d3)が出力され、記憶する(ステップSS7)。
 ニューラルネットワークの出力値xを(数11)式から計算する(ステップSS8)。
 次に、出力値xに基づき、x>0のとき、台車を右に押す。x≦0のとき、台車を左に押す(ステップSS9)。
 台車を押すことにより、CartPoleから状態変数(d0、d1、d2、d3)及び、棒が倒れて終了したかどうかの信号が出力され、記憶する(ステップSS10)。
 棒が倒れて終了したら報酬Rt=step-200を得て、バッチ数10回分のループ数を1増やす(ステップSS11→SK1→SS12)。棒が倒れずに、1エピソードstep=200を達成したら報酬Rt=-1を得て、バッチ数10回分のループ数を1増やす(ステップSS11→SK2→SK3→SS12)。棒が倒れずに、1エピソードstep<200であれば、ステップ数を1増やしてステップSS11の先頭にループを戻す(ステップSS11→SK2→SK4→SS8)。
 次に、バッチ数のループiを1増やし、報酬Rtを過去10回分の値を記憶する。次に、1エピソード内で倒れなかったステップ数を表す値であるstepを過去100回分記憶し、その平均値stepmeanを計算し記憶する(ステップSS12~SS13)。
 次に、バッチ数のループiがバッチ数10回分に達するかどうかチェックする(ステップSS14)。バッチ数10回分に達していないときは、ステップSS4に戻る。バッチ数10回分に達すると、stepmeanの値をチェックし、stepmean≧195を満足すると終了する(ステップSS15)。stepmean<195のときは、過去10回分の報酬Rtを正規化したRtaを計算、記憶する(ステップSS16)。そのRtaとべき指数Pnを更新させる偏差Nの内積を計算し、偏微分値∂Rt/∂Pnとして記憶してから、ステップSS2に戻る(ステップSS17)。
 前述のべき乗探索法を用いたアルゴリズムをCartPole倒立振子シミュレーションへ実装した結果例を図34に示した。このグラフから110エピソードで平均ステップ数195に到達し終了している。また、平均ステップ数195を達成したときの、べき数値は(p0、p1、p2、p3)=(-1、2、3,3)であった。従来型の方策勾配法のグラフ図30と比較すると1/10以下のエピソード数、すなわち短時間で棒が倒れない関数の探索を完了している。図35の表は、棒(Pole)が倒れずに耐えることができた過去100エピソード毎の平均ステップ数≧195を満足するべき数値の例であり、前述の(p0、p1、p2、p3)=(-1、2、3,3)のみでなく、CartPole倒立振子シミュレーションを繰り返すと多数存在し、その5例を示した。
 棒が倒れず安定する理由を、本特許であるニューラルネットワークを用いて、人が理解できるように分析、視覚化することができる。べき数値(p0、p1、p2、p3)=(-1、2、3,3)を例にして説明する。
 べき指数の値(p0、p1、p2、p3)=(-1、2、3,3)をCartPole倒立振子に実装しシミュレーションを実施する。1エピソード内の最初から200ステップの4次元の状態変数(d0、d1、d2、d3)の入力値、及び台車を右に押したステップを群A、左に押したステップを群Bの2分類の答えのデータとして、第2の実施例(ヘロンの公式)で説明した評価関数に判別率を用いる方法と同様に、本発明のニューラルネットワークへ入力すると図23で説明した縦軸YY/W(べき乗値の積)のグラフが得られ図36に示した。図36は、横軸に台車を押した時系列順、すなわちステップNo.順を表し、縦軸にYY/W(べき乗値の積)の値をプロットし、台車を右に押したステップ群Aを●、台車を左に押したステップ群Bを菱形で表示している。なおYY/W(べき乗値の積)の値は、4次元の状態変数(d0、d1、d2、d3)の(base)べき乗値(D0、D1、D2、D3)に変換する底(base)は10を用いて、ニューラルネットワークへ入力する5次元の入力要素を(D0、D1、D2、D3、1)とし、判別率を最大にする(数5)及び(数15)式に基づく出力値として得られる。
 前述の動作説明から、YY/W=D0^p0*D1^p1*D2^p2*D3^p3>1のとき台車を右に押し、YY/W=D0^p0*D1^p1*D2^p2*D3^p3≦1のとき台車を左に押すルールであり、図36のグラフを用いて、次のことを説明できる。
 図36のグラフは、縦軸YY/W(べき乗値の積)の値で台車を確実に右へ押すA群、台車を確実に左へ押すB群、及び台車を右に押すときと左に押すときが混在するC群の領域に区別することができる。その中心値はYY/W=1である。ここで、YY/W(べき乗値の積)の値を判定する閾値を導入し変数Aとすると、棒(Pole)はYY/W(べき乗値の積)の閾値Aを用いて左右の動きを制御できる。具体的には、YY/Wの閾値Aが1のとき台車は中心に留まり棒(Pole)を垂直に立たせた状態を保つ。YY/W(べき乗値の積)の閾値Aが1より大きいときは、初期状態で台車を右に押す機会が多くなり棒(Pole)は右に傾く。次の動作は棒(Pole)を倒さないようにするため、台車を左に押し台車は左へ進む。逆にYY/W(べき乗値の積)の閾値Aが1より小さいときは、初期状態で台車を左に押す機会が多くなり棒(Pole)は左に傾く。次の動作は棒(Pole)を倒さないようにするため、台車を右に押し台車は右へ進む。更に、YY/W=1を中心とした閾値の深度により台車の移動速度を制御できることが直感できる。具体例として、べき指数の値を(p0、p1、p2、p3)=(-1、2、3,3)のときのYY/W(べき乗値の積)の式及び閾値Aの値を変化させたときの台車の動作を図37に纏めた。
 また、図35のNo.4及びNo.5のべき指数p0、p1はそれぞれ0の値に着目すると、棒が中央で倒れない安定制御には、台座(Cart)の位置、速度の状態変数であるD0、D1は不要であることを示している。棒が中央で安定している状態では、台座(Cart)の位置はほぼ0、速度もほぼ0で中央に位置している状態であることから、無くても制御できると理解できる。このことからD0、D1を外し、D2、D3の棒(Pole)の角度、角速度の2つの状態変数を使って、前述のべき乗探索法を用いた強化学習を行い、棒(Pole)が倒れずに過去100エピソード毎の平均ステップ数≧195を満足するべき数値の3例を図38に示した。さらに、図39に、状態パラメータ(D2、D3)及びべき数値(p2、p3)=(5、3)を用いて、棒(Porl)を倒さずに、台座(Cart)を中心位置から、左に移動、次に右へ移動し、さらに左端へ移動制御する制御式の適用例を示した。
 このように、本特許は、答えを得るために必要な入力データを絞り込むことができる。つまり、不必要(余剰)な入力データを除くことで演算時間の削除、及び入力データを得る手段として必要なセンサー等の削減ができる。
 本事例の応用例として、各種センサー、モーター、通信及び制御用マイクロコンピュータを装備した教育版の組み立てキット、積み木(ブロック)を用いて、倒立振子装置を組み立て、棒を倒さずに静止、あるいは棒を左右に制御する体験を通してAI(Artificial Inteligence)を学べる。教材によっては関係式が公式、法則を導きだしている場合もあるし、それに近い形で提供され、何か発見できるようなワクワク感があり、学習者の動機づけになる。
 制御方法を学習し、べき乗値の積を内蔵する制御式が提供される。シンプルな制御式が得られ、その式の成り立ちや制御方法が理解しやすい。場合によっては、制御ヘの貢献度が小さく不必要な入力データ部品(センサー等)の削減に繋がったり、新たな制御方式の発見に繋がったりする。
 得られた制御式を制御装置に適用すると、リアルタイムに制御式の安定性を評価し最適化できる。例えば、環境が異なった同装置の制御状態を学習し、動作が悪化している場合は良好な制御状態を保てる制御式へ更新、いわゆるズレ補正をリアルタイムに行い、より高い安定性を追求したフィードバック制御の自動化ができる。
 また、得られた制御式をこれを算出した演算装置と切り離した別のコンピュータのメモリに予め格納しておき、この格納された制御式と別途センサー等により入力されたデータで、具体的な計算を行い、その結果に従いモータ等の被制御装置を制御することができる。
 産業用ロボットは様々な現場に持ち運んで組み上げて、目的とした条件で動くように調整が入る。制御パラメータを設定しなおす、あるいは制御式に補正が必要な場面で、本特許による、べき乗探索法を用いた強化学習を用いて再学習を行うと、より速く安定した最適な制御式を導き出し、制御パラメータあるいは制御式を実装しなおすことが容易である。同様に自動車や飛行体の自動制御にも応用できる。
(実施例5)
 前述の第1~第4の実施例で、べき指数追加加算型ニューラルネットワーク用いて適切な法則、方程式、関係式(制御式)を導けることを説明した。このように本発明は、学習した入力以外の未学習の入力に対しても適切な出力を与える与える能力を持つ汎化能力に優れており、この能力をプロセスに適用すると、学習したプロセスだけでなく、それに類似したプロセスについても適切な予測を極めて論理的に行うことができる。この背景にあるのが、論理演算子(AND.OR,NAND,NOR,EXOR)を簡単に学習することができること、n進法を10進法に変換するなどの論理演算の数値データを簡単に学習し汎用式を提示できる優れた演算機能を有していることにある。
 論理演算子の排他論理和(EXOR)は非線形性を有するため、従来の単純パーセプトロンを使って真偽の出力を一本の直線(閾値)で分割できない。そのため2入力の真理値表を図40に示すように、単純パーセプトロンで構成したNAND,OR,AND論理演算子を繋ぎ合わせた多層化ニューラルネットワーク構造へ大幅な設計変更を伴う。その学習した判別出力式は複雑に入り組んだパラメータ式になり、その式の理解も容易ではない。一方、べき指数追加加算型ニューラルネットワークは非線形を扱うことができ、図6及び図8のいずれか一つの、べき指数追加加算型ニューラルネットワークの基本構造に変更を加えることなくそのまま適用し、真偽の出力を一本の直線で分割するシンプルな判別出力式を導くことができる。
 例えば、図41に示す3入力(d0、d1、d2)の真理値表に示す排他論理和(EXOR)の出力データd3は、底(base)を10とした4次元入力値(D0、D1、D2、D3)にして、べき指数追加加算型ニューラルネットワークを用いて出力分類の判別学習を行うと、図42に示すように、べき指数(-1,1、-1,2)を持つ判別式が導かれ、一本の直線(閾値)5を用いて正しく分割される。なお、2入力の排他論理和(EXOR)は、あまりに簡単に解けるので説明を省いた。
 次に、2進数と10進数の関係を表す表を図43に示した。図43は2進数4次元入力データ(d0、d1、d2、d3)と、その10進数である0~9の出力値d4の表である。これを底(base)を10とした5次元入力値(D0、D1、D2、D3、D4)にして、図6及び図8のいずれか一つの、べき指数追加加算型ニューラルネットワークの基本構造をそのまま適用し、べき指数-10~10間の数式探索を行うと、図44に示すように、べき指数(-8、-4、-2、-1,1)を持つ出力式と出力値1が導かれる。これより10進数出力d4の関係式は、d4=log10(D0^8*D1^4*D2^2*D3)=2^3*d0+2^2*d1+2^1*d3+2^0*d0 と表され、2進数を10進数へ変換させる公式(汎用式)そのものであることが理解できる。これより2進数4次元データで表せる未学習の10進数値10~15の値も正しく予測されることが判る。
 このように、べき指数追加加算型ニューラルネットワークは、その構造に手を加えることなく関係式、判別式を導くことができる応用範囲の広い演算方式であり、集積回路にしたIC、マイクロコンピュータを提供し、判別装置及び制御装置に搭載すると、装置の高速化、小型化、低消費電力が実現できる。
(他の実施形態)
 本発明は上述した実施形態に制約されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本発明の技術思想に含まれるものである。
1…演算装置、1A…機械学習装置、1B…判別装置、
2…判別器学習部、3…学習パラメータ記憶部、4…学習データ記憶部、
5…学習データ処理部、6…判別結果処理部、7…判別データ取得部、
20…学習部、21…判別処理部、
100A~100C…ニューラルネットワーク構造、
110A~110C…入力層、120A~120C…出力層
130…隠れ層、131…第1の隠れノード、132…第2の隠れノード
 

Claims (11)

  1.  入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力する演算装置であって、
     前記入力層は、
      複数の前記入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)を、前記ニューラルネットワーク構造の学習パラメータとして有し、
     前記出力層は、
      前記入力層に入力された複数の前記入力データが複数の前記べき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)に基づいて、前記出力値(y=f(YY0))を出力する、
     演算装置。
  2.  前記ニューラルネットワーク構造は、
      前記入力層と前記出力層との間に隠れ層をさらに含み、
     前記隠れ層は、
      複数の前記入力データが前記学習パラメータとしての複数の重み付けパラメータ(w0,w1,…,wN)を介してそれぞれ入力されて、下記の式(数1)で規定される目標値(YY1)を前記出力層に出力する第1の隠れノードと、
      複数の前記入力データが前記複数の重み付けパラメータを介してそれぞれ入力されるともに、前記学習パラメータとしてのバイアスパラメータ(b)が入力されて、下記の式(数2)で規定される加算型演算出力(BYA)を前記出力層に出力する第2の隠れノードとを有し、
     前記出力層は、
      前記目標値(YY1)と前記加算型演算出力(BYA)とに基づいて、前記出力値(y=f(YY1,BYA))を出力する、
     請求項1に記載の演算装置。
    (数1)
     YY1=D0p0*D1p1*…*DNpN*W0*W1*…*WN
    (数2)
     BYA=B*(base)(SIGMA[n=0→N](wn*pn*dn))
     但し、
      baseは、1を除く正の数
      Dn=basedn(n=0,1,…,N)
      Wn=basewn(n=0,1,…,N)
      B=base
     である。
  3.  前記学習パラメータとしての複数の前記べき指数、複数の前記重み付けパラメータ、及び前記バイアスパラメータは、
      複数の前記入力データを前記学習データとして複数組用いることで学習されるパラメータであって、
      前記学習データとしての複数の前記入力データを前記入力層に入力したときに前記第1の隠れノードから出力される前記目標値(YY1)と前記第2の隠れノードから出力される前記加算型演算出力(BYA)との間の差分(|YY1-BYA|)が小さくなるように調整される、
     請求項2に記載の演算装置。
  4.  前記入力層は、
      複数の前記入力データ(D0,D1,…,DN)を対数(d0,d1,…,dN)にそれぞれ変換し、複数の前記入力データの前記対数と複数の前記べき指数とをそれぞれ乗算した複数の乗算値(d0*p0,d1*p1,…,dN*pN)を前記出力層に出力し、
     前記出力層は、
      複数の前記乗算値に対する総和(d0*p0+d1*p1+…+dN*pN)を真数(based0*p0+d1*p1+…+dN*pN)に変換し、前記真数を前記積として、前記出力値(y=f(YY0))を出力する、
     請求項1に記載の演算装置。
  5.  前記学習パラメータとしての複数の前記べき指数は、
      複数の前記入力データと、複数の前記入力データに対応付けられた教師データとを含む学習データを複数組用いることで学習されるパラメータであって、
      前記学習データに含まれる複数の前記入力データを前記入力層に入力したときに前記出力層から出力される前記出力値と、前記学習データに含まれる教師データとの間の差分が小さくなるように調整される、
     請求項1又は請求項4に記載の演算装置。
  6.  複数の前記入力データの少なくとも1つは、
      複素数で表されるデータである、
     請求項1乃至請求項5のいずれか一項に記載の演算装置。
  7.  請求項1乃至請求項6のいずれか一項に記載の演算装置により用いられる前記ニューラルネットワーク構造を構成する集積回路であって、
     前記入力層及び前記出力層を構成する入出力部と、
     前記学習パラメータを記憶する記憶部と、
     前記入力層に入力される複数の前記入力データ及び前記記憶部に記憶された前記学習パラメータに基づいて、前記出力層から前記出力値を出力するための演算を行う演算部とを備える、
     集積回路。
  8.  請求項1乃至請求項6のいずれか一項に記載の演算装置により用いられる前記ニューラルネットワーク構造を有する学習モデルを生成する機械学習装置であって、
     複数の前記入力データを少なくとも含む学習データを記憶する学習データ記憶部と、
     前記学習データ記憶部に記憶された前記学習データを前記学習モデルに入力することで、前記学習パラメータの学習を行う学習部と、
     前記学習部による学習結果として、前記学習パラメータを記憶する学習パラメータ記憶部とを備える、
     機械学習装置。
  9.  請求項8に記載の機械学習装置により生成された前記学習モデルを用いて、判別データに対する判別結果を出力する判別装置であって、
     前記判別データを取得する判別データ取得部と、
     前記判別データ取得部により取得された前記判別データを前記学習モデルに入力することで、当該学習モデルからの前記出力値に基づいて前記判別結果を出力する判別処理部とを備える、
     判別装置。
  10.  請求項1乃至請求項6のいずれか一項に記載の演算装置により出力された制御式に、センサー又はデータ入力により入力されたデータを入力し計算された計算値に基づいて被制御装置を制御する制御方法。
  11.  請求項1乃至請求項6のいずれか一項に記載の演算装置により出力された制御式が格納される格納部と、
     センサー又はデータ入力により入力されたデータを該制御式に入力し計算する計算部と、
     該計算部から出力された計算値に基づいて被制御装置を制御する制御部とを有する制御装置。
     
     
PCT/JP2022/035492 2022-09-22 2022-09-22 演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置 WO2024062626A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/035492 WO2024062626A1 (ja) 2022-09-22 2022-09-22 演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/035492 WO2024062626A1 (ja) 2022-09-22 2022-09-22 演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置

Publications (1)

Publication Number Publication Date
WO2024062626A1 true WO2024062626A1 (ja) 2024-03-28

Family

ID=90454160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/035492 WO2024062626A1 (ja) 2022-09-22 2022-09-22 演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置

Country Status (1)

Country Link
WO (1) WO2024062626A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016142526A (ja) * 2015-01-29 2016-08-08 日本電産エレシス株式会社 レーダシステム、レーダ信号処理装置、車両走行制御装置および方法、ならびにコンピュータプログラム
JP2020034624A (ja) * 2018-08-27 2020-03-05 株式会社東芝 信号生成装置、信号生成システム、信号生成方法およびプログラム
WO2020202316A1 (ja) * 2019-03-29 2020-10-08 三菱電機株式会社 モデル予測制御装置、モデル予測制御プログラム、モデル予測制御システムおよびモデル予測制御方法
JP2021124979A (ja) * 2020-02-05 2021-08-30 大庭 富美男 ニューラルネットワーク演算方法及びデータ分類システム
CN113704804A (zh) * 2021-10-27 2021-11-26 浙江数秦科技有限公司 一种基于异构神经网络模型的隐私计算方法
JP2022161099A (ja) * 2021-04-08 2022-10-21 富美男 大庭 演算装置、集積回路、機械学習装置、及び、判別装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016142526A (ja) * 2015-01-29 2016-08-08 日本電産エレシス株式会社 レーダシステム、レーダ信号処理装置、車両走行制御装置および方法、ならびにコンピュータプログラム
JP2020034624A (ja) * 2018-08-27 2020-03-05 株式会社東芝 信号生成装置、信号生成システム、信号生成方法およびプログラム
WO2020202316A1 (ja) * 2019-03-29 2020-10-08 三菱電機株式会社 モデル予測制御装置、モデル予測制御プログラム、モデル予測制御システムおよびモデル予測制御方法
JP2021124979A (ja) * 2020-02-05 2021-08-30 大庭 富美男 ニューラルネットワーク演算方法及びデータ分類システム
JP2022161099A (ja) * 2021-04-08 2022-10-21 富美男 大庭 演算装置、集積回路、機械学習装置、及び、判別装置
CN113704804A (zh) * 2021-10-27 2021-11-26 浙江数秦科技有限公司 一种基于异构神经网络模型的隐私计算方法

Similar Documents

Publication Publication Date Title
Qin et al. XGBoost optimized by adaptive particle swarm optimization for credit scoring
Chen et al. Constructing a stock-price forecast CNN model with gold and crude oil indicators
CN109902706B (zh) 推荐方法及装置
CN110263227B (zh) 基于图神经网络的团伙发现方法和系统
US11783195B2 (en) Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
Brintrup et al. An interactive genetic algorithm-based framework for handling qualitative criteria in design optimization
Chen et al. Using fruit fly optimization algorithm optimized grey model neural network to perform satisfaction analysis for e-business service
CN113256367B (zh) 用户行为历史数据的商品推荐方法、系统、设备及介质
Acilar et al. Optimization of multiple input–output fuzzy membership functions using clonal selection algorithm
US11087344B2 (en) Method and system for predicting and indexing real estate demand and pricing
Amiri et al. Feedback associative memory based on a new hybrid model of generalized regression and self-feedback neural networks
JP2022161099A (ja) 演算装置、集積回路、機械学習装置、及び、判別装置
Mahmoodi et al. A developed stock price forecasting model using support vector machine combined with metaheuristic algorithms
Cirrincione et al. The growing curvilinear component analysis (GCCA) neural network
Georgieva Genetic fuzzy system for financial management
US11468352B2 (en) Method and system for predictive modeling of geographic income distribution
US8250003B2 (en) Computationally efficient probabilistic linear regression
Dekhovich et al. Neural network relief: a pruning algorithm based on neural activity
WO2024062626A1 (ja) 演算装置、集積回路、機械学習装置、判別装置、制御方法、及び、制御装置
Qasem et al. Extreme learning machine for credit risk analysis
Yang et al. Selection of optimal material and operating conditions in composite manufacturing. Part I: computational tool
Hu et al. Dynamic connection pruning for densely connected convolutional neural networks
Bräunl Genetic algorithms
Jackson et al. Automl approach to classification of candidate solutions for simulation models of logistic systems
Tang et al. Research on Agricultural Intelligent Robot Based on Path Planning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22959590

Country of ref document: EP

Kind code of ref document: A1