Nothing Special   »   [go: up one dir, main page]

WO2020196066A1 - ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム - Google Patents

ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム Download PDF

Info

Publication number
WO2020196066A1
WO2020196066A1 PCT/JP2020/011577 JP2020011577W WO2020196066A1 WO 2020196066 A1 WO2020196066 A1 WO 2020196066A1 JP 2020011577 W JP2020011577 W JP 2020011577W WO 2020196066 A1 WO2020196066 A1 WO 2020196066A1
Authority
WO
WIPO (PCT)
Prior art keywords
neuron
neurons
neural network
value
state value
Prior art date
Application number
PCT/JP2020/011577
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 US17/440,037 priority Critical patent/US20220188603A1/en
Priority to JP2021509108A priority patent/JP7356738B2/ja
Publication of WO2020196066A1 publication Critical patent/WO2020196066A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to a neural network learning method, a neural network generation method, a trained device, a mobile terminal device, a learning processing device, and a computer program.
  • Neural networks are the basic technology that forms the substance of machine learning (artificial intelligence) that has been rapidly developing in recent years, and are generated by adjusting (learning) a large number of parameters contained in the network using given training data. To.
  • Patent Document 1 discloses an approximate optimization method called an error backpropagation method, which is mainly used in learning neural networks.
  • the error back propagation method learning is realized by synchronously propagating the error calculated in the output layer throughout the network, so forward calculation for calculating the error from the input and propagating the error to the network. It is necessary to alternately repeat the two types of calculation of the reverse direction calculation.
  • the error backpropagation method can be applied only to a one-way network, its optimumity is not guaranteed, and it is necessary to artificially design an error function (objective function), which tends to cause overfitting and learning. Requires a large amount of data, and also requires fine adjustment of the learning rate (learning parameters). As described above, the backpropagation method has various problems.
  • the present invention has been made in view of such circumstances, and is a neural network learning method, a neural network generation method, a learned device, a mobile terminal device, a learning processing device, and a computer program that do not require the use of the backpropagation method.
  • the purpose is to provide.
  • each neuron in the neural network is set as a stochastic variable capable of taking binary values
  • the connection weight between the neurons in the neural network is set as the connection coefficient required for each synapse. Is expressed by a plurality of synapses multiplied by, the plurality of synapses are used as probability variables that can take binary values, training data is given to neurons in the input layer and output layer, and initial data is given to neurons in the intermediate layer. From the conditional probability distribution under the condition that the stochastic variables of the neurons in the input layer and the output layer are the values of the training data, sampling based on the Markov chain Monte Carlo method is performed to each neuron and the neural network in the intermediate layer. The process of updating the state value of each synapse in is repeated, and the connection weight between neurons is calculated based on the state value of each updated synapse.
  • training data is given to neurons in the input layer and the output layer of the neural network, and the connection weight between the neurons in the intermediate layer of the neural network and the neurons in the neural network is used.
  • the initial data is given to, and the state value of the neuron in the middle layer is converted into a value obtained by converting the sum of the signal values input to the neuron and the bias value from the posterior neuron connected to the neuron by the activation function. Updates based on, and updates the connection weights between neurons based on the updated state value of each neuron.
  • each neuron in the neural network is set as a stochastic variable capable of taking binary values
  • the connection weight between the neurons in the neural network is set as the connection coefficient required for each synapse. Is expressed by a plurality of synapses multiplied by, the plurality of synapses are used as probability variables that can take binary values, training data is given to neurons in the input layer and output layer, and initial data is given to neurons in the intermediate layer. From the conditional probability distribution under the condition that the stochastic variables of the neurons in the input layer and the output layer are the values of the training data, sampling based on the Markov chain Monte Carlo method is performed to each neuron and the neural network in the intermediate layer. The process of updating the state value of each synapse in the neural network is repeated, and the connection weight between neurons is calculated based on the state value of each updated synapse to generate a neural network.
  • training data is given to neurons in the input layer and the output layer of the neural network, and the connection weight between the neurons in the intermediate layer of the neural network and the neurons in the neural network is used.
  • the initial data is given to, and the state value of the neuron in the middle layer is converted into a value obtained by converting the sum of the signal values input to the neuron and the bias value from the posterior neuron connected to the neuron by the activation function. Updates based on, and updates the connection weights between neurons based on the updated state value of each neuron.
  • the trained device is a trained device having a neural network, and each neuron in the neural network is set as a stochastic variable capable of taking a binary value in a computer, and between neurons in the neural network.
  • the connection weight of is expressed by a plurality of synapses in which each synapse is multiplied by a required connection coefficient, the plurality of synapses are used as probabilistic variables that can take binary values, and training data is sent to neurons in the input layer and the output layer.
  • Sampling based on the Markov chain Monte Carlo method from the conditional probability distribution under the condition that the initial data is given to the neurons in the middle layer and the probability variables of the neurons in the input layer and the output layer are the values of the training data. Is performed to repeatedly update the state value of each neuron in the intermediate layer and each synapse in the neural network, and calculate the connection weight between neurons based on the updated state value of each synapse. Has been generated.
  • the trained device is a trained device having a neural network, in which training data is given to neurons in the input layer and the output layer of the neural network to a computer, and an intermediate layer of the neural network is provided.
  • Initial data is given to the connection weight between the neuron and the neuron of the neural network, and the state value of the neuron in the intermediate layer is the sum of the signal values input to the neuron and the bias value from the posterior neuron connected to the neuron. It is generated by executing a process that updates the sum of and with based on the value converted by the activation function and updates the connection weight between neurons based on the updated state value of each neuron.
  • the mobile terminal device is a mobile terminal device including the above-mentioned learned device, and the learned device uses at least one of image data, audio data, and character string data as training data. Has been generated.
  • the learning processing device is a learning processing device including a processor to train a neural network, and the processor uses each neuron in the neural network as a stochastic variable capable of taking a binary value.
  • the connection weight between neurons in the neural network is expressed by a plurality of synapses in which each synapse is multiplied by a required connection coefficient, and the plurality of synapses are used as probabilistic variables that can take binary values, and each of the input layer and the output layer is used.
  • the learning processing device is a learning processing device including a processor and training a neural network, and the processor gives training data to neurons in the input layer and the output layer of the neural network.
  • Initial data is given to the connection weight between the neurons in the intermediate layer of the neural network and the neurons in the neural network, and the state value of the neurons in the intermediate layer is connected to the sum of the signal values input to the neurons and the neurons.
  • a process is performed in which the sum of the bias value from the posterior neuron is updated based on the value converted by the activation function, and the connection weight between the neurons is updated based on the updated state value of each neuron.
  • each neuron in the neural network is set as a stochastic variable capable of taking binary values
  • the connection weight between the neurons in the neural network is set as the connection coefficient required for each synapse. Is expressed by a plurality of synapses multiplied by, the plurality of synapses are used as probability variables that can take binary values, training data is given to neurons in the input layer and output layer, and initial data is given to neurons in the intermediate layer. From the conditional probability distribution under the condition that the stochastic variables of the neurons of the input layer and the output layer are the values of the training data, sampling based on the Markov chain Monte Carlo method is performed to each neuron and the neural network of the intermediate layer. The state value of each synapse in is updated repeatedly, and the connection weight between neurons is calculated based on the state value of each updated synapse, and the process is executed.
  • the computer program gives training data to the neurons of the input layer and the output layer of the neural network to the computer, and the connection weight between the neurons in the intermediate layer of the neural network and the neurons of the neural network.
  • the initial data is given to, and the state value of the neuron in the middle layer is converted into a value obtained by converting the sum of the signal values input to the neuron and the bias value from the posterior neuron connected to the neuron by the activation function.
  • FIG. 1 is a schematic diagram showing an example of the configuration of a neural network.
  • the neural network is composed of an input layer, an output layer, and a plurality of intermediate layers. Although three intermediate layers are shown in FIG. 1 for convenience, the number of intermediate layers is not limited to three.
  • Neurons (indicated by circles in the figure) exist in the input layer, output layer, and mesosphere, and adjacent neurons are connected by a connection weight.
  • the i-th neuron is represented by x i
  • the j-th neuron is represented by x j .
  • i and j are indexes of neuron numbers.
  • the connection weight from neuron x i to neuron x j is expressed as w ij
  • the connection weight from neuron x j to neuron x i is expressed as w ji .
  • w ij and w ji may have the same value or different values. In general, w ij and w ji may have different values.
  • each neuron in the neural network is a random variable that can take two values.
  • the binary value can be, for example, "1" or "0”
  • the random variable can be a variable that can take a binary value determined according to the probability of the value converted by the activation function.
  • each neuron x i takes a value of 0 or 1.
  • Each neuron takes 1 with a probability based on the equation expressed by equation (1).
  • m is the index of the neuron number.
  • M is the number of neurons that give an input signal to neurons x i .
  • is a neuron activation function and can be a sigmoid function represented by Eq. (2).
  • FIG. 2 is a schematic diagram showing an example of the synaptic configuration of the present embodiment.
  • the connection weight between neurons in the neural network is decomposed into a plurality of synapses each multiplied by a required connection coefficient.
  • the connection weight w ij can be expressed by the equation (3).
  • a ijk is a required coupling coefficient and can be a relatively small constant that does not change with learning.
  • a jik is a required coupling coefficient and can be a relatively small constant that does not change with learning.
  • each synapse in the neural network is a random variable that can take a binary value.
  • the binary value can be, for example, "1" or "0”
  • the random variable can be a variable that can take a binary value determined according to the probability of the value converted by the activation function.
  • the synapse s ijk takes a value of 0 or 1.
  • black circles and white circles schematically indicate that binary values can be taken.
  • the neural network learning method gives training data to neurons in the input layer and output layer, and gives initial data to neurons in the intermediate layer. Then, from the conditional probability distribution under the condition that the random variables of the neurons in the input layer and the output layer are the values of the training data, sampling based on the Markov chain Monte Carlo method is performed to each neuron and the neural network in the intermediate layer. The process of updating the state value of each synapse in is repeated.
  • FIG. 3 is a schematic diagram showing an outline of a learning method of a neural network.
  • the neurons in the input layer are fixed to the state x d in of the neurons corresponding to the training data of the data index d.
  • the neurons in the output layer are fixed to the state x d out of the neurons corresponding to the training data at the index d of the data.
  • the state of all neurons in the mesosphere is represented as ⁇ x di ⁇ .
  • the state of all synapses in the mesosphere is expressed as ⁇ s ijk ⁇ . In the sampling based on the Markov chain Monte Carlo method, as expressed by Eq.
  • conditional probability under the condition that training data is given by treating both the spike firing activity of neurons and the state of synaptic changes (synaptic plasticity) in a unified manner.
  • training data input data for learning and teacher data
  • state of synaptic changes synaptic plasticity
  • the Markov chain Monte Carlo method includes, for example, the Gibbs sampling method and the Metropolis-Hastings method.
  • the sampled value does not depend on the initial value (for example, the initial data given to the neurons in the mesosphere) and converges from the true distribution to the sampled value. Have.
  • the sampling order is not limited, and it may be a specific order or may be performed randomly.
  • Each neuron in the middle layer may consider the influence from the preneuron (input side neuron) and posterior neuron (output side neuron) connected to the neuron, and each synapse is also the preneuron to which the synapse is connected. And since it is sufficient to consider the influence from the posterior neurons, it is not necessary to consider the global state of the network, and the calculation can be performed locally and asynchronously.
  • a ijk can be a relatively small constant, and the sum K of the number of constants can be set to an appropriate value.
  • the value of the connection weight wij can be set to an appropriate value simply by setting the value of each synapse s ijk to 1 or 0.
  • the state value of the neuron in the middle layer is updated based on the sum of the signal values input to the neuron and the bias value from the post-neuron connected to the neuron converted by the activation function. More specifically, the state value of the neuron in the mesosphere is updated to 1 with the probability of the value converted by the activation function.
  • Each neuron in the mesosphere can be updated based on the equation expressed in equation (5).
  • is an activation function (for example, a sigmoid function).
  • d is an index of data and is also a mini-batch index used to update all neurons in the mesosphere once.
  • FIG. 4 is a schematic diagram showing an example of the sum of the signals input to the neuron.
  • M is the number of neurons (preneurons) connected on the input side of the neuron x di .
  • b di can bias the firing probability from the posterior neuron to the neuron x di . That is, the presence of the retrograde bias term b di makes it possible to spread the information of the training data given to the neurons in the output layer to the mesosphere of the network.
  • the bias term b di can be regarded as a stochastic expression based on the sampling of error propagation in the backpropagation method. This enables learning based on the information of the training data given to the neurons in the output layer without using error back propagation.
  • the bias value from the posterior neuron is calculated based on the difference between the state value of the posterior neuron and the expected value of the posterior neuron.
  • the bias value b di can be calculated by the equation (6).
  • x dj represents the state value of the posterior neuron x j
  • ⁇ (v dj ) is the expected value (predicted value) of the posterior neuron state obtained by the sum of the signals input to the posterior neuron x j. ).
  • FIG. 5 is a schematic diagram showing an example of the state of bias from the posterior neuron.
  • the posterior neuron of the neuron x di is represented as x dj .
  • J is the number of posterior neurons.
  • equation (6) can be regarded as retrograde error propagation, and unlike the conventional error backpropagation method, this retrograde error propagation is realized without the need for coordinated operation of the entire network. can do.
  • FIG. 6 is an explanatory diagram showing an example of Gibbs sampling processing.
  • the random variables are described as x 1 , ..., X N for convenience.
  • step S3 x 1 (1) is sampled under the conditions given by x 2 (0) , ..., X N (0) .
  • the value of x 1 (1) is obtained.
  • step S4 using the value of x 1 (1) obtained in step S3, x 2 is given under the conditions of x 1 (1) , x 3 (0) , ..., X N (0). Sampling (1) .
  • step S6 t + 1, and in step S7, the processes after step S3 are repeated.
  • Gibbs sampling is a method that realizes sampling from the true distribution (now the true posterior distribution) by repeating sampling for each variable, and after a sufficient number of repetitions, sampling from the true distribution can be realized. Guaranteed. The values sampled from the posterior distribution are guaranteed to match the optimal solution (maximum log-likelihood of the teacher data) when the number of data is large.
  • the plurality of synapses s ijk that connect the anterior and posterior neurons can be updated based on Eq. (7).
  • is an activation function (eg, sigmoid function).
  • q 0, ijk is an initial value, and may be set to 0, for example.
  • the bias term q ijk can be updated by Eq. (8).
  • is the sum of the data indexes d. That is, it is the sum for each index d of the mini-batch used when updating all the neurons in the mesosphere once, and the calculation of the sum by ⁇ is such that each neuron in the mesosphere is updated for each data.
  • the update of synapses in the neural network is the sum of all the data.
  • is an activation function (eg, sigmoid function).
  • FIG. 7 is a schematic diagram showing an example of the state of synapses connecting anterior neurons and posterior neurons.
  • x di represents the state value of the preneuron.
  • x dj represents the state value of the posterior neuron.
  • ⁇ (v dj ) represents the expected value of the state of the posterior neuron obtained by the sum of the signals input to the posterior neuron x j .
  • the state value of each synapse in the neural network can be updated using the updated state value of each neuron in the mesosphere. That is, using the data for each index d, all neurons in the mesosphere are updated once for each data. Then, the state values of each synapse in the neural network are obtained using the values of all the neurons updated for the data of all the indexes d. As a result, the state of all neurons in the mesosphere is determined for each data (for example, mini-batch data), and the state of each synapse in the neural network is determined based on the state of all neurons determined for the data of all indexes. Can be sought.
  • synapses behave stochastically in the brain in the same way as neurons, and synaptic stochastic movements are realized on a slower scale than neuron movements.
  • the above configuration means that synaptic renewal operates on a slower time scale with respect to neuron renewal, leading to neurons and synapses following different time scale stochastic renewal rules. ..
  • This embodiment can be applied to various neural networks such as recurrent neural networks.
  • FIG. 8A and 8B are schematic views showing an example of the configuration of the recurrent neural network.
  • a recurrent neural network composed of an input layer, an intermediate layer, and an output layer, as shown in FIG. 8A.
  • FIG. 8B is an expansion of the loop structure of the mesosphere shown in FIG. 8A, and can be configured as a general neural network as shown in FIG. 1, and the mesosphere can be configured by using the above-mentioned update rule. It is possible to update each synapse of all neurons and neural networks of. It is not necessary to expand as shown in FIG. 8B.
  • FIG. 9 is a block diagram showing an example of the configuration of the information processing device 50 used for learning the neural network.
  • the information processing device 50 as a learning processing device includes a processor 51, an operation unit 52, an interface unit 53, a display panel 54, a ROM 55, a memory 56 (for example, RAM), a storage unit 57, and a recording medium reading unit 58.
  • the storage unit 57 stores a learning processing unit 571 and a learning model 572 that include computer programs and data for learning a neural network.
  • the learning model 572 has a neural network, and can be a learning model (learned device) before, during, or after learning.
  • the information processing device 50 may be composed of one device or a plurality of devices.
  • each part of the information processing device 50 can be distributed and configured by a plurality of devices.
  • at least one of the learning processing unit 571 and the learning model 572 is provided in another device different from the information processing device 50. be able to.
  • each of the learning processing unit 571 and the learning model 572 may be provided in another device different from the information processing device 50.
  • the processor 51 and the learning processing unit 571 are, for example, a CPU (for example, a multi-processor in which one processor or a plurality of processor cores are mounted), a GPU (Graphics Processing Units), a DSP (Digital Signal Processors), and an FPGA (Field).
  • a CPU for example, a multi-processor in which one processor or a plurality of processor cores are mounted
  • GPU Graphics Processing Units
  • DSP Digital Signal Processors
  • FPGA Field
  • the display panel 54 can be composed of a liquid crystal panel, an organic EL (Electro Luminescence) display, or the like.
  • the operation unit 52 is composed of, for example, a hardware keyboard, a mouse, or the like, and can operate an icon or the like displayed on the display panel 24, input characters or the like, and the like.
  • the operation unit 52 may be composed of a touch panel.
  • the interface unit 53 can acquire training data, test data, etc. necessary for learning the neural network from an external device or the like. Further, the interface unit 53 can output data or the like obtained in the process of learning the neural network.
  • the storage unit 57 can be composed of a hard disk, a flash memory, or the like.
  • the neural network can be learned by reading the learning processing unit 571 and the learning model 572 stored in the storage unit 57 into the memory 56 and processing them by the processor 51.
  • the recording medium reading unit 58 can read the computer program (for example, the processing procedure shown in FIGS. 10 and 18) from the recording medium M (for example, a medium such as a DVD) on which the computer program is recorded.
  • the computer program recorded on the recording medium M is not limited to the one recorded on the freely portable medium, and the computer program transmitted through the Internet or another communication line is also included. Can be included.
  • the learning processing unit 571 (which may include the processor 51) sets each neuron in the neural network as a stochastic variable capable of taking binary values, and sets the connection weight between the neurons in the neural network as a required connection coefficient. Processing that uses the multiple synapses expressed by multiple synapses multiplied by each as a stochastic variable that can take binary values, and gives training data to neurons in the input layer and output layer, and initial data to neurons in the intermediate layer. From the conditional probability distribution under the condition that the probability variables of the neurons of the input layer and the output layer are the values of the training data, sampling based on the Markov chain Monte Carlo method is performed to each of the intermediate layers. It is possible to execute a process of repeatedly updating the state value of each synapse in the neuron and the neural network, and a process of calculating the connection weight between neurons based on the state value of each updated synapse.
  • FIG. 10 is a flowchart showing an example of a neural network learning processing procedure.
  • the processing subject will be described as the processor 51.
  • the processor 51 assigns the training data to the neurons in the input layer and the output layer (S11), and substitutes the initial values into the neurons in the synapse and the intermediate layer in the neural network (S12).
  • the processor 51 selects neurons in the mesosphere and updates the bias value b di based on the equation (6) (S13), and updates the neurons x di based on the equation (5) (S14).
  • the processor 51 determines whether or not the update of all the neurons in the mesosphere has been completed (S15), and if the update of all the neurons has not been completed (NO in S15), the process after step S13 is repeated.
  • step S16 it is determined whether or not there is data of another index that is not used for updating.
  • the processor 51 acquires the training data of the next set (that is, the next index) (S17), and repeats the processing of step S11 and subsequent steps.
  • the processor 51 selects a synapse in the neural network, updates the bias value q ijk based on the equation (8) (S18), and changes the synapse s ijk to the equation (7). Update based on (S19).
  • the processor 51 determines whether or not the update of all synapses in the neural network has been completed (S20), and if the update of all synapses has not been completed (NO in S20), the processing after step S18 is repeated. .. When the update of all synapses is completed (YES in S20), the processor 51 calculates the join weight wij based on the value of the updated synapse (S21).
  • the processor 51 determines whether or not to repeat the process (S22). Whether or not to repeat the process may be determined based on, for example, evaluating the performance of the coupling weight calculated in step S21 and determining whether or not the required performance is obtained, or a predetermined number of times. The determination may be made based on whether or not the processing is completed. When the processing is repeated (YES in S22), the processor 51 repeats the processing after step S11, and when the processing is not repeated (NO in S22), the processor 51 ends the processing.
  • the update rules represented by the equations (6) and (8) can be updated more accurately by using the equations (9) and (10), respectively.
  • f dj (x) can be expressed by the equation (11)
  • v dj, -i can be expressed by the equation (12)
  • v dj, -ik can be expressed by the equation (13). It can.
  • Gibbs sampling is performed. Can be applied more accurately.
  • equations (14) and (15) can be used instead of the update rules shown in the equations (6) and (8), respectively.
  • the current value of b di is reflected in the update of b di
  • the current value of q ijk is reflected in the update of q ijk .
  • Equations (16) and (17) can be used instead of the update rules shown in the equations (5) and (7), respectively.
  • the current value of x di is reflected in the update of x di
  • the current value of s ijk is reflected in the update of s ijk .
  • Equations (14) to (17) correspond to sampling by the Metropolis-Hastings method.
  • r x, r s may be larger than 0 and smaller than 1. Equation (16) and (17) the probability r x, performs the sampling of each neuron and the synapse by r s, (1-r x ), now without sampling with a probability of (1-r s) It means to bias the status quo to maintain the value of. The introduction of this status quo probability can also be derived as a change in the proposed distribution in the Metropolis-Hastings method.
  • equations (14) to (17) when a synchronous parallel computer such as GPU is used, only some neurons and synapses in the network are updated even if the synchronization is updated. can do. That is, since only some neurons and synapses are updated, it is possible to prevent unnecessary time from realizing asynchronous update and to efficiently perform calculations by a parallel computer.
  • the learned device generated by the learning method of the present embodiment can be incorporated into, for example, a mobile terminal device.
  • the trained device can generate at least one of the image data, the audio data, and the character string data as training data.
  • the mobile terminal device can perform processing such as image recognition and image classification to detect a required object when image data is input.
  • voice data is input
  • the mobile terminal device can perform processing such as voice recognition.
  • the mobile terminal device can perform natural language processing or the like when character string data is input.
  • FIG. 11 is an explanatory diagram showing the first evaluation result by the learning method of the present embodiment.
  • FIG. 11 shows the evaluation results using a typical handwritten character recognition data set (MNIST) often used in machine learning.
  • the neural network consists of an input layer, two intermediate layers, and an output layer.
  • the number of neurons in the input layer is 784
  • the number of neurons in the output layer is 10
  • the number of neurons in each layer of the intermediate layer is 500.
  • 60,000 data are used in one sampling.
  • One epoch corresponds to the number of times when all the training data is used up in learning.
  • FIG. 11 it can be seen that the estimation accuracy based on the training data and the estimation accuracy based on the test data are changing in the same manner.
  • FIG. 12 is an explanatory diagram showing the second evaluation result by the learning method of the present embodiment.
  • FIG. 12 shows the case of a recurrent neural network that is not unidirectionally connected, and the number of neurons in the input layer is 80, the number of neurons in the output layer is 3, and the number of neurons in the mesosphere is 200.
  • FIG. 12 it can be seen that the estimation accuracy based on the training data and the estimation accuracy based on the test data are changing in the same manner.
  • FIG. 13 is an explanatory diagram showing a third evaluation result by the learning method of the present embodiment.
  • the case of the recurrent neural network is shown, and the number of neurons in the input layer is 20, the number of neurons in the output layer is 20, and the number of neurons in the mesosphere is 40.
  • the result of learning the time series prediction using the recurrent neural network (learning with the input of the next time as the output) is shown.
  • learning was made so that the input at time t2 was output based on the input at time t1, and learning was made so that the input at time t3 was output based on the input at time t2. After that, the same applies to other times.
  • FIG. 13 shows the case of the recurrent neural network is shown, and the number of neurons in the input layer is 20, the number of neurons in the output layer is 20, and the number of neurons in the mesosphere is 40.
  • the result of learning the time series prediction using the recurrent neural network (learning with the input of the next time as the output) is shown.
  • the estimation accuracy based on the test data has been changing at a high value.
  • the input data is the same at time t3 and time t5
  • the estimation accuracy is as a result of depending on the past input data (time t2 for time t3 and time t4 for time t5). It has decreased slightly.
  • the state value of the neuron and the state value of the synapse are set as binary variables (random variables), but the present invention is not limited to this.
  • the state value of the neuron and the state value of the synapse are set as continuous variables (for example, continuous values that can take a value from 0 to 1) will be described. Since the configuration of the information processing device 50 is the same as that of the first embodiment, the description thereof will be omitted.
  • FIG. 14 is a schematic diagram showing an example of the synaptic configuration of the second embodiment.
  • the number of synapses will be described as 6.
  • the equation (7) can be replaced with the equation (18).
  • is an activation function (eg, sigmoid function).
  • q ijk is a bias argument that depends on the state of the anterior neuron and the state of the posterior neuron. The initial values q 0 and ijk are set to 0.
  • the join weight wij can be expressed by Eq. (19).
  • the connection weight wij can be expressed by the equation (21).
  • the formula expressed by the equation (22) holds, so that the coupling weight w ij can be expressed by the equation (23).
  • q ij is a bias value that depends on the state of the anterior neuron and the state of the posterior neuron. That is, it is not necessary to represent the connection weight w ij between the neural network neurons in many synapses s ijk.
  • the constant a may be simply 1, or may be a numerical value such as 0.1 or 0.5. It is preferable that the multiplication values a and K of the constants a and K be increased to some extent.
  • FIG. 15 is a schematic diagram showing an outline of the learning method of the neural network in the second embodiment.
  • the neurons in the input layer are fixed to the state x d in of the neurons corresponding to the training data of the data index d.
  • the neurons in the output layer are fixed to the state x d out of the neurons corresponding to the training data at the index d of the data.
  • the state of all neurons in the mesosphere is represented as ⁇ x di ⁇ .
  • training data is given to neurons in the input layer and output layer of the neural network
  • initial data is given to the connection weight between the neurons in the intermediate layer of the neural network and the neurons in the neural network
  • the neurons in the intermediate layer The neural network is trained by updating the state value and updating the connection weight between neurons based on the updated state value of each neuron.
  • the state value of the neuron in the middle layer is the sum of the signal values input to the neuron and the bias value from the posterior neuron connected to the neuron converted by the activation function (also called "function value"). Update based on. More specifically, the state value of the neuron in the mesosphere is updated to the value converted by the activation function.
  • the value converted by the activation function can take a value from 0 to 1. If the value converted by the activation function is, for example, 0.8, the state value of the neurons in the mesosphere is updated to 0.8.
  • Each neuron in the mesosphere can be updated based on equation (24).
  • is an activation function (for example, a sigmoid function).
  • d is an index of data and is also a mini-batch index used to update all neurons in the mesosphere once.
  • b di can bias the firing probability from the posterior neuron to the neuron x di . That is, the presence of the retrograde bias term b di makes it possible to spread the information of the training data given to the neurons in the output layer to the mesosphere of the network. In this sense, the bias term b di can be regarded as a stochastic expression based on the sampling of error propagation in the backpropagation method. This enables learning based on the information of the training data given to the neurons in the output layer without using error back propagation.
  • the bias value from the posterior neuron is calculated based on the difference between the state value of the posterior neuron and the value obtained by converting the sum of the signal values input to the posterior neuron by the activation function.
  • the bias value b di can be calculated by the equation (25).
  • x dj represents the state value of the posterior neuron x j
  • ⁇ (v dj ) is the value (function value) obtained by converting the sum of the signals input to the posterior neuron x j by the activation function. Represent.
  • FIG. 16 is a schematic diagram showing an example of the state of bias from the posterior neuron.
  • the neuron after the neuron x di is represented as x dj .
  • J is the number of posterior neurons.
  • Equation (25) is that when the state value x dj of the posterior neuron is larger than the function value ⁇ (v dj ), the bias value b di becomes positive, which is expressed by equation (24).
  • x di ⁇ (v di + b di) of the formula (v di + b di) is increased, the effect of increasing the state value of the neuron x i.
  • equation (25) can be regarded as retrograde error propagation, and unlike the conventional error backpropagation method, this retrograde error propagation is realized without the need for coordinated operation of the entire network. can do.
  • equations (26) and (27) can be used to update the state values of neurons.
  • r x and r b can be, for example, values greater than 0 and less than 1.
  • equation (27) in updating the bias value b di, with (1-r b) weighting maintain the current value of the b di, updates the value of b di weighting of r b, both Is the sum of the updated bias values b di .
  • the current value of x di is maintained by the weighting of (1-r x ), and the value of x di is updated by the weighting of r x .
  • the sum of the two is defined as the updated neuron state value x di .
  • the join weight can be updated based on the equations (28) and (29).
  • Equation (28) is the same as the above-mentioned equation (23).
  • the bias value q ij is a value that depends on the state value of the anterior neuron and the state value of the posterior neuron.
  • the bias value q ij is the value ⁇ (v dj) obtained by converting the sum v dj of the signal values input to the posterior neuron from the state value x dj of the posterior neuron by the activation function. ) Is subtracted, and the subtraction value is updated based on the multiplication value obtained by multiplying the state value x di of the preneuron.
  • FIG. 17 is a schematic diagram showing an example of the state of the connection weight that connects the anterior neuron and the posterior neuron.
  • x di represents the state value of the preneuron.
  • x dj represents the state value of the posterior neuron.
  • ⁇ (v dj ) represents the function value obtained by converting the sum of the signals input to the posterior neuron x j by the activation function.
  • the meaning of equation (29) is that when the state value x dj of the posterior neuron is larger than the function value ⁇ (v dj ), the bias value q ij becomes positive, which is expressed by equation (28). It has the effect of increasing ⁇ (a ⁇ q ij ) and increasing the bond weight w ij .
  • equation (29) can be regarded as retrograde error propagation, and unlike the conventional error backpropagation method, this retrograde error propagation is realized without the need for coordinated operation of the entire network. can do.
  • equation (30) and the equation (31) can be used to update the connection weight.
  • r w and r q can be, for example, values greater than 0 and less than 1.
  • the current value of q ij is maintained by the weighting of (1-r q )
  • the value of q ij is updated by the weighting of r q.
  • the sum of is the updated bias value q ij .
  • the current value of w ij is maintained by the weight of (1-r w )
  • the value of w ij is updated by the weight of r w.
  • the sum of the two is the updated join weight wij .
  • FIG. 18 is a flowchart showing an example of the learning processing procedure of the neural network of the second embodiment.
  • the processor 51 assigns the training data to the neurons in the input layer and the output layer (S31), and assigns the connection weights in the neural network and the initial values to the neurons in the intermediate layer (S32).
  • the processor 51 selects neurons in the mesosphere, updates the bias value b di based on the equation (25) or the equation (27) (S33), and updates the neurons x di based on the equation (24) or the equation (26). Update (S34).
  • the processor 51 determines whether or not the update of all the neurons in the mesosphere has been completed (S35), and if the update of all the neurons has not been completed (NO in S35), the process after step S33 is repeated.
  • step S36 it is determined whether or not there is data of another index that is not used for updating.
  • the processor 51 acquires the training data of the next set (that is, the next index) (S37), and repeats the processing in step S31 and subsequent steps.
  • the processor 51 selects the coupling between neurons in the neural network and updates the bias value q ij based on equation (29) or equation (31) (S38) and couples.
  • the weight w ij is updated based on the equation (28) or the equation (30) (S39).
  • the processor 51 determines whether or not all the connection weights in the neural network have been updated (S40), and if all the connection weights have not been updated (NO in S40), the processing after step S38. repeat. When all the join weights have been updated (YES in S40), the processor 51 determines whether or not to repeat the process (S41).
  • Whether or not to repeat the process may be determined based on whether or not the required performance is obtained by evaluating the performance of the updated join weight, or whether or not the predetermined number of times of processing has been completed. The determination may be made based on whether or not.
  • the processor 51 repeats the processing after step S31, and when the processing is not repeated (NO in S41), the processor 51 ends the processing.
  • FIG. 19 is an explanatory diagram showing an example of the evaluation result by the learning method of the second embodiment.
  • FIG. 19 shows the evaluation results using a typical handwritten character recognition data set (MNIST) often used in machine learning, as in the case of FIG.
  • MNIST handwritten character recognition data set
  • the recognition accuracy of the training data is about 95% and the recognition accuracy of the test data is about 94%
  • the recognition accuracy of the training data is about 99% and the test.
  • the data recognition accuracy is about 97%.
  • the learning accuracy tends to be improved in the case of the second embodiment. It is considered that this is because the continuous value is used instead of the binary value, so that the possible values of the neuron state value and the connection weight become finer.
  • the number of variables required for learning can be significantly reduced.
  • the calculation time by the GPU or the like can be reduced, and the implementation on the computer becomes easy.
  • FIG. 20 is a block diagram showing an example of the configuration of the mobile terminal device 100.
  • the mobile terminal device 100 can be connected to the server 200 as a learning processing device via a communication network.
  • the mobile terminal device 100 includes a processor 101, a camera unit 102, a microphone 103, a speaker 104, a display panel 105, an operation unit 106, a communication unit 107, a ROM 108, a memory 109, and a storage unit 110 that control the entire device.
  • the storage unit 110 stores a learning processing unit 111 and a learning model 112 that include computer programs and data for learning a neural network.
  • the learning processing unit 111 and the learning model 112 have the same configuration as the example of FIG.
  • the camera unit 102 can capture an image (including a moving image).
  • the microphone 103 can acquire voice data.
  • the speaker can output sound.
  • the communication unit 107 has a communication function with the communication unit 202 of the server 200 via the communication network 1.
  • the communication unit 107 can transmit / receive information to / from another device (not shown). Since the display panel 105, the operation unit 106, the ROM 108, the memory 109, and the storage unit 110 are the same as those in FIG. 9, the description thereof will be omitted.
  • the learning model 112 as a trained device has a neural network and has been trained by the learning method of the neural network of the present embodiment, or is generated by the generation method of the neural network of the present embodiment.
  • the learning model 112 can also be relearned by the learning processing unit 111. When the learning model 112 is not retrained, the learning processing unit 111 may not be provided.
  • the learning model 112 is generated or trained by using at least one of image data, audio data, and character string data as training data.
  • the learning of the learning model 112 may be unsupervised learning without a teacher label or supervised learning with a teacher label.
  • the portable terminal device 100 can recognize, for example, a person or an object in the image captured by the camera unit 102. Further, the recognition result can be output by voice from the speaker 104.
  • the portable terminal device 100 By generating or learning the learning model 112 using the voice data as training data, the portable terminal device 100 understands the content based on the voice of the other party acquired by, for example, the microphone 103, and the speaker 104. You can communicate with the other party by outputting voice from.
  • the mobile terminal device 100 can use, for example, the character information reflected in the image captured by the camera unit 102 or the communication unit 107. It is possible to understand the contents of the acquired character information and the like, display the summary of the character information and the contents of the response to the character information on the display panel 105, or output by voice from the speaker 104.
  • the server 200 has a function as a learning processing device.
  • the server 200 includes a processor 201, a communication unit 202, a ROM 203, a memory 204, and a storage unit 205.
  • the learning processing unit 206 and the learning model 207 are stored in the storage unit 205.
  • the ROM 203, the memory 204, the storage unit 205, the learning processing unit 206, and the learning model 207 are the same as in the example of FIG.
  • the server 200 may be configured by one server, or may be configured by a plurality of servers. In this case, each part of the server 200 can be distributed among a plurality of servers, and for example, at least one of the learning processing unit 206 and the learning model 207 can be provided in another server different from the server 200. Further, the learning processing unit 206 and the learning model 207 may be provided in each of the servers different from the server 200.
  • the learning processing unit 206 (which may include the processor 201) sets each neuron in the neural network as a stochastic variable capable of taking binary values, and sets the connection weight between the neurons in the neural network as a required connection coefficient. Processing that uses the multiple synapses expressed by multiple synapses multiplied by each as a stochastic variable that can take binary values, and gives training data to neurons in the input layer and output layer, and initial data to neurons in the intermediate layer. From the conditional probability distribution under the condition that the probability variables of the neurons of the input layer and the output layer are the values of the training data, sampling based on the Markov chain Monte Carlo method is performed to each of the intermediate layers. It is possible to execute a process of repeatedly updating the state value of each synapse in the neuron and the neural network, and a process of calculating the connection weight between neurons based on the state value of each updated synapse.
  • the mobile terminal device 100 can also download the learned learning model 207 from the server 200 and store it in the storage unit 110. In this case, the mobile terminal device 100 can also download the learning model 207 relearned by the learning processing unit 206 of the server 200 and update the learning model 112. When the learning model is downloaded from the server 200, the mobile terminal device 100 does not have to include the learning processing unit 111.
  • Information processing device 51 Processor 52 Operation unit 53 Interface unit 54 Display panel 55 ROM 56 Memory 57 Storage unit 58 Recording medium reading unit 571 Learning processing unit 572 Learning model 100 Mobile terminal device 101 Processor 102 Camera unit 103 Microphone 104 Speaker 105 Display panel 106 Operation unit 107 Communication unit 108 ROM 109 Memory 110 Storage 111 Learning processing 112 Learning model 200 Server 201 Processor 202 Communication 203 ROM 204 Memory 205 Storage unit 206 Learning processing unit 207 Learning model

