WO2016166881A1 - 処理システム及びプログラム - Google Patents

処理システム及びプログラム Download PDF

Info

Publication number
WO2016166881A1
WO2016166881A1 PCT/JP2015/061840 JP2015061840W WO2016166881A1 WO 2016166881 A1 WO2016166881 A1 WO 2016166881A1 JP 2015061840 W JP2015061840 W JP 2015061840W WO 2016166881 A1 WO2016166881 A1 WO 2016166881A1
Authority
WO
WIPO (PCT)
Prior art keywords
artificial
neuron
artificial neuron
neurons
parameter
Prior art date
Application number
PCT/JP2015/061840
Other languages
English (en)
French (fr)
Inventor
筒井 多圭志
康介 朝長
悠磨 三平
Original Assignee
Cocoro Sb株式会社
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 Cocoro Sb株式会社 filed Critical Cocoro Sb株式会社
Priority to EP15889219.0A priority Critical patent/EP3276542A4/en
Priority to PCT/JP2015/061840 priority patent/WO2016166881A1/ja
Priority to JP2017512163A priority patent/JP6446126B2/ja
Priority to CN201580078814.XA priority patent/CN107924487A/zh
Publication of WO2016166881A1 publication Critical patent/WO2016166881A1/ja
Priority to US15/785,413 priority patent/US20180039880A1/en

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/04Architecture, e.g. interconnection topology
    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout

Definitions

  • the present invention relates to a processing system and a program.
  • An emotion generation device includes a neural network that inputs user information, device information, and its current emotion state and outputs the next emotion state (see, for example, Patent Document 1).
  • a technique for storing a space-time pattern in an associative memory including a plurality of electronic neurons having a layer-neural network relationship having directional artificial synaptic connectivity is known (see, for example, Patent Document 2).
  • Patent Literature [Patent Document 1] Japanese Patent Application Laid-Open No. 10-245492
  • Patent Document 2 Japanese Patent Application Publication No. 2013-535067
  • a processing system for processing parameters of a plurality of artificial neurons and a plurality of artificial synapses constituting a neural network, and a state of a control target for each artificial neuron of the plurality of artificial neurons
  • a storage unit for storing definition information defining a plurality of artificial neurons, a parameter value of each artificial neuron of a plurality of artificial neurons, and a parameter value of one or more artificial synapses connected to the input of each artificial neuron
  • a processing unit for processing using a data access structure that can be accessed in a typical data unit; Based on the active state of at least some of the artificial neurons defined by the parameter values of at least some of the artificial neurons, and the state defined in at least some of the artificial neurons
  • a processing system is provided that includes an operation determining unit that determines the operation of the operation.
  • the processing by the processing unit updates the values of the parameters of multiple artificial neurons and artificial synapses for each artificial neuron, and presents the current values of the parameters of multiple artificial neurons and artificial synapses to the user collectively for each artificial neuron. And presenting parameter values of a plurality of artificial neurons and artificial synapses to the user collectively for each artificial neuron and accepting input of parameter values from the user.
  • the processing unit displays a parameter value of each artificial neuron of a plurality of artificial neurons and a parameter value of one or more artificial synapses connected to an input to each artificial neuron, and a plurality of artificial neurons in a plurality of rows of the table. Lines may be presented to the user in a correlated form, and user input to a table for changing the value of the presented parameter may be accepted.
  • the processing unit generates a data structure that can access a parameter value of each artificial neuron of a plurality of artificial neurons and a parameter value of one or more artificial synapses connected to the input to each artificial neuron in a batch data unit.
  • the value of each artificial neuron parameter of the plurality of artificial neurons and the value of one or more artificial synapse parameters connected to the input to each artificial neuron are accessed to each artificial neuron for each artificial neuron through the data structure. Then, the value of each artificial neuron parameter of the plurality of artificial neurons and the value of one or more artificial synapse parameters connected to the input to each artificial neuron may be updated in time.
  • the processing unit includes a plurality of artificial neuron parameter values of the plurality of artificial neurons updated in time and one or more artificial synapse parameter values connected to the input of each artificial neuron in a plurality of rows of the table.
  • the user may be presented to the user in a format in which a plurality of artificial neurons are associated with each other.
  • the parameters of the artificial neuron may include at least one of a threshold value, an activation state, a last activation time, an output, an output at the last activation time, and a parameter defining a time evolution of the output at the time of activation
  • the parameters of the artificial synapse are the coupling coefficient to the connected artificial neuron, the simultaneous activation time when the two artificial neurons connected by the artificial synapse are activated simultaneously, the coupling coefficient at the simultaneous activation time, And at least one parameter defining the temporal evolution of the coupling coefficient after simultaneous activation has occurred and the artificial synapse identification information.
  • the plurality of artificial neurons may include an endocrine artificial neuron that is an artificial neuron in which the state of occurrence of endocrine substances is defined, and the storage unit includes other artificial neurons that are not directly connected to the endocrine artificial neuron at an artificial synapse and
  • the at least one parameter of the artificial synapse may further store influence definition information that defines an influence exerted by at least one of the output and active state of the endocrine artificial neuron, and the processing unit may include at least the output and active state of the endocrine artificial neuron.
  • the processing unit may include at least the output and active state of the endocrine artificial neuron.
  • at least one parameter of another artificial neuron that is not directly connected to the endocrine artificial neuron by the artificial synapse or the artificial synapse may be updated.
  • the parameter of the other artificial neuron affected by at least one of the output and the active state of the endocrine artificial neuron is at least one of the parameters that determine the threshold value of the other artificial neuron, the active state, and the time evolution of the output at the time of activation.
  • the parameters of the artificial synapse affected by at least one of the output and the active state of the endocrine artificial neuron are the coupling coefficient of the artificial synapse and the two artificial neurons to which the artificial synapse is connected at the end. It may include at least one of the parameters defining the time evolution of the coupling coefficient after activation.
  • the plurality of artificial neurons may further include an emotional artificial neuron that is an artificial neuron in which the current emotion to be controlled is defined, and the effect definition information indicates that the activation state of the endocrine artificial neuron associated with the reward system is an emotional artificial neuron.
  • Information that defines an effect on the threshold value of the neuron may be included, and the processing unit may update the threshold value of the emotional artificial neuron according to the effect definition information when the endocrine artificial neuron is activated.
  • the processing unit may update the parameters of some artificial neurons among the plurality of artificial neurons at a frequency higher than the update frequency of the parameters of other artificial neurons.
  • the processing unit updates the parameters of some artificial neurons more frequently than the update frequency of parameters of other artificial neurons. Good.
  • Priorities may be pre-assigned to a plurality of artificial neurons, and a processing unit can update a parameter within a range of resources available for calculation in a processing system from among a plurality of artificial neurons.
  • the artificial neurons may be selected according to the priority order, and the parameters of some selected artificial neurons may be updated at a frequency higher than the update frequency of the parameters of other artificial neurons.
  • the neural network may include one or more undefined artificial neurons, which are artificial neurons whose control target states are not defined, and the processing unit is undefined when an endocrine artificial neuron associated with the reward system is activated.
  • the coupling coefficient of an artificial synapse connected to one or more undefined artificial neurons that connect the endocrine artificial neuron and the other endocrine artificial neurons simultaneously with the endocrine artificial neuron may be increased.
  • the processing unit combines the artificial synapse connected to the undefined artificial neuron among the routes connecting the endocrine artificial neuron associated with the reward system and another artificial neuron that is active simultaneously with the endocrine artificial neuron.
  • a route having a shorter distance between artificial neurons in consideration of the coefficient may be selected with higher priority, and the coupling coefficient of an artificial synapse connected to an undefined artificial neuron that provides the selected route may be increased.
  • a program for causing a computer to function as the processing system is provided.
  • FIG. 20 schematically shows the time evolution of a coupling coefficient when a function h t ij is defined as an increase / decrease parameter of the coupling coefficient.
  • FIG. 6 schematically shows the time evolution of the coupling coefficient in the case of further simultaneous firing at time t2.
  • the other example of the increase / decrease function of a coupling coefficient is shown schematically.
  • the influence definition information which defines the chemical influence given to a parameter is shown roughly. 6 shows a flowchart for calculating output and status. It is a figure which illustrates roughly the example of an output calculation when an artificial neuron does not fire. It is a figure which illustrates roughly the example of an output calculation in case an artificial neuron fires.
  • the time evolution of the coupling coefficient when a function is defined as an increase / decrease parameter of an artificial neuron is schematically shown. Another example of a function as an increase / decrease parameter is shown schematically.
  • the example of the screen of the parameter viewer which the user terminal 100 displays is shown roughly.
  • Fig. 3 schematically shows a screen presented when a neural network is graphically edited. It is an example of the edit screen which edits an artificial synapse.
  • a display example of the output of an artificial neuron is schematically shown.
  • the example of a display of a mode that an electric signal propagates through an artificial synapse is shown roughly.
  • the example of a display of the connection state between the artificial neurons by an artificial synapse is shown roughly.
  • positioning of an artificial neuron is shown schematically.
  • the example of a display of the range of the artificial neuron which an endocrine artificial neuron influences is shown roughly.
  • the priority artificial neuron information which determined the priority which calculates the parameter of an artificial neuron is shown roughly.
  • 1 schematically shows a software architecture according to a system 20.
  • the state before performing update calculation with respect to several artificial neurons is shown schematically.
  • a method of performing parameter value update processing in parallel by multi-process processing will be described.
  • the calculation state in the middle of update calculation is shown roughly.
  • 1 schematically shows a configuration of a neural network for performing distributed control between subsystems.
  • FIG. 1 schematically shows an example of a system 20 according to the present embodiment.
  • the system 20 includes a server 200, a user terminal 100a, a user terminal 100b, a robot 40a and a robot 40b, and a server 200.
  • the user terminal 100a, the user terminal 100b, the robot 40a, and the robot 40b communicate with the server 200 through the communication network 90 to exchange information.
  • the user 30a is a user of the robot 40a and the user terminal 100a.
  • the user 30b is a user of the robot 40b and the user terminal 100b.
  • the robot 40b has substantially the same function as the robot 40a.
  • the user terminal 100b has substantially the same function as the user terminal 100a. Therefore, the system 20 will be described by collectively referring to the robot 40a and the robot 40b as the robot 40 and the user terminal 100a and the user terminal 100b as the user terminal 100.
  • the system 20 processes the parameters of the neural network for determining the state of the robot 40.
  • the parameters of the neural network include a plurality of artificial neurons and a plurality of artificial synapse parameters constituting the neural network.
  • the user terminal 100 sets initial values of the parameters of the neural network based on the input from the user 30 and transmits them to the server 200.
  • the robot 40 transmits sensor information detected by a sensor provided in the robot 40 to the server 200.
  • the server 200 determines the state of the robot 40 using the neural network based on the initial value information of the neural network and the sensor information acquired from the robot 40. For example, the server 200 calculates the situation around the robot 40, the emotion of the robot 40 itself, and the endocrine substance generation state of the robot 40 using a neural network. Then, the server 200 determines the action content of the robot 40 based on the situation around the robot 40, the emotion of the robot 40 itself, and the endocrine substance generation state of the robot 40 itself.
  • Endocrine substances mean substances that are secreted in the body and transmit signals, such as neurotransmitters and hormones. Endocrine means that endocrine substances are secreted in the body.
  • the server 200 determines that an endocrine substance corresponding to sleepiness is being generated, the server 200 performs an action when the robot 40 becomes sleepy. Further, when the server 200 determines that the feeling of happiness is generated, the server 200 causes the robot 40 to utter words expressing happiness.
  • the endocrine substance of the robot 40 itself is one piece of information that affects the behavior of the robot 40, and does not mean that the robot 40 actually generates endocrine substances.
  • the emotion of the robot 40 is one piece of information that affects the behavior of the robot 40, and does not mean that the robot 40 actually has an emotion.
  • FIG. 2 schematically shows a block configuration of the server 200, the user terminal 100, and the robot 40.
  • the user terminal 100 includes a processing unit 102, a display unit 104, an input device 106, and a communication unit 208.
  • the robot 40b includes a sensor unit 156, a processing unit 152, a control target 155, and a communication unit 158.
  • the server 200 includes a processing unit 202, a storage unit 280, and a communication unit 208.
  • the processing unit 202 includes an initial value setting unit 210, an external input data generation unit 230, a parameter processing unit 240, and an operation determination unit 250.
  • the storage unit 280 stores the action determination rule 282, the definition information 284, the parameter initial value 286, and the latest parameter 288.
  • the input device 106 receives input of initial values of the parameters of the neural network from the user 30 and outputs them to the processing unit 102.
  • the processing unit 102 is formed by a processor such as a CPU.
  • the processing unit 102 causes the communication unit 108 to transmit the initial parameter values acquired from the input device 106 to the server 200.
  • the communication unit 108 receives the parameters of the neural network from the server 200.
  • the processing unit 102 causes the display unit 104 to display the parameters received by the communication unit 108.
  • the sensor unit 156 includes various sensors such as a camera, a 3D depth sensor, a microphone, a touch sensor, a laser range finder, and an ultrasonic range finder. Sensor information detected by the sensor unit 156 is output to the processing unit 152.
  • the processing unit 152 is formed by a processor such as a CPU.
  • the processing unit 152 causes the communication unit 158 to transmit the sensor information acquired from the sensor unit 156 to the server 200.
  • the communication unit 158 receives information indicating the operation content from the server 200.
  • the processing unit 152 controls the control target 155 based on the operation content received by the communication unit 158.
  • the control target 155 includes a speaker, a motor that drives each part of the robot 40, a display device, a light emitting device, and the like.
  • the processing unit 152 causes the speaker to output sound according to the received generation content.
  • the communication unit 208 outputs information received from the user terminal 100 or the robot 40 to the processing unit 202.
  • the initial value setting unit 210 stores the parameter initial value received by the communication unit 208 in the parameter initial value 286 in the storage unit 280.
  • the external input data generation unit 230 processes the sensor information received by the communication unit 208 to generate input information from the outside of the neural network and outputs it to the parameter processing unit 240.
  • the parameter processing unit 240 performs processing based on the neural network based on the neural network parameters 288 and the definition information 284 stored in the storage unit 280.
  • a neural network is a model for realizing a part of a brain function of a living body by simulation by computer processing. First, the technical background and problems related to the neural network will be described.
  • the brain can be broadly divided into two functions. One is various information processing including memory, learning, prediction and planning, and the other is an information processing adjustment function.
  • Information processing in the brain is thought to be realized by a huge number of neurons connected by synaptic connections. It is thought that there are hundreds of billions of neurons in the human brain as a whole.
  • the information processing regulation function is realized by a relatively small number of neurons existing in a specific part of the brain, such as a wide-range regulation system of the human brain. Specifically, the neurons in a specific part of the brain have axons that branch into a wide area of the brain without having a specific destination neuron, It is considered that the regulation function of information processing is realized by the action of various neurotransmitters. It is thought that there are several thousand neurons in the human wide regulatory system.
  • each of a relatively small number of neurons in a specific part of the brain is in contact with 100,000 or more other neurons, and the neurotransmitters released by the neurons in the specific part of the brain are not only the synaptic cleft but also the brain. It is thought that the information processing regulation function is realized by acting on a large number of neurons.
  • An example of information processing in the brain is visual information processing in the human visual cortex.
  • Human visual information is transmitted from the retina via the optic nerve to the primary visual cortex, where information processing related to movement is performed in the dorsal cortical visual path, and information other than movement such as face recognition is performed in the ventral cortical visual path. It is thought that information processing is performed.
  • information processing when a human feels drowsiness can be mentioned.
  • the development of sleepiness is thought to involve a broad regulatory system that releases neurotransmitters such as acetylcholine, noradrenaline, and serotonin.
  • a command such as sleepiness can be a message received in a wide area of the brain like a decision.
  • a network based on a plurality of artificial neurons connected by artificial synapses to simulate a part of brain functions is considered.
  • Examples of applications in this neural network include pattern recognition based on deep learning and data clustering using self-organizing maps, which simulate brain information processing such as image recognition and vocabulary classification. It can be said that it will be realized.
  • a learning rule based on Hebb's law or spike timing-dependent plasticity (STDP) can be applied to the neural network.
  • Hebb's law is that when the firing of one neuron fires another neuron, the connection between these two neurons is strengthened.
  • Based on Hebb's law when the artificial neurons before and after the artificial synapse are fired simultaneously, a process of strengthening the connection of the artificial synapse can be incorporated into the neural network.
  • STDP is a phenomenon in which synaptic enhancement / attenuation depends on the order of spike generation timings of neurons on the anterior and posterior sides of the synapse.
  • FIG. 3 schematically shows the neural network 300.
  • the neural network 300 includes an artificial neuron 1, an artificial neuron 2, an artificial neuron 3, an artificial neuron 4, an artificial neuron 5, an artificial neuron 6, an artificial neuron 7, an artificial neuron 8, and an artificial neuron 9. Includes multiple artificial neurons.
  • the neural network 300 includes an artificial synapse 301, an artificial synapse 302, an artificial synapse 303, an artificial synapse 304, an artificial synapse 305, an artificial synapse 306, an artificial synapse 307, an artificial synapse 308, an artificial synapse 309,
  • a plurality of artificial synapses including an artificial synapse 310 and an artificial synapse 311 are included.
  • Artificial neurons correspond to neurons in the living body.
  • An artificial synapse corresponds to a synapse in a living body.
  • the artificial synapse 301 connects the artificial neuron 4 and the artificial neuron 1.
  • the artificial synapse 301 is an artificial synapse that is connected in one direction.
  • the artificial neuron 4 is an artificial neuron connected to the input of the artificial neuron 1.
  • the artificial synapse 302 connects the artificial neuron 1 and the artificial neuron 2.
  • the artificial synapse 302 is an artificial synapse that is connected in both directions.
  • the artificial neuron 1 is an artificial neuron connected to the input of the artificial neuron 2.
  • the artificial neuron 2 is an artificial neuron connected to the input of the artificial neuron 1.
  • an artificial neuron may be represented by N and an artificial synapse may be represented by S.
  • a superscript number is used as an identification character.
  • integers i and j may be used as identification numbers.
  • N i represents an arbitrary artificial neuron.
  • an artificial synapse is identified using identification numbers i and j of two artificial neurons connected to the artificial synapse.
  • S 41 represents an artificial synapse that connects N 1 and N 4 .
  • S ij represents an artificial synapse that inputs the output of N i to N j .
  • S ji represents an artificial synapse in which the output of N j is input to N i .
  • a to G indicate that the state of the robot 40 is defined.
  • the state of the robot 40 includes the emotion of the robot 40, the generation state of endocrine substances, the situation around the robot 40, and the like.
  • N 4 , N 6 , and N 7 are conceptual artificial neurons in which concepts representing the situation of the robot 40 are defined.
  • N 4 is a conceptual artificial neuron that is assigned the status of “bell ringing”.
  • N 6 is a conceptual artificial neuron to which the situation “charging has started” is assigned.
  • N 7 is a conceptual artificial neuron to which the situation “the amount of stored electricity is equal to or less than a threshold” is assigned.
  • N 1 and N 3 are emotional artificial neurons in which emotions of the robot 40 are defined.
  • N 1 is an emotional artificial neuron to which the emotion of “happy” is assigned.
  • N 3 is an emotional artificial neuron to which the emotion “sad” is assigned.
  • N 2 and N 5 are endocrine artificial neurons in which the endocrine state of the robot 40 is defined.
  • N 5 is an endocrine artificial neuron that is assigned a developmental state of dopamine.
  • Dopamine is an example of an endocrine substance involved in the reward system. That, N 5 is an example of endocrine artificial neurons involved in reward system.
  • N 2 is an endocrine artificial neuron assigned the state of serotonin development. Serotonin is an example of an endocrine substance involved in the sleep system. That is, N 2 is an example of an endocrine artificial neuron involved in the sleep system.
  • the definition information 284 in the storage unit 280 stores information defining the state of the robot 40 as described above for each of the artificial neurons of the plurality of artificial neurons constituting the neural network.
  • the neural network 300 includes conceptual artificial neurons, emotional artificial neurons, and endocrine artificial neurons.
  • Conceptual artificial neurons, emotional artificial neurons, and endocrine artificial neurons are artificial neurons whose meanings such as concept, emotion, and endocrine are explicitly defined.
  • Such an artificial neuron is sometimes called an explicit artificial neuron.
  • N 8 and N 9 are artificial neurons in which the state of the robot 40 is not defined.
  • N 8 and N 9 are artificial neurons whose meanings such as concept, emotion, and endocrine are not explicitly defined. Such an artificial neuron is sometimes called an implicit artificial neuron.
  • the parameters of the neural network 300 include I t i that is an input to each N i of the neural network, E t i that is an input to N i from the outside of the neural network, a parameter of N i , and S i Parameters.
  • N i is the S t i representing the status of the N i
  • V i m t representing the output of the artificial neuron represented by N i
  • T i t representing the threshold of the ignition of N i
  • N i is the last and t f, which represents the final ignition time is ignited time to
  • the V i m tf representing the output of the artificial neuron N i in the final firing time is increased or decreased parameter output a t i, b t i, h t i
  • the output increase / decrease parameter is an example of a parameter that determines the temporal development of the output when the artificial neuron is fired.
  • the subscript t represents a parameter that can be updated as time progresses.
  • Parameters S ij is, t cf indicating the BS t ij representing a coupling coefficient of the artificial synapse S ij
  • the last simultaneous ignition time is the time at which N i and N j S ij is connected fires last time
  • BS ij tcf representing the coupling coefficient at the last simultaneous firing time
  • a t ij , b t ij , and h t ij that are parameters for increasing or decreasing the coupling coefficient.
  • the increase / decrease parameter of the coupling coefficient is an example of a parameter that determines the temporal development of the coupling coefficient after the two artificial neurons connected to the artificial synapse are fired at the same time last.
  • the parameter processing unit 240 updates the above-described parameters based on the input from the external input data generation unit 230 and the neural network, and determines the activation state of each artificial neuron.
  • the action determination unit 250 includes at least a part of artificial neurons based on the activation state of at least a part of artificial neurons defined by the parameter values of at least a part of the artificial neurons in the neural network and the definition information 284. Based on the state defined in the neuron, the operation of the robot 40 is determined.
  • the active state can be an activated state or a non-activated state. In the present embodiment, activation may be referred to as “ignition” and non-activation may be referred to as “unignition”. As will be described later, the state of “ignition” is divided into “rising phase” and “falling phase” depending on whether or not the output is increasing. “Not fired”, “rising phase”, and “falling phase” are represented by status S t i .
  • FIG. 4 schematically shows a parameter editing screen displayed on the user terminal 100.
  • the user terminal 100 displays parameters that can be edited by the user among the parameters at time t received from the server 200.
  • Parameter edit screen 400 for each of the N i, threshold and increasing or decreasing the parameters of N i, as well as identification information of all of the artificial neurons connected to N i, the coupling coefficient and the decrease parameter for entering values for each Includes input fields.
  • the parameter editing screen 400 includes a save button and a reset button. The user 30 can input an initial value in each input field using the input device 106.
  • the processing unit 102 transmits the initial value set on the parameter editing screen 400 to the server 200 through the communication unit 108.
  • the initial value transmitted from the user terminal 100 is stored in the parameter initial value 286 in the storage unit 280.
  • the processing unit 102 sets the setting value in the input field to a predetermined initial value.
  • the processing unit 102 displays the value of each artificial neuron parameter of the plurality of artificial neurons and the value of one or more artificial synapse parameters connected to the input to each artificial neuron in a plurality of rows of the table. Present multiple lines of artificial neurons to the user in a correlated format. Then, the processing unit 102 receives a user input to the table for changing the value of the presented parameter. In this way, the processing unit 102 collects the parameter values of each artificial neuron of a plurality of artificial neurons and the values of one or more artificial synapse parameters connected to the input of each artificial neuron together with the collective data. It can be presented to the user 30 using a data access structure accessible in units, and a value input from the user 30 can be accepted.
  • FIG. 5 schematically shows an operation flow of the server 200 when the robot 40 is activated or reset.
  • the parameter processing unit 240 performs initial setting of the parameters of the neural network. For example, the parameter processing unit 240 acquires initial parameter values from the storage unit 280, and generates parameter data of the neural network with a predetermined data structure (S502). Also, the parameter value of the neural network at time t 0 is set. When the initial setting is completed, a loop related to time t is started in S504.
  • the parameter processing unit 240 calculates a parameter corresponding to the change due to the electrical influence of the artificial synapse at the time step t n + 1 . Specifically, to calculate the BS t ij of any S ij.
  • the parameter processing unit 240 calculates a parameter corresponding to the change due to the chemical influence by the endocrine substance at the time step t n + 1 (S520). Specifically, endocrine artificial neurons to calculate the change in the parameters affecting N i and S ij. More specifically, at time step t n + 1, and the increase and decrease parameters and threshold of the output of the endocrine artificial neuron affects artificial neuron N i, increase or decrease the parameter and the coupling coefficient of coupling coefficient endocrine artificial neuron affects S ij Calculate
  • the parameter processing unit 240 acquires an input from outside the neural network. Specifically, the parameter processing unit 240 acquires the output of the external input data generation unit 230.
  • the parameter processing unit 240 calculates the output of N i at time step t n + 1 . Specifically, V i m tn + 1 and status S tt i are calculated. In S550, the value of each parameter at time t n + 1 is stored in the parameter 288 of the storage unit 280. Further, the value of each parameter at time t n + 1 is transmitted to the user terminal 100.
  • the parameter processing unit 240 determines whether to end the loop. For example, when the time indicated by the time step reaches a predetermined time or when the user terminal 100 instructs to stop the parameter update calculation, it is determined to end the loop. If the loop is not terminated, the process returns to S510, and the next time step is calculated. When the loop is finished, this flow is finished.
  • FIG. 6 is a diagram schematically illustrating calculation of a coupling coefficient of an artificial synapse.
  • constants a ij and b ij are defined as initial values of increase / decrease parameters will be described.
  • BS t ij increases at a t0 ij per unit time.
  • BS t ij decreases at
  • BS t ij increases at a t 4 ij per unit time.
  • FIG. 7 schematically shows the temporal evolution of the coupling coefficient when the function h t ij is defined as the coupling coefficient increase / decrease parameter.
  • h t ij is a function of at least ⁇ t, and takes a real value.
  • a function 700 illustrated in FIG. 7 is an example of h t ij .
  • Function 700 is a function of coupling coefficients BS tcf ij and ⁇ t at time t cf.
  • the function 700 monotonously increases when ⁇ t is in a range smaller than a predetermined value, and decreases monotonically and gradually decreases toward 0 when ⁇ t is larger than a predetermined value.
  • FIG. 7 shows a coupling coefficient in the case where a function 700 is defined as an increase / decrease parameter of the coupling coefficient, and N i and N j at both ends fire simultaneously at time t 0 .
  • the parameter processing unit 240 calculates BS t ij at each time from time t 1 to time t 6 based on the function 700 and ⁇ t. Within the time range from time t 1 to time t 6 , N i and N j do not fire simultaneously. Therefore, for example, time t 2 after the coupling coefficient decreases monotonically.
  • FIG. 8 schematically shows the temporal evolution of the coupling coefficient when N i and N j further fire simultaneously at time t 2 .
  • Coupling coefficient, from time t 0 to time t 2 is calculated in the same manner as FIG.
  • the parameter processing unit 240 calculates a coupling coefficient at each time from time t 3 to time t 6 according to h t ij (t ⁇ t 2 , BS t2 ij ). .
  • the coupling coefficient increases each time the simultaneous firing is repeated.
  • the effect of strengthening the artificial synapse connection is obtained like the Hebb's law in the living body.
  • FIG. 6 and FIG. 7 when the time during which no simultaneous firing occurs becomes long, an effect that the artificial synapse coupling is attenuated can be obtained.
  • FIG. 9 schematically shows another example of the coupling coefficient increase / decrease function h t ij .
  • the functions 910 and 920 are examples of h t ij , respectively.
  • a function 910 is a function of the coupling coefficients BS tcf ij and ⁇ t at time t cf.
  • the function 910 monotonously increases when ⁇ t is in a range smaller than a predetermined value, and decreases monotonically and gradually decreases toward 0 when ⁇ t is larger than a predetermined value.
  • the function 920 is a function of only ⁇ t.
  • the function 920 monotonously increases when ⁇ t is in a range smaller than a predetermined value, and decreases monotonously and gradually decreases toward 0 when ⁇ t is larger than a predetermined value.
  • h t ij can be defined relatively freely, the learning effect can be controlled relatively freely.
  • FIG. 10 schematically shows influence definition information that defines a chemical influence given to a parameter.
  • This influence definition information is used for calculation of the parameter change in S520 of FIG.
  • the definition information includes a condition relating to the output of the endocrine artificial neuron, information for specifying the affecting artificial neuron or artificial synapse, and an expression for determining the influence content.
  • endocrine artificial neuron N 2 is an endocrine artificial neuron endocrine substance of drowsiness is assigned.
  • endocrine artificial neuron N 5 is an endocrine artificial neuron endocrine substances reward system has been assigned. Examples of rewarding endocrine substances include dopamine.
  • the parameter processing unit 240 is greater than the T tn 5 Vm tn 5, and, if Vm tn 4 exceeds T tn 4, increasing the decrease parameter at time t n + 1 artificial synapse S 49 and S 95 10%
  • the second definition information regarding the endocrine artificial neuron N 5 includes the condition of “Vm tn 5 > T tn 5 ”, “N 1 ” as an artificial neuron affected by the endocrine artificial neuron N 5 , and an expression for determining the content of the influence.
  • a condition a condition that the output of the artificial neuron is equal to or less than a threshold value may be defined.
  • conditions relating to the status of the artificial neuron for example, conditions relating to the rising phase, the falling phase, or unfired may be defined.
  • an influence range can be defined as “all artificial synapses connected to a specific artificial neuron”.
  • an expression of influence when the target is an artificial neuron, in addition to multiplying the threshold by a constant, an expression such as adding a constant to the threshold or multiplying the output increase / decrease parameter by a constant may be defined. .
  • an expression for multiplying the coupling coefficient by a constant may be defined.
  • the impact definition information is stored in the definition information 284 of the storage unit 280.
  • the storage unit 280 influences at least one of the output of the endocrine artificial neuron and the firing state on at least one parameter of the other artificial neuron and the artificial synapse that are not directly connected to the endocrine artificial neuron at the artificial synapse.
  • the parameter processing unit 240 based on at least one of the output and firing state of the endocrine artificial neuron, and the effect definition information, other artificial neurons and artificial synapses that are not directly connected to the endocrine artificial neuron with the artificial synapse. Update at least one of the parameters.
  • At least one of the parameters of other artificial neurons affected by at least one of the output and the firing state of the endocrine artificial neuron is at least one of the parameters that determine the threshold value of other artificial neurons, the firing state, and the time evolution of the output at the time of firing.
  • the parameters of the artificial synapse affected by at least one of the output and firing state of the endocrine artificial neuron are the coupling coefficient of the artificial synapse and the two artificial neurons connected to the artificial synapse after the last simultaneous firing. At least one of the parameters defining the time evolution of the coupling coefficient.
  • the influence definition information includes information that defines the influence of the firing state of the endocrine artificial neuron associated with the reward system on the threshold value of the emotional artificial neuron, and the parameter processing unit 240 displays the information when the endocrine artificial neuron fires.
  • the threshold value of the emotional artificial neuron is updated according to the influence definition information.
  • FIG. 11 shows a flowchart for calculating V tn + 1 i and S tn + 1 i .
  • the process of this flowchart can be applied to a part of the process in S540 of FIG.
  • E tn i is an input at time t n from the outside of the neural network.
  • f (S) returns 0 when S is a value indicating unfired, and returns 1 when S is a value indicating an rising phase or a falling phase.
  • the parameter processing unit 240 determines whether I tn + 1 i exceeds T tn + 1 i . If I tn + 1 i exceeds T tn + 1 i, the parameter processing unit 240, to calculate on the basis of the increase or decrease the Vm tn + 1 i parameter, set to the values shown in rising phase or lowering phase S tn + 1 i according to Vm tn + 1 i (S1114), and this flow ends.
  • the parameter processing unit 240 calculates Vm tn + 1 i (S1120). Then, the parameter processing unit 240, if Vm t i until t n + 1 has reached Vmin, and set to a value of non-fire S tn + 1 i, if t n + 1 Vm t i so far not reached the Vmin is , S tn + 1 i is set to the value of the rising phase or the falling phase, and this flow is finished.
  • the parameter processing unit 240 t n + 1 When Vm t i has reached Vmax until set the value of the descending phase S tn + 1 i, if t n + 1 Vm t i so far not reached Vmax S The value of the rising phase is set to tn + 1 i .
  • N i firing, even if equal to or less than the output threshold, the output of the N i is independent of the input.
  • Such a period corresponds to the absolute refractory period in living neurons.
  • FIG. 12 is a diagram schematically illustrating a calculation example of V t i when N i does not ignite.
  • N i at time step at time t 0 is not yet ignited.
  • the parameter processing unit 240 maintains the value of V tn calculated at time step t n until the next time step, and changes it to I tn + 1 at V tn + 1 .
  • FIG. 13 is a diagram schematically illustrating an example of calculating V i t when Ni is ignited.
  • FIG. 13 is a calculation example when the constants a i and b i are defined.
  • N i is not fired.
  • I t1 i at time t 1 is V max or less.
  • Parameter processing unit 240 determines the status S t i of N i of this period the rise phase.
  • V t i When V t i reaches Vmax, V t i is decreased by
  • the parameter processing unit 240 determines the status of the N i of this period the downward phase.
  • Vm t i When the status of N i is in the descending phase, Vm t i does not depend on I t i even if the calculated V mt i falls below T t i .
  • Parameter processing unit 240 even Vm t i is below T t i, until Vm t i reaches Vmin, calculates the Vm t i in accordance with increase and decrease parameters.
  • FIG. 14 schematically shows the time evolution of the coupling coefficient when the function h t i is defined as an increase / decrease parameter of N i .
  • h t i is a function of at least ⁇ t.
  • h t i takes a real value, and the range of h t i is not less than Vmin and not more than Vmax.
  • a function 1400 illustrated in FIG. 14 is an example of h t i .
  • Function 1400 is a function of Vm tf i and ⁇ t at time t f.
  • the function 1400 monotonously increases when ⁇ t is in a range smaller than a predetermined value, and monotonically decreases when ⁇ t is larger than a predetermined value.
  • FIG. 14 shows an output when a function 1400 is defined as an output increase / decrease parameter and Ni is ignited at time t 1 .
  • Parameter processing unit 240 a function 1400, based on the ⁇ t and Vm f i, compute the Vm t i of each time of the time t 1 ⁇ time t 5.
  • Vm t i because it has reached Vmin at time t 5, the at time t6
  • Vm t i I t6 i .
  • FIG. 15 schematically shows another example of a function h t i as an increase / decrease parameter.
  • the function 1510 and the function 1520 are examples of h t i , respectively.
  • Function 1510 is a function of the output Vm tf i and ⁇ t at time t f.
  • the function 1510 is a function that monotonously increases when ⁇ t is smaller than a predetermined value and monotonously decreases when ⁇ t is larger than a predetermined value.
  • the function 1520 is a function of only ⁇ t.
  • the function 920 is a function that monotonously increases when ⁇ t is smaller than a predetermined value and monotonously decreases when ⁇ t is larger than a predetermined value.
  • the parameter processing unit 240 can calculate an output using a change in the action potential of a neuron as a model. Therefore, the increase and decrease in output can be expressed. Further, the change in output after ignition can be expressed relatively freely by the increase / decrease parameter. Thereby, the range which expresses a state can be expanded.
  • a coupling coefficient changes linearly with progress of time.
  • a j and b j when a j and b j are used, the output changes linearly with the passage of time.
  • coefficients such as a ij and b ij may be applied to coefficients of functions other than straight lines.
  • the firing state of the artificial neuron is continuously promoted in one direction with time. For example, if there are artificial neurons connected in a loop shape by a strong-coupled artificial synapse in the neural network, the artificial neurons connected in a loop shape are continuously fired, thereby causing adjacent artificial neurons in the loop to simultaneously fire. In some cases, the firing of the artificial neurons may continue to be promoted by firing and the increase in the coupling coefficient of the artificial synapse between the artificial neurons. The same applies to the case where the threshold value of another artificial neuron falls due to the influence of the firing of a certain endocrine artificial neuron, and the firing of the affected artificial neuron promotes the firing of the endocrine artificial neuron.
  • the parameter processing unit 240 monitors the firing state of the artificial neuron, the temporal change in the coupling coefficient of the artificial synapse, and the like, and detects the presence of the artificial neuron whose firing state is positive feedback or negative feedback. By adjusting the coupling coefficient of the artificial synapse with the threshold value of the neuron, the firing state may be prevented from being continuously promoted in one direction.
  • the promotion of firing may be suppressed by increasing the threshold value of the artificial neuron forming the positive feedback system or decreasing the coupling coefficient of the artificial synapse forming the positive feedback system. Further, it may be possible to suppress the suppression of firing by lowering the threshold value of the artificial neuron forming the negative feedback system or increasing the coupling coefficient of the artificial synapse forming the negative feedback system.
  • FIG. 16 schematically shows an example of a parameter viewer screen displayed by the user terminal 100.
  • the communication unit 208 transmits the parameter data updated by the parameter processing unit 240 to the user terminal 100 substantially in real time.
  • the processing unit 102 displays the parameters in a two-dimensional table format. Thereby, the user can confirm on the user terminal 100 the parameter whose parameter value changes every moment. In this way, the processing unit 102 calculates the values of the parameters of each artificial neuron of the plurality of artificial neurons updated in time and the values of the parameters of one or more artificial synapses connected to the input to each artificial neuron.
  • a plurality of rows of artificial neurons are associated with a plurality of rows and presented to the user.
  • the displayed parameters of the artificial neuron include threshold value, firing state, last firing time, output, output at the last firing time, and time evolution of output at firing. Including at least one of the defined parameters.
  • the displayed parameters of the artificial synapse include the coupling coefficient to the connected artificial neuron, the last simultaneous firing time that is the last time that two artificial neurons connected to the artificial synapse are fired at the same time, and the last simultaneous firing time. And at least one parameter that defines the time evolution of the coupling coefficient after simultaneous firing and identification information of the artificial synapse.
  • FIG. 17 schematically shows a screen presented when a neural network is graphically edited.
  • FIG. 4 shows an example of a screen for editing the parameters of the neural network in a two-dimensional table format.
  • FIG. 17 provides an environment in which the user 30 can edit parameters more graphically.
  • FIG. 17 shows an example of a screen for editing emotion artificial neurons.
  • a round object represents an artificial neuron. Characters representing emotions defined for each emotional artificial neuron are displayed in the object. The artificial synapse connecting emotional artificial neurons is represented by a line.
  • the user can add, delete, and edit parameters of artificial neurons by, for example, mouse operation or keyboard operation. Also, the user can add and delete artificial synapses and edit parameter values by, for example, mouse operation and keyboard operation.
  • the server 200 graphically displays the neural network based on the parameter value changed by the parameter processing unit 240 on the user terminal 100 after the calculation of the neural network is started.
  • the connection relationship between the artificial neurons and artificial synapses of the neural network is displayed graphically as in the editing screen. Display examples showing how the parameters are changed will be described with reference to FIGS.
  • FIG. 18 is an example of an edit screen for editing an artificial synapse.
  • an artificial synapse is right-clicked on the editing screen 1700 shown in FIG. 17, an artificial synapse editing screen 1800 is displayed.
  • the edit screen 1800 is used to change the meaning defined in the two artificial neurons to which the selected artificial synapse is connected, the direction in which the output of the artificial neuron is directed, the name and current value of the parameter of the artificial synapse, and the parameter. Includes an operation unit.
  • the parameters of the artificial synapse include an initial value of the coupling coefficient and initial values of the increase / decrease parameters a and b.
  • the edit screen includes a cancel button for instructing to cancel editing, an update button for instructing to update the initial value with the edited parameter value, and a delete button for instructing to delete the artificial synapse. .
  • the initial values of the neural network parameters can be edited visually. Therefore, even an unskilled user can edit the neural network relatively easily.
  • FIG. 19 schematically shows a display example of the output of the artificial neuron.
  • Processing unit 202 based on the magnitude of Vm t i of each N i, is displayed on the user terminal 100 by changing the color of the object representing each artificial neuron N i.
  • processing unit 102 the larger the Vm t i, darkening the object.
  • the user can easily recognize the change in the output of the artificial neuron.
  • the color in the object may be lighter as Vm t i is larger.
  • the density of the color, brightness of the color, saturation may be changed depending on the color itself Vm t i.
  • FIG. 20 schematically shows a display example of an electrical signal propagating through an artificial synapse.
  • Processing unit 202 based on the ignition state and information of the artificial synapse connected to the N i of the N i, and displays an animation indicating the propagation of the electrical signal to the user terminal 100.
  • the processing unit 202 temporally moves the display position of the object 2010 representing the electrical signal from the output-side artificial neuron to the input-side artificial neuron.
  • the processing unit 202 makes the time step for calculating the position of the object 2010 shorter than the time step t n + 1 -t n for parameter calculation.
  • FIG. 21 schematically shows a display example of a connection state between artificial neurons by an artificial synapse.
  • the processing unit 202 displays on the user terminal 100 whether the coupling is strong coupling or inhibition coupling by changing the color of the line representing the artificial synapse. For example, when the BS t ij is positive, the processing unit 202 displays a line representing S ij in blue representing strong coupling. When BS t ij is negative, the processing unit 202 displays a line representing S ij in red representing inhibitory coupling. Thereby, the user can recognize at a glance whether the artificial synapse is a strong bond or an inhibitory bond.
  • the processing unit 202 based on the size of the BS t ij of each S ij, it is displayed on the user terminal 100 by changing the width of the lines representing the artificial synapses. For example, the processing unit 202 increases the width of the line representing S ij as BS t ij increases. Thereby, the user can recognize at a glance the degree of connection between the artificial neurons by the artificial synapse.
  • each artificial synapse may be displayed as a separate line.
  • an artificial synapse may be identified by adding a mark such as an arrow indicating the input / output direction of the artificial synapse.
  • FIG. 22 schematically shows a display example of the arrangement of artificial neurons.
  • Processing unit 202 calculates the distance of each artificial neuron pairs based on at least one of the connections between BS t ij and artificial neurons each S ij, distance is displayed by arranging a short artificial neuron pairs nearer It's okay.
  • the distance represents the degree of connection between artificial neurons.
  • the distance between the artificial neurons may be calculated to be shorter as the coupling coefficient of the artificial synapse interposed between the artificial neuron pair is larger. Further, the distance between the artificial neuron pairs may be calculated to be shorter as the number of artificial synapses interposed in series between the artificial neuron pairs is smaller. Further, the distance between the artificial neurons may be calculated to be shorter as the number of artificial synapses interposed in parallel between the artificial neuron pairs increases.
  • the average value or minimum value of BS t ij of all the artificial synapses intervening in series between the artificial neuron pairs is set as an effective coupling coefficient. As a result, the distance may be calculated based on the effective coupling coefficient.
  • FIG. 23 schematically shows a display example of the range of artificial neurons affected by endocrine artificial neurons.
  • the processing unit 202 highlights and displays the artificial neuron object affected by the endocrine artificial neuron represented by the selected object.
  • the processing unit 202 identifies an affected artificial neuron based on the influence definition information included in the definition information 284.
  • the processing unit 202 displays a range 2310 surrounding N 1 and N 3 whose ignition is suppressed by N 2 in red.
  • the processing unit 202 displays an artificial synapse line and a range 2320 surrounding the object that are affected in the direction of promoting firing by N 2 in blue.
  • FIG. 24 schematically shows priority artificial neuron information defining priorities for calculating parameters of the artificial neuron.
  • the priority artificial neuron information is an artificial neuron that influences the value indicating the priority and the input of the priority artificial neuron in association with the information for identifying the priority artificial neuron that is the artificial neuron whose parameter should be calculated with priority. Define information to identify related artificial neurons.
  • the parameter processing unit 240 selects an artificial neuron and an artificial synapse whose parameters are to be updated according to the priority order based on the amount of resources available for calculation of parameter update in the server 200.
  • the related artificial neuron may be set in the initial setting based on the connection relation of the artificial neuron in the neural network.
  • the parameter processing unit 240 sets an endocrine artificial neuron that affects the threshold value of the priority artificial neuron as a related artificial neuron.
  • the parameter processing unit 240 identifies one or more artificial neurons that influence the input of the priority artificial neuron via the artificial synapse by tracing the artificial synapse in the reverse order of the signal input direction from the priority artificial neuron. May be stored in the associated artificial neuron.
  • the parameter processing unit 240 also sets the related artificial neuron corresponding to the priority artificial neuron as the parameter update target when the priority artificial neuron is set as the parameter update target.
  • the parameter processing unit 240 determines an upper limit value of the number of update target artificial neurons to be updated based on the amount of resources available in the server 200. Then, the parameter processing unit 240 may determine an update target artificial neuron by selecting a priority artificial neuron in descending order of priority so that the number of artificial neurons targeted for parameter update is equal to or less than the determined upper limit value. .
  • the parameter processing unit 240 updates only the value of BS tn + 1 ij of the artificial synapse connected to the input of the update target artificial neuron.
  • the value of synapse BS tn + 1 ij is not calculated and the value of BS tn ij is maintained.
  • S520 and S540 only the value of the parameter of the artificial neuron to be updated and the value of the parameter of the artificial synapse connected to the input of the artificial neuron to be updated are updated, and the values of the other parameters are updated. Without maintaining the value.
  • the values of parameters other than the update target artificial neuron are also maintained.
  • the parameter processing unit 240 may update the parameters of all artificial neurons and all artificial synapses when the resources available in the server 200 are sufficient.
  • FIG. 25 shows a software architecture related to the system 20.
  • the contents of the edit processing, update processing, and display processing of the parameters of the artificial neuron and the artificial synapse have been mainly described.
  • items related to the subject on the software performing each process will be described.
  • a plurality of update agents 2400 responsible for the function of the parameter processing unit 240 and input / output agents 2450 a and 2450 b responsible for data input / output between the user terminals 100 are installed in the processing unit 202.
  • the input / output agent 2450a performs processing of receiving the initial value of the parameter from the editor function unit installed in the processing unit 102 of the user terminal 100 and storing it in the data structure 2500.
  • the input / output agent 2450a transmits the parameter updated by the parameter processing unit 240 to the user terminal 100, and performs processing for display on the viewer function unit mounted on the processing unit 102.
  • the editor function unit and the viewer function unit are implemented in the processing unit 102 by a web browser, for example. Data exchanged between the user terminal 100 and the server 200 may be transferred according to the HTTP protocol.
  • the plurality of update agents 2400 each access the data structure 2500 in units of artificial neurons and perform parameter update calculation in units of artificial neurons.
  • Each of the plurality of update agents 2400 can access a data structure 2500 that stores the parameters of the neural network.
  • each of the plurality of update agents 2400 can perform parameter update calculation.
  • the processes of the plurality of update agents 2400 may be executed by separate processes. Further, the plurality of update agents 2400 may be executed by a plurality of threads in one process, respectively.
  • the data structure 2500 is generated in a form that can be accessed in batches in units of artificial neurons, similar to the information described with reference to FIG.
  • the parameter processing unit 240 may generate the data structure 2500 in the memory in the processing unit 202 in the initial processing of S502 of FIG.
  • the data structure 2500 has a structure in which a parameter value of each artificial neuron of a plurality of artificial neurons and a parameter value of one or more artificial synapses connected to an input of each artificial neuron can be accessed in a collective data unit.
  • the update agent 2400 artificially transmits the artificial neuron parameters to the plurality of artificial neurons through the data structure 2500 to the value of each artificial neuron parameter of the plurality of artificial neurons and the value of one or more artificial synapse parameters connected to the input to each artificial neuron. Access is made for each neuron, and the value of each artificial neuron parameter of the plurality of artificial neurons and the value of one or more artificial synapse parameters connected to the input to each artificial neuron are updated in time. Therefore, the plurality of update agents 2400 can perform processing for updating the parameter values in parallel.
  • FIGS. 25 to 27 show a method of performing parameter value update processing in parallel by multi-process processing.
  • the data structure 2500 may be formed in a memory area secured as a shared memory.
  • FIG. 26 schematically shows a state before update calculation is performed on a plurality of artificial neurons.
  • the four processes 1 individually determine which artificial neuron parameter calculation is to be performed.
  • process 1 reads data row of N 1 uncalculated, start updating calculation of the parameters of the N 1.
  • the process 2 reads the data of the uncalculated N 2 rows and starts the update calculation of the N 2 parameters.
  • the process 3 reads the data of the uncalculated N 3 rows and starts the update calculation of the N 3 parameters.
  • the process 4 reads the data row of N 1 uncalculated, start updating calculation of the parameters of the N 1.
  • FIG. 28 schematically shows the calculation state at time t6.
  • the parameter calculation is completed in the process 4 is N 1, the parameters of the N 1 to determine whether the uncalculated.
  • the process 4 recognizes that the parameter of N 1 has been calculated, the process 4 discards the calculation result of N 1 performed by the process 4. Subsequently, the process 4, it is determined that N 5 is uncalculated, reads the data row of N 5, start updating calculation of the parameters of the N 5.
  • calculation is started by selecting an uncalculated artificial neuron for each process by multi-process processing, and only the process that has completed the earliest calculation writes the calculation result. Can be implemented.
  • the process of S510 of FIG. 5 and the process of S520 can be performed in parallel.
  • the final calculation result may be generated by superimposing the calculation results performed in parallel.
  • an artificial neuron that is not affected by a change due to a chemical effect in another process may be selected and the process of S540 of FIG. 5 may be performed.
  • the same processing is not limited to multi-process processing, and can be performed by a multi-thread system.
  • a multi-thread system it can be realized by replacing the processing in each process described above with each thread.
  • FIG. 29 schematically shows a configuration of a neural network for performing distributed control among subsystems.
  • the single server 200 implements the neural network processing.
  • one neural network 2900 is constructed by three independent servers.
  • the neural network 2900 is formed by a sub-neural network 2910, a sub-neural network 2920, and a sub-neural network 2930. Calculations of the sub-neural network 2910, the sub-neural network 2920, and the sub-neural network 2930 are performed by different servers.
  • the artificial neuron 2914 of the sub-neural network 2910 is an artificial neuron in which the same concept as the artificial neuron 2921 of the sub-neural network 2920 and the artificial neuron 2931 of the sub-neural network 2930 is defined.
  • the artificial neuron 2923 of the sub-neural network 2920 is an artificial neuron in which the same concept as the artificial neuron 2934 of the sub-neural network 2930 is defined.
  • the artificial neuron 2925 of the sub-neural network 2910 is an artificial neuron in which the same concept as the artificial neuron 2932 of the sub-neural network 2930 is defined.
  • the artificial neuron 2914 is connected to the artificial neuron 2931 by an artificial synapse 2940.
  • the artificial neuron 2914 is connected to the artificial neuron 2921 by an artificial synapse 2960.
  • the artificial neuron 2915 is connected to the artificial neuron 2932 by an artificial synapse 2950.
  • the artificial neuron 2923 is connected to the artificial neuron 2934 by an artificial synapse 2970.
  • the artificial synapse 2940, the artificial synapse 2950, the artificial synapse 2960, and the artificial synapse 2970 are realized by communication via a network.
  • the artificial neuron 2915 is a conceptual artificial neuron in which the situation that “Mr. A is in view” is defined
  • the artificial neuron 2932 is also a conceptual artificial neuron in which the situation that “Mr. A is in view” is defined.
  • the output of the artificial neuron 2915 is transmitted from the sub-neural network 2910 to the sub-neural network 2930 via the network.
  • a plurality of artificial neurons constituting a sub-neural network to be constructed by one server have a distance between the artificial neurons shorter than a predetermined distance.
  • it may be divided into sub-neural networks in functional units.
  • the sub-neural network 2910 may be a neural network of a functional part responsible for space recognition based on camera images.
  • each sub-neural network may perform processing of the neural network asynchronously.
  • the server that performs the processing of the first sub-neural network A server that performs processing of the sub-neural network may be notified that there is an error in output. For example, if the output “Mr. B is in the field of view” is suddenly acquired after the output “Mr. A is in the field of view” continues, it may be determined that there is an error in the output.
  • the output at the time when the error is notified may be recalculated in the second sub-neural network and output to the first sub-neural network.
  • the most probable calculation result output first may be excluded and the next most probable calculation result may be output.
  • the operation of the neural network realized by the processing of the server 200 and the server described in relation to FIG. 29 is regarded as the operation of an analog computer.
  • the output of an artificial neuron of a neural network can be regarded as a voltage of a corresponding part in an electric circuit of an analog computer.
  • the signal transmitted through the artificial synapse can be regarded as a current
  • the coupling coefficient of the artificial synapse can be regarded as the resistance of the corresponding electric circuit
  • the increase / decrease parameter or expression of the artificial neuron is regarded as the circuit characteristic.
  • the operation of graphically changing the connection of the neural network according to the above-described embodiment corresponds to the operation of changing the elements of the analog computer by hand.
  • adding an input to a neural network or changing a parameter corresponds to applying a voltage to an electric circuit of an analog computer or changing a value of a potentiometer or the like in the electric circuit. Therefore, mounting the above-described neural network processing on a Neumann computer such as the server 200 or the server described with reference to FIG. 29 by a program is equivalent to mounting an analog computer model of the neural network on a Neumann computer. It is.
  • a server different from the robot 40 is responsible for the neural network processing.
  • the robot 40 itself may be responsible for the neural network processing.
  • the robot 40 is an example of an electronic device to be controlled.
  • the electronic device to be controlled is not limited to the robot 40.
  • Various electronic devices can be applied as control targets.
  • System 30 User 40 Robot 90 Communication network 100 User terminal 50 Robot 102 Processing unit 104 Display unit 106 Input device 108 Communication unit 152 Processing unit 155 Control target 156 Sensor unit 158 Communication unit 200 Server 202 Processing unit 208 Communication unit 210 Initial value setting Unit 230 external input data generation unit 240 parameter processing unit 250 operation determination unit 280 storage unit 282 behavior determination rule 284 definition information 286 parameter initial value 288 parameter 300 neural network 301, 302, 303, 304, 305, 306, 307, 308, 309, 310 Artificial synapse 400 Parameter edit screen 700, 910, 920 Function 1400, 1510, 1520 Function 1700 Edit screen 1800 Edit screen 2010 Object 2310 Range 2 20 Range 2400 Update agent 2450 Input / output agent 2500 Data structure 2900 Neural network 2910 Sub-neural network 2914, 2915 Artificial neuron 2920 Sub-neural network 2921, 2923, 2925 Artificial neuron 2930 Sub-neural network 2931, 2932, 2934 Artificial neuron 2940, 2950, 2

