NN growth apparatus, information processing apparatus, method for producing neural network information, and program

The NN growth apparatus simulates brain development by growing neural networks using image and sound information, addressing the lack of effective brain growth simulation in existing technologies.

JP7849500B2Active Publication Date: 2026-04-21SOFTBANK CORPORATION
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SOFTBANK CORPORATION
Filing Date
2022-11-14
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing technologies are unable to simulate brain growth effectively.

Method used

An NN growth apparatus that includes an NN storage unit, start point storage unit, reference score storage unit, information receiving unit, image and sound feature acquisition units, score acquisition units, and a growth unit to simulate brain development by growing neural networks based on image and sound information.

Benefits of technology

The apparatus allows for the simulation of brain development through edge and node growth processes, mimicking brain activity and structure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007849500000001
    Figure 0007849500000001
  • Figure 0007849500000002
    Figure 0007849500000002
  • Figure 0007849500000003
    Figure 0007849500000003
Patent Text Reader

Abstract

[Problem] Conventionally, the simulation of brain growth has not been possible. [Solution] It is possible to simulate brain growth using an NN growth device 1 comprising: an overall score acquisition unit 135 which acquires an overall score that is based on one or more pieces of image feature information from image information and one or more pieces of audio feature information from audio information; a firing node determination unit 136 which determines one or more node identifiers to pair with an initial firing condition that is satisfied by the one or more pieces of image feature information and the one or more pieces of audio feature information, and determines the node identifier of a node that will fire, said node being a node which is linked by edges to the nodes identified by the one or more node identifiers and to which at least one type of information among the one or more pieces of image feature information and the one or more pieces of audio feature information is passed; and a growth unit 138 which carries out a growth process which, on the basis of difference information for the overall score and a reference score, causes the growth of edge information for one or more edges which connect to the nodes identified by one or more node identifiers among the one or more node identifiers that were determined.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an NN growth device or the like that virtually realizes the mechanism of brain growth.

Background Art

[0002] Conventionally, there has been an electroencephalogram signal processing device that acquires and processes an electroencephalogram signal representing the electroencephalogram of a subject (see, for example, Patent Document 1 and Patent Document 2).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in the prior art, brain growth could not be simulated.

Means for Solving the Problems

[0005] The NN growth apparatus of the first invention includes: an NN storage unit that stores neural network information having two or more node information having node identifiers and one or more edge information having edge identifiers that identify connections between nodes; a start point storage unit that stores one or more firing start point information having one or more node identifiers that identify nodes that fire without going through other nodes, corresponding to an initial firing condition which is a condition for determining nodes that fire without going through other nodes, and which is a condition for determining nodes that fire without going through other nodes; a reference score storage unit that stores reference scores for positive and negative; an information receiving unit that receives image information and sound information; an image feature acquisition unit that acquires one or more image feature information for image information using the image information received by the information receiving unit; a total score acquisition unit that acquires a total score based on one or more image feature information and one or more sound feature information; and an image score which is a score for positive and negative using one or more image feature information. The NN growth device comprises: an image score acquisition unit; a sound feature acquisition unit that acquires one or more sound feature information for sound information using sound information received by an information reception unit; a sound score acquisition unit that acquires sound scores, which are scores relating to positive and negative, using one or more sound feature information; a total score acquisition unit that acquires a total score using the image score and the sound score; a starting point storage unit that determines one or more node identifiers from the starting point storage unit that are paired with an initial firing condition in which one or more image feature information and one or more types of information from one or more sound feature information match, and a firing node determination unit that determines the node identifier of a node that is connected by an edge to the node identified by one or more node identifiers and receives one or more types of information from one or more image feature information and one or more sound feature information, and fires; and a growth unit that performs a growth process, which is a process of growing the edge information of one or more edges connected to the node identified by one or more node identifiers from one or more node identifiers determined by the firing node determination unit, based on difference information relating to the difference between the total score and the reference score.

[0006] This configuration allows for the simulation of brain development.

[0007] Furthermore, the NN growth apparatus of this second invention further comprises, compared to the first invention, an image score acquisition unit that acquires image scores, which are scores relating to positive and negative, using one or more image feature information; an audio feature acquisition unit that acquires one or more audio feature information for audio information using audio information received by an information receiving unit; and an audio score acquisition unit that acquires audio scores, which are scores relating to positive and negative, using one or more audio feature information; and an overall score acquisition unit that acquires an overall score using the image score and the audio score.

[0008] This configuration allows for the simulation of brain development.

[0009] Furthermore, the NN growth apparatus of this third invention is an NN growth apparatus that, compared to the first or second invention, has edge information with weights, a firing node determination unit determines the node identifier of nodes that are connected by edges and whose edge weights satisfy the transmission conditions related to weights, and a growth unit acquires difference information regarding the difference between the overall score and the reference score, and performs a first edge growth processing that increases the weight of the edge information of one or more edges when the difference information matches the first edge growth conditions.

[0010] This configuration allows for the simulation of brain development.

[0011] Furthermore, the NN growth apparatus of this fourth invention, compared to the first or second invention, may have edge position information indicating the position of the edge end, and the growth unit acquires difference information relating to the difference between the overall score and the reference score, and when the difference information matches the second edge growth conditions, it modifies the edge position information of one or more edges and performs a second edge growth process to extend the length of the edge.

[0012] This configuration allows for the simulation of brain development.

[0013] Furthermore, the NN growth device of the fifth invention further comprises, compared to the fourth invention, a goal storage unit that stores goal information that identifies goals corresponding to two or more states, including positive and negative, and a state determination unit that determines one state from two or more states, including positive and negative, using difference information acquired by the growth unit, wherein the goal information has goal position information that identifies the location of the goal, or goal direction information that indicates the direction of the goal, and the growth unit acquires goal information that is paired with the state determined by the state determination unit, modifies the edge position information that has the edge information of one or more edges, acquires new edge position information in the direction indicated by the goal information, and performs a second edge growth processing that stores the new edge position information. With this configuration, brain growth can be simulated.

[0014] Furthermore, the NN growth apparatus of this sixth invention is an NN growth apparatus that, in addition to any of the first to fifth inventions, further comprises a reference score changing unit that changes the reference score of the reference score storage unit based on the overall score acquired by the overall score acquisition unit.

[0015] This configuration allows for the simulation of brain development.

[0016] Furthermore, the NN growth device of this seventh invention is an NN growth device in which, compared to the sixth invention, the reference score changing unit changes the reference score in the reference score storage unit only when the overall score matches the score changing conditions.

[0017] This configuration allows for the simulation of brain development.

[0018] Furthermore, the NN growth apparatus of the eighth invention is an NN growth apparatus that, in addition to any of the first to seventh inventions, has a reference score storage unit that stores reference scores paired with one or more firing patterns using one or more node identifiers, and a growth unit that obtains reference scores paired with firing patterns corresponding to one or more node identifiers determined by the firing node determination unit from the reference score storage unit, obtains difference information regarding the difference between the total score and the reference score, and performs growth processing based on the difference information.

[0019] With such a configuration, the growth of the brain can be simulated.

[0020] Further, in the NN growth device of the ninth invention, for any one of the first to eighth inventions, the ignition node determination unit determines whether one or more pieces of feature information passed from one or more other nodes connected by an edge satisfy the ignition condition for one or two or more pieces of feature information, and determines the node identifier of the node determined to satisfy the ignition condition. It is a NN growth device.

[0021] With such a configuration, the growth of the brain can be simulated.

[0022] Further, in the NN growth device of the tenth invention, for the first invention, the node information has node position information for specifying the position of the node, and a goal storage unit that stores goal information for specifying goals corresponding to two or more states including positive and negative. And a state determination unit that determines one state from two or more states including positive and negative using the difference information acquired by the growth unit. The growth unit acquires difference information regarding the difference between the total score and the reference score, and based on the difference information, the edge generation process of generating and accumulating edge information for the edge extending from the node identified by one or more of the one or more node identifiers determined by the ignition node determination unit in the direction indicated by the goal information corresponding to the one state determined by the state determination unit. It is a NN growth device that performs.

[0023] With such a configuration, the growth of the brain can be simulated.

[0024] Further, in the NN growth device of the eleventh invention, for the tenth invention, the ignition node determination unit accumulates the count information regarding the number of times of the determined node identifier in association with the node identifier, and the growth unit performs edge generation on the node identified by the node identifier corresponding to the count information that matches the edge generation condition. It is a NN growth device that performs processing.

[0025] With such a configuration, the growth of the brain can be simulated.

[0026] In addition, the NN growth device of the twelfth invention is a NN growth device in which, for any one of the first to eleventh inventions, the nodes are somas, the edges have AXONs and Dendrites, 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.

[0027] With such a configuration, the growth of the brain can be simulated.

[0028] In addition, the information processing device of the thirteenth invention includes a NN storage unit for storing neural network information accumulated by the NN growth device, an information reception unit for receiving reception information which is one or more types of information of image information or sound information, a feature acquisition unit for acquiring one or more pieces of feature information for the reception information received by the information reception unit, a start point storage unit for storing one or more pieces of firing start point information which are node identifiers corresponding to each of the one or more pieces of feature information acquired by the feature acquisition unit, and which are node identifiers of nodes that fire, an information identifier for identifying the feature information of the reception information, and one or more node identifiers for identifying nodes that fire without passing through other nodes when the feature information is received, a determination unit for determining, from the start point storage unit, node identifiers of nodes that are connected by edges and pass the feature information, and are nodes that fire, an information transmission unit for determining the node identifiers of the one or more nodes determined by the information transmission unit, a firing pattern acquisition unit for acquiring a firing pattern using the one or more node identifiers determined by the information transmission unit, an output information acquisition unit for acquiring output information corresponding to the firing pattern acquired by the firing pattern acquisition unit, and an information output unit for outputting the output information.

[0029] With such a configuration, the operation of the brain can be simulated using the model of the grown brain.

[0030] Furthermore, the information processing device of the fourteenth invention further comprises a temperature receiving unit for receiving temperature information, compared to the thirteenth invention, and the information transmission unit performs an information transmission process which is the process of passing characteristic information corresponding to the fired node from the fired node to the next node to fire, and changes the processing time for performing the information transmission process according to the temperature information received by the temperature receiving unit.

[0031] This configuration allows for the simulation of brain activity using a model of a developed brain. [Effects of the Invention]

[0032] The NN growth device according to the present invention can simulate brain growth. [Brief explanation of the drawing]

[0033] [Figure 1] Block diagram of the NN growth apparatus 1 in Embodiment 1 [Figure 2] Flowchart illustrating an example of operation of the NN growth device 1. [Figure 3] A flowchart illustrating an example of the score acquisition process. [Figure 4] A flowchart illustrating an example of the growth process. [Figure 5] A flowchart illustrating an example of the initial firing node determination process. [Figure 6] A flowchart illustrating an example of simultaneous ignition transfer processing. [Figure 7] A flowchart illustrating an example of the process for determining simultaneous firing. [Figure 8] A flowchart illustrating an example of the information acquisition process. [Figure 9] A flowchart illustrating an example of the same single growth process. [Figure 10] A flowchart illustrating an example of the same edge growth process. [Figure 11] A flowchart illustrating an example of the edge extension process. [Figure 12]A flowchart illustrating an example of the edge generation process. [Figure 13] A flowchart illustrating an example of the edge information generation process. [Figure 14] A flowchart illustrating an example of the node generation process. [Figure 15] A flowchart illustrating an example of the node information generation process. [Figure 16] A flowchart illustrating an example of the process for changing the standards. [Figure 17] Block diagram of the information processing device 2 in Embodiment 2 [Figure 18] A flowchart illustrating an example of the operation of the information processing device 2. [Figure 19] A flowchart illustrating an example of the information transmission process. [Figure 20] A flowchart illustrating an example of homogeneous transmission processing. [Figure 21] A flowchart illustrating an example of the process for determining simultaneous firing. [Figure 22] Block diagram of the information processing device 3 [Figure 23] Overview diagram of the computer system according to the above embodiment [Figure 24] Block diagram of the computer system [Modes for carrying out the invention]

[0034] The embodiments of the NN growth apparatus and the like will be described below with reference to the drawings. In the embodiments, components that are denoted by the same reference numerals perform the same operation, and therefore their repeated explanation may be omitted.

[0035] (Embodiment 1) In this embodiment, we will describe an NN growth apparatus that receives image information and sound information, obtains an overall score using image feature information obtained from the image information and sound feature information obtained from the sound information, and performs growth processing based on the difference between the overall score and a reference score. The growth processing here includes, for example, edge growth processing, edge generation processing, and node generation processing.

[0036] Edge growth processing is the process of growing the edges that make up a neural network (hereinafter referred to as "NN" as appropriate). Edge growth processing includes, for example, first edge growth processing, which increases the weight of the edges, and second edge growth processing, which lengthens the edges. Edge generation processing is the process of generating new edges. Node generation processing is the process of generating nodes that make up the NN.

[0037] It is preferable that the neural network used here be a spiking neural network. However, other types of neural networks, such as deep neural networks, are also acceptable. In other words, the type of neural network is not a factor.

[0038] In this embodiment, for example, when the difference between the overall score and the reference score is small, the weight of the edge is increased. Also in this embodiment, for example, when the difference between the overall score and the reference score is large, the length of the edge is increased. Furthermore, in this embodiment, when the length of the edge is increased, for example, the edge is grown in a direction corresponding to the acquired state (e.g., positive or negative).

[0039] Furthermore, in this embodiment, we will describe a case in which an image score based on image feature information and a sound score based on sound feature information are obtained, and a comprehensive score is obtained using the image score and the sound score.

[0040] Furthermore, in this embodiment, we will describe an NN growth apparatus in which the reference score changes dynamically. For example, the reference score changes only when the overall score meets the score change conditions.

[0041] Furthermore, in this embodiment, we will describe an NN growth device that stores a reference score corresponding to the ignition pattern.

[0042] Furthermore, in this embodiment, we will describe an NN growth apparatus that ignites only nodes that meet the ignition conditions.

[0043] Furthermore, in this embodiment, we will describe an NN growth apparatus in which the nodes are somas and the edges have AXONs and Dendrites.

[0044] 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 irrelevant. Information X and information Y may be linked, may reside in the same buffer, may information X be contained in information Y, or information Y may be contained in information X, and so on.

[0045] Figure 1 is a block diagram of the NN growth device 1 in this embodiment. The NN growth device 1 comprises a storage unit 11, a receiving unit 12, a processing unit 13, and an output unit 14. The storage unit 11 comprises a starting point storage unit 111, a goal storage unit 112, a reference score storage unit 113, and an NN storage unit 114. The receiving unit 12 comprises an information receiving unit 121. The processing unit 13 comprises an image feature acquisition unit 131, a sound feature acquisition unit 132, an image score acquisition unit 133, a sound score acquisition unit 134, a total score acquisition unit 135, a firing node determination unit 136, a state determination unit 137, a growth unit 138, and a reference score modification unit 139.

