NN growth device, information processing device, neural network information production method, and program
The neural network growth device simulates fetal brain growth by processing sound and heartbeat information to generate and grow neural networks, effectively replicating fetal brain development processes.
Patent Information
- Application Number
- JP2024526035
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-06
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2042-06-06
AI Technical Summary
Existing technologies have not been able to simulate fetal brain growth effectively.
A neural network growth device that includes an NN storage unit, a start point storage unit, a goal storage unit, an information receiving unit, a state determining unit, a feature acquisition unit, an ignition node determination unit, and a growth unit, which collectively simulate fetal brain growth by processing sound and heartbeat information to generate and grow neural network structures.
The device successfully simulates fetal brain growth by generating and growing neural networks based on sound and heartbeat information, allowing for the simulation of fetal brain development.
Smart Images

Figure 0007772931000001 
Figure 0007772931000002 
Figure 0007772931000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a neural network growth device, which is a device that virtually realizes the mechanism of brain growth. [Background technology]
[0002] BACKGROUND ART Conventionally, there have been electroencephalogram signal processing devices that acquire and process electroencephalogram signals that represent the electroencephalograms of a subject (see, for example, Patent Documents 1 and 2). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2016-47239 [Patent Document 2] Japanese Patent Application Laid-Open No. 2016-52430 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the prior art, it has not been possible to realize a fetal brain growth model for simulating fetal brain growth. [Means for solving the problem]
[0005] The NN growing device of the first invention includes an NN storage unit storing neural network information having two or more pieces of node information each having a node identifier and one or more pieces of edge information each having an edge identifier and specifying a connection between the nodes; a start point storage unit storing one or more pieces of firing start point information each having an information identifier for identifying feature information of sound information and one or more node identifiers for identifying a node that will fire first when the feature information is received; a goal storage unit storing goal information specifying a goal corresponding to each of two or more states including positive and negative; an information receiving unit receiving sound information and heartbeat information; a state determining unit determining one state from two or more states using the heartbeat information received by the information receiving unit; The NN growing device includes: a feature acquisition unit that acquires one or more feature information for the sound information using the sound information received by the attachment unit; an ignition node determination unit that determines a node identifier of a node to be ignited from a starting point storage unit, the node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit, and determines the node identifier of a node to be ignited, the node identifier being a node connected by an edge to the nodes identified by the one or more node identifiers and receiving the feature information; and a growth unit that acquires goal information paired with a state determined by the state determination unit, and performs processing to grow, using the goal information, node information or edge information corresponding to each of the one or more node identifiers determined by the ignition node determination unit.
[0006] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0007] Furthermore, in the NN growth device of the second invention, unlike the first invention, the feature information has an information identifier that identifies the information and an information amount that indicates the size of the information, and the firing node determination unit determines whether one or more pieces of feature information passed from one or more other nodes connected by edges satisfy firing conditions for one or more pieces of feature information, and determines the node identifier of the node that is determined to satisfy the firing condition.
[0008] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0009] Furthermore, the NN growth device of the third invention is an NN growth device in which, compared to the first or second invention, the node information has node position information that specifies the position of the node, the goal information has goal position information that specifies the position of the goal or goal direction information that indicates the direction of the goal, and the growth unit performs edge generation processing to generate and accumulate edge information for edges extending from nodes identified by one or more node identifiers out of one or more node identifiers determined by the firing node determination unit in the direction indicated by the goal information that pairs with a state determined by the state determination unit.
[0010] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0011] Furthermore, the NN growth device of the fourth invention is an NN growth device in which, compared to the third invention, the firing node determination unit stores frequency information relating to the number of times of the determined node identifier in correspondence with the node identifier, and the growth unit performs edge generation processing on the node identified by the node identifier corresponding to the frequency information that meets the edge generation condition.
[0012] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0013] Furthermore, the NN growth device of the fifth invention is an NN growth device in which, compared to the first or second invention, the node information has node position information that identifies the position of the node, the goal information has goal position information that identifies the position of the goal or goal direction information that indicates the direction of the goal, and the growth unit performs edge growth processing to acquire and store edge information obtained by growing edges extending from nodes identified by one or more node identifiers out of one or more node identifiers determined by the firing node determination unit in the direction indicated by the goal information that pairs with a state determined by the state determination unit.
[0014] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0015] Furthermore, the NN growth device of the sixth invention is an NN growth device in which, compared to the fifth invention, the firing node determination unit stores frequency information relating to the number of times of the determined node identifier in correspondence with the node identifier, and the growth unit performs edge growth processing on the node identified by the node identifier corresponding to the frequency information that meets the edge generation condition.
[0016] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0017] Furthermore, the NN growth device of the seventh invention is an NN growth device in which, compared to the first or second invention, the node information has node position information that specifies the position of the node, the goal information has goal position information that specifies the position of the goal or goal direction information that indicates the direction of the goal, and the growth unit performs a node generation process to generate and store node information of a new node at a position in the direction indicated by the goal information that pairs with one state determined by the state determination unit, near the position indicated by the node position information of a node identified by one or more node identifiers among the one or more node identifiers acquired by the firing node determination unit.
[0018] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0019] Furthermore, the NN growth device of the eighth invention is an NN growth device in which, compared to the fifth invention, the firing node determination unit stores frequency information relating to the number of times of the determined node identifier in correspondence with the node identifier, and the growth unit performs node generation processing on the node identified by the node identifier corresponding to the frequency information that meets the node generation conditions.
[0020] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0021] Furthermore, the NN growth device of the ninth invention is an NN growth device in which, compared to any one of the first to eighth inventions, the nodes are somas, the edges have AXONs and Dendrites, and the edge information has AXON information having an AXON 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.
[0022] With this configuration, a fetal brain growth model for simulating fetal brain growth can be realized.
[0023] Furthermore, an information processing device of the tenth invention is an information processing device according to any one of the first to ninth inventions, comprising: an NN storage unit in which neural network information accumulated by the NN growing device is stored; an information receiving unit that receives sound information; a feature acquisition unit that acquires one or more feature information for the sound information using the sound information received by the information receiving unit; an information transmission unit that determines, from the starting point storage unit, a node identifier of a node that will fire, which is a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit, and determines a node identifier of a node that is connected by an edge to nodes identified by the one or more node identifiers and receives the feature information, and that will fire; a firing pattern acquisition unit that acquires a firing pattern using the one or more node identifiers determined by the information transmission unit; an output information acquisition unit that acquires output information corresponding to the firing pattern acquired by the firing pattern acquisition unit; and an information output unit that outputs the output information.
[0024] This configuration allows for the simulation of fetal brain growth.
[0025] Furthermore, the information processing device of the eleventh invention is an information processing device that, compared to the tenth invention, further includes a temperature receiving unit that receives temperature information, and the information transmission unit performs an information transmission process that is a process of passing feature information corresponding to the fired node from the fired node to the next node that will fire, and changes the processing time for performing the information transmission process depending on the temperature information received by the temperature receiving unit.
[0026] This configuration allows for the simulation of fetal brain growth. [Effects of the Invention]
[0027] The neural network growing device of the present invention can simulate fetal brain growth. [Brief explanation of the drawings]
[0028] [Figure 1] Block diagram of NN growth apparatus 1 according to embodiment 1 [Figure 2] A flowchart illustrating an example of the operation of the NN growth device 1. [Figure 3] Flowchart illustrating an example of the growth process [Figure 4] A flowchart illustrating an example of the single-node process. [Figure 5] Flowchart illustrating an example of the node generation process [Figure 6] Flowchart illustrating an example of node information generation processing [Figure 7] A flowchart illustrating an example of the edge generation process [Figure 8] A flowchart illustrating an example of the edge information generation process [Figure 9] A flowchart illustrating an example of the edge growth process. [Figure 10] 10 is a flowchart illustrating an example of the edge extension process. [Figure 11] A flowchart illustrating an example of the firing transmission process. [Figure 12]A flowchart illustrating an example of the firing determination process [Figure 13] Block diagram of information processing device 2 according to embodiment 2. [Figure 14] A flowchart illustrating an example of the operation of the information processing device 2 [Figure 15] A flowchart illustrating an example of the information transmission process [Figure 16] Flowchart illustrating an example of homogeneous transfer processing [Figure 17] A flowchart illustrating an example of the firing determination process [Figure 18] Block diagram of the information processing device 3 [Figure 19] Overview of the computer system in the above embodiment [Figure 20] Block diagram of the computer system DETAILED DESCRIPTION OF THE INVENTION
[0029] Hereinafter, embodiments of the NN growth apparatus and the like will be described with reference to the drawings. Note that, in the embodiments, components with the same reference numerals perform similar operations, and therefore, repeated description may be omitted.
[0030] (Embodiment 1) In this embodiment, we will explain an NN growing device that receives sound information and heartbeat information, determines a state such as positive or negative using the heartbeat information, detects a node that will fire based on one or more pieces of feature information acquired from the sound information in accordance with the determination result, and performs growth processing corresponding to the node. Note that the growth processing is, for example, edge generation processing, edge growth processing, and node generation processing.
[0031] The edge generation process is the process of generating edges that make up a neural network (hereinafter referred to as "NN" where appropriate). The edge growth process is the process of growing the edges that make up the NN. The node generation process is the process of generating nodes that make up the NN. Note that the neural network here is preferably a spiking neural network. However, the neural network may be other types of neural networks, such as a deep neural network. In other words, the type of neural network is not important.
[0032] In this specification, information X being associated with information Y means that information Y can be obtained from information X, or information X can be obtained from information Y, and the method of association is not important. Information X and information Y may be linked, may exist in the same buffer, information X may be included in information Y, or information Y may be included in information X, etc.
[0033] 1 is a block diagram of an NN growth device 1 according to this embodiment. The NN growth device 1 includes a storage unit 11, a reception unit 12, a processing unit 13, and an output unit 14. The storage unit 11 includes a starting point storage unit 111, a goal storage unit 112, and an 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.
[0034] Various types of information are stored in the storage unit 11 constituting the NN growth device 1. The various types of information include, for example, firing start information (to be described later), goal information (to be described later), neural networks (NNs), one or more pieces of glial cell information (to be described later), one or more pieces of connection information (to be described later), one or more pieces of firing information (to be described later), and state determination information (to be described later).
[0035] One or more pieces of firing start point information are stored in the start point storage section 111. The start point storage section 111 normally stores two or more pieces of firing start point information.
[0036] The firing start point information is information that specifies a node that fires in the first stage when sound information is received. A node that fires in the first stage is a node that fires without going through other nodes. The firing start point information has an information identifier and one or more node identifiers. The firing start point information may also have an initial firing condition and one or more node identifiers.
[0037] The initial firing condition is a condition under which a node fires in the first stage. The initial firing condition is a condition related to the information identifier. The initial firing condition usually has an information identifier. The initial firing condition is, for example, a condition related to the information identifier and the amount of information. For example, the initial firing condition is "<information identifier> frequency = 60 <condition> amount of information >= 30". For example, the initial firing condition is "information amount of frequency 60 >= 150".
[0038] The node identifier included in the firing start point information is information for identifying a node that will fire when feature information identified by the paired information identifier is accepted. The node identifier included in the firing start point information is information for identifying a node that will fire when the feature information satisfies the paired initial firing condition.
[0039] The information identifier here is information that identifies the feature information of the sound information. The information identifier is information that specifies the type of feature of the sound. The information identifier is, for example, "frequency" or "amplitude." The information identifier is, for example, a specific frequency or a specific amplitude.
[0040] A node identifier is information that identifies a node that makes up an NN. A node identifier is, for example, a node ID or node name. A node may also be called a soma. A node identifier may also be called a soma identifier.
[0041] Here, the feature information is the feature amount of the sound information. The feature information is, for example, an information identifier, or an information identifier and an information amount. The information identifier is information that identifies the feature information. The information amount is information that indicates the size of the information identified by the paired information identifier. The feature information is, for example, "<information identifier> frequency = 60 <information amount> 100".
[0042] One or more pieces of goal information are stored in the goal storage unit 112. The goal storage unit 112 normally stores two or more pieces of goal information.
[0043] Goal information is information that specifies the goal to which the nodes or edges that make up the NN will grow. Goal information is information that specifies a goal corresponding to one of two or more states. A state is, for example, an emotion or an internal state of the brain. A state is, for example, positive or negative. It is preferable that the type of state is either positive or negative. However, there may be three or more types of states. When there are three or more types of states, each state is, for example, information indicating one of two or more degrees of positivity, or information indicating one of two or more degrees of negativity.
[0044] It can be said that goal information is information that specifies the position where a node or edge grows. Goal information has 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. Goal direction information indicates the direction of the goal. A position is a position in a virtual space of two or more dimensions. Goal information is, for example, position information. Position information is, for example, three-dimensional coordinate values (x, y, z), two-dimensional coordinate values (x, y), or four-dimensional quaternion (x, y, x, w).
[0045] The NN storage unit 113 stores neural network information (hereinafter referred to as "NN information" as appropriate). The NN information can be said to be information that mimics the brain. The NN information has two or more pieces of node information and one or more pieces of edge information.
[0046] Node information is information about the nodes that make up the NN. The node information includes a node identifier. The node information includes, for example, node position information, firing conditions, firing probability information, and count information. The node position information is node position information. The count information is information based on the number of times a node has fired. The count information is, for example, the number of times a node has fired and the firing frequency (firing rate). Furthermore, it is preferable that the node information includes retained energy amount information that indicates the amount of energy held by the node. Furthermore, it is preferable that the node information includes required energy amount information that indicates the amount of energy required for firing.
[0047] An ignition condition is a condition under which a node is ignited. An ignition condition typically has one or more pieces of feature information. The feature information may be information having an information identifier that identifies the information and an information amount that indicates the size of the information, or may be information only containing the information amount that indicates the size of the information. The information amount is, for example, a numerical value greater than 0. Examples of ignition conditions include "feature information >= 0.5," "feature information > 0.7," "information amount >= 0.5," "information amount > 0.7," "(information identifier = A & information amount >= 0.5) & (information identifier = B & information amount > 0.8)," etc. The feature information that constitutes an ignition condition is the information amount. The feature information is, for example, a feature amount, but it may also be the input information itself. The feature amount is, for example, a feature amount of speech resulting from speech analysis.
[0048] Firing probability information is information about the probability of firing. The firing probability information may be the firing probability itself, or a value obtained by converting the firing probability using a function or the like. It is preferable that the firing probability information is referenced, and the node may or may not fire at the probability indicated by the firing probability information, even if the feature information is the same.
[0049] Edge information is information about the edges that make up a NN. Edge information is information that identifies the connections between nodes. Edge information usually has an edge identifier. Edge information, for example, has the node identifier of each of the two nodes that an edge connects. Edge information, for example, has the identifier of one connecting node. When edge information has only one node identifier, the edge is an edge in the growth process before connecting the two nodes. Edge information, for example, has edge position information. Edge position information is information that identifies the position of the endpoint of the edge. It is also preferable that edge information has retained energy amount information that indicates the amount of energy retained by the edge.
[0050] The edge information includes, for example, Dendrites information and AXON information. In such a case, the edge includes Dendrites and AXON. Note that an edge may be considered to be a single line or a line branched into two or more branches. An edge may also be called a synapse.
[0051] An edge identifier is information for identifying an edge, such as an edge ID or edge name.
[0052] Dendrite information is information about DENDRITES. Dendrites are also called dendrites and are parts of neurons. They are multiple projections that branch out from the cell body like tree branches in order for neurons to receive external stimuli and information sent from the axons of other neurons. DENDRITES are the elements that make up edges in this case. DENDRITES information has a DENDRITES identifier and DENDRITES position information.
[0053] The DENDRITES identifier is information that identifies DENDRITES. The DENDRITES identifier is, for example, the DENDRITES ID or the DENDRITES name.
[0054] DENDRITES position information is position information that indicates the position of DENDRITES. DENDRITES position information is information that specifies the position of DENDRITES, and is, for example, one or more three-dimensional coordinate values (x, y, z) or one or more two-dimensional coordinate values (x, y). When the DENDRITES position information has two or more coordinate values, DENDRITES is a line that connects each point of the two or more coordinate values.
[0055] It is also preferable that the Dendrites information includes information on the amount of energy held by the Dendrites, which indicates the amount of energy held by the Dendrites.It is also preferable that the Dendrites information includes information on the amount of energy required to transmit information using the Dendrites.
[0056] AXON information is information about AXONs. AXONs, also known as axons, are protruding structures extending from the cell body and responsible for signal output in neurons. AXONs are elements that make up edges. AXON information includes an AXON identifier and AXON position information.
[0057] The AXON identifier is information that identifies the AXON. For example, the AXON identifier is the AXON ID or the AXON name.
[0058] AXON position information is position information that indicates the position of the AXON. AXON position information is information that specifies the position of the AXON, and is, for example, one or more three-dimensional coordinate values (x, y, z) or one or more two-dimensional coordinate values (x, y). When the AXON position information has two or more coordinate values, the AXON is a line that connects each point of the two or more coordinate values.
[0059] It is also preferable that the AXON information includes information on the amount of energy held by the AXON, which indicates the amount of energy held by the AXON.It is also preferable that the AXON information includes information on the amount of energy required to transmit information using the AXON.
[0060] Note that dendrites and axons may be branched. When dendrites and axons are branched, the position information of each may be expressed using three or more coordinate values. However, there is no restriction on the method of expressing dendrite position information and axon position information.
[0061] The glial cell information stored in the storage unit 11 is information relating to glial cells. Note that the glial cell information does not necessarily have to be present in the storage unit 11.
[0062] Glial cells, also known as neuroglial cells, are a general term for non-neuronal cells that make up the nervous system. Glial cells are a glue- or cement-like substance that fills the spaces between neurons.
[0063] The glial cell information preferably includes a glial cell identifier for identifying the glial cell. The glial cell information may include, for example, a node identifier for identifying a node that assists in the connection, or an edge identifier for identifying an edge that assists in the connection. The glial cell information may include, for example, an axon identifier for an axon whose connection the glial cell assists, or a dendrite identifier for a dendrite whose connection the glial cell assists. The glial cell information may also include a glial cell type identifier for identifying the type of the glial cell. Examples of types of glial cells include oligodendrocites (hereinafter referred to as "oligos") and astrocites. Note that oligos are cells that can connect to axons. Astrocites are cells that can connect to somas or dendrites. The glial cell information preferably includes glial cell position information. The glial cell position information is position information that specifies the position of the glial cell. In particular, it is preferable that the glial cell information of oligos includes glial cell position information. The glial cell information may also include hand length information indicating the length of one or more hands. The glial cell information may also include hand number information indicating the number of hands emerging from the glial cell. Typically, it is preferable that when the total length of the glial cell calculated from the hand length information of each hand reaches a threshold, the glial cell will not grow any further.
[0064] 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 a connection between an AXON of one node and a Dendrites of another node. Such information is also information that specifies a connection between nodes. The connection information may be information that specifies a connection between a synapse and a spine. Such information is also information that specifies a connection between nodes. The connection information has, for example, identifiers of two nodes to be connected. The connection information also has, for example, an AXON identifier of an AXON and a Dendrites identifier of a Dendrite connected to the AXON. The connection information also has, for example, a synapse identifier of a synapse and a spine identifier of a spine that can transmit information to the synapse. The connection information may also have information transmission probability information. The information transmission probability information is information about the probability of information transmission between one node and another node. The information transmission probability information may be information about the probability of information transmission between an AXON and a Dendrites. In such a case, the information transmission probability information is information about the probability of information transmission between one node and another node. The information transmission probability information may also be information about the probability of information transmission between a synapse and a spine. In such a case, the information transmission probability information is information about the probability of information transmission between one node and another node. Note that the connection direction between nodes is usually unidirectional.
[0065] The binding information may be information indicating a binding between a node and an AXON. In such a case, the binding information includes a node identifier and an AXON identifier. The binding information may also be information indicating a binding between a node and a Dendrites. In such a case, the binding information includes a node identifier and a Dendrites identifier.
[0066] The binding information may be information specifying a binding between a glial cell and an AXON or a Dendritic cell. In such a case, the binding information may include, for example, a glial cell identifier that identifies the glial cell information and an AXON identifier. The binding information may include, for example, a glial cell identifier and a Dendritic cell identifier.
[0067] Note that connection information specifying the connections between elements (nodes, edges, axons, dendrites, glial cells, synapses, or spines) that make up the NN may be stored in the NN storage unit 113. In other words, the connection information specifying the connections between elements that make up the NN may be included in the information of each element.
[0068] Firing information is information about the result of firing. The firing information has a node identifier that identifies the node that fired. The firing information may usually have timer information that indicates the time of firing. The timer information may be information that indicates relative time or time information that indicates absolute time. Note that the firing information may be automatically deleted by the processing unit 13 after a certain time has passed since it was accumulated.
[0069] The receiving unit 12 receives various types of information, such as sound information and heart rate information, which will be described later.
[0070] Here, reception is a concept that includes reception of information input from input devices such as a microphone, keyboard, mouse, or touch panel, reception of information transmitted via a wired or wireless communication line, and reception of information read from recording media such as an optical disk, magnetic disk, or semiconductor memory.
[0071] The information receiving unit 121 receives sound information and heartbeat information. For example, the information receiving unit 121 receives the sound information and the heartbeat information at the same time. However, the information receiving unit 121 may receive the heartbeat information after a predetermined time has elapsed after receiving the sound information. The sound information is, for example, audio data or music data, but any type of sound information will do. The heartbeat information is information related to the heartbeat. For example, the heartbeat information is the heart rate.
[0072] The information receiving unit 121 receives, for example, sound information picked up by a microphone, and also receives, for example, heart rate information provided from an external source.
[0073] The sound information input means is, for example, a microphone. The heartbeat information input means may be any means, such as a numeric keypad, keyboard, mouse, or menu screen. Receiving heartbeat information may include receiving information input from an input device, receiving information transmitted via a wired or wireless communication line, or receiving information read from a recording medium such as an optical disk, a magnetic disk, or a semiconductor memory.
[0074] The processing unit 13 performs various types of processing. The various types of processing include processing performed by a state determination unit 131, a feature acquisition unit 132, an ignition node determination unit 133, and a growth unit 134, for example.
[0075] The state determination unit 131 determines one state from two or more states using the heartbeat information received by the information receiving unit 121. The state is, for example, either "positive (appropriately referred to as state P)" or "negative (appropriately referred to as state N)." Determining the state means, for example, obtaining a state identifier. The state identifier is information that identifies the state. The state identifier is, for example, "state P" or "state N."
[0076] The state determination unit 131 determines one state from the heartbeat information, for example, by using state determination information. The state determination information is information for determining one state using the heartbeat information. The state determination information is, for example, two or more pairs each having a heartbeat condition, which is a condition related to the heartbeat information, and a state identifier. The state determination information is, for example, "<heartbeat condition>heartbeat information<=threshold <state identifier>state P" or "<heartbeat condition>heartbeat information>threshold <state identifier>state N."
[0077] The feature acquisition unit 132 uses the sound information accepted by the information accepting unit 121 to acquire one or more pieces of feature information for the sound information. Here, the feature information has, for example, an information identifier and an information amount. For example, the feature acquisition unit 132 analyzes the accepted sound information, which is sound, and acquires one or more pieces of feature information for the sound. For example, the feature acquisition unit 132 performs audio analysis of the accepted sound information and acquires "information identifier (frequency = X), information amount = 50", "information identifier (frequency = Y), information amount = 120", etc. Note that such information indicates the level at each frequency. Note that the technology for acquiring feature information from sound information is a publicly known technology, and therefore a detailed description thereof will be omitted.
[0078] The firing node determination unit 133 determines the node identifier of the firing node, which is the node that will fire and corresponds to one or more pieces of feature information acquired by the feature acquisition unit 132, from the start point storage unit 111. Next, the firing node determination unit 133 determines the node identifier of the firing node, which is connected to each of the one or more firing nodes by an edge and to which feature information is passed from the firing node. Note that the node identifier of the firing node will be referred to as the firing node identifier as appropriate.
[0079] The firing node determination unit 133 determines whether or not one or more pieces of characteristic information passed from one or more other nodes connected by edges satisfy a firing condition, and determines the node identifier of the node determined to satisfy the firing condition. Note that the firing condition is a condition related to one or more pieces of characteristic information.
[0080] It is preferable that the firing node determination unit 133 stores frequency information relating to the number of times of the determined node identifier in association with the node identifier. The frequency information is information based on the number of times firing has occurred, such as the number of firings or the firing frequency (firing rate).
[0081] The growth unit 134 performs a growth process. Here, the growth unit 134 performs a growth process of an NN that mimics the brain of a fetus. The growth unit 134 performs a growth process of the NN using the received sound information and heartbeat information. The growth unit 134 performs a process of growing nodes or edges, or nodes and edges, that constitute the NN, using one or more pieces of feature information acquired from the received sound information and the heartbeat information.
[0082] In more detail, the growth unit 134 acquires goal information paired with one state determined by the state determination unit 131, and performs processing to grow node information or edge information corresponding to each of one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 using the goal information.
[0083] The growth unit 134, for example, acquires goal information paired with the state identifier of one state determined by the state determination unit 131, and performs processing to grow, using the acquired goal information, node information or edge information corresponding to one or more firing node identifiers that satisfy a growth condition among the one or more node identifiers determined by the firing node determination unit 133. Note that a node identifier that satisfies a growth condition is a node identifier that identifies node information that satisfies the growth condition.
[0084] The growing unit 134 performs a process of growing, for example, the node information or edge information corresponding to all of the node identifiers among the one or more node identifiers determined by the firing node determining unit 133, using the goal information.
[0085] Furthermore, the process of growing using the acquired goal information is, for example, a process of extending an edge connected to a node identified by an ignition node identifier in the direction of the position indicated by the goal position information contained in the acquired goal information. The process of growing using the acquired goal information is, for example, a process of extending an edge connected to a node identified by an ignition node identifier in the direction indicated by the goal direction information contained in the acquired goal information. Note that the process of extending an edge usually involves moving the position of the edge position information contained in the edge information away from the connected node.
[0086] The growth condition is a condition for growth. The growth condition is, for example, a condition based on frequency information. The growth condition is, for example, "the number of firings is equal to or greater than a threshold," "the number of firings is greater than a threshold," "the firing frequency is equal to or greater than a threshold," or "the firing frequency is greater than a threshold."
[0087] The growth process includes, for example, an edge generation process, an edge growth process, and a node generation process, which will be described later. Each of the growth processes will be described in detail below. (1) Edge generation processing
[0088] The growing unit 134 performs, for example, an edge generation process. The edge generation process can be said to be a process of generating a new edge. The edge generation process is a process of generating new edge information and storing it in the NN storage unit 113. In other words, the growing unit 134 generates and stores edge information for edges extending from nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133, at positions in the direction indicated by the goal information paired with one state determined by the state determination unit 131.
[0089] It is preferable that the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 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 determination unit 133. However, the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 may be all of the node identifiers determined by the firing node determination unit 133.
[0090] The process of generating edge information is a process of generating edge information of an edge connected to a node identified by a target node identifier. The process of generating edge information is, for example, a process of acquiring a unique edge identifier, and generating edge information having the edge identifier, which is information on an edge connecting the node identified by the target node identifier to another node in the direction indicated by the goal information from the node. Such edge information includes, for example, the edge identifier and the node identifiers of the two nodes to be connected. The process of generating edge information is, for example, a process of acquiring a unique edge identifier, acquiring edge position information that extends from the node identified by the target node identifier and identifies the position of its end point from the node in the direction indicated by the goal information, and generating edge information having the edge position information. Such edge information includes, for example, the edge identifier, the node identifier of the target (connecting) node, and the edge position information that identifies the end point of the edge.
[0091] Moreover, the edge generation condition is a condition for generating an edge. The edge generation condition is, for example, a condition based on count information. The edge generation condition is, for example, "the number of firings is equal to or greater than a threshold," "the number of firings is greater than a threshold," "the firing frequency is equal to or greater than a threshold," or "the firing frequency is greater than a threshold." The edge generation condition may be the same as the growth condition, or may be different. The edge generation condition may be common to all nodes of interest, may be different for each node, or may be different for each edge. When the edge generation condition is different for each node, for example, the node information includes the edge generation condition. When the edge generation condition is different for each edge, for example, the edge information includes the edge generation condition.
[0092] It is preferable that the growing unit 134 performs edge generation processing on a node identified by a node identifier corresponding to the number information that matches the edge generation condition.
[0093] The edge generation process may be one or more of a Dendrites generation process and an AXON generation process, which will be described later. The edge generation process may also include a glial cell generation process, which will be described later. (1-1) Dendrites generation process
[0094] The growing unit 134 performs, for example, a Dendrites generation process. 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. That is, the growing unit 134 generates and stores Dendrites information for Dendrites extending from nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 in a direction indicated by goal information paired with one state determined by the state determination unit 131.
[0095] It is preferable that the one or more node identifiers among the one or more node identifiers determined by the firing node determination 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 determination unit 133. However, the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 may be all of the node identifiers determined by the firing node determination unit 133.
[0096] The process of generating Dendrites information is a process of generating Dendrites information of Dendrites connected to a node identified by a target node identifier. The process of generating Dendrites information is, for example, a process of acquiring a unique Dendrites identifier, acquiring Dendrites position information of 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 is connected), and configuring and storing Dendrites information having the Dendrites identifier and the Dendrites position information.
[0097] Furthermore, the dendrites generation conditions are conditions for generating dendrites. The dendrites generation conditions are, for example, conditions based on frequency information. The edge generation conditions are, for example, "the number of firings is equal to or greater than a threshold," "the number of firings is greater than a threshold," "the firing frequency is equal to or greater than a threshold," or "the firing frequency is greater than a threshold." The dendrites generation conditions may be the same as or different from the growth conditions. (1-2) AXON generation process
[0098] The growth unit 134 performs, for example, an AXON generation process. 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. That is, the growth unit 134 generates and stores AXON information for an AXON extending from a node identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133, in a direction indicated by goal information paired with one state determined by the state determination unit 131, for example.
[0099] It is preferable that the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 are one or more node identifiers that meet the AXON generation conditions among the one or more node identifiers determined by the firing node determination unit 133. However, the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 may be all of the node identifiers determined by the firing node determination unit 133.
[0100] The process of generating AXON information is a process of generating AXON information for an AXON connected to a node identified by a target node identifier (the node identifier of the node to which the AXON is connected). The process of generating AXON information is, for example, a process of 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 constructing and storing AXON information having the AXON identifier and the AXON position information.
[0101] Furthermore, AXON generation conditions are conditions for generating AXONs. AXON generation conditions are, for example, conditions based on frequency information. Edge generation conditions are, for example, "number of firings is equal to or greater than a threshold," "number of firings is greater than a threshold," "firing frequency is equal to or greater than a threshold," or "firing frequency is greater than a threshold." AXON generation conditions may be the same as growth conditions, or may be different. (2) Edge growth processing
[0102] The growing unit 134 performs, for example, an edge growing process. The edge growing process is a process of growing an edge. The process of growing an edge is usually a process of increasing the length of an edge. The process of growing an edge may also be a process of connecting the edge from the node from which the edge originates to another node. The growing unit 134 performs, for example, an edge growing process of acquiring and accumulating edge information obtained by growing an edge extending from a node identified by one or more node identifiers among the one or more node identifiers determined by the firing node determining unit 133 in a direction indicated by goal information paired with a state determined by the state determining unit 131.
[0103] It is preferable that each of the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 is the node identifier of one or more nodes that meets the edge growth condition among the one or more node identifiers determined by the firing node determination unit 133. However, each of the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 may be all of the node identifiers determined by the firing node determination unit 133.
[0104] In addition, obtaining edge information by growing an edge extending from a node means changing the edge position information contained in the edge information to position information in which the end point of the edge indicated by the edge position information is located farther away from the node.
[0105] The edge growth condition is a condition for performing the edge growth process. The edge growth condition is, for example, a condition based on count information. The edge growth condition is, for example, "the number of firings is equal to or greater than a threshold," "the number of firings is greater than a threshold," "the firing frequency is equal to or greater than a threshold," or "the firing frequency is greater than a threshold." The edge growth condition may be the same as the growth condition, or may be different. Furthermore, the edge growth condition may be common to all nodes of interest, may be different for each node, or may be different for each edge. When the edge growth condition is different for each node, for example, the node information includes the edge growth condition. When the edge growth condition is different for each edge, for example, the edge information includes the edge growth condition.
[0106] In addition, the process of growing an edge extending from a node is a process of obtaining position information that specifies the position in the direction indicated by the goal information from the edge position information contained in the edge information having a node identifier that identifies the node, and using this position information as edge position information.
[0107] The edge growth process may be one or more of a Dendrites growth process, which will be described later, and an AXON growth process, which will be described later. (2-1) Dendrites growth treatment
[0108] The growth unit 134 performs, for example, a dendrites growth process. The dendrites growth process is a process of growing dendrites. The dendrites growth process may be included in the edge growth process. The dendrites growth process is usually a process of increasing the length of the dendrites. The dendrites growth process is a process of acquiring new dendrites position information for the dendrites position information contained in the dendrites information of the dendrites in question, which sets the position of the endpoint indicated by the dendrites position information to a position away from the position of the connected node, and storing the new dendrites position information.
[0109] The growth unit 134 performs a Dendrites growth process, for example, by acquiring and accumulating Dendrites information obtained by growing Dendrites extending from nodes identified by one or more node identifiers among one or more node identifiers determined by the firing node determination unit 133 in a direction indicated by goal information paired with one state determined by the state determination unit 131.
[0110] It is preferable that each of the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 is a node identifier of one or more nodes that meets the Dendrites growth condition among the one or more node identifiers determined by the firing node determination unit 133. However, the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 may be all of the node identifiers determined by the firing node determination unit 133.
[0111] In addition, obtaining Dendrites information by growing Dendrites extending from a node means changing the Dendrites position information contained in the Dendrites information to position information in which the end point of the Dendrites indicated by the Dendrites position information is located farther away from the node.
[0112] The dendrites growth conditions are conditions for performing the dendrites growth process. The dendrites growth conditions are, for example, conditions based on frequency information. The dendrites growth conditions are, for example, "the number of firings is equal to or greater than a threshold," "the number of firings is greater than a threshold," "the firing frequency is equal to or greater than a threshold," or "the firing frequency is greater than a threshold." The dendrites growth conditions may be the same as the growth conditions or may be different.
[0113] In addition, the process of growing Dendrites extending from a node is a process of obtaining position information in the direction indicated by the goal information from the Dendrites position information contained in the Dendrites information that pairs with the node identifier that identifies the node, and setting this position information as the Dendrites position information. (2-2) AXON growth treatment
[0114] The growth unit 134 performs, for example, an axon growth process. The axon growth process is a process of growing an axon. The axon growth process may be included in the edge growth process. The axon growth process is usually a process of increasing the length of an axon. The axon growth process is a process of acquiring new axon position information for the axon position information contained in the axon information of the axon, which is a position that is further away from the position of the end point indicated by the axon position information than the position of the connected node, and storing the new axon position information.
[0115] The growth unit 134 performs an AXON growth process, for example, by acquiring and storing AXON information obtained by growing an AXON extending from a node identified by one or more node identifiers among one or more node identifiers determined by the firing node determination unit 133 in a direction indicated by goal information paired with one state determined by the state determination unit 131.
[0116] It is preferable that each of the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 is a node identifier of one or more nodes that meets the AXON growth condition among the one or more node identifiers determined by the firing node determination unit 133. However, the one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 133 may be all of the node identifiers determined by the firing node determination unit 133.
[0117] In addition, obtaining AXON information that has grown an AXON extending from a node means changing the AXON position information contained in the AXON information to position information in which the end point of the AXON indicated by the AXON position information is located farther away from the node.
[0118] The AXON growth conditions are conditions for performing the AXON growth process. The AXON growth conditions are, for example, conditions based on frequency information. The AXON growth conditions are, for example, "the number of firings is equal to or greater than a threshold," "the number of firings is greater than a threshold," "the firing frequency is equal to or greater than a threshold," or "the firing frequency is greater than a threshold." The AXON growth conditions may be the same as the growth conditions, or may be different.
[0119] In addition, the process of growing an AXON extending from a node is a process of obtaining position information in the direction indicated by the goal information from the AXON position information contained in the AXON information that pairs with the node identifier that identifies the node, and setting this position information as the AXON position information. (3) Node generation process
[0120] The growth unit 134 performs, for example, a node generation process. The node generation process is a process of generating new node information. That is, the growth unit 134 performs a node generation process to generate and store node information of a new node at a position in the vicinity of a position indicated by node position information of a node identified by one or more node identifiers among the one or more node identifiers acquired by the firing node determination unit 133, which is a position in a direction indicated by goal information paired with one state determined by the state determination unit 131.
[0121] The growth unit 134 acquires, for example, a new node identifier. The growth unit 134 also acquires new node position information, for example, of a position in the direction indicated by the goal information paired with one state determined by the state determination unit 131, which is a predetermined distance away from the position indicated by the node position information of the target node (firing node). The growth unit 134 also acquires, for example, information (for example, firing condition or firing probability information) included in the node information of the target node. The growth unit 134 then constructs node information including, for example, one or more pieces of information selected from the new node identifier, the new node position information, and the firing condition or firing probability information, and stores the node information in the NN storage unit 113.
[0122] It is preferable that the one or more node identifiers among the one or more node identifiers are, for example, one or more node identifiers included in the node information that matches the node generation condition among the one or more node identifiers. However, the one or more node identifiers among the one or more node identifiers may be, for example, all of the one or more node identifiers. The node generation condition may be the same as the growth condition, or may be different. Furthermore, the node generation condition may be common to all nodes of interest, or may be different for each node. When the node generation condition is different for each node, for example, the node information has the node generation condition. (4) Glial cell generation treatment
[0123] It is preferable that the growth unit 134 perform the following glial cell generation process. That is, for example, when the amount of energy possessed by an element that is a node or edge becomes so small relative to the amount of required energy that a predetermined condition is satisfied, the growth unit 134 generates glial cell information connected to the element. Note that the element may be an AXON or a Dendrite. That is, when the amount of energy possessed by an element that is an AXON or a Dendrite becomes so small relative to the amount of required energy that a predetermined condition is satisfied, the growth unit 134 generates glial cell information connected to the element.
[0124] The predetermined condition is, for example, "reserved energy amount < required energy amount", or "reserved energy amount <= required energy amount", or "reserved energy amount - required energy amount <= threshold", or "reserved energy amount - required energy amount < threshold".
[0125] More specifically, the growth unit 134, for example, determines whether the amount of retained energy indicated by the retained energy amount information contained in the information of each element (node information, edge information, AXON information, or Dendrites information) is small enough to satisfy predetermined conditions by comparing it with the amount of required energy indicated by the required energy amount information contained in the information of each element, and if it determines that the amount is small, generates glial cell information having an identifier that identifies the element (node identifier, edge identifier, AXON identifier, or Dendrites identifier) and stores it in the storage unit 11.
[0126] The output unit 14 outputs various types of information, such as the identifier of the fired node, the NN information in the NN storage unit 113, and the state identifier acquired by the state determination unit 131.
[0127] The various types of information are, for example, information that graphically represents the NN information. In this case, the processing unit 13 constructs a diagram (e.g., a sphere) of the nodes that make up the NN from the node information contained in the NN information, and constructs a diagram (e.g., a line) of the edges that make up the NN from the edge information. The processing unit 13 also arranges the node diagram (e.g., a sphere) at the position in virtual space indicated by the node position information contained in each node information, arranges a diagram (e.g., a line) of the edge whose end point is the position in virtual space indicated by the edge position information contained in each edge information, and constructs a diagram that clearly shows that the node to which the edge is connected and the diagram (e.g., a line) of the edge are connected.
[0128] Here, output is a concept that includes displaying on a display, projection using a projector, printing on a printer, sound output, transmission to an external device, storage on a recording medium, and delivery of processing results to other processing devices or other programs.
[0129] 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 may also be realized as volatile recording media.
[0130] There is no restriction on the process by which information is stored in the storage unit 11 etc. For example, information may be stored in the storage unit 11 etc. via a recording medium, information transmitted via a communication line etc. may be stored in the storage unit 11 etc., or information input via an input device may be stored in the storage unit 11 etc.
[0131] The reception unit 12 and the information reception unit 121 may be realized by a device driver for an input means such as a touch panel or a keyboard, or control software for a menu screen. The reception unit 12 and the like may also be realized by a wireless or wired communication means. The reception unit 12 and the information reception unit 121 may also be realized by a processor, a memory, etc.
[0132] 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, etc. The processing procedures of the processing unit 13, etc. are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, they may also be realized by hardware (dedicated circuit). The processor may be a CPU, MPU, GPU, etc., and the type is not important.
[0133] The output unit 14 may or may not include an output device such as a display, a speaker, etc. The output unit 14 may be realized by driver software for an output device, or by a combination of driver software for an output device and the output device, etc.
[0134] Next, an example of the operation of the NN growth apparatus 1 will be described with reference to the flowchart of FIG.
[0135] (Step S201) The information receiving unit 121 determines whether or not sound information and heartbeat information have been received. If sound information and heartbeat information have been received, the process proceeds to step S202, and if not, the process returns to step S201.
[0136] (Step S202) The state determining unit 131 acquires the heart rate information received in step S201.
[0137] (Step S203) The state determination unit 131 acquires state determination information from the storage unit 11. Using the state determination information and the heartbeat information acquired in step S202, the state determination unit 131 acquires a state identifier that identifies the state to which the heartbeat information corresponds.
[0138] (Step S204) The feature acquisition unit 132 acquires the sound information received in step S201.
[0139] (Step S205) The feature acquisition unit 132 acquires one or more pieces of feature information from the sound information acquired in step S204.
[0140] (Step S206) The growing unit 134 and the like perform the growing process. Return to step S201. An example of the growing process will be described with reference to the flowchart in FIG.
[0141] The growth process is a process of constructing the neural network information stored in the NN storage unit 113.
[0142] 2, there is a slight delay before the effect of the heard sound appears in the heartbeat information, so it is preferable that the sound information and heartbeat information used in the growth process are heartbeat information acquired a little later than the time the sound information was acquired. In other words, when the heartbeat information and the sound information are each associated with time information specifying the time of acquisition, it is preferable that the time information "T1" paired with the heartbeat information used by the state determination unit 131 to determine the state and the time information "T2" paired with the sound information from which the feature acquisition unit 132 acquires feature information satisfy "T1>T2." It is also preferable that "T1-T2=α (α is a positive number)."
[0143] In the flowchart of FIG. 2, the process ends when the power is turned off or an interrupt occurs to end the process.
[0144] Next, an example of the growth process in step S206 will be described with reference to the flowchart in FIG.
[0145] (Step S301) The ignition node determination unit 133 assigns 1 to a counter i.
[0146] (Step S302) The ignition node determination unit 133 determines whether or not the i-th feature information exists among the feature information acquired in step S205. If the i-th feature information exists, the process proceeds to step S303; if not, the process returns to the upper level process.
[0147] (Step S303) The firing node determination unit 133 acquires node identifiers contained in one or more pieces of firing start point information that are satisfied by the i-th feature information from the start point storage unit 111. The firing node determination unit 133 composes firing information including the node identifiers and stores it in the storage unit 11. It is preferable that the firing node determination unit 133 acquires 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. The one or more node identifiers are identifiers of the node that will fire first. Also, the node identifiers are firing node identifiers.
[0148] (Step S304) The ignition node determination unit 133 assigns 1 to a counter j.
[0149] (Step S305) The ignition node determination unit 133 determines whether or not the j-th ignition node identifier exists among the ignition node identifiers acquired in step S303. If the j-th ignition node identifier exists, the process proceeds to step S306; if not, the process proceeds to step S309.
[0150] (Step S306) The firing node determination unit 133 updates the number of times information included in the node information corresponding to the j-th firing node identifier 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 determination 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 with the number of times information added by 1.
[0151] (Step S307) The growing unit 134 performs a growing 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 growing process is called a single-node process. An example of the single-node process will be described with reference to the flowchart in FIG. 4.
[0152] (Step S308) The ignition node determination unit 133 increments the counter j by 1. The process returns to step S305.
[0153] (Step S309) The ignition node determination unit 133 increments the counter i by 1. The process returns to step S302.
[0154] Next, an example of the single-node processing in step S307 will be described with reference to the flowchart in FIG.
[0155] (Step S401) The growing unit 134 performs a process of generating a new node for a node of interest identified by a node of interest identifier. An example of such a node generation process will be described with reference to the flowchart of FIG.
[0156] (Step S402) The growing unit 134 performs processing to generate an edge connected to the node of interest. An example of such edge generation processing will be described with reference to the flowchart of FIG.
[0157] (Step S403) The growing unit 134 performs a process of growing an edge connected to the node of interest. An example of such an edge growing process will be described with reference to the flowchart of FIG.
[0158] (Step S404) The ignition node determination unit 133 performs ignition transmission processing. An example of the ignition transmission processing will be described with reference to the flowchart in Fig. 11. Note that the ignition transmission processing is a processing in which feature information is transmitted from a node of interest and a node to be ignited is determined.
[0159] (Step S405) The ignition node determination unit 133 assigns 1 to a counter j.
[0160] (Step S406) The ignition node determination unit 133 determines whether or not the j-th ignition node identifier exists among the ignition node identifiers of the nodes determined to be ignited in step S404. If the j-th ignition node identifier exists, the process proceeds to step S407; if not, the process returns to the upper processing.
[0161] (Step S407) The ignition node determination unit 133 increments the number of times information paired with the j-th ignition node identifier.
[0162] (Step S408) The growing unit 134 etc. performs single-node processing with the ignition node identified by the j-th ignition node identifier as the node of interest. An example of the single-node processing will be described with reference to the flowchart of FIG.
[0163] (Step S409) The ignition node determination unit 133 increments the counter j by 1. The process returns to step S406.
[0164] Next, an example of the node generation process in step S401 will be described with reference to the flowchart in FIG.
[0165] (Step S501) The growing unit 134 acquires node information corresponding to a node identifier of interest from the NN storage unit 113.
[0166] (Step S502) The growing unit 134 acquires a node generation condition.
[0167] (Step S503) The growth unit 134 determines whether the node information acquired in step S501 satisfies the node generation condition acquired in step S502. If the node generation condition is satisfied, the process proceeds to step S504, and if the node generation condition is not satisfied, the process returns to the upper level process.
[0168] (Step S504) The growing unit 134 performs node information generation processing. An example of the node information generation processing will be described with reference to the flowchart in FIG.
[0169] (Step S505) The growing unit 134 accumulates the node information configured in step S504 in the NN storage unit 113. The process returns to the upper level processing.
[0170] Next, an example of the node information generation process in step S504 will be described with reference to the flowchart in FIG.
[0171] (Step S601) The growing unit 134 acquires node position information included in the node of interest information identified by the node of interest identifier.
[0172] (Step S602) The growth unit 134 acquires, from the goal storage unit 112, the goal information corresponding to the state identifier acquired in step S203.
[0173] (Step S603) The growth unit 134 uses the node position information acquired in step S601 and the goal information acquired in step S602 to acquire node position information indicating a position in a direction specified by the goal information relative to the position indicated by the node position information acquired in step S601. This node position information is the position information of the new node.
[0174] For example, 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 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 node position information indicating a position that is between the position indicated by the node position information acquired in step S601 and the node position information of the other node in the direction specified by the goal information and that is within a predetermined distance. In other words, when acquiring node position information of a new node, it is sufficient for the growth unit 134 to acquire node position information in the direction specified by the goal information, and the node position information does not matter.
[0175] (Step S604) The growing unit 134 acquires a node identifier of the new node. The growing unit 134 generates a new node identifier. However, the growing unit 134 may acquire an unused node identifier from the set of node identifiers.
[0176] (Step S605) The growing unit 134 acquires information to be used for the node information of the new node and included in the node information acquired in step S501. Note that such information includes, for example, ignition conditions, ignition probability information, and possessed energy amount information.
[0177] (Step S606) The growing unit 134 generates node information having the node identifier acquired in step S604, the node position information acquired in step S603, and the information acquired in step S605, and then returns to the upper processing.
[0178] Next, an example of the edge generation process in step S402 will be described with reference to the flowchart in FIG.
[0179] (Step S701) The growing unit 134 acquires node information identified by the node identifier of interest from the NN storage unit 113.
[0180] (Step S702) The growing unit 134 acquires edge generation conditions.
[0181] (Step S703) The growing unit 134 determines whether or not the node information acquired in step S701 satisfies the edge generation condition. If the edge generation condition is satisfied, the process proceeds to step S704, and if not, the process returns to the upper level process.
[0182] (Step S704) The growing unit 134 performs edge information generation processing. An example of the edge information generation processing will be described with reference to the flowchart of FIG.
[0183] (Step S705) The growing unit 134 stores the edge information constructed in step S704 in the NN storage unit 113. The process returns to the upper level process.
[0184] Next, an example of the edge information generation process in step S704 will be described with reference to the flowchart in FIG.
[0185] (Step S801) The growth unit 134 acquires, from the goal storage unit 112, goal information corresponding to the state identifier acquired in step S203.
[0186] (Step S802) The growing 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 growing unit 134 acquires edge position information of an edge that extends in the direction of the 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.
[0187] The growing 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, for example, the growing unit 134 acquires the node position information of the other node as edge position information. That is, here, the generated edge becomes an edge that connects the node corresponding to the node position information acquired in step S601 with the other node. For example, when another node exists in the direction specified by the goal information from the position indicated by the node position information acquired in step S601, and the distance between the position indicated by the node position information acquired in step S601 and the position indicated by the node position information of the other node is equal to or greater than a threshold, 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, and when the distance between the position indicated by the node position information acquired in step S601 and the position indicated by the node position information of the other node is equal to or less than a threshold that is smaller than the threshold, the growth unit 134 acquires the node position information of the other node as edge position information. In other words, the growth unit 134 only needs to acquire edge position information of an edge that extends in the direction of the goal information from the node position information as a starting point, and the edge position information is not important.
[0188] (Step S803) The growing unit 134 acquires an edge identifier of a new edge. For example, the growing unit 134 generates an edge identifier of an edge. For example, the growing unit 134 acquires an unused edge identifier from a raw set of edge identifiers.
[0189] (Step S804) The growing unit 134 acquires the node identifier (target node identifier) of the node to which the edge is connected. Here, the growing unit 134 acquires the node identifier that pairs with the node position information acquired in step S601. The growing unit 134 may also acquire the node identifier of a newly connected node.
[0190] (Step S805) The growing unit 134 generates 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, and then returns to the upper-level processing.
[0191] In the flowchart of FIG. 8, the edge corresponding to the generated edge information may be in a state where there is no node connected ahead, or may be in a state where there is a node connected ahead.
[0192] If there is a node connected to the edge corresponding to the generated edge information, the growing unit 134 acquires the node identifier paired with the node position information of the position in the direction of the goal information as the node identifier of the connected node. Note that when the growing unit 134 always configures and stores edge information so that a generated edge connects two nodes, edge growing processing is not usually performed.
[0193] Next, an example of the edge growing process in step S403 will be described with reference to the flowchart in FIG.
[0194] (Step S901) The growing unit 134 acquires node information identified by the node identifier of interest from the NN storage unit 113.
[0195] (Step S902) The growing unit 134 assigns 1 to the counter i.
[0196] (Step S903) The growing unit 134 determines whether or not the i-th edge information exists in the NN storage unit 113. If the i-th edge information exists, the process proceeds to step S904, and if not, the process returns to the upper level process.
[0197] (Step S904) The growing unit 134 acquires the i-th edge information from the NN storage unit 113.
[0198] (Step S905) The growing unit 134 determines whether or not a node is connected to the end of the edge corresponding to the i-th edge information. More specifically, the growing unit 134 determines whether or not the node identifier included in the i-th edge information is only the target node identifier. If it is only the target node identifier, the process proceeds to step S906, and if it is not only the target node identifier (if two node identifiers exist), the process proceeds to step S909. Note that edge information including only the target node identifier is edge information of an edge that is connected to the target node and can grow.
[0199] (Step S906) The growing unit 134 acquires edge growing conditions.
[0200] (Step S907) The growing unit 134 determines whether or not the edge information acquired in step S904 satisfies the edge growing condition. If the edge growing condition is satisfied, the process proceeds to step S908, and if not, the process proceeds to step S909.
[0201] Here, the growing unit 134 may determine whether or not 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.
[0202] (Step S908) The growing unit 134 performs edge extension processing. An example of the edge extension processing will be described with reference to the flowchart of FIG.
[0203] Note that edge extension processing is processing for extending the length of an edge, and is usually processing for changing edge position information or processing for adding the node identifier of the connection destination node to edge information.
[0204] (Step S909) The growing unit 134 increments the counter i by 1. The process returns to step S903.
[0205] In the flowchart of FIG. 9, the edge growth process may be replaced with a dendrites growth process for dendrites that form an edge, or an axon growth process for axons.
[0206] Next, an example of the edge extension process in step S908 will be described with reference to the flowchart in FIG.
[0207] (Step S1001) The growing unit 134 acquires edge position information included in the acquired edge information.
[0208] (Step S1002) The growth unit 134 acquires goal information.
[0209] (Step S1003) The growth unit 134 acquires new edge position information and updates the edge position information using the edge position information acquired in step S1001 and the goal information acquired in step S1002. Note that the growth unit 134 acquires position information that identifies the position in the direction indicated by the goal information from the edge position information.
[0210] For example, the growing 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 another node exists in the direction specified by the goal information from the position indicated by the edge position information acquired in step S1001, the growing unit 134 acquires edge position information indicating a position that is between the position indicated by the edge position information and the node position information of the other node in the direction specified by the goal information and that is a distance that is within a predetermined distance. In other words, when acquiring new edge position information, the growing unit 134 only needs 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.
[0211] (Step S1004) The growing unit 134 assigns 1 to the counter i.
[0212] (Step S1005) The growing unit 134 determines whether or not the i-th node information exists in the NN storage unit 113. If the i-th node information exists, the process proceeds to step S1006, and if not, the process returns to the upper level process.
[0213] (Step S1006) The growing unit 134 acquires the node position information included in the i-th node information.
[0214] (Step S1007) The growing unit 134 determines whether or not the node position information acquired in step S1006 satisfies the connection condition. If the connection condition is satisfied, the process proceeds to step S1008; if not, the process proceeds to step S1011. The connection condition is a condition for an edge to be connected 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 or is smaller than the threshold.
[0215] (Step S1008) The growing unit 134 acquires the node identifier included in the i-th node information.
[0216] (Step S1009) The growing unit 134 changes the edge position information updated in step S1003 to the node position information included in the i-th node information.
[0217] (Step S1010) The growing unit 134 adds the node identifier acquired in step S1008 to the acquired edge information, and returns to the upper level processing.
[0218] (Step S1011) The growing unit 134 increments the counter i by 1. The process returns to step S1005.
[0219] In the flowchart of FIG. 10, the edge extension process may be replaced with a Dendrites extension process of the Dendrites that make up the edge, or an AXON extension process of the AXON.
[0220] 10, after the process of step S1010, the process may proceed to step S1011. In such a case, one edge may branch and be connected to two or more nodes.
[0221] In addition, in step S1007 of the flowchart in Figure 10, the distance between the new edge position information acquired in step S1003 and the node position information of each node may be calculated, and it may be determined whether the node position information of the node with the smallest distance satisfies the connection condition.
[0222] Next, an example of the firing transmission process in step S404 will be described with reference to the flowchart of FIG.
[0223] (Step S1101) The firing node determination unit 133 acquires all edge information including firing node identifiers from the NN storage unit 113.
[0224] (Step S1102) The ignition node determination unit 133 assigns 1 to a counter i.
[0225] (Step S1103) The ignition node determination 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 proceeds to step S1104, and if not, the process returns to the upper process.
[0226] (Step S1104) The ignition node determination unit 133 determines whether or not the node identifier of another node exists in the i-th edge information. If the node identifier of another node exists, the process proceeds to step S1105; if not, the process proceeds 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.
[0227] (Step S1105) The ignition node determination unit 133 acquires the node identifier of another node in the i-th edge information. Next, the ignition node determination unit 133 acquires the node information of the node identified by the node identifier from the NN storage unit 113.
[0228] (Step S1106) The ignition node determination unit 133 uses the node information acquired in step S1105 to determine whether or not the node corresponding to the node information will ignite. An example of such ignition determination processing will be described with reference to the flowchart in FIG.
[0229] (Step S1107) If the determination result in step S1106 is "fire", the ignition node determination unit 133 proceeds to step S1108, and if the determination result is "not fire", the ignition node determination unit 133 proceeds to step S1112.
[0230] (Step S1108) The ignition node determination unit 133 acquires ignition information having the node identifier included in the node information acquired in step S1105, and accumulates the ignition information in the storage unit 11.
[0231] (Step S1109) The firing node determination unit 133 changes the firing probability information included in the node information acquired in step S1105. Here, the firing node determination unit 133 changes the firing probability information so that the firing probability specified by the firing probability information increases.
[0232] (Step S1110) The firing node determination unit 133 determines whether or not to terminate the transmission of firing (which can also be called the transmission of information) between nodes. If the transmission is to be terminated, the process proceeds to step S1112, and if the transmission is not to be terminated, the process proceeds to step S1111. Note that the transmission is to be terminated, for example, when the node in question is the terminal node in the NN.
[0233] (Step S1111) The ignition node determination unit 133 performs ignition transmission processing with the node in question as the node of interest. An example of the ignition transmission processing is shown in FIG.
[0234] (Step S1112) The ignition node determination unit 133 increments the counter i by 1. The process returns to step S1103.
[0235] In the flowchart of FIG. 11, when transmitting firing (transmission of information) between nodes, the firing node determination unit 133 preferably updates the retained energy amount information by subtracting the amount of energy indicated by the retained energy amount information contained in the node information that caused the firing. This may also be applied to the retained energy amount information paired with the AXON identifier of the AXON used for the transmission, and the retained energy amount information paired with the Dendrites identifier of the Dendrites used for the transmission. The function for reducing the amount of energy is stored, for example, in the storage unit 11. The function in question is not important. Since the function is a well-known technique, detailed description thereof will be omitted.
[0236] In the flowchart of FIG. 11, the firing node determination unit 133 normally performs processing to pass one or more pieces of feature information received by the firing source node to the firing destination node.
[0237] Next, an example of the firing determination process in step S1106 will be described with reference to the flowchart in FIG.
[0238] (Step S1201) The ignition node determination unit 133 acquires the ignition condition corresponding to the node information acquired in step S1105.
[0239] (Step S1202) The ignition node determination unit 133 acquires one or more pieces of characteristic information. Note that the one or more pieces of characteristic information are characteristic information passed from the node that is the source of ignition.
[0240] (Step S1203) The ignition node determination unit 133 determines whether or not one or more pieces of feature information acquired in step S1202 satisfy the ignition condition acquired in step S1201. If the ignition condition is satisfied, the process proceeds to step S1204, and if the ignition condition is not satisfied, the process proceeds to step S1207.
[0241] (Step S1204) The firing node determination unit 133 determines whether the node information of interest has firing probability information. If it has firing probability information, the process proceeds to step S1205, and if it does not have firing probability information, the process proceeds to step S1206.
[0242] (Step S1205) The firing node determination unit 133 acquires firing probability information included in the node information of interest. Next, the firing node determination unit 133 uses the firing probability information to determine whether or not firing will occur. If firing will occur, the process proceeds to step S1206, and if not, the process proceeds to step S1207.
[0243] (Step S1206) The firing node determination unit 133 assigns "fire" to the judgment result, and returns to the upper level processing.
[0244] (Step S1207) The firing node determination unit 133 assigns "not firing" to the judgment result, and returns to the upper level processing.
[0245] As described above, according to this embodiment, fetal brain growth can be simulated. In other words, according to this embodiment, a fetal brain growth model can be realized. Note that fetal brain growth refers to the growth of nodes, edges, or nodes and edges that make up a neural network based on sound information and heartbeat information.
[0246] The processing in this embodiment may be realized by software. 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. This also applies to other embodiments in this specification. The software that realizes the NN growing device 1 in this embodiment is the following program. That is, this program includes: a computer that can access an NN storage unit that stores neural network information having two or more pieces of node information each having a node identifier and one or more pieces of edge information each having an edge identifier and specifying connections between nodes; a start point storage unit that stores one or more pieces of firing start point information each having an information identifier that identifies feature information of sound information and one or more node identifiers that identify nodes that will fire first when the feature information is received; and a goal storage unit that stores goal information that specifies goals corresponding to two or more states including positive and negative; an information receiving unit that receives sound information and heartbeat information; a state determination unit that determines one state from the two or more states using the heartbeat information received by the information receiving unit; and a feature acquisition unit that acquires one or more feature information for the sound information using the sound information received by the feature acquisition unit; an ignition node determination unit that determines, from the starting point storage unit, a node identifier of a node to be ignited, which is a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit, and determines the node identifier of a node to be ignited, which is a node connected by an edge to a node identified by the one or more node identifiers and to which the feature information is passed; and a growth unit that acquires the goal information that pairs with the one state determined by the state determination unit, and performs processing to grow, using the goal information, node information or edge information corresponding to each of the one or more node identifiers determined by the ignition node determination unit.
[0247] (Embodiment 2) In this embodiment, an information processing device will be described that uses neural network information generated by an NN generating device to obtain a firing pattern for received sound information and outputs information for the firing pattern.
[0248] In this embodiment, an information processing device in which the speed of information transmission between nodes changes depending on temperature information will be described.
[0249] 13 is a block diagram of information processing device 2 according to the present embodiment. Information processing device 2 includes a storage unit 21, a reception unit 22, a processing unit 23, and an output unit 24. Storage unit 21 includes an NN storage unit 113. Reception unit 22 includes an information reception unit 221 and a temperature reception unit 222. Processing unit 23 includes a feature acquisition unit 231, an information transmission unit 232, an ignition pattern acquisition unit 233, and an output information acquisition unit 234. Output unit 24 includes an information output unit 241.
[0250] 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 pieces of firing start point information, and one or more pieces of output management information.
[0251] The firing start point information is information that includes an information identifier that identifies the feature information of the sound information, and one or more node identifiers that identify the node that will be fired first when the feature information is received.
[0252] The output management information is information that includes output conditions and output information, and may be information that pairs the output conditions and the output information.
[0253] An output condition is a condition used to determine output information. An output condition is a condition for output using a firing pattern. An output condition may be the firing pattern itself, or information having a firing pattern and output probability information. Output probability information is information regarding the probability for obtaining output information. An output condition may be information regarding a firing pattern and a lower limit of the number of node identifiers that the applied firing pattern has, or information regarding a lower limit of the ratio of node identifiers that the applied firing pattern has. A firing pattern has one or more node identifiers. A firing pattern is a pattern of firing one or more nodes. Output information is information corresponding to a firing pattern.
[0254] The output information is, for example, emotional information relating to the emotions of a person (especially a fetus), behavioral information relating to the body movements of a person (especially a fetus), etc. Emotional information is, for example, happy, sad, frightened, surprised, etc. Emotional information is, for example, an ID that identifies an emotion. Emotional information may also be the above-mentioned state identifier. Behavioral information is, for example, information reflected in the movements of an avatar (character). Behavioral information is, for example, information reflected in the movements of an avatar of a fetus inside a pregnant woman's womb. Note that the technology for operating an avatar is well known, so a detailed description will be omitted.
[0255] The output condition may be a condition that uses the firing pattern and information about one or more pieces of external information. The external information is information from the outside. The external information may also be called user context. Examples of the external information include temperature, weather, smell, sound, light, etc.
[0256] The NN storage unit 113 stores neural network information accumulated by the NN growing device 1.
[0257] The receiving unit 22 receives various types of information, such as sound information and temperature information.
[0258] The information receiving unit 221 receives sound information. For example, the information receiving unit 221 receives sound information captured by a microphone. The information receiving unit 221 may also receive heart rate information.
[0259] Here, reception is a concept that includes reception of information input from an input device such as a microphone, reception of information transmitted via a wired or wireless communication line, and reception of information read from a recording medium such as an optical disk, a magnetic disk, or a semiconductor memory.
[0260] The temperature receiving unit 222 receives temperature information. The temperature information is information that specifies a temperature. The temperature is, for example, the temperature of the external environment.
[0261] Here, reception is a concept that includes reception of information input from input devices such as a microphone, keyboard, mouse, or touch panel, reception of information transmitted via a wired or wireless communication line, and reception of information read from recording media such as an optical disk, magnetic disk, or semiconductor memory.
[0262] The processing unit 23 performs various types of processing, such as processing performed by a feature acquisition unit 231, an information transmission unit 232, an ignition pattern acquisition unit 233, and an output information acquisition unit 234.
[0263] The feature acquisition unit 231 acquires one or more pieces of feature information for the sound information, using the sound information accepted by the information acceptance unit 221. The processing performed by the feature acquisition unit 231 may be the same as the processing performed by the feature acquisition unit 132.
[0264] The information transmission unit 232 determines, from one or more pieces of firing start point information, a node identifier corresponding to one or more pieces of feature information acquired by the feature acquisition unit 231. Such a node identifier is the identifier of a node that will fire. Moreover, such a node identifier is the identifier of a node that will fire in the first stage.
[0265] Next, the information transmission unit 232 determines the node identifier of a node that is connected by an edge to the node identified by the one or more determined node identifiers, receives the feature information, and is to fire.
[0266] The information transmission unit 232 performs an information transmission process, which is a process of passing feature information from one firing node to the next firing node. The next firing node is a node that is connected to the one firing node by one edge and is determined to fire.
[0267] 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 (for example, count information included in the node information) satisfies the firing condition. Then, the information transmission unit 232 composes and stores firing information including the node identifier included in the node information that satisfies the firing condition.
[0268] It is preferable that the information transmission unit 232 changes the processing time for performing the information transmission process according to the temperature information received by the temperature reception unit 222. For example, the information transmission unit 232 performs the information transmission process more quickly when the temperature information indicates a high temperature than when the temperature information indicates a lower temperature. For example, the information transmission unit 232 delays the information transmission process when the temperature information indicates a low temperature compared to when the temperature information indicates a higher temperature. For example, the information transmission unit 232 delays the information transmission process for a predetermined time when a delay condition is met. Delaying the information transmission process means, for example, waiting for a predetermined time. The delay condition is a condition for delaying the process and is a condition based on the temperature information. The delay condition is, for example, "temperature information<=threshold value" or "temperature information<threshold value."
[0269] It is preferable that the information transmission unit 232 increases the firing probability information included in the node information of the firing node, because the more a node fires, the easier it becomes to fire that node.
[0270] The firing pattern acquisition unit 233 acquires a firing pattern using one or more node identifiers determined by the information transmission unit 232. A firing pattern is a collection of information that identifies one or more firing nodes. A firing pattern is usually information that identifies nodes that fire simultaneously. A firing pattern has one or more node identifiers.
[0271] It is preferable that the firing pattern acquisition unit 233 acquires a firing pattern having one or more node identifiers of the nodes that finally fired. Note that the node that finally fired is a node that, among the nodes that fired, did not transmit information to other nodes connected by edges.
[0272] 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, for example, and acquires output information corresponding to the output condition satisfied by the firing pattern acquired by the firing pattern acquisition unit 233.
[0273] The output information acquisition unit 234, for example, refers to one or more pieces of output management information in the storage unit 21 and determines a firing pattern of an output condition 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 output information, for example, with a probability based on output probability information paired with the determined firing pattern, and if it is determined to acquire the output information, acquires the output information contained in the output management information.
[0274] The output unit 24 outputs various types of information, such as output information.
[0275] The information output unit 241 outputs the output information acquired by the output information acquisition unit 234 .
[0276] The storage unit 21 and the NN storage unit 113 are preferably non-volatile recording media, but can also be realized as volatile recording media.
[0277] There is no restriction on the process by which information is stored in the storage unit 21 etc. For example, information may be stored in the storage unit 21 etc. via a recording medium, information transmitted via a communication line etc. may be stored in the storage unit 21 etc., or information input via an input device may be stored in the storage unit 21 etc.
[0278] The reception unit 22, the information reception unit 221, and the temperature reception unit 222 are realized, for example, by a microphone, a wireless or wired communication means, a means for receiving broadcasts, a device driver for an input means such as a touch panel or keyboard, or control software for a menu screen.
[0279] 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, a memory, etc. The processing procedures of the processing unit 23, etc. are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, they may also be realized by hardware (dedicated circuit). The processor may be a CPU, MPU, GPU, etc., and the type is not important.
[0280] The output unit 24 and the information output unit 241 may or may not include output devices such as a display, a speaker, etc. The output unit 24, etc. may be realized by driver software for an output device, or a combination of driver software for an output device and an output device, etc.
[0281] Next, an example of the operation of the information processing device 2 will be described with reference to the flowchart of FIG.
[0282] (Step S1401) The information receiving unit 221 determines whether or not sound information has been received. If sound information has been received, the process proceeds to step S1402, and if sound information has not been received, the process returns to step S1401.
[0283] (Step S1402) The feature acquisition unit 231 acquires one or more pieces of feature information from the sound information accepted in step S1401.
[0284] (Step S1403) The temperature receiving unit 222 acquires temperature information.
[0285] (Step S1404) The information transmission unit 232 performs information transmission processing within the neural network. An example of the information transmission processing will be described with reference to the flowchart in FIG.
[0286] (Step S1405) The firing pattern acquisition unit 233 acquires a firing pattern having one or more node identifiers of the node that fired last in step S1404. Note that the node that fired last is a node that fired and did not pass its feature information to other nodes.
[0287] (Step S1406) The output information acquisition unit 234 acquires output information corresponding to the firing pattern acquired in step S1405.
[0288] (Step S1407) If the output information can be acquired in step S1406, the process proceeds to step S1408, and if not, the process returns to step S1401.
[0289] (Step S1408) The information output unit 241 outputs the information acquired in step S1406. The process returns to step S1401.
[0290] 14, the information receiving unit 221 may also receive heart rate information. The processing unit 23 may have a state determining unit 131 and a growth unit 134 and may perform the growth process described above.
[0291] In the flowchart of FIG. 14, the process ends when the power is turned off or an interrupt occurs to end the process.
[0292] Next, an example of the information transmission process in step S1404 will be described with reference to the flowchart in FIG.
[0293] (Step S1501) The information transmission unit 232 assigns 1 to a counter i.
[0294] (Step S1502) The information transmission unit 232 determines whether or not the i-th feature information exists among the feature information acquired in step S1302. If the i-th feature information exists, the process proceeds to step S1503; if not, the process returns to the upper level process.
[0295] (Step S1503) The information transmission unit 232 refers to one or more pieces of firing start point information in the storage unit 21, and acquires node identifiers contained in each of the one or more pieces of firing start point information that the i-th feature information satisfies. The information transmission unit 232 composes firing information including the node identifiers, and stores the information in the storage unit 21. It is preferable that the information transmission unit 232 acquires timer information indicating the time of firing from a clock (not shown), composes firing information including the timer information and the node identifiers, and stores the information in the storage unit 21. The one or more node identifiers are identifiers of nodes that fire in the first stage. Also, the node identifiers are firing node identifiers.
[0296] (Step S1504) The information transmission unit 232 assigns 1 to the counter j.
[0297] (Step S1505) The information transmission unit 232 determines whether or not the j-th ignition node identifier exists among the ignition node identifiers acquired in step S1503. If the j-th ignition node identifier exists, the process proceeds to step S1506; if not, the process proceeds to step S1510.
[0298] (Step S1506) 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. Note that the process of adding the i-th feature information to the node is, for example, a process of writing the i-th feature information to the node information of the node, and a process of associating the i-th feature information with the node information of the node.
[0299] (Step S1507) The information transmission unit 232 updates the number of times information included in the node information corresponding to the j-th ignition node identifier to increase it. For example, the information transmission unit 232 reads out the number of times information included in the node information corresponding to the j-th ignition node identifier, and overwrites the number of times information with the number of times information added by 1.
[0300] (Step S1508) The information transmission unit 232 performs next transmission processing using the j-th ignition node identifier as the node identifier of interest. An example of the next transmission processing will be described with reference to the flowchart of FIG.
[0301] The next transmission process is a process of transmitting 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 that will fire. The process of transmitting characteristic information is an information transmission process.
[0302] (Step S1509) The information transmission unit 232 increments the counter j by 1. The process returns to step S1505.
[0303] (Step S1510) The information transmission unit 232 increments the counter i by 1. The process returns to step S1502.
[0304] Next, an example of the next transmission process in step S1508 will be described with reference to the flowchart in FIG.
[0305] (Step S1601) The information transmission unit 232 determines whether the acquired temperature information matches the delay condition. If the delay condition is met, the process proceeds to step S1602, and if the delay condition is not met, the process proceeds to step S1603.
[0306] (Step S1602) The information transmission unit 232 waits. Note that the wait time is preferably determined in advance, but is not limited thereto.
[0307] (Step S1603) The information transmission unit 232 acquires all edge information including the ignition node identifier of interest from the NN storage unit 113.
[0308] (Step S1604) The information transmission unit 232 assigns 1 to the counter i.
[0309] (Step S1605) The information transmission unit 232 determines whether or not the i-th edge information exists among the edge information acquired in step S1601. If the i-th edge information exists, the process proceeds to step S1606, and if not, the process returns to the upper level process.
[0310] (Step S1606) The information transmission unit 232 determines whether or not the node identifier of another node exists in the i-th edge information. If the node identifier of another node exists, the process proceeds to step S1607; if not, the process proceeds to step S1614. The node identifier of another node in the edge information is the node identifier of the node to which the edge is connected. If the node identifier of another node exists in the i-th edge information, the edge is connected to two nodes.
[0311] (Step S1607) The information transmission unit 232 acquires the node identifier of another node in the i-th edge information. Next, the information transmission unit 232 acquires the node information of the node identified by the node identifier from the NN storage unit 113.
[0312] (Step S1608) The information transmission unit 232 uses the node information acquired in step S1607 to determine whether or not the node corresponding to the node information will fire. An example of such firing determination processing will be described with reference to the flowchart in FIG.
[0313] (Step S1609) If the determination result in step S1608 is "fire", the information transmission unit 232 proceeds to step S1610, and if the determination result is "not fire", the information transmission unit 232 proceeds to step S1614.
[0314] (Step S1610) The information transmission unit 232 acquires ignition information having the node identifier included in the node information acquired in step S1607, and accumulates the ignition information in the storage unit 11.
[0315] (Step S1611) The information transmission unit 232 changes the firing probability information included in the node information acquired in step S1607. Here, the information transmission unit 232 changes the firing probability information so that the firing probability specified by the firing probability information increases.
[0316] (Step S1612) The information transmission unit 232 determines whether or not to terminate the transmission of information between nodes. If the transmission is to be terminated, the process proceeds to step S1614; if the transmission is not to be terminated, the process proceeds to step S1613. The transmission is terminated, for example, when the node in question is the terminal node in the NN. Furthermore, when the transmission is to be terminated, the node identifiers contained in the firing information accumulated immediately before in step S1610 are the node identifiers that constitute the firing pattern.
[0317] (Step S1613) The information transmission unit 232 performs next transmission processing with the node in question as the node of interest. An example of the next transmission processing is shown in FIG.
[0318] (Step S1614) The information transmission unit 232 increments the counter i by 1. The process returns to step S1605.
[0319] In the flowchart of FIG. 16, when transmitting information between nodes, the information transmission unit 232 preferably updates the retained energy amount information by subtracting the amount of energy indicated by the retained energy amount information contained in the node information that caused the ignition. This may also be applied to the retained energy amount information paired with the AXON identifier of the AXON used for the transmission, and the retained energy amount information paired with the Dendrites identifier of the Dendrites used for the transmission. The function for reducing the amount of energy is stored, for example, in the storage unit 21. The function in question is not important. Because the function is a well-known technique, detailed description thereof will be omitted.
[0320] Next, an example of the firing determination process in step S1608 will be described with reference to the flowchart in FIG.
[0321] (Step S1701) The information transmission unit 232 acquires the firing condition corresponding to the node information acquired in step S1605. Note that the firing condition may be different for each node, or may be common to two or more nodes.
[0322] (Step S1702) The information transfer unit 232 acquires one or more pieces of characteristic information. Here, the one or more pieces of characteristic information are transferred from the node that is the source of firing.
[0323] (Step S1703) The information transmission unit 232 determines whether or not the one or more pieces of feature information acquired in step S1702 satisfy the firing condition acquired in step S1701. If the firing condition is satisfied, the process proceeds to step S1704, and if the firing condition is not satisfied, the process proceeds to step S1707.
[0324] (Step S1704) The information transmission unit 232 determines whether the node information of interest has firing probability information. If it has firing probability information, the process proceeds to step S1705, and if it does not have firing probability information, the process proceeds to step S1706.
[0325] (Step S1705) The information transmission unit 232 acquires firing probability information included in the node information of interest. Next, the information transmission unit 232 uses the firing probability information to determine whether or not firing will occur. If firing will occur, the process proceeds to step S1706, and if not, the process proceeds to step S1707.
[0326] (Step S1706) The information transmission unit 232 assigns "fire" to the determination result, and returns to the upper level processing.
[0327] (Step S1707) The information transmission unit 232 assigns "does not fire" to the determination result, and returns to the upper level processing.
[0328] As described above, according to this embodiment, it is possible to simulate the behavior of the developing brain of a fetus.
[0329] In this embodiment, the information processing device may also realize the growth process performed by the neural network growth device 1. In such a case, the information processing device can output output information for received sound information while growing a neural network. In addition, the information processing device 3 in this case has the configuration of the information processing device 2, and also has a state determination unit 131 and a growth unit 134 that the neural network growth device 1 has. A block diagram of the information processing device 3 in this case is shown in FIG. 18.
[0330] 18, the processing of the firing node determination unit 133 of the NN growing device is performed by the information transmission unit 232. Also, the feature acquisition unit 231 is the same as the feature acquisition unit 132.
[0331] The software for realizing the information processing device 2 in this embodiment is the following program. That is, this program includes a computer that can access an NN storage unit in which neural network information accumulated by the NN growing device 1 is stored, an information receiving unit that receives sound information, a feature acquisition unit that uses the sound information received by the information receiving unit to acquire one or more feature information for the sound information, an information transmission unit that determines a node identifier of a node that will fire, which is a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit, from a start point storage unit that stores one or more firing start point information having an information identifier that identifies the feature information of the sound information and one or more node identifiers that identify a node that will fire first when the feature information is received, and that is connected by an edge to the node identified by the one or more node identifiers and that will receive the feature information, and a firing pattern acquisition unit that acquires a firing pattern using the one or more node identifiers determined by the information transmission unit. The program functions as an output information acquisition unit that acquires output information corresponding to the firing pattern acquired by the firing pattern acquisition unit, and an information output unit that outputs the output information.
[0332] 19 shows the appearance of a computer that executes the programs described in this specification to realize the NN growth device 1, information processing device 2, and information processing device 3 of the various embodiments described above. The above-described embodiments can be realized by computer hardware and a computer program executed thereon. FIG. 19 is an overview of this computer system 300, and FIG. 20 is a block diagram of the system 300.
[0333] In FIG. 19, a computer system 300 includes a computer 301 including a CD-ROM drive, a keyboard 302, a mouse 303, a monitor 304, and a microphone 305.
[0334] 20, computer 301 includes, in addition to CD-ROM drive 3012, MPU 3013, bus 3014 connected to CD-ROM drive 3012 etc., ROM 3015 for storing programs such as a boot-up program, RAM 3016 connected to MPU 3013 for temporarily storing instructions of application programs and providing temporary storage space, and hard disk 3017 for storing application programs, system programs, and data. Although not shown here, computer 301 may further include a network card for providing connection to a LAN.
[0335] A program that causes the computer system 300 to execute the functions of the NN growth device 1 and the like of the above-described embodiment may be stored on a CD-ROM 3101, inserted into the CD-ROM drive 3012, and then transferred to the hard disk 3017. Alternatively, 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 the RAM 3016 when executed. The program may also be loaded directly from the CD-ROM 3101 or the network.
[0336] 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 device 1 of the above-described embodiment. The program only needs to include instructions that call appropriate functions (modules) in a controlled manner and achieve desired results. How the computer system 300 operates is well known, and a detailed description thereof will be omitted.
[0337] In addition, in the above program, the steps of transmitting information and receiving information do not include processing performed by hardware, such as processing performed by a modem or interface card in the transmission step (processing that can only be performed by hardware).
[0338] The computer that executes the program may be a single computer or a plurality of computers, that is, it may perform centralized processing or distributed processing.
[0339] Furthermore, in each of the above embodiments, it goes without saying that two or more communication means present in one device may be physically realized by one medium.
[0340] Furthermore, in each of the above embodiments, each process may be realized by centralized processing in a single device, or may be realized by distributed processing in a plurality of devices.
[0341] The present invention is not limited to the above-described embodiment, and various modifications are possible, and it goes without saying that these modifications are also included within the scope of the present invention. [Industrial Applicability]
[0342] As described above, the neural network growth device 1 according to the present invention has the effect of being able to simulate fetal brain growth, and is useful as a neural network growth device or the like.
Claims
1. an NN storage unit in which neural network information is stored, the neural network information having two or more pieces of node information each having a node identifier and one or more pieces of edge information each having an edge identifier and specifying a connection between the nodes; a start point storage unit in which one or more pieces of firing start point information are stored, the information identifier identifying feature information of the sound information and one or more node identifiers identifying nodes that will be fired first when the feature information is received; a goal storage unit for storing goal information that identifies goals corresponding to two or more states including positive and negative states; an information receiving unit that receives sound information and heart rate information; a state determination unit that determines one state from the two or more states using the heart rate information received by the information receiving unit; a feature acquisition unit that acquires one or more pieces of feature information for the sound information using the sound information accepted by the information acceptance unit; an ignition node determination unit that determines, from the starting point storage unit, a node identifier of a node that will ignite, the node identifier corresponding to the one or more pieces of feature information acquired by the feature acquisition unit, and that is connected by an edge to the node identified by the one or more node identifiers and receives the feature information, the node identifier of a node that will ignite; a growth unit that acquires the goal information that pairs with the one state determined by the state determination unit, and performs processing to grow node information or edge information corresponding to each of one or more node identifiers among the one or more node identifiers determined by the firing node determination unit using the goal information.
2. the characteristic information has an information identifier for identifying the information and an information amount indicating the size of the information, The firing node determination unit 2. The NN growing device according to claim 1, which determines whether one or more pieces of feature information passed from one or more other nodes connected by edges satisfy a firing condition for one or more pieces of feature information, and determines the node identifier of the node determined to satisfy the firing condition.
3. the node information includes node position information that identifies the position of the node; the goal information includes goal position information that identifies the position of the goal, or goal direction information that indicates the direction of the goal, The growth portion is 2. The neural network growing device according to claim 1, wherein edge generation processing is performed to generate and store edge information for edges extending from nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit in a direction indicated by the goal information paired with the one state determined by the state determination unit.
4. The firing node determination unit accumulating frequency information relating to the number of times of the determined node identifier in association with the node identifier; The growth portion is 4. The neural network growing device according to claim 3, wherein the edge generation process is performed on a node identified by a node identifier corresponding to the number information that matches an edge generation condition.
5. the node information includes node position information that identifies the position of the node; the goal information includes goal position information that identifies the position of the goal, or goal direction information that indicates the direction of the goal, The growth portion is 2. The NN growing device according to claim 1, wherein edge growing processing is performed to acquire and store edge information obtained by growing edges extending from nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit in a direction indicated by the goal information paired with the one state determined by the state determination unit.
6. The firing node determination unit accumulating frequency information relating to the number of times of the determined node identifier in association with the node identifier; The growth portion is 6. The NN growing device according to claim 5, wherein the edge growing process is performed on a node identified by a node identifier corresponding to the number information that matches an edge generation condition.
7. the node information includes node position information that identifies the position of the node; the goal information includes goal position information that identifies the position of the goal, or goal direction information that indicates the direction of the goal, The growth portion is 2. The NN growing device according to claim 1, wherein a node generation process is performed to generate and store node information of a new node at a position in the vicinity of a position indicated by node position information of a node identified by one or more node identifiers among the one or more node identifiers acquired by the firing node determination unit, the position being in the direction indicated by the goal information that pairs with the one state determined by the state determination unit.
8. The firing node determination unit accumulating frequency information relating to the number of times of the determined node identifier in association with the node identifier; The growth portion is 8. The neural network growing apparatus according to claim 7, wherein the node generation process is performed on a node identified by a node identifier corresponding to the number information that matches a node generation condition.
9. the node is soma, The edge has an AXON and dendrites, The NN growing apparatus according to claim 1 , wherein the edge information includes AXON information having an AXON identifier and AXON position information indicating the position of the AXON, and dendrite information having a dendrite identifier and dendrite position information indicating the position of the dendrite.
10. a neural network storage unit for storing neural network information accumulated by the neural network growing device according to any one of claims 1 to 9; an information receiving unit that receives sound information; a feature acquisition unit that acquires one or more pieces of feature information for the sound information using the sound information accepted by the information acceptance unit; an information transmission unit that determines, from the starting point storage unit, a node identifier of a node that will ignite, the node identifier corresponding to the one or more pieces of feature information acquired by the feature acquisition unit, and that is connected to the node identified by the one or more node identifiers by an edge and receives the feature information, the node identifier of the node that will ignite; a firing pattern acquisition unit that acquires firing patterns using one or more node identifiers determined by the information transmission unit; an output information acquisition unit that acquires output information corresponding to the ignition pattern acquired by the ignition pattern acquisition unit; and an information output unit that outputs the output information.
11. Further comprising a temperature receiving unit that receives temperature information, The information transmission unit 11. The information processing device according to claim 10, further comprising: an information transmission process for transmitting the feature information corresponding to the fired node from the fired node to the next fired node; and a processing time for performing the information transmission process is changed depending on the temperature information received by the temperature receiving unit.
12. A method for producing neural network information implemented by an NN growing device including: an NN storage unit for storing neural network information having two or more pieces of node information each having a node identifier and one or more pieces of edge information each having an edge identifier and specifying a connection between the nodes; a start point storage unit for storing one or more pieces of firing start point information each having an information identifier for identifying feature information of sound information and one or more node identifiers for identifying a node that will fire first when the feature information is received; a goal storage unit for storing goal information for specifying a goal corresponding to each of two or more states including positive and negative; an information receiving unit; a state determining unit; a feature acquiring unit; an firing node determining unit; and a growing unit, an information receiving step in which the information receiving unit receives sound information and heart rate information; a state determining step in which the state determining unit determines one state from the two or more states using the heart rate information received in the information receiving step; a feature acquisition step in which the feature acquisition unit acquires one or more pieces of feature information for the sound information by using the sound information accepted in the information acceptance step; an ignition node determination step in which the ignition node determination unit determines, from the starting point storage unit, a node identifier of a node to be ignited, which is a node identifier corresponding to the one or more pieces of feature information acquired in the feature acquisition step, and determines a node identifier of a node to be ignited, which is connected by an edge to the node identified by the one or more node identifiers and receives the feature information; a growth step in which the growth unit acquires the goal information paired with the one state determined in the state determination step, and processes the node information or edge information corresponding to each of one or more node identifiers among the one or more node identifiers determined in the firing node determination step, using the goal information.
13. an NN storage unit in which neural network information is stored, the neural network information having two or more pieces of node information each having a node identifier and one or more pieces of edge information each having an edge identifier and specifying a connection between the nodes; a computer that can access a start point storage unit that stores one or more pieces of firing start point information having an information identifier that identifies feature information of sound information and one or more node identifiers that identify a node that will be fired first when the feature information is received, and a goal storage unit that stores goal information that specifies a goal corresponding to each of two or more states including positive and negative, an information receiving unit that receives sound information and heart rate information; a state determination unit that determines one state from the two or more states using the heart rate information received by the information receiving unit; a feature acquisition unit that acquires one or more pieces of feature information for the sound information using the sound information accepted by the information acceptance unit; an ignition node determination unit that determines, from the starting point storage unit, a node identifier of a node that will ignite, the node identifier corresponding to the one or more pieces of feature information acquired by the feature acquisition unit, and that is connected by an edge to the node identified by the one or more node identifiers and receives the feature information, the node identifier of a node that will ignite; A program for functioning as a growth unit that acquires the goal information that pairs with the one state determined by the state determination unit, and performs processing to grow node information or edge information corresponding to each of one or more node identifiers among the one or more node identifiers determined by the ignition node determination unit using the goal information.
Citation Information
Patent Citations
Methods, devices, and circuits for neuromorphic / synaptronic spiking neural networks using synaptic weights learned through simulation.
JP2013546065A
Brain wave signal processing device, brain wave signal processing method, program, and recording medium
JP2016047239A
Apparatus and method for detection of brain neural network state
JP2016052430A
Spiking Neural Network Computing System and Method for Brain-Mimicking Intelligent and Cognitive Computing
KR1020220027199A