Landscapes

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

Abstract

処理システムは、ニューラルネットワークを構成する複数の人工ニューロン及び複数の人工シナプスのパラメータを処理する処理システムであって、複数の人工ニューロンの各人工ニューロンに対して制御対象の状態を定義した定義情報を格納する格納部と、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンの入力に接続される1以上の人工シナプスのパラメータの値を、人工ニューロン毎に一括的なデータ単位でアクセス可能なデータアクセス構造を用いて処理する処理部と、複数の人工ニューロンのうちの少なくとも一部の人工ニューロンのパラメータの値によって定められる前記少なくとも一部の人工ニューロンの活性状態と、前記少なくとも一部の人工ニューロンに定義されている状態とに基づいて、前記制御対象の動作を決定する動作決定部とを備える。

Description

処理システム及びプログラム
 本発明は、処理システム及びプログラムに関する。
 ユーザ情報、機器情報及び自身の現在の感情状態を入力して次回の感情状態を出力するニューラルネットを備える感情生成装置が知られている(例えば、特許文献1参照)。また、方向性人工シナプス接続性を有するレイヤ・ニューラルネット関係を有する複数の電子ニューロンを含む連想メモリに時空パターンを記憶する技術が知られている(例えば、特許文献2参照)。
 [先行技術文献]
 [特許文献]
 [特許文献1]特開平10-254592号公報
 [特許文献2]特表2013-535067号公報
 ニューラルネットワークを構成する個々の人工ニューロン及び人工シナプスのパラメータを効率的に処理することができないという課題があった。
 本発明の第1の態様においては、ニューラルネットワークを構成する複数の人工ニューロン及び複数の人工シナプスのパラメータを処理する処理システムであって、複数の人工ニューロンの各人工ニューロンに対して制御対象の状態を定義した定義情報を格納する格納部と、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンの入力に接続される1以上の人工シナプスのパラメータの値を、人工ニューロン毎に一括的なデータ単位でアクセス可能なデータアクセス構造を用いて処理する処理部と、
 複数の人工ニューロンのうちの少なくとも一部の人工ニューロンのパラメータの値によって定められる少なくとも一部の人工ニューロンの活性状態と、少なくとも一部の人工ニューロンに定義されている状態とに基づいて、制御対象の動作を決定する動作決定部とを備える処理システムが提供される。
 処理部による処理は、複数の人工ニューロン及び人工シナプスのパラメータの値を人工ニューロン毎に更新すること、複数の人工ニューロン及び人工シナプスのパラメータの現在の値を人工ニューロン毎に一括的にユーザに提示すること、及び、複数の人工ニューロン及び人工シナプスのパラメータの値を人工ニューロン毎に一括的にユーザに提示してユーザからパラメータの値の入力を受け付けることを含んでよい。
 処理部は、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を、テーブルの複数の行に複数の人工ニューロンの複数の行を対応づけた形式でユーザに提示してよく、提示されたパラメータの値を変更するためのテーブルに対するユーザ入力を受け付けてよい。
 処理部は、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値に一括的なデータ単位でアクセス可能なデータ構造を生成してよく、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値に、データ構造を通じて複数の人工ニューロンに人工ニューロン毎にアクセスして、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を時間的に更新してよい。
 処理部は、時間的に更新される複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を、テーブルの複数の行に複数の人工ニューロンの複数の行を対応づけた形式でユーザに提示してよい。
 人工ニューロンのパラメータは、閾値、活性状態、最後に活性化した時刻、出力、最後に活性化した時刻における出力、及び活性化時の出力の時間発展を定めるパラメータの少なくとも1つを含んでよく、人工シナプスのパラメータは、接続された人工ニューロンへの結合係数、人工シナプスが結びつけている2つの人工ニューロンが最後に同時に活性化した時刻である同時活性化時刻、当該同時活性化時刻における結合係数、及び同時の活性化が生じた後の結合係数の時間発展を定めるパラメータの少なくとも1つと、人工シナプスの識別情報とを含んでよい。
 複数の人工ニューロンには、内分泌物質の発生状態が定義された人工ニューロンである内分泌人工ニューロンが含まれてよく、格納部は、内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータに、内分泌人工ニューロンの出力及び活性状態の少なくとも一方が与える影響を定めた影響定義情報を更に格納してよく、処理部は、内分泌人工ニューロンの出力及び活性状態の少なくとも一方と、影響定義情報とに基づいて、内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータを更新してよい。
 内分泌人工ニューロンの出力及び活性状態の少なくとも一方が影響を与える他の人工ニューロンのパラメータは、他の人工ニューロンの閾値、活性状態、及び、活性化時の出力の時間発展を定めるパラメータの少なくとも1つを含んでよく、内分泌人工ニューロンの出力及び活性状態の少なくとも一方が影響を与える人工シナプスのパラメータは、当該人工シナプスの結合係数、及び、当該人工シナプスが結びつけている2つの人工ニューロンが最後に同時に活性化した後の結合係数の時間発展を定めるパラメータの少なくとも1つを含んでよい。
 複数の人工ニューロンには、制御対象の現在の感情が定義された人工ニューロンである感情人工ニューロンを更に含んでよく、影響定義情報は、報酬系に関連づけられた内分泌人工ニューロンの活性状態が感情人工ニューロンの閾値に与える影響を定めた情報を含んでよく、処理部は、内分泌人工ニューロンが活性化した場合に、影響定義情報に従って、感情人工ニューロンの閾値を更新してよい。
 処理部は、複数の人工ニューロンのうちの一部の人工ニューロンのパラメータを、他の人工ニューロンのパラメータの更新頻度より高い頻度で更新してよい。
 処理部は、処理システムにおいて演算に利用可能なリソース量が予め定められた値より小さい場合に、一部の人工ニューロンのパラメータを、他の人工ニューロンのパラメータの更新頻度より高い頻度で更新してよい。
 複数の人工ニューロンには、優先順位が予め割り当てられていてよく、処理部は、複数の人工ニューロンの中から、処理システムにおいて演算に利用可能なリソース量の範囲内でパラメータを更新可能な一部の人工ニューロンを優先順位に従って選択してよく、選択した一部の人工ニューロンのパラメータを、他の人工ニューロンのパラメータの更新頻度より高い頻度で更新してよい。
 ニューラルネットワークは、制御対象の状態が定義されていない人工ニューロンである非定義人工ニューロンを1以上含んでよく、処理部は、報酬系に関連づけられた内分泌人工ニューロンが活性化した場合に、非定義人工ニューロンのうち、当該内分泌人工ニューロン及び当該内分泌人工ニューロンと同時に活性状態にある他の人工ニューロンを接続する1以上の非定義人工ニューロンに接続された人工シナプスの結合係数を高めてよい。
 処理部は、報酬系に関連づけられた内分泌人工ニューロンと当該内分泌人工ニューロンと同時に活性状態にある他の人工ニューロンとの間を接続するルートのうち、非定義人工ニューロンに接続された人工シナプスの結合係数を考慮した人工ニューロン間の距離がより近いルートをより優先して選択してよく、選択したルートを提供する非定義人工ニューロンに接続された人工シナプスの結合係数を高めてよい。
 本発明の第2の態様によれば、コンピュータを、上記処理システムとして機能させるためのプログラムが提供される。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係るシステム20の一例を概略的に示す。 サーバ200、ユーザ端末100及びロボット40のブロック構成を概略的に示す。 ニューラルネットワーク300を概略的に示す。 ユーザ端末100に表示されるパラメータ編集画面を概略的に示す。 ロボット40が起動又はリセットされた場合のサーバ200の動作フローを概略的に示す。 人工シナプスの結合係数の計算を概略的に説明する図である。 結合係数の増減パラメータとして関数h ijが定義されている場合の結合係数の時間発展を概略的に示す。 時刻t2で更に同時発火した場合の結合係数の時間発展を概略的に示す。 結合係数の増減関数の他の例を概略的に示す。 パラメータに与えられる化学的影響を定義する影響定義情報を概略的に示す。 出力及びステータスを計算するフローチャートを示す。 人工ニューロンが発火しない場合の出力の計算例を概略的に説明する図である。 人工ニューロンが発火する場合の出力の計算例を概略的に説明する図である。 人工ニューロンの増減パラメータとして関数が定義されている場合の結合係数の時間発展を概略的に示す。 増減パラメータとしての関数の他の例を概略的に示す。 ユーザ端末100が表示するパラメータビューワの画面例を概略的に示す。 ニューラルネットワークをグラフィカルに編集する場合に提示される画面を概略的に示す。 人工シナプスを編集する編集画面の一例である。 人工ニューロンの出力の表示例を概略的に示す。 人工シナプスを電気信号が伝搬する様子の表示例を概略的に示す。 人工シナプスによる人工ニューロン間の結合状態の表示例を概略的に示す。 人工ニューロンの配置の表示例を概略的に示す。 内分泌人工ニューロンが影響する人工ニューロンの範囲の表示例を概略的に示す。 人工ニューロンのパラメータを計算する優先順位を定めた優先人工ニューロン情報を概略的に示す。 システム20に係るソフトウェアアーキテクチャを概略的に示す。 複数の人工ニューロンに対して更新計算を行う前の状態を概略的に示す。 パラメータの値の更新処理をマルチプロセス処理によって並列に行う方法を示す。 更新計算の途中における計算状態を概略的に示す。 サブシステム間で分散制御を行うためのニューラルネットワークの構成を概略的に示す。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、本実施形態に係るシステム20の一例を概略的に示す。システム20は、サーバ200と、ユーザ端末100aと、ユーザ端末100bと、ロボット40a及びロボット40bと、サーバ200とを備える。ユーザ端末100a、ユーザ端末100b及び、ロボット40a及びロボット40bは、通信網90を通じてサーバ200と通信して情報のやりとりを行う。
 なお、ユーザ30aは、ロボット40a及びユーザ端末100aのユーザである。ユーザ30bは、ロボット40b及びユーザ端末100bのユーザである。ロボット40bは、ロボット40aと略同一の機能を有する。また、ユーザ端末100bは、ユーザ端末100aと略同一の機能を有する。そのため、ロボット40a及びロボット40bをロボット40と総称し、ユーザ端末100a及びユーザ端末100bをユーザ端末100と総称して、システム20を説明する。
 システム20は、ロボット40の状態を決定するためのニューラルネットワークのパラメータを処理する。ニューラルネットワークのパラメータとは、ニューラルネットワークを構成する複数の人工ニューロン及び複数の人工シナプスのパラメータを含む。
 具体的には、ユーザ端末100は、ユーザ30からの入力に基づいて、ニューラルネットワークのパラメータの初期値を設定して、サーバ200に送信する。ロボット40は、ロボット40に設けられたセンサで検出されたセンサ情報を、サーバ200に送信する。サーバ200は、ニューラルネットワークの初期値情報と、ロボット40から取得したセンサ情報とに基づいて、ニューラルネットワークを用いて、ロボット40の状態を決定する。例えば、サーバ200は、ロボット40の周囲の状況、ロボット40自身の感情、及びロボット40自身の内分泌物質の生成状態を、ニューラルネットワークを用いて計算する。そして、サーバ200は、ロボット40の周囲の状況、及びロボット40自身の感情、及びロボット40自身の内分泌物質の生成状態に基づいて、ロボット40の行動内容を決定する。なお、内分泌物質とは、神経伝達物質及びホルモン等、体内で分泌されシグナルを伝達する物質を意味する。また、内分泌とは、内分泌物質が体内で分泌されることを意味する。
 例えば、サーバ200は、眠気に対応する内分泌物質が生成される状態であると判断した場合、ロボット40が眠くなった場合の行動を行わせる。また、サーバ200は、嬉しいという感情が生じる状態であると判断した場合、嬉しさを表す言葉をロボット40に発声させる。
 なお、ロボット40自身の内分泌物質とは、ロボット40の行動に影響を及ぼす情報の1つであり、ロボット40が内分泌物質を実際に発生するということを意味していない。ロボット40自身の感情も同様に、ロボット40の行動に影響を及ぼす情報の1つであり、ロボット40が実際に感情を有しているということを意味していない。
 図2は、サーバ200、ユーザ端末100及びロボット40のブロック構成を概略的に示す。ユーザ端末100は、処理部102と、表示部104と、入力装置106、通信部208とを有する。ロボット40bは、センサ部156と、処理部152と、制御対象155と、通信部158とを有する。サーバ200は、処理部202と、格納部280と、通信部208とを有する。処理部202は、初期値設定部210と、外部入力データ生成部230と、パラメータ処理部240と、動作決定部250とを含む。格納部280は、行動決定ルール282、定義情報284、パラメータ初期値286、及び最新のパラメータ288を格納する。
 ユーザ端末100において、入力装置106は、ユーザ30からニューラルネットワークのパラメータの初期値の入力を受け付けて、処理部102に出力する。処理部102は、CPU等のプロセッサで形成される。処理部102は、入力装置106から取得したパラメータの初期値を、通信部108からサーバ200に送信させる。通信部108は、サーバ200からニューラルネットワークのパラメータを受信する。処理部102は、通信部108が受信したパラメータを、表示部104に表示させる。
 ロボット40において、センサ部156は、カメラ、3D深度センサ、マイク、タッチセンサ、レーザ測距計、超音波測距計等の各種のセンサを含む。センサ部156で検出されたセンサ情報は、処理部152に出力される。処理部152は、CPU等のプロセッサで形成される。処理部152は、センサ部156から取得したセンサ情報を、通信部158からサーバ200に送信させる。通信部158は、サーバ200から動作内容を示す情報を受信する。処理部152は、通信部158が受信した動作内容を、制御対象155を制御する。制御対象155は、スピーカ、ロボット40の各部を駆動するモータ、表示装置、発光装置等を含む。一例として、発声内容を示す情報をサーバ200から受信した場合、処理部152は、受信した発生内容に従って、スピーカから音声を出力させる。
 サーバ200において、通信部208は、ユーザ端末100又はロボット40から受信した情報を処理部202に出力する。初期値設定部210は、通信部208で受信したパラメータの初期値を、格納部280内のパラメータ初期値286に格納する。外部入力データ生成部230は、通信部208が受信したセンサ情報を処理して、ニューラルネットワークの外部からの入力情報を生成して、パラメータ処理部240に出力する。
 パラメータ処理部240は、格納部280に格納されているニューラルネットワークのパラメータ288と、定義情報284とに基づいて、ニューラルネットワークに基づく処理を行う。ニューラルネットワークは、生体の脳機能の一部を計算機の処理で模擬的に実現するためのモデルである。まずここで、ニューラルネットワークに関する技術的背景及び課題を説明する。
 脳には、大別して二つの機能があると考えられる。一つは記憶や学習、予測や計画を始めとする様々な情報処理であり、もう一つは情報処理の調節機能である。
 脳における情報処理は、シナプス結合によって繋がった膨大な数のニューロンによって実現されると考えられる。ヒトの脳には、全体で千数百億個のニューロンが存在すると考えられている。一方で、情報処理の調節機能は、例えばヒトの脳の広範囲調節系のように、脳の特定部位に存在する比較的少数のニューロンによって実現されていると考えられる。具体的には、脳の特定部位のニューロンが、特定の明確な行き先ニューロンを持つことなく脳の広範な領域に向かって分枝する軸索を有しており、その軸索から放出される様々な神経伝達物質の作用によって、情報処理の調節機能が実現されると考えられる。ヒトの広範囲調節系には数千個程度のニューロンが存在すると考えられている。すなわち、脳の特定部位に存在する比較的少数のニューロンのそれぞれが十万個以上の他のニューロンと接触しており、脳の特定部位のニューロンが放出する神経伝達物質がシナプス間隙のみならず脳内の多数のニューロンにも作用することによって、情報処理の調節機能が実現されると考えられる。
 脳における情報処理の例としては、ヒトの視覚野における視覚情報の処理が挙げられる。ヒトの視覚情報は網膜から視神経を経て第一次視覚野に伝わり、そこから背側皮質視覚路で動きに関する情報処理が行われ、腹側皮質視覚路で顔認識のような動き以外の情報に関する情報処理が行われると考えられる。一方、情報処理における調節機能の例としては、ヒトが眠気を感じている場合の情報処理が挙げられる。眠気の発生には、アセチルコリンやノルアドレナリンやセロトニンのような神経伝達物質を放出する広範囲調節系が関係していると考えられる。これにより、眠気のような指令は意思決定のように脳の広範な領域で受け取られるメッセージとなり得る。
 ここで、ニューラルネットワークの例として、一部の脳機能を模擬的に実現するために、人工シナプスによって結合された複数の人工ニューロンからなるネットワークを前提としたものを考える。このニューラルネットワークの例における応用例としては、深層学習に基づくパターン認識や自己組織化マップを用いたデータ・クラスタリング等が挙げられ、これらは画像認識や語彙の分類といった脳の情報処理を擬似的に実現するものといえる。
 ニューラルネットワークには、Hebbの法則やスパイクタイミング依存可塑性(spike timing-dependent plasticity; STDP)に基づく学習則を適用できる。Hebbの法則とは、あるニューロンの発火が他のニューロンを発火させると、これらの2つのニューロンの結合が強まるという法則である。Hebbの法則に基づいて、人工シナプスの前後の人工ニューロンが同時発火した場合に当該人工シナプスの結合を強めるという処理を、ニューラルネットワークに組み込むことができる。STDPは、シナプスの増強・減弱が、当該シナプスの前側のニューロン及び後側のニューロンのスパイク発生タイミングの順序に依存する現象である。STDPに基づいて、人工シナプスの前側のニューロンが後側のニューロンより先行して発火した場合に当該人工シナプスの結合を強め、人工シナプスの後側の人工ニューロンが前側の人工ニューロンより先行して発火した場合に当該人工シナプスの結合を弱めるという処理を、ニューラルネットワークに組み込むことができる。また、自己組織化マップにおいては、複数の人工ニューロンで形成されるニューラルネットワークにおいて、重みベクトルから入力ベクトルに最も近い勝者ベクトルを選び、重みをさらに入力ベクトルに近づくように更新する学習則がある。
 なお、上記の特許文献1のように複数の感覚情報から感情ラベルを出力するニューラルネットワークの例においては、感情ラベルをフィードバックすることによって、入力が同じであっても感情ラベルと入力に応じて異なる感情ラベルを出力することができる場合があるが、特許文献1のニューラルネットワークは、そのような処理を組み込むことができる構成を有していない。また、特許文献1のニューラルネットワークでは、感情と神経伝達物質等の内分泌物質の関係はなく、また、感情によって情報処理が調節されることもない。
 特許文献1に記載のニューラルネットワークで実現される情報処理や、上述したニューラルネットワークの例で実現されるパターン認識やデータ・クラスタリング等の様々な情報処理の他に、擬似的な神経伝達物質等の内分泌物質が脳内の広範な領域で分泌されることで人工ニューロンや人工シナプスの性質がニューラルネットワークの一部で動的に変化しながら情報処理が調節される機能を実現するには、三つの課題がある。すなわち、第一に、脳機能の大部分について動作原理が明らかにされていないために多くの仮説が存在する中で、アナログコンピュータのように人工ニューロンを試行錯誤しながら人工シナプスで結合してニューラルネットワークの挙動を効率的に確かめることができない。第二に、様々な脳部位のニューロンの活動電位やシナプス結合に関して異なるヒステリシス特性を持つ数式モデルがいくつか提案されているにも関わらず、ヒステリシスを持つ数式や数式のパラメータを人工ニューロンや人工シナプスごとに効率的に記述することができない。第三に、擬似的な内分泌物質が脳内の広範な領域で分泌されることによって多数の人工ニューロンや人工シナプスのパラメータがニューラルネットワークの一部で動的に変化するような挙動を、大規模計算によって効率的にシミュレートすることができず、マルチプロセス・マルチスレッド処理や分散コンピューティングに依っても効率的に処理できない。以下に、上述したニューラルネットワークに関する技術的背景及び課題に関連して、システム20の動作をより詳しく説明する。
 図3は、ニューラルネットワーク300を概略的に示す。ニューラルネットワーク300は、人工ニューロン1と、人工ニューロン2と、人工ニューロン3と、人工ニューロン4と、人工ニューロン5と、人工ニューロン6と、人工ニューロン7と、人工ニューロン8と、人工ニューロン9を含む複数の人工ニューロンを含む。ニューラルネットワーク300は、人工シナプス301と、人工シナプス302と、人工シナプス303と、人工シナプス304と、人工シナプス305と、人工シナプス306と、人工シナプス307と、人工シナプス308と、人工シナプス309と、人工シナプス310と、人工シナプス311とを含む複数の人工シナプスを含む。人工ニューロンは、生体におけるニューロンに対応する。人工シナプスは、生体におけるシナプスに対応する。
 人工シナプス301は、人工ニューロン4と人工ニューロン1とを接続する。人工シナプス301は、一方向に接続する人工シナプスである。人工ニューロン4は、人工ニューロン1の入力に接続される人工ニューロンである。人工シナプス302は、人工ニューロン1と人工ニューロン2とを接続する。人工シナプス302は、双方向に接続する人工シナプスである。人工ニューロン1は、人工ニューロン2の入力に接続される人工ニューロンである。人工ニューロン2は、人工ニューロン1の入力に接続される人工ニューロンである。
 なお、本実施形態において、人工ニューロンをNで表し、人工シナプスをSで表す場合がある。また、各人工ニューロンを識別する場合、上付きの数字を識別文字として用いる。任意の人工ニューロンを表す場合、整数iやjを識別数字として用いる場合がある。例えば、Nは任意の人工ニューロンを表す。
 また、人工シナプスを、人工シナプスに接続されている2つの人工ニューロンのそれぞれの識別数字i及びjを用いて識別する場合がある。例えば、S41は、NとNとを接続する人工シナプスを表す。一般には、Sijは、Nの出力をNに入力する人工シナプスを表す。なお、Sjiは、Nの出力をNに入力する人工シナプスを表す。
 図3において、A~Gは、ロボット40の状態が定義されていることを表す。ロボット40の状態とは、ロボット40の感情、内分泌物質の生成状態、ロボット40の周囲の状況等を含む。一例として、N、N、及びNは、ロボット40の状況を表す概念が定義された概念人工ニューロンである。例えば、Nは、「ベルが鳴った」という状況が割り当てられた概念人工ニューロンである。Nは、「充電が開始された」という状況が割り当てられた概念人工ニューロンである。Nは、「蓄電量が閾値以下」という状況が割り当てられた概念人工ニューロンである。
 N及びNは、ロボット40の感情が定義された感情人工ニューロンである。Nは、「嬉しい」という感情が割り当てられた感情人工ニューロンである。Nは、「悲しい」という感情が割り当てられた感情人工ニューロンである。
 N及びNは、ロボット40の内分泌状態が定義された内分泌人工ニューロンである。Nは、ドーパミンの発生状態が割り当てられた内分泌人工ニューロンである。ドーパミンは、報酬系に関与する内分泌物質の一例である。すなわち、Nは、報酬系に関与する内分泌人工ニューロンの一例である。Nは、セロトニンの発生状態が割り当てられた内分泌人工ニューロンである。セロトニンは、睡眠系に関与する内分泌物質の一例である。すなわち、Nは、睡眠系に関与する内分泌人工ニューロンの一例である。
 格納部280内の定義情報284には、ニューラルネットワークを構成する複数の人工ニューロンの各人工ニューロンに対して、上述したようなロボット40の状態を定義する情報が格納される。このように、ニューラルネットワーク300には、概念人工ニューロン、感情人工ニューロン、内分泌人工ニューロンを含む。概念人工ニューロン、感情人工ニューロン、内分泌人工ニューロンは、概念、感情及び内分泌等の意味が明示的に定義された人工ニューロンである。このような人工ニューロンをエクスプリシット人工ニューロンと呼ぶ場合がある。
 これに対し、NやNは、ロボット40の状態が定義されていない人工ニューロンである。また、NやNは、概念、感情及び内分泌等の意味が明示的に定義されていない人工ニューロンである。このような人工ニューロンをインプリシット人工ニューロンと呼ぶ場合がある。
 ニューラルネットワーク300のパラメータとしては、ニューラルネットワークの各Nへの入力であるI と、ニューラルネットワークの外部からNへの入力であるE と、Nのパラメータと、Sのパラメータとを含む。
 Nのパラメータは、Nのステータスを表すS と、Nが表す人工ニューロンの出力を表すVと、Nの発火の閾値を表すT と、Nが最後に発火した時刻である最終発火時刻を表すtと、最終発火時刻における人工ニューロンNの出力を表すVtfと、出力の増減パラメータであるa 、b 、h とを含む。出力の増減パラメータは、人工ニューロンの発火時の出力の時間発展を定めるパラメータの一例である。なお、本実施形態において、下付きの添え字のtは、時刻の進展とともに更新され得るパラメータであることを表す。
 Sijのパラメータは、Sijの人工シナプスの結合係数を表すBS ijと、Sijが接続しているN及びNが最後に同時に発火した時刻である最終同時発火時刻を表すtcfと、最終同時発火時刻における結合係数を表すBSij tcfと、結合係数の増減パラメータであるa ij、b ij、h ijとを含む。結合係数の増減パラメータは、人工シナプスが結びつけている2つの人工ニューロンが最後に同時に発火した後の結合係数の時間発展を定めるパラメータの一例である。
 パラメータ処理部240は、外部入力データ生成部230からの入力と、ニューラルネットワークに基づいて上述したパラメータを更新して、各人工ニューロンの活性化の状態を決定する。動作決定部250は、ニューラルネットワーク内の複数の人工ニューロンのうちの少なくとも一部の人工ニューロンのパラメータの値によって定められる少なくとも一部の人工ニューロンの活性状態と、定義情報284によって少なくとも一部の人工ニューロンに定義されている状態とに基づいて、ロボット40の動作を決定する。なお、活性状態とは、活性化した状態又は活性化していない状態をとり得る。本実施形態において、活性化することを「発火」と呼び、活性化していないことを「未発火」と呼ぶ場合がある。なお、後述するように、「発火」の状態を、出力が上昇中であるか否かに応じて「上昇相」と「下降相」とに分ける。「未発火」と、「上昇相」及び「下降相」とは、ステータスS によって表される。
 図4は、ユーザ端末100に表示されるパラメータ編集画面を概略的に示す。ユーザ端末100は、サーバ200から受信した時刻tにおけるパラメータのうち、ユーザが編集可能なパラメータを表示する。
 パラメータ編集画面400は、Nのそれぞれについて、Nの閾値及び増減パラメータ、並びに、Nに接続される全ての人工ニューロンの識別情報、結合係数及び増減パラメータのそれぞれに値を入力するための入力欄を含む。また、パラメータ編集画面400は、保存ボタン及びリセットボタンを含む。ユーザ30は、入力装置106を用いて、各入力欄に初期値を入力することができる。
 保存ボタンが押された場合、処理部102は、パラメータ編集画面400で設定されている初期値を、通信部108を通じてサーバ200へ送信させる。サーバ200において、ユーザ端末100から送信された初期値は、格納部280内のパラメータ初期値286に格納される。また、パラメータ編集画面400のリセットボタンが押された場合、処理部102は、入力欄内の設定値を、予め定められた初期値に設定する。
 このように、処理部102は、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を、テーブルの複数の行に複数の人工ニューロンの複数の行を対応づけた形式でユーザに提示する。そして、処理部102は、提示されたパラメータの値を変更するためのテーブルに対するユーザ入力を受け付ける。このように、処理部102は、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンの入力に接続される1以上の人工シナプスのパラメータの値を、人工ニューロン毎に一括的なデータ単位でアクセス可能なデータアクセス構造を用いてユーザ30に提示し、ユーザ30から値の入力を受け付けることができる。
 図5は、ロボット40が起動又はリセットされた場合のサーバ200の動作フローを概略的に示す。サーバ200は、ロボット40が起動又はリセットされたことが受信すると、パラメータ処理部240は、ニューラルネットワークのパラメータの初期設定を行う。例えば、パラメータ処理部240は、格納部280からパラメータの初期値を取得して、ニューラルネットワークのパラメータデータを所定のデータ構造で生成する(S502)。また、時刻tにおけるニューラルネットワークのパラメータの値を設定する。初期設定が完了すると、S504において、時刻tに関するループを開始する。
 S510において、パラメータ処理部240は、時間ステップtn+1における、人工シナプスの電気的影響による変化に対応するパラメータを計算する。具体的には、任意のSijのBS ijを計算する。
 S520において、パラメータ処理部240は、時間ステップtn+1における、内分泌物質による化学的影響による変化に対応するパラメータを計算する(S520)。具体的には、内分泌人工ニューロンが影響を及ぼすN及びSijのパラメータの変化を計算する。より具体的には、時間ステップtn+1における、内分泌人工ニューロンが影響を及ぼす人工ニューロンNの出力の増減パラメータや閾値と、内分泌人工ニューロンが影響を及ぼすSijの結合係数の増減パラメータや結合係数を計算する。
 S530において、パラメータ処理部240は、ニューラルネットワークの外部からの入力を取得する。具体的には、パラメータ処理部240は、外部入力データ生成部230の出力を取得する。
 S540において、パラメータ処理部240は、時間ステップtn+1における、Nの出力を計算する。具体的には、Vtn+1及びステータスStt を計算する。そして、S550において、時刻tn+1における各パラメータの値を、格納部280のパラメータ288に格納する。また、時刻tn+1における各パラメータの値を、ユーザ端末100に送信する。
 S560において、パラメータ処理部240は、ループを終了するか否かを判断する。例えば、時間ステップが表す時刻が所定の時刻に達した場合や、パラメータ更新の計算を停止することをユーザ端末100から指示された場合に、ループを終了すると判断する。ループを終了しない場合、S510に戻り、更に次の時間ステップの計算を行う。ループを終了する場合、このフローを終了する。
 図6は、人工シナプスの結合係数の計算を概略的に説明する図である。ここでは、増減パラメータの初期値として定数aij及びbijが定義されている場合を説明する。
 時刻tの時間ステップにおいて、Sijの両端のN及びNがいずれも発火している場合、パラメータ処理部240は、時刻tn+1におけるBStn+1 ijを、BStn+1 ij=BStn ij+atn ij×(tn+1-t)により計算する。一方、時刻tの時間ステップにおいてS及びSがいずれも発火していない場合、時刻tn+1における結合係数BStn+1 ijを、BStn+1 ij=BStn ij+btn ij×(tn+1-t)により計算する。また、BStn+1 ijが負の値になる場合は、BStn+1 ijは0とする。なお、BSijが正の値のSijでは、a ijが正の値であり、b ijは負の値である。BSijが負の値のSijでは、a ijは正の値であり、b ijは負の値である。
 図6に示されるように、時刻tで両端の人工ニューロンが同時発火しているので、BS ijは単位時間当たりat0 ijで増加する。また、時刻t1で同時発火していないので、BS ijは、単位時間当たり|bt1 ij|で減少する。また、時刻tで同時発火したことにより、BS ijは単位時間当たりat4 ijで増加する。
 図7は、結合係数の増減パラメータとして関数h ijが定義されている場合の結合係数の時間発展を概略的に示す。h ijは、tcfからの経過時間Δt(=t-tcf)≧0において定義される。h ijは、少なくともΔtの関数であり、実数の値をとる。
 図7に示す関数700は、h ijの一例である。関数700は、時刻tcfにおける結合係数BStcf ij及びΔtの関数である。関数700は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少して0に向けて漸減する。関数700は、Δt=0において値BStcf ijをとる。
 図7は、結合係数の増減パラメータとして関数700が定義されており、時刻tにおいて両端のN及びNが同時発火した場合の結合係数を示す。パラメータ処理部240は、関数700とΔtとに基づいて、時刻t~時刻tの各時刻のBS ijを算出する。時刻t~時刻tの時間範囲内では、N及びNは同時発火していない。そのため、例えば、時刻t以降、結合係数は単調に減少する。
 図8は、時刻tでN及びNが更に同時発火した場合の結合係数の時間発展を概略的に示す。結合係数は、時刻tから時刻tまでは、図7と同様に計算される。時刻tにおいてN及びNが更に同時発火すると、パラメータ処理部240は、h ij(t-t,BSt2 ij)に従って時刻t~tの各時刻の結合係数を計算する。このように、同時発火が繰り返される毎に、結合係数が高まる。これにより、生体におけるHebbの法則のように、人工シナプス結合を強化するような効果が得られる。一方、図6及び図7に示すように、同時発火しない時間が長くなると、人工シナプス結合が減衰するような効果が得られる。
 図9は、結合係数の増減関数h ijの他の例を概略的に示す。関数910、関数920は、それぞれh ijの一例である。
 関数910は、時刻tcfにおける結合係数BStcf ij及びΔtの関数である。関数910は、Δt=0において値BStcf ijをとる。また、関数910は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少して0に向けて漸減する。
 関数920は、Δtのみの関数である。関数920は、Δt=0において値0をとる。また、関数920は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少して0に向けて漸減する。このように、本実施形態によれば、h ijを比較的に自由に定義できるので、学習効果を比較的に自由に制御できる。
 図10は、パラメータに与えられる化学的影響を定義する影響定義情報を概略的に示す。この影響定義情報は、図5のS520のパラメータの変化の計算に用いられる。定義情報は、内分泌人工ニューロンの出力に関する条件と、影響を与える人工ニューロン又は人工シナプスを特定する情報と、影響内容を定める式を含む。
 図10の例において、内分泌人工ニューロンNは、眠気の内分泌物質が割り当てられた内分泌人工ニューロンである。内分泌人工ニューロンNに関する定義情報は、「Vmtn >Ttn 」の条件、内分泌人工ニューロンNが影響を与える人工ニューロンとして「感情人工ニューロンN及びN」、影響内容を定める式として「Ttn+1 =Ttn ×1.1」が定められている。これにより、パラメータ処理部240は、Vmtn がTtn を超える場合、時刻tn+1の感情人工ニューロンN及びNの閾値を、10%上昇させる。これにより、例えば、眠気が生じた場合に、感情人工ニューロンを発火させにくくすることができる。例えば、「蓄電量が閾値以下」であることが定義された概念人工ニューロンNの出力を、内分泌人工ニューロンNの入力に接続したニューラルネットワークを定めることで、蓄電量が低くなると感情が高まりにくくなる現象を体現することが可能になる。
 また、内分泌人工ニューロンNは、報酬系の内分泌物質が割り当てられた内分泌人工ニューロンである。報酬系の内分泌物質としては、ドーパミン等を例示できる。内分泌人工ニューロンNに関する第1の定義情報は、「Vmtn >Ttn 及びVmtn >Ttn 」の条件、内分泌人工ニューロンNが影響を与える人工シナプスとして「S49及びS95」、影響内容を定める式として「atn+1 ij=atn ij×1.1」という式が定められている。これにより、パラメータ処理部240は、Vmtn がTtn を超え、かつ、Vmtn がTtn を超える場合、時刻tn+1の人工シナプスS49及びS95の増減パラメータを10%上昇させる。
 これにより、報酬系の内分泌人工ニューロンが発火した場合に、「ベルが鳴った」という状況が定義された概念人工ニューロンNが発火していると、インプリシット人工ニューロンNを介した概念人工ニューロンNとNとの結合を強めることができる。これにより、「ベルが鳴った」場合に報酬系の内分泌人工ニューロンNが発火し易くなる。
 また、内分泌人工ニューロンNに関する第2の定義情報は、「Vmtn >Ttn 」の条件、内分泌人工ニューロンNが影響を与える人工ニューロンとして「N」、影響内容を定める式として「Ttn+1 =Ttn ×1.1」という式が定められている。これにより、パラメータ処理部240は、Vmtn がTtn を超える場合、時刻tn+1の人工ニューロンNの増減パラメータを10%低下させる。これにより、報酬系の内分泌人工ニューロンNが発火した場合に、嬉しいという感情が発火し易くなる。
 このような報酬系の内分泌人工ニューロンに関する影響を定めた定義によれば、ベルを鳴らしながらロボット40を充電するという行為を繰り返すと、ベルを鳴らしただけでロボット40が嬉しさを表す行動をとる、というような実装が可能になる。
 なお、影響定義情報は、図10の例に限られない。例えば、条件として、人工ニューロンの出力が閾値以下であるという条件を定義してよい。また、人工ニューロンのステータスに関する条件、例えば、上昇相、下降相又は未発火に関する条件を定義してよい。また、影響範囲は、人工ニューロンや人工シナプスを直接指定する他に、「特定の人工ニューロンに接続された全人工シナプス」というような定義を行うこともできる。また、影響の式については、対象が人工ニューロンの場合、閾値を定数倍にすることの他に、閾値に定数を加えることや、出力の増減パラメータを定数倍するような式を定義してよい。また、対象が人工シナプスの場合、増減パラメータを定数倍することの他に、結合係数を定数倍するような式を定義してよい。
 影響定義情報は、格納部280の定義情報284内に格納される。このように、格納部280は、内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータに、内分泌人工ニューロンの出力及び発火状態の少なくとも一方が与える影響を定めた影響定義情報を格納する。そして、パラメータ処理部240は、内分泌人工ニューロンの出力及び発火状態の少なくとも一方と、当該影響定義情報とに基づいて、内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータを更新する。また、内分泌人工ニューロンの出力及び発火状態の少なくとも一方が影響を与える他の人工ニューロンのパラメータは、他の人工ニューロンの閾値、発火状態、及び、発火時の出力の時間発展を定めるパラメータの少なくとも1つを含むことができる。また、内分泌人工ニューロンの出力及び発火状態の少なくとも一方が影響を与える人工シナプスのパラメータは、当該人工シナプスの結合係数、及び、当該人工シナプスが結びつけている2つの人工ニューロンが最後に同時に発火した後の結合係数の時間発展を定めるパラメータの少なくとも1つを含むことができる。また、影響定義情報は、報酬系に関連づけられた内分泌人工ニューロンの発火状態が感情人工ニューロンの閾値に与える影響を定めた情報を含み、パラメータ処理部240は、当該内分泌人工ニューロンが発火した場合に、影響定義情報に従って、感情人工ニューロンの閾値を更新する。
 図11は、Vtn+1 及びStn+1 を計算するフローチャートを示す。本フローチャートの処理は、図5のS540内の処理の一部に適用できる。S1100において、パラメータ処理部240は、Stn が未発火を示すか否かを判断する。
 Stn が未発火を示す場合、パラメータ処理部240は、Nへの入力Itn+1 を計算する(S1110)。具体的には、ニューラルネットワークの外部からの入力がNに接続されていない場合、Itn+1 =ΣBStn+1 ji×Vmtn ×f(Stn )によって計算する。ニューラルネットワークの外部からの入力がNに接続されている場合、Itn+1 =ΣBStn+1 ji×Vmtn ×f(Stn )+Etn+1 によって計算する。ここで、Etn は、ニューラルネットワークの外部からの時刻tにおける入力である。
 また、f(S)は、Sが未発火を表す値の場合は0を返し、Sが上昇相又は下降相を示す値の場合は1を返す。このモデルは、ニューロンが発火した場合のみシナプスが活動電位を伝達するモデルに対応する。なお、f(S)=1を返してもよい。これは、ニューロンの発火状態によらず膜電位を伝達するモデルに対応する。
 S1112において、パラメータ処理部240は、Itn+1 がTtn+1 を超えるか否かを判断する。Itn+1 がTtn+1 を超える場合、パラメータ処理部240は、Vmtn+1 を増減パラメータに基づいて算出するとともに、Vmtn+1 に応じてStn+1 を上昇相又は下降相に示す値に設定し(S1114)、このフローを終了する。
 S1100において、Stn が上昇相又は下降相である場合、パラメータ処理部240は、Vmtn+1 を算出する(S1120)。そして、パラメータ処理部240は、tn+1までにVm がVminに達した場合は、Stn+1 を未発火の値に設定し、tn+1までにVm がVminに達していない場合は、Stn+1 を上昇相又は下降相の値に設定して、このフローを終了する。なお、パラメータ処理部240は、tn+1までにVm がVmaxに達した場合はStn+1 に下降相の値を設定し、tn+1までにVm がVmaxに達していない場合はStn+1 に上昇相の値を設定する。
 このように、Nが発火している場合は、たとえ出力が閾値以下になっても、Nの出力は入力に依存しない。このような期間は、生体のニューロンにおける絶対不応期に対応する。
 図12は、Nが発火しない場合のV の計算例を概略的に説明する図である。
 時刻tの時間ステップにおいてNは未発火である。時刻tのIt1 がTt1 以下である場合、パラメータ処理部240は、時刻tにおけるVt1 を、Vt1 =It1 により計算し、時刻tからtまでの期間のV を、V =It0 により計算する。また、同様に、パラメータ処理部240は、時刻ステップtで計算したVtnの値を次の時刻ステップまで維持し、Vtn+1において、Itn+1に変化させる。
 図13は、Nが発火する場合のV の計算例を概略的に説明する図である。図13は、定数a及びbが定義されている場合の計算例である。
 時刻tの時間ステップにおいて、Nは未発火である。時刻tのIt1 がTt1 を超える場合、パラメータ処理部240は、時刻tにおけるVt1 を、Vt1 =It1 により計算し、時刻tからtまでの期間のV を、V =It0 により計算する。なお、ここでは、時刻tのIt1 がVmax以下であるとする。時刻tのIt1 がVmaxを超える場合は、It1 =Vmaxとする。
 パラメータ処理部240は、図13に示されるように、時刻t以降、V がVmaxに達する時刻まで、V を単位時間当たりa ijで増加させる。また、パラメータ処理部240は、この期間のNのステータスS を上昇相に決定する。
 また、V がVmaxに達すると、V がVminに達するまで、V を単位時間当たり|b |減少させる。また、パラメータ処理部240は、この期間のNのステータスを下降相に決定する。そして、V がVminに達すると、次の時刻におけるVt6 を、Vt6 =It6 により計算する。また、V がVminに達した後のステータスを未発火に決定する。
 なお、Nのステータスが下降相にある場合、算出されたVmt がT を下回ったとしても、Vm はI に依存しない。パラメータ処理部240は、Vm がT を下回ったとしても、Vm がVminに達するまで、増減パラメータに従ってVm を算出する。
 図14は、Nの増減パラメータとして関数h が定義されている場合の結合係数の時間発展を概略的に示す。一般に、h は、発火時刻tからの経過時間Δt(=t-t)≧0において定義される。h は、少なくともΔtの関数である。h は実数の値をとり、h の値域はVmin以上Vmax以下である。
 図14に示す関数1400は、h の一例である。関数1400は、時刻tにおけるVmtf 及びΔtの関数である。関数1400は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少する。関数1400は、Δt=0において値Vmtf をとる。
 図14は、出力の増減パラメータとして関数1400が定義されており、時刻tにおいてNが発火した場合の出力を示す。パラメータ処理部240は、関数1400、Δt及びVm に基づいて、時刻t~時刻tの各時刻のVm を計算する。Vm は時刻tでVminに達しているため、時刻t6ではVm =It6 となる。
 図15は、増減パラメータとしての関数h の他の例を概略的に示す。関数1510及び関数1520は、それぞれh の一例である。
 関数1510は、時刻tにおける出力Vmtf 及びΔtの関数である。関数1510は、Δt=0において値Vmtf となる関数である。また、関数1510は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少する関数である。
 関数1520は、Δtのみの関数である。関数1520は、Δt=0において値Vminとなる関数である。また、関数920は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少する関数である。
 以上に説明したように、パラメータ処理部240は、ニューロンの活動電位の変化をモデルにして出力を計算することができる。そのため、出力の上昇及び下降を表現できる。また、発火後の出力の変化を増減パラメータによって比較的に自由に表現できる。これにより、状態を表現する幅を広げることができる。
 なお、図6等に示したように、増減パラメータとしてaij及びbijを用いた場合、結合係数は時間の経過と共に直線的に変化する。また、図13等に示したように、a及びbを用いた場合、出力は時間の経過と共に直線的に変化する。しかし、aij及びbijのような係数を、直線以外の関数の係数に適用してよい。また、複数の係数群として、多項式や他の関数等に適用してもよい。例えば、a×Δ+a×eΔtや、b×Δ +b×Δt-1等、係数群として定義できるようにしてよい。これにより、結合係数や出力を比較的に多様な時間発展を実現できる。なお、このような係数によれば、ユーザは比較的に簡単にニューラルネットワークの挙動を変えることができる。これらの係数によっても、出力の上昇相及び下降相のヒステリシス特性を比較的容易に実装できる。一方、hijやhの関数を定義可能にすることで、生体のニューロンの発火状態や生体における学習効果により近い実装が可能になる。
 なお、ニューラルネットワークにおいて、人工ニューロンの発火状態が時間経過とともに一方向に促進され続ける現象が生じる場合がある。例えば強結合の人工シナプスによってループ状に繋がった人工ニューロンがニューラルネットワーク内に存在する場合、ループ状に繋がった人工ニューロンが連続的に発火して、それによってループ内の隣接する人工ニューロンがそれぞれ同時発火して人工ニューロン間の人工シナプスの結合係数が強まることで、人工ニューロンの発火が促進され続ける場合がある。また、ある内分泌人工ニューロンの発火の影響で他の人工ニューロンの閾値が下がり、影響を受けた当該人工ニューロンの発火が当該内分泌人工ニューロンの発火を促進するような場合等も同様である。また逆に、人工シナプスが抑制結合で接続されている場合や内分泌人工ニューロンの発火によって人工ニューロンの閾値を上げる処理が定義されている場合等には、人工ニューロンの発火が時間経過とともに一方向に抑制され続ける場合がある。そこで、パラメータ処理部240は、人工ニューロンの発火状態、人工シナプスの結合係数の時間的な変化等を監視して、発火状態が正帰還又は負帰還する人工ニューロンの存在を検出した場合に、人工ニューロンの閾値を人工シナプスの結合係数を調節することで、発火状態が一方向に促進され続けることを抑制してよい。例えば正帰還系を形成する人工ニューロンの閾値を上げたり、正帰還系を形成する人工シナプスの結合係数を下げたりすることによって、発火が促進され続けることを抑制してよい。また、負帰還系を形成する人工ニューロンの閾値を下げたり、負帰還系を形成する人工シナプスの結合係数を上げたりすることによって、発火が抑制され続けることを抑制してよい。
 図16は、ユーザ端末100が表示するパラメータビューワの画面例を概略的に示す。通信部208は、パラメータ処理部240によって更新されたパラメータのデータを、実質的にリアルタイムにユーザ端末100に送信する。処理部102は、更新されたパラメータのデータを受信すると、2次元のテーブル形式でパラメータを表示する。これにより、ユーザは、パラメータの値が時々刻々変化するパラメータを、ユーザ端末100上で確認できる。このように、処理部102は、時間的に更新される複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を、テーブルの複数の行に複数の人工ニューロンの複数の行を対応づけた形式でユーザに提示する。
 図16や図4に示されるように、表示される人工ニューロンのパラメータは、閾値、発火状態、最後に発火した時刻、出力、最後に発火した時刻における出力、及び発火時の出力の時間発展を定めるパラメータの少なくとも1つを含む。また、表示される人工シナプスのパラメータは、接続された人工ニューロンへの結合係数、人工シナプスが結びつけている2つの人工ニューロンが最後に同時に発火した時刻である最終同時発火時刻、当該最終同時発火時刻における結合係数、及び同時の発火が生じた後の結合係数の時間発展を定めるパラメータの少なくとも1つと、人工シナプスの識別情報とを含む。
 図17は、ニューラルネットワークをグラフィカルに編集する場合に提示される画面を概略的に示す。図4において、ニューラルネットワークのパラメータを2次元的なテーブル形式で編集する画面の一例を示した。図17は、ユーザ30がパラメータをよりグラフィカルに編集できる環境を提供する。
 図17は特に、感情人工ニューロンを編集する画面を一例として示す。図17において、丸形のオブジェクトは人工ニューロンを表す。オブジェクト内には、各感情人工ニューロンに定められた感情を表す文字が表示される。そして、感情人工ニューロン間を結ぶ人工シナプスは、線で表される。
 この編集画面上で、ユーザは、例えばマウス操作やキーボード操作によって、人工ニューロンの追加、削除、パラメータの編集をすることができる。また、ユーザは、例えばマウス操作やキーボード操作によって、人工シナプスの追加、削除、パラメータの値の編集を行うことができる。
 なお、サーバ200は、ニューラルネットワークの計算が開始された後、パラメータ処理部240によって変更されたパラメータの値に基づくニューラルネットワークを、ユーザ端末100にグラフィカルに表示させる。この場合、ニューラルネットワークの人工ニューロン及び人工シナプスの接続関係は、本編集画面と同様にグラフィカルに表示される。パラメータが変更される様子を表す表示例については、図19から図22に関連して説明する。
 図18は、人工シナプスを編集する編集画面の一例である。図17に示す編集画面1700において、人工シナプスが右クリックされると、人工シナプスの編集画面1800が表示される。
 編集画面1800は、選択された人工シナプスが接続する2つの人工ニューロンに定められた意味、人工ニューロンの出力が向かう方向、人工シナプスのパラメータの名称及び現在の値、及び、パラメータを変更するための操作部を含む。人工シナプスのパラメータには、結合係数の初期値、増減パラメータa及びbのそれぞれの初期値を含む。また、編集画面は、編集をキャンセルすることを指示するキャンセルボタン、編集したパラメータの値で初期値を更新することを指示する更新ボタン、及び、人工シナプスを削除することを指示する削除ボタンを含む。
 視覚的にニューラルネットワークのパラメータの初期値を編集することができる。そのため、熟練していないユーザでも、ニューラルネットワークを比較的に容易に編集することができる。
 図19は、人工ニューロンの出力の表示例を概略的に示す。処理部202は、各NのVm の大きさに基づいて、各人工ニューロンNを表すオブジェクト内の色を変えてユーザ端末100に表示させる。例えば、処理部102は、Vm が大きいほど、オブジェクト内の色を濃くする。これにより、ユーザは、人工ニューロンの出力の変化を容易に認識できる。なお、Vm が大きいほど、オブジェクト内の色を薄くしてもよい。色の濃さを限らず、色の明るさ、彩度、色自体をVm に応じて変えてもよい。
 図20は、人工シナプスを電気信号が伝搬する様子の表示例を概略的に示す。処理部202は、各Nの発火状態と当該Nに接続されている人工シナプスの情報に基づいて、電気信号の伝搬を示すアニメーションをユーザ端末100に表示させる。例えば、処理部202は、電気信号を表すオブジェクト2010の表示位置を、出力側の人工ニューロンから入力側の人工ニューロンへ時間的に移動させる。なお、処理部202は、オブジェクト2010の位置を算出する時間ステップを、パラメータ計算の時間ステップtn+1-tよりも短くする。このような表示によって、ユーザは、例えばある人工ニューロンの発火がどのようなルートを辿って他の人工ニューロンの発火に結びつくかを、容易に理解することができる。
 図21は、人工シナプスによる人工ニューロン間の結合状態の表示例を概略的に示す。処理部202は、各SijのBS ijの符号に基づいて、強結合であるか抑制結合であるかを、人工シナプスを表す線の色を変えてユーザ端末100に表示させる。例えば、処理部202は、BS ijが正である場合に、Sijを表す線を、強結合を表す青色で表示させる。処理部202は、BS ijが負である場合に、Sijを表す線を、抑制結合を表す赤色で表示させる。これにより、ユーザは、人工シナプスが強結合であるか抑制結合であるかを一目で認識できる。
 また、処理部202は、各SijのBS ijの大きさに基づいて、人工シナプスを表す線の幅を変えてユーザ端末100に表示させる。例えば、処理部202は、BS ijが大きいほど、Sijを表す線の幅を大きくする。これにより、ユーザは、人工シナプスによる人工ニューロン間の結合の度合いを一目で認識できる。
 なお、人工ニューロン間に双方向の人工シナプスが定義されている場合、それぞれの人工シナプスを別々の線で表示してよい。また、人工シナプスの入出力の方向を表す矢印などのマークを付加して、人工シナプスが識別できるようにしてよい。
 図22は、人工ニューロンの配置の表示例を概略的に示す。処理部202、各SijのBS ij及び人工ニューロン間の接続関係の少なくとも一方に基づいて各人工ニューロン対間の距離を算出し、距離が短い人工ニューロン対をより近くに配置して表示させてよい。
 ここで距離とは、人工ニューロン間の結合の度合いを表す。人工ニューロン間の距離は、人工ニューロン対間に介在する人工シナプスの結合係数が大きいほど短く算出されてよい。また、人工ニューロン対間の距離は、人工ニューロン対の間に直列に介在する人工シナプスの数が少ないほど短く算出されてよい。また、人工ニューロン間の距離は、人工ニューロン対間に並列に介在する人工シナプスの数が多いほど、短く算出されてよい。また、人工ニューロン対間に1以上の人工ニューロンが接続されている場合、人工ニューロン対間に直列に介在する全ての人工シナプスのBS ijの平均値や最小値等を実効的な結合係数とみなして、当該実効的な結合係数に基づいて距離が算出されてよい。
 図23は、内分泌人工ニューロンが影響する人工ニューロンの範囲の表示例を概略的に示す。内分泌人工ニューロンのオブジェクトをユーザがマウス操作等で指定すると、処理部202は、選択されたオブジェクトが表す内分泌人工ニューロンから影響を受ける人工ニューロンのオブジェクトを、強調して表示させる。処理部202は、定義情報284に含まれる影響定義情報に基づいて、影響を受ける人工ニューロンを特定する。
 例えば、Nのオブジェクトが選択された場合、処理部202は、Nによって発火が抑制されるN及びNを囲う範囲2310を赤色で表示させる。また、処理部202は、Nによって発火を促進する方向に影響を受ける人工シナプスの線及びオブジェクトを囲う範囲2320を青色で表示させる。これにより、ユーザは、選択した内分泌人工ニューロンがどの人工ニューロンや人工シナプスに化学的な影響を与えるかを容易に認識できる。
 図24は、人工ニューロンのパラメータを計算する優先順位を定めた優先人工ニューロン情報を概略的に示す。優先人工ニューロン情報は、優先的にパラメータを計算するべき人工ニューロンである優先人工ニューロンを識別する情報に対応づけて、優先順位を示す値及び当該優先人工ニューロンの入力に影響を与える人工ニューロンである関連人工ニューロンを特定する情報を定める。パラメータ処理部240は、サーバ200においてパラメータ更新の計算に利用可能なリソース量に基づいて、パラメータを更新する人工ニューロン及び人工シナプスを、優先順位に従って選択する。
 なお、関連人工ニューロンは、ニューラルネットワークにおける人工ニューロンの接続関係に基づいて、初期設定において設定されてよい。例えば、パラメータ処理部240は、優先人工ニューロンの閾値等に影響を及ぼす内分泌人工ニューロンを、関連人工ニューロンとして設定する。また、パラメータ処理部240は、優先人工ニューロンから信号の入力方向の逆順で人工シナプスを辿っていくことで、優先人工ニューロンの入力に人工シナプスを介して影響を与える1以上の人工ニューロンを特定して、関連人工ニューロンに格納してよい。
 パラメータ処理部240は、優先人工ニューロンをパラメータの更新対象とする場合、優先人工ニューロンに対応する関連人工ニューロンも、パラメータの更新対象とする。ここで、パラメータ処理部240は、サーバ200における利用可能なリソース量に基づいて、パラメータの更新対象とする更新対象人工ニューロンの数の上限値を決定する。そして、パラメータ処理部240は、パラメータの更新対象とする人工ニューロン数が、決定した上限値以下になるよう、優先順位の降順で優先人工ニューロン選択することによって、更新対象人工ニューロンを決定してよい。
 そして、パラメータ処理部240は、例えば、図5のS510においてBStn+1 ijを計算する場合、更新対象人工ニューロンの入力に接続されている人工シナプスのBStn+1 ijの値のみを更新し、他の人工シナプスのBStn+1 ijの値は計算せずにBStn ijの値を維持する。同様に、S520及びS540においても、更新対象人工ニューロンのパラメータの値、及び、更新対象人工ニューロンの入力に接続されている人工シナプスのパラメータの値のみを更新対象とし、他のパラメータの値は更新せず、値を維持する。更新対象人工ニューロン以外のパラメータの値も維持される。
 これにより、サーバ200で利用可能なリソースが少なくなった場合に、重要な人工ニューロンについては高い更新頻度を維持できる。例えば、サーバ200で利用可能なリソースが少なくなった場合に、危険の有無を判断する機能を維持することができる。なお、パラメータ処理部240は、サーバ200で利用可能なリソースが十分な場合は、全人工ニューロン及び全人工シナプスのパラメータを更新してよい。
 図25は、システム20に係るソフトウェアアーキテクチャを示す。上記の説明では主として、人工ニューロン及び人工シナプスのパラメータの編集処理、更新処理及び表示処理の内容を説明した。ここでは、各処理を行うソフトウェア上の主体に関連する事項を説明する。
 サーバ200において、処理部202には、パラメータ処理部240の機能を担う複数の更新エージェント2400と、ユーザ端末100との間のデータ入出力を担う入出力エージェント2450a及び2450bが実装される。入出力エージェント2450aは、ユーザ端末100の処理部102に実装されるエディタ機能部からパラメータの初期値を受信して、データ構造2500に格納する処理を行う。入出力エージェント2450aは、パラメータ処理部240によって更新されたパラメータをユーザ端末100に送信して、処理部102に実装されるビューワ機能部に表示させる処理を行う。エディタ機能部及びビューワ機能部は、例えばウェブブラウザによって処理部102に実装される。ユーザ端末100とサーバ200との間でやりとりされるデータは、HTTPプロトコルに従って転送されてよい。
 複数の更新エージェント2400は、それぞれデータ構造2500に人工ニューロン単位でアクセスして、人工ニューロン単位でパラメータの更新計算を行う。複数の更新エージェント2400は、それぞれ、ニューラルネットワークのパラメータを格納したデータ構造2500にアクセスできる。また、複数の更新エージェント2400は、それぞれパラメータの更新計算を行うことができる。複数の更新エージェント2400の処理は、それぞれ別個のプロセスによって実行されてよい。また、複数の更新エージェント2400は、それぞれ1つのプロセス内の複数のスレッドに実行されてよい。
 データ構造2500は、図16に関連して説明した情報と同様に、人工ニューロン単位で一括してアクセス可能な形式で生成される。パラメータ処理部240は、図5のS502の初期処理において、データ構造2500を処理部202内のメモリに生成してよい。データ構造2500は、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値に一括的なデータ単位でアクセス可能な構造を持つ。そして、更新エージェント2400は、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値に、データ構造2500を通じて複数の人工ニューロンに人工ニューロン毎にアクセスして、複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を時間的に更新する。そのため、複数の更新エージェント2400は、パラメータの値を時間的に更新する処理を並列に行うことができる。
 図25から図27は、パラメータの値の更新処理をマルチプロセス処理によって並列に行う方法を示す。複数のプロセスで並列に行う場合、データ構造2500は共有メモリとして確保したメモリ領域内に形成されてよい。図26は、複数の人工ニューロンに対して更新計算を行う前の状態を概略的に示す。4つのプロセス1は、どの人工ニューロンのパラメータ計算を行うかを個々に決定する。図27に示すように、時刻t1において、プロセス1が、未計算のNの行のデータを読み出して、Nのパラメータの更新計算を開始する。時刻t2において、プロセス2が、未計算のNの行のデータを読み出して、Nのパラメータの更新計算を開始する。時刻t3において、プロセス3が、未計算のNの行のデータを読み出して、Nのパラメータの更新計算を開始する。時刻t4において、プロセス4は、未計算のNの行のデータを読み出して、Nのパラメータの更新計算を開始する。
 時刻5において、プロセス1は、Nのパラメータの計算が完了すると、Nのパラメータが未計算であることを確認した上で、Nの行のデータをロックして計算結果を書込み、Nの行のデータをアンロックする。時刻t5において、プロセス1はNの行のデータをロックして、計算結果を書込み、Nの行のデータをアンロックする。同様に、プロセス2及びプロセス3も、各人工ニューロンについての計算が完了すると、各人工ニューロンの行のデータに計算結果を書込む。図28には、時刻t6における計算状態が概略的に示されている。
 ここで、図26を参照して、時刻t7において、プロセス4がNにおいてパラメータの計算が完了すると、Nのパラメータが未計算であるかを判断する。プロセス4は、Nのパラメータが計算済であることを認識すると、プロセス4が行ったNの計算結果を破棄する。続いて、プロセス4は、Nが未計算であると判断して、Nの行のデータを読み出して、Nのパラメータの更新計算を開始する。
 このように、データ構造2500によれば、マルチプロセス処理によって、プロセス毎に未計算の人工ニューロンを選択して計算を開始して、計算が最も早く完了したプロセスのみが計算結果を書込むように実装できる。
 なお、上記のように各プロセスが個々に人工ニューロンを選択して関連するパラメータを計算する処理と同様の処理は、図5のS510、S520、S540のそれぞれに適用できる。例えば、図5のS510については、人工ニューロンではなく人工シナプスを選択及び計算の対象とすることで、同様の処理を行うことができる。
 また、マルチプロセス処理によれば、図5のS510の処理とS520の処理とを並列で行うことができる。この場合、並列して行った計算結果を重ね合わせることで、最終的な計算結果を生成してよい。また、S520の処理をあるプロセスが行っている場合に、他のプロセスにおいて、化学的影響による変化の影響を受けない人工ニューロンを選択して、図5のS540の処理を行ってもよい。
 また、同様の処理は、マルチプロセス処理に限らず、マルチスレッドシステムで行うことができる。マルチスレッドシステムでは、上述した各プロセスでの処理を各スレッドに置き換えることで実現できる。
 図29は、サブシステム間で分散制御を行うためのニューラルネットワークの構成を概略的に示す。上述の実施形態では、単一のサーバ200がニューラルネットワークの処理を実現する。ここでは、3つの独立したサーバによって、1つのニューラルネットワーク2900を構築される例を示す。
 ニューラルネットワーク2900は、サブニューラルネットワーク2910、サブニューラルネットワーク2920及びサブニューラルネットワーク2930で形成される。サブニューラルネットワーク2910、サブニューラルネットワーク2920及びサブニューラルネットワーク2930の計算は、互いに異なるサーバによって行われる。
 ここで、サブニューラルネットワーク2910の人工ニューロン2914は、サブニューラルネットワーク2920の人工ニューロン2921及びサブニューラルネットワーク2930の人工ニューロン2931と同じ概念が定義された人工ニューロンである。また、サブニューラルネットワーク2920の人工ニューロン2923は、サブニューラルネットワーク2930の人工ニューロン2934と同じ概念が定義された人工ニューロンである。また、サブニューラルネットワーク2910の人工ニューロン2925は、サブニューラルネットワーク2930の人工ニューロン2932と同じ概念が定義された人工ニューロンである。
 人工ニューロン2914は、人工シナプス2940によって人工ニューロン2931に接続されている。また、人工ニューロン2914は、人工シナプス2960によって人工ニューロン2921に接続されている。また、人工ニューロン2915は、人工シナプス2950によって人工ニューロン2932に接続されている。また、人工ニューロン2923は、人工シナプス2970によって人工ニューロン2934に接続されている。人工シナプス2940、人工シナプス2950、人工シナプス2960及び人工シナプス2970は、ネットワークを介する通信によって実現される。
 例えば、人工ニューロン2915が「視界にAさんがいる」という状況が定義された概念人工ニューロンである場合、人工ニューロン2932も「視界にAさんがいる」という状況が定義された概念人工ニューロンである。人工ニューロン2915が発火した場合、人工ニューロン2915の出力は、サブニューラルネットワーク2910からサブニューラルネットワーク2930にネットワークを介して送信される。
 なお、1つのサーバで構築されるべきサブニューラルネットワークを構成する複数の人工ニューロンは、人工ニューロン間の距離が予め定められた距離より短いことが好ましい。また、機能単位にサブニューラルネットワークに分割されてよい。例えば、サブニューラルネットワーク2910は、カメラ映像に基づく空間認識を担う機能部分のニューラルネットワークであってよい。
 なお、各サブニューラルネットワークは、非同期でニューラルネットワークの処理を行ってよい。また、第1のサブニューラルネットワークにおいて、第2のサブニューラルネットワークから受け取った出力が誤っている可能性が高いことを検出した場合、第1のサブニューラルネットワークの処理を行うサーバは、第2のサブニューラルネットワークの処理を行うサーバに、出力に誤りがある旨を通知してよい。例えば、「視界にAさんがいる」という出力が続いた後に、突然に「視界にBさんがいる」という出力を取得した場合、その出力に誤りがあると判断してよい。
 出力の誤りが通知された場合、第2のサブニューラルネットワークにおいて、誤りが通知された時刻の出力を再度計算して、第1のサブニューラルネットワークに出力してよい。このとき、第2のサブニューラルネットワークでは、先に出力した最も確からしい計算結果を除き、次に最も確からしい計算結果を出力してよい。
 なお、上述した実施形態に係るニューラルネットワークを電気回路とみなすと、上述したサーバ200や図29に関連して説明したサーバの処理により実現されるニューラルネットワークの動作は、アナログコンピュータの動作とみなすことができる。例えば、ニューラルネットワークの人工ニューロンの出力を、アナログコンピュータの電気回路における対応する部分の電圧とみなすことができる。他にも、人工シナプスを伝わる信号を電流とみなすことができ、人工シナプスの結合係数を対応する電気回路の抵抗とみなすことができ、人工ニューロンの出力の増減パラメータや式を回路特性とみなすことができる。また、上述した実施形態に係るニューラルネットワークの接続をグラフィカルに変更する操作は、アナログコンピュータの素子を手でつなぎ変える操作に対応する。また、ニューラルネットワークに入力を加えたり、パラメータを変更することは、アナログコンピュータの電気回路に電圧をかけたり、電気回路内のポテンショメータ等の値を変更することに対応する。したがって、上述したニューラルネットワークの処理をサーバ200や図29に関連して説明したサーバ等のノイマン型コンピュータにプログラムで実装することは、ニューラルネットワークのアナログコンピュータモデルをノイマン型コンピュータに実装することと同等である。
 以上に説明した実施形態では、ロボット40とは異なるサーバが、ニューラルネットワークの処理を担う。しかし、ロボット40自身が、ニューラルネットワークの処理を担ってよい。
 なお、ロボット40は、制御対象となる電子機器の一例である。制御対象となる電子機器はロボット40に限られない。様々な電子機器を制御対象として適用できる。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