Landscapes

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

Abstract

誤差逆伝播法を用いる必要がないニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラムを提供する。 ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、ニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、複数のシナプスを、二値を取り得る確率変数とし、中間層のニューロンに初期データを与え、入力層及び出力層それぞれのニューロンの確率変数が訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って中間層の各ニューロン及び各シナプスそれぞれの状態値を更新する処理を繰り返し、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する。

Description

ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム
 本発明は、ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラムに関する。
 ニューラルネットワークは、近年の急速に発展している機械学習(人工知能)の実体をなす基盤技術であり、ネットワークに含まれる多数のパラメータを与えられた訓練データによって調整(学習)することによって生成される。
 特許文献1には、ニューラルネットワークの学習で中心的に用いられている誤差逆伝播法と呼ばれる近似的な最適化法が開示されている。
特開平6-282531号公報
 しかし、誤差逆伝播法は、出力層で計算された誤差をネットワーク全体に同期的に伝播させることで学習を実現するため、入力から誤差を計算するための順方向計算と、誤差をネットワークに伝播させる逆方向計算の二種類の計算を交互に繰り返す必要がある。また、誤差逆伝播法は、一方向ネットワークのみ適用が可能であり、最適性が保証されておらず、誤差関数(目的関数)を人工的に設計する必要があり、過学習を起こしやすく、学習には大量のデータを必要とし、また、学習率(学習パラメータ)の微調整なども必要となる。このように、誤差逆伝播法には、様々な課題がある。
 本発明は斯かる事情に鑑みてなされたものであり、誤差逆伝播法を用いる必要がないニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラムを提供することを目的とする。
 本発明の実施の形態に係るニューラルネットワークの学習方法は、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を更新する処理を繰り返し、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する。
 本発明の実施の形態に係るニューラルネットワークの学習方法は、ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、前記中間層のニューロンの状態値を、前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する。
 本発明の実施の形態に係るニューラルネットワークの生成方法は、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を更新する処理を繰り返し、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出してニューラルネットワークを生成する。
 本発明の実施の形態に係るニューラルネットワークの生成方法は、ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、前記中間層のニューロンの状態値を、前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する。
 本発明の実施の形態に係る学習済装置は、ニューラルネットワークを有する学習済装置であって、コンピュータに、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新し、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、処理を実行させて生成されてある。
 本発明の実施の形態に係る学習済装置は、ニューラルネットワークを有する学習済装置であって、コンピュータに、ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、前記中間層のニューロンの状態値を、前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、処理を実行させて生成されてある。
 本発明の実施の形態に係る携帯端末装置は、前述の学習済装置を備える携帯端末装置であって、前記学習済装置は、画像データ、音声データ及び文字列データの少なくとも一方を訓練データとして用いて生成してある。
 本発明の実施の形態に係る学習処理装置は、プロセッサを備え、ニューラルネットワークを学習させる学習処理装置であって、前記プロセッサは、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新し、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、処理を実行する。
 本発明の実施の形態に係る学習処理装置は、プロセッサを備え、ニューラルネットワークを学習させる学習処理装置であって、前記プロセッサは、ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、前記中間層のニューロンの状態値を、前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、処理を実行する。
 本発明の実施の形態に係るコンピュータプログラムは、コンピュータに、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新し、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、処理を実行させる。
 本発明の実施の形態に係るコンピュータプログラムは、コンピュータに、ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、前記中間層のニューロンの状態値を、前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、処理を実行させる。
 本発明によれば、誤差逆伝播法を用いる必要がなく、一種類の計算だけで学習でき、ネットワークの学習を、局所的かつ非同期な計算で実現できる。
