WO2024047804A1 - Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム - Google Patents

Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム Download PDF

Info

Publication number
WO2024047804A1
WO2024047804A1 PCT/JP2022/032797 JP2022032797W WO2024047804A1 WO 2024047804 A1 WO2024047804 A1 WO 2024047804A1 JP 2022032797 W JP2022032797 W JP 2022032797W WO 2024047804 A1 WO2024047804 A1 WO 2024047804A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
node
unit
firing
edge
Prior art date
Application number
PCT/JP2022/032797
Other languages
English (en)
French (fr)
Inventor
裕子 石若
Original Assignee
ソフトバンク株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソフトバンク株式会社 filed Critical ソフトバンク株式会社
Priority to PCT/JP2022/032797 priority Critical patent/WO2024047804A1/ja
Publication of WO2024047804A1 publication Critical patent/WO2024047804A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to a NN growth device, etc., which is a device that virtually realizes the mechanism of brain growth.
  • the neural network growth device of the first invention stores neural network information having two or more pieces of node information having node identifiers and one or more pieces of edge information having edge identifiers and specifying connections between nodes.
  • One or more pieces of firing starting point information having a NN storage unit containing a NN storage unit, an information identifier for identifying feature information of the image information, and one or more node identifiers for identifying a node that fires first when the feature information is received are stored.
  • a state determination unit that determines one state from two or more states using the sound information received by the unit, and a feature that acquires one or more characteristic information for the image information using the image information received by the information reception unit.
  • the acquisition unit and the node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit determine the node identifier of the node to fire from the starting point storage unit, and set the node identifier to the node identified by each of the one or more node identifiers.
  • it is a node that is connected by an edge and is passed characteristic information
  • the firing node determining unit determines the node identifier of the firing node, and the goal information that is paired with the one state determined by the state determining unit is acquired.
  • a growth unit that performs processing to grow node information or edge information corresponding to one or more node identifiers among the one or more node identifiers determined by the firing node determination unit, using goal information. It is a growth device.
  • the NN growth apparatus of the second invention sequentially generates a sliding window, which is a partial area of the still image, from the still image included in the image information received by the information receiving unit.
  • the feature acquisition unit is an NN growth device in which the window determination unit sequentially acquires one or more feature information for the partial images using the partial images corresponding to the determined sliding window. be.
  • the characteristic information has an information identifier for identifying the information and an information amount indicating the size of the information
  • the node determination unit determines whether one or more feature information passed from one or more other nodes connected by an edge satisfies a firing condition regarding the one or more feature information, and determines whether the firing condition is satisfied.
  • This is a NN growth device that determines the node identifier of the determined node.
  • the node information has node position information that specifies the position of the node
  • the goal information has the node position information that specifies the position of the node.
  • the growth section has goal position information that specifies the position or goal direction information that indicates the direction of the goal, and the growth section causes the firing node determination section to move in the direction indicated by the goal information that is paired with the one state determined by the state determination section.
  • the firing node determining section stores number information regarding the number of determined node identifiers in association with the node identifier
  • the growing section is a NN growth device that performs edge generation processing on a node identified by a node identifier corresponding to information on the number of times that an edge generation condition is met.
  • the node information has node position information that specifies the position of the node
  • the goal information has the node position information that specifies the position of the node.
  • the growth section has goal position information that specifies the position or goal direction information that indicates the direction of the goal, and the growth section causes the firing node determination section to move in the direction indicated by the goal information that is paired with the one state determined by the state determination section.
  • the firing node determining section stores number information regarding the number of times of the determined node identifier in association with the node identifier
  • the growing section is a NN growth apparatus that performs edge growth processing on a node identified by a node identifier corresponding to information on the number of times that an edge generation condition is met.
  • the nodes are soma
  • the edges have AXON and Dendrites
  • the edge information is AXON
  • the NN growth device has AXON information having an identifier and AXON position information indicating the position of the AXON, and Dendrites information having a Dendrites identifier and Dendrites position information indicating the position of the Dendrites.
  • the information processing device of the ninth invention also includes a NN storage section in which neural network information accumulated by the NN growth device is stored, and reception information that is one or more of image information or sound information.
  • An information reception unit a feature acquisition unit that acquires one or more feature information for the reception information received by the information reception unit, and a node that is a node identifier and fires that corresponds to each of the one or more feature information acquired by the feature acquisition unit.
  • One or more firing starting point information having a node identifier for identifying the characteristic information of the reception information, and one or more node identifiers for identifying the node that fires first when the characteristic information is accepted is stored.
  • the information processing device includes an information output unit that outputs output information.
  • the information processing device of the tenth invention is different from the ninth invention, further comprising a temperature reception section that receives temperature information, and an information transmission section that transmits information from a node that has fired to a node that will fire next.
  • the information processing device performs an information transmission process, which is a process of passing characteristic information corresponding to a node that fires, and changes the processing time for performing the information transmission process according to temperature information received by a temperature reception unit. .
  • the NN growth device According to the NN growth device according to the present invention, it is possible to simulate the growth of an infant's brain.
  • Block diagram of NN growth apparatus 1 in Embodiment 1 Flowchart explaining an example of the operation of the NN growth apparatus 1 Flowchart explaining an example of the same growth process Flowchart describing an example of same single node processing Flowchart explaining an example of the same node generation process Flowchart explaining an example of the same node information generation process Flowchart explaining an example of edge generation processing Flowchart explaining an example of edge information generation processing Flowchart explaining an example of edge growth processing Flowchart explaining an example of edge extension processing Flowchart explaining an example of the same firing transmission process Flowchart explaining an example of the firing determination process Second block diagram of the NN growth apparatus 1 Flowchart explaining the second operation example of the NN growth apparatus 1 Flowchart explaining an example of same window determination process Block diagram of information processing device 2 in Embodiment 2 Flowchart explaining an example of the operation of the information processing device 2 Flowchart explaining an example of the same information transmission process Flowchart explaining an example of homogeneous transfer processing Flowchart
  • Embodiment 1 image information and sound information are accepted, the sound information is used to determine a state such as positive or negative, and one or more feature information acquired from the image information is determined according to the determination result.
  • a NN growth apparatus that detects a node that fires based on the information and performs a growth process corresponding to the node will be described. Note that the growth processing is, for example, edge generation processing, edge growth processing, and node generation processing.
  • the edge generation process is a process of generating edges that constitute a neural network (hereinafter referred to as "NN" as appropriate).
  • the edge growth process is a process of growing edges forming the NN.
  • the node generation process is a process of generating nodes constituting the NN.
  • the neural network here is preferably a spiking neural network.
  • the neural network may be another type of neural network such as a deep neural network. In other words, the type of neural network does not matter.
  • information X is associated with information Y means that information Y can be acquired from information X, or that information X can be acquired from information Y, and the method of association does not matter.
  • Information X and information Y may be linked, exist in the same buffer, information X may be included in information Y, or information Y may be included in information X. etc. is also fine.
  • FIG. 1 is a block diagram of a NN growth apparatus 1 in this embodiment.
  • the NN growth apparatus 1 includes a storage section 11, a reception section 12, a processing section 13, and an output section 14.
  • the storage unit 11 includes a starting point storage unit 111, a goal storage unit 112, and a NN storage unit 113.
  • the reception unit 12 includes an information reception unit 121.
  • the processing unit 13 includes a state determination unit 131, a feature acquisition unit 132, a firing node determination unit 133, and a growth unit 134.
  • the storage unit 11 that constitutes the NN growth apparatus 1 stores various information.
  • the various types of information include, for example, firing start point information (described later), goal information (described later), neural network (NN), one or more glial cell information (described later), one or more connection information (described later), and 1 (described later). Or two or more pieces of firing information, or state determination information to be described later.
  • the starting point storage unit 111 stores one or more pieces of firing starting point information.
  • the starting point storage unit 111 usually stores two or more pieces of firing starting point information.
  • the firing start point information is information that specifies the node that fires in the first stage when image information is received.
  • a node that fires in the first stage is a node that fires without going through other nodes.
  • the firing starting point information includes an information identifier and one or more node identifiers.
  • the firing starting point information may include an initial firing condition and one or more node identifiers.
  • the information identifier is information that identifies characteristic information of image information.
  • An information identifier is information that specifies the type of feature amount of an image.
  • the information identifiers are, for example, "R”, “G”, and “B”. "R” is information indicating the color red, "G” is information indicating the color green, and "B” is information indicating the color blue.
  • the initial firing condition is the condition under which the node fires in the first stage.
  • the initial firing condition is a condition regarding the information identifier.
  • the initial firing condition typically has an information identifier.
  • the initial firing condition is, for example, a condition regarding an information identifier and an amount of information.
  • the node identifier is information that identifies the nodes that constitute the NN.
  • the node identifier is, for example, a node ID or a node name.
  • a node may also be called a soma.
  • the node identifier may also be called a soma identifier.
  • the feature information is the feature amount of image information.
  • the feature information is, for example, an information identifier or an information identifier and an amount of information.
  • the information identifier is information that identifies characteristic information.
  • the amount of information is information indicating the size of the information identified by the paired information identifier.
  • the feature information is, for example, " ⁇ information identifier>R ⁇ information amount> 150".
  • the goal storage unit 112 stores one or more goal information.
  • the goal storage unit 112 usually stores two or more pieces of goal information.
  • Goal information is information that specifies the goal in which the nodes or edges forming the NN grow.
  • the goal information is information that specifies a goal corresponding to any one of two or more states.
  • the state is, for example, an emotion or an internal situation of the brain.
  • a condition is, for example, positive or negative.
  • the type of condition is either positive or negative.
  • the number of types of states may be three or more. When there are three or more types of states, each state is, for example, information indicating a degree of positive (two or more) or information indicating a degree of negative (two or more).
  • goal information is information that specifies the position where a node or edge grows.
  • the goal information includes goal position information or goal direction information.
  • Goal information corresponds to a state identifier.
  • Goal position information is information that specifies the position of a goal.
  • the goal direction information indicates the direction of the goal.
  • a position is a position in a virtual space of two or more dimensions.
  • the goal information is, for example, position information.
  • the position information is, for example, three-dimensional coordinate values (x, y, z), two-dimensional coordinate values (x, y), or four-dimensional quaternions (x, y, x, w).
  • the fact that the goal information corresponds to the state identifier means that the goal information corresponding to the determined state identifier is used for the growth of the NN.
  • Neural network information (hereinafter referred to as "NN information" as appropriate) is stored in the NN storage unit 113. It can be said that NN information is information that imitates the brain.
  • the NN information includes two or more pieces of node information and one or more pieces of edge information.
  • NN information may be referred to as NN.
  • the node information is information about the nodes that make up the NN.
  • the node information has a node identifier.
  • the node information includes, for example, node position information, firing conditions, firing probability information, and frequency information. Further, it is preferable that the node information includes required energy amount information indicating the amount of energy required for ignition.
  • the node location information is the location information of a node.
  • the position information is, for example, three-dimensional coordinate values (x, y, z), two-dimensional coordinate values (x, y), or four-dimensional quaternions (x, y, x, w).
  • a firing condition is a condition under which a node fires.
  • Firing conditions usually have one or more characteristic information.
  • the feature information may be information that includes an information identifier that identifies the information and an amount of information that indicates the size of the information, or may be information that includes only the amount of information that indicates the size of the information.
  • the amount of information is, for example, a numerical value greater than 0.
  • Ignition probability information is information regarding the probability of ignition.
  • the ignition probability information may be the ignition probability itself, or may be a value obtained by converting the ignition probability using a function or the like. It is preferable that the firing probability information is referred to and that the node fires or does not fire at the probability indicated by the firing probability information even if the characteristic information is the same.
  • the number of times information is information based on the number of times the fire was fired.
  • the number of times information is, for example, the number of firings and the firing frequency (firing rate).
  • Edge information is information about edges that make up the NN.
  • Edge information is information that specifies connections between nodes.
  • Edge information typically includes an edge identifier.
  • the edge information includes, for example, node identifiers of each of the two nodes that the edge connects.
  • the edge information includes, for example, a node identifier of one node to be connected. If the edge information has only one node identifier, the edge is an edge in the growing process before connecting two nodes.
  • the edge information includes, for example, edge position information.
  • Edge position information is information that specifies the position of the end point of an edge. Further, it is preferable that the edge information includes retained energy amount information indicating the amount of energy retained by the edge.
  • the edge information includes, for example, Dendrites information and AXON information.
  • the edges have Dendrites and AXONs.
  • an edge may be considered to be one line or two or more branched lines. Edges can be called synapses.
  • An edge identifier is information that identifies an edge.
  • the edge identifier is, for example, an edge ID or an edge name.
  • Dendrites information is information on DENDRITES.
  • DENDRITES also called dendrites, are part of nerve cells. These are multiple projections that branch out from the cell body like branches of a tree, in order for neurons to receive external stimuli and information sent out from the axons of other neurons.
  • DENDRITES is an element that constitutes an edge here.
  • the DENDRITES information includes a DENDRITES identifier and DENDRITES location information.
  • the DENDRITES identifier is information that identifies DENDRITES.
  • the DENDRITES identifier is, for example, the ID of the DENDRITES and the name of the DENDRITES.
  • DENDRITES location information is location information indicating the location of DENDRITES.
  • DENDRITES position information is information that specifies the position of DENDRITES, for example, one or more three-dimensional coordinate values (x, y, z), or one or more two-dimensional coordinate values (x, y ). DENDRITES When the position information has two or more coordinate values, DENDRITES is a line connecting each point of the two or more coordinate values.
  • the Dendrites information includes retained energy amount information indicating the amount of energy held by the Dendrites. Further, it is preferable that the Dendrites information includes information on the amount of energy required to transmit information using Dendrites.
  • AXON information is AXON information.
  • AXON also called an axon, is a protrusion-like structure that extends from the cell body and is responsible for outputting signals in nerve cells.
  • AXON is an element constituting an edge here.
  • the AXON information includes an AXON identifier and AXON position information.
  • the AXON identifier is information that identifies an AXON.
  • the AXON identifier is, for example, an AXON ID or an AXON name.
  • AXON position information is position information indicating the position of AXON.
  • AXON position information is information that specifies the position of AXON, for example, one or more three-dimensional coordinate values (x, y, z), or one or more two-dimensional coordinate values (x, y, ).
  • AXON position information has two or more coordinate values
  • AXON is a line connecting each point of the two or more coordinate values.
  • the AXON information includes retained energy amount information indicating the amount of energy retained by the AXON. Further, it is preferable that the AXON information includes information on the amount of energy required to transmit information using the AXON.
  • Dendrites and AXON may be branched.
  • each position information can be expressed by three or more coordinate values.
  • the method of expressing the Dendrites position information and the AXON position information does not matter.
  • the glial cell information stored in the storage unit 11 is information regarding glial cells. Note that the glial cell information does not need to exist in the storage unit 11.
  • glial cells are also called neuroglial cells, and are a general term for cells that are not nerve cells that constitute the nervous system. Glial cells are the glue or cement-like substance that fills the spaces between neurons.
  • the glial cell information has a glial cell identifier that identifies the glial cell.
  • the glial cell information includes, for example, a node identifier that identifies a node that assists in binding, or an edge identifier that identifies an edge that assists in binding.
  • the glial cell information includes, for example, an AXON identifier of an AXON that the glial cell assists in binding, or a Dendrites identifier of Dendrites that the glial cell assists in binding.
  • the glial cell information may include a glial cell type identifier that identifies the type of glial cell.
  • glial cells The type of glial cells is, for example, oligodendrocites (hereinafter referred to as "oligo" as appropriate) or astrocytes.
  • oligo is a cell that can connect to axon.
  • Astrocytes are cells that can be connected to somas or dendrites.
  • the glial cell information includes glial cell position information.
  • Glial cell location information is location information that specifies the location of glial cells.
  • the oligo glial cell information includes glial cell position information.
  • the glial cell information may include length information indicating the length of one or more hands.
  • the glial cell information may include move count information indicating the number of moves coming out of the glial cells.
  • move count information indicating the number of moves coming out of the glial cells.
  • the connection information stored in the storage unit 11 is information that specifies a connection between two or more nodes.
  • the connection information may be information that specifies the connection between AXON of one node and Dendrites of another node. Such information is also information that specifies connections between nodes.
  • the connection information may be information specifying a connection between one synapse and one spine. Such information is also information that specifies connections between nodes.
  • the combination information includes, for example, two node identifiers to be combined. Further, the combination information includes, for example, an AXON identifier of an AXON and a Dendrites identifier of a Dendrites that is combined with the AXON.
  • connection information includes, for example, a synapse identifier of a synapse and a spine identifier of a spine that can transmit information between the synapse and the synapse.
  • the combination information may include information transmission probability information.
  • Information transmission probability information is information regarding the probability of information transmission between one node and another node.
  • the information transmission probability information may be information regarding the probability of information transmission between AXON and Dendrites. In such a case, the information transmission probability information is information regarding the probability of information transmission between one node and another node.
  • the information transmission probability information may be information regarding the probability of information transmission between a synapse and a spine. In such a case, the information transmission probability information is information regarding the probability of information transmission between one node and another node.
  • the connection direction between nodes is usually one direction.
  • the connection information may be information indicating the connection between the node and the AXON.
  • the binding information includes a node identifier and an AXON identifier.
  • the connection information may be information indicating a connection between a node and Dendrites. In such a case, the binding information includes a node identifier and a Dendrites identifier.
  • the binding information may be information specifying the binding between glial cells and AXONs or Dendrites.
  • the binding information includes, for example, a glial cell identifier that identifies glial cell information and an AXON identifier.
  • the binding information may include, for example, a glial cell identifier and a Dendrites identifier.
  • connection information that specifies connections between elements (nodes, edges, AXONs, Dendrites, glial cells, synapses, or spines) constituting the NN may be stored in the NN storage unit 113.
  • connection information that specifies connections between elements constituting the NN may be included in the information of each element.
  • Ignition information is information regarding the result of ignition.
  • the firing information has a node identifier that identifies the node that fired.
  • the ignition information may normally include timer information indicating when the ignition occurred.
  • the timer information may be information indicating relative time or time information indicating absolute time. Note that the ignition information may be automatically deleted by the processing unit 13 after a certain period of time has passed since it was accumulated.
  • State determination information is information for determining one state using sound information.
  • the state determination information is, for example, a set of two or more including a sound condition, which is a condition regarding sound information, and a state identifier.
  • the reception unit 12 receives various types of information.
  • the various types of information include, for example, image information and sound information.
  • reception refers to the reception of information input from input devices such as cameras, microphones, keyboards, mice, touch panels, etc., reception of information sent via wired or wireless communication lines, optical disks, magnetic disks, semiconductors, etc.
  • This is a concept that includes receiving information read from a recording medium such as a memory.
  • the information reception unit 121 acquires, for example, image information taken by a camera.
  • the information reception unit 121 acquires, for example, sound information acquired by a microphone.
  • reception refers to the reception of information acquired by devices such as microphones and cameras, but also the reception of information transmitted via wired or wireless communication lines, and the reception of information from recording media such as optical disks, magnetic disks, semiconductor memory, etc.
  • the concept may also include accepting information read out from the computer.
  • the information receiving unit 121 receives image information and sound information.
  • the information receiving unit 121 receives, for example, image information and sound information at the same timing. However, the information reception unit 121 may accept, for example, image information and sound information with some deviation. Further, the image information is a still image or a moving image.
  • the sound information is, for example, audio data or music data, but any type of sound information is acceptable as long as it is sound information.
  • the processing unit 13 performs various processes.
  • the various processes are, for example, processes performed by the state determining unit 131, the feature acquiring unit 132, the firing node determining unit 133, and the growing unit 134.
  • the state determining unit 131 determines one state from two or more states using the sound information received by the information receiving unit 121.
  • the state is, for example, either "positive (sometimes referred to as state P)" or “negative (sometimes referred to as state N).”
  • Determining the state is, for example, obtaining a state identifier.
  • a state identifier is information that identifies a state.
  • the state identifier is, for example, "state P" or "state N.”
  • the feature information includes, for example, an information identifier and an information amount.
  • the state determination unit 131 analyzes sound information, which is the received sound, and acquires one or more characteristic information of the sound.
  • Determining the state is, for example, obtaining a state identifier.
  • a state identifier is information that identifies a state.
  • the state identifier is, for example, "state P" or "state N.” Note that determining the state usually means obtaining a state identifier.
  • the state determining unit 131 determines a sound condition, which is a condition related to the sound information received by the information receiving unit 121, from the sound conditions included in two or more pieces of state determination information, and determines a state identifier that is paired with the sound condition. get.
  • the state determining unit 131 uses the sound information received by the information receiving unit 121 to acquire one or more feature information for the sound information. Next, the state determining unit 131 obtains, for example, one state identifier that is paired with a sound condition that matches one or more feature information for the sound information.
  • the state determination unit 131 determines one state from the sound information using, for example, state determination information.
  • the state determining unit 131 obtains, for example, a state identifier paired with a sound condition that matches one or more feature information for sound information.
  • the process of acquiring one or more feature information from the sound information may be performed by the feature acquisition unit 132.
  • the feature acquisition unit 132 uses the image information received by the information reception unit 121 to acquire one or more feature information for the image information.
  • the feature information includes, for example, an information identifier and an information amount.
  • the feature acquisition unit 132 analyzes the received image information and obtains one or more feature information of the image information.
  • the feature acquisition unit 132 acquires, for example, the amount of information of the information identifier "R,” the amount of information of the information identifier "G,” and the amount of information of the information identifier "B" from the received image information.
  • the amount of information of the information identifier "R” is information regarding the amount of information of "R” in the region of interest of the image.
  • the amount of information of the information identifier “R” is, for example, a representative value of the R value of one or more pixels in the region of interest of the image.
  • the amount of information of the information identifier "R” is, for example, the number or percentage of pixels for which the value of R is greater than or equal to a threshold value among one or more pixels in the region of interest of the image.
  • the amount of information of the information identifier "G” is information regarding the amount of information of "G" in the region of interest of the image.
  • the information amount of the information identifier "G” is, for example, a representative value of the G value of one or more pixels in the region of interest of the image.
  • the amount of information of the information identifier "G” is, for example, the number or percentage of pixels for which the value of G is greater than or equal to a threshold value among one or more pixels in the region of interest of the image.
  • the amount of information of the information identifier "B” is information regarding the amount of information of "B" in the region of interest of the image.
  • the information amount of the information identifier "B” is, for example, a representative value of the B value of one or more pixels in the region of interest of the image.
  • the amount of information of the information identifier "B” is, for example, the number or percentage of pixels for which the value of B is greater than or equal to a threshold value among one or more pixels in the region of interest of the image.
  • the region of interest in the image is a window determined by the window determining unit 130, which will be described later, but may also be the entire image information.
  • the representative value is, for example, an average value, but may also be a median value or the like.
  • the feature acquisition unit 132 may acquire one or more feature information for one piece of image information received by the information reception unit 121, or one or more feature information for two or more temporally consecutive image information (videos). You may also obtain.
  • the feature acquisition unit 132 uses, for example, one image information and image information temporally previous to the one image information to acquire the amount of movement between the two image information. This amount of movement is an example of the feature information of the moving image that the feature acquisition unit 132 acquires.
  • the feature acquisition unit 132 acquires a first movement amount, which is the amount of movement between the first image information and second image information immediately before the first image information, and a first image information and the first image.
  • the second amount of movement is the amount of movement between the second image information that is two images before the information
  • the amount of movement is the amount of movement between the first image information and the Nth image information that is N times before the first image information.
  • the Nth movement amount may be acquired and a movement amount vector (first movement amount, second movement amount, . . . , Nth movement amount) may be configured.
  • This movement amount vector is also an example of the feature information of the moving image that the feature obtaining unit 132 obtains.
  • the amount of movement between images is information that specifies the amount of movement between two images.
  • the amount of movement between images is, for example, a motion vector or an optical flow.
  • the firing node determining unit 133 determines from the starting point storage unit 111 the node identifier of the firing node, which is a node identifier corresponding to one or more pieces of feature information acquired by the feature acquiring unit 132 and is a node to fire. Next, the firing node determination unit 133 determines the node identifier of each of the one or more firing nodes, which are connected by edges and to which characteristic information is passed from the firing node, and which fire. Note that the node identifier of the firing node is appropriately referred to as a firing node identifier.
  • the firing node determining unit 133 determines whether one or more pieces of characteristic information passed from one or more other nodes connected by an edge satisfy a firing condition, and determines whether or not one or more pieces of characteristic information passed from one or more other nodes connected by an edge satisfy a firing condition, and determines whether or not the firing node satisfies the firing condition.
  • the firing condition is a condition regarding one or more pieces of characteristic information.
  • the firing node determining unit 133 accumulates number information regarding the number of determined node identifiers in association with the node identifier.
  • the number of times information is information based on the number of times of firing, and is, for example, the number of times of firing and the firing frequency (firing rate).
  • the growth unit 134 performs a growth process.
  • the growth unit 134 performs growth processing of a NN that imitates an infant's brain.
  • the growth unit 134 performs NN growth processing using the received image information and sound information.
  • the growing unit 134 grows nodes or edges or nodes and edges constituting the NN using one or more feature information acquired from the received image information and one or more feature information acquired from the sound information. Perform the processing to
  • the growing unit 134 acquires goal information paired with one state determined by the state determining unit 131, and each of the one or more node identifiers of the one or more node identifiers determined by the firing node determining unit 133. Processing is performed to grow node information or edge information corresponding to a node identifier using goal information.
  • the growth unit 134 acquires goal information paired with the state identifier of one state determined by the state determination unit 131, and satisfies the growth condition of one or more node identifiers determined by the firing node determination unit 133. Processing is performed to grow node information or edge information corresponding to one or more firing node identifiers, which are node identifiers, using the acquired goal information.
  • the node identifier that satisfies the growth condition is a node identifier that identifies node information that satisfies the growth condition.
  • the growth unit 134 performs a process of growing the node information or edge information corresponding to all of the one or more node identifiers determined by the firing node determination unit 133 using the goal information.
  • the process of growing using the acquired goal information is, for example, the process of extending an edge connected to the node identified by the firing node identifier in the direction of the position indicated by the goal position information included in the acquired goal information.
  • the process of growing using the acquired goal information is, for example, the process of extending an edge connected to the node identified by the firing node identifier in the direction indicated by the goal direction information included in the acquired goal information.
  • the process of extending an edge usually involves setting the position of the edge position information included in the edge information to a position that is farther away from the connected node.
  • the process of extending an edge usually involves setting the position of the edge position information included in the edge information to a position that approaches the position of the goal position information included in the goal information.
  • growth conditions are conditions for growth.
  • the growth conditions are, for example, conditions based on number of times information.
  • the growth conditions are, for example, "the number of firings is more than a threshold”, “the number of firings is more than a threshold”, “the firing frequency is more than a threshold”, “the firing frequency is more than a threshold”.
  • Edge generation processing is, for example, an edge generation process described later, an edge growth process described later, and a node generation process described later. The details of each growth process will be explained below.
  • the growth unit 134 performs, for example, edge generation processing.
  • Edge generation processing can be said to be processing for generating new edges.
  • the edge generation process is a process of generating new edge information and storing it in the NN storage unit 113.
  • the growth unit 134 places each one or more of the one or more node identifiers determined by the firing node determination unit 133 at a position in the direction indicated by the goal information paired with the one state determined by the state determination unit 131. Edge information of edges extending from the node identified by the node identifier is generated and stored.
  • One or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 are one or more node identifiers that match the edge generation condition among the one or more node identifiers determined by the firing node determining section 133. Preferably it is each node identifier. However, one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 may be all the node identifiers determined by the firing node determining unit 133.
  • the process of generating edge information is a process of generating edge information of an edge connected to the node identified by the target node identifier.
  • the process of generating edge information is, for example, acquiring a unique edge identifier and generating edge information that connects the node identified by the target node identifier and other nodes in the direction indicated by the goal information from the node.
  • Such edge information includes, for example, an edge identifier and node identifiers of two nodes to be connected.
  • the process of generating edge information includes, for example, acquiring a unique edge identifier, extending from the node identified by the target node identifier, and specifying the position of the end in the direction indicated by the goal information from the node. This is a process of acquiring edge position information and generating edge information having the edge position information.
  • edge information includes, for example, an edge identifier, a node identifier of a target (to be connected) node, and edge position information that specifies the position of the end of the edge.
  • the edge generation condition is a condition for generating an edge.
  • the edge generation condition is, for example, a condition based on frequency information.
  • the edge generation conditions are, for example, "the number of firings is greater than or equal to a threshold", “the number of firings is greater than a threshold”, “the firing frequency is greater than or equal to a threshold”, and “the firing frequency is greater than a threshold”.
  • the edge generation conditions may be the same as the growth conditions or may be different.
  • the edge generation conditions may be common to all nodes of interest, may be different for each node, or may be different for each edge. If the edge generation condition is different for each node, for example, the node information has the edge generation condition. If the edge generation condition is different for each edge, for example, the edge information has the edge generation condition.
  • the growth unit 134 performs edge generation processing on the node identified by the node identifier corresponding to the information on the number of times the edge generation condition is met.
  • the edge generation process may be one or more of the Dendrites generation process described later and the AXON generation process described later. Further, the edge generation process may include a glial cell generation process, which will be described later. (1-1) Dendrites generation process
  • the growth unit 134 performs, for example, Dendrites generation processing.
  • the Dendrites generation process is a process of generating new Dendrites.
  • the edge generation process may include a process of generating new Dendrites information and storing it in the NN storage unit 113.
  • the growth unit 134 moves each one or more of the one or more node identifiers determined by the firing node determination unit 133 in the direction indicated by the goal information paired with the one state determined by the state determination unit 131.
  • Dendrites information for Dendrites extending from the node identified by the node identifier is generated and stored.
  • One or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 are one or more node identifiers that match the Dendrites generation condition among the one or more node identifiers determined by the firing node determining unit 133. Preferably it is each node identifier. However, one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 may be all the node identifiers determined by the firing node determining unit 133.
  • the process of generating Dendrites information is a process of generating Dendrites information of Dendrites connected to the node identified by the target node identifier.
  • the process of generating Dendrites information includes, for example, acquiring a unique Dendrites identifier, and obtaining Dendrites position information in the direction indicated by the goal information from the node identified by the target node identifier (the node identifier of the node to which the Dendrites are connected). This is a process of acquiring, configuring and storing Dendrites information having the Dendrites identifier and the Dendrites position information.
  • the Dendrites generation condition is a condition for generating Dendrites.
  • the Dendrites generation condition is, for example, a condition based on frequency information.
  • the edge generation conditions are, for example, "the number of firings is greater than or equal to a threshold", “the number of firings is greater than a threshold”, “the firing frequency is greater than or equal to a threshold”, and “the firing frequency is greater than a threshold”.
  • Dendrites generation conditions may be the same as or different from growth conditions. (1-2) AXON generation process
  • the growth unit 134 performs, for example, AXON generation processing.
  • the AXON generation process is a process of generating a new AXON.
  • the edge generation process may include a process of generating new AXON information and storing it in the NN storage unit 113.
  • the growth unit 134 moves each one or more of the one or more node identifiers determined by the firing node determination unit 133 in the direction indicated by the goal information paired with the one state determined by the state determination unit 131.
  • AXON information for the AXON extending from the node identified by the node identifier is generated and stored.
  • One or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 are one or more node identifiers that match the AXON generation condition among the one or more node identifiers determined by the firing node determining section 133. Preferably it is each node identifier. However, one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 may be all the node identifiers determined by the firing node determining unit 133.
  • the process of generating AXON information is a process of generating AXON information of the AXON connected to the node identified by the target node identifier (the node identifier of the node to which the AXON is connected).
  • the process of generating AXON information includes, for example, acquiring a unique AXON identifier, acquiring AXON position information in the direction indicated by the goal information from the node identified by the target node identifier, and then generating the AXON identifier and the AXON position information. This is a process of configuring and storing AXON information having the following information.
  • the AXON generation condition is a condition for generating an AXON.
  • the AXON generation condition is, for example, a condition based on frequency information.
  • the edge generation conditions are, for example, "the number of firings is greater than or equal to a threshold", “the number of firings is greater than a threshold”, “the firing frequency is greater than or equal to a threshold”, and “the firing frequency is greater than a threshold”.
  • the AXON generation conditions may be the same as or different from the growth conditions.
  • the growth unit 134 performs, for example, edge growth processing.
  • Edge growth processing is processing for growing edges.
  • the process of growing an edge is usually a process of increasing the length of the edge.
  • the process of growing an edge may be a process of connecting the edge from the node where the edge appears to another node.
  • the growing unit 134 moves one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 in the direction indicated by the goal information paired with the one state determined by the state determining unit 131.
  • Edge growth processing is performed to acquire and accumulate edge information that is obtained by growing edges extending from the node identified by .
  • One or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 are one or more node identifiers that match the edge growth condition among the one or more node identifiers determined by the firing node determining section 133. Preferably it is the node identifier of the node. However, one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 may be all the node identifiers determined by the firing node determining unit 133.
  • edge information in which an edge extending from a node is grown means that the edge position information possessed by the edge information is set to position information at a position farther away from the node than the end point of the edge indicated by the edge position information. It is.
  • Edge growth conditions are conditions for performing edge growth processing.
  • the edge growth conditions are, for example, conditions based on number of times information.
  • the edge growth conditions are, for example, "the number of firings is greater than or equal to the threshold", “the number of firings is greater than the threshold”, “the firing frequency is greater than or equal to the threshold”, and “the firing frequency is greater than the threshold”.
  • the edge growth conditions may be the same as the growth conditions or may be different. Further, the edge growth conditions may be common to all nodes of interest, may be different for each node, or may be different for each edge. If the edge growth conditions are different for each node, for example, the node information has the edge growth conditions. If the edge growth conditions are different for each edge, for example, the edge information has the edge growth conditions.
  • the process of growing an edge extending from a node involves acquiring position information that specifies the position in the direction indicated by the goal information from the edge position information included in the edge information having the node identifier that identifies the node, and This is a process that converts information into edge position information.
  • edge growth process may be one or more of the Dendrites growth process described later and the AXON growth process described later.
  • the growth unit 134 performs, for example, Dendrites growth processing.
  • the Dendrites growth process is a process for growing Dendrites.
  • the Dendrites growth process may be included in the edge growth process.
  • the process of growing Dendrites is usually a process of increasing the length of the Dendrites.
  • the process of growing Dendrites involves acquiring new Dendrites position information that sets the position of the end point indicated by the Dendrites position information to a position farther from the position of the connected node, for the Dendrites position information included in the Dendrites information of the Dendrites. , is a process of accumulating the new Dendrites position information.
  • the growing unit 134 moves one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 in the direction indicated by the goal information paired with the one state determined by the state determining unit 131.
  • Dendrites information is obtained by growing Dendrites extending from the node identified by , and Dendrites growth processing is performed to accumulate the Dendrites information.
  • One or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 are one or more node identifiers that match the Dendrites growth condition among the one or more node identifiers determined by the firing node determining section 133. Preferably it is the node identifier of the node. However, one or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 may be all the node identifiers determined by the firing node determining section 133.
  • acquiring Dendrites information in which Dendrites extending from a node is grown means to set the Dendrites positional information included in the Dendrites information to positional information at a position farther from the node than the end point of the Dendrites indicated by the Dendrites positional information. It is.
  • Dendrites growth conditions are conditions for performing Dendrites growth processing.
  • the Dendrites growth conditions are, for example, conditions based on number of times information.
  • the Dendrites growth conditions are, for example, "the number of firings is more than a threshold", “the number of firings is more than a threshold”, “the firing frequency is more than a threshold”, “the firing frequency is more than a threshold”.
  • Dendrites growth conditions may be the same as or different from the growth conditions.
  • the process of growing Dendrites extending from a node further acquires positional information in the direction indicated by the goal information from the Dendrites positional information included in the Dendrites information paired with the node identifier that identifies the node, and This is a process to obtain Dendrites position information.
  • the growth unit 134 performs, for example, AXON growth processing.
  • the AXON growth process is a process for growing AXON.
  • the AXON growth process may be included in the edge growth process.
  • the process of growing an AXON is typically a process of increasing the length of the AXON.
  • the process of growing an AXON involves acquiring new AXON position information that is a position farther from the position of the connected node than the end point position indicated by the AXON position information, for the AXON position information included in the AXON information of the AXON. This is a process of accumulating the new AXON position information.
  • the growing unit 134 moves one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 in the direction indicated by the goal information paired with the one state determined by the state determining unit 131.
  • the AXON information obtained by growing the AXON extending from the node identified by is acquired, and AXON growth processing is performed to accumulate it.
  • One or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 are one or more node identifiers that match the AXON growth condition among the one or more node identifiers determined by the firing node determining section 133. Preferably it is the node identifier of the node. However, one or more node identifiers among the one or more node identifiers determined by the firing node determining section 133 may be all the node identifiers determined by the firing node determining section 133.
  • acquiring AXON information in which the AXON extending from a node is grown is achieved by setting the AXON position information included in the AXON information to position information at a position where the end point of the AXON indicated by the AXON position information is further away from the node. be.
  • AXON growth conditions are conditions for performing AXON growth processing.
  • the AXON growth conditions are, for example, conditions based on number of times information.
  • the AXON growth conditions are, for example, "the number of firings is more than a threshold", “the number of firings is more than a threshold”, “the firing frequency is more than a threshold”, “the firing frequency is more than a threshold”.
  • the AXON growth conditions may be the same as the growth conditions or may be different.
  • the process of growing an AXON extending from a node further acquires position information in the direction indicated by the goal information from the AXON position information included in the AXON information paired with the node identifier that identifies the node, and This is a process to obtain AXON position information.
  • the growth unit 134 performs, for example, node generation processing.
  • the node generation process is a process of generating new node information. That is, the growth unit 134 is, for example, a position in the direction indicated by the goal information paired with one state determined by the state determination unit 131, and one of the one or more node identifiers acquired by the firing node determination unit 133.
  • a node generation process is performed to generate and accumulate node information of a new node at a position near the position indicated by the node position information of the node identified by each of the above node identifiers.
  • the growth unit 134 obtains, for example, a new node identifier. Further, the growth unit 134 is, for example, a position in the direction indicated by the goal information paired with one state determined by the state determining unit 131, and a predetermined position relative to the position indicated by the node position information of the target node (firing node). Get new node location information at a distance away. Further, the growth unit 134 acquires, for example, information (for example, firing condition or firing probability information) included in the node information of the target node. Then, the growth unit 134 configures node information having one or more of, for example, a new node identifier, new node position information, and firing condition or firing probability information, and stores it in the NN storage unit 113. Note that the predetermined distance may be a predetermined distance or may be dynamically changed.
  • one or more of the one or more node identifiers is, for example, one or more of the one or more node identifiers included in node information that matches the node generation condition. be.
  • one or more of the one or more node identifiers may be, for example, all of the one or more node identifiers.
  • the node generation condition is a condition for generating a node.
  • the node generation conditions may be the same as the growth conditions or may be different. Further, the node generation conditions may be common to all nodes of interest, or may be different for each node. If the node generation conditions are different for each node, for example, the node information has the node generation conditions. (4) Glial cell generation treatment
  • the growth unit 134 performs the following glial cell generation process.
  • the growth unit 134 collects information on glial cells connected to the element. generate.
  • the element may be AXON or Dendrites.
  • the growth unit 134 generates glial cell information connected to the element. do.
  • the growth unit 134 determines, for example, that the amount of retained energy indicated by the retained energy amount information possessed by the information of each element (node information, edge information, AXON information, or Dendrites information) is It compares the required energy amount indicated by the required energy amount information to determine whether the required energy amount is small enough to satisfy a predetermined condition. If it is determined that the required energy amount is small enough, an identifier (node identifier, edge identifier, AXON identifier or Dendrites identifier) is generated and stored in the storage unit 11.
  • an identifier node identifier, edge identifier, AXON identifier or Dendrites identifier
  • the output unit 14 outputs various information.
  • the various types of information include, for example, the node identifier that fired, the NN information in the NN storage section 113, and the state identifier acquired by the state determining section 131.
  • the various types of information are, for example, information that graphically shows NN information.
  • the processing unit 13 constructs a diagram (for example, a sphere) of the nodes that constitute the NN from each node information included in the NN information, and constructs a diagram (for example, a line) of the edges that constitute the NN from the edge information. .
  • the processing unit 13 places a diagram of a node (for example, a sphere) at a position in the virtual space indicated by the node position information included in each node information, and arranges a diagram of the node (for example, a sphere) at a position in the virtual space indicated by the edge position information included in each edge information.
  • a diagram of an edge e.g., a line
  • a diagram is constructed that clearly shows that the node to which the edge is connected is connected to the diagram of the edge (e.g., a line).
  • output means displaying on a display, projecting using a projector, printing on a printer, outputting sound, sending to an external device, storing on a recording medium, sending to other processing devices or other programs, etc.
  • This is a concept that includes the delivery of processing results.
  • the storage unit 11, the starting point storage unit 111, the goal storage unit 112, and the NN storage unit 113 are preferably non-volatile recording media, but can also be implemented using volatile recording media.
  • information may be stored in the storage unit 11 or the like via a recording medium, or information transmitted via a communication line or the like may be stored in the storage unit 11 or the like.
  • information input via an input device may be stored in the storage unit 11 or the like.
  • the reception unit 12 and the information reception unit 121 may be realized by a device such as a microphone or a camera. Furthermore, the reception unit 12 and the like may be realized by wireless or wired communication means. The receiving unit 12 and the information receiving unit 121 may be realized by a processor, a memory, or the like.
  • the processing unit 13, state determination unit 131, feature acquisition unit 132, firing node determination unit 133, and growth unit 134 can usually be realized by a processor, memory, or the like.
  • the processing procedures of the processing unit 13 and the like are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the processor may be a CPU, MPU, GPU, etc., and its type does not matter.
  • the output unit 14 may or may not include an output device such as a display or a speaker.
  • the output unit 14 may be realized by output device driver software, output device driver software and the output device, or the like.
  • a first example of the operation of the NN growth apparatus 1 is a case where the NN growth apparatus 1 does not include the node determination section 130 described later.
  • Step S201 The information receiving unit 121 determines whether sound information and image information have been received. If the sound information and image information are accepted, the process goes to step S202; if not, the process returns to step S201.
  • Step S202 The state determining unit 131 acquires the sound information accepted in step S201.
  • Step S203 The state determining unit 131 acquires one or more feature information from the sound information acquired in step S202.
  • Step S204 The state determination unit 131 acquires state determination information from the storage unit 11.
  • the state determination unit 131 uses the state determination information and the one or more feature information acquired in step S203 to acquire a state identifier that identifies the state to which the sound information corresponds.
  • Step S205 The feature acquisition unit 132 acquires the image information accepted in step S201.
  • Step S206 The feature acquisition unit 132 acquires one or more feature information using the image information acquired in step S205.
  • Step S207 The growth unit 134 and the like perform a growth process. Return to step S201. An example of the growth process will be explained using the flowchart of FIG. Note that the growth process is a process for constructing neural network information stored in the NN storage unit 113.
  • step S205 of the flowchart in FIG. 2 the feature acquisition unit 132 acquires a partial image for the window determined by the determination unit 130, which will be described later.
  • step S206 the feature acquisition unit 132 extracts one or more Feature information may also be acquired.
  • the node determination unit 130 sequentially acquires partial images for different windows for the image information accepted in step S201 until the information reception unit 121 receives the next image information and sound information in step S201. , it is preferable that the processes from step S205 to step S207 be repeated (looped).
  • the process ends when the power is turned off or an interrupt to end the process occurs.
  • step S207 an example of the growth process in step S207 will be described using the flowchart in FIG. 3.
  • Step S301 The firing node determining unit 133 assigns 1 to the counter i.
  • Step S302 The firing node determining unit 133 determines whether or not the i-th feature information exists among the feature information acquired in step S206. If the i-th feature information exists, the process goes to step S303; if it does not exist, the process returns to the upper level process.
  • the firing node determining unit 133 acquires from the starting point storage unit 111 the node identifier that each of the one or more pieces of firing starting point information that the i-th feature information satisfies has.
  • the firing node determining unit 133 configures firing information including the node identifier and stores it in the storage unit 11. Note that it is preferable that the firing node determining unit 133 obtains timer information indicating the time of firing from a clock (not shown), composes firing information including the timer information and the node identifier, and stores it in the storage unit 11. be.
  • the one or more node identifiers are the identifiers of the nodes that fire first. Moreover, such a node identifier is a firing node identifier.
  • Step S304 The firing node determining unit 133 assigns 1 to the counter j.
  • Step S305 The firing node determining unit 133 determines whether the j-th firing node identifier exists among the firing node identifiers acquired in step S303. If the j-th firing node identifier exists, the process goes to step S306, and if it does not exist, the process goes to step S309.
  • the firing node determining unit 133 performs an update to increase the number of times information included in the node information corresponding to the j-th firing node identifier. For example, the firing node determining unit 133 reads the number of times information included in the node information corresponding to the j-th firing node identifier, and overwrites the number of times information obtained by adding 1 to the number of times information.
  • Step S307 The growth unit 134 performs a growth process corresponding to one node (referred to as a "node of interest") identified by the j-th firing node identifier (referred to as a "node of interest identifier"). Such a growth process is called a single node process. An example of single node processing will be described using the flowchart of FIG. 4.
  • Step S308 The firing node determining unit 133 increments the counter j by 1. Return to step S305.
  • Step S309 The firing node determining unit 133 increments the counter i by 1. Return to step S302.
  • step S307 an example of the single node processing in step S307 will be explained using the flowchart of FIG. 4.
  • Step S401 The growth unit 134 performs a new node generation process for the node of interest identified by the node of interest identifier. An example of such node generation processing will be explained using the flowchart of FIG. 5.
  • Step S402 The growth unit 134 performs processing to generate edges connected to the node of interest. An example of such edge generation processing will be explained using the flowchart of FIG. 7.
  • Step S403 The growing unit 134 performs a growing process on edges connected to the node of interest. An example of such edge growth processing will be explained using the flowchart of FIG. 9.
  • Step S404 The firing node determination unit 133 performs firing transmission processing.
  • An example of the firing transmission process will be described using the flowchart of FIG. 11. Note that the firing transmission process is a process in which characteristic information is transmitted from the node of interest and a node to fire is determined.
  • Step S405 The firing node determining unit 133 assigns 1 to the counter j.
  • Step S406 The firing node determining unit 133 determines whether the j-th firing node identifier exists among the firing node identifiers of the nodes determined to fire in step S404. If the j-th firing node identifier exists, the process advances to step S407; if the j-th firing node identifier does not exist, the process returns to the upper level process.
  • Step S407 The firing node determining unit 133 increases the number of times information paired with the j-th firing node identifier.
  • Step S408 The growth unit 134 and the like perform single node processing with the firing node identified by the j-th firing node identifier as the node of interest.
  • An example of single node processing will be described using the flowchart of FIG. 4.
  • Step S409 The firing node determining unit 133 increments the counter j by 1. Return to step S406.
  • step S401 an example of the node generation process in step S401 will be described using the flowchart of FIG. 5.
  • Step S501 The growth unit 134 acquires node information corresponding to the node identifier of interest from the NN storage unit 113.
  • Step S502 The growth unit 134 acquires node generation conditions.
  • Step S503 The growth unit 134 determines whether the node information acquired in step S501 satisfies the node generation conditions acquired in step S502. If the node generation conditions are met, the process goes to step S504; if the node generation conditions are not met, the process returns to the upper level process.
  • Step S504 The growth unit 134 performs node information generation processing.
  • An example of node information generation processing will be described using the flowchart of FIG. 6.
  • Step S505 The growth unit 134 stores the node information configured in step S504 in the NN storage unit 113. Return to upper level processing.
  • Step S601 The growth unit 134 acquires node position information included in the node of interest information identified by the node of interest identifier.
  • Step S602 The growth unit 134 acquires the goal information corresponding to the state identifier acquired in step S203 from the goal storage unit 112.
  • Step S603 The growth unit 134 uses the node position information acquired in step S601 and the goal information acquired in step S602 to specify the goal information for the position indicated by the node position information acquired in step S601. Obtain node position information indicating the position of the direction. Such node location information is location information of a new node.
  • the growth unit 134 acquires node position information indicating a position that is a predetermined distance away from the position indicated by the node position information acquired in step S601 in the direction specified by the goal information. For example, if there is another node in the direction specified by the goal information from the position indicated by the node position information acquired in step S601, the growth unit 134 moves the goal information from the position indicated by the node position information acquired in step S601. Node position information indicating a position separated from node position information of another node in the specified direction by a distance within a predetermined distance is acquired. In other words, when the growth unit 134 acquires node position information of a new node, it is sufficient to acquire node position information in the direction specified by the goal information, and the node position information does not matter.
  • the growth unit 134 acquires the node identifier of the new node.
  • the growth unit 134 generates new node identifiers.
  • the growth unit 134 may acquire unused node identifiers from the set of node identifiers.
  • Step S605 The growth unit 134 acquires information used for the node information of the new node and included in the node information acquired in step S501.
  • information used for the node information of the new node is, for example, ignition conditions, ignition probability information, and retained energy amount information.
  • Step S606 The growth unit 134 configures node information including the node identifier acquired in step S604, the node position information acquired in step S603, and the information acquired in step S605. Return to upper level processing.
  • Step S701 The growth unit 134 acquires node information identified by the target node identifier from the NN storage unit 113.
  • Step S702 The growth unit 134 acquires edge generation conditions.
  • Step S703 The growth unit 134 determines whether the node information acquired in step S701 satisfies the edge generation condition. If the edge generation conditions are met, the process goes to step S704; if not, the process returns to the upper level process.
  • Step S704 The growth unit 134 performs edge information generation processing.
  • An example of edge information generation processing will be described using the flowchart of FIG. 8.
  • Step S705 The growth unit 134 stores the edge information configured in step S704 in the NN storage unit 113. Return to upper level processing.
  • step S704 an example of the edge information generation process in step S704 will be described using the flowchart of FIG. 8.
  • Step S801 The growth unit 134 acquires goal information corresponding to the state identifier acquired in step S203 from the goal storage unit 112.
  • Step S802 The growth unit 134 acquires edge position information of a new edge using the node position information acquired in step S601 and the goal information acquired in step S801.
  • the growth unit 134 acquires edge position information of an edge extending in the direction of goal information, starting from the node position information. Note that, for example, the distance between the position indicated by the edge position information and the position indicated by the node position information may or may not be determined in advance.
  • the growth unit 134 acquires edge position information indicating a position that is a predetermined distance away from the position indicated by the node position information acquired in step S601 in the direction specified by the goal information. For example, if another node exists in the direction specified by the goal information from the position indicated by the node position information acquired in step S601, the growth unit 134 acquires the node position information of the other node as edge position information. . That is, here, the generated edge is an edge that connects the node corresponding to the node position information acquired in step S601 and the other node.
  • the growth unit 134 may If the distance from the position indicated by the node position information of the node is greater than or equal to the threshold value, the node position information indicating a position a predetermined distance away from the position indicated by the node position information acquired in step S601 is If the distance between the position indicated by the node position information obtained in step S601 and the position indicated by the node position information of another node is less than or equal to a threshold value, the node position information of the other node is set as an edge. Acquired as location information. In other words, the growth unit 134 only needs to acquire edge position information of an edge extending in the direction of the goal information from the node position information as a starting point, and the edge position information does not matter.
  • the growth unit 134 acquires the edge identifier of the new edge. For example, the growing unit 134 generates a new edge identifier. For example, the growth unit 134 acquires unused edge identifiers from a set of edge identifiers.
  • Step S804 The growth unit 134 acquires the node identifier (target node identifier) of the node to which the edge is connected.
  • the growth unit 134 acquires a node identifier that is paired with the node position information acquired in step S601. Further, the growth unit 134 may obtain a node identifier of a newly connected node.
  • Step S805 The growth unit 134 configures edge information having the edge identifier acquired in step S803, the edge position information acquired in step S802, and one or two node identifiers acquired in step S804. Return to upper level processing.
  • the edge corresponding to the generated edge information may be in a situation where there is no node connected to it first, or there may be a node connected to it first.
  • the growth unit 134 sets the node identifier paired with the node position information in the direction of the goal information as the node identifier of the node to be connected to. get. Note that when the growing unit 134 always configures and accumulates edge information such that a generated edge connects two nodes, the edge growing process is usually not performed.
  • step S403 an example of the edge growth process in step S403 will be described using the flowchart of FIG. 9.
  • Step S901 The growth unit 134 acquires node information identified by the target node identifier from the NN storage unit 113.
  • Step S902 The growth unit 134 assigns 1 to the counter i.
  • Step S903 The growth unit 134 determines whether the i-th edge information exists in the NN storage unit 113. If the i-th edge information exists, the process advances to step S904; if it does not exist, the process returns to the upper level process.
  • Step S904 The growth unit 134 acquires the i-th edge information from the NN storage unit 113.
  • Step S905 The growth unit 134 determines whether a node is connected beyond the edge corresponding to the i-th edge information. More specifically, the growth unit 134 determines whether the node identifier included in the i-th edge information is only the node identifier of interest. If there is only the node identifier of interest, the process goes to step S906, and if there is not only the node identifier of interest (if there are two node identifiers), the process goes to step S909. Note that the edge information including only the node of interest identifier is edge information of an edge that is connected to the node of interest and can grow.
  • Step S906 The growth unit 134 acquires edge growth conditions.
  • Step S907 The growth unit 134 determines whether the edge information acquired in step S904 satisfies edge growth conditions. If the edge growth conditions are satisfied, the process goes to step S908; if not, the process goes to step S909.
  • the growth unit 134 may determine whether the node information of the node identified by the node identifier included in the edge information acquired in step S904 satisfies the edge growth condition.
  • Step S908 The growth unit 134 performs edge extension processing.
  • An example of edge extension processing will be explained using the flowchart of FIG. 10.
  • the edge extension process is a process of extending the length of an edge, and is usually a process of changing edge position information or a process of adding a node identifier of a connected node to edge information.
  • Step S909 The growth unit 134 increments the counter i by 1. Return to step S903.
  • the edge growth process may be replaced with a Dendrites growth process for Dendrites that constitute an edge, or an AXON growth process for AXONs.
  • Step S1001 The growth unit 134 acquires edge position information included in the acquired edge information.
  • Step S1002 The growth unit 134 acquires goal information.
  • Step S1003 The growth unit 134 uses the edge position information acquired in step S1001 and the goal information acquired in step S1002 to acquire new edge position information and update the edge position information. Note that the growth unit 134 acquires position information that specifies the position in the direction indicated by the goal information from the edge position information.
  • the growth unit 134 acquires edge position information indicating a position that is a predetermined distance away from the position indicated by the edge position information acquired in step S1001 in the direction specified by the goal information. For example, if there is another node in the direction specified by the goal information from the position indicated by the edge position information acquired in step S1001, the growth unit 134 moves the node from the position indicated by the edge position information to the direction specified by the goal information. Edge position information indicating a position separated from the node position information of another node by a distance within a predetermined distance is acquired.
  • the growth unit 134 acquires the node position information of the other node as the edge position information. .
  • the growth unit 134 acquires new edge position information, it is sufficient to acquire edge position information in the direction specified by the goal information from the current edge position information, and the edge position information does not matter.
  • node position information of another node is acquired as edge position information, this is a case where the edge is connected to another node by edge extension processing, as will be described later.
  • the growth unit 134 may acquire the node identifier of the other node.
  • Step S1004 The growth unit 134 assigns 1 to the counter i.
  • Step S1005 The growth unit 134 determines whether the i-th node information exists in the NN storage unit 113. If the i-th node information exists, the process goes to step S1006; if it does not exist, the process returns to the upper level process.
  • Step S1006 The growth unit 134 acquires node position information included in the i-th node information.
  • Step S1007 The growth unit 134 determines whether the node position information acquired in step S1006 satisfies the connection condition. If the connection conditions are met, the process goes to step S1008; if not, the process goes to step S1011.
  • the connection condition is a condition for connecting an edge to a node.
  • the connection condition is, for example, that the distance between the position indicated by the node position information acquired in step S1006 and the position indicated by the new edge position information acquired in step S1003 is within a threshold value or smaller than the threshold value.
  • Step S1008 The growth unit 134 acquires the node identifier that the i-th node information has.
  • Step S1009 The growth unit 134 changes the edge position information updated in step S1003 to the node position information included in the i-th node information.
  • Step S1010 The growth unit 134 adds the node identifier acquired in step S1008 to the acquired edge information. Return to upper level processing.
  • Step S1011 The growth unit 134 increments the counter i by 1. Return to step S1005.
  • edge extension processing may be replaced with Dendrites extension processing of Dendrites that constitute an edge, or AXON extension processing of AXON.
  • Dendrites expansion processing is a process of expanding Dendrites, and is a process in which edge information is replaced with Dendrites information in the description of the process using FIG. 10.
  • the AXON decompression process is a process of decompressing an AXON, and is a process in which edge information is replaced with AXON information in the description of the process using FIG.
  • step S1010 the process may proceed to step S1011.
  • one edge may branch and be connected to two or more nodes.
  • step S1007 of the flowchart in FIG. 10 the distance between the new edge position information acquired in step S1003 and the node position information of each node is calculated, and whether the node position information of the node with the minimum distance satisfies the connection condition is determined. You may decide whether
  • the firing node determination unit 133 acquires all edge information including the firing node identifier from the NN storage unit 113.
  • Step S1102 The firing node determining unit 133 assigns 1 to the counter i.
  • Step S1103 The firing node determining unit 133 determines whether or not the i-th edge information exists among the edge information acquired in step S1101. If the i-th edge information exists, the process advances to step S1104; if the i-th edge information does not exist, the process returns to the upper level process.
  • Step S1104 The firing node determination unit 133 determines whether a node identifier of another node exists in the i-th edge information. If the node identifier of another node exists, the process goes to step S1105, and if it does not exist, the process goes to step S1112. Note that the node identifier of another node in the edge information is the node identifier of the node to which the edge is connected.
  • Step S1105 The firing node determining unit 133 acquires the node identifier of another node in the i-th edge information. Next, the firing node determination unit 133 acquires node information of the node identified by the node identifier from the NN storage unit 113.
  • Step S1106 The firing node determining unit 133 uses the node information acquired in step S1105 to determine whether the node corresponding to the node information will fire. An example of such firing determination processing will be explained using the flowchart of FIG. 12.
  • Step S1107 If the determination result in step S1106 is "fire”, the firing node determination unit 133 goes to step S1108, and if the determination result is "does not fire", goes to step S1112.
  • Step S1108 The firing node determining unit 133 acquires firing information having the node identifier included in the node information acquired in step S1105, and stores the firing information in the storage unit 11.
  • Step S1109 The firing node determination unit 133 changes the firing probability information included in the node information acquired in step S1105.
  • the firing node determining unit 133 changes the firing probability information so that the firing probability specified by the firing probability information increases.
  • Step S1110 The firing node determining unit 133 determines whether to end the firing transmission (which may also be referred to as information transmission) between nodes. If the transmission is to be terminated, the process advances to step S1112; if the transmission is not to be terminated, the process is to proceed to step S1111. Note that the case where the transmission is terminated is, for example, when the relevant node is the terminal node in the NN.
  • Step S1111 The firing node determining unit 133 performs firing transmission processing with the node as the node of interest. An example of the firing transfer process is shown in FIG.
  • Step S1112 The firing node determining unit 133 increments the counter i by 1. Return to step S1103.
  • the firing node determination unit 133 determines the amount of energy indicated by the retained energy amount information included in the node information that is the source of firing. It is preferable to update the information on the amount of retained energy by subtracting the amount of energy. Note that this may be applied to the retained energy amount information paired with the AXON identifier of the AXON used for transmission, and the retained energy amount information paired with the Dendrites identifier of the Dendrites used for transmission. . Further, it is assumed that a function for reducing the amount of energy is stored in the storage unit 11, for example. Moreover, the function concerned does not matter. Since the function is a well-known technology, detailed explanation will be omitted.
  • the firing node determining unit 133 normally performs processing for passing one or more characteristic information received by the firing source node to the firing destination node.
  • step S1106 an example of the firing determination process in step S1106 will be described using the flowchart of FIG. 12.
  • Step S1201 The firing node determining unit 133 acquires firing conditions corresponding to the node information acquired in step S1105.
  • Step S1202 The firing node determining unit 133 acquires one or more feature information.
  • the one or more pieces of feature information are feature information passed from the node that is the source of firing.
  • Step S1203 The firing node determining unit 133 determines whether the one or more feature information acquired in step S1202 satisfies the firing condition acquired in step S1201. If the firing conditions are met, the process goes to step S1204; if the firing conditions are not met, the process goes to step S1207.
  • Step S1204 The firing node determining unit 133 determines whether the node information of interest has firing probability information. If there is ignition probability information, the process goes to step S1205, and if there is no ignition probability information, the process goes to step S1206.
  • Step S1205 The firing node determining unit 133 acquires firing probability information possessed by the node information of interest. Next, the firing node determining unit 133 uses the firing probability information to determine whether or not to fire. If it fires, the process goes to step S1206, and if it does not fire, the process goes to step S1207.
  • Step S1206 The firing node determining unit 133 assigns "fire" to the determination result. Return to upper level processing.
  • Step S1207 The firing node determining unit 133 substitutes "does not fire" as the determination result. Return to upper level processing.
  • the growth of an infant's brain can be simulated.
  • an infant brain growth model can be realized.
  • the growth of an infant's brain is the growth of nodes, edges, or nodes and edges that constitute a neural network based on image information and sound information.
  • processing in this embodiment may be realized by software. Then, this software may be distributed by software download or the like. Furthermore, this software may be recorded on a recording medium such as a CD-ROM and distributed. Note that this also applies to other embodiments in this specification. Note that the software that implements the NN growth apparatus 1 in this embodiment is the following program.
  • this program includes a NN storage section in which neural network information having two or more pieces of node information having node identifiers and one or more pieces of edge information having edge identifiers specifying connections between nodes is stored; , a start point storage in which one or more firing start point information having an information identifier that identifies characteristic information of image information and one or more node identifiers that identify a node that fires first when the characteristic information is accepted; an information receiving unit that receives image information and sound information; a state determining section that determines one state from the two or more states using the sound information received by the information receiving section; a feature acquisition unit that acquires the above feature information; a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit; determines the node identifier of the node to fire from the start point storage unit; A firing node determining unit that determines a node identifier of a node that is connected by an edge and to which the characteristic information is passed to a no
  • the NN growth apparatus 1 may have the structure shown in the block diagram shown in FIG. 13. That is, the processing section 13 of the NN growth apparatus 1 may also include the window determining section 130.
  • the window determining unit 130 determines a sliding window (hereinafter referred to as a “window” as appropriate) that is a partial area of the still image received by the information receiving unit 121 or a still image forming a moving image. do. Since the window is the area that the infant is paying attention to, it can also be referred to as the area of interest. Furthermore, although it is preferable that the window size be constant, it may vary. Further, the shape of the window is, for example, a rectangle, but other shapes such as an ellipse or a circle may be used.
  • the window determining unit 130 is, for example, a reference point in a still image or a still image that constitutes a moving image received by the information receiving unit 121, and while changing the reference point of the window, the window determining unit 130 determines the window corresponding to the reference point. , are determined sequentially.
  • the reference point of the window is, for example, the center of gravity of the window or a specific end point (for example, the upper left coordinate value).
  • the window determination unit 130 passes, for example, a partial image that is an image within the determined window to the feature acquisition unit 132.
  • the partial image is an image of a partial area of a still image received by the information reception unit 121 or a still image forming a moving image.
  • the window determining unit 130 generates a random number corresponding to the value of X, uses the random number to obtain the value of X, generates a random number corresponding to the value of Y, and uses the random number to obtain the value of Y. Get the value.
  • the window determining unit 130 uses, for example, the previous old reference point (X 1 , Y 1 ), a random number (X R ) corresponding to the value of X, and a random number (Y R ) corresponding to the value of Y, to determine the next The reference point (X 1 +X R , Y 1 +Y R ) or (X 1 -X R , Y 1 -Y R ) is obtained. In such a case, the obtained random number is the amount of change in the reference point.
  • the window determining unit 130 may, for example, regularly acquire new reference points with respect to the previous old reference point.
  • the reference point is, for example, an initial reference point, a first reference point, or a second reference point.
  • the initial reference point is a reference point when initially determining a window from image information.
  • the initial reference point is, for example, the center point of the image information, but it does not matter.
  • the initial reference point may be determined, for example, by obtaining an X coordinate value and a Y coordinate value using random numbers.
  • the first reference point is a point slightly moved from the previously determined reference point (old reference point), and is the reference point for the next window.
  • the amount of change at a slightly moved point is, for example, the value of a generated random number, but it may be fixed and does not matter.
  • the second reference point is a reference point when the firing node satisfies the condition of interest, and is a point slightly moved from the old reference point. Note that the amount of change at the first reference point is greater than the amount of change at the second reference point.
  • the window determining unit 130 acquires, for example, a partial image of the size of the window centered around the reference point from the still images included in the still image or moving image received by the information receiving unit 121.
  • the window determining unit 130 acquires area information (for example, the upper left coordinate value, the lower right coordinate value, the coordinate value and radius of the center point) that specifies the area of the partial image of the size of the window with the reference point as the center. .
  • the process of the window determining unit 130 that determines a window using such random numbers is a process that corresponds to a saccade, which is a movement of the eyeball.
  • the window determining unit 130 determines whether the node identifier of each of the one or more nodes that has fired matches one of the one or more conditions of interest, and determines whether the node identifier of each of the one or more nodes that has fired matches one of the one or more conditions of interest, and If there is a match, the image (here, usually a partial image) that is the source of the firing of the one or more nodes is determined as the window of interest.
  • the window determining unit 130 After determining the window of interest, the window determining unit 130 generates a random number in a small value range, for example, and sets a second reference point corresponding to the old reference point of the window of interest by an amount corresponding to the random number. The process is repeated with the window set as the window of interest.
  • condition of interest is information for determining whether the image is one that infants are attracted to or that they want to see.
  • the condition of interest has, for example, one or more node identifiers.
  • the conditions of interest are, for example, two or more node identifiers (a set of identifiers of node groups) and conditions regarding the threshold of the fired node (for example, ⁇ The proportion of the firing node among the specific node group is equal to or higher than the threshold, or ⁇ A certain number of nodes in a certain group of nodes have fired,'' and ⁇ A number of nodes in a particular group of nodes that are greater than or equal to a threshold have fired.'''
  • the node identifier of the node that fired is the node identifier acquired by the fired node determination unit 133.
  • the window determining unit 130 determines a new window until the transition condition is satisfied.
  • the transition conditions are conditions for using the next image information, etc.
  • the transition conditions are, for example, ⁇ the threshold number of times and window have been determined from the first image information'', ⁇ more than the threshold time or more time than the threshold time has passed since the first image information was received'', ⁇ the next "The image information, etc. has been accepted.”
  • the transition conditions are not a concern.
  • the feature acquisition unit 132 in FIG. 13 uses partial images corresponding to the sliding windows sequentially determined by the window determination unit 130 to acquire one or more feature information for the partial images.
  • the feature acquisition unit 132 is, for example, an area in one piece of image information, and the first partial image in the window determined by the window determining unit 130 and the area in the temporally previous image information of the one image information. , and the second partial image in the window determined by the window determination unit 130, to obtain the amount of movement between the two partial images.
  • This amount of movement is an example of the feature information of the moving image that the feature acquisition unit 132 acquires.
  • the feature acquisition unit 132 acquires a first movement amount, which is a movement amount between a first partial image and a second partial image immediately before the first partial image, and a first movement amount, which is a movement amount between the first partial image and the second partial image immediately before the first partial image, and
  • the second movement amount is the movement amount between the second partial image that is two images before the image
  • the movement amount is the movement amount between the first partial image and the Nth partial image that is N times before the first partial image.
  • the Nth movement amount may be acquired and a movement amount vector (first movement amount, second movement amount, . . . , Nth movement amount) may be configured.
  • This movement amount vector is also an example of the feature information of the moving image that the feature obtaining unit 132 obtains.
  • the amount of movement between images is information that specifies the amount of movement between two images.
  • the amount of movement between images is, for example, a motion vector or an optical flow.
  • the window determining unit 130 can usually be realized by a processor, memory, or the like.
  • the processing procedure of the window determining unit 130 is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the processor may be a CPU, MPU, GPU, etc., and its type does not matter.
  • the NN growth apparatus 1 in FIG. 13 may perform the operation shown in the flowchart shown in FIG. 14, for example.
  • the operation example of the NN growth apparatus 1 shown in FIG. 14 is a case where the node determination unit 130 functions.
  • descriptions of the same steps as in the flowchart of FIG. 2 will be omitted.
  • Step S1401 The window determination unit 130 performs window determination processing. An example of window determination processing will be described using the flowchart of FIG. 15.
  • Step S1402 The feature acquisition unit 132 acquires one or more feature information using the partial image acquired in step S1401.
  • Step S1403 The window determining unit 130 determines whether a transition condition, which is a condition for using the next image information, etc., is satisfied. If the transition conditions are met, the process returns to step S201; if the transition conditions are not satisfied, the process goes to step S1401.
  • step S1401 an example of the window determination process in step S1401 will be described using the flowchart of FIG. 15.
  • Step S1501 The window determining unit 130 determines whether there is an old reference point that is the reference point for the one piece of image information received in S201 and is the reference point of the previously determined window. If the old reference point exists, the process goes to step S1502; if the old reference point does not exist, the process goes to step S1510.
  • Step S1502 The window determining unit 130 assigns 1 to the counter i.
  • Step S1503 The window determining unit 130 determines whether the i-th condition of interest exists in the storage unit 11. If the i-th condition of interest exists, the process goes to step S1504; if it does not exist, the process goes to step S1508.
  • Step S1504 The window determining unit 130 obtains the node identifier of each one or more firing nodes corresponding to the i-th condition of interest.
  • Step S1505 The window determining unit 130 determines whether one or more node identifiers acquired in step S1504 satisfy the i-th condition of interest. If the i-th condition of interest is satisfied, the process goes to step S1506, and if it is not satisfied, the process goes to step S1513.
  • Step S1506 The window determining unit 130 acquires the old reference point.
  • Step S1507 The window determining unit 130 acquires a second reference point based on the old reference point. Go to step S1511. Note that the second reference point is a point slightly moved from the old reference point.
  • Step S1508 The window determining unit 130 acquires the old reference point.
  • Step S1509 The window determining unit 130 obtains a first reference point based on the old reference point. Go to step S1511. Note that the first reference point is a point slightly moved from the old reference point. Further, when determining the first reference point and the second reference point, it is preferable that the distances traveled from the old reference point are different.
  • Step S1510 The window determining unit 130 obtains an initial reference point for one piece of image information. Go to step S1511.
  • the window determining unit 130 uses the acquired reference points to acquire area information that specifies the window area.
  • the acquired reference point is an initial reference point, a first reference point, or a second reference point.
  • Step S1512 The window determining unit 130 acquires a partial image that is an image of the area specified by the area information acquired in step S1511 from the image information received in step S201. Return to upper level processing.
  • Step S1513 The window determining unit 130 increments the counter i by 1. Return to step S1503.
  • Embodiment 2 an information processing device that uses neural network information generated by the NN generation device 1 to acquire a firing pattern for received image information and/or sound information, and outputs information regarding the firing pattern will be described. do.
  • FIG. 16 is a block diagram of the information processing device 2 in this embodiment.
  • the information processing device 2 includes a storage section 21, a reception section 22, a processing section 23, and an output section 24.
  • the storage unit 21 includes a NN storage unit 113.
  • the reception unit 22 includes an information reception unit 221 and a temperature reception unit 222.
  • the processing unit 23 includes a feature acquisition unit 231, an information transmission unit 232, a firing pattern acquisition unit 233, and an output information acquisition unit 234.
  • the output unit 24 includes an information output unit 241.
  • the various types of information are stored in the storage unit 21 that constitutes the information processing device 2.
  • the various types of information include, for example, neural network information, one or more firing start point information, and one or more output management information.
  • the firing starting point information is information having an information identifier that identifies the characteristic information of the reception information, and one or more node identifiers that identify the node that fires first when the characteristic information is received.
  • Reception information is information that the information reception unit 221 receives.
  • the reception information includes image information or sound information.
  • the reception information may be two or more types of information.
  • the reception information may include, for example, tactile information and odor information.
  • Haptic information is information related to the sense of touch.
  • Odor information is information related to odor.
  • the output management information is information having output conditions and output information.
  • the output management information may be information on a pair of output conditions and output information.
  • Output conditions are conditions used to determine output information.
  • the output condition is a condition for output using a firing pattern.
  • the output condition may be the firing pattern itself, or may be information including the firing pattern and output probability information.
  • the output probability information is information regarding the probability for acquiring output information.
  • the output condition may be information on the lower limit of the number of node identifiers included in the firing pattern and the applied firing pattern, information on the lower limit of the ratio of node identifiers included in the firing pattern and the applied firing pattern, or the like.
  • a firing pattern has one or more node identifiers.
  • a firing pattern is a firing pattern of one or more nodes.
  • the output information is information corresponding to the firing pattern.
  • the output information includes, for example, emotional information regarding the emotions of a person (especially an infant), behavioral information regarding the body movements of a person (especially an infant), and the like.
  • the emotional information is, for example, happy, sad, frightened, surprised, etc.
  • the emotion information is, for example, an ID that identifies an emotion.
  • the emotion information may be the state identifier described above.
  • Behavior information is, for example, information reflected in the movement of an avatar (character).
  • the behavior information is, for example, information reflected in the movement of an infant's avatar. Note that the technology for making the avatar move is a known technology, so a detailed explanation will be omitted.
  • the output condition may be a condition using a firing pattern and information regarding one or more external information.
  • External information is external information.
  • External information can also be called user context.
  • External information includes, for example, temperature, weather, smell, sound, and light.
  • Neural network information accumulated by the NN growth device 1 is stored in the NN storage unit 113.
  • the reception unit 22 receives various types of information.
  • the various types of information include, for example, reception information and temperature information.
  • the information reception unit 221 receives reception information.
  • the information receiving unit 221 obtains, for example, image information captured by a camera.
  • the information reception unit 221 may receive sound information acquired by the microphone.
  • acceptance refers to accepting information acquired by devices such as cameras and microphones, receiving information transmitted via wired or wireless communication lines, and reading information from recording media such as optical disks, magnetic disks, and semiconductor memory. This concept includes accepting received information.
  • the temperature receiving unit 222 receives temperature information. Temperature information is information that specifies temperature. The temperature is, for example, the temperature of the external environment.
  • reception refers to the reception of information input from input devices such as microphones, keyboards, mice, touch panels, etc., reception of information transmitted via wired or wireless communication lines, optical disks, magnetic disks, semiconductor memory, etc.
  • This concept includes receiving information read from a recording medium.
  • the processing unit 23 performs various processes.
  • the various processes are, for example, processes performed by the feature acquisition section 231, the information transmission section 232, the firing pattern acquisition section 233, and the output information acquisition section 234.
  • the feature acquisition unit 231 uses the image information received by the information reception unit 221 to acquire one or more feature information for the image information.
  • the processing performed by the feature acquisition unit 231 may be the same as the processing performed by the feature acquisition unit 132.
  • the information transmission unit 232 determines a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit 231 from the one or more firing start point information.
  • Such node identifier is the identifier of the firing node.
  • This node identifier is the identifier of the node that fires in the first stage.
  • the information transmission unit 232 determines the node identifier of the node that is connected by an edge and to which characteristic information is passed to the node identified by each of the determined one or more node identifiers and that fires. do.
  • the information transmission unit 232 performs information transmission processing, which is processing for passing characteristic information from one firing node to the firing node that fires next.
  • the firing node that fires next is a node that is connected to one firing node by one edge, and is the node that is determined to fire.
  • the information transmission unit 232 acquires node information of nodes connected to one firing node by an edge. Next, the information transmission unit 232 determines whether the node information satisfies the firing condition. Then, the information transmission unit 232 configures and stores firing information including the node identifier that node information that satisfies the firing condition has.
  • the information transmission unit 232 determines whether to fire or not fire based on the probability indicated by the firing probability information included in the node information. Then, for example, when the information transmission unit 232 sets the firing condition and determines that firing is to occur based on the probability indicated by the firing probability information, the information transmitting unit 232 configures and stores firing information including the node identifier that the node information has.
  • the information transmission unit 232 increases the firing probability information included in the node information of the firing node. This is because the more a node fires, the more easily the node fires.
  • the firing pattern acquisition unit 233 acquires firing patterns using one or more node identifiers determined by the information transmission unit 232.
  • a firing pattern is a collection of information that specifies one or more firing nodes.
  • a firing pattern is usually information that specifies nodes that fire at the same time.
  • a firing pattern has one or more node identifiers.
  • the firing pattern acquisition unit 233 acquires a firing pattern having one or more node identifiers of the node that finally fired.
  • the node that finally fired is a node that did not transmit information to other nodes connected by an edge, among the nodes that fired.
  • the output information acquisition unit 234 acquires output information corresponding to the firing pattern acquired by the firing pattern acquisition unit 233.
  • the output information acquisition unit 234 refers to one or more pieces of output management information in the storage unit 21 and determines the firing pattern of the output condition that is satisfied by the firing pattern acquired by the firing pattern acquisition unit 233. Then, the output information acquisition unit 234 determines whether or not to acquire the output information based on the probability based on the output probability information paired with the determined firing pattern, and when it is determined to acquire the output information, the output Obtain the output information included in the management information.
  • the output unit 24 outputs various information.
  • the various types of information are, for example, output information.
  • the information output unit 241 outputs the output information acquired by the output information acquisition unit 234.
  • output means displaying on a display, projecting using a projector, printing on a printer, outputting sound, sending to an external device, storing on a recording medium, sending to other processing devices or other programs, etc. This is a concept that includes the delivery of processing results.
  • the storage unit 21 and the NN storage unit 113 are preferably non-volatile recording media, but can also be implemented using volatile recording media.
  • information may be stored in the storage unit 21 or the like via a recording medium, or information transmitted via a communication line or the like may be stored in the storage unit 21 or the like.
  • information input via an input device may be stored in the storage unit 21 or the like.
  • the reception unit 22, the information reception unit 221, and the temperature reception unit 222 for example, operate device drivers for cameras, microphones, wireless or wired communication means, means for receiving broadcasts, input means such as touch panels and keyboards, and device drivers for menu screens. This is realized using control software, etc.
  • the processing unit 23, the feature acquisition unit 231, the information transmission unit 232, the firing pattern acquisition unit 233, and the output information acquisition unit 234 can usually be realized by a processor, memory, or the like.
  • the processing procedures of the processing unit 23 and the like are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the processor may be a CPU, MPU, GPU, etc., and its type does not matter.
  • the output unit 24 and the information output unit 241 may or may not include output devices such as a display and a speaker.
  • the output unit 24 and the like can be realized by output device driver software, output device driver software and the output device, or the like.
  • Step S1701 The information reception unit 221 determines whether reception information has been received. If the reception information is accepted, the process goes to step S1702, and if the reception information is not accepted, the process returns to step S1701.
  • Step S1702 The feature acquisition unit 231 acquires one or more feature information from the reception information received in step S1701.
  • the feature acquisition unit 231 acquires one or more feature information from the image information accepted in step S1701, for example.
  • the feature acquisition unit 231 obtains one or more feature information from the sound information accepted in step S1701, for example.
  • Step S1703 The temperature reception unit 222 acquires temperature information.
  • Step S1704 The information transmission unit 232 performs information transmission processing within the neural network. An example of information transmission processing will be described using the flowchart of FIG. 15.
  • Step S1705 The firing pattern acquisition unit 233 acquires a firing pattern having one or more node identifiers of the node that fired last in step S1704. Note that the node that fired last is a node that fired and did not pass characteristic information to other nodes.
  • Step S1706 The output information acquisition unit 234 acquires output information corresponding to the firing pattern acquired in step S1705.
  • Step S1707 If the output information could be acquired in step S1706, the process goes to step S1708; if it could not be acquired, the process returns to step S1701.
  • Step S1708 The information output unit 241 outputs the information acquired in step S1706. Return to step S1701.
  • the processing section 23 may include the state determining section 131 and the growing section 134 to perform the above-mentioned growth processing.
  • the process is terminated by turning off the power or by an interrupt to terminate the process.
  • step S1704 an example of the information transmission process in step S1704 will be explained using the flowchart of FIG. 18.
  • Step S1801 The information transmission unit 232 assigns 1 to the counter i.
  • Step S1802 The information transmission unit 232 determines whether or not the i-th feature information exists among the feature information acquired in step S1702. If the i-th feature information exists, the process advances to step S1803; if it does not exist, the process returns to the upper level process.
  • the information transmitting unit 232 refers to one or more pieces of firing starting point information in the storage unit 21 and acquires a node identifier included in each of the one or more pieces of firing starting point information that the i-th feature information satisfies.
  • the information transmission unit 232 configures firing information including the node identifier and stores it in the storage unit 21 .
  • the information transmission unit 232 obtains timer information indicating the time of firing from a clock (not shown), composes firing information having the timer information and the node identifier, and stores it in the storage unit 21.
  • the one or more node identifiers are the identifiers of the nodes that fire in the first stage. Moreover, such a node identifier is a firing node identifier. Note that here, the information transmission unit 232 does not need to be able to acquire the firing node identifier.
  • Step S1804 The information transmission unit 232 assigns 1 to the counter j.
  • Step S1805 The information transmission unit 232 determines whether the j-th firing node identifier exists among the firing node identifiers acquired in step S1803. If the j-th firing node identifier exists, the process goes to step S1806, and if it does not exist, the process goes to step S1810.
  • Step S1806 The information transmission unit 232 performs a process of adding the i-th feature information to the node identified by the j-th firing node identifier.
  • the process of adding the i-th feature information to a node is, for example, the process of writing the i-th feature information into the node information of the node, or the process of associating the i-th feature information with the node information of the node.
  • Step S1807 The information transmission unit 232 performs an update to increase the number of times information included in the node information corresponding to the j-th firing node identifier. For example, the information transmitting unit 232 reads the number of times information included in the node information corresponding to the j-th firing node identifier, and overwrites the number of times information obtained by adding 1 to the number of times information.
  • Step S1808 The information transmission unit 232 performs the next transmission process using the j-th firing node identifier as the node identifier of interest. An example of the next transfer process will be described using the flowchart of FIG. 16.
  • next transfer process is a process of passing characteristic information for the node identified by the target node identifier to the node that is connected to the node identified by the target node identifier by an edge, and which fires.
  • the process of passing the feature information is an information transmission process.
  • Step S1809 The information transmission unit 232 increments the counter j by 1. Return to step S1805.
  • Step S1810 The information transmission unit 232 increments the counter i by 1. Return to step S1802.
  • Step S1901 The information transmission unit 232 determines whether the acquired temperature information matches the delay condition. If the delay condition is met, the process goes to step S1902; if the delay condition is not met, the process goes to step S1903.
  • Step S1902 The information transmission unit 232 waits. Note that, although it is preferable that the WAIT time is predetermined, it does not matter.
  • Step S1903 The information transmission unit 232 acquires all edge information including the firing node identifier of interest from the NN storage unit 113.
  • Step S1904 The information transmission unit 232 assigns 1 to the counter i.
  • Step S1905 The information transmission unit 232 determines whether or not the i-th edge information exists among the edge information acquired in step S1901. If the i-th edge information exists, the process goes to step S1906, and if it does not exist, the process returns to the upper level process.
  • Step S1906 The information transmission unit 232 determines whether a node identifier of another node exists in the i-th edge information. If the node identifier of another node exists, the process goes to step S1907; if it does not exist, the process goes to step S1914.
  • the node identifier of another node in the edge information is the node identifier of the node to which the edge is connected. Furthermore, when the node identifier of another node exists in the i-th edge information, this is a case where the edge is connected to two nodes.
  • Step S1907 The information transmission unit 232 acquires the node identifier of another node in the i-th edge information. Next, the information transmission unit 232 obtains node information of the node identified by the node identifier from the NN storage unit 113.
  • Step S1908 The information transmission unit 232 uses the node information acquired in step S1907 to determine whether the node corresponding to the node information will fire. An example of such firing determination processing will be explained using the flowchart of FIG. 17.
  • Step S1909 If the determination result in step S1908 is "fire”, the information transmission unit 232 goes to step S1910; if it is "does not fire”, the information transmission unit 232 goes to step S1914.
  • Step S1910 The information transmission unit 232 acquires firing information having the node identifier included in the node information acquired in step S1907, and stores the firing information in the storage unit 11.
  • Step S1911 The information transmission unit 232 changes the firing probability information included in the node information acquired in step S1907.
  • the information transmission unit 232 changes the firing probability information so that the firing probability specified by the firing probability information increases.
  • Step S1912 The information transmission unit 232 determines whether to end the transmission of information between nodes. If the transmission is to be terminated, the process advances to step S1914; if the transmission is not to be terminated, the process is to proceed to step S1913. Note that the case where the transmission is terminated is, for example, when the relevant node is the terminal node in the NN. Furthermore, when the transmission is to be terminated, the node identifier included in the firing information accumulated in step S1910 immediately before is the node identifier that constitutes the firing pattern.
  • Step S1913 The information transmission unit 232 performs the next transmission process with the node as the node of interest.
  • An example of the next transmission process is shown in FIG.
  • Step S1914 The information transmission unit 232 increments the counter i by 1. Return to step S1905.
  • the information transmission unit 232 calculates the amount of retained energy obtained by subtracting the amount of energy indicated by the amount of retained energy information possessed by the node information that is the source of the ignition. It is preferable to update the information. Note that this may be applied to the retained energy amount information paired with the AXON identifier of the AXON used for transmission, and the retained energy amount information paired with the Dendrites identifier of the Dendrites used for transmission. . Further, it is assumed that a function for reducing the amount of energy is stored in the storage unit 21, for example. Moreover, the function concerned does not matter. Since the function is a well-known technology, detailed explanation will be omitted.
  • Step S2001 The information transmission unit 232 acquires the firing condition corresponding to the node information acquired in step S1905. Note that the firing conditions may be different for each node, or may be common to two or more nodes.
  • Step S2002 The information transmission unit 232 acquires one or more characteristic information.
  • the one or more pieces of feature information here are feature information passed from the node that is the source of firing.
  • Step S2003 The information transmission unit 232 determines whether the one or more feature information acquired in step S2002 satisfies the firing condition acquired in step S2001. If the firing conditions are met, the process goes to step S2004; if the firing conditions are not met, the process goes to step S2007.
  • Step S2004 The information transmission unit 232 determines whether the node information of interest has firing probability information. If there is firing probability information, the process goes to step S2005, and if there is no firing probability information, the process goes to step S2006.
  • Step S2005 The information transmission unit 232 acquires firing probability information possessed by the node information of interest. Next, the information transmission unit 232 uses the ignition probability information to determine whether or not to ignite. If it fires, the process goes to step S2006; if it does not fire, the process goes to step S2007.
  • Step S2006 The information transmission unit 232 substitutes "ignite" for the determination result. Return to upper level processing.
  • Step S2007 The information transmission unit 232 substitutes "do not ignite” for the determination result. Return to upper level processing.
  • the operation of an infant's grown brain can be simulated.
  • the information processing device may realize the growth process performed by the NN growth device 1.
  • the information processing device can output the output information in response to the received reception information while growing the neural network.
  • the information processing device in this case is the information processing device 3.
  • the information processing device 3 includes a state determining section 131 and a growing section 134, which are included in the NN growth device 1. A block diagram of the information processing device 3 in such a case is shown in FIG.
  • the processing of the firing node determining unit 133 of the NN growth device is performed by the information transmitting unit 232. Further, the feature acquisition unit 231 is the same as the feature acquisition unit 132.
  • the software that implements the information processing device 2 in this embodiment is the following program.
  • this program allows a computer that can access the neural network storage section in which the neural network information accumulated by the neural network growth device 1 is stored to receive information that accepts reception information that is one or more of image information or sound information.
  • a reception unit a feature acquisition unit that acquires one or more feature information for the reception information received by the information reception unit, and a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit,
  • One or more firing starting points having a node identifier of a node to fire, an information identifier for identifying characteristic information of reception information, and one or more node identifiers for identifying a node to fire first when the characteristic information is received.
  • a node identifier of a node that is determined from the starting point storage unit where information is stored, is connected by an edge to a node identified by each of the one or more node identifiers, is a node to which the characteristic information is passed, and is to fire.
  • an information transmission unit that determines the firing pattern
  • a firing pattern acquisition unit that acquires a firing pattern using one or more node identifiers determined by the information transmission unit, and output information corresponding to the firing pattern acquired by the firing pattern acquisition unit.
  • This is a program for functioning as an output information acquisition unit that acquires the output information, and an information output unit that outputs the output information.
  • FIG. 22 shows the external appearance of a computer that executes the programs described in this specification and implements the NN growth apparatus 1, information processing apparatus 2, and information processing apparatus 3 of the various embodiments described above.
  • the embodiments described above may be implemented in computer hardware and computer programs executed thereon.
  • FIG. 22 is an overview diagram of this computer system 300
  • FIG. 23 is a block diagram of the system 300.
  • a computer system 300 includes a computer 301 including a CD-ROM drive, a keyboard 302, a mouse 303, a monitor 304, a microphone 305, and a camera 306.
  • the computer 301 includes, in addition to a CD-ROM drive 3012, an MPU 3013, a bus 3014 connected to the CD-ROM drive 3012, a ROM 3015 for storing programs such as a boot-up program, and an MPU 3013. It is connected and includes a RAM 3016 for temporarily storing application program instructions and providing temporary storage space, and a hard disk 3017 for storing application programs, system programs, and data.
  • the computer 301 may further include a network card that provides connection to a LAN.
  • a program that causes the computer system 300 to execute the functions of the NN growth apparatus 1 of the embodiment described above may be stored in the CD-ROM 3101, inserted into the CD-ROM drive 3012, and further transferred to the hard disk 3017. .
  • the program may be transmitted to the computer 301 via a network (not shown) and stored on the hard disk 3017.
  • the program is loaded into RAM 3016 during execution.
  • the program may be loaded directly from CD-ROM 3101 or the network.
  • the program does not necessarily include an operating system (OS) or a third party program that causes the computer 301 to execute the functions of the NN growth apparatus 1 of the above-described embodiment.
  • the program need only contain those parts of the instructions that call the appropriate functions (modules) in a controlled manner to achieve the desired results. How computer system 300 operates is well known and will not be described in detail.
  • processing is performed by hardware. processing) is not included.
  • the number of computers that execute the above program may be a single computer or a plurality of computers. That is, centralized processing or distributed processing may be performed.
  • two or more communication means existing in one device may be physically realized by one medium.
  • each process may be realized by being centrally processed by a single device, or may be realized by being distributed by a plurality of devices.
  • the NN growth device according to the present invention has the effect of being able to simulate the growth of an infant's brain, and is useful as a NN growth device, etc.

Landscapes

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

Abstract

【課題】乳児の脳の成長をシミュレーションできなかった。 【解決手段】画像情報の特徴情報の情報識別子と1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部111と、2以上の各状態に対応するゴールを特定するゴール情報が格納されるゴール格納部112と、受け付けた音情報を用いて一の状態を決定する状態決定部131と、受け付けた画像情報から特徴情報を取得する特徴取得部132と、各特徴情報に対応するノード識別子を始点格納部111から決定し、各ノード識別子で識別されるノードに繋がっており、発火するノードのノード識別子を決定する発火ノード決定部133と、一の状態と対になるゴール情報を取得し、発火ノード決定部133が決定した1以上のノード識別子に対応するノード情報またはエッジ情報を成長させる処理を行う成長部134とを具備するNN成長装置1により、乳児の脳の成長をシミュレーションできる。

Description

NN成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム
 本発明は、脳の成長の仕組みを仮想的に実現する装置であるNN成長装置等に関するものである。
 従来、被験者の脳波を表す脳波信号を取得して処理する脳波信号処理装置があった(例えば、特許文献1、特許文献2参照)。
特開2016-47239号公報 特開2016-52430号公報
 しかしながら、従来技術において、乳児の脳の成長をシミュレーションできなかった。
 本第一の発明のNN成長装置は、ノード識別子を有する2以上のノード情報と、エッジ識別子を有し、ノード間の結合を特定する1以上のエッジ情報とを有するニューラル・ネットワーク情報が格納されるNN格納部と、画像情報の特徴情報を識別する情報識別子と、特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部と、ポジティブおよびネガティブを含む2以上の各状態に対応するゴールを特定するゴール情報が格納されるゴール格納部と、画像情報と音情報とを受け付ける情報受付部と、情報受付部が受け付けた音情報を用いて、2以上の状態から一の状態を決定する状態決定部と、情報受付部が受け付けた画像情報を用いて、画像情報に対する1以上の特徴情報を取得する特徴取得部と、特徴取得部が取得した1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を始点格納部から決定し、1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する発火ノード決定部と、状態決定部が決定した一の状態と対になるゴール情報を取得し、発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子に対応するノード情報またはエッジ情報を、ゴール情報を用いて成長させる処理を行う成長部とを具備するNN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第二の発明のNN成長装置は、第一の発明に対して、情報受付部が受け付けた画像情報が有する静止画から、静止画の一部の領域であるスライディングウィンドウを、順次、決定するウィンドウ決定部をさらに具備し、特徴取得部は、ウィンドウ決定部が、順次、決定したスライディングウィンドウに対応する部分画像を用いて、部分画像に対する1以上の特徴情報を取得するNN成長装置である。
 かかる構成により、乳児の脳の成長をより正確にシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第三の発明のNN成長装置は、第一または第二の発明に対して、特徴情報は、情報を識別する情報識別子と、情報の大きさを示す情報量とを有し、発火ノード決定部は、エッジにより繋がっている他の1以上のノードから渡される1以上の特徴情報が、1または2以上の特徴情報に関する発火条件を満たすか否かを判断し、発火条件を満たすと判断したノードのノード識別子を決定する、NN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第四の発明のNN成長装置は、第一から第三のいずれかの発明に対して、ノード情報は、ノードの位置を特定するノード位置情報を有し、ゴール情報は、ゴールの位置を特定するゴール位置情報、またはゴールの方向を示すゴール方向情報を有し、成長部は、状態決定部が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるエッジに対するエッジ情報を生成し、蓄積するエッジ生成処理を行う、NN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第五の発明のNN成長装置は、第四の発明に対して、発火ノード決定部は、決定したノード識別子の回数に関する回数情報を、ノード識別子に対応付けて蓄積し、成長部は、エッジ生成条件に合致する回数情報に対応するノード識別子で識別されるノードに対して、エッジ生成処理を行う、NN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第六の発明のNN成長装置は、第一から第三のいずれかの発明に対して、ノード情報は、ノードの位置を特定するノード位置情報を有し、ゴール情報は、ゴールの位置を特定するゴール位置情報、またはゴールの方向を示すゴール方向情報を有し、成長部は、状態決定部が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるエッジを成長させたエッジ情報を取得し、蓄積するエッジ成長処理を行う、NN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第七の発明のNN成長装置は、第六の発明に対して、発火ノード決定部は、決定したノード識別子の回数に関する回数情報を、ノード識別子に対応付けて蓄積し、成長部は、エッジ生成条件に合致する回数情報に対応するノード識別子で識別されるノードに対して、エッジ成長処理を行う、NN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第八の発明のNN成長装置は、第一から第七いずれか1つの発明に対して、ノードは、somaであり、エッジは、AXONとDendritesとを有し、エッジ情報は、AXON識別子とAXONの位置を示すAXON位置情報とを有するAXON情報と、Dendrites識別子とDendritesの位置を示すDendrites位置情報とを有するDendrites情報を有する、NN成長装置である。
 かかる構成により、乳児の脳の成長をシミュレーションするための乳児の脳の成長モデルを実現できる。
 また、本第九の発明の情報処理装置は、NN成長装置が蓄積したニューラル・ネットワーク情報が格納されるNN格納部と、画像情報または音情報のうちの1以上の情報である受付情報を受け付ける情報受付部と、情報受付部が受け付けた受付情報に対する1以上の特徴情報を取得する特徴取得部と、特徴取得部が取得した1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を、受付情報の特徴情報を識別する情報識別子と、特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部から決定し、1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する情報伝達部と、情報伝達部が決定した1以上のノード識別子を用いた発火パターンを取得する発火パターン取得部と、発火パターン取得部が取得した発火パターンに対応する出力情報を取得する出力情報取得部と、出力情報を出力する情報出力部とを具備する情報処理装置である。
 かかる構成により、乳児の成長した脳の動作をシミュレーションできる。
 また、本第十の発明の情報処理装置は、第九の発明に対して、温度情報を受け付ける温度受付部をさらに具備し、情報伝達部は、発火したノードから、次に発火するノードに対して発火したノードに対応する特徴情報を渡す処理である情報伝達処理を行い、かつ温度受付部が受け付けた温度情報に応じて、情報伝達処理を行うための処理時間を変える、情報処理装置である。
 かかる構成により、乳児の成長した脳の動作をシミュレーションできる。
 本発明によるNN成長装置によれば、乳児の脳の成長をシミュレーションできる。
実施の形態1におけるNN成長装置1のブロック図 同NN成長装置1の動作例について説明するフローチャート 同成長処理の例について説明するフローチャート 同単一ノード処理の例について説明するフローチャート 同ノード生成処理の例について説明するフローチャート 同ノード情報生成処理の例について説明するフローチャート 同エッジ生成処理の例について説明するフローチャート 同エッジ情報生成処理の例について説明するフローチャート 同エッジ成長処理の例について説明するフローチャート 同エッジ伸長処理の例について説明するフローチャート 同発火伝達処理の例について説明するフローチャート 同発火判断処理の例について説明するフローチャート 同NN成長装置1の第二のブロック図 同NN成長装置1の第二の動作例について説明するフローチャート 同ウィンドウ決定処理の例について説明するフローチャート 実施の形態2における情報処理装置2のブロック図 同情報処理装置2の動作例について説明するフローチャート 同情報伝達処理の例について説明するフローチャート 同次伝達処理の例について説明するフローチャート 同発火判断処理の例について説明するフローチャート 同情報処理装置3のブロック図 上記実施の形態におけるコンピュータシステムの概観図 同コンピュータシステムのブロック図
 以下、NN成長装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 (実施の形態1)
 本実施の形態において、画像情報と音情報とを受け付け、当該音情報を用いてポジティブまたはネガティブ等の状態を判断し、当該判断結果に応じて、画像情報から取得された1以上の特徴情報に基づいて発火するノードを検出し、当該ノードに対応した成長処理を行うNN成長装置について説明する。なお、成長処理は、例えば、エッジ生成処理、エッジ成長処理、ノード生成処理である。
 エッジ生成処理とは、ニューラル・ネットワーク(以下、適宜、「NN」と言う)を構成するエッジを生成する処理である。エッジ成長処理とは、NNを構成するエッジを成長させる処理である。ノード生成処理とは、NNを構成するノードを生成する処理である。なお、ここでのニューラル・ネットワークは、スパイキング・ニューラル・ネットワークであることは好適である。ただし、ニューラル・ネットワークは、ディープ・ニューラル・ネットワーク等の他の種類のニューラル・ネットワークでも良い。つまり、ニューラル・ネットワークの種類は問わない。
 なお、本明細書において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
 図1は、本実施の形態におけるNN成長装置1のブロック図である。NN成長装置1は、格納部11、受付部12、処理部13、および出力部14を備える。格納部11は、始点格納部111、ゴール格納部112、およびNN格納部113を備える。受付部12は、情報受付部121を備える。処理部13は、状態決定部131、特徴取得部132、発火ノード決定部133、および成長部134を備える。
 NN成長装置1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述する発火始点情報、後述するゴール情報、ニューラル・ネットワーク(NN)、後述する1または2以上のグリア細胞情報、後述する1または2以上の結合情報、後述する1または2以上の発火情報、後述する状態決定情報である。
 始点格納部111には、1または2以上の発火始点情報が格納される。始点格納部111には、通常、2以上の発火始点情報が格納される。
 発火始点情報とは、画像情報が受け付けられた場合に、第一段階で発火するノードを特定する情報である。第一段階で発火するノードとは、他のノードを介さずに発火するノードである。発火始点情報は、情報識別子と1以上のノード識別子とを有する。発火始点情報は、初期発火条件と1以上のノード識別子とを有しても良い。
 情報識別子とは、画像情報の特徴情報を識別する情報である。情報識別子とは、画像の特徴量の種類を特定する情報である。情報識別子は、例えば、「R」「G」「B」である。「R」は赤の色を示す情報、「G」は緑の色を示す情報、「B」は青の色を示す情報である。
 初期発火条件とは、第一段階でノードが発火する条件である。初期発火条件は、情報識別子に関する条件である。初期発火条件は、通常、情報識別子を有する。初期発火条件は、例えば、情報識別子と情報量に関する条件である。初期発火条件は、例えば、「<情報識別子>R <条件>情報量>=150」である。初期発火条件は、例えば、「「R」の情報量 >= 150」、「(「R」の情報量 >= 150) & (「G」の情報量 >= 80)」、「(「R」の情報量 >= 150) & (「G」の情報量 >= 80) & (「B」の情報量 >= 120)」である。
 ノード識別子とは、NNを構成するノードを識別する情報である。ノード識別子は、例えば、ノードのID、ノード名である。ノードは、somaと言っても良い。ノード識別子は、soma識別子と言っても良い。
 特徴情報とは、ここでは、画像情報の特徴量である。特徴情報は、例えば、情報識別子、または情報識別子と情報量である。情報識別子とは、特徴情報を識別する情報である。情報量とは、対になる情報識別子で識別される情報の大きさを示す情報である。特徴情報は、例えば、「<情報識別子>R <情報量>150」である。
 ゴール格納部112には、1または2以上のゴール情報が格納される。ゴール格納部112には、通常、2以上のゴール情報が格納される。
 ゴール情報とは、NNを構成するノードまたはエッジが成長する先であるゴールを特定する情報である。ゴール情報は、2以上の状態のうちのいずれかの状態に対応するゴールを特定する情報である。状態は、例えば、感情、脳の内部の状況である。状態は、例えば、ポジティブまたはネガティブである。状態の種類は、ポジティブまたはネガティブのいずれかであることは好適である。ただし、状態の種類は、3以上でも良い。状態の種類が3以上である場合、各状態は、例えば、ポジティブの2以上のいずれかの程度を示す情報、またはネガティブの2以上のいずれかの程度を示す情報である。
 ゴール情報は、ノードまたはエッジが成長する位置を特定する情報である、と言える。ゴール情報は、ゴール位置情報またはゴール方向情報を有する。ゴール情報は、状態識別子に対応する。ゴール位置情報とは、ゴールの位置を特定する情報である。ゴール方向情報とは、ゴールの方向を示す。位置とは、2以上の次元の仮想的な空間における位置である。ゴール情報は、例えば、位置情報である。位置情報は、例えば、三次元の座標値(x,y,z)または二次元の座標値(x,y)または四次元のクオータニオン(x,y,x,w)である。また、ゴール情報が状態識別子に対応することは、決定された状態識別子に対応するゴール情報が、NNの成長のために使用されることである。
 NN格納部113には、ニューラル・ネットワーク情報(以下、適宜、「NN情報」と言う)が格納される。NN情報は、脳を模倣した情報である、と言える。NN情報は、2以上のノード情報と、1以上のエッジ情報とを有する。NN情報は、NNと言う場合がある。
 ノード情報とは、NNを構成するノードの情報である。ノード情報は、ノード識別子を有する。ノード情報は、例えば、ノード位置情報、発火条件、発火確率情報、回数情報を有する。また、ノード情報は、発火に必要なエネルギー量を示す必要エネルギー量情報を有していることは好適である。
 ノード位置情報とは、ノードの位置情報である。上述した通り、位置情報は、例えば、三次元の座標値(x,y,z)または二次元の座標値(x,y)または四次元のクオータニオン(x,y,x,w)である。
 発火条件とは、ノードが発火する条件である。発火条件は、通常、1以上の特徴情報を有する。特徴情報は、情報を識別する情報識別子と、情報の大きさを示す情報量とを有する情報でも良いし、情報の大きさを示す情報量のみの情報でも良い。情報量は、例えば、0より大きい数値である。発火条件は、例えば、「R>=180」、「R>150 & G>=100」、「G<=50 & B <=30」、「R>=250 & G>=250 & B>=250」等である。
 発火確率情報とは、発火する確率に関する情報である。発火確率情報は、発火確率そのものでも良いし、発火確率を関数等で変換した値等でも良い。発火確率情報が参照され、発火確率情報が示す確率で、特徴情報が同じでも、ノードが発火したり、発火しなかったりすることは好適である。
 回数情報とは、発火した回数に基づく情報である。回数情報は、例えば、発火回数、発火頻度(発火割合)である。
 エッジ情報とは、NNを構成するエッジの情報である。エッジ情報は、ノード間の結合を特定する情報である。エッジ情報は、通常、エッジ識別子を有する。エッジ情報は、例えば、エッジが接続する2つの各ノードのノード識別子を有する。エッジ情報は、例えば、接続する一のノードのノード識別子を有する。エッジ情報が一のノード識別子のみを有する場合、当該エッジは、2つのノードを接続する前の成長過程のエッジである。エッジ情報は、例えば、エッジ位置情報を有する。エッジ位置情報とは、エッジの端点の位置を特定する情報である。また、エッジ情報は、エッジが保持しているエネルギー量を示す保有エネルギー量情報を有していることは好適である。
 エッジ情報は、例えば、Dendrites情報とAXON情報とを有する。かかる場合、エッジは、DendritesとAXONとを有する。なお、エッジは、一の線、または2以上の枝分かれした線である、と考えても良い。エッジは、シナプスと言っても良い。
 エッジ識別子とは、エッジを識別する情報である。エッジ識別子は、例えば、エッジのID、エッジの名称である。
 Dendrites情報とは、DENDRITESの情報である。DENDRITESとは、樹状突起とも言い、神経細胞の一部である。 神経細胞が、外部からの刺激や他の神経細胞の軸索(AXON)から送り出される情報を受け取るために、細胞体から 樹木の枝のように分岐した複数の突起である。DENDRITESは、ここではエッジを構成する要素である。DENDRITES情報は、DENDRITES識別子と、DENDRITES位置情報とを有する。
 DENDRITES識別子とは、DENDRITESを識別する情報である。DENDRITES識別子は、例えば、DENDRITESのID、DENDRITESの名称である。
 DENDRITES位置情報とは、DENDRITESの位置を示す位置情報である。DENDRITES位置情報は、DENDRITESの位置を特定する情報であり、例えば、1または2以上の三次元の座標値(x,y,z)、または1または2以上の二次元の座標値(x,y)である。DENDRITES位置情報が2以上の座標値を有する場合、DENDRITESは、2以上の座標値の各点を結び線である。
 また、Dendrites情報は、Dendritesが保持しているエネルギー量を示す保有エネルギー量情報を有していることは好適である。また、Dendrites情報は、Dendritesを利用して情報伝達を行うために必要な必要エネルギー量情報を有していることは好適である。
 AXON情報とは、AXONの情報である。AXONとは、軸索とも言い、細胞体から延びている突起状の構造で、神経細胞において信号の出力を担う。AXONは、ここではエッジを構成する要素である。AXON情報は、AXON識別子と、AXON位置情報とを有する。
 AXON識別子とは、AXONを識別する情報である。AXON識別子は、例えば、AXONのID、AXONの名称である。
 AXON位置情報とは、AXONの位置を示す位置情報である。AXON位置情報は、AXONの位置を特定する情報であり、例えば、1または2以上の三次元の座標値(x,y,z)、または1または2以上の二次元の座標値(x,y)である。AXON位置情報が2以上の座標値を有する場合、AXONは、2以上の座標値の各点を結び線である。
 また、AXON情報は、AXONが保持しているエネルギー量を示す保有エネルギー量情報を有していることは好適である。さらに、AXON情報は、AXONを利用して情報伝達を行うために必要な必要エネルギー量情報を有していることは好適である。
 なお、Dendrites、AXONは枝分かれしても良い。Dendrites、AXONが枝分かれする場合の各々の位置情報は、3または4以上の座標値で表現され得る。ただし、Dendrites位置情報、AXON位置情報の表現方法は問わない。
 格納部11に格納されているグリア細胞情報とは、グリア細胞に関する情報である。なお、グリア細胞情報は、格納部11に存在しなくても良い。
 ここで、グリア細胞とは、神経膠細胞とも呼ばれ、神経系を構成する神経細胞ではない細胞の総称である。グリア細胞は、ニューロンとニューロンの間の空間を埋める糊やセメントのような物質である。
 グリア細胞情報は、グリア細胞を識別するグリア細胞識別子を有することは好適である。グリア細胞情報は、例えば、結合を補佐するノードを識別するノード識別子、または結合を補佐するエッジを識別するエッジ識別子を有する。グリア細胞情報は、例えば、当該グリア細胞が結合を補佐するAXONのAXON識別子、または当該グリア細胞が結合を補佐するDendritesのDendrites識別子を有する。また、グリア細胞情報は、グリア細胞の種類を識別するグリア細胞種類識別子を有しても良い。グリア細胞の種類とは、例えば、oligodendrocites(以下、適宜「oligo」と言う)、またはastrocitesである。なお、oligoは、axonに接続し得る細胞である。astrocitesは、somaまたはDendritesに接続し得る細胞である。また、グリア細胞情報は、グリア細胞位置情報を有することは好適である。グリア細胞位置情報とは、グリア細胞の位置を特定する位置情報である。特に、oligoのグリア細胞情報は、グリア細胞位置情報を有することは好適である。また、グリア細胞情報は、1以上の各手の長さを示す手長情報を有しても良い。また、グリア細胞情報は、グリア細胞から出ている手の数を示す手数情報を有しても良い。そして、通常、各手の手長情報から算出されるグリア細胞の全体の長さが閾値に届いた場合、それ以上、グリア細胞は成長しないことは好適である。
 格納部11に格納されている結合情報とは、2以上のノードの間の結合を特定する情報である。結合情報は、一のノードのAXONと他のノードのDendritesとの結合を特定する情報でも良い。かかる情報も、ノードの間の結合を特定する情報である。結合情報は、一のシナプスと一のスパインとの間の結合を特定する情報でも良い。かかる情報も、ノードの間の結合を特定する情報である。結合情報は、例えば、結合する2つのノード識別子を有する。また、結合情報は、例えば、AXONのAXON識別子と、当該AXONと結合するDendritesのDendrites識別子とを有する。また、結合情報は、例えば、シナプスのシナプス識別子と、当該シナプスとの間で情報伝達を行えるスパインのスパイン識別子とを有する。結合情報は、情報伝達確率情報を有しても良い。情報伝達確率情報は、一のノードと他のノードとの間の情報伝達を行う確率に関する情報である。情報伝達確率情報は、AXONとDendritesとの間の情報伝達を行う確率に関する情報でも良い。かかる場合も、情報伝達確率情報は、一のノードと他のノードとの間の情報伝達を行う確率に関する情報である。また、情報伝達確率情報は、シナプスとスパインとの間の情報伝達を行う確率に関する情報でも良い。かかる場合も、情報伝達確率情報は、一のノードと他のノードとの間の情報伝達を行う確率に関する情報である。なお、ここでノード間の結合方向は、通常、一方向である。
 結合情報は、ノードとAXONとの結合を示す情報でも良い。かかる場合、結合情報は、ノード識別子とAXON識別子とを有する。また、結合情報は、ノードとDendritesとの結合を示す情報でも良い。かかる場合、結合情報は、ノード識別子とDendrites識別子とを有する。
 結合情報は、グリア細胞とAXONまたはDendritesとの間の結合を特定する情報でも良い。かかる場合、結合情報は、例えば、グリア細胞情報を識別するグリア細胞識別子と、AXON識別子とを有する。結合情報は、例えば、グリア細胞識別子と、Dendrites識別子とを有しても良い。
 なお、NNを構成する要素(ノード,エッジ,AXON,Dendrites,グリア細胞,シナプス,またはスパイン)の間の結合を特定する結合情報は、NN格納部113に格納されていても良い。つまり、NNを構成する要素間の結合を特定する結合情報は、各要素の情報の中に含まれていても良い。
 発火情報とは、発火した結果に関する情報である。発火情報は、発火したノードを識別するノード識別子を有する。発火情報は、通常、発火した時を示すタイマー情報を有しても良い。タイマー情報は、相対的な時を示す情報でも良いし、絶対的な時を示す時刻の情報でも良い。なお、発火情報は、蓄積から一定時間経過後、自動的に処理部13により削除されても良い。
 状態決定情報とは、音情報を用いて一の状態を決定するための情報である。状態決定情報は、例えば、音情報に関する条件である音条件と状態識別子とを有する2以上の組である。状態決定情報は、例えば、「<音条件>情報識別子「周波数=X」の情報量>=50 <状態識別子>状態P」「<音条件>情報識別子「周波数=X」の情報量>=80 <状態識別子>状態N」
「<音条件>情報識別子「周波数=Y」の情報量>=50 & 情報識別子「周波数=Z」の情報量>=90 <状態識別子>状態P」である。
 受付部12は、各種の情報を受け付ける。各種の情報とは、例えば、画像情報、音情報である。
 ここで、受け付けとは、カメラやマイクやキーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
 情報受付部121は、例えば、カメラが撮影した画像情報を取得する。情報受付部121は、例えば、マイクが取得した音情報を取得する。つまり、受け付けとは、マイクやカメラなどのデバイスにより取得された情報の受け付けであるが、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
 情報受付部121は、画像情報と音情報とを受け付ける。情報受付部121は、例えば、画像情報と音情報とを同じタイミングで受け付ける。ただし、情報受付部121は、例えば、画像情報と音情報との受け付けは、多少のずれがあっても良い。また、画像情報は、静止画、または動画である。音情報は、例えば、音声データ、楽曲データであるが、音の情報であれば良く、その種類は問わない。
 処理部13は、各種の処理を行う。各種の処理とは、例えば、状態決定部131、特徴取得部132、発火ノード決定部133、成長部134が行う処理である。
 状態決定部131は、情報受付部121が受け付けた音情報を用いて、2以上の状態から一の状態を決定する。状態は、例えば、「ポジティブ(適宜、状態Pと言う)」「ネガティブ(適宜、状態Nと言う)」のいずれかである。状態を決定することは、例えば、状態識別子を取得することである。状態識別子とは、状態を識別する情報である。状態識別子は、例えば、「状態P」または「状態N」である。
 ここで、特徴情報は、例えば、情報識別子と情報量とを有する。状態決定部131は、例えば、受け付けられた音声である音情報を分析し、音声の1以上の特徴情報を取得する。特徴取得部132は、例えば、受け付けられた音情報を音声分析し、「情報識別子(周波数=X),情報量=50」「情報識別子(周波数=Y),情報量=120」等を取得する。なお、かかる情報は、各周波数におけるレベルを示す情報である。
 状態を決定することは、例えば、状態識別子を取得することである。状態識別子とは、状態を識別する情報である。状態識別子は、例えば、「状態P」または「状態N」である。なお、状態を決定することは、通常、状態識別子を取得することである。
 状態決定部131は、例えば、情報受付部121が受け付けた音情報に関する条件である音条件を、2以上の各状態決定情報に含まれる音条件から決定し、当該音条件と対になる状態識別子を取得する。
 状態決定部131は、例えば、情報受付部121が受け付けた音情報を用いて、音情報に対する1以上の特徴情報を取得する。次に、状態決定部131は、例えば、音情報に対する1以上の特徴情報が合致する音条件と対になる一の状態識別子を取得する。
 状態決定部131は、例えば、状態決定情報を用いて、音情報から一の状態を決定する。 態決定部131は、例えば、音情報に対する1以上の特徴情報に合致する音条件と対になる状態識別子を取得する。
 なお、音情報から1以上の特徴情報を取得する処理は、特徴取得部132が行っても良い。
 特徴取得部132は、情報受付部121が受け付けた画像情報を用いて、当該画像情報に対する1以上の特徴情報を取得する。
 ここで、特徴情報は、例えば、情報識別子と情報量とを有する。特徴取得部132は、例えば、受け付けられた画像情報を分析し、当該画像情報の1以上の特徴情報を取得する。特徴取得部132は、例えば、受け付けられた画像情報から情報識別子「R」の情報量、情報識別子「G」の情報量、および情報識別子「B」の情報量を取得する。
 情報識別子「R」の情報量とは、画像の着目領域の「R」の情報の量に関する情報である。情報識別子「R」の情報量は、例えば、画像の着目領域の1または2以上の各画素のRの値の代表値である。情報識別子「R」の情報量は、例えば、画像の着目領域の1または2以上の各画素の中で、Rの値が閾値以上または閾値より大きい画素の数、または割合いである。
 情報識別子「G」の情報量とは、画像の着目領域の「G」の情報の量に関する情報である。情報識別子「G」の情報量は、例えば、画像の着目領域の1または2以上の各画素のGの値の代表値である。情報識別子「G」の情報量は、例えば、画像の着目領域の1または2以上の各画素の中で、Gの値が閾値以上または閾値より大きい画素の数、または割合いである。
 情報識別子「B」の情報量とは、画像の着目領域の「B」の情報の量に関する情報である。情報識別子「B」の情報量は、例えば、画像の着目領域の1または2以上の各画素のBの値の代表値である。情報識別子「B」の情報量は、例えば、画像の着目領域の1または2以上の各画素の中で、Bの値が閾値以上または閾値より大きい画素の数、または割合いである。
 なお、画像の着目領域とは、後述するウィンドウ決定部130が決定したウィンドウであるが、画像情報の全体でも良い。
 また、代表値は、例えば、平均値であるが、中央値等でも良い。
 特徴取得部132は、情報受付部121が受け付けた一の画像情報に対する1以上の特徴情報を取得しても良いし、時間的に連続する2以上の画像情報(動画)に対する1以上の特徴情報を取得しても良い。
 特徴取得部132は、例えば、一の画像情報と、当該一の画像情報の時間的に前の画像情報とを用いて、2つの画像情報間における移動量を取得する。かかる移動量は、特徴取得部132が取得する動画の特徴情報の例である。
 特徴取得部132は、例えば、第一の画像情報と当該第一の画像情報の直前の第二の画像情報との移動量である第一移動量、第一の画像情報と当該第一の画像情報より二つ前の第二の画像情報との移動量である第二移動量、第一の画像情報と当該第一の画像情報よりNだけ前の第Nの画像情報との移動量である第N移動量を取得し、移動量ベクトル(第一移動量,第二移動量,・・・,第N移動量)を構成しても良い。かかる移動量ベクトルも特徴取得部132が取得する動画の特徴情報の例である。
 なお、画像間の移動量とは、2つの画像の間の動きの量を特定する情報である。画像間の移動量は、例えば、動きベクトル、オプティカルフローである。
 発火ノード決定部133は、特徴取得部132が取得した1以上の各特徴情報に対応するノード識別子であり、発火するノードである発火ノードのノード識別子を始点格納部111から決定する。次に、発火ノード決定部133は、かかる1以上の各発火ノードに対して、エッジにより繋がっており、特徴情報が発火ノードから渡されるノードであり、発火するノードのノード識別子を決定する。なお、発火ノードのノード識別子を、適宜、発火ノード識別子と言う。
 発火ノード決定部133は、例えば、エッジにより繋がっている他の1以上のノードから渡される1以上の特徴情報が、発火条件を満たすか否かを判断し、発火条件を満たすと判断したノードのノード識別子を決定する。なお、発火条件は、1または2以上の特徴情報に関する条件である。
 発火ノード決定部133は、決定したノード識別子の回数に関する回数情報を、ノード識別子に対応付けて蓄積することは好適である。回数情報とは、発火した回数に基づく情報であり、例えば、発火回数、発火頻度(発火割合)である。
 成長部134は、成長処理を行う。成長部134は、ここでは、乳児の脳を模倣するNNの成長処理を行う。成長部134は、受け付けられた画像情報と音情報とを用いて、NNの成長処理を行う。成長部134は、受け付けられた画像情報から取得された1以上の特徴情報と、音情報から取得された1以上の特徴情報とを用いて、NNを構成するノードまたはエッジまたはノードとエッジを成長させる処理を行う。
 さらに詳細には、成長部134は、状態決定部131が決定した一の状態と対になるゴール情報を取得し、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子に対応するノード情報またはエッジ情報を、ゴール情報を用いて成長させる処理を行う。
 成長部134は、例えば、状態決定部131が決定した一の状態の状態識別子と対になるゴール情報を取得し、発火ノード決定部133が決定した1以上のノード識別子のうちの成長条件を満たすノード識別子である1以上の各発火ノード識別子に対応するノード情報またはエッジ情報を、取得したゴール情報を用いて成長させる処理を行う。なお、成長条件を満たすノード識別子とは、成長条件を満たすノード情報を識別するノード識別子である。
 成長部134は、例えば、発火ノード決定部133が決定した1以上のノード識別子のうちのすべての各ノード識別子に対応するノード情報またはエッジ情報を、ゴール情報を用いて成長させる処理を行う。
 また、取得したゴール情報を用いて成長させる処理は、例えば、取得したゴール情報が有するゴール位置情報が示す位置の方向に、発火ノード識別子で識別されるノードに繋がるエッジを伸ばす処理である。取得したゴール情報を用いて成長させる処理は、例えば、取得したゴール情報が有するゴール方向情報が示す方向に、発火ノード識別子で識別されるノードに繋がるエッジを伸ばす処理である。なお、エッジを伸ばす処理は、通常、エッジ情報が有するエッジ位置情報の位置を、接続しているノードから遠ざかる位置とすることである。エッジを伸ばす処理は、通常、エッジ情報が有するエッジ位置情報の位置を、ゴール情報が有するゴール位置情報の位置に近づく位置とすることである。
 また、成長条件とは、成長するための条件である。成長条件は、例えば、回数情報に基づく条件である。成長条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。
 なお、成長処理は、例えば、後述するエッジ生成処理、後述するエッジ成長処理、後述するノード生成処理である。以下、各々の成長処理の詳細について説明する。
(1)エッジ生成処理
 成長部134は、例えば、エッジ生成処理を行う。エッジ生成処理とは、新たなエッジを生成する処理であると言える。エッジ生成処理とは、新たなエッジ情報を生成し、NN格納部113に蓄積する処理である。つまり、成長部134は、状態決定部131が決定した一の状態と対になるゴール情報が示す方向の位置に、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるエッジのエッジ情報を生成し、蓄積する。
 発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子とは、発火ノード決定部133が決定した1以上のノード識別子のうちのエッジ生成条件に合致する1以上の各ノード識別子であることは好適である。ただし、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定したすべてのノード識別子でも良い。
 なお、エッジ情報を生成する処理は、対象となるノード識別子で識別されるノードに接続されるエッジのエッジ情報を生成する処理である。エッジ情報を生成する処理は、例えば、ユニークなエッジ識別子を取得し、対象となるノード識別子で識別されるノードと、当該ノードからゴール情報が示す方向の他のノードとを繋げるエッジの情報であり、エッジ識別子を有するエッジ情報を生成する処理である。かかるエッジ情報は、例えば、エッジ識別子と繋げる2つのノードのノード識別子とを有する。エッジ情報を生成する処理は、例えば、ユニークなエッジ識別子を取得し、対象となるノード識別子で識別されるノードから延びて、その終端の位置を当該ノードからゴール情報が示す方向の位置を特定するエッジ位置情報を取得し、当該エッジ位置情報を有するエッジ情報を生成する処理である。かかるエッジ情報は、例えば、エッジ識別子と対象となる(接続する)ノードのノード識別子とエッジの終端の位置を特定するエッジ位置情報とを有する。
 また、エッジ生成条件とは、エッジを生成するための条件である。エッジ生成条件は、例えば、回数情報に基づく条件である。エッジ生成条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。エッジ生成条件は、成長条件と同じでも良いし、異なっていても良い。また、エッジ生成条件は、すべての着目ノードに共通でも良いし、ノードごとに異なっていても良いし、エッジごとに異なっていても良い。エッジ生成条件がノードごとに異なっている場合、例えば、ノード情報がエッジ生成条件を有する。エッジ生成条件がエッジごとに異なっている場合、例えば、エッジ情報がエッジ生成条件を有する。
 成長部134は、エッジ生成条件に合致する回数情報に対応するノード識別子で識別されるノードに対して、エッジ生成処理を行うことは好適である。
 なお、エッジ生成処理は、後述するDendrites生成処理、後述するAXON生成処理のうちの1以上の処理でも良い。また、エッジ生成処理は、後述するグリア細胞生成処理を含んでも良い。
(1-1)Dendrites生成処理
 成長部134は、例えば、Dendrites生成処理を行う。Dendrites生成処理とは、新たなDendritesを生成する処理である。エッジ生成処理は、新たなDendrites情報を生成し、NN格納部113に蓄積する処理を含んでも良い。つまり、成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるDendritesに対するDendrites情報を生成し、蓄積する。
 発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子とは、発火ノード決定部133が決定した1以上のノード識別子のうちのDendrites生成条件に合致する1以上の各ノード識別子であることは好適である。ただし、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定したすべてのノード識別子でも良い。
 なお、Dendrites情報を生成する処理は、対象となるノード識別子で識別されるノードに接続されるDendritesのDendrites情報を生成する処理である。Dendrites情報を生成する処理は、例えば、ユニークなDendrites識別子を取得し、対象となるノード識別子(Dendritesが接続されるノードのノード識別子)で識別されるノードからゴール情報が示す方向のDendrites位置情報を取得し、当該Dendrites識別子と当該Dendrites位置情報とを有するDendrites情報を構成し、蓄積する処理である。
 また、Dendrites生成条件とは、Dendritesを生成するための条件である。Dendrites生成条件は、例えば、回数情報に基づく条件である。エッジ生成条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。Dendrites生成条件は、成長条件と同じでも良いし、異なっていても良い。
(1-2)AXON生成処理
 成長部134は、例えば、AXON生成処理を行う。AXON生成処理とは、新たなAXONを生成する処理である。エッジ生成処理は、新たなAXON情報を生成し、NN格納部113に蓄積する処理を含んでも良い。つまり、成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるAXONに対するAXON情報を生成し、蓄積する。
 発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子とは、発火ノード決定部133が決定した1以上のノード識別子のうちのAXON生成条件に合致する1以上の各ノード識別子であることは好適である。ただし、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定したすべてのノード識別子でも良い。
 なお、AXON情報を生成する処理は、対象となるノード識別子(AXONが接続されるノードのノード識別子)で識別されるノードに接続されるAXONのAXON情報を生成する処理である。AXON情報を生成する処理は、例えば、ユニークなAXON識別子を取得し、対象となるノード識別子で識別されるノードからゴール情報が示す方向のAXON位置情報を取得し、当該AXON識別子と当該AXON位置情報とを有するAXON情報を構成し、蓄積する処理である。
 また、AXON生成条件とは、AXONを生成するための条件である。AXON生成条件は、例えば、回数情報に基づく条件である。エッジ生成条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。AXON生成条件は、成長条件と同じでも良いし、異なっていても良い。
(2)エッジ成長処理
 成長部134は、例えば、エッジ成長処理を行う。エッジ成長処理とは、エッジを成長させる処理である。エッジを成長させる処理は、通常、エッジの長さを長くする処理である。エッジを成長させる処理は、当該エッジが出ているノードから、他のノードに当該エッジを繋げる処理でも良い。成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるエッジを成長させたエッジ情報を取得し、蓄積するエッジ成長処理を行う。
 発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定した1以上のノード識別子のうちのエッジ成長条件に合致する1以上の各ノードのノード識別子であることは好適である。ただし、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定したすべてのノード識別子でも良い。
 なお、ノードから延びるエッジを成長させたエッジ情報を取得することは、当該エッジ情報が有するエッジ位置情報を、当該エッジ位置情報が示すエッジの端点をノードから、より離れる位置の位置情報とすることである。
 エッジ成長条件とは、エッジ成長処理を行うための条件である。エッジ成長条件は、例えば、回数情報に基づく条件である。エッジ成長条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。エッジ成長条件は、成長条件と同じでも良いし、異なっていても良い。また、エッジ成長条件は、すべての着目ノードに共通でも良いし、ノードごとに異なっていても良いし、エッジごとに異なっていても良い。エッジ成長条件がノードごとに異なっている場合、例えば、ノード情報がエッジ成長条件を有する。エッジ成長条件がエッジごとに異なっている場合、例えば、エッジ情報がエッジ成長条件を有する。
 また、ノードから延びるエッジを成長させる処理は、当該ノードを識別するノード識別子を有するエッジ情報に含まれるエッジ位置情報から、さらにゴール情報が示す方向の位置を特定する位置情報を取得し、当該位置情報をエッジ位置情報とする処理である。
 なお、エッジ成長処理は、後述するDendrites成長処理、後述するAXON成長処理のうちの1以上の処理でも良い。
(2-1)Dendrites成長処理
 成長部134は、例えば、Dendrites成長処理を行う。Dendrites成長処理とは、Dendritesを成長させる処理である。Dendrites成長処理は、エッジ成長処理に含まれても良い。Dendritesを成長させる処理は、通常、Dendritesの長さを長くする処理である。Dendritesを成長させる処理は、当該DendritesのDendrites情報が有するDendrites位置情報に対して、当該Dendrites位置情報が示す端点の位置を接続されているノードの位置より離れる位置とする新しいDendrites位置情報を取得し、当該新しいDendrites位置情報を蓄積する処理である。
 成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるDendritesを成長させたDendrites情報を取得し、蓄積するDendrites成長処理を行う。
 発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定した1以上のノード識別子のうちのDendrites成長条件に合致する1以上の各ノードのノード識別子であることは好適である。ただし、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上のノード識別子は、発火ノード決定部133が決定したすべてのノード識別子でも良い。
 なお、ノードから延びるDendritesを成長させたDendrites情報を取得することは、当該Dendrites情報が有するDendrites位置情報を、当該Dendrites位置情報が示すDendritesの端点をノードから、より離れる位置の位置情報とすることである。
 Dendrites成長条件とは、Dendrites成長処理を行うための条件である。Dendrites成長条件は、例えば、回数情報に基づく条件である。Dendrites成長条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。Dendrites成長条件は、成長条件と同じでも良いし、異なっていても良い。
 また、ノードから延びるDendritesを成長させる処理は、当該ノードを識別するノード識別子と対になるDendrites情報に含まれるDendrites位置情報から、さらにゴール情報が示す方向の位置情報を取得し、当該位置情報をDendrites位置情報とする処理である。
(2-2)AXON成長処理
 成長部134は、例えば、AXON成長処理を行う。AXON成長処理とは、AXONを成長させる処理である。AXON成長処理は、エッジ成長処理に含まれても良い。AXONを成長させる処理は、通常、AXONの長さを長くする処理である。AXONを成長させる処理は、当該AXONのAXON情報が有するAXON位置情報に対して、当該AXON位置情報が示す端点の位置より、接続されているノードの位置から離れる位置とする新しいAXON位置情報を取得し、当該新しいAXON位置情報を蓄積する処理である。
 成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向に、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるAXONを成長させたAXON情報を取得し、蓄積するAXON成長処理を行う。
 発火ノード決定部133が決定した1以上のノード識別子のうちの1以上の各ノード識別子は、発火ノード決定部133が決定した1以上のノード識別子のうちのAXON成長条件に合致する1以上の各ノードのノード識別子であることは好適である。ただし、発火ノード決定部133が決定した1以上のノード識別子のうちの1以上のノード識別子は、発火ノード決定部133が決定したすべてのノード識別子でも良い。
 なお、ノードから延びるAXONを成長させたAXON情報を取得することは、当該AXON情報が有するAXON位置情報を、当該AXON位置情報が示すAXONの端点をノードからより離れる位置の位置情報とすることである。
 AXON成長条件とは、AXON成長処理を行うための条件である。AXON成長条件は、例えば、回数情報に基づく条件である。AXON成長条件は、例えば、「発火回数が閾値以上」「発火回数が閾値より多い」「発火頻度が閾値以上」「発火頻度が閾値より多い」である。AXON成長条件は、成長条件と同じでも良いし、異なっていても良い。
 また、ノードから延びるAXONを成長させる処理は、当該ノードを識別するノード識別子と対になるAXON情報に含まれるAXON位置情報から、さらにゴール情報が示す方向の位置情報を取得し、当該位置情報をAXON位置情報とする処理である。
(3)ノード生成処理
 成長部134は、例えば、ノード生成処理を行う。ノード生成処理とは、新しいノード情報を生成する処理である。つまり、成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向の位置であり、発火ノード決定部133が取得した1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードのノード位置情報が示す位置の近隣の位置に新しいノードのノード情報を生成し、蓄積するノード生成処理を行う。
 成長部134は、例えば、新しいノード識別子を取得する。また、成長部134は、例えば、状態決定部131が決定した一の状態と対になるゴール情報が示す方向の位置であり、対象となるノード(発火ノード)のノード位置情報が示す位置と所定距離だけ離れた位置の新しいノード位置情報を取得する。また、成長部134は、例えば、対象となるノードのノード情報が有する情報(例えば、発火条件または発火確率情報)を取得する。そして、成長部134は、例えば、新しいノード識別子、新しいノード位置情報、および発火条件または発火確率情報のうちの1以上の情報を有するノード情報を構成し、NN格納部113に蓄積する。なお、所定距離は、予め決められた距離でも良いし、動的に変わっても良い。
 1以上のノード識別子のうちの1以上の各ノード識別子は、例えば、1以上のノード識別子のうちの、ノード生成条件に合致するノード情報に含まれる1以上の各ノード識別子であることは好適である。ただし、1以上のノード識別子のうちの1以上のノード識別子は、例えば、1以上のノード識別子のうちのすべてのノード識別子であっても良い。
 ノード生成条件とは、ノードを生成するための条件である。ノード生成条件は、成長条件と同じでも良いし、異なっていても良い。また、ノード生成条件は、すべての着目ノードに共通でも良いし、ノードごとに異なっていても良い。ノード生成条件がノードごとに異なっている場合、例えば、ノード情報がノード生成条件を有する。
(4)グリア細胞生成処理
 成長部134は、以下のようなグリア細胞生成処理を行うことは好適である。つまり、例えば、ノード、エッジである要素の保有エネルギー量が、必要エネルギー量に対して、予め決められた条件を満たすほど少なくなった場合、成長部134は、当該要素に接続するグリア細胞情報を生成する。なお、要素は、AXON、またはDendritesでも良い。つまり、成長部134は、AXON、またはDendritesである要素の保有エネルギー量が、必要エネルギー量に対して、予め決められた条件を満たすほど少なくなった場合、当該要素に接続するグリア細胞情報を生成する。
 予め決められた条件とは、例えば、「保有エネルギー量<必要エネルギー量」または「保有エネルギー量<=必要エネルギー量」または「保有エネルギー量-必要エネルギー量<=閾値」または「保有エネルギー量-必要エネルギー量<閾値」である。
 さらに具体的には、成長部134は、例えば、各要素の情報(ノード情報、エッジ情報、AXON情報、またはDendrites情報)が有する保有エネルギー量情報が示す保有エネルギー量が、各要素の情報が有する必要エネルギー量情報が示す必要エネルギー量と比較して、予め決められた条件を満たすほど少ないか否かを判断し、少ないと判断した場合に、当該要素を識別する識別子(ノード識別子、エッジ識別子、AXON識別子、またはDendrites識別子)を有するグリア細胞情報を生成し、格納部11に蓄積する。
 出力部14は、各種の情報を出力する。各種の情報は、例えば、発火したノード識別子、NN格納部113のNN情報、状態決定部131が取得した状態識別子である。
 各種の情報は、例えば、NN情報を図的に示した情報である。かかる場合、処理部13は、NN情報が有する各ノード情報からNNを構成するノードの図(例えば、球)を構成し、エッジ情報からNNを構成するエッジの図(例えば、線)を構成する。また、処理部13は、各ノード情報が有するノード位置情報が示す仮想空間上の位置にノードの図(例えば、球)を配置し、各エッジ情報が有するエッジ位置情報が示す仮想空間上の位置をエッジの端点とするエッジの図(例えば、線)を配置し、かつ、エッジが接続されるノードと当該エッジの図(例えば、線)とが接続さていることを明示する図を構成する。
 ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
 格納部11、始点格納部111、ゴール格納部112、およびNN格納部113は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
 受付部12、および情報受付部121は、マイクやカメラ等のデバイスで実現され得る。また、受付部12等は、無線または有線の通信手段で実現されても良い。受付部12、情報受付部121は、プロセッサやメモリ等から実現されても良い。
 処理部13、状態決定部131、特徴取得部132、発火ノード決定部133、および成長部134は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
 出力部14は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部14は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
 次に、NN成長装置1の動作例について、図2のフローチャートを用いて説明する。NN成長装置1の第一の動作例は、NN成長装置1が後述するノード決定部130を有さない場合である。
 (ステップS201)情報受付部121は、音情報と画像情報とを受け付けたか否かを判断する。音情報と画像情報とを受け付けた場合はステップS202に行き、受け付けなかった場合はステップS201に戻る。
 (ステップS202)状態決定部131は、ステップS201で受け付けられた音情報を取得する。
 (ステップS203)状態決定部131は、ステップS202で取得した音情報から1以上の特徴情報を取得する。
 (ステップS204)状態決定部131は、格納部11から状態決定情報を取得する。状態決定部131は、当該状態決定情報とステップS203で取得した1以上の特徴情報とを用いて、当該音情報が該当する状態を識別する状態識別子を取得する。
 (ステップS205)特徴取得部132は、ステップS201で受け付けられた画像情報を取得する。
 (ステップS206)特徴取得部132は、ステップS205で取得した画像情報を用いて、1以上の特徴情報を取得する。
 (ステップS207)成長部134等は、成長処理を行う。ステップS201に戻る。成長処理の例について、図3のフローチャートを用いて説明する。なお、成長処理とは、NN格納部113に格納されているニューラル・ネットワーク情報を構築する処理である。
 なお、図2のフローチャートのステップS205において、特徴取得部132は、後述する決定部130が決定したウィンドウに対する部分画像を取得し、ステップS206において、特徴取得部132は、当該部分画像から1以上の特徴情報を取得しても良い。かかる場合、ステップS201で情報受付部121が次の画像情報と音情報を受け付けるまで、ノード決定部130は、ステップS201で受け付けられた画像情報に対して、順次、異なるウィンドウに対する部分画像を取得し、ステップS205からステップS207までの処理が繰り返される(ループする)ことは好適である。
 また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、ステップS207の成長処理の例について、図3のフローチャートを用いて説明する。
 (ステップS301)発火ノード決定部133は、カウンタiに1を代入する。
 (ステップS302)発火ノード決定部133は、ステップS206で取得された特徴情報のうち、i番目の特徴情報が存在するか否かを判断する。i番目の特徴情報が存在する場合はステップS303に行き、存在しない場合は上位処理にリターンする。
 (ステップS303)発火ノード決定部133は、i番目の特徴情報が満たす1以上の各発火始点情報が有するノード識別子を始点格納部111から取得する。発火ノード決定部133は、当該ノード識別子を含む発火情報を構成し、格納部11に蓄積する。なお、発火ノード決定部133は、図示しない時計から発火した時を示すタイマー情報を取得し、当該タイマー情報と当該ノード識別子とを有する発火情報を構成し、格納部11に蓄積することは好適である。かかる1以上のノード識別子は、最初に発火するノードの識別子である。また、かかるノード識別子は、発火ノード識別子である。
 (ステップS304)発火ノード決定部133は、カウンタjに1を代入する。
 (ステップS305)発火ノード決定部133は、ステップS303で取得した発火ノード識別子のうち、j番目の発火ノード識別子が存在するか否かを判断する。j番目の発火ノード識別子が存在する場合はステップS306に行き、存在しない場合はステップS309に行く。
 (ステップS306)発火ノード決定部133は、j番目の発火ノード識別子に対応するノード情報が有する回数情報を増加させるための更新を行う。例えば、発火ノード決定部133は、j番目の発火ノード識別子に対応するノード情報が有する回数情報を読み出し、当該回数情報に1を加えた回数情報を、上書きする。
 (ステップS307)成長部134は、j番目の発火ノード識別子(「着目ノード識別子」と言う)で識別される一のノード(「着目ノード」と言う)に対応する成長処理を行う。かかる成長処理を単一ノード処理と言う。単一ノード処理の例について、図4のフローチャートを用いて説明する。
 (ステップS308)発火ノード決定部133は、カウンタjを1、インクリメントする。ステップS305に戻る。
 (ステップS309)発火ノード決定部133は、カウンタiを1、インクリメントする。ステップS302に戻る。
 次に、ステップS307の単一ノード処理の例について、図4のフローチャートを用いて説明する。
 (ステップS401)成長部134は、着目ノード識別子で識別される着目ノードに関して、新しいノードの生成処理を行う。かかるノード生成処理の例について、図5のフローチャートを用いて説明する。
 (ステップS402)成長部134は、着目ノードに接続されるエッジの生成処理を行う。かかるエッジ生成処理の例について、図7のフローチャートを用いて説明する。
 (ステップS403)成長部134は、着目ノードに接続されているエッジの成長処理を行う。かかるエッジ成長処理の例について、図9のフローチャートを用いて説明する。
 (ステップS404)発火ノード決定部133は、発火伝達処理を行う。発火伝達処理の例について、図11のフローチャートを用いて説明する。なお、発火伝達処理とは、着目ノードから特徴情報が伝達されて、発火するノードを決定していく処理である。
 (ステップS405)発火ノード決定部133は、カウンタjに1を代入する。
 (ステップS406)発火ノード決定部133は、ステップS404において発火するとされたノードの発火ノード識別子の中で、j番目の発火ノード識別子が存在するか否かを判断する。j番目の発火ノード識別子が存在する場合はステップS407に行き、存在しない場合は上位処理にリターンする。
 (ステップS407)発火ノード決定部133は、j番目の発火ノード識別子と対になる回数情報を増加させる。
 (ステップS408)成長部134等は、j番目の発火ノード識別子で識別される発火ノードを着目ノードとした単一ノード処理を行う。単一ノード処理の例について、図4のフローチャートを用いて説明する。
 (ステップS409)発火ノード決定部133は、カウンタjを1、インクリメントする。ステップS406に戻る。
 次に、ステップS401のノード生成処理の例について、図5のフローチャートを用いて説明する。
 (ステップS501)成長部134は、着目ノード識別子に対応するノード情報をNN格納部113から取得する。
 (ステップS502)成長部134は、ノード生成条件を取得する。
 (ステップS503)成長部134は、ステップS501で取得したノード情報が、ステップS502で取得したノード生成条件を満たすか否かを判断する。ノード生成条件を満たす場合はステップS504に行き、ノード生成条件を満たさない場合は上位処理にリターンする。
 (ステップS504)成長部134は、ノード情報生成処理を行う。ノード情報生成処理の例について、図6のフローチャートを用いて説明する。
 (ステップS505)成長部134は、ステップS504で構成されたノード情報を、NN格納部113に蓄積する。上位処理にリターンする。
 次に、ステップS504のノード情報生成処理の例について、図6のフローチャートを用いて説明する。
 (ステップS601)成長部134は、着目ノード識別子で識別される着目ノード情報が有するノード位置情報を取得する。
 (ステップS602)成長部134は、ステップS203で取得された状態識別子に対応するゴール情報をゴール格納部112から取得する。
 (ステップS603)成長部134は、ステップS601で取得したノード位置情報とステップS602で取得したゴール情報とを用いて、ステップS601で取得したノード位置情報が示す位置に対して、ゴール情報が特定する方向の位置を示すノード位置情報を取得する。かかるノード位置情報は、新しいノードの位置情報である。
 成長部134は、例えば、ステップS601で取得したノード位置情報が示す位置からゴール情報が特定する方向に、予め決められた距離だけ離れた位置を示すノード位置情報を取得する。成長部134は、例えば、ステップS601で取得したノード位置情報が示す位置からゴール情報が特定する方向に、他のノードが存在する場合、ステップS601で取得したノード位置情報が示す位置からゴール情報が特定する方向の他のノードのノード位置情報との間であり、予め決められた距離以内の距離だけ離れた位置を示すノード位置情報を取得する。つまり、成長部134が新しいノードのノード位置情報を取得する場合に、ゴール情報が特定する方向のノード位置情報を取得すれば良く、そのノード位置情報は問わない。
 (ステップS604)成長部134は、新しいノードのノード識別子を取得する。成長部134は、新しいノード識別子を生成する。ただし、成長部134は、ノード識別子の集合から、未使用のノード識別子を取得しても良い。
 (ステップS605)成長部134は、新しいノードのノード情報に使用する情報であり、ステップS501で取得したノード情報に含まれる情報を取得する。なお、かかる情報は、例えば、発火条件、発火確率情報、保有エネルギー量情報である。
 (ステップS606)成長部134は、ステップS604で取得したノード識別子、ステップS603で取得したノード位置情報、およびステップS605で取得した情報を有するノード情報を構成する。上位処理にリターンする。
 次に、ステップS402のエッジ生成処理の例について、図7のフローチャートを用いて説明する。
 (ステップS701)成長部134は、着目ノード識別子で識別されるノード情報をNN格納部113から取得する。
 (ステップS702)成長部134は、エッジ生成条件を取得する。
 (ステップS703)成長部134は、ステップS701で取得したノード情報がエッジ生成条件を満たすか否かを判断する。エッジ生成条件を満たす場合はステップS704に行き、満たさない場合は上位処理にリターンする。
 (ステップS704)成長部134は、エッジ情報生成処理を行う。エッジ情報生成処理の例について、図8のフローチャートを用いて説明する。
 (ステップS705)成長部134は、ステップS704で構成したエッジ情報をNN格納部113に蓄積する。上位処理にリターンする。
 次に、ステップS704のエッジ情報生成処理の例について、図8のフローチャートを用いて説明する。
 (ステップS801)成長部134は、ステップS203で取得された状態識別子に対応するゴール情報をゴール格納部112から取得する。
 (ステップS802)成長部134は、ステップS601で取得したノード位置情報とステップS801で取得したゴール情報とを用いて、新しいエッジのエッジ位置情報を取得する。成長部134は、ノード位置情報を始点として、ゴール情報の方向に延びるエッジのエッジ位置情報を取得する。なお、例えば、エッジ位置情報が示す位置とノード位置情報が示す位置との距離が予め決まっていても良いし、決まっていなくても良い。
 成長部134は、例えば、ステップS601で取得したノード位置情報が示す位置からゴール情報が特定する方向に、予め決められた距離だけ離れた位置を示すエッジ位置情報を取得する。成長部134は、例えば、ステップS601で取得したノード位置情報が示す位置からゴール情報が特定する方向に、他のノードが存在する場合、当該他のノードのノード位置情報をエッジ位置情報として取得する。つまり、ここでは、生成したエッジが、ステップS601で取得したノード位置情報に対応するノードと、当該他のノードとを接続するエッジとなる。成長部134は、例えば、ステップS601で取得したノード位置情報が示す位置からゴール情報が特定する方向に、他のノードが存在する場合であり、ステップS601で取得したノード位置情報が示す位置と他のノードのノード位置情報が示す位置との距離が閾値以上または閾値より大きい場合には、ステップS601で取得したノード位置情報が示す位置から予め決められた距離だけ離れた位置を示すノード位置情報を取得し、ステップS601で取得したノード位置情報が示す位置と他のノードのノード位置情報が示す位置との距離が閾値より小さい閾値以下である場合には、当該他のノードのノード位置情報をエッジ位置情報として取得する。つまり、成長部134は、ノード位置情報を始点として、ゴール情報の方向に延びるエッジのエッジ位置情報を取得すれば良く、そのエッジ位置情報は問わない。
 (ステップS803)成長部134は、新しいエッジのエッジ識別子を取得する。成長部134は、例えば、新しいエッジ識別子を生成する。成長部134は、例えば、エッジ識別子の集合から未使用のエッジ識別子を取得する。
 (ステップS804)成長部134は、エッジが接続されるノードのノード識別子(着目ノード識別子)を取得する。ここで、成長部134は、ステップS601で取得したノード位置情報と対になるノード識別子を取得する。また、成長部134は、新たに接続されるノードのノード識別子を取得しても良い。
 (ステップS805)成長部134は、ステップS803で取得したエッジ識別子と、ステップS802で取得したエッジ位置情報と、ステップS804で取得した1または2つのノード識別子とを有するエッジ情報を構成する。上位処理にリターンする。
 なお、図8のフローチャートにおいて、生成したエッジ情報に対応するエッジは、先に繋がるノードが存在しない状況でも良いし、先に繋がるノードが存在していても良い。
 生成したエッジ情報に対応するエッジに、先に繋がるノードが存在する場合、成長部134は、ゴール情報の方向の位置のノード位置情報と対になるノード識別子を、繋がる先のノードのノード識別子として取得する。なお、成長部134が、常に、生成されたエッジが2つのノードを接続するようにエッジ情報を構成し、蓄積する場合、通常、エッジ成長処理は行われない。
 次に、ステップS403のエッジ成長処理の例について、図9のフローチャートを用いて説明する。
 (ステップS901)成長部134は、着目ノード識別子で識別されるノード情報をNN格納部113から取得する。
 (ステップS902)成長部134は、カウンタiに1を代入する。
 (ステップS903)成長部134は、i番目のエッジ情報がNN格納部113に存在するか否かを判断する。i番目のエッジ情報が存在する場合はステップS904に行き、存在しない場合は上位処理にリターンする。
 (ステップS904)成長部134は、i番目のエッジ情報をNN格納部113から取得する。
 (ステップS905)成長部134は、i番目のエッジ情報に対応するエッジの先にノードが繋がっているか否かを判断する。さらに具体的には、成長部134は、i番目のエッジ情報が有するノード識別子が着目ノード識別子のみであるか否かを判断する。着目ノード識別子のみである場合はステップS906に行き、着目ノード識別子のみではない場合(2つのノード識別子が存在する場合)はステップS909に行く。なお、着目ノード識別子のみを含むエッジ情報は、着目ノードに接続されており、成長可能なエッジのエッジ情報である。
 (ステップS906)成長部134は、エッジ成長条件を取得する。
 (ステップS907)成長部134は、ステップS904で取得したエッジ情報がエッジ成長条件を満たすか否かを判断する。エッジ成長条件を満たす場合はステップS908に行き、満たさない場合はステップS909に行く。
 なお、ここで、成長部134は、ステップS904で取得したエッジ情報が有するノード識別子で識別されるノードのノード情報がエッジ成長条件を満たすか否かを判断しても良い。
 (ステップS908)成長部134は、エッジ伸長処理を行う。エッジ伸長処理の例について、図10のフローチャートを用いて説明する。
 なお、エッジ伸長処理とは、エッジの長さを伸ばす処理であり、通常、エッジ位置情報の変更の処理、またはエッジ情報に接続先のノードのノード識別子を加える処理である。
 (ステップS909)成長部134は、カウンタiを1、インクリメントする。ステップS903に戻る。
 なお、図9のフローチャートにおいて、エッジ成長処理は、エッジを構成するDendritesのDendrites成長処理、またはAXONのAXON成長処理に置き換えても良い。
 次に、ステップS908のエッジ伸長処理の例について、図10のフローチャートを用いて説明する。
 (ステップS1001)成長部134は、取得されているエッジ情報に含まれるエッジ位置情報を取得する。
 (ステップS1002)成長部134は、ゴール情報を取得する。
 (ステップS1003)成長部134は、ステップS1001で取得したエッジ位置情報とステップS1002で取得したゴール情報とを用いて、新しいエッジ位置情報を取得し、エッジ位置情報を更新する。なお、成長部134は、エッジ位置情報から、ゴール情報が示す方向の位置を特定する位置情報を取得する。
 成長部134は、例えば、ステップS1001で取得したエッジ位置情報が示す位置からゴール情報が特定する方向に、予め決められた距離だけ離れた位置を示すエッジ位置情報を取得する。成長部134は、例えば、ステップS1001で取得したエッジ位置情報が示す位置からゴール情報が特定する方向に、他のノードが存在する場合、当該エッジ位置情報が示す位置からゴール情報が特定する方向の他のノードのノード位置情報との間であり、予め決められた距離以内の距離だけ離れた位置を示すエッジ位置情報を取得する。成長部134は、例えば、ステップS1001で取得したエッジ位置情報が示す位置からゴール情報が特定する方向に、他のノードが存在する場合、当該他のノードのノード位置情報をエッジ位置情報として取得する。つまり、成長部134が新しいエッジ位置情報を取得する場合に、現在のエッジ位置情報からゴール情報が特定する方向のエッジ位置情報を取得すれば良く、そのエッジ位置情報は問わない。なお、他のノードのノード位置情報をエッジ位置情報として取得する場合、後述するように、エッジ伸長処理により、当該エッジが他のノードと接続される場合である。かかる場合、成長部134は、当該他のノードのノード識別子を取得しても良い。
 (ステップS1004)成長部134は、カウンタiに1を代入する。
 (ステップS1005)成長部134は、i番目のノード情報がNN格納部113に存在するか否かを判断する。i番目のノード情報が存在する場合はステップS1006に行き、存在しない場合は上位処理にリターンする。
 (ステップS1006)成長部134は、i番目のノード情報が有するノード位置情報を取得する。
 (ステップS1007)成長部134は、ステップS1006で取得したノード位置情報が接続条件を満たすか否かを判断する。接続条件を満たす場合はステップS1008に行き、満たさない場合はステップS1011に行く。なお、接続条件とは、エッジがノードに接続されるための条件である。接続条件は、例えば、ステップS1006で取得したノード位置情報が示す位置とステップS1003で取得した新しいエッジ位置情報が示す位置との距離が閾値以内または閾値より小さいことである。
 (ステップS1008)成長部134は、i番目のノード情報が有するノード識別子を取得する。
 (ステップS1009)成長部134は、ステップS1003で更新したエッジ位置情報を、i番目のノード情報が有するノード位置情報に変更する。
 (ステップS1010)成長部134は、取得されているエッジ情報に、ステップS1008で取得したノード識別子を付加する。上位処理にリターンする。
 (ステップS1011)成長部134は、カウンタiを1、インクリメントする。ステップS1005に戻る。
 なお、図10のフローチャートにおいて、エッジ伸長処理は、エッジを構成するDendritesのDendrites伸長処理、またはAXONのAXON伸長処理に置き換えても良い。
 Dendrites伸長処理とは、Dendritesを伸長させる処理であり、図10を用いた処理の説明において、エッジ情報をDendrites情報に置き換えた処理である。AXON伸長処理とは、AXONを伸長させる処理であり、図10を用いた処理の説明において、エッジ情報をAXON情報に置き換えた処理である。
 また、図10のフローチャートにおいて、ステップS1010の処理の後、ステップS1011に進んでも良い。かかる場合、一のエッジが枝分かれし、2以上のノードに接続される場合もある。
 また、図10のフローチャートのステップS1007において、ステップS1003で取得した新しいエッジ位置情報と各ノードのノード位置情報との距離を算出し、距離が最小のノードのノード位置情報が接続条件を満たすか否かを判断しても良い。
 次に、ステップS404の発火伝達処理の例について、図11のフローチャートを用いて説明する。
 (ステップS1101)発火ノード決定部133は、発火ノード識別子を含むすべてのエッジ情報をNN格納部113から取得する。
 (ステップS1102)発火ノード決定部133は、カウンタiに1を代入する。
 (ステップS1103)発火ノード決定部133は、ステップS1101で取得したエッジ情報の中で、i番目のエッジ情報が存在するか否かを判断する。i番目のエッジ情報が存在する場合はステップS1104に行き、存在しない場合は上位処理にリターンする。
 (ステップS1104)発火ノード決定部133は、i番目のエッジ情報の中に、他のノードのノード識別子が存在するか否かを判断する。他のノードのノード識別子が存在する場合はステップS1105に行き、存在しない場合はステップS1112に行く。なお、エッジ情報の中の他のノードのノード識別子は、当該エッジの接続先のノードのノード識別子である。
 (ステップS1105)発火ノード決定部133は、i番目のエッジ情報の中の他のノードのノード識別子を取得する。次に、発火ノード決定部133は、当該ノード識別子で識別するノードのノード情報をNN格納部113から取得する。
 (ステップS1106)発火ノード決定部133は、ステップS1105で取得したノード情報を用いて、当該ノード情報に対応するノードが発火するか否かを判断する。かかる発火判断処理の例について、図12のフローチャートを用いて説明する。
 (ステップS1107)発火ノード決定部133は、ステップS1106における判断結果が「発火する」であった場合はステップS1108に行き、「発火しない」であった場合はステップS1112に行く。
 (ステップS1108)発火ノード決定部133は、ステップS1105で取得したノード情報が有するノード識別子を有する発火情報を取得し、当該発火情報を格納部11に蓄積する。
 (ステップS1109)発火ノード決定部133は、ステップS1105で取得したノード情報が有する発火確率情報を変更する。ここで、発火ノード決定部133は、発火確率情報が特定する発火確率が増加するように、発火確率情報を変更する。
 (ステップS1110)発火ノード決定部133は、ノード間の発火の伝達(情報の伝達と言っても良い)を終了するか否かを判断する。伝達を終了する場合はステップS1112に行き、伝達を終了しない場合はステップS1111に行く。なお、伝達を終了する場合は、例えば、当該ノードが、NNの中の終端のノードである場合である。
 (ステップS1111)発火ノード決定部133は、当該ノードを着目ノードとした発火伝達処理を行う。発火伝達処理の例は、図11である。
 (ステップS1112)発火ノード決定部133は、カウンタiを1、インクリメントする。ステップS1103に戻る。
 なお、図11のフローチャートにおいて、発火ノード決定部133は、ノード間の発火の伝達(情報の伝達)を行った場合に、発火の元になったノード情報が有する保有エネルギー量情報が示すエネルギー量を減じた保有エネルギー量情報に更新することは好適である。なお、かかることは、伝達のために利用したAXONのAXON識別子と対になる保有エネルギー量情報、および伝達のために利用したDendritesのDendrites識別子と対になる保有エネルギー量情報に適用しても良い。また、エネルギー量を減じるための関数は、例えば、格納部11に格納されている、とする。また、当該関数は問わない。関数は、公知技術であるので、詳細な説明は省略する。
 また、図11のフローチャートにおいて、発火ノード決定部133は、通常、発火元のノードが受け付けた1以上の特徴情報を、発火する先のノードに渡すための処理を行う。
 次に、ステップS1106の発火判断処理の例について、図12のフローチャートを用いて説明する。
 (ステップS1201)発火ノード決定部133は、ステップS1105で取得されたノード情報に対応する発火条件を取得する。
 (ステップS1202)発火ノード決定部133は、1以上の特徴情報を取得する。なお、1以上の特徴情報は、発火の元になるノードから渡された特徴情報である。
 (ステップS1203)発火ノード決定部133は、ステップS1202で取得した1以上の特徴情報がステップS1201で取得した発火条件を満たすか否かを判断する。発火条件を満たす場合はステップS1204に行き、発火条件を満たさない場合はステップS1207に行く。
 (ステップS1204)発火ノード決定部133は、着目するノード情報が発火確率情報を有するか否かを判断する。発火確率情報を有する場合はステップS1205に行き、発火確率情報を有さない場合はステップS1206に行く。
 (ステップS1205)発火ノード決定部133は、着目するノード情報が有する発火確率情報を取得する。次に、発火ノード決定部133は、当該発火確率情報を用いて、発火するか否かを判断する。発火する場合はステップS1206に行き、発火しない場合はステップS1207に行く。
 (ステップS1206)発火ノード決定部133は、判断結果に「発火する」を代入する。上位処理にリターンする。
 (ステップS1207)発火ノード決定部133は、判断結果に「発火しない」を代入する。上位処理にリターンする。
 以上、本実施の形態によれば、乳児の脳の成長をシミュレーションできる。つまり、本実施の形態によれば、乳児の脳の成長モデルを実現できる。なお、乳児の脳の成長とは、画像情報と音情報とに基づいて、ニューラル・ネットワークを構成するノード、またはエッジ、またはノードとエッジとが成長することである。
 なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるNN成長装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、ノード識別子を有する2以上のノード情報と、エッジ識別子を有し、ノード間の結合を特定する1以上のエッジ情報とを有するニューラル・ネットワーク情報が格納されるNN格納部と、画像情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部と、ポジティブおよびネガティブを含む2以上の各状態に対応するゴールを特定するゴール情報が格納されるゴール格納部とにアクセス可能なコンピュータを、画像情報と音情報とを受け付ける情報受付部と、前記情報受付部が受け付けた前記音情報を用いて、前記2以上の状態から一の状態を決定する状態決定部と、前記情報受付部が受け付けた前記画像情報を用いて、当該画像情報に対する1以上の特徴情報を取得する特徴取得部と、前記特徴取得部が取得した前記1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を前記始点格納部から決定し、当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、前記特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する発火ノード決定部と、前記状態決定部が決定した前記一の状態と対になる前記ゴール情報を取得し、前記発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子に対応するノード情報またはエッジ情報を、当該ゴール情報を用いて成長させる処理を行う成長部として機能させるためのプログラムである。
 また、本実施の形態において、NN成長装置1は、図13に示すブロック図の構造でも良い。つまり、NN成長装置1の処理部13は、ウィンドウ決定部130をも備えても良い。
 ウィンドウ決定部130は、情報受付部121が受け付けた静止画または動画を構成する静止画から、当該静止画の一部の領域であるスライディングウィンドウ(以下、適宜、「ウィンドウ」と言う。)を決定する。ウィンドウは、乳児が着目して見ている領域であるので、着目領域と言っても良い。また、ウィンドウのサイズは一定であることは好適であるが、変化しても良い。また、ウィンドウの形状は、例えば、矩形であるが、楕円、円等の他の形状でも良い。
 ウィンドウ決定部130は、例えば、情報受付部121が受け付けた静止画または動画を構成する静止画の中の基準点であり、ウィンドウの基準点を、変更しながら、当該基準点に対応するウィンドウを、順次、決定する。なお、ウィンドウの基準点は、例えば、ウィンドウの重心点、特定の端点(例えば、左上座標値)である。
 ウィンドウ決定部130は、例えば、決定したウィンドウ内の画像である部分画像を、特徴取得部132に渡す。部分画像は、情報受付部121が受け付けた静止画または動画を構成する静止画から、当該静止画の一部の領域の画像である。
 ウィンドウ決定部130は、例えば、Xの値に対応する乱数を発生させ、当該乱数を用いてXの値を取得し、かつYの値に対応する乱数を発生させ、当該乱数を用いてYの値を取得する。ウィンドウ決定部130は、例えば、直前の旧基準点(X,Y)とXの値に対応する乱数(X)、Yの値に対応する乱数(Y)とを用いて、次の基準点(X+X,Y+Y)、または(X-X,Y-Y)を取得する。かかる場合、取得した乱数は、基準点の変化量である。なお、ウィンドウ決定部130は、例えば、直前の旧基準点に対して、規則的に新しい基準点を取得しても良い。
 基準点は、例えば、初期基準点、第一基準点、第二基準点のいずれかである。初期基準点とは、画像情報からウィンドウを最初に決定する際の基準点である。初期基準点は、例えば、画像情報の中心点であるが、問わない。初期基準点は、例えば、X座標値とY座標値を乱数により取得することにより、決定されても良い。第一基準点とは、先に決定された基準点(旧基準点)から少し移動した点であり、次のウィンドウの基準点である。少し移動した点における変化量は、例えば、発生させた乱数の値であるが、固定でも良く、問わない。第二基準点は、発火ノードが着目条件を満たす場合の基準点であり、旧基準点から少し移動させて点である。なお、第一基準点における変化量の方が、第二基準点における変化量より大きい。
 ウィンドウ決定部130は、例えば、基準点を中心とし、ウィンドウのサイズの部分画像を、情報受付部121が受け付けた静止画または動画を構成する静止画から取得する。ウィンドウ決定部130は、例えば、基準点を中心とし、ウィンドウのサイズの部分画像の領域を特定する領域情報(例えば、左上座標値と右下座標値、中心点の座標値と半径)を取得する。
 かかる乱数を用いてウィンドウを決定するウィンドウ決定部130の処理は、眼球の動きであるサッケードに対応する処理である。
 ウィンドウ決定部130は、例えば、発火した1または2以上の各ノードのノード識別子が、1または2以上の着目条件のうちのいずれかの着目条件に合致したか否かを判断し、着目条件に合致した場合に、当該1以上のノードの発火の元になった画像(ここでは、通常、部分画像)を着目ウィンドウに決定する。着目ウィンドウを決定した後は、ウィンドウ決定部130は、例えば、小さい値の範囲の乱数を発生させ、着目ウィンドウの旧基準点に対して、当該乱数の分だけ移動させた第二基準点に対応するウィンドウを決定し、当該ウィンドウを着目ウィンドウとする処理を繰り返す。
 なお、着目条件とは、乳児がひっかかる画像、または見たい画像であることを決定するための情報である。着目条件は、例えば、1または2以上のノード識別子を有する。着目条件は、例えば、2以上のノード識別子(ノード群の識別子の集合)と、発火したノードの閾値に関する条件(例えば、「特定のノード群の中で、閾値以上の割合い、または閾値より多い割合いのノードが発火したこと」「特定のノード群の中で、閾値以上の数、または閾値より多い数のノードが発火したこと」)とを有する。
 なお、発火したノードのノード識別子は、発火ノード決定部133が取得したノード識別子である。
 ウィンドウ決定部130は、例えば、移行条件を満たすに至るまで、新たなウィンドウを決定することは好適である。移行条件とは、次の画像情報等を使用するための条件である。移行条件は、例えば、「一の画像情報から閾値回数、ウィンドウを決定したこと」、「一の画像情報を受け付けてから閾値時間以上または閾値時間より多くの時間が経過したこと」、「次の画像情報等が受け付けられたこと」である。ただし、移行条件は、問わない。
 図13における特徴取得部132は、例えば、ウィンドウ決定部130が、順次、決定したスライディングウィンドウに対応する部分画像を用いて、当該部分画像に対する1以上の特徴情報を取得する。
 特徴取得部132は、例えば、一の画像情報の中の領域であり、ウィンドウ決定部130が決定したウィンドウにおける第一の部分画像と、当該一の画像情報の時間的に前の画像情報の中の領域であり、ウィンドウ決定部130が決定したウィンドウにおける第二の部分画像とを用いて、2つの部分画像間における移動量を取得する。かかる移動量は、特徴取得部132が取得する動画の特徴情報の例である。
 特徴取得部132は、例えば、第一の部分画像と当該第一の部分画像の直前の第二の部分画像との移動量である第一移動量、第一の部分画像と当該第一の部分画像より二つ前の第二の部分画像との移動量である第二移動量、第一の部分画像と当該第一の部分画像よりNだけ前の第Nの部分画像との移動量である第N移動量を取得し、移動量ベクトル(第一移動量,第二移動量,・・・,第N移動量)を構成しても良い。かかる移動量ベクトルも特徴取得部132が取得する動画の特徴情報の例である。
 なお、画像間の移動量とは、2つの画像の間の動きの量を特定する情報である。画像間の移動量は、例えば、動きベクトル、オプティカルフローである。
 ウィンドウ決定部130は、通常、プロセッサやメモリ等から実現され得る。ウィンドウ決定部130の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
 図13におけるNN成長装置1は、例えば、図14に示すフローチャートの動作を行っても良い。図14に示すNN成長装置1の動作例は、ノード決定部130が機能する場合である。図14のフローチャートにおいて、図2のフローチャートと同一のステップについて、説明を省略する。
 (ステップS1401)ウィンドウ決定部130は、ウィンドウ決定処理を行う。ウィンドウ決定処理の例について、図15のフローチャートを用いて説明する。
 (ステップS1402)特徴取得部132は、ステップS1401で取得した部分画像を用いて、1以上の特徴情報を取得する。
 (ステップS1403)ウィンドウ決定部130は、次の画像情報等を使用するための条件である移行条件を満たすか否かを判断する。移行条件を満たす場合はステップS201に戻り、移行条件を満たさない場合はステップS1401に行く。
 次に、ステップS1401のウィンドウ決定処理の例について、図15のフローチャートを用いて説明する。
 (ステップS1501)ウィンドウ決定部130は、S201で受け付けられた一の画像情報に対する基準点であり、先に決定したウィンドウの基準点である旧基準点が存在するか否かを判断する。旧基準点が存在する場合はステップS1502に行き、旧基準点が存在しない場合はステップS1510に行く。
 (ステップS1502)ウィンドウ決定部130は、カウンタiに1を代入する。
 (ステップS1503)ウィンドウ決定部130は、i番目の着目条件が格納部11に存在するか否かを判断する。i番目の着目条件が存在する場合はステップS1504に行き、存在しない場合はステップS1508に行く。
 (ステップS1504)ウィンドウ決定部130は、i番目の着目条件に対応する1または2以上の各発火ノードのノード識別子を取得する。
 (ステップS1505)ウィンドウ決定部130は、ステップS1504で取得した1以上のノード識別子が、i番目の着目条件を満たすか否かを判断する。i番目の着目条件を満たす場合はステップS1506に行き、満たさない場合はステップS1513に行く。
 (ステップS1506)ウィンドウ決定部130は、旧基準点を取得する。
 (ステップS1507)ウィンドウ決定部130は、旧基準点に基づく第二基準点を取得する。ステップS1511に行く。なお、第二基準点は、旧基準点から少し移動した位置の点である。
 (ステップS1508)ウィンドウ決定部130は、旧基準点を取得する。
(ステップS1509)ウィンドウ決定部130は、旧基準点に基づく第一基準点を取得する。ステップS1511に行く。なお、第一基準点は、旧基準点から少し移動した位置の点である。また、第一基準点と第二基準点を決定する際の、旧基準点からの移動の距離は異なることは好適である。
 (ステップS1510)ウィンドウ決定部130は、一の画像情報に対する初期基準点を取得する。ステップS1511に行く。
 (ステップS1511)ウィンドウ決定部130は、取得した基準点を用いて、ウィンドウの領域を特定する領域情報を取得する。なお、取得した基準点は、初期基準点、第一基準点、または第二基準点である。
 (ステップS1512)ウィンドウ決定部130は、ステップS1511で取得した領域情報が特定する領域の画像である部分画像を、ステップS201で受け付けられた画像情報から取得する。上位処理にリターンする。
 (ステップS1513)ウィンドウ決定部130は、カウンタiを1、インクリメントする。ステップS1503に戻る。
(実施の形態2)
 本実施の形態において、NN生成装置1が生成したニューラル・ネットワーク情報を用いて、受け付けた画像情報または/および音情報に対する発火パターンを取得し、当該発火パターンに対する情報を出力する情報処理装置について説明する。
 また、本実施の形態において、温度情報に応じてノード間の情報の伝達速度が変わる情報処理装置について説明する。
 図16は、本実施の形態における情報処理装置2のブロック図である。情報処理装置2は、格納部21、受付部22、処理部23、および出力部24を備える。格納部21は、NN格納部113を備える。受付部22は、情報受付部221、および温度受付部222を備える。処理部23は、特徴取得部231、情報伝達部232、発火パターン取得部233、および出力情報取得部234を備える。出力部24は、情報出力部241を備える。
 情報処理装置2を構成する格納部21には、各種の情報が格納される。各種の情報とは、例えば、ニューラル・ネットワーク情報、1または2以上の発火始点情報、1または2以上の出力管理情報である。
 発火始点情報は、受付情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する情報である。
 受付情報とは、情報受付部221が受け付ける情報である。受付情報は、画像情報または音情報を含む。受付情報は、2種類以上の情報でも良い。受付情報は、例えば、触覚情報、臭い情報を含んでも良い。触覚情報とは、触覚に関する情報である。臭い情報とは、臭いに関する情報である。
 出力管理情報は、出力条件と出力情報とを有する情報である。出力管理情報は、出力条件と出力情報との対の情報でも良い。
 出力条件とは、出力情報を決定するために用いられる条件である。出力条件は、発火パターンを用いた出力のための条件である。出力条件は、発火パターンそのものでも良いし、発火パターンと出力確率情報を有する情報でも良い。出力確率情報は、出力情報を取得するための確率に関する情報である。出力条件は、発火パターンと適用される発火パターンが有するノード識別子の数の下限の情報、発火パターンと適用される発火パターンが有するノード識別子の割合の下限の情報等でも良い。発火パターンは、1以上のノード識別子を有する。発火パターンとは、1または2以上のノードの発火のパターンである。出力情報は、発火パターンに対応する情報である。
 出力情報は、例えば、人(特に、乳児)の感情に関する感情情報、人(特に、乳児)の体の動きに関する行動情報などである。感情情報は、例えば、嬉しい、悲しい、怯え、驚き等である。感情情報は、例えば、感情を識別するIDである。感情情報は、上述した状態識別子でも良い。行動情報は、例えば、アバター(キャラクタ)の動きに反映される情報である。行動情報は、例えば、乳児のアバターの動きに反映される情報である。なお、アバターを動作させる技術は公知技術であるので、詳細な説明は省略する。
 出力条件は、発火パターンと1以上の外部情報に関する情報とを用いた条件であっても良い。外部情報とは、外部の情報である。外部情報は、ユーザコンテキストと言っても良い。外部情報は、例えば、気温、天気、におい、音、光等である。
 NN格納部113には、NN成長装置1が蓄積したニューラル・ネットワーク情報が格納される。
 受付部22は、各種の情報を受け付ける。各種の情報とは、例えば、受付情報、温度情報である。
 情報受付部221は、受付情報を受け付ける。情報受付部221は、例えば、カメラが撮影した画像情報を取得する。情報受付部221は、マイクが取得した音情報を受け付けても良い。
 ここで、受け付けとは、カメラやマイクなどのデバイスが取得した情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
 温度受付部222は、温度情報を受け付ける。温度情報とは、温度を特定する情報である。温度は、例えば、外部の環境の温度である。
 ここで、受け付けとは、マイクやキーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
 処理部23は、各種の処理を行う。各種の処理とは、例えば、特徴取得部231、情報伝達部232、発火パターン取得部233、出力情報取得部234が行う処理である。
 特徴取得部231は、情報受付部221が受け付けた画像情報を用いて、当該画像情報に対する1または2以上の特徴情報を取得する。特徴取得部231が行う処理は、特徴取得部132が行う処理と同じで良い。
 情報伝達部232は、特徴取得部231が取得した1以上の各特徴情報に対応するノード識別子を1以上の発火始点情報から決定する。かかるノード識別子は、発火するノードの識別子である。そして、かかるノード識別子は、第一段階で発火するノードの識別子である。
 次に、情報伝達部232は、決定した当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する。
 情報伝達部232は、一の発火ノードから、次に発火する発火ノードに特徴情報を渡す処理である情報伝達処理を行う。次に発火する発火ノードは、一の発火ノードと一のエッジにより繋がっているノードであり、発火すると判断されたノードである。
 情報伝達部232は、一の発火ノードにエッジにより繋がっているノードのノード情報を取得する。次に、情報伝達部232は、当該ノード情報が発火条件を満たすか否かを判断する。そして、情報伝達部232は、発火条件を満たすノード情報が有するノード識別子を含む発火情報を構成し、蓄積する。
 情報伝達部232は、例えば、ノード情報が発火条件を満たすと判断した場合に、当該ノード情報が有する発火確率情報が示す確率で発火するか発火しないかを判断する。そして、情報伝達部232は、例えば、発火条件をし、発火確率情報が示す確率に基づいて発火すると判断した場合に、当該ノード情報が有するノード識別子を含む発火情報を構成し、蓄積する。
 情報伝達部232は、温度受付部222が受け付けた温度情報に応じて、情報伝達処理を行うための処理時間を変えることは好適である。情報伝達部232は、例えば、高い温度を示す温度情報である場合、より低い温度を示す温度情報である場合と比較して、速く情報伝達処理を行う。情報伝達部232は、例えば、低い温度を示す温度情報である場合、より高い温度を示す温度情報である場合と比較して、情報伝達処理を遅延させる。情報伝達部232は、例えば、遅延条件に合致する場合に、予め決められた時間、情報伝達処理を遅延させる。情報伝達処理を遅延させることは、例えば、予め決められた時間、ウェイトすることである。なお、遅延条件とは、処理を遅延させるための条件であり、温度情報に基づく条件である。遅延条件は、例えば、「温度情報<=閾値」または「温度情報<閾値」である。
 情報伝達部232は、発火ノードのノード情報が有する発火確率情報を増加させることは好適である。ノードが発火すればするほど、当該ノードを発火しやくするためである。
 発火パターン取得部233は、情報伝達部232が決定した1以上のノード識別子を用いた発火パターンを取得する。発火パターンとは、1または2以上の発火ノードを特定する情報の集合である。発火パターンとは、通常、同時に発火するノードを特定する情報である。発火パターンは、1または2以上のノード識別子を有する。
 発火パターン取得部233は、最終的に発火したノードの1または2以上のノード識別子を有する発火パターンを取得することは好適である。なお、最終的に発火したノードとは、発火したノードのうち、エッジにより接続されている他のノードに情報伝達を行わなかったノードである。
 出力情報取得部234は、発火パターン取得部233が取得した発火パターンに対応する出力情報を取得する。出力情報取得部234は、例えば、格納部21の1または2以上の出力管理情報を参照し、発火パターン取得部233が取得した発火パターンが満たす出力条件に対応する出力情報を取得する。
 出力情報取得部234は、例えば、格納部21の1または2以上の出力管理情報を参照し、発火パターン取得部233が取得した発火パターンが満たす出力条件の発火パターンを決定する。そして、出力情報取得部234は、例えば、決定した発火パターンと対になる出力確率情報に基づく確率で、出力情報を取得するか否かを決定し、出力情報を取得すると決定した場合に、出力管理情報が有する出力情報を取得する。
 出力部24は、各種の情報を出力する。各種の情報は、例えば、出力情報である。
 情報出力部241は、出力情報取得部234が取得した出力情報を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
 格納部21、およびNN格納部113は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 格納部21等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部21等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部21等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部21等で記憶されるようになってもよい。
 受付部22、情報受付部221、および温度受付部222は、例えば、カメラ、マイク、無線または有線の通信手段、放送を受信する手段、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現される。
 処理部23、特徴取得部231、情報伝達部232、発火パターン取得部233、および出力情報取得部234は、通常、プロセッサやメモリ等から実現され得る。処理部23等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
 出力部24、および情報出力部241は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部24等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
 次に、情報処理装置2の動作例について、図17のフローチャートを用いて説明する。
 (ステップS1701)情報受付部221は、受付情報を受け付けたか否かを判断する。受付情報を受け付けた場合はステップS1702に行き、受付情報を受け付けなかった場合はステップS1701に戻る。
 (ステップS1702)特徴取得部231は、ステップS1701で受け付けられた受付情報から1以上の特徴情報を取得する。特徴取得部231は、例えば、ステップS1701で受け付けられた画像情報から1以上の特徴情報を取得する。特徴取得部231は、例えば、ステップS1701で受け付けられた音情報から1以上の特徴情報を取得する。
 (ステップS1703)温度受付部222は、温度情報を取得する。
 (ステップS1704)情報伝達部232は、ニューラル・ネットワークの内部における情報伝達処理を行う。情報伝達処理の例について、図15のフローチャートを用いて説明する。
 (ステップS1705)発火パターン取得部233は、ステップS1704において、最後に発火したノードの1以上のノード識別子を有する発火パターンを取得する。なお、最後に発火したノードとは、発火したノードであり、特徴情報を他のノードに渡さなかったノードである。
 (ステップS1706)出力情報取得部234は、ステップS1705で取得された発火パターンに対応する出力情報を取得する。
 (ステップS1707)ステップS1706で出力情報を取得できた場合はステップS1708に行き、取得できなかった場合はステップS1701に戻る。
 (ステップS1708)情報出力部241は、ステップS1706で取得された出力する。ステップS1701に戻る。
 なお、図17のフローチャートにおいて、処理部23が状態決定部131および成長部134を有し、上述した成長処理を行っても良い。
 また、図17のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、ステップS1704の情報伝達処理の例について、図18のフローチャートを用いて説明する。
 (ステップS1801)情報伝達部232は、カウンタiに1を代入する。
 (ステップS1802)情報伝達部232は、ステップS1702で取得された特徴情報のうち、i番目の特徴情報が存在するか否かを判断する。i番目の特徴情報が存在する場合はステップS1803に行き、存在しない場合は上位処理にリターンする。
 (ステップS1803)情報伝達部232は、格納部21の1または2以上の発火始点情報を参照し、i番目の特徴情報が満たす1以上の各発火始点情報が有するノード識別子を取得する。情報伝達部232は、当該ノード識別子を含む発火情報を構成し、格納部21に蓄積する。なお、情報伝達部232は、図示しない時計から発火した時を示すタイマー情報を取得し、当該タイマー情報と当該ノード識別子とを有する発火情報を構成し、格納部21に蓄積することは好適である。かかる1以上のノード識別子は、第一段階で発火するノードの識別子である。また、かかるノード識別子は、発火ノード識別子である。なお、ここで、情報伝達部232は、発火ノード識別子を取得できなくても良い。
 (ステップS1804)情報伝達部232は、カウンタjに1を代入する。
 (ステップS1805)情報伝達部232は、ステップS1803で取得した発火ノード識別子のうち、j番目の発火ノード識別子が存在するか否かを判断する。j番目の発火ノード識別子が存在する場合はステップS1806に行き、存在しない場合はステップS1810に行く。
 (ステップS1806)情報伝達部232は、i番目の特徴情報をj番目の発火ノード識別子で識別されるノードに付加する処理を行う。なお、i番目の特徴情報をノードに付加する処理は、例えば、i番目の特徴情報を当該ノードのノード情報に書き込む処理、i番目の特徴情報と当該ノードのノード情報とを対応付ける処理である。
 (ステップS1807)情報伝達部232は、j番目の発火ノード識別子に対応するノード情報が有する回数情報を増加させるための更新を行う。例えば、情報伝達部232は、j番目の発火ノード識別子に対応するノード情報が有する回数情報を読み出し、当該回数情報に1を加えた回数情報を、上書きする。
 (ステップS1808)情報伝達部232は、j番目の発火ノード識別子を着目ノード識別子として、次伝達処理を行う。次伝達処理の例について、図16のフローチャートを用いて説明する。
 なお、次伝達処理とは、着目ノード識別子で識別されるノードにエッジにより繋がっている先のノードであり、発火するノードに、着目ノード識別子で識別されるノードに対する特徴情報を渡す処理である。なお、特徴情報を渡す処理は、情報伝達処理である。
 (ステップS1809)情報伝達部232は、カウンタjを1、インクリメントする。ステップS1805に戻る。
 (ステップS1810)情報伝達部232は、カウンタiを1、インクリメントする。ステップS1802に戻る。
 次に、ステップS1808の次伝達処理の例について、図19のフローチャートを用いて説明する。
 (ステップS1901)情報伝達部232は、取得されている温度情報が遅延条件に合致するか否かを判断する。遅延条件に合致する場合はステップS1902に行き、遅延条件に合致しない場合はステップS1903に行く。
 (ステップS1902)情報伝達部232は、WAITする。なお、WAITする時間は、予め決められていることは好適であるが、問わない。
 (ステップS1903)情報伝達部232は、着目する発火ノード識別子を含むすべてのエッジ情報をNN格納部113から取得する。
 (ステップS1904)情報伝達部232は、カウンタiに1を代入する。
 (ステップS1905)情報伝達部232は、ステップS1901で取得したエッジ情報の中で、i番目のエッジ情報が存在するか否かを判断する。i番目のエッジ情報が存在する場合はステップS1906に行き、存在しない場合は上位処理にリターンする。
 (ステップS1906)情報伝達部232は、i番目のエッジ情報の中に、他のノードのノード識別子が存在するか否かを判断する。他のノードのノード識別子が存在する場合はステップS1907に行き、存在しない場合はステップS1914に行く。なお、エッジ情報の中の他のノードのノード識別子は、当該エッジの接続先のノードのノード識別子である。また、i番目のエッジ情報の中に他のノードのノード識別子が存在する場合は、エッジが2つのノードに繋がっている場合である。
 (ステップS1907)情報伝達部232は、i番目のエッジ情報の中の他のノードのノード識別子を取得する。次に、情報伝達部232は、当該ノード識別子で識別するノードのノード情報をNN格納部113から取得する。
 (ステップS1908)情報伝達部232は、ステップS1907で取得したノード情報を用いて、当該ノード情報に対応するノードが発火するか否かを判断する。かかる発火判断処理の例について、図17のフローチャートを用いて説明する。
 (ステップS1909)情報伝達部232は、ステップS1908における判断結果が「発火する」であった場合はステップS1910に行き、「発火しない」であった場合はステップS1914に行く。
 (ステップS1910)情報伝達部232は、ステップS1907で取得したノード情報が有するノード識別子を有する発火情報を取得し、当該発火情報を格納部11に蓄積する。
 (ステップS1911)情報伝達部232は、ステップS1907で取得したノード情報が有する発火確率情報を変更する。ここで、情報伝達部232は、発火確率情報が特定する発火確率が増加するように、発火確率情報を変更する。
 (ステップS1912)情報伝達部232は、ノード間の情報の伝達を終了するか否かを判断する。伝達を終了する場合はステップS1914に行き、伝達を終了しない場合はステップS1913に行く。なお、伝達を終了する場合は、例えば、当該ノードが、NNの中の終端のノードである場合である。また、伝達を終了する場合は、直前にステップS1910で蓄積された発火情報が有するノード識別子が、発火パターンを構成するノード識別子である。
 (ステップS1913)情報伝達部232は、当該ノードを着目ノードとした次伝達処理を行う。次伝達処理の例は、図16である。
 (ステップS1914)情報伝達部232は、カウンタiを1、インクリメントする。ステップS1905に戻る。
 なお、図19のフローチャートにおいて、情報伝達部232は、ノード間の情報の伝達を行った場合に、発火の元になったノード情報が有する保有エネルギー量情報が示すエネルギー量を減じた保有エネルギー量情報に更新することは好適である。なお、かかることは、伝達のために利用したAXONのAXON識別子と対になる保有エネルギー量情報、および伝達のために利用したDendritesのDendrites識別子と対になる保有エネルギー量情報に適用しても良い。また、エネルギー量を減じるための関数は、例えば、格納部21に格納されている、とする。また、当該関数は問わない。関数は、公知技術であるので、詳細な説明は省略する。
 次に、ステップS1908の発火判断処理の例について、図20のフローチャートを用いて説明する。
 (ステップS2001)情報伝達部232は、ステップS1905で取得されたノード情報に対応する発火条件を取得する。なお、発火条件は、ノードごとに異なっていても良いし、2以上のノードに共通でも良い。
 (ステップS2002)情報伝達部232は、1以上の特徴情報を取得する。なお、ここでの1以上の特徴情報は、発火の元になるノードから渡された特徴情報である。
 (ステップS2003)情報伝達部232は、ステップS2002で取得した1以上の特徴情報がステップS2001で取得した発火条件を満たすか否かを判断する。発火条件を満たす場合はステップS2004に行き、発火条件を満たさない場合はステップS2007に行く。
 (ステップS2004)情報伝達部232は、着目するノード情報が発火確率情報を有するか否かを判断する。発火確率情報を有する場合はステップS2005に行き、発火確率情報を有さない場合はステップS2006に行く。
 (ステップS2005)情報伝達部232は、着目するノード情報が有する発火確率情報を取得する。次に、情報伝達部232は、当該発火確率情報を用いて、発火するか否かを判断する。発火する場合はステップS2006に行き、発火しない場合はステップS2007に行く。
 (ステップS2006)情報伝達部232は、判断結果に「発火する」を代入する。上位処理にリターンする。
 (ステップS2007)情報伝達部232は、判断結果に「発火しない」を代入する。上位処理にリターンする。
 以上、本実施の形態によれば、乳児の成長した脳の動作をシミュレーションできる。
 なお、本実施の形態において、情報処理装置は、NN成長装置1が行う成長処理を実現しても良い。かかる場合、情報処理装置は、ニューラル・ネットワークを成長させつつ、受け付けた受付情報に対する出力情報を出力できる。また、かかる場合の情報処理装置は、情報処理装置3である。情報処理装置3は、情報処理装置2の構成に加えて、NN成長装置1が有する状態決定部131、成長部134を有する。かかる場合の情報処理装置3のブロック図は、図21である。
 図21において、NN成長装置の発火ノード決定部133の処理は、情報伝達部232が行う。また、特徴取得部231は、特徴取得部132と同じである。
 なお、本実施の形態における情報処理装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、NN成長装置1が蓄積したニューラル・ネットワーク情報が格納されるNN格納部にアクセス可能なコンピュータを、画像情報または音情報のうちの1以上の情報である受付情報を受け付ける情報受付部と、前記情報受付部が受け付けた前記受付情報に対する1以上の特徴情報を取得する特徴取得部と、前記特徴取得部が取得した前記1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を、受付情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部から決定し、当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、前記特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する情報伝達部と、前記情報伝達部が決定した1以上のノード識別子を用いた発火パターンを取得する発火パターン取得部と、前記発火パターン取得部が取得した前記発火パターンに対応する出力情報を取得する出力情報取得部と、前記出力情報を出力する情報出力部として機能させるためのプログラムである。
 また、図22は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のNN成長装置1、情報処理装置2、情報処理装置3を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図22は、このコンピュータシステム300の概観図であり、図23は、システム300のブロック図である。
 図22において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304と、マイク305と、カメラ306とを含む。
 図23において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
 コンピュータシステム300に、上述した実施の形態のNN成長装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
 プログラムは、コンピュータ301に、上述した実施の形態のNN成長装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
 なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
 また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
 以上のように、本発明にかかるNN成長装置は、乳児の脳の成長をシミュレーションできるという効果を有し、NN成長装置等として有用である。

Claims (12)

  1. ノード識別子を有する2以上のノード情報と、エッジ識別子を有し、ノード間の結合を特定する1以上のエッジ情報とを有するニューラル・ネットワーク情報が格納されるNN格納部と、
    画像情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部と、
    ポジティブおよびネガティブを含む2以上の各状態に対応するゴールを特定するゴール情報が格納されるゴール格納部と、
    画像情報と音情報とを受け付ける情報受付部と、
    前記情報受付部が受け付けた前記音情報を用いて、前記2以上の状態から一の状態を決定する状態決定部と、
    前記情報受付部が受け付けた前記画像情報を用いて、当該画像情報に対する1以上の特徴情報を取得する特徴取得部と、
    前記特徴取得部が取得した前記1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を前記始点格納部から決定し、当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、前記特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する発火ノード決定部と、
    前記状態決定部が決定した前記一の状態と対になる前記ゴール情報を取得し、前記発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子に対応するノード情報またはエッジ情報を、当該ゴール情報を用いて成長させる処理を行う成長部とを具備するNN成長装置。
  2. 前記情報受付部が受け付けた前記画像情報が有する静止画から、当該静止画の一部の領域であるスライディングウィンドウを、順次、決定するウィンドウ決定部をさらに具備し、
    前記特徴取得部は、
    前記ウィンドウ決定部が、順次、決定した前記スライディングウィンドウに対応する部分画像を用いて、当該部分画像に対する1以上の特徴情報を取得する請求項1記載のNN成長装置。
  3. 前記特徴情報は、情報を識別する情報識別子と、情報の大きさを示す情報量とを有し、
    前記発火ノード決定部は、
    エッジにより繋がっている他の1以上のノードから渡される1以上の特徴情報が、1または2以上の特徴情報に関する発火条件を満たすか否かを判断し、当該発火条件を満たすと判断したノードのノード識別子を決定する、請求項1または請求項2記載のNN成長装置。
  4. 前記ノード情報は、当該ノードの位置を特定するノード位置情報を有し、
    前記ゴール情報は、当該ゴールの位置を特定するゴール位置情報、または当該ゴールの方向を示すゴール方向情報を有し、
    前記成長部は、
    前記状態決定部が決定した前記一の状態と対になる前記ゴール情報が示す方向に、前記発火ノード決定部が決定した前記1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるエッジに対するエッジ情報を生成し、蓄積するエッジ生成処理を行う、請求項1から請求項3いずれか一項に記載のNN成長装置。
  5. 前記発火ノード決定部は、
    決定したノード識別子の回数に関する回数情報を、ノード識別子に対応付けて蓄積し、
    前記成長部は、
    エッジ生成条件に合致する前記回数情報に対応するノード識別子で識別されるノードに対して、前記エッジ生成処理を行う、請求項4記載のNN成長装置。
  6. 前記ノード情報は、当該ノードの位置を特定するノード位置情報を有し、
    前記ゴール情報は、当該ゴールの位置を特定するゴール位置情報、または当該ゴールの方向を示すゴール方向情報を有し、
    前記成長部は、
    前記状態決定部が決定した前記一の状態と対になる前記ゴール情報が示す方向に、前記発火ノード決定部が決定した前記1以上のノード識別子のうちの1以上の各ノード識別子で識別されるノードから延びるエッジを成長させたエッジ情報を取得し、蓄積するエッジ成長処理を行う、請求項1から請求項3いずれか一項に記載のNN成長装置。
  7. 前記発火ノード決定部は、
    決定したノード識別子の回数に関する回数情報を、ノード識別子に対応付けて蓄積し、
    前記成長部は、
    エッジ生成条件に合致する前記回数情報に対応するノード識別子で識別されるノードに対して、前記エッジ成長処理を行う、請求項6記載のNN成長装置。
  8. 前記ノードは、somaであり、
    前記エッジは、AXONとDendritesとを有し、
    前記エッジ情報は、AXON識別子とAXONの位置を示すAXON位置情報とを有するAXON情報と、Dendrites識別子とDendritesの位置を示すDendrites位置情報とを有するDendrites情報を有する、請求項1から請求項7いずれか一項に記載のNN成長装置。
  9. 請求項1から請求項8いずれか一項に記載のNN成長装置が蓄積したニューラル・ネットワーク情報が格納されるNN格納部と、
    画像情報または音情報のうちの1以上の情報である受付情報を受け付ける情報受付部と、
    前記情報受付部が受け付けた前記受付情報に対する1以上の特徴情報を取得する特徴取得部と、
    前記特徴取得部が取得した前記1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を、受付情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部から決定し、当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、前記特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する情報伝達部と、
    前記情報伝達部が決定した1以上のノード識別子を用いた発火パターンを取得する発火パターン取得部と、
    前記発火パターン取得部が取得した前記発火パターンに対応する出力情報を取得する出力情報取得部と、
    前記出力情報を出力する情報出力部とを具備する情報処理装置。
  10. 温度情報を受け付ける温度受付部をさらに具備し、
    前記情報伝達部は、
    発火したノードから、次に発火するノードに対して当該発火したノードに対応する前記特徴情報を渡す処理である情報伝達処理を行い、かつ前記温度受付部が受け付けた前記温度情報に応じて、前記情報伝達処理を行うための処理時間を変える、請求項8記載の情報処理装置。
  11. ノード識別子を有する2以上のノード情報と、エッジ識別子を有し、ノード間の結合を特定する1以上のエッジ情報とを有するニューラル・ネットワーク情報が格納されるNN格納部と、画像情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部と、ポジティブおよびネガティブを含む2以上の各状態に対応するゴールを特定するゴール情報が格納されるゴール格納部と、情報受付部と、状態決定部と、特徴取得部と、発火ノード決定部と、成長部とにより実現されるニューラル・ネットワーク情報の生産方法であって、
    前記情報受付部が、画像情報と音情報とを受け付ける情報受付ステップと、
    前記状態決定部が、前記情報受付ステップで受け付けられた前記音情報を用いて、前記2以上の状態から一の状態を決定する状態決定ステップと、
    前記特徴取得部が、前記情報受付ステップで受け付けられた前記画像情報を用いて、当該画像情報に対する1以上の特徴情報を取得する特徴取得ステップと、
    発火ノード決定部が、前記特徴取得ステップで取得された前記1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を前記始点格納部から決定し、当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、前記特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する発火ノード決定ステップと、
    前記成長部が、前記状態決定部が決定した前記一の状態と対になる前記ゴール情報を取得し、前記発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子に対応するノード情報またはエッジ情報を、当該ゴール情報を用いて成長させる処理を行う成長ステップとを具備するニューラル・ネットワーク情報の生産方法。
  12. ノード識別子を有する2以上のノード情報と、エッジ識別子を有し、ノード間の結合を特定する1以上のエッジ情報とを有するニューラル・ネットワーク情報が格納されるNN格納部と、画像情報の特徴情報を識別する情報識別子と、当該特徴情報が受け付けられた場合に最初に発火するノードを識別する1以上のノード識別子とを有する1以上の発火始点情報が格納される始点格納部と、ポジティブおよびネガティブを含む2以上の各状態に対応するゴールを特定するゴール情報が格納されるゴール格納部とにアクセス可能なコンピュータを、
    画像情報と音情報とを受け付ける情報受付部と、
    前記情報受付部が受け付けた前記音情報を用いて、前記2以上の状態から一の状態を決定する状態決定部と、
    前記情報受付部が受け付けた前記画像情報を用いて、当該画像情報に対する1以上の特徴情報を取得する特徴取得部と、
    前記特徴取得部が取得した前記1以上の各特徴情報に対応するノード識別子であり、発火するノードのノード識別子を前記始点格納部から決定し、当該1以上の各ノード識別子で識別されるノードに対して、エッジにより繋がっており、前記特徴情報を渡されるノードであり、発火するノードのノード識別子を決定する発火ノード決定部と、
    前記状態決定部が決定した前記一の状態と対になる前記ゴール情報を取得し、前記発火ノード決定部が決定した1以上のノード識別子のうちの1以上の各ノード識別子に対応するノード情報またはエッジ情報を、当該ゴール情報を用いて成長させる処理を行う成長部として機能させるためのプログラム。
PCT/JP2022/032797 2022-08-31 2022-08-31 Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム WO2024047804A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/032797 WO2024047804A1 (ja) 2022-08-31 2022-08-31 Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/032797 WO2024047804A1 (ja) 2022-08-31 2022-08-31 Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2024047804A1 true WO2024047804A1 (ja) 2024-03-07

Family

ID=90098961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/032797 WO2024047804A1 (ja) 2022-08-31 2022-08-31 Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2024047804A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348009A (ja) * 1999-06-07 2000-12-15 Atr Ningen Joho Tsushin Kenkyusho:Kk 再配置可能型セルラニューラルネット
WO2018189792A1 (ja) * 2017-04-10 2018-10-18 ソフトバンク株式会社 情報処理装置、情報処理方法、およびプログラム
CN113554081A (zh) * 2021-07-15 2021-10-26 清华大学 模拟树突棘变化的神经网络架构的构建方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348009A (ja) * 1999-06-07 2000-12-15 Atr Ningen Joho Tsushin Kenkyusho:Kk 再配置可能型セルラニューラルネット
WO2018189792A1 (ja) * 2017-04-10 2018-10-18 ソフトバンク株式会社 情報処理装置、情報処理方法、およびプログラム
CN113554081A (zh) * 2021-07-15 2021-10-26 清华大学 模拟树突棘变化的神经网络架构的构建方法和装置

Similar Documents

Publication Publication Date Title
Gorda et al. Ab-initio QCD Calculations Impact the Inference of the Neutron-star-matter Equation of State
JP6355800B1 (ja) 学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム
KR20210110620A (ko) 상호작용 방법, 장치, 전자 장치 및 저장 매체
JP6902683B2 (ja) 仮想ロボットのインタラクション方法、装置、記憶媒体及び電子機器
WO2021031619A1 (zh) 存储设备、分布式存储系统以及数据处理方法
US20230172510A1 (en) System and Method for Capturing, Preserving, and Representing Human Experiences and Personality Through a Digital Interface.
US9805493B2 (en) Social identity models for automated entity interactions
CN105144286A (zh) 用于交互的虚拟人物对话的系统和方法
CN113177572A (zh) 用于从传感器自动学习的方法和计算机可读介质
WO2023061169A1 (zh) 图像风格迁移和模型训练方法、装置、设备和介质
US20210248795A1 (en) Method, apparatus, and computer program for completing painting of image, and method, apparatus, and computer program for training artificial neural network
Origlia et al. FANTASIA: a framework for advanced natural tools and applications in social, interactive approaches
CN106372195A (zh) 一种用于智能机器人的人机交互方法及装置
CN104424507A (zh) 一种回声状态网络的预测方法和预测装置
WO2024047804A1 (ja) Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム
Boström Quantum mechanics as a deterministic theory of a continuum of worlds
JP6864085B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2023238186A1 (ja) Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム
CN114118403A (zh) 神经网络架构搜索方法、装置、存储介质及电子设备
Ryabinin et al. Ontology-driven toolset for audio-visual stimuli representation in EEG-based BCI research
WO2024105733A1 (ja) Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム
Giardina et al. Conveying audience emotions through humanoid robot gestures to an orchestra during a live musical exhibition
Degara et al. The walking game: A framework for evaluating sonification methods in blind navigation
CN111242431A (zh) 信息处理方法和装置、构建客服对话工作流的方法和装置
JP6912569B2 (ja) 音情報処理装置、音情報処理方法、およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1