20 システム
30 ユーザ
40 ロボット
90 通信網
100 ユーザ端末
50 ロボット
102 処理部
104 表示部
106 入力装置
108 通信部
152 処理部
155 制御対象
156 センサ部
158 通信部
200 サーバ
202 処理部
208 通信部
210 初期値設定部
230 外部入力データ生成部
240 パラメータ処理部
250 動作決定部
280 格納部
282 行動決定ルール
284 定義情報
286 パラメータ初期値
288 パラメータ
300 ニューラルネットワーク
301、302、303、304、305、306、307、308、309、310 人工シナプス
400 パラメータ編集画面
700、910、920 関数
1400、1510、1520 関数
1700 編集画面
1800 編集画面
2010 オブジェクト
2310 範囲
2320 範囲
2400 更新エージェント
2450 入出力エージェント
2500 データ構造
2900 ニューラルネットワーク
2910 サブニューラルネットワーク
2914、2915 人工ニューロン
2920 サブニューラルネットワーク
2921、2923、2925 人工ニューロン
2930 サブニューラルネットワーク
2931、2932、2934 人工ニューロン
2940、2950、2960、2970 人工シナプス

Claims (15)

  1.  ニューラルネットワークを構成する複数の人工ニューロン及び複数の人工シナプスのパラメータを処理する処理システムであって、
     前記複数の人工ニューロンの各人工ニューロンに対して制御対象の状態を定義した定義情報を格納する格納部と、
     前記複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンの入力に接続される1以上の人工シナプスのパラメータの値を、人工ニューロン毎に一括的なデータ単位でアクセス可能なデータアクセス構造を用いて処理する処理部と、
     前記複数の人工ニューロンのうちの少なくとも一部の人工ニューロンのパラメータの値によって定められる前記少なくとも一部の人工ニューロンの活性状態と、前記少なくとも一部の人工ニューロンに定義されている状態とに基づいて、前記制御対象の動作を決定する動作決定部と
    を備える処理システム。
  2.  前記処理部による処理は、前記複数の人工ニューロン及び前記人工シナプスのパラメータの値を人工ニューロン毎に更新すること、前記複数の人工ニューロン及び前記人工シナプスのパラメータの現在の値を人工ニューロン毎に一括的にユーザに提示すること、及び、前記複数の人工ニューロン及び前記人工シナプスのパラメータの値を人工ニューロン毎に一括的にユーザに提示してユーザからパラメータの値の入力を受け付けることを含む
    請求項1に記載の処理システム。
  3.  前記処理部は、
      前記複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を、テーブルの複数の行に前記複数の人工ニューロンの複数の行を対応づけた形式でユーザに提示し、
      前記提示されたパラメータの値を変更するための前記テーブルに対するユーザ入力を受け付ける
    請求項1又は2に記載の処理システム。
  4.  前記処理部は、
      前記複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値に一括的なデータ単位でアクセス可能なデータ構造を生成し、
      前記複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値に、前記データ構造を通じて前記複数の人工ニューロンに人工ニューロン毎にアクセスして、前記複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を時間的に更新する
    請求項1から3のいずれか1項に記載の処理システム。
  5.  前記処理部は、
      前記時間的に更新される前記複数の人工ニューロンの各人工ニューロンのパラメータの値及び各人工ニューロンに入力に接続される1以上の人工シナプスのパラメータの値を、テーブルの複数の行に前記複数の人工ニューロンの複数の行を対応づけた形式でユーザに提示する
    請求項4に記載の処理システム。
  6.  前記人工ニューロンのパラメータは、閾値、活性状態、最後に活性化した時刻、出力、最後に活性化した時刻における出力、及び活性化時の出力の時間発展を定めるパラメータの少なくとも1つを含み、
     前記人工シナプスのパラメータは、接続された人工ニューロンへの結合係数、前記人工シナプスが結びつけている2つの人工ニューロンが最後に同時に活性化した時刻である同時活性化時刻、当該同時活性化時刻における結合係数、及び同時の活性化が生じた後の結合係数の時間発展を定めるパラメータの少なくとも1つと、前記人工シナプスの識別情報とを含む
    請求項1から5のいずれか1項に記載の処理システム。
  7.  前記複数の人工ニューロンには、内分泌物質の発生状態が定義された人工ニューロンである内分泌人工ニューロンが含まれ、
     前記格納部は、前記内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータに、前記内分泌人工ニューロンの出力及び活性状態の少なくとも一方が与える影響を定めた影響定義情報を更に格納し、
     前記処理部は、前記内分泌人工ニューロンの出力及び活性状態の少なくとも一方と、前記影響定義情報とに基づいて、前記内分泌人工ニューロンに人工シナプスで直接接続されていない前記他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータを更新する
    請求項1から6のいずれか1項に記載の処理システム。
  8.  前記内分泌人工ニューロンの出力及び活性状態の少なくとも一方が影響を与える前記他の人工ニューロンのパラメータは、前記他の人工ニューロンの閾値、活性状態、及び、活性化時の出力の時間発展を定めるパラメータの少なくとも1つを含み、
     前記内分泌人工ニューロンの出力及び活性状態の少なくとも一方が影響を与える人工シナプスのパラメータは、当該人工シナプスの結合係数、及び、当該人工シナプスが結びつけている2つの人工ニューロンが最後に同時に活性化した後の結合係数の時間発展を定めるパラメータの少なくとも1つを含む
    請求項7に記載の処理システム。
  9.  前記複数の人工ニューロンには、前記制御対象の現在の感情が定義された人工ニューロンである感情人工ニューロンを更に含み、
     前記影響定義情報は、報酬系に関連づけられた内分泌人工ニューロンの活性状態が前記感情人工ニューロンの閾値に与える影響を定めた情報を含み、
     前記処理部は、前記内分泌人工ニューロンが活性化した場合に、前記影響定義情報に従って、前記感情人工ニューロンの閾値を更新する
    請求項7又は8に記載の処理システム。
  10.  前記処理部は、前記複数の人工ニューロンのうちの一部の人工ニューロンのパラメータを、他の人工ニューロンのパラメータの更新頻度より高い頻度で更新する
    請求項1から9のいずれか1項に記載の処理システム。
  11.  前記処理部は、前記処理システムにおいて演算に利用可能なリソース量が予め定められた値より小さい場合に、前記一部の人工ニューロンのパラメータを、他の人工ニューロンのパラメータの更新頻度より高い頻度で更新する
    請求項10に記載の処理システム。
  12.  前記複数の人工ニューロンには、優先順位が予め割り当てられており、
     前記処理部は、前記複数の人工ニューロンの中から、前記処理システムにおいて演算に利用可能なリソース量の範囲内でパラメータを更新可能な一部の人工ニューロンを前記優先順位に従って選択し、選択した前記一部の人工ニューロンのパラメータを、他の人工ニューロンのパラメータの更新頻度より高い頻度で更新する
    請求項10又は11に記載の処理システム。
  13.  前記ニューラルネットワークは、前記制御対象の状態が定義されていない人工ニューロンである非定義人工ニューロンを1以上含み、
     前記処理部は、報酬系に関連づけられた内分泌人工ニューロンが活性化した場合に、前記非定義人工ニューロンのうち、当該内分泌人工ニューロン及び当該内分泌人工ニューロンと同時に活性状態にある他の人工ニューロンを接続する1以上の非定義人工ニューロンに接続された人工シナプスの結合係数を高める
    請求項1から12のいずれか1項に記載に記載の処理システム。
  14.  前記処理部は、前記報酬系に関連づけられた内分泌人工ニューロンと当該内分泌人工ニューロンと同時に活性状態にある他の人工ニューロンとの間を接続するルートのうち、前記非定義人工ニューロンに接続された人工シナプスの結合係数を考慮した人工ニューロン間の距離がより近いルートをより優先して選択して、選択したルートを提供する非定義人工ニューロンに接続された人工シナプスの結合係数を高める
    請求項13に記載の処理システム。
  15.  コンピュータを、請求項1から14のいずれか1項に記載の処理システムとして機能させるためのプログラム。