[0046] The storage unit 11, which constitutes the NN growth device 1, stores various types of information. These types of information include, for example, the firing start point information described later, the goal information described later, the reference score described later, the neural network (NN), information on one or more glial cells described later, information on one or more bindings described later, information on one or more firings described later, state determination information described later, and various conditions described later.

[0047] The starting point storage unit 111 stores one or more ignition starting point information. Typically, the starting point storage unit 111 stores two or more ignition starting point information. The ignition starting point information corresponds to the initial ignition conditions.

[0048] Firing point information is information that identifies the node that will fire in the first stage when information is received. The information that can be received is, for example, one or two types of information from image information and sound information. A node that fires in the first stage is a node that fires without going through other nodes. Firing point information includes, for example, an initial firing condition and one or more node identifiers.

[0049] The initial firing condition is the condition under which a node fires in the first stage. The initial firing condition is a condition relating to one or more feature information. The one or more feature information is one or more types of information from one or more image feature information for image information and one or more sound feature information for sound information. The initial firing condition may also be a condition relating to one or more information identifiers, for example. The initial firing condition may have an information identifier, for example. The initial firing condition may be a condition relating to an information identifier and the amount of information, for example.

[0050] An information identifier is information that identifies feature information. The information identifier is, for example, information that identifies image feature information. The information identifier is, for example, information that specifies the type of image feature information. The information identifier is, for example, information that identifies sound feature information. The information identifiers are, for example, "R", "G", and "B". "R" is information indicating the color red, "G" is information indicating the color green, and "B" is information indicating the color blue. Note that the image feature information is the feature information of the image information. The information identifier is, for example, information indicating a specific frequency or information indicating a range of specific frequencies.

[0051] The initial ignition condition is, for example, "<information identifier> R <condition> information amount >= 150". The initial ignition condition is, for example, "the information amount of 'R' >= 150", "(the information amount of 'R' >= 150) & (the information amount of 'G' >= 80)", "(the information amount of 'R' >= 150) & (the information amount of 'G' >= 80) & (the information amount of 'B' >= 120)", "<information identifier> frequency = Fa <condition> information amount >= 100", "<information identifier> Fa <= frequency < Fb <condition> information amount >= 100", "<information identifier> R <condition> information amount >= 150 & <information identifier> frequency = Fa <condition> information amount >= 180". Note that Fa and Fb of the frequency are values indicating specific frequencies.

[0052] A node identifier is information that identifies the nodes constituting the NN. The node identifier is, for example, the ID of the node or the node name. The node may be called soma. The node identifier may be called a soma identifier.

[0053] The feature information here is the feature quantity of the image information or the sound information. The feature information is, for example, an information identifier or an information identifier and an information amount. The information amount is information indicating the magnitude of the information identified by the paired information identifier. The feature information is, for example, "<information identifier> R <information amount> 150", "<information identifier> frequency = Fa <information amount> 100", "<information identifier> Fa <= frequency < Fb <information amount> = 150".

[0054] The goal storage unit 112 stores one or more goal information. Typically, the goal storage unit 112 stores two or more goal information.

[0055] Goal information is information that identifies the goal to which the nodes or edges that make up the neural network (NN) will grow. Goal information identifies a goal that corresponds to one of two or more states. A state is, for example, an emotion or an internal brain state. A state can be, for example, positive or negative. Preferably, the type of state is either positive or negative. However, there may be three or more types of states. If there are three or more types of states, each state may be, for example, information indicating two or more degrees of positive, or information indicating two or more degrees of negative, or positive, negative, and neutral.

[0056] Goal information can be defined as information that identifies the location where a node or edge will grow. Goal information includes goal location information or goal direction information. Goal information corresponds to a state identifier. Goal location information is information that identifies the location of the goal. Goal direction information indicates the direction of the goal. Location refers to a position in a virtual space of two or more dimensions. Goal information is, for example, location information. Location information is, for example, three-dimensional coordinate values ​​(x,y,z), two-dimensional coordinate values ​​(x,y), or a four-dimensional quaternion (x,y,x,w). Furthermore, the fact that goal information corresponds to a state identifier means that the goal information corresponding to the determined state identifier is used for the growth of the neural network. A state identifier is information that identifies a state. State identifiers are, for example, "positive" and "negative".

[0057] The reference score storage unit 113 stores one or more reference scores. Each of the one or more reference scores is paired with, for example, a firing pattern. However, if only one reference score is stored in the reference score storage unit 113, the reference score is not paired with a firing pattern. The reference score storage unit 113 may also store a default reference score.

[0058] A baseline score is a score used as a benchmark when determining positive, negative, or other states. A score is information that indicates the degree of a positive or negative state. A baseline score can also be called an expected value.

[0059] A firing pattern is a pattern of firings by one or more nodes. A firing pattern has node identifiers for one or more firing nodes.

[0060] The NN storage unit 114 stores neural network information (hereinafter referred to as "NN information" as appropriate). NN information can be said to be information that mimics the brain. NN information consists of two or more node pieces and one or more edge pieces. NN information is sometimes simply referred to as NN.

[0061] Node information refers to information about the nodes that make up the neural network (NN). Node information includes a node identifier. For example, node information may include node location information, firing conditions, firing probability information, and firing count information. It is also preferable that node information includes required energy amount information, indicating the amount of energy needed for firing.

[0062] Node location information refers to the location information of a node. As mentioned above, location information can be, for example, three-dimensional coordinate values ​​(x,y,z), two-dimensional coordinate values ​​(x,y), or four-dimensional quaternions (x,y,x,w).

[0063] The ignition condition is the condition under which a node ignites. The ignition condition usually has one or more pieces of characteristic information. The characteristic information may be information having an information identifier for identifying the information and an information amount indicating the size of the information, or may be information only with the information amount indicating the size of the information. The information amount is, for example, a numerical value greater than 0. The ignition condition is, for example, "R>=180", "R>150 & G>=100", "G<=50 & B <=30", "R>=250 & G>=250 & B>=250", "<information identifier> frequency = Fa <condition> information amount >= 80", "<information identifier> Fa <= frequency < Fb <condition> information amount >= 150", "<information identifier> R <condition> information amount >= 150 & <information identifier> frequency = Fa <condition> information amount >= 180", etc.

[0064] The ignition probability information is information regarding the probability of ignition. The ignition probability information may be the ignition probability itself, or a value obtained by converting the ignition probability with a function or the like. It is preferable that when the ignition probability information is referred to and the probability indicated by the ignition probability information is the same, the node may or may not ignite even if the characteristic information is the same.

[0065] The count information is information based on the number of times of ignition. The count information is, for example, the number of ignition times, the ignition frequency (ignition ratio).

[0066] Edge information refers to information about the edges that make up a neural network (NN). Edge information identifies the connections between nodes. Edge information usually has an edge identifier. For example, edge information may have the node identifiers of each of the two nodes to which the edge connects. For example, edge information may have the node identifier of one of the connecting nodes. If the edge information has only one node identifier, then that edge is an edge in the growth process before the two nodes are connected. Edge information may also have edge position information. Edge position information is information that identifies the position of the endpoint of an edge. Edge information may also have weights. The larger the weight of an edge, the easier it is for feature information to be transmitted through that edge. The weight of an edge may also be a parameter of the firing probability information. In other words, the larger the weight of an edge, the higher the firing probability may be. Furthermore, it is preferable for the edge information to have energy holding information, which indicates the amount of energy held by the edge.

[0067] Edge information includes, for example, Dendrites information and AXON information. In such cases, the edge has Dendrites and AXONs. Alternatively, an edge can be thought of as a single line or two or more branched lines. An edge can also be called a synapse.

[0068] An edge identifier is information that identifies an edge. Examples of edge identifiers include the edge's ID and its name.

[0069] Dendrite information refers to information about DENDRITES. DENDRITES, also known as dendrites, are parts of nerve cells. They are multiple projections that branch off from the cell body of a nerve cell, like the branches of a tree, to receive external stimuli and information sent from the axons of other nerve cells. In this context, DENDRITES are elements that constitute the edge. DENDRITES information includes a DENDRITES identifier and DENDRITES position information.

[0070] A DENDRITES identifier is information that identifies a DENDRITES. Examples of DENDRITES identifiers include the DENDRITES' ID and DENDRITES' name.

[0071] DENDRITES location information is location information that indicates the location of DENDRITES. DENDRITES location information is information that identifies the location 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). If DENDRITES location information has two or more coordinate values, DENDRITES is a line connecting the points of the two or more coordinate values.

[0072] Furthermore, it is preferable that the Dendrites information includes information on 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.

[0073] AXON information refers to information about AXONs. An AXON, also known as an axon, is a projection-like structure extending from the cell body that is responsible for signal output in nerve cells. In this context, AXONs are elements that constitute the edge. AXON information includes an AXON identifier and AXON location information.

[0074] An AXON identifier is information that identifies an AXON. Examples of AXON identifiers include the AXON's ID and its name.

[0075] AXON location information refers to location information that indicates the location of an AXON. AXON location information is information that identifies the location of an AXON, and can be, for example, one or more three-dimensional coordinate values ​​(x,y,z) or one or more two-dimensional coordinate values ​​(x,y). If the AXON location information has two or more coordinate values, the AXON is a line connecting the points corresponding to those two or more coordinate values.

[0076] Furthermore, it is preferable that the AXON information includes information on the amount of energy held by the AXON. Additionally, it is preferable that the AXON information includes information on the amount of energy required to transmit information using the AXON.

[0077] Note that Dendrites and AXONs may branch. When Dendrites and AXONs branch, the position information of each can be represented by 3 or more coordinate values. However, the method of representing the position information of Dendrites and AXONs is not restricted.

[0078] The glial cell information stored in the storage unit 11 refers to information about glial cells. Note that glial cell information does not necessarily have to be present in the storage unit 11.

[0079] Here, glial cells, also known as neuronal glial cells, are a general term for cells that are not nerve cells and make up the nervous system. Glial cells are like glue or cement that fills the space between neurons.

[0080] Glial cell information preferably includes a glial cell identifier that identifies the glial cell. For example, glial cell information may include a node identifier that identifies a node that assists in binding, or an edge identifier that identifies an edge that assists in binding. For example, glial cell information may include an AXON identifier for an AXON that the glial cell assists in binding, or a Dendrites identifier for a Dendrite that the glial cell assists in binding. Glial cell information may also include a glial cell type identifier that identifies the type of glial cell. The type of glial cell is, for example, oligodendrocites (hereinafter referred to as "oligo" as appropriate) or astrocites. Oligo is a cell that can connect to an axon. Astrocites is a cell that can connect to a soma or Dendrites. Furthermore, glial cell information preferably includes glial cell position information. Glial cell position information is position information that identifies the location of the glial cell. In particular, glial cell information for oligo is preferably glial cell position information. Furthermore, the glial cell information may include hand length information indicating the length of one or more hands. The glial cell information may also include hand count information indicating the number of hands extending from the glial cell. Generally, it is preferable that the glial cell stops growing when the total length of the glial cell, calculated from the hand length information of each hand, reaches a threshold.

[0081] The connection information stored in the storage unit 11 is information that identifies connections between two or more nodes. The connection information may also be information that identifies connections between an AXON of one node and a Dendrites of another node. Such information also identifies connections between nodes. The connection information may also be information that identifies connections between a synapse and a spine. Such information also identifies connections between nodes. The connection information may, for example, have the identifiers of the two nodes that are connected. The connection information may also, for example, have the AXON identifier of an AXON and the Dendrites identifier of the Dendrites connected to that AXON. The connection information may also, for example, have the synapse identifier of a synapse and the spine identifier of a spine that can transmit information to that synapse. The connection information may also have information transmission probability information. Information transmission probability information is information about the probability of information transmission between one node and another node. Information transmission probability information may also be information about the probability of information transmission between an AXON and a Dendrites. In this case as well, the information transmission probability information is information about the probability of information transmission between one node and another node. Furthermore, the information transfer probability information may also be information about the probability of information transfer between a synapse and a spine. In this case as well, the information transfer probability information is information about the probability of information transfer between one node and another node. Note that the direction of connection between nodes is usually unidirectional.

[0082] The connection information may also be information indicating the connection between a node and an AXON. In this case, the connection information includes a node identifier and an AXON identifier. Alternatively, the connection information may also be information indicating the connection between a node and a Dendrites. In this case, the connection information includes a node identifier and a Dendrites identifier.

[0083] The binding information may also be information that identifies the binding between glial cells and AXON or Dendrites. In such a case, the binding information may include, for example, a glial cell identifier that identifies glial cell information and an AXON identifier. The binding information may also include, for example, a glial cell identifier and a Dendrites identifier.

[0084] Furthermore, connection information that identifies the connections between elements constituting the NN (nodes, edges, AXONs, Dendrites, glial cells, synapses, or spines) may be stored in the NN storage unit 114. In other words, connection information that identifies the connections between elements constituting the NN may be included in the information of each individual element.

[0085] Firing information refers to information about the result of a firing. Firing information includes a node identifier that identifies the node that fired. Firing information may also typically include timer information indicating the time of firing. This timer information may be relative or absolute. Furthermore, firing information may be automatically deleted by the processing unit 13 after a certain period of time has elapsed since its accumulation.

[0086] State determination information is information used to determine a state using one or more types of information from image information and sound information. State determination information is, for example, a condition based on difference information, which will be described later. State determination information is, for example, two or more sets having image conditions, which are conditions related to image information, and state identifiers. State determination information is, for example, two or more sets having sound conditions, which are conditions related to sound information, and state identifiers. State determination information is, for example, two or more sets having image-sound conditions, which are conditions related to image information and sound information, and state identifiers.

[0087] State determination information is, for example, "Difference information >= Threshold A <State identifier> State P", "Difference information < Threshold B <State identifier> State N", and state determination information is, for example, "<Image condition> Information amount of R >= 150 <State identifier> State P", "<Image condition> (Information amount of "R" <= 10) & (Information amount of "G" <= 80) <State identifier> State N", "<Sound condition> Information amount of information identifier "Frequency=X" >= 50 <State identifier> State P", "<Sound condition> Information amount of information identifier "Frequency=X" >= 80 <State identifier> State N", "<Sound condition> Information amount of information identifier "Frequency=Y" >= 50 & Information amount of information identifier "Frequency=Z" >= 90 <State identifier> State P", and "<Image sound condition> Information amount of R >= 150 & Information amount of information identifier "Frequency=Y" >= 50 <State identifier> State P". Note that State P is the state identifier "positive", and State N is the state identifier "negative".

[0088] The reception unit 12 receives various types of information. These types of information include, for example, image information and sound information.

[0089] Here, "reception" is a concept that includes receiving information input from input devices such as cameras, microphones, keyboards, mice, and touch panels; receiving information transmitted via wired or wireless communication lines; and receiving information read from recording media such as optical discs, magnetic discs, and semiconductor memory.

[0090] The information receiving unit 121 receives information. The information receiving unit 121 receives, for example, one or two types of information from image information and sound information. The information receiving unit 121 receives, for example, image information and sound information at the same time. However, the information receiving unit 121 may have a slight delay in receiving, for example, image information and sound information. Also, the image information can be a still image or a video. The sound information can be, for example, audio data or music data, but any type of sound information is acceptable.