ニューラルネットワークの構成の一例を示す模式図である。 本実施の形態のシナプスの構成の一例を示す模式図である。 ニューラルネットワークの学習方法の概要を示す模式図である。 ニューロンに入力される信号の和の一例を示す模式図である。 後ニューロンからのバイアスの様子の一例を示す模式図である。 ギブスサンプリングの処理の一例を示す説明図である。 前ニューロンと後ニューロンとを結合するシナプスの様子の一例を示す模式図である。 リカレントニューラルネットワークの構成の一例を示す模式図である。 リカレントニューラルネットワークの構成の一例を示す模式図である。 ニューラルネットワークの学習に用いられる情報処理装置の構成の一例を示すブロック図である。 ニューラルネットワークの学習の処理手順の一例を示すフローチャートである。 本実施の形態の学習方法による第1評価結果を示す説明図である。 本実施の形態の学習方法による第2評価結果を示す説明図である。 本実施の形態の学習方法による第3評価結果を示す説明図である。 第2実施形態のシナプスの構成の一例を示す模式図である。 第2実施形態でのニューラルネットワークの学習方法の概要を示す模式図である。 後ニューロンからのバイアスの様子の一例を示す模式図である。 前ニューロンと後ニューロンとを結合する結合重みの様子の一例を示す模式図である。 第2実施形態のニューラルネットワークの学習の処理手順の一例を示すフローチャートである。 第2実施形態の学習方法による評価結果の一例を示す説明図である。 携帯端末装置の構成の一例を示すブロック図である。
(第1実施形態)
 以下、本発明をその実施の形態を示す図面に基づいて説明する。図1はニューラルネットワークの構成の一例を示す模式図である。ニューラルネットワークは、入力層、出力層及び複数の中間層から構成されている。なお、図1では、便宜上、3つ中間層を図示しているが、中間層の数は3つに限定されない。
 入力層、出力層及び中間層には、ニューロン(図中丸で示す)が存在し、隣り合うニューロンは、結合重みで結合されている。図1に示すように、i番目のニューロンをxで表し、j番目のニューロンをxで表す。i、jはニューロン番号のインデックスである。ニューロンxiからニューロンxへの結合重みをwijと表し、ニューロンxjからニューロンxへの結合重みをwjiと表す。ここで、wijとwjiとは同じ値でもよく、異なる値でもよい。一般的には、wijとwjiとは異なる値でよい。
 本実施の形態では、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とする。二値は、例えば、「1」、「0」とすることができ、確率変数は、活性化関数によって変換された値の確率に従って決定される二値を取り得る変数とすることができる。例えば、各ニューロンxiは、0か1の値を取る。xi=1はニューロンが発火状態、xi=0はニューロンが非発火状態であることを表す。
 各ニューロンは、式(1)で表される式に基づく確率で1を取る。mはニューロン番号のインデックスである。Σは、例えば、m=1からMまでの和を表す。Mは、ニューロンxiに対して入力信号を与えるニューロンの数である。σはニューロンの活性化関数であり、式(2)で表す、シグモイド関数とすることができる。