PCT/JP2015/061840 2015-04-17 2015-04-17 処理システム及びプログラム WO2016166881A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP15889219.0A EP3276542A4 (en) 2015-04-17 2015-04-17 Processing system and program
PCT/JP2015/061840 WO2016166881A1 (ja) 2015-04-17 2015-04-17 処理システム及びプログラム
JP2017512163A JP6446126B2 (ja) 2015-04-17 2015-04-17 処理システム及びプログラム
CN201580078814.XA CN107924487A (zh) 2015-04-17 2015-04-17 处理***以及程序
US15/785,413 US20180039880A1 (en) 2015-04-17 2017-10-16 Processing system and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/061840 WO2016166881A1 (ja) 2015-04-17 2015-04-17 処理システム及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/785,413 Continuation US20180039880A1 (en) 2015-04-17 2017-10-16 Processing system and computer-readable medium

Publications (1)

Publication Number Publication Date
WO2016166881A1 true WO2016166881A1 (ja) 2016-10-20

Family

ID=57126435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/061840 WO2016166881A1 (ja) 2015-04-17 2015-04-17 処理システム及びプログラム

Country Status (5)

Country Link
US (1) US20180039880A1 (ja)
EP (1) EP3276542A4 (ja)
JP (1) JP6446126B2 (ja)
CN (1) CN107924487A (ja)
WO (1) WO2016166881A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020150393A (ja) * 2019-03-13 2020-09-17 株式会社日立製作所 分散制御システムおよびそれを用いた作業機械
JP2022019721A (ja) * 2017-07-03 2022-01-27 エックス デベロップメント エルエルシー ロボットアクションへの修正に基づく局所的特徴モデルの更新
JP2022547668A (ja) * 2019-09-12 2022-11-15 ヴィアナイ システムズ, インコーポレイテッド 機械学習モデルの視覚的作成及び監視
US11780083B2 (en) 2017-07-03 2023-10-10 Google Llc Determining and utilizing corrections to robot actions

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6986503B2 (ja) * 2018-09-10 2021-12-22 日立Astemo株式会社 電子制御装置、ニューラルネットワーク更新システム
US11593627B2 (en) 2019-12-31 2023-02-28 X Development Llc Artificial neural network architectures based on synaptic connectivity graphs
US11625611B2 (en) 2019-12-31 2023-04-11 X Development Llc Training artificial neural networks based on synaptic connectivity graphs
US11593617B2 (en) 2019-12-31 2023-02-28 X Development Llc Reservoir computing neural networks based on synaptic connectivity graphs
US11631000B2 (en) 2019-12-31 2023-04-18 X Development Llc Training artificial neural networks based on synaptic connectivity graphs
US11620487B2 (en) 2019-12-31 2023-04-04 X Development Llc Neural architecture search based on synaptic connectivity graphs
US11568201B2 (en) * 2019-12-31 2023-01-31 X Development Llc Predicting neuron types based on synaptic connectivity graphs
KR102463143B1 (ko) * 2020-06-15 2022-11-04 세종대학교산학협력단 졸음 운전 감지 방법 및 그 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652140A (ja) * 1992-07-31 1994-02-25 Mikuni Corp ニューラルネットワークのデータ構造
JP2009522684A (ja) * 2006-01-05 2009-06-11 ヴィゼル、トーマス・エイ 人間の脳の電子的なエミュレーションに心理学的な気質を取り入れるための方法
JP2010287062A (ja) * 2009-06-11 2010-12-24 Honda Motor Co Ltd ニューラルネットワーク・シミュレーション演算方法
JP2013529342A (ja) * 2010-05-19 2013-07-18 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア ニューラル処理ユニット

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100509308C (zh) * 2002-03-15 2009-07-08 索尼公司 用于机器人的行为控制***和行为控制方法及机器人装置
US10095718B2 (en) * 2013-10-16 2018-10-09 University Of Tennessee Research Foundation Method and apparatus for constructing a dynamic adaptive neural network array (DANNA)
CN103926832A (zh) * 2014-04-18 2014-07-16 哈尔滨工程大学 一种神经网络跟踪控制的自适应学习率调节方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652140A (ja) * 1992-07-31 1994-02-25 Mikuni Corp ニューラルネットワークのデータ構造
JP2009522684A (ja) * 2006-01-05 2009-06-11 ヴィゼル、トーマス・エイ 人間の脳の電子的なエミュレーションに心理学的な気質を取り入れるための方法
JP2010287062A (ja) * 2009-06-11 2010-12-24 Honda Motor Co Ltd ニューラルネットワーク・シミュレーション演算方法
JP2013529342A (ja) * 2010-05-19 2013-07-18 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア ニューラル処理ユニット

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3276542A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022019721A (ja) * 2017-07-03 2022-01-27 エックス デベロップメント エルエルシー ロボットアクションへの修正に基づく局所的特徴モデルの更新
JP7213934B2 (ja) 2017-07-03 2023-01-27 エックス デベロップメント エルエルシー ロボットアクションへの修正に基づく局所的特徴モデルの更新
US11640517B2 (en) 2017-07-03 2023-05-02 X Development Llc Update of local features model based on correction to robot action
US11780083B2 (en) 2017-07-03 2023-10-10 Google Llc Determining and utilizing corrections to robot actions
JP2020150393A (ja) * 2019-03-13 2020-09-17 株式会社日立製作所 分散制御システムおよびそれを用いた作業機械
JP7242355B2 (ja) 2019-03-13 2023-03-20 株式会社日立製作所 分散制御システムおよびそれを用いた作業機械
JP2022547668A (ja) * 2019-09-12 2022-11-15 ヴィアナイ システムズ, インコーポレイテッド 機械学習モデルの視覚的作成及び監視
JP7439242B2 (ja) 2019-09-12 2024-02-27 ヴィアナイ システムズ, インコーポレイテッド 機械学習モデルの視覚的作成及び監視