[0091] The information receiving unit 121 acquires, for example, image information captured by a camera. The information receiving unit 121 also acquires, for example, sound information acquired by a microphone. In other words, reception refers to the reception of information acquired by devices such as microphones and cameras, but it may also be a concept that includes the reception of information transmitted via wired or wireless communication lines, and the reception of information read from recording media such as optical discs, magnetic discs, and semiconductor memory.

[0092] The processing unit 13 performs various processes. These various processes include, for example, the processes performed by the image feature acquisition unit 131, the sound feature acquisition unit 132, the growth unit 138, and so on.

[0093] The image feature acquisition unit 131 uses the image information received by the information reception unit 121 to acquire one or more image feature information for that image information.

[0094] The sound feature acquisition unit 132 uses the sound information received by the information receiving unit 121 to acquire one or more sound feature information for the sound information.

[0095] The image score acquisition unit 133 acquires an image score using one or more image feature information acquired by the image feature acquisition unit 131.

[0096] An image score is a score assigned to the received image information. Image scores are typically positive and negative scores. For example, an image score might indicate the degree of positivity or negativity.

[0097] The image score acquisition unit 133 acquires an image score by, for example, one of the following three methods. (1) Method using arithmetic formulas

[0098] The image score acquisition unit 133 substitutes the amount of information contained in one or more image feature information acquired by the image feature acquisition unit 131 into an image calculation formula, executes the image calculation formula, and calculates an image score. The image calculation formula is an expression that takes the amount of information contained in one or more image feature information as a parameter. The image calculation formula is stored in the storage unit 11. (2) Method using a correspondence table

[0099] The image score acquisition unit 133 acquires an image score from the image correspondence table that corresponds to the vector that best approximates the vector whose elements are the information quantities of one or more image feature information acquired by the image feature acquisition unit 131. The image correspondence table is a table that shows the correspondence between a set of one or more image feature information and an image score. The image correspondence table has two or more image correspondence information entries. Image correspondence information is information that shows the correspondence between a vector whose elements are the information quantities of one or more image feature information and an image score. Image correspondence information is, for example, a pair of a vector and an image score. (3) Methods using machine learning

[0100] The image score acquisition unit 133 provides a vector whose elements are the amount of information contained in each of the one or more image feature pieces acquired by the image feature acquisition unit 131, along with an image learning model, to a machine learning prediction module, executes the prediction module, and acquires an image score.

[0101] The image learning model is obtained by providing a machine learning module with two or more training data sets, each containing a vector whose elements represent the amount of information contained in one or more image feature pieces, and an image score, and then executing the training module. The image learning model is stored in the storage unit 11.

[0102] The sound score acquisition unit 134 acquires a sound score using one or more sound feature information acquired by the sound feature acquisition unit 132.

[0103] A sound score is a score assigned to received sound information. Sound scores are typically positive and negative scores. For example, a sound score might indicate the degree of positivity or negativity.

[0104] The sound score acquisition unit 134 acquires the sound score by, for example, one of the following three methods. (1) Method using arithmetic formulas

[0105] The sound score acquisition unit 134 substitutes the amount of information contained in each of the one or more sound feature pieces acquired by the sound feature acquisition unit 132 into a sound calculation formula, executes the sound calculation formula, and calculates a sound score. The sound calculation formula is an expression that takes the amount of information contained in each of the one or more sound feature pieces as a parameter. The sound calculation formula is stored in the storage unit 11. (2) Method using a correspondence table

[0106] The sound score acquisition unit 134 acquires a sound score from the sound correspondence table that corresponds to the vector that best approximates the vector whose elements are the information quantities of one or more sound feature information acquired by the sound feature acquisition unit 132. The sound correspondence table is a table that shows the correspondence between a set of one or more sound feature information and a sound score. The sound correspondence table has two or more sound correspondence information entries. Sound correspondence information is information that shows the correspondence between a vector whose elements are the information quantities of one or more sound feature information and a sound score. Sound correspondence information is, for example, a pair of a vector and a sound score. (3) Methods using machine learning

[0107] The sound score acquisition unit 134 provides a machine learning prediction module with a vector whose elements are the amount of information contained in each of the one or more sound feature pieces acquired by the sound feature acquisition unit 132, and a sound learning model, and executes the prediction module to acquire a sound score.

[0108] The sound learning model is obtained by providing a machine learning module with two or more training data sets, each containing a vector whose elements represent the information quantity of one or more sound feature pieces of information, and a sound score, and then executing the training module. The sound learning model is stored in the storage unit 11.

[0109] Learning models, such as image learning models, sound learning models, and the integrated learning models described later, are information constructed through the learning process of machine learning and are used in the prediction process of machine learning. Learning models can also be called learners, classifiers, or classification models. The machine learning algorithms mentioned above are not limited to deep learning, random forests, decision trees, SVR, etc. Furthermore, various machine learning functions and various existing libraries can be used for machine learning, such as the TensorFlow library, the random forest module in the R language, fastText, TinySVM, etc.

[0110] The overall score acquisition unit 135 acquires an overall score based on one or more image feature information and one or more sound feature information.

[0111] The overall score acquisition unit 135 acquires an overall score using, for example, the image score and the sound score. The overall score acquisition unit 135 acquires a larger overall score the larger the image score. The overall score acquisition unit 135 acquires a larger overall score the larger the sound score. The overall score acquisition unit 135 acquires an overall score using, for example, an increasing function with the image score and the sound score as parameters. The overall score acquisition unit 135 acquires an overall score that is the sum of the image score and the sound score. The overall score acquisition unit 135 acquires an overall score that is the average value of the image score and the sound score. The overall score acquisition unit 135 acquires an overall score that is the weighted average value of the image score and the sound score.

[0112] The overall score acquisition unit 135 may acquire an overall score without using image scores or sound scores. In this case, the overall score acquisition unit 135 acquires sound scores by, for example, one of the following three methods. (1) Method using arithmetic formulas

[0113] The overall score acquisition unit 135 substitutes one or more information amounts from the information amounts of one or more image feature information acquired by the image feature acquisition unit 131 and one or more sound feature information acquired by the sound feature acquisition unit 132 into the overall calculation formula, executes the overall calculation formula, and calculates the overall score. The overall calculation formula is an expression that takes the information amounts of one or more feature information as parameters. The overall calculation formula is stored in the storage unit 11. (2) Method using a correspondence table

[0114] The overall score acquisition unit 135 acquires an overall score from the overall correspondence table that corresponds to the vector that best approximates the vector whose elements are one or more information quantities from the information quantities of one or more image feature information acquired by the image feature acquisition unit 131 and one or more sound feature information acquired by the sound feature acquisition unit 132. The overall correspondence table is a table that shows the correspondence between a set of one or more feature information and the overall score. The overall correspondence table has two or more overall correspondence information entries. Overall correspondence information is information that shows the correspondence between a vector whose elements are the information quantities of one or more feature information and the overall score. For example, overall correspondence information is a pair of a vector and an overall score. (3) Methods using machine learning

[0115] The overall score acquisition unit 135 provides a vector whose elements are the information quantities of one or more image feature information acquired by the image feature acquisition unit 131 and the information quantities of one or more sound feature information acquired by the sound feature acquisition unit 132, along with an overall learning model, to a machine learning prediction module, executes the prediction module, and obtains an overall score.

[0116] The integrated learning model is information obtained by providing a machine learning learning module with two or more training data sets, each containing a vector whose elements represent the amount of information contained in one or more feature pieces of information, and an overall score, and then executing the learning module. The integrated learning model is stored in the storage unit 11.

[0117] The firing node determination unit 136 determines from the starting point storage unit 111 one or more node identifiers that are paired with an initial firing condition in which one or more types of information from one or more image feature information and one or more types of sound feature information match.

[0118] Next, the firing node determination unit 136 determines the node identifier of the node that is connected by an edge to each firing node identified by the one or more node identifiers, and to which one or more feature information is passed from the firing node, and which will fire. The node identifier of the firing node will be referred to as the firing node identifier as appropriate. The one or more feature information consists of one or two types of information from one or more image feature information and one or more sound feature information.

[0119] The firing node determination unit 136 determines the node identifier of a node that is connected by an edge and whose weight satisfies the transmission condition. The transmission condition is a condition for transmitting feature information from one node to another node connected to that node by one edge. The transmission condition is a condition related to weights. For example, the transmission condition is "weight >= threshold" or "weight > threshold".

[0120] The firing node determination unit 136 determines, for example, whether one or more feature information passed from one or more other nodes connected by an edge satisfies the firing conditions related to one or more feature information, and determines the node identifier of the node that satisfies the firing conditions. The firing conditions are conditions related to one or more feature information.

[0121] The firing node determination unit 136 preferably stores count information related to the number of times the determined node identifier has been used, associating it with the node identifier. In other words, the firing node determination unit 136 preferably increases the count information of the fired nodes.

[0122] The state determination unit 137 uses difference information to determine one state from two or more states, including positive and negative. Two or more states include, for example, "positive" and "negative," or "positive," "negative," and "neutral."

[0123] Difference information refers to information about the difference between the overall score and the benchmark score. Examples of difference information include "overall score - benchmark score," "absolute value of the difference between the overall score and the benchmark score," "overall score / benchmark score," and "benchmark score / overall score."

[0124] The state determination unit 137, for example, acquires difference information indicating the difference between the overall score acquired by the overall score acquisition unit 135 and the reference score. Next, the state determination unit 137 acquires a state identifier corresponding to the difference information. Note that the difference information may also be information acquired by the growth unit 138, which will be described later.

[0125] The state determination unit 137, for example, obtains the overall score obtained by the overall score acquisition unit 135. The state determination unit 137 also determines a firing pattern from the reference score storage unit 113 that matches one or more node identifiers determined by the firing node determination unit 136, and obtains the reference score corresponding to that firing pattern from the reference score storage unit 113. Next, the state determination unit 137 obtains the difference information between the overall score and the reference score. Next, the state determination unit 137 obtains the state identifier corresponding to the difference information.

[0126] The state determination unit 137 determines the state to be "positive" if, for example, "total score - reference score (difference information) >= threshold A". The state determination unit 137 determines the state to be "negative" if, for example, "total score - reference score < threshold B". The state determination unit 137 determines the state to be "neutral" if, for example, "threshold B <= total score - reference score < threshold A".

[0127] The growth unit 138 performs growth processing. The growth unit 138 performs growth processing for a neural network (NN) that mimics the brain. The growth unit 138 uses the received image information and sound information to perform growth processing for the NN. The growth unit 138 uses one or more image feature information obtained from the received image information and one or more sound feature information obtained from the sound information to perform processing to grow the nodes or edges or nodes and edges that constitute the NN.

[0128] More specifically, the growth unit 138 acquires difference information regarding the difference between the overall score and the reference score, and performs growth processing based on this difference information. The growth unit 138 performs growth processing if the difference information matches the growth conditions.

[0129] The growth unit 138 obtains, for example, a reference score from the reference score storage unit 113 that corresponds to a firing pattern corresponding to one or more node identifiers determined by the firing node determination unit 136. Next, the growth unit 138 obtains difference information regarding the difference between the obtained total score and the reference score, and performs growth processing based on this difference information.

[0130] Growth processes include, for example, edge growth processes, edge generation processes, and node generation processes. Edge growth processes include, for example, first edge growth processes and second edge growth processes. Each of these processes will be explained below. (1) Edge growth process

[0131] The growth unit 138 performs, for example, edge growth processing. Edge growth processing is the process of growing an edge. Edge growth processing is, for example, the process of increasing the weight of an edge. Increasing the weight of an edge means making the edge thicker. Edge growth processing is, for example, the process of increasing the length of an edge. Edge growth processing may also be the process of connecting the edge from the node where the edge originates to another node. (1-1) First edge growth process

[0132] The growth unit 138 acquires difference information regarding the difference between the overall score and the reference score, and if this difference information matches the first edge growth conditions, it performs a first edge growth process that increases the weight of the edge information of one or more edges connected to the fired node.

[0133] The first edge growth condition is a condition for changing the weight of an edge. For example, the first edge growth condition is "difference information <= threshold" or "difference information < threshold". In other words, the edge weight is usually increased when the difference between the overall score and the baseline score is small. The first edge growth condition may also have degree information indicating the extent to which the weight is changed. For example, the first edge growth condition is "if (difference information <= threshold) then weight + 5" or "if (difference information < threshold) then weight + 3". Note that "weight + 5" indicates an increase of "3" in the weight. (1-2) Second edge growth process

[0134] The growth unit 138 acquires difference information regarding the difference between the overall score and the reference score. If this difference information matches the second edge growth conditions, it performs a second edge growth process that modifies the edge position information of one or more edges connected to the node identified by one or more node identifiers determined by the firing node determination unit 136, thereby extending the length of the edge.

[0135] The second edge growth condition is a condition for extending the length of an edge. Examples of second edge growth conditions include conditions based on difference information and conditions based on count information. Examples of second edge growth conditions include "difference information >= threshold", "difference information > threshold", "count information >= threshold", and "count information > threshold". Typically, when the difference between the overall score and the baseline score is large, the length of edges connected to the triggered node but not connected to other nodes is increased.

[0136] The growth unit 138, for example, acquires goal information that is paired with a state identifier (for example, "positive" or "negative") of a state determined by the state determination unit 137. Next, the growth unit 138 acquires edge position information from the edge information of one or more edges, acquires new edge position information in the direction indicated by the goal information for that edge position information, and performs a second edge growth process to store the new edge position information.

[0137] The target of the second edge growth processing is, for example, the edges connected to one or more nodes determined by the firing node determination unit 136. The target of the second edge growth processing may also be, for example, some of the edges from one or more nodes determined by the firing node determination unit 136 that meet specific conditions. The specific conditions are, for example, weight-based conditions. The specific conditions are, for example, "the weight is greater than or equal to a threshold" or "the weight is greater than a threshold".

[0138] The second edge growth process may be one or more of the following: the Dendrites growth process described later, or the AXON growth process described later. (1-3) Dendrites growth process

[0139] The growth unit 138 performs, for example, a Dendrites growth process. The Dendrites growth process is a process that grows Dendrites. The Dendrites growth process may be included in the edge growth process. The process of growing Dendrites is usually a process that increases the length of Dendrites. The process of growing Dendrites involves obtaining new Dendrites position information for the Dendrites position information of the Dendrites, setting the position of the endpoint indicated by the Dendrites position information to a position further away from the position of the connected node, and storing the new Dendrites position information.

[0140] The growth unit 138 performs a Dendrites growth process to acquire and store Dendrites information obtained by growing 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 136 in the direction indicated by the goal information that is paired with a state determined by the state determination unit 137.

[0141] It is preferable that one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136 are node identifiers of one or more nodes that match the Dendrites growth conditions among the one or more node identifiers determined by the firing node determination unit 136. However, one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136 may be all of the node identifiers determined by the firing node determination unit 136.

[0142] Furthermore, obtaining Dendrites information by growing Dendrites extending from a node means that the Dendrites position information contained in that Dendrites information is set to a position where the endpoint of the Dendrites indicated by that Dendrites position information is further away from the node.

[0143] Dendrite growth conditions are the conditions for performing the Dendrite growth process. Dendrite growth conditions can be, for example, conditions based on difference information or conditions based on count information. Examples of Dendrite growth conditions include "difference information >= threshold", "difference information > threshold", "count information >= threshold", and "count information > threshold". Dendrite growth conditions can be the same as or different from second edge growth conditions.

[0144] Furthermore, the process of growing Dendrites extending from a node involves obtaining position information in the direction indicated by the goal information from the Dendrites position information contained in the Dendrites information paired with the node identifier that identifies the node, and then using that position information as the Dendrites position information. (1-4) AXON growth treatment

[0145] The growth unit 138 performs, for example, AXON growth processing. AXON growth processing is the process of growing an AXON. AXON growth processing may be included in edge growth processing. The process of growing an AXON is usually the process of increasing the length of the AXON. The process of growing an AXON involves acquiring new AXON position information, which is set to a position further away from the position of the connected node than the position of the endpoint indicated by the AXON position information of the AXON, and storing the new AXON position information.

[0146] The growth unit 138 performs an AXON growth process that acquires and stores AXON information obtained by growing AXONs extending from nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136 in the direction indicated by goal information paired with a state determined by the state determination unit 137.

[0147] It is preferable that one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136 are node identifiers of one or more nodes that match the AXON growth conditions among the one or more node identifiers determined by the firing node determination unit 136. However, one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136 may be all of the node identifiers determined by the firing node determination unit 136.

[0148] Furthermore, obtaining AXON information by growing an AXON extending from a node means that the AXON location information contained in that AXON information is set to a location where the endpoint of the AXON indicated by that AXON location information is further away from the node.

[0149] AXON growth conditions are the conditions for performing AXON growth processing. AXON growth conditions are, for example, based on difference information and iteration information. Examples of AXON growth conditions include "difference information >= threshold", "difference information > threshold", "iteration information >= threshold", and "iteration information > threshold". AXON growth conditions may be the same as or different from the second edge growth conditions.

[0150] Furthermore, the process of growing AXONs extending from a node involves obtaining positional information in the direction indicated by the goal information from the AXON position information contained in the AXON information paired with the node identifier that identifies the node, and using this positional information as the AXON position information. (2) Edge generation process

[0151] The growth unit 138 performs, for example, edge generation processing. Edge generation processing can be described as the process of generating new edges. Edge generation processing is the process of generating new edge information and storing it in the NN storage unit 114.

[0152] The growth unit 138 acquires difference information regarding the difference between the overall score and the reference score, and based on this difference information, generates and stores edge information for the edges extending from the nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136, in the direction indicated by the goal information that is paired with a state determined by the state determination unit 137.

[0153] The growth unit 138 performs edge generation processing on nodes identified by node identifiers, for example, when the edge generation conditions are met.

[0154] Edge generation conditions are the conditions for generating edge information. Edge generation conditions can be, for example, conditions based on difference information. Edge generation conditions can also be conditions based on count information. Examples of edge generation conditions are "difference information >= threshold", "difference information > threshold", "count information >= threshold", and "count information > threshold". Furthermore, edge generation conditions can be common to all nodes of interest, different for each node, or different for each edge. If edge generation conditions differ for each node, for example, node information contains the edge generation conditions. If edge generation conditions differ for each edge, for example, edge information contains the edge generation conditions.

[0155] The growth unit 138 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 136, at a position in the direction indicated by the goal information that is paired with a state determined by the state determination unit 137.

[0156] Preferably, each of the one or more node identifiers determined by the firing node determination unit 136 is one or more node identifiers that match the edge generation conditions among the one or more node identifiers determined by the firing node determination unit 136. However, each of the one or more node identifiers determined by the firing node determination unit 136 may be all of the node identifiers determined by the firing node determination unit 136.

[0157] The process for generating edge information is the process for generating edge information for edges connected to the node identified by the target node identifier. The process for generating edge information is, for example, the process of obtaining a unique edge identifier and generating edge information that has an edge identifier, which is information about the edge connecting the node identified by the target node identifier to other nodes in the direction indicated by the goal information from that node. Such edge information has, for example, an edge identifier and the node identifiers of the two nodes that are connected. The process for generating edge information is, for example, the process of obtaining a unique edge identifier and generating edge position information that identifies the position of the end of the edge extending from the node identified by the target node identifier in the direction indicated by the goal information from that node, and generating edge information that has said edge position information. Such edge information has, for example, an edge identifier, the node identifier of the target (connecting) node and edge position information that identifies the position of the end of the edge.

[0158] The edge generation process may be one or more of the following: the Dendrites generation process described later, or the AXON generation process described later. Furthermore, the edge generation process may include the glial cell generation process described later. (2-1) Dendrites generation process

[0159] The growth unit 138 performs, for example, a Dendrites generation process. The Dendrites generation process is the process of generating new Dendrites. The Dendrites generation process may also include the process of generating new Dendrites information and storing it in the NN storage unit 114. In other words, the growth unit 138 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 136, in the direction indicated by the goal information that is paired with a state determined by the state determination unit 137.

[0160] It is preferable that each of the one or more node identifiers determined by the firing node determination unit 136 is one or more node identifiers that match the Dendrites generation conditions among the one or more node identifiers determined by the firing node determination unit 136. However, each of the one or more node identifiers determined by the firing node determination unit 136 may be all of the node identifiers determined by the firing node determination unit 136.

[0161] The process for generating Dendrites information is the process for generating Dendrites information for Dendrites connected to the node identified by the target node identifier. For example, the process for generating Dendrites information involves obtaining a unique Dendrites identifier, obtaining Dendrites position information in the direction indicated by the goal information from the node identified by the target node identifier (the node identifier of the node to which the Dendrites are connected), and then constructing and storing Dendrites information that includes the Dendrites identifier and the Dendrites position information.

[0162] Furthermore, Dendrite generation conditions are the conditions for generating Dendrites. Dendrite generation conditions are, for example, conditions based on difference information or count information. Examples of Dendrite generation conditions include "difference information >= threshold", "difference information > threshold", "count information >= threshold", and "count information > threshold". Dendrite generation conditions may be the same as or different from edge generation conditions. (2-2) AXON generation process

[0163] The growth unit 138 performs, for example, AXON generation processing. AXON generation processing is the process of generating a new AXON. AXON generation processing may also include the process of generating new AXON information and storing it in the NN storage unit 114. In other words, the growth unit 138 generates and stores AXON information for AXONs extending from nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit 136, in the direction indicated by goal information paired with a state determined by the state determination unit 137.

[0164] It is preferable that each of the one or more node identifiers determined by the firing node determination unit 136 is one or more node identifiers that match the AXON generation conditions among the one or more node identifiers determined by the firing node determination unit 136. However, each of the one or more node identifiers determined by the firing node determination unit 136 may be all of the node identifiers determined by the firing node determination unit 136.

[0165] The process for generating AXON information is the process for generating AXON information for AXONs connected to nodes identified by the target node identifier (the node identifier of the node to which the AXON is connected). For example, the process for generating AXON information involves obtaining a unique AXON identifier, obtaining AXON location information in the direction indicated by the goal information from the node identified by the target node identifier, and then constructing and storing AXON information that includes the AXON identifier and the AXON location information.

[0166] Furthermore, AXON generation conditions are the conditions for generating an AXON. AXON generation conditions are, for example, conditions based on difference information or count information. Examples of AXON generation conditions include "difference information >= threshold", "difference information > threshold", "count information >= threshold", and "count information > threshold". AXON generation conditions may be the same as or different from edge generation conditions. (3) Node generation process

[0167] The growth unit 138 performs, for example, node generation processing. Node generation processing is the process of generating new node information. In other words, the growth unit 138 performs node generation processing to generate and store new node information at a location near the location 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 136, which is the direction indicated by the goal information that is paired with a state determined by the state determination unit 137.

[0168] The growth unit 138 acquires, for example, a new node identifier. The growth unit 138 also acquires, for example, new node position information that is the direction indicated by the goal information paired with a state determined by the state determination unit 137, and is located at a predetermined distance from the position indicated by the node position information of the target node (fire node). The growth unit 138 also acquires, for example, information contained in the node information of the target node (for example, firing condition or firing probability information). The growth unit 138 then constructs node information that includes, for example, a new node identifier, new node position information, and one or more pieces of information from among firing condition or firing probability information, and stores it in the NN storage unit 114. The predetermined distance may be a predetermined distance or may change dynamically.

[0169] Preferably, each of the one or more node identifiers among the one or more node identifiers is, for example, each of the one or more node identifiers included in the node information that matches the node generation conditions. However, the one or more node identifiers among the one or more node identifiers may also be, for example, all of the one or more node identifiers.

[0170] Node generation conditions are the conditions for generating a node. Node generation conditions can be, for example, conditions based on difference information. For example, "difference information >= threshold" or "difference information > threshold". Node generation conditions can be the same as or different from edge generation conditions. Furthermore, node generation conditions can be common to all nodes of interest, or they can differ from node to node. If node generation conditions differ from node to node, for example, node information may contain the node generation conditions. (4) Glial cell generation process

[0171] The growth unit 138 is preferably capable of performing the following glial cell generation process. That is, for example, when the amount of energy held by an element, such as a node or edge, becomes so small as to satisfy predetermined conditions relative to the required energy, the growth unit 138 generates glial cell information connected to that element. The element may also be an AXON or a Dendrite. In other words, the growth unit 138 generates glial cell information connected to an element, such as an AXON or a Dendrite, when the amount of energy held by that element becomes so small as to satisfy predetermined conditions relative to the required energy.

[0172] The predetermined conditions are, for example, "Amount of energy held < Amount of energy required", or "Amount of energy held <= Amount of energy required", or "Amount of energy held - Amount of energy required <= Threshold", or "Amount of energy held - Amount of energy required < Threshold".

[0173] More specifically, the growth unit 138 determines, for example, whether the amount of energy held, indicated by the energy-holding amount information of each element (node ​​information, edge information, AXON information, or Dendrites information), is less than the amount of energy required, indicated by the energy-required amount information of each element, to satisfy predetermined conditions. If it determines that the amount is less than the required amount, it generates glial cell information having an identifier (node ​​identifier, edge identifier, AXON identifier, or Dendrites identifier) ​​that identifies the element, and stores it in the storage unit 11.

[0174] The reference score modification unit 139 modifies the reference score in the reference score storage unit 113 based on the overall score acquired by the overall score acquisition unit 135. For example, the reference score modification unit 139 modifies the reference score by changing it to an overall score. For example, the reference score modification unit 139 modifies the reference score using an augmentation function (e.g., mean, weighted mean) with the original reference score and overall score as parameters.

[0175] The reference score modification unit 139 preferably modifies the reference score in the reference score storage unit 113 only when the overall score meets the score modification conditions. The score modification conditions preferably are based on the difference information between the overall score and the reference score. For example, the score modification conditions are "difference information >= threshold" and "difference information > threshold". The degree to which the reference score is modified preferably is based on either the difference information or the overall score. For example, the degree to which the reference score is modified is based on "the average value of the overall score and the reference score" and "the weighted average value of the overall score and the reference score".

[0176] The output unit 14 outputs various types of information. These types of information include, for example, the triggered node identifier, the NN information in the NN storage unit 114, and the state identifier acquired by the state determination unit 137.

[0177] Various types of information include, for example, information that graphically represents NN information. In such cases, the processing unit 13 constructs a diagram of the nodes constituting the NN (e.g., a sphere) from the node information contained in the NN information, and constructs a diagram of the edges constituting the NN (e.g., a line) from the edge information. Furthermore, the processing unit 13 places the node diagram (e.g., a sphere) at the virtual space location indicated by the node position information contained in each node information, places the edge diagram (e.g., a line) with the virtual space location indicated by the edge position information contained in each edge information as the endpoint of the edge, and constructs a diagram that clearly indicates that the node to which the edge is connected and the diagram of the edge (e.g., a line) are connected.

[0178] Here, "output" is a concept that includes display on a screen, projection using a projector, printing with a printer, sound output, transmission to an external device, storage on a recording medium, and transfer of processing results to other processing devices or other programs.

[0179] The storage unit 11, the starting point storage unit 111, the goal storage unit 112, the reference score storage unit 113, and the NN storage unit 114 are preferably made of non-volatile recording media, but can also be made of volatile recording media.

[0180] The process by which information is stored in the storage unit 11, etc. is not relevant. 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.

[0181] The reception unit 12 and the information reception unit 121 are implemented, for example, by device drivers for wireless or wired communication means, means for receiving broadcasts, input means such as touch panels and keyboards, and control software for menu screens.

[0182] The processing unit 13, image feature acquisition unit 131, sound feature acquisition unit 132, image score acquisition unit 133, sound score acquisition unit 134, overall score acquisition unit 135, firing node determination unit 136, growth unit 138, state determination unit 137, and reference score modification unit 139 can typically be implemented using a processor, memory, etc. The processing procedures of the processing unit 13, etc., are typically implemented in software, and this software is recorded on a recording medium such as ROM. However, it may also be implemented in hardware (dedicated circuitry). The processor can be a CPU, MPU, GPU, etc., and the type is not limited.

[0183] The output unit 14 can be implemented, for example, by driver software for an output device, or by driver software for an output device and an output device, or by wireless or wired communication means, broadcasting means, etc. The output device may be, for example, a display or a speaker.

[0184] Next, an example of the operation of the NN growth apparatus 1 will be explained using the flowchart in Figure 2.

[0185] (Step S201) The information receiving unit 121 determines whether or not it has received the information. If it has received the information, it proceeds to step S202; otherwise, it returns to step S201.

[0186] (Step S202) The processing unit 13 determines whether or not image information exists in the information received in step S201. If image information exists, the process proceeds to step S203; otherwise, the process proceeds to step S204.

[0187] (Step S203) The image feature acquisition unit 131 acquires one or more image feature information from the image information received in step S201 and temporarily stores them in a buffer (not shown).

[0188] (Step S204) The processing unit 13 determines whether or not sound information exists in the information received in step S201. If sound information exists, the unit proceeds to step S205; otherwise, it proceeds to step S206.

[0189] (Step S205) The sound feature acquisition unit 132 acquires one or more sound feature information from the sound information received in step S201.

[0190] (Step S206) The overall score acquisition unit 135, etc., acquires the overall score. An example of such score acquisition process will be explained using the flowchart in Figure 3.

[0191] (Step S207) The growth unit 138, etc., performs growth processing. An example of growth processing will be explained using the flowchart in Figure 4.

[0192] (Step S208) The reference score modification unit 139 performs a process to modify the reference score. The process returns to step S201. An example of such a reference score modification process will be explained using the flowchart in Figure 16.

[0193] In the flowchart in Figure 2, processing is terminated by power-off or processing termination interrupts.

[0194] Next, an example of the score acquisition process in step S206 will be explained using the flowchart in Figure 3.

[0195] (Step S301) The image score acquisition unit 133 determines whether or not image feature information exists in the acquired feature information. If image feature information exists, the unit proceeds to step S302; otherwise, the unit proceeds to step S304.

[0196] (Step S302) The image score acquisition unit 133 acquires one or more image feature information from the acquired feature information from a buffer that is not shown.

[0197] (Step S303) The image score acquisition unit 133 acquires an image score using one or more image feature information acquired in step S302.

[0198] (Step S304) The sound score acquisition unit 134 determines whether sound feature information exists in the acquired feature information. If sound feature information exists, the unit proceeds to step S305; otherwise, the unit proceeds to step S307.

[0199] (Step S305) The sound score acquisition unit 134 acquires one or more sound feature information from the acquired feature information from a buffer (not shown).

[0200] (Step S306) The sound score acquisition unit 134 acquires a sound score using one or more sound feature information acquired in step S302.

[0201] (Step S307) The overall score acquisition unit 135 acquires an overall score using one or more of the acquired image scores or sound scores. It then returns to the higher-level processing.

[0202] The acquired feature information consists of one or more types of information from among the one or more image feature information acquired in step S302 and the one or more sound feature information acquired in step S305.

[0203] In addition, in the flowchart of Figure 3, the overall score acquisition unit 135 may acquire the overall score using one or more acquired feature information, without using the image score and sound score.

[0204] Next, an example of the growth process in step S207 will be explained using the flowchart in Figure 4.

[0205] (Step S401) The firing node determination unit 136 performs a process to determine the node that will fire initially. An example of this initial firing node determination process will be explained using the flowchart in Figure 5.

[0206] (Step S402) The ignition node determination unit 136 assigns 1 to counter i.

[0207] (Step S403) The firing node determination unit 136 determines whether or not the i-th initial firing node exists among the initial firing nodes determined in step S401. If the i-th initial firing node exists, the unit proceeds to step S404; otherwise, the unit proceeds to step S406.

[0208] (Step S404) The ignition node determination unit 136 performs ignition transmission processing. An example of ignition transmission processing will be explained using the flowchart in Figure 6.

[0209] (Step S405) The ignition node determination unit 136 increments counter i by 1. The process returns to step S403.

[0210] (Step S406) The state determination unit 137 acquires difference information. An example of the difference information acquisition process will be explained using the flowchart in Figure 8.

[0211] (Step S407) The state determination unit 137 obtains a state identifier corresponding to the difference information obtained in step S406. The state determination unit 137 refers to a correspondence table having two or more correspondence information entries that show the correspondence between the conditions of the difference information and the state identifier, and obtains a state identifier that matches the condition that matches the obtained difference information. The correspondence table is stored in the storage unit 11.

[0212] (Step S408) The growth unit 138 assigns 1 to counter j.

[0213] (Step S409) The growth unit 138 determines whether or not the j-th fired node exists among the nodes fired in steps S401 to S405. If the j-th fired node exists, the process goes to step S408; otherwise, it returns to the higher-level process.

[0214] (Step S410) The growth unit 138 increments the count information paired with the node identifier of the j-th firing node by 1.

[0215] (Step S411) The growth unit 138 performs a single growth process on the j-th firing node. An example of the single growth process will be explained using the flowchart in Figure 9.

[0216] A single growth process refers to the growth process of a single firing node and the edges connected to that node.

[0217] (Step S412) The growth unit 138 increments the counter j by 1. Return to step S407.

[0218] Next, an example of the initial firing node determination process in step S401 will be explained using the flowchart in Figure 5.

[0219] (Step S501) The ignition node determination unit 136 assigns 1 to counter i.

[0220] (Step S502) The ignition node determination unit 136 determines whether the i-th initial ignition condition exists in the starting point storage unit 111. If the i-th initial ignition condition exists, the process proceeds to step S503; otherwise, it returns to the higher-level process.

[0221] (Step S503) The ignition node determination unit 136 obtains the i-th initial ignition condition from the starting point storage unit 111.

[0222] (Step S504) The firing node determination unit 136 obtains one or more feature information to be used to determine the i-th initial firing condition from a buffer (not shown). Each of the one or more feature information is, for example, image feature information or sound feature information.

[0223] (Step S505) The firing node determination unit 136 determines whether the one or more feature information obtained in step S504 satisfies the i-th initial firing condition obtained in step S503. If the i-th initial firing condition is satisfied, the unit proceeds to step S506; otherwise, the unit proceeds to step S509.

[0224] (Step S506) The firing node determination unit 136 refers to the NN storage unit 114 and determines whether a firing probability exists for each firing node identifier that is paired with the i-th initial firing condition. If a firing probability exists, the unit proceeds to step S507; otherwise, the unit proceeds to step S508.

[0225] (Step S507) The firing node determination unit 136 uses the firing node identifier and firing probability paired with the i-th initial firing condition to determine whether or not to fire this time. If firing occurs, proceed to step S508; otherwise, proceed to step S509.

[0226] (Step S508) The ignition node determination unit 136 acquires ignition information having an ignition node identifier that is paired with the i-th initial ignition condition, and stores the ignition information in the storage unit 11.

[0227] (Step S509) The ignition node determination unit 136 increments counter i by 1. The process returns to step S502.

[0228] Next, an example of the ignition transmission process in step S404 will be explained using the flowchart in Figure 6.

[0229] (Step S601) The firing node determination unit 136 obtains all edge information from the NN storage unit 114 that includes the firing node identifier as the identifier of the connecting node. The firing node identifier here is, for example, the node identifier of the i-th initial firing node in step S403.

[0230] (Step S602) The ignition node determination unit 136 assigns 1 to counter i.

[0231] (Step S603) The firing node determination unit 136 determines whether or not the i-th edge information exists among the edge information obtained in step S601. If the i-th edge information exists, the process proceeds to step S604; otherwise, it returns to the higher-level processing.

[0232] (Step S604) The firing node determination unit 136 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 unit proceeds to step S605; otherwise, the unit proceeds to step S612. The node identifier of another node in the edge information is the node identifier of the node to which the edge is connected.

[0233] (Step S605) The firing node determination unit 136 obtains the node identifier of another node in the i-th edge information. Next, the firing node determination unit 136 obtains the node information of the node identified by the node identifier from the NN storage unit 114.

[0234] (Step S606) The firing node determination unit 136 uses the node information obtained in step S605 to determine whether or not the node corresponding to the node information will fire. An example of this firing determination process will be explained using the flowchart in Figure 7.

[0235] (Step S607) If the determination result in step S606 is "fire will occur", the firing node determination unit 136 proceeds to step S608, and if it is "do not fire", it proceeds to step S612.

[0236] (Step S608) The firing node determination unit 136 acquires firing information having a node identifier from the node information acquired in step S605, and stores the firing information in the storage unit 11.

[0237] (Step S609) The firing node determination unit 136 modifies the firing probability information contained in the node information acquired in step S605. Here, the firing node determination unit 136 modifies the firing probability information so that the firing probability specified by the firing probability information increases. The amount of increase is not specified.

[0238] (Step S610) The firing node determination unit 136 determines whether to terminate the transmission of firing between nodes (which can also be called the transmission of information). If the transmission is terminated, the unit proceeds to step S612; if the transmission is not terminated, the unit proceeds to step S611. The transmission is terminated, for example, when the node in question is the terminal node in the neural network.

[0239] (Step S611) The ignition node determination unit 136 performs ignition transmission processing with the node of interest. An example of the ignition transmission processing is shown in Figure 6.

[0240] (Step S612) The ignition node determination unit 136 increments counter i by 1. Return to step S603.

[0241] In the flowchart of Figure 6, it is preferable for the firing node determination unit 136 to update the energy amount information obtained by reducing the energy amount indicated by the energy amount information of the node information that was the source of the firing when firing is transmitted (information is transmitted) between nodes. This may also be applied to the energy amount information paired with the AXON identifier of the AXON used for transmission, and to the energy amount information paired with the Dendrites identifier of the Dendrites used for transmission. Furthermore, the function for reducing the energy amount is, for example, stored in the storage unit 11. The function is not specified. Since the function is publicly known, a detailed explanation is omitted.

[0242] Furthermore, in the flowchart of Figure 6, the firing node determination unit 136 typically performs processing to pass one or more feature information received by the firing source node to the node where the firing will occur.

[0243] Next, an example of the ignition determination process in step S606 will be explained using the flowchart in Figure 7.

[0244] (Step S701) The ignition node determination unit 136 obtains the ignition conditions corresponding to the node information obtained in step S605.

[0245] (Step S702) The firing node determination unit 136 acquires one or more feature information. These one or more feature information are the feature information passed from the node that is the source of the firing.

[0246] (Step S703) The firing node determination unit 136 determines whether one or more feature information obtained in step S702 satisfies the firing conditions obtained in step S701. If the firing conditions are met, the unit proceeds to step S704; otherwise, the unit proceeds to step S707.

[0247] (Step S704) The firing node determination unit 136 determines whether the node information of interest has firing probability information. If it has firing probability information, the unit proceeds to step S705; otherwise, the unit proceeds to step S706.

[0248] (Step S705) The firing node determination unit 136 obtains firing probability information from the node information of interest. Next, the firing node determination unit 136 uses the firing probability information to determine whether or not to fire. If firing occurs, proceed to step S706; otherwise, proceed to step S707.

[0249] (Step S706) The firing node determination unit 136 assigns "fire" to the determination result. It returns to the higher-level processing.

[0250] (Step S707) The firing node determination unit 136 assigns "Do not fire" to the determination result. It returns to the higher-level processing.

[0251] Next, an example of the difference information acquisition process in step S406 will be explained using the flowchart in Figure 8.

[0252] (Step S801) The state determination unit 137 obtains the total score obtained in step S206.

[0253] (Step S802) The state determination unit 137 assigns 1 to counter i.

[0254] (Step S803) The state determination unit 137 determines whether or not the i-th firing pattern exists in the reference score storage unit 113. If the i-th firing pattern exists, proceed to step S804; otherwise, proceed to step S809.

[0255] (Step S804) The state determination unit 137 obtains the i-th firing pattern.

[0256] (Step S805) The state determination unit 137 refers to one or more ignition information from the storage unit 11 and determines whether or not it satisfies the ignition pattern obtained in step S804. If it satisfies the ignition pattern, the unit proceeds to step S806; otherwise, the unit proceeds to step S808.

[0257] (Step S806) The state determination unit 137 obtains a reference score from the reference score storage unit 113 that corresponds to the i-th firing pattern.

[0258] (Step S807) The state determination unit 137 obtains difference information using the acquired total score and the acquired reference score. It then returns to the higher-level processing.

[0259] (Step S808) The state determination unit 137 increments the counter i by 1. The process returns to step S803.

[0260] (Step S809) The state determination unit 137 obtains a default reference score from the reference score storage unit 113. Proceed to step S807.

[0261] Next, the single growth process in step S509 is performed. An example of the single growth process will be explained using the flowchart in Figure 9.

[0262] (Step S901) The growth unit 138 performs edge growth processing. An example of edge growth processing will be explained using the flowchart in Figure 10.

[0263] (Step S902) The growth unit 138 performs edge generation processing. An example of edge generation processing will be explained using the flowchart in Figure 12.

[0264] (Step S903) The growth unit 138 performs node generation processing. It returns to the higher-level processing. An example of node generation processing will be explained using the flowchart in Figure 14.

[0265] Furthermore, it is also acceptable to do so in the flowchart shown in Figure ~.

[0266] Next, an example of the edge growth process in step S901 will be described using the flowchart of FIG. 10.

[0267] (Step S1001) The growth unit 138 acquires node information identified by the target node identifier from the NN storage unit 114.

[0268] (Step S1002) The growth unit 138 assigns 1 to the counter i.

[0269] (Step S1003) The growth unit 138 determines whether the i-th edge information exists in the NN storage unit 114 among the edge information of the edges having the node identified by the target node identifier as the connection source. If the i-th edge information exists, the process proceeds to step S1004; if it does not exist, the process returns to the upper-level process.

[0270] (Step S1004) The growth unit 138 acquires the i-th edge information from the NN storage unit 114.

[0271] (Step S1005) The growth unit 138 determines whether a node is connected to the end of the edge corresponding to the i-th edge information. More specifically, the growth unit 138 determines whether 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 S1006; if it is not only the target node identifier (when two node identifiers exist), the process proceeds to step S1010. Note that the edge information including only the target node identifier is connected to the target node and is information on an edge that can grow. On the other hand, the edge information including two node identifiers is information on an edge that does not grow.

[0272] (Step S1006) The growth unit 138 acquires the second edge growth condition.

[0273] (Step S1007) The growth unit 138 acquires the difference information acquired in step S207.

[0274] (Step S1008) The growth unit 138 determines whether the difference information obtained in step S1007 satisfies the second edge growth condition. If the second edge growth condition is met, the unit proceeds to step S1009; otherwise, it proceeds to step S1014.

[0275] (Step S1009) The growth unit 138 performs edge extension processing. Proceed to step S1014. An example of edge extension processing will be explained using the flowchart in Figure 10.

[0276] Edge extension processing is the process of extending the length of an edge, and typically involves modifying edge position information or adding the node identifier of the connected node to the edge information.

[0277] (Step S1010) The growth unit 138 acquires the first edge growth condition.

[0278] (Step S1011) The growth unit 138 acquires the difference information obtained in step S207.

[0279] (Step S1012) The growth unit 138 determines whether the difference information obtained in step S1011 satisfies the first edge growth condition. If the first edge growth condition is met, the unit proceeds to step S1013; otherwise, it proceeds to step S1014.

[0280] (Step S1013) The growth unit 138 changes the weight of the i-th edge information to the increased weight.

[0281] (Step S1014) The growth unit 138 increments the counter i by 1. Return to step S1003.

[0282] Note that in the flowchart of Figure 10, the edge growth process may be replaced with the Dendrites growth process of the Dendrites that make up the edge, or the AXON growth process of the AXON.

[0283] Next, an example of the edge extension process in step S1009 will be explained using the flowchart in Figure 11.

[0284] (Step S1101) The growth unit 138 acquires edge position information included in the acquired edge information.

[0285] (Step S1102) The growth unit 138 acquires goal information.

[0286] (Step S1103) The growth unit 138 uses the edge position information acquired in step S1101 and the goal information acquired in step S1102 to acquire new edge position information and update the edge position information. The growth unit 138 also acquires position information from the edge position information to identify the position in the direction indicated by the goal information.

[0287] The growth unit 138 acquires edge position information, for example, a position located a predetermined distance away from the position indicated by the edge position information acquired in step S1101, in the direction specified by the goal information. If another node exists in the direction specified by the goal information from the position indicated by the edge position information acquired in step S1101, the growth unit 138 acquires edge position information located 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 within a predetermined distance. If another node exists in the direction specified by the goal information from the position indicated by the edge position information acquired in step S1101, the growth unit 138 acquires the node position information of that other node as edge position information. In other words, when the growth unit 138 acquires new edge position information, it 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 itself is not important. Note that when the node position information of another node is acquired as edge position information, it is when the edge is connected to another node by the edge extension process, as will be described later. In such a case, the growth unit 138 may obtain the node identifier of the other node.

[0288] (Step S1104) The growth unit 138 substitutes 1 for the counter i.

[0289] (Step S1105) The growth unit 138 determines whether the i-th node information exists in the NN storage unit 114. If the i-th node information exists, it proceeds to step S1106; if it does not exist, it returns to the upper-level process.

[0290] (Step S1106) The growth unit 138 acquires the node position information possessed by the i-th node information.

[0291] (Step S1107) The growth unit 138 determines whether the node position information acquired in step S1106 satisfies the connection condition. If it satisfies the connection condition, it proceeds to step S1108; if it does not satisfy, it proceeds to step S1111. Note that the connection condition is the 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 S1106 and the position indicated by the new edge position information acquired in step S1103 is within or less than the threshold value.

[0292] (Step S1108) The growth unit 138 acquires the node identifier possessed by the i-th node information.

[0293] (Step S1109) The growth unit 138 changes the edge position information updated in step S1103 to the node position information possessed by the i-th node information.

[0294] (Step S1110) The growth unit 138 adds the node identifier acquired in step S1108 to the acquired edge information. It returns to the upper-level process.

[0295] (Step S1111) The growth unit 138 increments the counter i by 1. It returns to step S1105.

[0296] Note that in the flowchart of Figure 11, the edge extension process may be replaced with the Dendrites extension process for the Dendrites that make up the edge, or with the AXON extension process for AXON.

[0297] Dendrites decompression is the process of decompressing Dendrites, and in the explanation of the process using Figure 11, it is the process of replacing edge information with Dendrites information. AXON decompression is the process of decompressing AXONs, and in the explanation of the process using Figure 11, it is the process of replacing edge information with AXON information.

[0298] Furthermore, in the flowchart of Figure 11, the process may proceed to step S1111 after the processing in step S1110. In this case, one edge may branch off and connect to two or more nodes.

[0299] Alternatively, in step S1107 of the flowchart in Figure 11, the distance between the new edge position information obtained in step S1103 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 conditions.

[0300] Next, an example of the edge generation process in step S902 will be explained using the flowchart in Figure 12.

[0301] (Step S1201) The growth unit 138 obtains node information identified by the node of interest identifier from the NN storage unit 114.

[0302] (Step S1202) The growth unit 138 obtains the edge generation conditions.

[0303] (Step S1203) The growth unit 138 reads out the difference information that has already been acquired.

[0304] (Step S1204) The growth unit 138 determines whether the difference information obtained in step S1203 satisfies the edge generation conditions. If the edge generation conditions are met, the process proceeds to step S1204; otherwise, it returns to the higher-level processing.

[0305] (Step S1205) The growth unit 138 performs edge information generation processing. An example of edge information generation processing will be explained using the flowchart in Figure 13.

[0306] (Step S1206) The growth unit 138 stores the edge information generated in step S1205 in the NN storage unit 114. It then returns to the higher-level processing.

[0307] Next, an example of the edge information generation process in step S1205 will be explained using the flowchart in Figure 13.

[0308] (Step S1301) The growth unit 138 obtains goal information corresponding to the state identifier obtained in step S208 from the goal storage unit 112.

[0309] (Step S1302) The growth unit 138 uses the node position information of the node of interest (the node from which the edge is generated) and the goal information obtained in step S1301 to obtain the edge position information of the new edge. The growth unit 138 uses the node position information as a starting point and obtains the edge position information of the edge extending in the direction of the goal information. 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 predetermined.

[0310] The growth unit 138 acquires edge position information indicating a predetermined distance away from the position indicated by the node position information of the node of interest, in the direction specified by the goal information. If another node exists in the direction specified by the goal information from the position indicated by the node position information of the node of interest, the growth unit 138 acquires the node position information of that other node as edge position information. In other words, the generated edge here becomes an edge connecting the node corresponding to the node position information of the node of interest and that other node. If another node exists in the direction specified by the goal information from the position indicated by the node position information of the node of interest, and the distance between the position indicated by the node position information of the node of interest and the position indicated by the node position information of the other node is greater than or equal to a threshold, the growth unit 138 acquires node position information indicating a predetermined distance away from the position indicated by the node position information of the node of interest. If the distance between the position indicated by the node position information of the node of interest and the position indicated by the node position information of the other node is less than or equal to a threshold, the growth unit 138 acquires the node position information of that other node as edge position information. In other words, the growth unit 138 only needs to acquire edge position information of edges that extend in the direction of the goal information, starting from the node position information, and the edge position information itself is not relevant.

[0311] (Step S1303) The growth unit 138 obtains the edge identifier of the new edge. The growth unit 138 generates, for example, a new edge identifier. The growth unit 138 obtains, for example, an unused edge identifier from the set of edge identifiers.

[0312] (Step S1304) The growth unit 138 obtains the node identifier (target node identifier) ​​of the node to which the edge is connected. Here, the growth unit 138 obtains the node identifier that is paired with the node position information of the target node. The growth unit 138 may also obtain the node identifier of the newly connected node.

[0313] (Step S1305) The growth unit 138 configures edge information having the edge identifier obtained in step S1303, the edge position information obtained in step S1302, and one or two node identifiers obtained in step S1304. It returns to the higher-level processing.

[0314] In the flowchart in Figure 13, the edge corresponding to the generated edge information may be in a situation where there are no nodes connected to it, or it may be in a situation where there are nodes connected to it.

[0315] If a node already exists that connects to the edge corresponding to the generated edge information, the growth unit 138 obtains the node identifier that is paired with the node position information in the direction of the goal information as the node identifier of the node to which it will connect. Note that if the growth unit 138 always configures and stores edge information so that the generated edge connects two nodes, edge growth processing is usually not performed.

[0316] Next, an example of the node generation process in step S903 will be explained using the flowchart in Figure 14.

[0317] (Step S1401) The growth unit 138 acquires difference information.

[0318] (Step S1402) The growth unit 138 obtains the node generation conditions.

[0319] (Step S1403) The growth unit 138 determines whether the difference information obtained in step S1401 satisfies the node generation conditions obtained in step S1402. If the node generation conditions are met, the process proceeds to step S1404; otherwise, the process returns to the higher-level processing.

[0320] (Step S1404) The growth unit 138 performs node information generation processing. An example of node information generation processing will be explained using the flowchart in Figure 15.

[0321] (Step S1405) The growth unit 138 stores the node information configured in step S1404 in the NN storage unit 114. It then returns to the higher-level processing.

[0322] Next, an example of the node information generation process in step S1404 will be explained using the flowchart in Figure 15.

[0323] (Step S1501) The growth unit 138 acquires node location information contained in the focus node information identified by the focus node identifier.

[0324] (Step S1502) The growth unit 138 obtains goal information corresponding to the state identifier obtained in step S407 from the goal storage unit 112.

[0325] (Step S1503) The growth unit 138 uses the node position information obtained in step S1501 and the goal information obtained in step S1502 to obtain node position information that indicates the position in the direction specified by the goal information relative to the position indicated by the node position information obtained in step S1501. This node position information is the position information of a new node.

[0326] The growth unit 138 acquires node location information that indicates a predetermined distance away from the position indicated by the node location information acquired in step S1501, in the direction specified by the goal information. If another node exists in the direction specified by the goal information from the position indicated by the node location information acquired in step S1501, the growth unit 138 acquires node location information that indicates a distance within a predetermined distance between the node location information of the other node in the direction specified by the goal information from the position indicated by the node location information acquired in step S1501, and within a predetermined distance. In other words, when the growth unit 138 acquires node location information for a new node, it only needs to acquire node location information in the direction specified by the goal information, and the node location information itself is not important.

[0327] (Step S1504) The growth unit 138 obtains the node identifier of the new node. The growth unit 138 generates a new node identifier. However, the growth unit 138 may also obtain an unused node identifier from the set of node identifiers.

[0328] (Step S1505) The growth unit 138 obtains information used for the node information of a new node, and acquires information contained in the node information of the node of interest. Such information includes, for example, ignition conditions, ignition probability information, and energy amount information.

[0329] (Step S1506) The growth unit 138 constitutes node information having the node identifier obtained in step S1504, the node location information obtained in step S1503, and the information obtained in step S1505. It returns to the higher-level processing.

[0330] Next, an example of the reference change process in step S208 will be explained using the flowchart in Figure 16.

[0331] (Step S1601) The reference score change unit 139 obtains the score change conditions from the storage unit 11.

[0332] (Step S1602) The reference score modification unit 139 obtains the total score or difference information from a buffer that is not shown.

[0333] (Step S1603) The reference score modification unit 139 determines whether the overall score or difference information satisfies the score modification conditions. If the score modification conditions are met, the process proceeds to step S1604; otherwise, it returns to the higher-level process.

[0334] (Step S1604) The reference score modification unit 139 determines whether or not the i-th firing pattern exists in the reference score storage unit 113. If the i-th firing pattern exists, the process proceeds to step S1605; otherwise, it returns to the higher-level process.

[0335] (Step S1605) The reference score changing unit 139 assigns 1 to counter i.

[0336] (Step S1606) The reference score modification unit 139 obtains the i-th firing pattern from the reference score storage unit 113.

[0337] (Step S1607) The reference score modification unit 139 refers to the firing information (information of the fired node) in the storage unit 11 and determines whether the i-th firing pattern is met. If the i-th firing pattern is met, the unit proceeds to step S1608; otherwise, the unit proceeds to step S1610. In general, if the i-th firing pattern is met, all node identifiers included in that firing pattern are included in the set of node identifiers of the fired node. However, if the i-th firing pattern is met, for example, it may also be the case that a threshold or greater proportion of the node identifiers included in that firing pattern are included in the set of node identifiers of the fired node.

[0338] (Step S1608) The reference score modification unit 139 obtains the reference score corresponding to the i-th firing pattern from the reference score storage unit 113. The reference score modification unit 139 uses the obtained reference score to obtain the modified reference score.

[0339] If the status identifier is "positive," the changed baseline score will usually be higher than the original baseline score. If the status identifier is "negative," the changed baseline score will usually be lower than the original baseline score.

[0340] (Step S1609) The reference score changing unit 139 changes the reference score that corresponds to the i-th firing pattern to the reference score obtained in step S1608.

[0341] (Step S1610) The reference score changing unit 139 increments counter i by 1. Return to step S1606.

[0342] In addition, in the flowchart of Figure 16, the score change conditions may differ for each firing pattern. In such cases, if the score change condition corresponding to the firing pattern that is determined to be satisfied in step S1607 is also satisfied, the score change condition corresponding to that firing pattern is changed.

[0343] Furthermore, in the flowchart of Figure 16, the reference score change unit 139 may change the default reference score.

[0344] As described above, this embodiment allows for the simulation of brain growth. In particular, the NN growth device 1 can simulate, for example, the brain growth of a person from infancy onward.

[0345] The processing in this embodiment may be implemented by software. This software may be distributed via software download or the like. Alternatively, 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 implements the NN growth apparatus 1 in this embodiment is the following program.In other words, this program is a computer that can access an information receiving unit that receives image information and sound information, an image feature acquisition unit that uses the image information received by the information receiving unit to acquire one or more image feature information for the image information, and an image feature acquisition unit that uses the image information received by the information receiving unit to acquire one or more image feature information for the image information, and an image feature acquisition unit that uses the image information received by the information receiving unit to acquire one or more image feature information for the image information, and an image feature acquisition unit that uses the image information received by the information receiving unit to acquire one or more image feature information for the image information, and an image feature acquisition unit that uses the image information received by the information receiving unit to acquire This program functions as a sound feature acquisition unit that acquires one or more sound feature pieces of information for the sound information; a total score acquisition unit that acquires a total score based on the one or more image feature pieces and the one or more sound feature pieces; a start point storage unit that determines one or more node identifiers from the start point storage unit that are paired with an initial firing condition in which one or more of the one or more image feature pieces and one or more of the one or more sound feature pieces of information match; a firing node determination unit that determines the node identifier of a node that is connected by an edge to the node identified by each of the one or more node identifiers and is passed one or more of the one or more image feature pieces and one or more of the sound feature pieces, and that fires; and a growth unit that performs a growth process which grows the edge information of one or more edges connected to the node identified by each of the one or more node identifiers determined by the firing node determination unit, based on difference information regarding the difference between the total score and the reference score.

[0346] (Embodiment 2) In this embodiment, an information processing device will be described that uses neural network information generated by the NN growth device 1 to acquire firing patterns for received image information and / or sound information, and outputs information for said firing patterns.

[0347] Furthermore, in this embodiment, we will describe an information processing device in which the information transmission speed between nodes changes according to temperature information.

[0348] Figure 17 is a block diagram of the information processing device 2 in this embodiment. The information processing device 2 comprises a storage unit 21, a receiving unit 22, a processing unit 23, and an output unit 24. The storage unit 21 comprises a start point storage unit 111 and an NN storage unit 114. The receiving unit 22 comprises an information receiving unit 221 and a temperature receiving unit 222. The processing unit 23 comprises a feature acquisition unit 231, an information transmission unit 232, an ignition pattern acquisition unit 233, and an output information acquisition unit 234. The output unit 24 comprises an information output unit 241.

[0349] The storage unit 21, which constitutes the information processing device 2, stores various types of information. These types of information include, for example, neural network information, one or more ignition point information, and one or more output management information.

[0350] The firing point information is information that includes an information identifier that identifies the characteristic information of the received information, and one or more node identifiers that identify the node that will fire first when the said characteristic information is received.

[0351] Receiving information refers to information received by the information receiving unit 221. Receiving information includes one or two types of information from among image information and sound information. Receiving information may include two or more types of information. Receiving information may include, for example, tactile information and odor information. Tactile information refers to information related to touch. Odor information refers to information related to odor.

[0352] Output management information is information that includes output conditions and output information. Output management information may also be a pair of information consisting of output conditions and output information.

[0353] Output conditions are the conditions used to determine output information. Output conditions are the conditions for output using a firing pattern. Output conditions may be the firing pattern itself, or information containing the firing pattern and output probability information. Output probability information is information about the probability of obtaining output information. Output conditions may also be information about the lower limit of the number of node identifiers that the firing pattern and the applied firing pattern have, or information about the lower limit of the ratio of node identifiers that the firing pattern and the applied firing pattern have, etc. A firing pattern has one or more node identifiers. A firing pattern is a firing pattern of one or more nodes. Output information is information corresponding to the firing pattern.

[0354] The output information includes, for example, emotional information related to a person's emotions and behavioral information related to a person's body movements. Emotional information includes, for example, happiness, sadness, fear, surprise, etc. Emotional information is, for example, an ID that identifies an emotion. Emotional information may also be the state identifier mentioned above. Behavioral information is, for example, information that is reflected in the movements of an avatar (character). Behavioral information is, for example, information that is reflected in the movements of an infant avatar. Note that the technology for operating avatars is publicly known technology, so a detailed explanation will be omitted.

[0355] The output conditions may be conditions that use a firing pattern and information about one or more external pieces of information. External information refers to information from outside the system. External information can also be called user context. Examples of external information include temperature, weather, smell, sound, light, etc.

[0356] The NN storage unit 114 stores the neural network information accumulated by the NN growth device 1.

[0357] The reception unit 22 receives various types of information. These types of information include, for example, reception information and temperature information.

[0358] The information receiving unit 221 receives the received information. For example, the information receiving unit 221 acquires image information captured by a camera. The information receiving unit 221 may also receive sound information acquired by a microphone. The received information may contain both image information and sound information.

[0359] Here, "reception" is a concept that includes receiving information acquired by devices such as cameras and microphones, receiving information transmitted via wired or wireless communication lines, and receiving information read from recording media such as optical discs, magnetic discs, and semiconductor memory.

[0360] The temperature receiving unit 222 receives temperature information. Temperature information is information that identifies the temperature. The temperature is, for example, the temperature of the external environment.

[0361] Here, "reception" is a concept that includes receiving information input from input devices such as microphones, keyboards, mice, and touch panels; receiving information transmitted via wired or wireless communication lines; and receiving information read from recording media such as optical discs, magnetic discs, and semiconductor memory.

[0362] The processing unit 23 performs various processes. These various processes include, for example, the processes performed by the feature acquisition unit 231, the information transmission unit 232, the firing pattern acquisition unit 233, and the output information acquisition unit 234.

[0363] The feature acquisition unit 231 uses the image information received by the information receiving unit 221 to acquire one or more image feature information for said image information. The feature acquisition unit 231 uses the sound information received by the information receiving unit 221 to acquire one or more sound feature information for said sound information.

[0364] The processing performed by the feature acquisition unit 231 may be the same as the processing performed by one or two of the components of the image feature acquisition unit 131 and the sound feature acquisition unit 132.

[0365] The information transmission unit 232 determines a node identifier corresponding to each of the one or more feature information acquired by the feature acquisition unit 231 from one or more firing start point information. This node identifier is the identifier of the node that fires. And this node identifier is the identifier of the node that fires in the first stage.

[0366] Next, the information transmission unit 232 determines the node identifier of the node that is connected by an edge to the node identified by the one or more node identifiers determined, and which is a node that receives feature information and is triggered.

[0367] The information transmission unit 232 performs an information transmission process, which is the 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 first firing node by one edge, and is the node that has been determined to fire.

[0368] The information transmission unit 232 acquires node information of nodes connected to a firing node by an edge. Next, the information transmission unit 232 determines whether the node information satisfies the firing conditions. Then, the information transmission unit 232 constructs and stores firing information that includes the node identifier possessed by the node information that satisfies the firing conditions.

[0369] The information transmission unit 232, for example, when it determines that the node information satisfies the firing conditions, determines whether or not to fire based on the probability indicated by the firing probability information of the node information. Then, for example, when the information transmission unit 232 determines that the node information satisfies the firing conditions and will fire based on the probability indicated by the firing probability information, it constructs and stores firing information including the node identifier of the node information.

[0370] It is preferable for the information transmission unit 232 to change the processing time for information transmission processing according to the temperature information received by the temperature receiving unit 222. For example, the information transmission unit 232 performs information transmission processing faster when the temperature information indicates a high temperature compared to when the temperature information indicates a lower temperature. For example, the information transmission unit 232 delays the information transmission processing 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 processing for a predetermined time when the delay condition is met. Delaying the information transmission processing means, for example, waiting for a predetermined time. The delay condition is a condition for delaying processing and is based on temperature information. For example, the delay condition is "temperature information <= threshold" or "temperature information < threshold".

[0371] The information transmission unit 232 preferably increases the firing probability information contained in the node information of the firing node. This is because the more a node fires, the more likely it is to fire.

[0372] 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 set of information that identifies one or more firing nodes. A firing pattern is information that usually identifies nodes that fire simultaneously. A firing pattern has one or more node identifiers.

[0373] The firing pattern acquisition unit 233 preferably acquires a firing pattern having one or more node identifiers of the node that ultimately fired. The node that ultimately fired is the node among the fired nodes that did not transmit information to other nodes connected by edges.

[0374] The output information acquisition unit 234 acquires output information corresponding to the ignition pattern acquired by the ignition pattern acquisition unit 233. For example, the output information acquisition unit 234 refers to one or more output management information from the storage unit 21 and acquires output information corresponding to the output conditions satisfied by the ignition pattern acquired by the ignition pattern acquisition unit 233.

[0375] The output information acquisition unit 234, for example, refers to one or more output management information in the storage unit 21 and determines the firing pattern of the output conditions that the firing pattern acquired by the firing pattern acquisition unit 233 satisfies. Next, the output information acquisition unit 234 decides whether or not to acquire output information based on a probability derived from the output probability information paired with the determined firing pattern, and if it decides to acquire output information, it acquires the output information contained in the output management information.

[0376] The output unit 24 outputs various types of information. These types of information include, for example, output information.

[0377] The information output unit 241 outputs the output information acquired by the output information acquisition unit 234. Here, output is a concept that includes display on a screen, projection using a projector, printing with a printer, sound output, transmission to an external device, storage on a recording medium, and transfer of processing results to other processing devices or other programs.

[0378] While non-volatile recording media are preferred for the storage unit 21 and the NN storage unit 114, volatile recording media can also be used.

[0379] The process by which information is stored in the storage unit 21, etc. is not relevant. 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.

[0380] The reception unit 22, the information reception unit 221, and the temperature reception unit 222 are implemented, for example, by device drivers for cameras, microphones, wireless or wired communication means, means for receiving broadcasts, input means such as touch panels and keyboards, and control software for menu screens.

[0381] The processing unit 23, feature acquisition unit 231, information transmission unit 232, firing pattern acquisition unit 233, and output information acquisition unit 234 can typically be implemented using a processor, memory, etc. The processing procedures of the processing unit 23, etc., are usually implemented in software, and this software is recorded on a recording medium such as ROM. However, it may also be implemented in hardware (dedicated circuitry). The processor can be a CPU, MPU, GPU, etc., and the type is not limited.

[0382] The output unit 24 and the information output unit 241 may or may not be considered to include output devices such as displays and speakers. The output unit 24, etc., can be implemented by driver software for an output device, or by driver software for an output device and an output device, etc. The output unit 24, etc., can be configured, for example, by a robot.

[0383] Next, an example of the operation of the information processing device 2 will be explained using the flowchart in Figure 18.

[0384] (Step S1801) The information receiving unit 221 determines whether or not it has received the information. If it has received the information, it proceeds to step S1802; otherwise, it returns to step S1801.

[0385] (Step S1802) The feature acquisition unit 231 acquires one or more feature information from the received information received in step S1801. For example, the feature acquisition unit 231 acquires one or more feature information from the image information received in step S1801. For example, the feature acquisition unit 231 acquires one or more feature information from the sound information received in step S1801.

[0386] (Step S1803) The temperature receiving unit 222 acquires temperature information.

[0387] (Step S1804) The information transmission unit 232 performs information transmission processing within the neural network. An example of information transmission processing will be explained using the flowchart in Figure 19.

[0388] (Step S1805) The firing pattern acquisition unit 233 acquires a firing pattern having one or more node identifiers of the last firing node in step S1804. The last firing node is the node that fired and did not pass its feature information to other nodes.

[0389] (Step S1806) The output information acquisition unit 234 acquires output information corresponding to the ignition pattern acquired in step S1805.

[0390] (Step S1807) If output information was obtained in step S1806, proceed to step S1808; otherwise, return to step S1801.

[0391] (Step S1808) The information output unit 241 outputs the information acquired in step S1806. Return to step S1801.

[0392] In addition, in the flowchart of Figure 18, the processing unit 23 may have a state determination unit 137 and a growth unit 138, and perform the growth process described above.

[0393] Furthermore, in the flowchart of Figure 18, processing is terminated by power off or processing termination interrupt.

[0394] Next, an example of the information transmission process in step S1804 will be explained using the flowchart in Figure 19.

[0395] (Step S1901) The information transmission unit 232 assigns 1 to counter i.

[0396] (Step S1902) The information transmission unit 232 determines whether or not the i-th feature information exists among the feature information acquired in step S1802. If the i-th feature information exists, the process proceeds to step S1903; otherwise, it returns to the higher-level processing.

[0397] (Step S1903) The information transmission unit 232 refers to one or more ignition start point information in the storage unit 21 and obtains node identifiers that each of the one or more ignition start point information items satisfies the i-th feature information. The information transmission unit 232 constructs ignition information including the node identifiers and stores it in the storage unit 21. It is preferable that the information transmission unit 232 obtains timer information indicating the time of ignition from a clock (not shown), constructs ignition information having the timer information and the node identifiers, and stores it in the storage unit 21. The one or more node identifiers are identifiers of nodes that ignite in the first stage. These node identifiers are ignition node identifiers. It is also acceptable for the information transmission unit 232 not to be able to obtain the ignition node identifiers.

[0398] (Step S1904) The information transmission unit 232 assigns 1 to counter j.

[0399] (Step S1905) The information transmission unit 232 determines whether or not the j-th fire node identifier exists among the fire node identifiers obtained in step S1903. If the j-th fire node identifier exists, the unit proceeds to step S1906; otherwise, the unit proceeds to step S1910.

[0400] (Step S1906) The information transmission unit 232 performs the process of adding the i-th feature information to the node identified by the j-th firing node identifier. The process of adding the i-th feature information to the node includes, for example, writing the i-th feature information to the node information of that node, and associating the i-th feature information with the node information of that node.

[0401] (Step S1907) The information transmission unit 232 updates the count information in the node information corresponding to the j-th firing node identifier. For example, the information transmission unit 232 reads the count information in the node information corresponding to the j-th firing node identifier and overwrites it with count information that is 1 added to the original count information.

[0402] (Step S1908) The information transmission unit 232 performs the next transmission process using the j-th firing node identifier as the node of interest identifier. An example of the next transmission process will be explained using the flowchart in Figure 20.

[0403] The next transmission process is the process of passing feature information about the node identified by the focus node identifier to the node that fires, which is connected to the node identified by the focus node identifier via an edge. This process of passing feature information is called information transmission.

[0404] (Step S1909) The information transmission unit 232 increments counter j by 1. Return to step S1905.

[0405] (Step S1910) The information transmission unit 232 increments counter i by 1. Return to step S1902.

[0406] Next, an example of the next transmission process in step S1908 will be explained using the flowchart in Figure 20.

[0407] (Step S2001) The information transmission unit 232 determines whether the acquired temperature information meets the delay condition. If it meets the delay condition, the process proceeds to step S2002; otherwise, the process proceeds to step S2003.

[0408] (Step S2002) The information transmission unit 232 waits. The waiting time is preferably predetermined, but not required.

[0409] (Step S2003) The information transmission unit 232 obtains all edge information, including the firing node identifier of interest, from the NN storage unit 114.

[0410] (Step S2004) The information transmission unit 232 assigns 1 to counter i.

[0411] (Step S2005) The information transmission unit 232 determines whether or not the i-th edge information exists among the edge information acquired in step S2001. If the i-th edge information exists, the process proceeds to step S2006; otherwise, it returns to the higher-level processing.

[0412] (Step S2006) 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 S2007; otherwise, it proceeds to step S2014. 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, it means that the edge is connected to two nodes.

[0413] (Step S2007) The information transmission unit 232 obtains the node identifier of another node in the i-th edge information. Next, the information transmission unit 232 obtains the node information of the node identified by the node identifier from the NN storage unit 114.

[0414] (Step S2008) The information transmission unit 232 uses the node information acquired in step S2007 to determine whether or not the node corresponding to the node information will fire. An example of this firing determination process will be explained using the flowchart in Figure 21.

[0415] (Step S2009) If the judgment result in step S2008 is "fire will occur", the information transmission unit 232 proceeds to step S2010, and if it is "no fire will occur", it proceeds to step S2014.

[0416] (Step S2010) The information transmission unit 232 acquires firing information having a node identifier from the node information acquired in step S2007, and stores the firing information in the storage unit 11.

[0417] (Step S2011) The information transmission unit 232 modifies the firing probability information contained in the node information acquired in step S2007. Here, the information transmission unit 232 modifies the firing probability information so that the firing probability specified by the firing probability information increases.

[0418] (Step S2012) The information transmission unit 232 determines whether to terminate the transmission of information between nodes. If the transmission is terminated, the process proceeds to step S2014; otherwise, the process proceeds to step S2013. The transmission is terminated, for example, when the node in question is the terminal node in the neural network. Also, if the transmission is terminated, the node identifier held by the firing information accumulated in step S2010 immediately before is the node identifier that constitutes the firing pattern.

[0419] (Step S2013) The information transmission unit 232 performs the next transmission process with the node in question as the node of interest. An example of the next transmission process is shown in Figure 20.

[0420] (Step S2014) The information transmission unit 232 increments counter i by 1. Return to step S2005.

[0421] In the flowchart of Figure 20, it is preferable for the information transmission unit 232 to update the energy amount information obtained by reducing the energy amount information of the node information that caused the firing when information is transmitted between nodes. This may also be applied to the energy amount information paired with the AXON identifier of the AXON used for transmission, and to the energy amount information paired with the Dendrites identifier of the Dendrites used for transmission. Furthermore, the function for reducing the energy amount is, for example, stored in the storage unit 21. The function is not specified. Since the function is publicly known, a detailed explanation is omitted.

[0422] Next, an example of the ignition determination process in step S2008 will be explained using the flowchart in Figure 21.

[0423] (Step S2101) The information transmission unit 232 obtains the firing conditions corresponding to the node information in step S2005. The firing conditions may be different for each node, or they may be common to two or more nodes.

[0424] (Step S2102) The information transmission unit 232 acquires one or more feature information. The one or more feature information here is the feature information passed from the node that triggered the firing.

[0425] (Step S2103) The information transmission unit 232 determines whether one or more feature pieces acquired in step S2102 satisfy the ignition conditions acquired in step S2101. If the ignition conditions are satisfied, the unit proceeds to step S2104; otherwise, the unit proceeds to step S2107.

[0426] (Step S2104) The information transmission unit 232 determines whether the node information of interest has firing probability information. If it has firing probability information, the unit proceeds to step S2105; otherwise, the unit proceeds to step S2106.

[0427] (Step S2105) The information transmission unit 232 obtains the firing probability information of the node of interest. Next, the information transmission unit 232 uses the firing probability information to determine whether or not to fire. If it fires, proceed to step S2106; otherwise, proceed to step S2107.

[0428] (Step S2106) The information transmission unit 232 assigns "ignite" to the judgment result. It returns to the higher-level processing.

[0429] (Step S2107) The information transmission unit 232 assigns "Does not fire" to the judgment result. It returns to the higher-level processing.

[0430] As described above, this embodiment allows for the simulation of brain activity during development. In other words, the information processing device 2 can use the NN information configured by the NN growth device 1 to simulate brain activity in response to received information. Furthermore, the information processing device 2 can, for example, simulate brain activity in people from infancy onward.

[0431] In this embodiment, the information processing device may implement the growth process performed by the NN growth device 1. In this case, the information processing device can grow the neural network while outputting output information for the received information. In this case, the information processing device is the information processing device 3. The processing unit 23 of the information processing device 3 has, in addition to the configuration of the information processing device 2, an image score acquisition unit 133, a sound score acquisition unit 134, a total score acquisition unit 135, a firing node determination unit 136, a state determination unit 137, a growth unit 138, and a reference score modification unit 139, which are also present in the NN growth device 1. A block diagram of the information processing device 3 in this case is shown in Figure 22.

[0432] In Figure 22, the processing of the ignition node determination unit 136 of the NN growth device 1 is performed by the information transmission unit 232. The feature acquisition unit 231 is a combination of the image feature acquisition unit 131 and the sound feature acquisition unit 132.

[0433] The software that implements the information processing device 2 in this embodiment is the following program. In other words, this program is a program to make a computer that can access the NN storage unit where neural network information accumulated by the NN growth device 1 is stored function as an information receiving unit that receives reception information which is one or more pieces of information from image information or sound information; a feature acquisition unit that acquires one or more feature pieces of information for the reception information received by the information receiving unit; a start point storage unit that stores one or more firing start point information which has an information identifier that identifies the feature information of the reception information and one or more node identifiers that identify the node that fires first when the feature information is received; an information transmission unit that determines the node identifier of the node that fires, which is a node connected by an edge to the node identified by the one or more node identifiers that receive the feature information; 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.

[0434] Figure 23 also shows the appearance of a computer that executes the program described herein to realize the various embodiments of the NN growth apparatus 1, information processing apparatus 2, and information processing apparatus 3 described above. The embodiments described above can be realized with computer hardware and computer programs executed thereon. Figure 23 is an overview of this computer system 300, and Figure 24 is a block diagram of the system 300.

[0435] In Figure 23, the computer system 300 includes a computer 301 with a CD-ROM drive, a keyboard 302, a mouse 303, a monitor 304, a microphone 305, and a camera 306.

[0436] In Figure 24, the computer 301 includes, in addition to the CD-ROM drive 3012, an MPU 3013, a bus 3014 connected to the CD-ROM drive 3012, a ROM 3015 for storing programs such as boot-up programs, a RAM 3016 connected to the MPU 3013 for temporarily storing instructions for application programs and providing temporary storage space, and a hard disk 3017 for storing application programs, system programs, and data. Although not shown here, the computer 301 may further include a network card that provides connectivity to a LAN.

[0437] The program that causes the computer system 300 to execute the functions of the NN growth device 1, etc., as described above, may be stored on CD-ROM 3101, inserted into CD-ROM drive 3012, and then transferred to hard disk 3017. Alternatively, the program may be transmitted to computer 301 via a network (not shown) and stored on hard disk 3017. The program is loaded into RAM 3016 during execution. The program may also be loaded directly from CD-ROM 3101 or the network.

[0438] The program does not necessarily have to include an operating system (OS) or third-party program that causes the computer 301 to execute functions such as the NN growth apparatus 1 of the above-described embodiment. The program only needs to include the instruction portion that calls appropriate functions (modules) in a controlled manner and obtains the desired result. How the computer system 300 operates is well known, so a detailed explanation is omitted.

[0439] In the above program, steps such as sending information and receiving information do not include hardware-based processing, such as processing performed by a modem or interface card in the transmission step (processing that can only be performed by hardware).

[0440] Furthermore, the computer running the above program may be a single computer or multiple computers. In other words, it may perform centralized processing or distributed processing.

[0441] Furthermore, it goes without saying that in each of the above embodiments, two or more communication means present in a single device may be physically implemented in a single medium.

[0442] Furthermore, in each of the above embodiments, each process may be implemented by centralized processing by a single device, or by distributed processing by multiple devices.

[0443] It goes without saying that the present invention is not limited to the embodiments described above, and various modifications are possible, all of which are also included within the scope of the present invention. [Industrial applicability]

[0444] As described above, the NN growth device 1 according to the present invention has the effect of being able to simulate brain growth and is useful as an NN growth device, etc.

Claims

1. A neural network storage unit stores neural network information having two or more node information items having node identifiers and one or more edge information items having edge identifiers that identify connections between nodes. A starting point storage unit stores one or more starting point information having one or more node identifiers that identify a node that fires without going through other nodes, corresponding to an initial firing condition which is a condition for determining a node that fires without going through other nodes, and which is a condition for determining a node that fires without going through other nodes, and A reference score storage unit that stores reference scores for positive and negative, An information receiving unit that receives image information and sound information, An image feature acquisition unit acquires one or more image feature pieces of information for the image information using the image information received by the information receiving unit, A sound feature acquisition unit that uses the sound information received by the information receiving unit to acquire one or more sound feature pieces for the sound information, A comprehensive score acquisition unit that acquires a comprehensive score based on the one or more image feature information and the one or more sound feature information, The starting point storage unit determines one or more node identifiers from the starting point storage unit that are paired with an initial firing condition in which one or more types of information from the one or more image feature pieces and one or more types of information from the one or more sound feature pieces match, and determines the node identifier of the node that fires, which is connected by an edge to the node identified by each of the one or more node identifiers and receives one or more types of information from the one or more image feature pieces and one or more types of information from the one or more sound feature pieces. An NN growth apparatus comprising: a growth unit which performs a growth process, which is a process of growing edge information of one or more edges connected to nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit, based on difference information relating to the difference between the overall score and the reference score.

2. An image score acquisition unit that acquires image scores, which are scores relating to positive and negative aspects, using the one or more image feature information described above, A sound feature acquisition unit that uses the sound information received by the information receiving unit to acquire one or more sound feature pieces for the sound information, The system further comprises a sound score acquisition unit that acquires sound scores, which are scores relating to positive and negative aspects, using the one or more sound feature information described above. The aforementioned overall score acquisition unit is: The NN growth apparatus according to claim 1, wherein the overall score is obtained using the image score and the sound score.

3. The aforementioned edge information has weights, The aforementioned ignition node determination unit is The aforementioned edge connects to a node whose weight satisfies the transfer conditions related to the weight, and the node identifier of that node is determined by the weight of that edge. The aforementioned growth portion is The NN growth apparatus according to claim 1, wherein difference information relating to the difference between the overall score and the reference score is acquired, and if the difference information matches the first edge growth conditions, a first edge growth process is performed in which the weight of the edge information of each of the one or more edges is increased.

4. The aforementioned edge information may include edge position information indicating the position of the edge's end. The aforementioned growth portion is The NN growth apparatus according to claim 1, which acquires difference information relating to the difference between the overall score and the reference score, and when the difference information matches the second edge growth conditions, modifies the edge position information of each of the one or more edges and performs a second edge growth process to extend the length of the edge.

5. A goal storage unit stores goal information that identifies goals corresponding to two or more states, including positive and negative states, The system further comprises a state determination unit that uses the difference information acquired by the growth unit to determine one state from the two or more states, including positive and negative, The aforementioned goal information includes goal location information that identifies the location of the goal, or goal direction information that indicates the direction of the goal. The aforementioned growth portion is The NN growth apparatus according to claim 4, which performs a second edge growth processing that acquires goal information that is paired with the first state determined by the state determination unit, modifies the edge position information of the edge information of each of the one or more edges, acquires new edge position information in the direction indicated by the goal information, and stores the new edge position information.

6. The NN growth apparatus according to claim 1, further comprising a reference score changing unit that changes the reference score in the reference score storage unit based on the overall score acquired by the overall score acquisition unit.

7. The aforementioned reference score changing unit is: The NN growth apparatus according to claim 6, wherein the reference score in the reference score storage unit is changed only when the overall score meets the score change conditions.

8. The aforementioned reference score storage unit is, It stores a reference score for each firing pattern, which has one or more node identifiers. The aforementioned growth portion is The NN growth apparatus according to claim 1, which obtains a reference score from the reference score storage unit that is paired with a firing pattern corresponding to one or more node identifiers determined by the firing node determination unit, obtains difference information regarding the difference between the total score and the reference score, and performs the growth process based on the difference information.

9. The aforementioned ignition node determination unit is The NN growth apparatus according to claim 1, which determines whether one or more feature information passed from one or more other nodes connected by an edge satisfies the firing conditions for one or more feature information, and determines the node identifier of the node that is determined to satisfy the firing conditions.

10. The node information includes node location information that identifies the location of the node, A goal storage unit stores goal information that identifies goals corresponding to two or more states, including positive and negative states, The system further comprises a state determination unit that uses the difference information acquired by the growth unit to determine one state from the two or more states, including positive and negative, The aforementioned growth portion is An NN growth apparatus according to claim 1, which acquires difference information relating to the difference between the overall score and the reference score, and based on the difference information, generates 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 the direction indicated by the goal information which is paired with the state determined by the state determination unit, and stores the edge generation process.

11. The aforementioned ignition node determination unit is The count information regarding the number of times the determined node identifier is used is stored in association with the node identifier. The aforementioned growth portion is The NN growth apparatus according to claim 10, which performs the edge generation process on a node identified by a node identifier corresponding to the number of times information that matches the edge generation conditions.

12. The aforementioned node is soma, The aforementioned edge has AXON and Denderites, The NN growth apparatus according to claim 1, wherein the edge information comprises AXON information having an AXON identifier and AXON position information indicating the position of an AXON, and Dendrites information having a Dendrites identifier and Dendrites position information indicating the position of a Dendrites.

13. An NN growth apparatus according to any one of claims 1 to 12, The NN storage unit stores the neural network information accumulated by the NN growth device, An information reception unit that receives reception information which is one or more types of information, such as image information or sound information, A feature acquisition unit that acquires one or more feature pieces of information for the received information received by the information receiving unit, The node identifiers of the nodes that will fire are node identifiers corresponding to each of the one or more feature pieces of information acquired by the feature acquisition unit, and the node identifiers of the firing nodes are determined from a starting point storage unit which stores one or more firing starting point information having an information identifier that identifies the feature piece of the received information and one or more node identifiers that identify the nodes that will fire without going through other nodes when the feature piece of information is received, and the information transmission unit which determines the node identifiers of the firing nodes that are connected by an edge to the nodes identified by each of the one or more node identifiers, and to which the feature piece of information is passed, A firing pattern acquisition unit acquires a firing pattern using one or more node identifiers determined by the information transmission unit, An output information acquisition unit acquires output information corresponding to the ignition pattern acquired by the ignition pattern acquisition unit, An information processing apparatus comprising an information output unit that outputs the aforementioned output information.

14. It is further equipped with a temperature receiving unit that receives temperature information, The aforementioned information transmission unit is The information processing apparatus according to claim 13, which performs an information transmission process that passes the characteristic information corresponding to the fired node from the fired node to the next node to fire, and changes the processing time for performing the information transmission process according to the temperature information received by the temperature receiving unit.

15. A method for producing neural network information comprising: an NN storage unit that stores neural network information having two or more node information having node identifiers and one or more edge information having edge identifiers that identify connections between nodes; a starting point storage unit that stores one or more firing starting point information having one or more node identifiers that identify nodes that fire without going through other nodes, corresponding to an initial firing condition which is a condition for determining nodes that fire without going through other nodes, and which is a condition for determining nodes that fire without going through other nodes; a reference score storage unit that stores positive and negative reference scores; an information receiving unit; an image feature acquisition unit; an audio feature acquisition unit; a total score acquisition unit; a firing node determination unit; and a growth unit, the method for producing neural network information comprising: an NN storage unit that stores neural network information having two or more node information having node identifiers and one or more edge information having edge identifiers that identify nodes that fire without going through other nodes; an initial firing condition which is a condition for determining nodes that fire without going through other nodes, and which identifies nodes that fire without going through other nodes; a reference score storage unit that stores positive and negative reference scores; an information receiving unit; an image feature acquisition unit; an audio feature acquisition unit; a total score acquisition unit; a firing node determination unit; and a growth unit. The aforementioned information receiving unit includes an information receiving step in which it receives image information and sound information, The image feature acquisition unit performs an image feature acquisition step in which it acquires one or more image feature pieces of information for the image information received in the information reception step, The sound feature acquisition unit performs a sound feature acquisition step in which it acquires one or more sound feature pieces of information for the sound information received in the information reception step, The overall score acquisition unit performs an overall score acquisition step in which it acquires an overall score based on the one or more image feature information and the one or more sound feature information, The firing node determination unit determines from the starting point storage unit one or more node identifiers that are paired with an initial firing condition in which one or more types of information from the one or more image feature information and one or more types of information from the one or more sound feature information match, and determines the node identifier of the node that fires, which is connected by an edge to the node identified by each of the one or more node identifiers and receives one or more types of information from the one or more image feature information and one or more types of information from the one or more sound feature information, A method for producing neural network information, comprising: a growth step, in which the growth unit performs a growth process, which is a process of growing edge information of one or more edges connected to nodes identified by one or more node identifiers among the one or more node identifiers determined in the firing node determination step, based on difference information relating to the difference between the overall score and the reference score.

16. A computer that can access the following: an NN storage unit which stores neural network information having two or more node information having node identifiers and one or more edge information having edge identifiers that identify connections between nodes; a starting point storage unit which stores one or more firing starting point information having one or more node identifiers that identify nodes that fire without going through other nodes, corresponding to an initial firing condition which is a condition for determining nodes that fire without going through other nodes and is associated with an initial firing condition which is a condition for determining nodes that fire without going through other nodes; and a reference score storage unit which stores positive and negative reference scores. An information receiving unit that receives image information and sound information, An image feature acquisition unit acquires one or more image feature pieces of information for the image information using the image information received by the information receiving unit, A sound feature acquisition unit that uses the sound information received by the information receiving unit to acquire one or more sound feature pieces for the sound information, A comprehensive score acquisition unit that acquires a comprehensive score based on the one or more image feature information and the one or more sound feature information, The starting point storage unit determines one or more node identifiers from the starting point storage unit that are paired with an initial firing condition in which one or more types of information from the one or more image feature pieces and one or more types of information from the one or more sound feature pieces match, and determines the node identifier of the node that fires, which is connected by an edge to the node identified by each of the one or more node identifiers and receives one or more types of information from the one or more image feature pieces and one or more types of information from the one or more sound feature pieces. A program for functioning as a growth unit that performs a growth process, which is a process of growing edge information of one or more edges connected to nodes identified by one or more node identifiers among the one or more node identifiers determined by the firing node determination unit, based on difference information regarding the difference between the overall score and the reference score.

Citation Information

Patent Citations

  • 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

  • Method, system, and computer program product for neuromorphic graph compression using multiple associative memories

    JP2017516180A

  • Multi-scale spatio-temporal neural network system

    US20150302294A1

  • Information processing device, information processing method, and program

    WO2018189792A1