Figure JPOXMLDOC01-appb-M000001
 図2は本実施の形態のシナプスの構成の一例を示す模式図である。図2に示すように、本実施の形態では、ニューラルネットワーク内のニューロン間の結合重みを、所要の結合係数がそれぞれ乗算された複数のシナプスに分解する。例えば、図2に示すように、ニューロンxからニューロンxへの結合重みwijとし、シナプスをsijkとすると、結合重みwijは、式(3)で表すことができる。
Figure JPOXMLDOC01-appb-M000002
 ここで、aijkは所要の結合係数であり、学習によって変化しない比較的小さな定数とすることができる。Σは、例えば、k=1からKまでの和を表す。
 同様に、ニューロンxからニューロンxへの結合重みwjiとし、シナプスをsjikとすると、wji=Σsjik・ajikと表すことができる。ここで、ajikは所要の結合係数であり、学習によって変化しない比較的小さな定数とすることができる。Σは、例えば、k=1からKまでの和を表す。
 また、本実施の形態では、ニューラルネットワーク内の各シナプスを、二値を取り得る確率変数とする。二値は、例えば、「1」、「0」とすることができ、確率変数は、活性化関数によって変換された値の確率に従って決定される二値を取り得る変数とすることができる。例えば、シナプスsijkは、0か1の値を取る。sijk=1は結合状態、sijk=0は非結合状態を表す。図2では、二値を取り得ることを黒丸と白丸で模式的に表している。
 ニューラルネットワークの学習方法は、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与える。そして、入力層及び出力層それぞれのニューロンの確率変数が訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を更新する処理を繰り返す。
 図3はニューラルネットワークの学習方法の概要を示す模式図である。図3に示すように、入力層のニューロンは、データのインデックスdの訓練データに対応するニューロンの状態xd inに固定する。出力層のニューロンは、データのインデックスdの訓練データに対応するニューロンの状態xd out に固定する。中間層の全てのニューロンの状態を{xdi}と表す。また、中間層の全てのシナプスの状態を{sijk }と表す。マルコフ連鎖モンテカルロ法に基づくサンプリングは、式(4)で表すように、入力層のニューロンの状態xd in及び出力層のニューロンの状態xd out が与えられた条件下で、条件付き確率分布Pから、中間層の全てのニューロンの状態{xdi}と、中間層の全てのシナプスの状態{sijk }とをサンプリングして更新する処理を繰り返す。
Figure JPOXMLDOC01-appb-M000003
 すなわち、ニューロンのスパイク発火活動と、シナプスが変化する様子(シナプス可塑性)の両方を統一的に扱い、訓練データ(学習用の入力データと教師データ)が与えられた条件下での、条件付き確率分布からのサンプリングを繰り返すことにより、中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を更新する。この場合、入力層のニューロンの状態値及び出力層のニューロンの状態値は、訓練データの値に固定する。
 マルコフ連鎖モンテカルロ法には、例えば、ギブスサンプリング法、メトロポリス・ヘイスティング法などが含まれる。これらのサンプリング手法では、サンプリングを繰り返すことにより、サンプリングした値が、初期値(例えば、中間層のニューロンに与えた初期データ)に依存せず、真の分布からサンプリングした値に収束するという性質を有している。
 すなわち、後述の所要の更新則を用いることによって、入力層のニューロン及び出力層のニューロンを訓練データに固定した条件下での、条件付き確率分布からのサンプリングが可能となり、中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの値を得ることができる。また、サンプリングの順序は問わず、特定の順番でもよく、ランダムに行ってもよい。
 中間層の各ニューロンは、当該ニューロンと繋がる前ニューロン(入力側のニューロン)及び後ニューロン(出力側のニューロン)からの影響を考慮すればよく、また、各シナプスも、当該シナプスが結合する前ニューロン及び後ニューロンからの影響を考慮すればよいので、ネットワークの大域的な状態を考慮する必要がなく、局所的かつ非同期に計算を行うことができる。
 更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する。結合重みの計算は式(3)、すなわち、wij=Σsijk・aijkという式から求めることができる。aijkは比較的小さい定数とすることができ、定数の数の和Kを適当な値に設定できる。各シナプスsijkの値を、1か0にするだけで結合重みwijの値を適当な値にすることができる。
 上述のように、誤差逆伝播法を用いる必要がなく、一種類の計算だけで学習でき、ネットワークの学習を、局所的かつ非同期な計算で実現でき、多様なネットワークにも適用することができる。また、誤差関数の設計が不要であり、学習率が不要であり、十分なデータ数がある場合には、最適性が保証される。
 次に、ニューロンの更新則及びシナプスの更新則について説明する。また、以下では、ギブスサンプリング法を用いて説明する。まず、ニューロンの更新則について説明する。
 中間層のニューロンの状態値を、当該ニューロンに入力される信号値の和と、当該ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新する。より具体的には、中間層のニューロンの状態値を、活性化関数によって変換した値の確率で1に更新する。活性化関数によって変換される値は、0から1までの値を取り得る。変換された値が、例えば、0.8である場合、中間層のニューロンの状態値を0.8の確率で1に更新し、残りの確率0.2(=1-0.8)で0に更新する。
 中間層の各ニューロンは、式(5)で表す式に基づいて更新することができる。
Figure JPOXMLDOC01-appb-M000004
 σは活性化関数(例えば、シグモイド関数)である。dはデータのインデックスであり、中間層の全てのニューロンを1回更新する際に用いられるミニバッチのインデックスでもある。
 図4はニューロンに入力される信号の和の一例を示す模式図である。図4に示すように、ニューロンxdiに入力される信号値の和vdiは、vdi =(Σxdm ・wmi)という式で表され(便宜上、Σの下のmは省略する)、Σは、例えば、m=1からMまでの和を表す。Mは、ニューロンxdiの入力側で繋がっているニューロン(前ニューロン)の数である。
 式(5)において、bdi は、後ニューロンから当該ニューロンxdiへの発火確率のバイアスを与えることができる。すなわち、逆行性のバイアス項bdi の存在によって、出力層のニューロンに与えられた訓練データの情報を、ネットワークの中間層に波及させることが可能となる。この意味で、バイアス項bdi は、誤差逆伝播法の誤差伝播のサンプリングに基づく確率的な表現とみなすことができる。これにより、誤差逆伝播を用いなくても、出力層のニューロンに与えられた訓練データの情報に基づく学習が可能となる。
 次に、バイアス項bdi について説明する。
 後ニューロンからのバイアス値を、後ニューロンの状態値と後ニューロンの期待値との差に基づいて算出する。バイアス値bdi は、式(6)で算出することができる。式(6)において、xdjは後ニューロンxの状態値を表し、σ(vdj)は、後ニューロンxに入力される信号の和によって得られる後ニューロンの状態の期待値(予測値)を表す。
 図5は後ニューロンからのバイアスの様子の一例を示す模式図である。図5に示すように、当該ニューロンxdiの後ニューロンをxdjと表す。jは、例えば、j=1~Jとすることができる。Jは後ニューロンの数である。
 式(6)が意味するところは、後ニューロンの状態が期待値よりも大きい場合には、バイアス値bdi が正になることにより、P(xdi=1)=σ(vdi+bdi )という式の(vdi+bdi )が大きくなり、当該ニューロンxを発火しやすくする効果がある。また、後ニューロンの状態が期待値よりも小さい場合には、バイアス値bdi が負になることにより、P(xdi=1)=σ(vdi+bdi )という式の(vdi+bdi )が小さくなり、当該ニューロンxを発火しにくくする効果がある。
 このように、式(6)は、逆行性の誤差伝播とみなすことができ、従来の誤差逆伝播法とは異なり、この逆行性の誤差伝播はネットワーク全体の協調的動作を必要とせずに実現することができる。
 ギブスサンプリング法では、中間層の各ニューロンの所要の更新則として、式(5)及び式(6)に基づいてサンプリングを行う。
 図6はギブスサンプリングの処理の一例を示す説明図である。なお、図6では、便宜上確率変数をx、…、xとして説明する。まず、ステップS1では、初期値x(0) ={x (0)、x (0)、…、x (0)}を決定する。ステップS2では、t=0とする。ステップS3では、x (0)、…、x (0)が与えられた条件下で、x (1)をサンプリングする。ここで、x (1)の値が得られる。ステップS4では、ステップS3で得られたx (1)の値を用いて、x (1)、x (0)、…、x (0) が与えられた条件下で、x (1)をサンプリングする。以下、同様にして、x (1)をサンプリングする。これにより、x (1)、x (1)、…、x (1)を得ることができる。ステップS6で、t=t+1とし、ステップS7でステップS3以降の処理を繰り返す。
 ギブスサンプリングは、真の分布(今は真の事後分布)からのサンプリングを変数ごとのサンプリングの繰り返しで実現する手法であり、十分な繰り返し回数の後は、真の分布からのサンプリングが実現できることが保証されている。事後分布からサンプリングされた値は、データ数が多い場合には、最適解(教師データの対数尤度が最大)に一致することが保証される。
 次に、シナプスの更新則について説明する。
 前ニューロンと後ニューロンとを結合する複数のシナプスの状態値を、前ニューロンの状態値及び後ニューロンの状態値に基づく値に更新する。
 前ニューロンと後ニューロンとを結合する複数のシナプスsijk は、式(7)に基づいて更新することができる。
Figure JPOXMLDOC01-appb-M000005
 式(7)において、σは活性化関数(例えば、シグモイド関数)である。q0,ijkは、初期値であり、例えば、0としてもよい。qijk は前ニューロンの状態及び後ニューロンの状態に依存するバイアス項である。前ニューロンの状態が非発火(xdi=0)であれば、シナプスを考慮する必要がない。また、前ニューロンの状態が発火(xdi=1)であれば、後ニューロンの状態に応じたバイアスによって複数のシナプスの状態を更新できる。
 次に、バイアス項qijk について説明する。
 より具体的には、前ニューロンと後ニューロンとを結合する複数のシナプスの状態値は、前ニューロンの状態値に、後ニューロンの状態値と後ニューロンの期待値との差を乗算した値を活性化関数によって変換した値に基づいて更新することができる。すなわち、シナプスの状態値を、活性化関数によって変換した値の確率で1に更新し、残りの確率で0に更新する。変換された値が、例えば、0.8である場合、シナプスの状態値を0.8の確率で1に更新し、残りの確率0.2(=1-0.8)で0に更新する。
 バイアス項qijk は、式(8)で更新することができる。式(8)において、Σはデータのインデックスdについての和である。すなわち、中間層の全てのニューロンを1回更新する際に用いられるミニバッチのインデックスdそれぞれについての和であり、Σによる和の計算は、中間層の各ニューロンの更新が、データ毎に行われるのに対し、ニューラルネットワーク内のシナプスの更新は、全てのデータについての和となる。σは活性化関数(例えば、シグモイド関数)である。
 図7は前ニューロンと後ニューロンとを結合するシナプスの様子の一例を示す模式図である。xdiは前ニューロンの状態値を表す。xdjは後ニューロンの状態値を表す。σ(vdj)は、後ニューロンxに入力される信号の和によって得られる後ニューロンの状態の期待値を表す。
 前ニューロンが発火しなければxdi=0であり、バイアス項qijk は0となる。前ニューロンが発火したとき(xdi=1)、後ニューロンxdjが発火すれば(xdj=1)、バイアス項qijk に正の寄与を与え、シナプスを増強し(結果として、結合重みwijを大きくする)、後ニューロンxdjが発火しなければ(xdj=0)、バイアス項qijk に負の寄与を与え、シナプスを抑制する(結果として、結合重みwijを小さくする)ことができる。
 ニューラルネットワーク内の各シナプスそれぞれの状態値は、中間層の各ニューロンそれぞれの更新された状態値を用いて更新することができる。すなわち、インデックスd毎のデータを用いて、中間層の全てのニューロンをデータ毎に1回更新する。そして、すべてのインデックスdのデータについて更新した全てのニューロンの値を用いてニューラルネットワーク内の各シナプスそれぞれの状態値を求める。これにより、データ毎(例えば、ミニバッチのデータ)に中間層の全てのニューロンの状態が決定され、全てのインデックスのデータについて決定された全てのニューロンの状態に基づいてニューラルネットワーク内の各シナプスの状態を求めることができる。
 別言すれば、脳内では、シナプスもニューロンと同様に確率的に振る舞うことが知られており、シナプスの確率的動作は、ニューロンの動作に比べて遅いスケールで実現する。上述の構成は、シナプスの更新が、ニューロンの更新に対して遅い時間スケールで動作することを意味しており、ニューロンとシナプスとが、それぞれ異なった時間スケールの確率的更新則に従うことが導かれる。
 本実施の形態は、リカレントニューラルネットワークのような多様なニューラルネットワークにも適用することができる。
 図8A及び図8Bはリカレントニューラルネットワークの構成の一例を示す模式図である。便宜上、図8Aに示すような、入力層、1つの中間層及び出力層で構成されるリカレントニューラルネットワークを考える。x、x、xは、入力層、中間層、出力層のニューロンとする。
 図8Bは、図8Aに示す中間層のループ構造を展開させたものであり、図1に示すような、一般的なニューラルネットワークの構成にすることができ、前述の更新則を用いて中間層の全てのニューロン及びニューラルネットワークの各シナプスを更新することができる。なお、図8Bのように展開しなくてもよい。
 図9はニューラルネットワークの学習に用いられる情報処理装置50の構成の一例を示すブロック図である。学習処理装置としての情報処理装置50は、プロセッサ51、操作部52、インタフェース部53、表示パネル54、ROM55、メモリ56(例えば、RAM)、記憶部57及び記録媒体読取部58を備える。記憶部57には、ニューラルネットワークの学習を行うコンピュータプログラムやデータなどが含まれる学習処理部571、学習モデル572が記憶される。なお、学習モデル572は、ニューラルネットワークを有し、学習前、学習途中、あるいは学習済の学習モデル(学習済装置)とすることができる。なお、情報処理装置50は、1台の装置で構成してもよく、あるいは複数台の装置で構成してもよい。この場合、情報処理装置50の各部を複数台の装置で分散させて構成することができ、例えば、学習処理部571及び学習モデル572の少なくとも一方を、情報処理装置50と異なる別の装置に備えることができる。また、学習処理部571及び学習モデル572それぞれを、情報処理装置50と異なる別の装置それぞれに備えるようにしてもよい。
 プロセッサ51及び学習処理部571は、例えば、CPU(例えば、1個のプロセッサ又は複数のプロセッサコアを実装したマルチ・プロセッサなど)、GPU(Graphics Processing Units)、DSP(Digital Signal Processors)、FPGA(Field-Programmable Gate Arrays)などのハードウェアを組み合わせることによって構成することができる。
 表示パネル54は、液晶パネル又は有機EL(Electro Luminescence)ディスプレイ等で構成することができる。
 操作部52は、例えば、ハードウェアキーボード、マウスなどで構成され、表示パネル24に表示されたアイコンなどの操作、文字等の入力などを行うことができる。なお、操作部52は、タッチパネルで構成してもよい。
 インタフェース部53は、ニューラルネットワークの学習に必要な訓練データ、テストデータなどを外部の装置等から取得することができる。また、インタフェース部53は、ニューラルネットワークの学習の過程で得られたデータなどを出力することができる。
 記憶部57は、ハードディスク又はフラッシュメモリなどで構成することができる。記憶部57に記憶された学習処理部571、学習モデル572をメモリ56に読み込んでプロセッサ51によって処理することにより、ニューラルネットワークの学習を行うことができる。
 記録媒体読取部58は、コンピュータプログラムを記録した記録媒体M(例えば、DVDなどのメディア)からコンピュータプログラム(例えば、図10及び図18に示す処理手順など)を読み取ることが可能である。なお、図示していないが、記録媒体Mに記録されたコンピュータプログラムは、持ち運びが自由なメディアに記録されたものに限定されるものではなく、インターネット又は他の通信回線を通じて伝送されるコンピュータプログラムも含めることができる。
 学習処理部571(プロセッサ51を含めてもよい)は、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とする処理と、ニューラルネットワーク内のニューロン間の結合重みを、所要の結合係数がそれぞれ乗算された複数のシナプスで表現した当該複数のシナプスを、二値を取り得る確率変数とする処理と、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与える処理と、入力層及び出力層それぞれのニューロンの確率変数が当該訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新する処理と、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する処理とを実行することができる。
 図10はニューラルネットワークの学習の処理手順の一例を示すフローチャートである。以下では、便宜上、処理の主体をプロセッサ51として説明する。プロセッサ51は、訓練データを入力層及び出力層のニューロンに代入し(S11)、ニューラルネットワーク内のシナプス及び中間層のニューロンに初期値を代入する(S12)。
 プロセッサ51は、中間層のニューロンを選んでバイアス値bdiを式(6)に基づいて更新し(S13)、ニューロンxdiを式(5)に基づいて更新する(S14)。プロセッサ51は、中間層の全てのニューロンの更新を終了したか否かを判定し(S15)、全てのニューロンの更新を終了していない場合(S15でNO)、ステップS13以降の処理を繰り返す。
 全てのニューロンの更新を終了した場合(S15でYES)、すなわち、1つのインデックスのデータを用いて更新が終了した場合、プロセッサ51は、訓練データがあるか否かを判定する(S16)。ステップS16では、更新に用いられていない他のインデックスのデータがあるか否かを判定する。
 訓練データがある場合(S16でYES)、プロセッサ51は、次のセット(すなわち、次のインデックス)の訓練データを取得し(S17)、ステップS11以降の処理を繰り返す。訓練データがない場合(S16でNO)、プロセッサ51は、ニューラルネットワーク内のシナプスを選んでバイアス値qijk を式(8)に基づいて更新し(S18)、シナプスsijk を式(7)に基づいて更新する(S19)。
 プロセッサ51は、ニューラルネットワーク内の全てのシナプスの更新を終了したか否かを判定し(S20)、全てのシナプスの更新を終了していない場合(S20でNO)、ステップS18以降の処理を繰り返す。全てのシナプスの更新を終了した場合(S20でYES)、プロセッサ51は、更新したシナプスの値に基づいて結合重みwijを算出する(S21)。
 プロセッサ51は、処理を繰り返すか否かを判定する(S22)。処理を繰り返すか否かは、例えば、ステップS21で算出した結合重みの性能を評価し、必要な性能が得られているか否かに基づいて判定してもよく、あるいは、予め定められた回数の処理が終了したか否かに基づいて判定してもよい。処理を繰り返す場合(S22でYES)、プロセッサ51は、ステップS11以降の処理を繰り返し、処理を繰り返さない場合(S22でNO)、処理を終了する。
 上述の実施の形態において、式(6)及び式(8)で示す更新則は、それぞれ式(9)及び式(10)を用いることにより、より正確に更新することができる。ここで、fdj(x)は、式(11)で表すことができ、vdj,-iは式(12)で表すことができ、vdj,-ikは式(13)で表すことができる。ここでは、i番目のニューロンの状態をサンプリングで求める場合、i番目のニューロンの寄与を除くようにし、またqijk の状態をサンプリングする場合、qijk の寄与を除くようにしているので、ギブスサンプリングをより正確に適用することができる。
Figure JPOXMLDOC01-appb-M000006
 また、上述の実施の形態において、式(6)及び式(8)で示す更新則に代えて、それぞれ式(14)及び式(15)を用いることもできる。ここでは、bdiの更新において、現在のbdiの値を反映し、qijk の更新において、現在のqijk の値を反映している。
 同様に、上述の実施の形態において、式(5)及び式(7)で示す更新則に代えて、それぞれ式(16)及び式(17)を用いることもできる。ここでは、xdiの更新において、現在のxdiの値を反映し、sijkの更新において、現在のsijkの値を反映している。式(14)~式(17)は、メトロポリス・ヘイスティング法によるサンプリングを行うことに対応する。
 式(16)及び式(17)において、r、rsは、例えば、0より大きく1より小さい値とすることができる。式(16)及び式(17)は、確率r、rsで各ニューロン及び各シナプスのサンプリングを行うが、(1-rx)、(1-rs)の確率でサンプリングを行わず現在の値を維持するように現状維持のバイアスをかけることを意味している。なお、この現状維持確率の導入は、メトロポリス・ヘイスティング法での提案分布の変更として導くこともできる。
 また、式(14)~式(17)を用いることにより、GPUなどの同期的な並列計算機を用いる場合に、同期更新してもネットワーク内の一部のニューロンとシナプスだけが更新されるようにすることができる。すなわち、一部のニューロンとシナプスだけが更新されるので、非同期更新の実現に無駄に時間がかかることを防止して、並列計算機による計算を効率的に行うことができる。
 本実施の形態の学習方法に必要な計算量のオーダは、結合重みの数をW、データ数をD、結合あたりのシナプス数をKとして、データ数が多い場合はO(W(D+K))=O(WD)となり、誤差逆伝播法と同様である。
 本実施の形態の学習方法によって生成された学習済装置は、例えば、携帯端末装置などに組み込むことができる。この場合、学習済装置は、画像データ、音声データ及び文字列データの少なくとも一方を訓練データとして用いて生成しておくことができる。これにより、携帯端末装置は、画像データが入力されると、所要の対象物を検出するような画像認識、画像分類などの処理を行うことができる。携帯端末装置は、音声データが入力されると、音声認識などの処理を行うことができる。また、携帯端末装置は、文字列データが入力されると、自然言語処理などを行うことができる。
 次に、本実施の形態の学習方法の有効性について説明する。
 図11は本実施の形態の学習方法による第1評価結果を示す説明図である。図11は、機械学習でよく用いられる代表的な手書き文字認識データセット(MNIST)を用いた評価結果を示す。ニューラルネットワークは、入力層、2つの中間層及び出力層であり、入力層のニューロンは784個、出力層のニューロンは10個、中間層の各層のニューロンは500個とした。1回のサンプリングで6万のデータを使用している。1エポックは、学習において訓練データを全て使い切ったときの回数に相当する。図11に示すように、訓練データに基づく推定精度と、テストデータに基づく推定精度とは同じように推移していることが分かる。
 図12は本実施の形態の学習方法による第2評価結果を示す説明図である。図12では、一方向結合ではないリカレントニューラルネットワークの場合を示し、入力層のニューロンは80個、出力層のニューロンは3個、中間層のニューロンは200個とした。入力の画素(i=0~80)に対して、出力値(i=0~3)を出力するネットワークである。図12に示すように、訓練データに基づく推定精度と、テストデータに基づく推定精度とは同じように推移していることが分かる。
 図13は本実施の形態の学習方法による第3評価結果を示す説明図である。図13では、リカレントニューラルネットワークの場合を示し、入力層のニューロンは20個、出力層のニューロンは20個、中間層のニューロンは40個とした。リカレントニューラルネットワークを用いた時系列予測の学習(次時刻の入力を出力とする学習)を行った結果を示す。図13に示すように、時刻t1の入力に基づいて、時刻t2の入力が出力されるように学習し、時刻t2の入力に基づいて、時刻t3の入力が出力されるように学習させた。以降、他の時刻も同様である。図13に示すように、テストデータに基づく推定精度は高い値で推移している。なお、時刻t3と時刻t5とでは、入力データが同じであるにも関わらず、過去の入力データ(時刻t3に対して時刻t2、時刻t5に対して時刻t4)に依存する結果、推定精度が若干低下している。
(第2実施形態)
 前述の第1実施形態では、ニューロンの状態値とシナプスの状態値を二値変数(確率変数)としたが、これに限定されるものではない。第2実施形態では、ニューロンの状態値及びシナプスの状態値を連続変数(例えば、0から1までの値を取り得る連続値)とする場合について説明する。なお、情報処理装置50の構成は、第1実施形態の場合と同様であるので、説明は省略する。
 図14は第2実施形態のシナプスの構成の一例を示す模式図である。図14では、便宜上、シナプスの数を6として説明する。シナプスの状態値を連続値とすることにより、式(7)は、式(18)に置き換えることができる。σは活性化関数(例えば、シグモイド関数)である。qijk は前ニューロンの状態及び後ニューロンの状態に依存するバイアス項である。なお、初期値q0,ijkは、0としている。
Figure JPOXMLDOC01-appb-M000007
 式(3)に式(18)を代入すると、結合重みwijは、式(19)で表すことができる。ここで、式(20)で示すように、各結合重みwijに対する各シナプスの寄与ajikを、+aまたは-aのいずれかとするとともに、シナプスの数K(図14の例では、K=6)のうち半分を+aとし、残りの半分を-aとする。そうすると、結合重みwijは、式(21)で表すことができる。
 また、シグモイド関数σについては、式(22)で表される公式が成り立つので、結合重みwijは、式(23)で表すことができる。qij は前ニューロンの状態及び後ニューロンの状態に依存するバイアス値である。すなわち、ニューラルネットワークのニューロン間の結合重みwijを多数のシナプスsijkで表す必要がなくなる。また、定数aは、単純に1でもよく、あるいは、0.1、0.5などの数値でもよい。なお、定数aとKの乗算値a・Kは、ある程度大きくする方が好ましい。
 図15は第2実施形態でのニューラルネットワークの学習方法の概要を示す模式図である。図15に示すように、入力層のニューロンは、データのインデックスdの訓練データに対応するニューロンの状態xd inに固定する。出力層のニューロンは、データのインデックスdの訓練データに対応するニューロンの状態xd out に固定する。中間層の全てのニューロンの状態を{xdi}と表す。前述のように、ニューラルネットワークのニューロン間の結合重みwijを多数のシナプスsijkで表す必要がないので、シナプスsijkに代えて、ニューロン間の結合重みを{wijk }と表す。第2実施形態では、ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、ニューラルネットワークの中間層のニューロン及びニューラルネットワークのニューロン間の結合重みに初期データを与え、中間層のニューロンの状態値を更新し、更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新することにより、ニューラルネットワークの学習を行う。以下、具体的に説明する。
 まず、ニューロンの状態値の更新について説明する。
 中間層のニューロンの状態値を、当該ニューロンに入力される信号値の和と、当該ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値(「関数値」ともいう)に基づいて更新する。より具体的には、中間層のニューロンの状態値を、活性化関数によって変換した値に更新する。活性化関数によって変換される値は、0から1までの値を取り得る。活性化関数によって変換される値が、例えば、0.8である場合、中間層のニューロンの状態値を0.8に更新する。
 中間層の各ニューロンは、式(24)に基づいて更新することができる。
Figure JPOXMLDOC01-appb-M000008
 σは活性化関数(例えば、シグモイド関数)である。dはデータのインデックスであり、中間層の全てのニューロンを1回更新する際に用いられるミニバッチのインデックスでもある。
 式(24)において、bdi は、後ニューロンから当該ニューロンxdiへの発火確率のバイアスを与えることができる。すなわち、逆行性のバイアス項bdi の存在によって、出力層のニューロンに与えられた訓練データの情報を、ネットワークの中間層に波及させることが可能となる。この意味で、バイアス項bdi は、誤差逆伝播法の誤差伝播のサンプリングに基づく確率的な表現とみなすことができる。これにより、誤差逆伝播を用いなくても、出力層のニューロンに与えられた訓練データの情報に基づく学習が可能となる。
 次に、バイアス項bdi について説明する。
 後ニューロンからのバイアス値を、後ニューロンの状態値と、後ニューロンに入力される信号値の和を活性化関数によって変換した値との差に基づいて算出する。バイアス値bdi は、式(25)で算出することができる。式(25)において、xdjは後ニューロンxの状態値を表し、σ(vdj)は、後ニューロンxに入力される信号の和を活性化関数によって変換した値(関数値)を表す。
 図16は後ニューロンからのバイアスの様子の一例を示す模式図である。図16に示すように、当該ニューロンxdiの後ニューロンをxdjと表す。jは、例えば、j=1~Jとすることができる。Jは後ニューロンの数である。
 式(25)が意味するところは、後ニューロンの状態値xdjが関数値σ(vdj)よりも大きい場合には、バイアス値bdi が正になることにより、式(24)で表す、xdi=σ(vdi+bdi )という式の(vdi+bdi )が大きくなり、当該ニューロンxの状態値を大きくする効果がある。また、後ニューロンの状態値xdjが関数値σ(vdj)よりも小さい場合には、バイアス値bdi が負になることにより、xdi=σ(vdi+bdi )という式の(vdi+bdi )が小さくなり、当該ニューロンxの状態値を小さくする効果がある。
 このように、式(25)は、逆行性の誤差伝播とみなすことができ、従来の誤差逆伝播法とは異なり、この逆行性の誤差伝播はネットワーク全体の協調的動作を必要とせずに実現することができる。
 また、ニューロンの状態値の更新は、式(26)、式(27)を用いることもできる。
Figure JPOXMLDOC01-appb-M000009
 r、rbは、例えば、0より大きく1より小さい値とすることができる。式(27)に示すように、バイアス値bdiの更新において、(1-rb)の重み付けで現在のbdiの値を維持し、rbの重み付けでbdiの値を更新し、両者の和を更新後のバイアス値bdiとしている。また、式(26)に示すように、ニューロンxdiの更新において、(1-rx)の重み付けで現在のxdiの値を維持し、rxの重み付けでxdiの値を更新し、両者の和を更新後のニューロンの状態値xdiとしている。
 次に、結合重みの更新について説明する。
 結合重みは、式(28)、式(29)に基づいて更新することができる。
Figure JPOXMLDOC01-appb-M000010
 式(28)に示すように、前ニューロンと後ニューロンとの間の結合重みwijは、バイアス値qij を活性化関数によって変換した値に基づいて更新する。式(28)は、前述の式(23)と同じ式である。バイアス値qij は前ニューロンの状態値及び後ニューロンの状態値に依存する値である。
 そして、式(29)に示すように、バイアス値qij は、後ニューロンの状態値xdjから、後ニューロンに入力される信号値の和vdjを活性化関数によって変換した値σ(vdj)を減算した減算値を、前ニューロンの状態値xdiに乗算した乗算値に基づいて更新する。
 図17は前ニューロンと後ニューロンとを結合する結合重みの様子の一例を示す模式図である。xdiは前ニューロンの状態値を表す。xdjは後ニューロンの状態値を表す。σ(vdj)は、後ニューロンxに入力される信号の和を活性化関数によって変換した関数値を表す。式(29)が意味するところは、後ニューロンの状態値xdjが関数値σ(vdj)よりも大きい場合には、バイアス値qij が正になることにより、式(28)で表す、σ(a・qij )が大きくなり、結合重みwijを大きくする効果がある。また、後ニューロンの状態値xdjが関数値σ(vdj)よりも小さい場合には、バイアス値qij が負になることにより、式(28)で表す、σ(a・qij )が小さくなり、結合重みwijを小さくする効果がある。
 このように、式(29)は、逆行性の誤差伝播とみなすことができ、従来の誤差逆伝播法とは異なり、この逆行性の誤差伝播はネットワーク全体の協調的動作を必要とせずに実現することができる。
 また、結合重みの更新は、式(30)、式(31)を用いることもできる。
Figure JPOXMLDOC01-appb-M000011
 r、rqは、例えば、0より大きく1より小さい値とすることができる。式(31)に示すように、バイアス値qijの更新において、(1-rq)の重み付けで現在のqijの値を維持し、rの重み付けでqijの値を更新し、両者の和を更新後のバイアス値qijとしている。また、式(30)に示すように、結合重みwijの更新において、(1-rw)の重み付けで現在のwijの値を維持し、rwの重み付けでwijの値を更新し、両者の和を更新後の結合重みwijとしている。
 図18は第2実施形態のニューラルネットワークの学習の処理手順の一例を示すフローチャートである。プロセッサ51は、訓練データを入力層及び出力層のニューロンに代入し(S31)、ニューラルネットワーク内の結合重み及び中間層のニューロンに初期値を代入する(S32)。
 プロセッサ51は、中間層のニューロンを選んでバイアス値bdiを式(25)又は式(27)に基づいて更新し(S33)、ニューロンxdiを式(24)又は式(26)に基づいて更新する(S34)。プロセッサ51は、中間層の全てのニューロンの更新を終了したか否かを判定し(S35)、全てのニューロンの更新を終了していない場合(S35でNO)、ステップS33以降の処理を繰り返す。
 全てのニューロンの更新を終了した場合(S35でYES)、すなわち、1つのインデックスのデータを用いて更新が終了した場合、プロセッサ51は、訓練データがあるか否かを判定する(S36)。ステップS36では、更新に用いられていない他のインデックスのデータがあるか否かを判定する。
 訓練データがある場合(S36でYES)、プロセッサ51は、次のセット(すなわち、次のインデックス)の訓練データを取得し(S37)、ステップS31以降の処理を繰り返す。訓練データがない場合(S36でNO)、プロセッサ51は、ニューラルネットワーク内のニューロン間の結合を選んでバイアス値qij を式(29)又は式(31)に基づいて更新し(S38)、結合重みwij を式(28)又は式(30)に基づいて更新する(S39)。
 プロセッサ51は、ニューラルネットワーク内の全ての結合重みの更新を終了したか否かを判定し(S40)、全ての結合重みの更新を終了していない場合(S40でNO)、ステップS38以降の処理を繰り返す。全ての結合重みの更新を終了した場合(S40でYES)、プロセッサ51は、処理を繰り返すか否かを判定する(S41)。
 処理を繰り返すか否かは、更新した結合重みの性能を評価し、必要な性能が得られているか否かに基づいて判定してもよく、あるいは、予め定められた回数の処理が終了したか否かに基づいて判定してもよい。処理を繰り返す場合(S41でYES)、プロセッサ51は、ステップS31以降の処理を繰り返し、処理を繰り返さない場合(S41でNO)、処理を終了する。
 図19は第2実施形態の学習方法による評価結果の一例を示す説明図である。図19は、図11の場合と同様に、機械学習でよく用いられる代表的な手書き文字認識データセット(MNIST)を用いた評価結果を示す。第1実施形態の場合、訓練データの認識精度は約95%、テストデータの認識精度は約94%であるのに対し、第2実施形態の場合、訓練データの認識精度は約99%、テストデータの認識精度は約97%である。このように、第2実施形態の場合の方が、学習精度が向上する傾向が見られる。これは、二値に代えて連続値を用いるので、ニューロンの状態値及び結合重みが取り得る値が一層細かくなったためと考えられる。また、第1実施形態の場合と比べて、ニューラルネットワーク内のニューロン間の結合を多数のシナプスで表す必要がないので、学習の際に必要となる変数の数を大幅に削減することができ、それに伴ってGPU等による計算時間も削減でき、計算機上での実装が容易になる。
 図20は携帯端末装置100の構成の一例を示すブロック図である。携帯端末装置100は、通信ネットワークを介して、学習処理装置としてのサーバ200に接続することができる。携帯端末装置100は、装置全体を制御するプロセッサ101、カメラ部102、マイク103、スピーカ104、表示パネル105、操作部106、通信部107、ROM108、メモリ109及び記憶部110を備える。記憶部110には、ニューラルネットワークの学習を行うコンピュータプログラムやデータなどが含まれる学習処理部111、学習モデル112が記憶される。学習処理部111、学習モデル112は、図9の例と同様の構成を有する。
 カメラ部102は、画像(動画を含む)を撮像することができる。マイク103は、音声データを取得することができる。スピーカは、音声を出力することができる。
 通信部107は、通信ネットワーク1を介して、サーバ200の通信部202との間の通信機能を有する。なお、通信部107は、他の装置(不図示)との間で情報の送受信を行うことができる。表示パネル105、操作部106、ROM108、メモリ109及び記憶部110は、図9の例と同様であるので説明は省略する。
 学習済装置としての学習モデル112は、ニューラルネットワークを有し、本実施の形態のニューラルネットワークの学習方法によって学習済であり、あるいは本実施の形態のニューラルネットワークの生成方法によって生成されている。なお、学習モデル112は、学習処理部111によって、再学習することもできる。学習モデル112を再学習させない場合には、学習処理部111を具備しなくてもよい。
 学習モデル112は、画像データ、音声データ及び文字列データの少なくとも一方を訓練データとして用いて生成又は学習してある。なお、学習モデル112の学習は、教師ラベルのない教師なし学習でもよく、教師ラベルのある教師あり学習でもよい。
 画像データを訓練データとして用いて学習モデル112を生成又は学習してあることにより、携帯端末装置100は、例えば、カメラ部102で撮像した画像に写っている人や物体を認識することができる。また認識結果をスピーカ104から音声で出力することができる。
 音声データを訓練データとして用いて学習モデル112を生成又は学習してあることにより、携帯端末装置100は、例えば、マイク103で取得した話相手の音声に基づいて、その内容を理解し、スピーカ104から音声で出力して話相手とコミュニケーションをとることができる。
 文字列データを訓練データとして用いて学習モデル112を生成又は学習してあることにより、携帯端末装置100は、例えば、カメラ部102で撮像した画像に写っている文字情報や、通信部107を介して取得した文字情報などの内容を理解し、文字情報の要約や文字情報に対する応答内容などを表示パネル105に表示し、あるいはスピーカ104から音声で出力することができる。
 サーバ200は、学習処理装置としての機能を有する。サーバ200は、プロセッサ201、通信部202、ROM203、メモリ204及び記憶部205を備える。記憶部205には、学習処理部206、学習モデル207が記憶されている。ROM203、メモリ204、記憶部205、学習処理部206、学習モデル207は、図9の例と同様である。サーバ200は、1台で構成してもよく、あるいは複数台のサーバで構成してもよい。この場合、サーバ200の各部を複数台のサーバで分散させて構成することができ、例えば、学習処理部206及び学習モデル207の少なくとも一方を、サーバ200と異なる別のサーバに備えることができる。また、学習処理部206及び学習モデル207それぞれを、サーバ200と異なる別のサーバそれぞれに備えるようにしてもよい。
 学習処理部206(プロセッサ201を含めてもよい)は、ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とする処理と、ニューラルネットワーク内のニューロン間の結合重みを、所要の結合係数がそれぞれ乗算された複数のシナプスで表現した当該複数のシナプスを、二値を取り得る確率変数とする処理と、入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与える処理と、入力層及び出力層それぞれのニューロンの確率変数が当該訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新する処理と、更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する処理とを実行することができる。
 携帯端末装置100は、サーバ200から学習済の学習モデル207をダウンロードして、記憶部110に記憶することもできる。この場合、携帯端末装置100は、サーバ200の学習処理部206で再学習した学習モデル207をダウンロードして、学習モデル112を更新することもできる。学習モデルをサーバ200からダウンロードする場合、携帯端末装置100は、学習処理部111を具備しなくてもよい。
 50 情報処理装置
 51 プロセッサ
 52 操作部
 53 インタフェース部
 54 表示パネル
 55 ROM
 56 メモリ
 57 記憶部
 58 記録媒体読取部
 571 学習処理部
 572 学習モデル
 100 携帯端末装置
 101 プロセッサ
 102 カメラ部
 103 マイク
 104 スピーカ
 105 表示パネル
 106 操作部
 107 通信部
 108 ROM
 109 メモリ
 110 記憶部
 111 学習処理部
 112 学習モデル
 200 サーバ
 201 プロセッサ
 202 通信部
 203 ROM
 204 メモリ
 205 記憶部
 206 学習処理部
 207 学習モデル
 

Claims (19)

  1.  ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、
     ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、
     入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、
     入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を更新する処理を繰り返し、
     更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、
     ニューラルネットワークの学習方法。
  2.  前記中間層のニューロンの状態値を、
     前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新する、
     請求項1に記載のニューラルネットワークの学習方法。
  3.  前記後ニューロンからのバイアス値を、
     前記後ニューロンの状態値と前記後ニューロンの期待値との差に基づいて算出する、
     請求項2に記載のニューラルネットワークの学習方法。
  4.  前ニューロンと後ニューロンとを結合する複数のシナプスの状態値を、
     前ニューロンの状態値及び後ニューロンの状態値に基づく値に更新する、
     請求項1から請求項3のいずれか一項に記載のニューラルネットワークの学習方法。
  5.  前ニューロンと後ニューロンとを結合する複数のシナプスの状態値を、
     前記前ニューロンの状態値に、前記後ニューロンの状態値と前記後ニューロンの期待値との差を乗算した値を活性化関数によって変換した値に基づいて更新する、
     請求項1から請求項4のいずれか一項に記載のニューラルネットワークの学習方法。
  6.  ニューラルネットワーク内の各シナプスそれぞれの状態値を、
     前記中間層の各ニューロンそれぞれの更新された状態値を用いて更新する、
     請求項1から請求項5のいずれか一項に記載のニューラルネットワークの学習方法。
  7.  ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、
     前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、
     前記中間層のニューロンの状態値を、
     前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、
     更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、
     ニューラルネットワークの学習方法。
  8.  前記後ニューロンからのバイアス値を、
     前記後ニューロンの状態値と、前記後ニューロンに入力される信号値の和を活性化関数によって変換した値との差に基づいて算出する、
     請求項7に記載のニューラルネットワークの学習方法。
  9.  前ニューロンと後ニューロンとの間の結合重みを、
     前ニューロンの状態値及び後ニューロンの状態値に基づくバイアス値を活性化関数によって変換した値に基づいて更新する、
     請求項7又は請求項8に記載のニューラルネットワークの学習方法。
  10.  前記バイアス値を、
     前記後ニューロンの状態値から前記後ニューロンに入力される信号値の和を活性化関数によって変換した値を減算した減算値を、前記前ニューロンの状態値に乗算した乗算値に基づいて更新する、
     請求項9に記載のニューラルネットワークの学習方法。
  11.  ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、
     ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、
     入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、
     入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を更新する処理を繰り返し、
     更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出してニューラルネットワークを生成する、
     ニューラルネットワークの生成方法。
  12.  ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、
     前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、
     前記中間層のニューロンの状態値を、
     前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、
     更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、
     ニューラルネットワークの生成方法。
  13.  ニューラルネットワークを有する学習済装置であって、
     コンピュータに、
     ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、
     ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、
     入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、
     入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新し、
     更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、
     処理を実行させて生成されてある学習済装置。
  14.  ニューラルネットワークを有する学習済装置であって、
     コンピュータに、
     ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、
     前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、
     前記中間層のニューロンの状態値を、
     前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、
     更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、
     処理を実行させて生成されてある学習済装置。
  15.  請求項13又は請求項14に記載の学習済装置を備える携帯端末装置であって、
     前記学習済装置は、
     画像データ、音声データ及び文字列データの少なくとも一方を訓練データとして用いて生成してある携帯端末装置。
  16.  プロセッサを備え、ニューラルネットワークを学習させる学習処理装置であって、
     前記プロセッサは、
     ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、
     ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、
     入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、
     入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新し、
     更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、
     処理を実行する学習処理装置。
  17.  プロセッサを備え、ニューラルネットワークを学習させる学習処理装置であって、
     前記プロセッサは、
     ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、
     前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、
     前記中間層のニューロンの状態値を、
     前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、
     更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、
     処理を実行する学習処理装置。
  18.  コンピュータに、
     ニューラルネットワーク内の各ニューロンを、二値を取り得る確率変数とし、
     ニューラルネットワーク内のニューロン間の結合重みを、各シナプスに所要の結合係数が乗算された複数のシナプスで表現し、前記複数のシナプスを、二値を取り得る確率変数とし、
     入力層及び出力層それぞれのニューロンに訓練データを与え、中間層のニューロンに初期データを与え、
     入力層及び出力層それぞれのニューロンの確率変数が前記訓練データの値であるという条件の下での条件付き確率分布から、マルコフ連鎖モンテカルロ法に基づくサンプリングを行って前記中間層の各ニューロン及びニューラルネットワーク内の各シナプスそれぞれの状態値を繰り返し更新し、
     更新された各シナプスの状態値に基づいてニューロン間の結合重みを算出する、
     処理を実行させるコンピュータプログラム。
  19.  コンピュータに、
     ニューラルネットワークの入力層及び出力層それぞれのニューロンに訓練データを与え、
     前記ニューラルネットワークの中間層のニューロン及び前記ニューラルネットワークのニューロン間の結合重みに初期データを与え、
     前記中間層のニューロンの状態値を、
     前記ニューロンに入力される信号値の和と、前記ニューロンに繋がる後ニューロンからのバイアス値との和を活性化関数によって変換した値に基づいて更新し、
     更新された各ニューロンの状態値に基づいてニューロン間の結合重みを更新する、
     処理を実行させるコンピュータプログラム。
     
PCT/JP2020/011577 2019-03-28 2020-03-17 ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム WO2020196066A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/440,037 US20220188603A1 (en) 2019-03-28 2020-03-17 Neural Network Learning Method, Neural Network Generation Method, Trained Device, Mobile Terminal Device, Learning Processing Device and Recording Medium
JP2021509108A JP7356738B2 (ja) 2019-03-28 2020-03-17 ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-064222 2019-03-28
JP2019064222 2019-03-28

Publications (1)

Publication Number Publication Date
WO2020196066A1 true WO2020196066A1 (ja) 2020-10-01

Family

ID=72611470

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/011577 WO2020196066A1 (ja) 2019-03-28 2020-03-17 ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム

Country Status (3)

Country Link
US (1) US20220188603A1 (ja)
JP (1) JP7356738B2 (ja)
WO (1) WO2020196066A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313240A (zh) * 2021-08-02 2021-08-27 成都时识科技有限公司 计算设备及电子设备
WO2022112888A1 (en) * 2020-11-30 2022-06-02 International Business Machines Corporation Weight-based modulation in neural networks

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3698291A1 (en) 2018-02-05 2020-08-26 DeepMind Technologies Limited Distributed training using off-policy actor-critic reinforcement learning
CN114818471A (zh) * 2022-03-28 2022-07-29 北京航天飞腾装备技术有限责任公司 一种基于机器学习神经网络的毁伤概率计算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05507804A (ja) * 1990-05-07 1993-11-04 イーストマン・コダック・カンパニー 出力信頼性指標値を用いてバックプロパゲーションを制御するようにしたニューラル・ネットワーク
JP2018010577A (ja) * 2016-07-15 2018-01-18 株式会社東芝 計算装置及びサンプリング方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04253260A (ja) * 1991-01-29 1992-09-09 Kawasaki Steel Corp ニューラルネットワークの学習方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05507804A (ja) * 1990-05-07 1993-11-04 イーストマン・コダック・カンパニー 出力信頼性指標値を用いてバックプロパゲーションを制御するようにしたニューラル・ネットワーク
JP2018010577A (ja) * 2016-07-15 2018-01-18 株式会社東芝 計算装置及びサンプリング方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
AIHARA, KAZUYUKI: "Neural computer. Learn from the brain and nerves. First ed", 30 April 1988, TOKYO DENKI UNIVERSITY PRESS, ISBN: 4-501-51320-9, pages: 105 - 109,163,169 *
MAHAM, BEHROUZ ET AL.: "Neuro-Spike Communications With Multiple Synapses Under Inter-Neuron Interference", IEEE ACCESS, vol. 6, 11 July 2018 (2018-07-11), pages 39962 - 39968, XP055743832, ISSN: 2169-3536 *
NEFTCI , EMRE 0. ET AL.: "Stochastic Synapses Enable Efficient Brain-Inspired Learning Machines", FRONTIERS IN NEUROSCIENCE, vol. 10, 29 June 2016 (2016-06-29), pages 1 - 16, XP055743829, Retrieved from the Internet <URL:https://www.frontiersin.org/articles/10.3389/fnins.2016.00241/full> [retrieved on 20200604] *
OHMSHA, LTD: "NeuroFuzzy Al Handbook. First Ed", 25 May 1994, THE SOCIETYOF INSTRUMENT AND CONTROL ENGINEERS, ISBN: 4-274-03446-1, pages: 106 - 110 *
SAKAMOTO, HIDEKI ET AL.: "Simulation and analysis of a parallel character recognition system MOHEJI", IEICE TECHNICAL REPORT, vol. 95, no. 405, 9 December 1995 (1995-12-09), pages 115 - 122 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022112888A1 (en) * 2020-11-30 2022-06-02 International Business Machines Corporation Weight-based modulation in neural networks
GB2615919A (en) * 2020-11-30 2023-08-23 Ibm Weight-based modulation in neural networks
US12020162B2 (en) 2020-11-30 2024-06-25 International Business Machines Corporation Weight-based local modulation of weight update in neural networks
CN113313240A (zh) * 2021-08-02 2021-08-27 成都时识科技有限公司 计算设备及电子设备

Also Published As

Publication number Publication date
US20220188603A1 (en) 2022-06-16
JP7356738B2 (ja) 2023-10-05
JPWO2020196066A1 (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
WO2020196066A1 (ja) ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム
US20230196110A1 (en) Controlling distribution of training data to members of an ensemble
US10387769B2 (en) Hybrid memory cell unit and recurrent neural network including hybrid memory cell units
O'Connor et al. Real-time classification and sensor fusion with a spiking deep belief network
Marhon et al. Recurrent neural networks
US10032498B2 (en) Memory cell unit and recurrent neural network including multiple memory cell units
US11087086B2 (en) Named-entity recognition through sequence of classification using a deep learning neural network
CN105144203B (zh) 信号处理系统
KR101700140B1 (ko) 스파이킹 뉴럴 연산을 위한 방법들 및 장치
JP6272784B2 (ja) スパイキングニューラル計算のための方法および装置
Zhao et al. Backeisnn: A deep spiking neural network with adaptive self-feedback and balanced excitatory–inhibitory neurons
KR20170034258A (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR20140128384A (ko) 스파이킹 뉴럴 연산을 위한 방법들 및 장치
Meedeniya Deep learning: A beginners' guide
JP7240650B2 (ja) スパイキングニューラルネットワークシステム、学習処理装置、学習処理方法およびプログラム
CN112085198A (zh) 基于全局反馈以及局部突触可塑的脉冲神经网络优化方法
WO2019018533A1 (en) NEURO-BAYESIAN ARCHITECTURE FOR THE IMPLEMENTATION OF GENERAL ARTIFICIAL INTELLIGENCE
Milutinovic et al. End-to-end training of differentiable pipelines across machine learning frameworks
Abdallah et al. 1-dimensional polynomial neural networks for audio signal related problems
Rahman et al. A deep learning based approach to predict sequential design decisions
Schneidereit et al. Solving ordinary differential equations using artificial neural networks-a study on the solution variance
CN113490955B (zh) 用于产生金字塔层的架构的系统和方法
JP7553893B2 (ja) ニューラルネットワーク装置、処理方法およびプログラム
US11526735B2 (en) Neuromorphic neuron apparatus for artificial neural networks
Ikram A benchmark for evaluating Deep Learning based Image Analytics

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021509108

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20778205

Country of ref document: EP

Kind code of ref document: A1