Also Published As

Publication number Publication date
US20180039880A1 (en) 2018-02-08
JPWO2016166881A1 (ja) 2018-02-22
CN107924487A (zh) 2018-04-17
EP3276542A1 (en) 2018-01-31
EP3276542A4 (en) 2018-04-11
JP6446126B2 (ja) 2018-12-26

Similar Documents

Publication Publication Date Title
JP6446126B2 (ja) 処理システム及びプログラム
US10181213B2 (en) System for neurobehavioural animation
Sagar et al. Creating connection with autonomous facial animation
Khashman Application of an emotional neural network to facial recognition
US20160086366A1 (en) Social Identity Models for Automated Entity Interactions
Wang et al. Handshake: Realistic human-robot interaction in haptic enhanced virtual reality
JP2011020258A (ja) 感性モデル装置、感性モデルの性向学習装置及び方法
JP2005199403A (ja) 情動認識装置及び方法、ロボット装置の情動認識方法、ロボット装置の学習方法、並びにロボット装置
US20220309364A1 (en) Human-like non-player character behavior with reinforcement learning
WO2018095041A1 (zh) 机器人及其动作控制方法和装置
CN108229640B (zh) 情绪表达的方法、装置和机器人
KR101851374B1 (ko) 입력 데이터를 학습하는 방법 및 학습 장치
TW202232284A (zh) 用於在虛擬實境環境中三維人類姿勢之模擬控制
Bogdanovych et al. Formalising believability and building believable virtual agents
US9117168B2 (en) Apparatus and method for calculating internal state for artificial emotion
WO2018180499A1 (ja) ニューラルネットワーク構造、電子回路、情報処理システム、方法、およびプログラム
Gomes et al. An emotional virtual character: A deep learning approach with reinforcement learning
US9037526B2 (en) Apparatus and method for selecting motion signifying artificial feeling
CN107798384A (zh) 可进化脉冲神经网络构建方法和装置
JP6199927B2 (ja) 制御システム、システム及びプログラム
KR101284642B1 (ko) 로봇의 감정 생성 장치
JP5927797B2 (ja) ロボット制御装置、ロボットシステム、ロボット装置の行動制御方法、及びプログラム
KR101579447B1 (ko) 생체신호전달 네트워크 분석방법
Yu et al. CaMKII activation supports reward-based neural network optimization through Hamiltonian sampling
US20220358343A1 (en) Architecture, system, and method for simulating dynamics between emotional states or behavior for a mammal model and artificial nervous system

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017512163

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE