WO2023170795A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Definitions

  • the present invention relates to an information processing device and the like that simulates the movements of living things such as humans according to their cognition.
  • Patent Document 1 Conventionally, there has been a technique for controlling the movement of an operating object such as a robot or an avatar using a neural network (for example, see Patent Document 1).
  • the information processing device of the first aspect of the present invention includes a NN storage section in which a neural network having two or more nodes identified by node identifiers is stored, and a neural network that is associated with motion determination information that determines a motion to be operated.
  • an MNFP storage unit that stores one or more motor neuron firing patterns (MNFPs) that are information for specifying one or more firing nodes at each time point; an input reception unit that receives input information; and a neural network.
  • MNFPs motor neuron firing patterns
  • the input information is applied to obtain the firing node identifiers of one or more of the two or more nodes that the neural network has in time series, and one or more MNFPs corresponding to the one or more firing node identifiers in the time series are converted into MNFPs.
  • An MNFP determining unit that sequentially determines from one or more MNFPs in the storage unit, an operational determining unit that sequentially obtains operational determination information corresponding to each of the one or more MNFPs determined by the MNFP determining unit, and an operational determining unit
  • the information processing apparatus includes an operation unit that sequentially uses one or more pieces of acquired operation determination information to operate an operation target.
  • the information processing device of the second invention provides information regarding muscles that move when one or more nodes fire, and information that is associated with one or more firing node identifiers.
  • the motion determining unit further includes a muscle storage unit in which two or more pieces of muscle information, which is information having a muscle identifier and a maximum power, is stored, and the movement determining unit stores one or more pieces of muscle information that each of the one or more MNFPs determined by the MNFP determining unit specifies.
  • a muscle determining means that sequentially determines one or more pieces of muscle information associated with each of the firing node identifiers, and a firing node that is associated with muscle information for each of the one or more pieces of muscle information determined by the muscle determining means.
  • the section includes information for sequentially moving the motion target based on one or more motion muscle information that is a set of a muscle identifier possessed by the one or more muscle information determined by the muscle determination means and the strength acquired by the strength acquisition means. It is a processing device.
  • the information processing device of the third invention further includes a joint storage section in which one or more joint information having a joint identifier is stored in association with two or more muscle identifiers.
  • the motion determination unit refers to the joint storage unit and uses the one or more pieces of movement muscle information to sequentially determine each of the one or more muscle identifiers associated with the one or more pieces of muscle information determined by the muscle determination unit.
  • the operation unit further includes an angle acquisition means for acquiring the angle of the joint identified by the joint identifier, and the operation unit outputs the angle of each of the one or more joints to the motion target, and operates the motion target. It is a device.
  • the motion target is the avatar
  • the joint information is information on the joints of the avatar
  • the information processing device specifies the positions of the joints of the avatar.
  • the operation unit further includes an avatar storage unit that has joint positions and stores avatar information for outputting the avatar, and the operation unit moves the joint specified by the joint position of each of the one or more joints according to the angle corresponding to the joint.
  • This is an information processing device that configures a bent avatar using avatar information and outputs the avatar.
  • the operation target is the face of the avatar
  • the information is associated with the node identifier of one or more nodes
  • the information processing device of the fifth invention is different from the first invention.
  • the motion determining unit further includes a muscle storage unit that stores two or more muscle information having muscle identifiers that are information about meshes that move when the MNFP is fired and that identify meshes of the avatar's face;
  • the muscle determining means sequentially determines one or more pieces of muscle information associated with each of the one or more firing node identifiers specified by each of the determined one or more MNFPs, and the operating unit is determined by the muscle determining means.
  • This is an information processing device that sequentially expands and contracts a mesh identified by a muscle identifier included in the muscle information.
  • the operation determining unit associates each firing node identifier with one or more firing node identifiers specified by one or more MNFPs determined by the MNFP determining unit.
  • muscle determining means that sequentially determines the one or more pieces of muscle information determined by the muscle determining means; and for each piece of one or more muscle information determined by the muscle determining means, acquiring the number of firings that is the number of firing node identifiers associated with the muscle information.
  • an intensity acquisition means for sequentially acquiring the strength of the movement of the muscle specified by the muscle information using the number of firings, and the movement section has one or more pieces of muscle information determined by the muscle determination means.
  • the information processing device sequentially moves a motion target based on one or more pieces of motion muscle information that is a set of a muscle identifier and an intensity acquired by a strength acquisition means.
  • the action determination information is an action identifier that identifies the action
  • the information processing apparatus determines the action for causing the action target to operate in association with the action identifier.
  • the operation unit further includes a module storage unit in which the module is stored, the operation determination unit acquires an operation identifier corresponding to the MNFP determined by the MNFP determination unit, and the operation unit corresponds to the operation identifier acquired by the operation determination unit.
  • This is an information processing device that executes an operation module and operates an operation target.
  • the information processing device of the eighth invention is configured to increase the muscle identifier when the muscle identifier determined by the muscle determining means satisfies a predetermined increase condition.
  • the information processing device further includes a muscle modification unit that performs modification processing to increase the maximum power paired with the muscle modification unit.
  • the information processing device of the ninth invention in contrast to any one of the second to fourth inventions, is configured such that when the muscle identifier that is not determined by the muscle determining means satisfies a predetermined reduction condition, the information processing device
  • the information processing device further includes a muscle modification unit that performs modification processing to reduce the maximum power paired with the muscle modification unit.
  • the information processing device of the tenth invention acquires the MNFP when the input reception unit receives the input information, and receives the operation determination information.
  • the information processing apparatus further includes a learning unit that performs a learning process of accumulating MNFP in an MNFP storage unit in association with operation determination information.
  • one or more of the two or more nodes of the neural network corresponds to a firing condition. and is associated with one or more connected node identifiers that identify other nodes that propagate the firing, and the MNFP determining unit acquires one or more characteristic information from the input information received by the input receiving unit, initial determination means for determining firing conditions that match one or more characteristic information and acquiring one or more firing node identifiers corresponding to the firing conditions; and one or more firing node identifiers corresponding to each of the one or more firing node identifiers acquired by the initial determining means.
  • a propagation means that acquires the above connected node identifiers, and then sequentially acquires one or more connected node identifiers corresponding to each of the one or more connected node identifiers; Firing information having one or more firing node identifiers among the firing node identifier and one or more connected node identifiers is acquired in chronological order, and one or more MNFPs corresponding to the firing information in the time series are stored in one or more MNFP storage units.
  • MNFP determining means sequentially determines the MNFP from among the MNFPs of the information processing apparatus.
  • the information processing apparatus of the twelfth invention is an information processing apparatus in which the number of points of at least two MNFPs among the two or more MNFPs is different from that of any one of the first to eleventh inventions. be.
  • the information processing device it is possible to appropriately simulate the movements of living things such as humans according to their cognition.
  • Block diagram of operating system A in Embodiment 1 Flowchart explaining an example of the operation of the information processing device 1 Flowchart explaining an example of the initial determination process Flowchart explaining an example of the MNFP determination process Flowchart explaining an example of simultaneous operation processing Flowchart explaining an example of same angle acquisition processing Flowchart explaining an example of firing propagation processing Flowchart illustrating an example of firing cancellation processing
  • a schematic diagram explaining a specific example of the operation of the same operation system A Diagram showing the NN management table Diagram showing the MNFP management table Diagram showing the same muscle management table Diagram showing the joint management table Diagram showing an example of the same ignition information
  • Block diagram of operating system B in embodiment 2 Flowchart illustrating an example of operation processing performed by the information processing device 3 Block diagram of operation system C in Embodiment 3 Flowchart illustrating an example of operation processing performed by the information processing device 3 Flowchart explaining an example of the same learning process Flowchart explaining an example of the MNFP accumulation process
  • Embodiment 1 an information processing apparatus that can appropriately simulate the movements of living things such as humans according to their cognition will be described.
  • input information such as images or audio is accepted, the input information is applied to one or more stored neural networks, and the output from the neural network is Acquire one or more motor neuron firing patterns (hereinafter referred to as "MNFP" as appropriate) that specify the time-series firing state of one or more nodes, acquire motion determination information corresponding to the MNFP, and acquire the An information processing apparatus that performs an action on an action object corresponding to one or more action determination information will be described.
  • MNFP motor neuron firing patterns
  • information X is associated with information Y means that information Y can be acquired from information X, or that information X can be acquired from information Y, and the method of association does not matter.
  • Information X and information Y may be linked, exist in the same buffer, information X may be included in information Y, or information Y may be included in information X. etc. is also fine.
  • FIG. 1 is a block diagram of an operating system A in this embodiment.
  • the operation system A includes an information processing device 1 and an operation target 2. Note that the information processing device 1 may be configured to include the operation target 2.
  • the information processing device 1 is a device that receives input information and operates the operation target 2 according to the input information.
  • the action object 2 is the object on which the action is performed.
  • the motion object 2 is, for example, an avatar or a robot, but the type thereof does not matter.
  • the information processing device 1 includes a storage section 11, a reception section 12, and a processing section 13.
  • the storage unit 11 includes a NN storage unit 111 , a firing start point storage unit 112 , a MNFP storage unit 113 , an avatar storage unit 114 , a muscle storage unit 115 , a joint storage unit 116 , and a firing information storage unit 117 .
  • the reception unit 12 includes an input reception unit 121.
  • the processing section 13 includes a MNFP determining section 131, a motion determining section 132, a motion section 133, a muscle changing section 134, and a learning section 135.
  • MNFP determining section 131 includes initial determining means 1311, propagating means 1312, and MNFP determining means 1313.
  • the motion determining unit 132 includes muscle determining means 1321, strength acquiring means 1322, and angle acquiring means 1323.
  • Various types of information are stored in the storage unit 11 that constitutes the information processing device 1.
  • Various types of information include, for example, a neural network (hereinafter referred to as "NN" as appropriate) described later, firing starting point information described later, MNFP described later, avatar information described later, muscle information described later, joint information described later, and deletion conditions. be. Note that when the action object 2 is other than an avatar, the storage unit 11 does not need to store avatar information.
  • the erasure condition is a condition for a firing node to become a non-firing node.
  • the erasing condition is usually a condition regarding the elapsed time after firing.
  • the erasure condition is, for example, that the elapsed time since firing is equal to or longer than a threshold.
  • the firing node is a node that is firing.
  • a non-firing node is a node that is not firing.
  • the NN storage unit 111 stores one or more neural networks (hereinafter referred to as "NN" as appropriate).
  • the NN has two or more pieces of node information identified by node identifiers.
  • the node information is information regarding the nodes that constitute the NN.
  • the node information includes, for example, a node identifier and firing conditions.
  • the node information includes, for example, one or more connected node identifiers.
  • the node information may include, for example, a propagation probability associated with one or more connected node identifiers. Further, the node information may include, for example, one or more original identifiers.
  • a node identifier is information that identifies a node.
  • the node identifier is, for example, a node ID or a node name.
  • the firing condition is a condition for the node to fire.
  • the firing condition can also be said to be information regarding the conditions for the node to fire.
  • the firing condition is, for example, a condition regarding one or more feature information.
  • the feature information may be an information identifier for identifying information, information including an information identifier and an amount of information indicating the size of the information, or only the amount of information.
  • the information identifier is, for example, information that specifies the type of feature amount of the image, and is, for example, red “R” constituting the color, green “G” constituting the color, and blue “B” constituting the color. Further, the information identifier is, for example, information that specifies the type of feature amount of the sound, such as "frequency", "amplitude”, etc.
  • the information identifier is, for example, a class of character strings. Note that a class is a classification result of a character string. The class is, for example, "positive” or “negative”. The class is, for example, “joy,” “angry,” “sad,” or “comfort.” Note that the technology for classifying character strings into classes is a known technology, so detailed explanation will be omitted.
  • the amount of information is, for example, a numerical value greater than 0.
  • the feature information constituting the firing condition is, for example, a feature amount, but may also be the input information itself.
  • the feature amount is, for example, a feature amount of an image as a result of image analysis, and is, for example, "R", “G”, and "B”. Further, the feature amount is, for example, a feature amount of a voice as a result of voice analysis, and is, for example, a frequency or an amplitude.
  • the ignition condition corresponds to the ignition probability.
  • the ignition probability is information regarding the probability of ignition.
  • the ignition probability may be the probability of ignition itself, or may be a value obtained by converting the probability of ignition using a function or the like. It is preferable that when the firing condition is met, the firing probability is referred to, and the node fires or does not fire at the probability indicated by the firing probability.
  • the process according to the probability such as the ignition probability or the propagation probability may be, for example, the same process as a weighted lottery according to the probability.
  • the probability here may be replaced with the likelihood.
  • connection node identifier is identification information of a connection node.
  • the connection node is a node connected to the node of interest, and is the node to which the firing is propagated after the node of interest fires.
  • the propagation probability is the probability that firing will propagate.
  • the original identifier is identification information of the original node.
  • the source node is a node connected to the node of interest, and is a node that propagates firing to the node of interest after the source node fires.
  • the ignition start point storage section 112 stores one or more ignition start point information.
  • Firing start point information is information for specifying the node that fires first when input information is received.
  • the firing start point information has, for example, one or more firing node identifiers. Further, the firing starting point information includes, for example, firing conditions and one or more firing node identifiers.
  • the firing node identifier is information that identifies a firing node.
  • the firing conditions are conditions related to input information.
  • the firing condition is, for example, a condition regarding one or more feature information.
  • the firing condition includes, for example, an information identifier that identifies characteristic information.
  • the firing condition is, for example, information indicating specific characteristic information or a range of specific information.
  • the firing conditions are, for example, red “R” which constitutes the color, green “G” which constitutes the color, blue “B” which constitutes the color, wave number of sound "30”, frequency of sound "60”, frequency of sound is "between threshold A and threshold B," or the class of the character string is a specific class (for example, "negative”).
  • the firing start point storage unit 112 If the firing start point storage unit 112 does not exist, the node that fires first when input information is received is specified using the firing condition paired with the node identifier that identifies node information of the NN in the NN storage unit 111. It's okay to be. In other words, the firing start point storage unit 112 is useful for speeding up the process of identifying the node that fires first when input information is received.
  • the MNFP storage unit 113 stores one or more motor neuron firing patterns (hereinafter referred to as "MNFP" as appropriate). Each of the one or more MNFPs here is directly or indirectly associated with operation determination information.
  • MNFP is information for controlling the operation of the operation target 2.
  • MNFP is information that specifies one or more firing nodes at each of two or more time points.
  • MNFP is information for specifying a set of time-series firing nodes. Note that the set of firing nodes is usually two or more firing nodes, but may be one firing node.
  • MNFP is, for example, information on a two-axis matrix of time axis and node identifier. That is, the MNFP is, for example, a set of vectors corresponding to two or more points in time.
  • the vector here is information that specifies one or more firing node identifiers.
  • n1", "n2", . . . "nn” are node identifiers.
  • a value of "1" indicates that the node identified by the corresponding node identifier is the firing node.
  • a value of "0" indicates that the node identified by the corresponding node identifier is a non-firing node.
  • the MNFP is, for example, a set of two or more vectors having time identifiers that identify two or more time points and one or more firing node identifiers.
  • the two or more time points here are usually consecutive time points.
  • MNFP for example, " ⁇ Time identifier> t1 ⁇ Vector> (1, 0, ..., 1)" " ⁇ Time identifier> t2 ⁇ Vector> (1, 1, ..., 1)"... - “ ⁇ Time identifier>tn ⁇ Vector> (0, 1, . . . , 0)”.
  • the data structure of the MNFP does not matter. Further, it is preferable that at least two of the two or more MNFPs in the MNFP storage unit 113 have different numbers of points in time. Different numbers of time points mean different lengths of the time series. If the MNFPs are matrices, a different number of time points means a different number of rows or columns of at least two MNFPs.
  • the motion determination information is information for determining the motion of the motion target 2.
  • the motion determination information is, for example, one or more motion muscle information, one or more angles of each joint, or one or more motion identifiers.
  • the operating muscle information is information that specifies the muscles to be operated.
  • the operating muscle information is a pair of muscle identifier and strength.
  • a muscle identifier is information that identifies a muscle.
  • the muscle identifier is, for example, a muscle ID or a muscle name.
  • Strength is information indicating the strength with which muscles are expanded and contracted. The strength can be the strength when contracting the muscles or the strength when stretching the muscles.
  • the joint angle is information that specifies the angle of the joint to be operated. Joint angles are usually associated with joint identifiers.
  • a joint identifier is information that identifies a joint.
  • the joint identifier is, for example, a joint ID or a joint name.
  • An action identifier is information that identifies an action.
  • the operation identifier is, for example, the name of a module that operates the operation target 2 and the ID of the module that operates the operation target 2.
  • a module may be considered to include not only an execution module but also functions, methods, and the like.
  • Avatar information is stored in the avatar storage unit 114.
  • Avatar information is information for outputting an avatar.
  • the data structure of the avatar information does not matter.
  • avatar information usually includes model information.
  • the model information is information for configuring the display of the avatar.
  • the model information includes, for example, mesh information, bone information, and material information.
  • the model information has, for example, a data structure of glTF?(GL Transmission Format)?.
  • the data structure of the model information may be VRM, OBJ, FBX, STL, GLB, COLLADA, etc., and the type does not matter.
  • the operation target 2 is an avatar. Furthermore, in such a case, it may be considered that the action object 2 is stored in the avatar storage unit 114.
  • Muscle information is information about muscles that move when one or more nodes fire. Muscle information is information associated with one or more firing node identifiers, and includes a muscle identifier and maximum power. When a muscle moves, it either contracts or lengthens.
  • Maximum power is information that specifies the maximum power of a muscle.
  • the maximum power is, for example, a numerical value.
  • the range in which the maximum power can be obtained may or may not be fixed.
  • the joint storage unit 116 stores one or more joint information.
  • Joint information is information regarding joints.
  • Joint information usually includes a joint identifier.
  • a joint identifier is information that identifies a joint.
  • the joint identifier is, for example, a joint ID or a joint name.
  • the joint information is associated with muscle identifiers of two or more muscles connected to the joint.
  • the muscle identified by the muscle identifier corresponding to the joint information is a muscle for moving the joint specified by the joint information.
  • the joint information includes, for example, a joint position, and the joint position is information that specifies the position of the joint.
  • Joint positions are typically relative joint positions within the avatar.
  • the joint position is, for example, the coordinate value (x, y) of the center of gravity of the joint. However, the data structure of the joint positions does not matter.
  • joint information may be included in the avatar information.
  • the firing information storage unit 117 stores time-series firing information.
  • Time-series firing information is a collection of firing information at two or more points in time.
  • the firing information here is information that identifies the node that is currently firing.
  • the ignition information is information regarding the result of ignition.
  • the firing information is information that specifies a node that fired at one or more points in time.
  • the time-series firing information has, for example, the same structure as MNFP. That is, the firing information is, for example, information that specifies one or more firing nodes at each of two or more time points.
  • the reception unit 12 receives various information and instructions.
  • Various types of information and instructions are, for example, input information described later. Any means for inputting various information and instructions may be used, such as a touch panel, keyboard, mouse, or menu screen.
  • the input accepting unit 121 accepts input information.
  • the input information is, for example, an image or a sound.
  • the input information may be a character string such as a sentence.
  • reception refers to the reception of information input from input devices such as keyboards, mice, and touch panels, reception of information sent via wired or wireless communication lines, and recording of information such as optical disks, magnetic disks, semiconductor memory, etc.
  • This is a concept that includes receiving information read from a medium.
  • the processing unit 13 performs various processes.
  • the various processes are, for example, processes performed by the MNFP determining section 131, the motion determining section 132, the motion section 133, the muscle changing section 134, and the learning section 135.
  • the processing unit 13 performs, for example, firing cancellation processing that will be described later.
  • the firing erasing process may be performed by a firing erasing section (not shown).
  • the MNFP determining unit 131 applies the input information received by the input receiving unit 121 to the NN stored in the NN storage unit 111, and chronologically sets the firing node identifier of one or more of the two or more nodes possessed by the NN.
  • One or more MNFPs corresponding to one or more time-series firing node identifiers are sequentially determined from the one or more MNFPs in the MNFP storage unit 113.
  • the application process of applying input information to the NN is, for example, the following process. That is, the MNFP determining unit 131 acquires one or more feature information from the input information. Next, the MNFP determining unit 131 refers to the NN and obtains one or more firing node identifiers corresponding to the firing information satisfied by the one or more feature information. Next, the MNFP determining unit 131 successively acquires one or more firing node identifiers through a propagation process performed by a propagation means 1312, which will be described later. That is, the MNFP determining unit 131 acquires one or more firing node identifiers in chronological order. Such processing is realized by applying input information to the NN.
  • one or more MNFPs corresponding to one or more firing node identifiers in the time series are MNFPs that satisfy the correspondence condition.
  • An MNFP that satisfies the correspondence condition is, for example, an MNFP that matches one or more firing node identifiers in the time series.
  • the MNFPs that satisfy the correspondence condition may include MNFPs that have a degree of similarity greater than or equal to a threshold value or a degree of similarity with one or more time-series firing node identifiers. Note that the degree of similarity between a matrix that is one or more firing node identifiers in a time series and the MNFP that is a matrix is obtained using, for example, the proportion of matching elements among the elements of the two matrices.
  • the similarity between a matrix that is one or more firing node identifiers in a time series and MNFP that is a matrix can be determined by calculating the similarity of vectors for each row of the matrix, and then calculating the similarity between the two or more similarities. (eg, mean value, median value) is the similarity of two matrices. Note that the method of calculating the similarity between two matrices does not matter.
  • the MNFP determining unit 131 is, for example, a matrix with two or more time points as rows or columns, and a value corresponding to one or more firing node identifiers.
  • a matrix is constructed having columns or rows in which the value corresponding to the non-firing node identifier is "1" and the value corresponding to the non-firing node identifier is "0".
  • the MNFP determining unit 131 sequentially determines the MNFP corresponding to the matrix from one or more MNFPs in the MNFP storage unit 113.
  • the initial determination unit 1311 acquires one or more characteristic information from the input information received by the input reception unit 121. Next, the initial determination unit 1311 determines one or more firing conditions that match the one or more characteristic information, and obtains one or more firing node identifiers corresponding to each of the one or more firing conditions.
  • the acquired feature information includes, for example, red “R” that makes up the color, green “G” that makes up the color, blue “B” that makes up the color, pixel values, and images. This is the object identifier that is the result of object recognition for.
  • the acquired characteristic information is, for example, frequency and amplitude.
  • the acquired feature information is, for example, the class of the character string.
  • the initial determination unit 1311 acquires one or more characteristic information from the input information received by the input reception unit 121, for example. Next, the initial determination unit 1311 refers to the firing start point storage unit 112 and acquires from the firing start point storage unit 112 one or more firing node identifiers for which the acquired one or more feature information satisfies the firing condition.
  • the initial determination unit 1311 obtains, for example, one or more feature information from the input information received by the input receiving unit 121, and matches the one or more feature information. Among the nodes identified by the node identifier corresponding to the firing condition, it is determined whether or not to fire according to the probability indicated by the firing probability, and only when it is determined that the node will fire, the fired node identifier that identifies the node is obtained. .
  • the propagation means 1312 acquires one or more connected node identifiers corresponding to each of the one or more firing node identifiers acquired by the initial determination means 1311. Next, the propagation means 1312 obtains one or more connected node identifiers corresponding to each of the one or more connected node identifiers. Next, the propagation means 1312 propagates the firing by acquiring one or more connection node identifiers connected to each of the one or more connection node identifiers.
  • the propagation means 1312 acquires one or more connected node identifiers corresponding to each of the one or more firing node identifiers acquired by the initial determination means 1311. Further, the propagation means 1312 acquires the information identifiers included in the one or more pieces of characteristic information corresponding to the one or more firing node identifiers acquired by the initial determination means 1311. Note that the propagation means 1312 may acquire the amount of information corresponding to each information identifier. Note that the propagation means 1312 subtracts the amount of information included in the feature information corresponding to the firing node identifier acquired by the initial determination means 1311 using a predetermined arithmetic expression (for example, "x0.9"), It is preferable to obtain the reduced amount of information.
  • a predetermined arithmetic expression for example, "x0.9"
  • the propagation means 1312 determines whether the acquired information identifier, the acquired information amount, or the acquired information identifier and the information amount match the firing condition paired with one or more connected node identifiers. do. Then, the propagation means 1312 acquires only the connected node identifier that pairs with the firing condition determined to match, as the firing node identifier.
  • the propagation means 1312 corresponds to each of the one or more firing node identifiers acquired by the initial determination means 1311 according to the probability indicated by the propagation probability. Get the connected node identifier. Further, when the NN has a propagation probability associated with each of the one or more node identifiers, the propagation means 1312 transmits the connected node identifier corresponding to each of the acquired one or more connected node identifiers according to the probability indicated by the propagation probability. get.
  • the propagation means 1312 fires the connected node identifier paired with the firing condition determined to match, according to the probability indicated by the propagation probability. It is preferable to acquire it as a node identifier or not to acquire it.
  • the MNFP determining means 1313 acquires firing information having one or more firing node identifiers among the one or more firing node identifiers and one or more connected node identifiers acquired by the initial determining means 1311 and the propagation means 1312 in a time series. Acquiring in chronological order means acquiring at two or more points in time. Next, the MNFP determining means 1313 sequentially determines one or more MNFPs corresponding to the time-series firing information from the one or more MNFPs in the MNFP storage unit 113. Note that the MNFP corresponding to the time-series firing information is the MNFP that satisfies the correspondence condition.
  • the operation determination unit 132 sequentially acquires operation determination information corresponding to each of the one or more MNFPs determined by the MNFP determination unit 131 from the MNFP storage unit 113.
  • the motion determining section 132 acquires motion determining information corresponding to each of the one or more MNFPs determined by the MNFP determining section 131 at each of two or more time points.
  • the muscle determination unit 1321 refers to the muscle storage unit 115 and sequentially stores one or more pieces of muscle information associated with one or more firing node identifiers identified by each of the one or more MNFPs determined by the MNFP determining unit 131. ,decide. In other words, the muscle determining unit 1321 determines, for each of two or more time points, one or more pieces of muscle information associated with one or more firing node identifiers identified by one or more MNFPs determined by the MNFP determining unit 131. decide. Note that it is preferable that the one or more firing node identifiers specified by the MNFP are usually one or more firing node identifiers owned by the MNFP at the latest point in time. However, the one or more firing node identifiers specified by the MNFP may be all the firing node identifiers that the MNFP has at two or more points in time.
  • the strength acquisition means 1322 acquires the strength for each of the one or more pieces of muscle information determined by the muscle determination means 1321.
  • the strength acquisition means 1322 acquires, for example, the number of firings, which is the number of firing node identifiers associated with the muscle information, for each piece of muscle information determined by the muscle determination means 1321. Next, the strength acquisition means 1322 acquires from the muscle storage unit 115, for example, for each of the one or more pieces of muscle information determined by the muscle determination means 1321, the maximum power that each piece of muscle information has. Next, the intensity acquisition means 1322 sequentially acquires the intensity using, for example, the number of firings and the maximum power. Note that the intensity acquisition means 1322 usually acquires a greater intensity as the number of firings increases. Moreover, the intensity acquisition means 1322 usually acquires a larger intensity as the maximum power is larger.
  • the intensity obtaining unit 1322 obtains the intensity using, for example, an increasing function using the number of firings and the maximum power as parameters. Note that an arithmetic expression indicating such an increasing function is stored in the storage unit 11.
  • the intensity obtaining unit 1322 obtains, for example, the intensity corresponding to the number of firings and the maximum power from a correspondence table.
  • the correspondence table is a table having two or more pieces of correspondence information including the number of firings, maximum power, and intensity.
  • the intensity acquisition unit 1322 acquires, for example, the intensity that is paired with the number of firings and the maximum power, which are most similar to the number of firings and the maximum power, from the correspondence table.
  • the strength acquisition unit 1322 acquires from the muscle storage unit 115 the maximum power that each muscle information has for each of the one or more pieces of muscle information determined by the muscle determination unit 1321.
  • the intensity acquisition means 1322 sequentially acquires the intensity using, for example, the maximum power.
  • the intensity acquisition means 1322 usually acquires a larger intensity as the maximum power is larger.
  • the strength acquisition means 1322 acquires the ratio (%) of the force used by the muscle based on the number of firings, multiplies the ratio by the maximum power, and calculates the strength.
  • the intensity acquisition unit 1322 calculates, for example, an attenuation rate that specifies changes in intensity over time using, for example, a hill type model, and uses the attenuation rate to approach the maximum power. It is preferable to obtain the intensity in a time series, or to obtain the intensity in a time series so that the power becomes zero from the maximum power.
  • the strength acquiring means 1322 acquires the strength corresponding to each of the one or more pieces of muscle information. As a result, the strength acquisition means 1322 successively acquires the strength corresponding to one or more pieces of muscle information.
  • the strength acquisition means 1322 sequentially acquires information on one or more moving muscles.
  • the operating muscle information is a set of a muscle identifier and strength.
  • the angle acquisition means 1323 refers to the joint storage section 116 and uses the one or more moving muscle information acquired by the strength acquisition means 1322 to sequentially determine the muscle identifiers of the one or more muscle information determined by the muscle determination means 1321. Obtain the angle of the joint identified by one or more associated joint identifiers.
  • the angle acquisition means 1323 calculates the angle of the joint for each of the one or more joints using the intensity corresponding to the one or more muscle identifiers paired with the joint identifier of the joint.
  • the angle acquisition unit 1323 determines the bending direction and angle of the joint, for example, using physical calculation to calculate torque.
  • the angle acquisition means 1323 sequentially acquires a joint angle set, which is a set of pairs of joint identifiers and angles.
  • the joint angle set may be a set of pairs of angles and joint positions.
  • the operation unit 133 sequentially uses the one or more pieces of operation determination information acquired by the operation determination unit 132 to operate the operation target 2.
  • the operating unit 133 sequentially performs the following operations based on one or more operating muscle information that is a set of the muscle identifier that each of the one or more pieces of muscle information determined by the muscle determining means 1321 and the strength acquired by the strength acquiring means 1322. Operate the operation target 2.
  • the motion unit 133 outputs, for example, the angle for each of the one or more joints determined by the angle acquisition means 1323 to the motion target 2, and causes the motion target 2 to move. That is, the motion unit 133 sequentially uses, for example, the joint angle set acquired by the angle acquisition means 1323 to operate the motion target 2.
  • the motion unit 133 uses the avatar information to configure, for example, an avatar in which the joint position of each of the one or more joints is bent according to the angle determined by the angle acquisition means 1323. and output the avatar.
  • the motion unit 133 sends an instruction to the robot to bend the joint specified by the joint position of one or more joints according to the angle determined by the angle acquisition means 1323, for example. , operate the robot.
  • the muscle changing unit 134 performs a changing process to increase the maximum power paired with the muscle identifier when the muscle identifier determined by the muscle determining means 1321 satisfies a predetermined increase condition.
  • the increase conditions include, for example, that the muscle determining means 1321 has determined a muscle identifier, that the number of times that the muscle determining means 1321 has determined a muscle identifier has been greater than or equal to a threshold value, and that the muscle determining means 1321 has determined a muscle identifier. This means that the number of times per unit time is equal to or greater than the threshold value.
  • the degree to which the maximum power is increased does not matter. For example, when the increase condition is satisfied, the muscle change unit 134 increases the maximum power paired with the muscle identifier by the number of threshold values (for example, "1"). For example, when the increase condition is satisfied, the muscle change unit 134 increases the maximum power paired with the muscle identifier by a percentage of a threshold value (for example, "10%").
  • the muscle changing unit 134 performs a changing process to reduce the maximum power paired with the muscle identifier when the muscle identifier not determined by the muscle determining unit 1321 satisfies a predetermined reduction condition.
  • the reduction condition is, for example, that the muscle identifier is not determined by the muscle determining means 1321 for a time longer than or equal to a threshold time.
  • the degree to which the maximum power is reduced does not matter.
  • the muscle change unit 134 reduces the maximum power paired with the muscle identifier by the number of threshold values (for example, "1").
  • the muscle change unit 134 reduces the maximum power paired with the muscle identifier by a percentage of a threshold value (for example, "15%").
  • the learning unit 135 obtains the MNFP when the input receiving unit 121 receives input information.
  • the learning unit 135 also receives motion determination information. Further, the learning unit 135 stores the MNFP in the MNFP storage unit 113 in association with the received operation determination information. Note that such processing is referred to as learning processing.
  • the storage unit 11, the NN storage unit 111, the firing start point storage unit 112, the MNFP storage unit 113, the avatar storage unit 114, the muscle storage unit 115, and the joint storage unit 116 are preferably non-volatile recording media, but volatile It is also possible to realize this with a recording medium.
  • information may be stored in the storage unit 11 or the like via a recording medium, or information transmitted via a communication line or the like may be stored in the storage unit 11 or the like.
  • information input via an input device may be stored in the storage unit 11 or the like.
  • the reception unit 12 and the input reception unit 121 may be realized by a device driver for input means such as a touch panel or a keyboard, control software for a menu screen, or the like.
  • the reception unit 12 and the like may be realized by wireless or wired communication means.
  • Processing unit 13 MNFP determining unit 131, motion determining unit 132, operating unit 133, muscle changing unit 134, learning unit 135, initial determining unit 1311, propagating unit 1312, MNFP determining unit 1313, muscle determining unit 1321, strength obtaining unit 1322 , and the angle acquisition means 1323 can usually be realized by a processor, memory, or the like.
  • the processing procedures of the processing unit 13 and the like are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the processor may be a CPU, MPU, GPU, etc., and its type does not matter.
  • Step S201 The input accepting unit 121 determines whether input information has been accepted. If the input information is accepted, the process goes to step S202, and if the input information is not accepted, the process returns to step S201.
  • Step S202 The initial determination unit 1311 acquires one or more feature information from the input information accepted in step S201.
  • the technology for acquiring one or more feature information from input information such as images, sounds, or character strings is a known technology.
  • Step S203 The initial determination means 1311 performs initial determination processing.
  • An example of the initial determination process will be explained using the flowchart of FIG. 3. Note that the initial determination process is a process of determining a node to fire first using one or more feature information acquired in step S202.
  • Step S204 The MNFP determining means 1313 performs MNFP determining processing.
  • An example of the MNFP determination process will be described using the flowchart of FIG. 4. Note that the MNFP determination process is a process of determining the MNFP corresponding to one or more firing node identifiers in a time series.
  • Step S205 The operation determining unit 132 determines whether one or more MNFPs have been determined in step S204. If the MNFP has been determined, the process advances to step S206; if the MNFP has not been determined, the process advances to step S207.
  • Step S206 The operation determining unit 132 and the like perform an operation according to the determined MNFP. Regarding an example of such operation processing. This will be explained using the flowchart in FIG.
  • Step S207 The propagation means 1312 determines whether propagation of the firing has ended. If the propagation of firing has ended, the process returns to step S201; if the propagation of firing has not ended, the process goes to step S208.
  • the propagation means 1312 determines that the propagation of the firing has ended, for example, when determining that there are no nodes connected to all of the one or more nodes that fired at the previous point in time. Furthermore, the propagation means 1312 determines that the propagation of firing has ended, for example, when a predetermined time has elapsed after the input information was received.
  • Step S208 The propagation means 1312 performs firing propagation processing. Return to step S204. An example of firing propagation processing will be described using the flowchart of FIG. 7. Note that the firing propagation process is a process that determines the node that will fire at the next point in time.
  • Step S209 The processing unit 13 performs firing elimination processing.
  • An example of the firing cancellation process will be explained using the flowchart of FIG. 8. Note that the firing cancellation process is a process for turning a node in a firing state into a non-firing state.
  • step S203 an example of the initial determination process in step S203 will be described using the flowchart of FIG. 3.
  • Step S301 The initial determination means 1311 assigns 1 to the counter i.
  • Step S302 The initial determination unit 1311 determines whether or not there is an i-th node among the candidate nodes that fire at the initial time point. If the i-th node exists, the process goes to step S303; if the i-th node does not exist, the process returns to the upper level process.
  • the initial determination unit 1311 determines, for example, whether or not the i-th node identifier exists among the node identifiers included in one or more pieces of firing starting point information stored in the firing starting point storage unit 112. Further, the initial determination unit 1311 determines whether or not the i-th node identifier exists in the NN in the NN storage unit 111, for example. Further, the initial determination unit 1311 determines whether or not there is an i-th node identifier, which is a node identifier in the NN in the NN storage unit 111 and is paired with firing information using feature information, for example.
  • Step S303 The initial determination unit 1311 acquires the firing condition paired with the node identifier of the i-th node from the firing start point storage unit 112 or the NN storage unit 111.
  • Step S304 The initial determination unit 1311 determines whether the one or more acquired characteristic information satisfies the firing condition acquired in step S303. If the firing conditions are met, the process goes to step S305; if the firing conditions are not met, the process goes to step S306.
  • Step S305 The initial determination unit 1311 performs a process of setting the i-th node as the firing node in association with the current time.
  • the process of setting the i-th node as the firing node is, for example, a process of writing "1" into the element of the vector associated with the current point, which corresponds to the node identifier of the i-th node.
  • the vector is stored in the firing information storage section 117, for example.
  • Step S306 The initial determination unit 1311 performs a process of not setting the i-th node as the firing node in association with the current time.
  • the process of not setting the i-th node as the firing node is, for example, the process of writing "0" into the element of the vector associated with the current point, which corresponds to the node identifier of the i-th node.
  • the vector is stored in the firing information storage section 117, for example.
  • Step S307 The initial determination means 1311 increments the counter i by 1. Return to step S302.
  • Step S401 The MNFP determining means 1313 assigns 1 to the counter i.
  • Step S402 The MNFP determining means 1313 determines whether the i-th MNFP exists in the MNFP storage unit 113. If the i-th MNFP exists, the process advances to step S403; if the i-th MNFP does not exist, the process returns to the upper level process.
  • Step S403 The MNFP determining means 1313 acquires the i-th MNFP from the MNFP storage unit 113.
  • Step S404 The MNFP determining means 1313 obtains the number of time points of the i-th MNFP obtained in step S403.
  • the number of time points is, for example, the number of rows or columns that constitute the matrix of the i-th MNFP.
  • Step S405 The MNFP determining means 1313 goes back to the past from the latest time point and acquires a matrix having firing vectors for the number of time points acquired in step S404.
  • a matrix is referred to as a target matrix because it is the target to be compared with the MNFP.
  • the target matrix is information that specifies firing nodes that fire based on input information, and is time-series information.
  • the MNFP determining unit 1313 obtains the target matrix from the firing information storage unit 117, for example.
  • Step S406 The MNFP determining means 1313 determines whether or not a target matrix having firing vectors equal to the number of time points has been obtained in step S405. If the target matrix could be acquired, the process goes to step S407; if it could not be acquired, the process goes to step S409.
  • Step S407 The MNFP determining unit 1313 determines whether the target matrix and the i-th MNFP satisfy the correspondence condition. If the correspondence condition is satisfied, the process goes to step S408, and if the correspondence condition is not satisfied, the process goes to step S409. Note that the correspondence condition is, for example, that the target matrix and the i-th MNFP match, or that the degree of similarity between the target matrix and the i-th MNFP is greater than or equal to a threshold value.
  • Step S408 The MNFP determining means 1313 temporarily stores the MNFP identifier for identifying the i-th MNFP in a buffer (not shown).
  • Step S409 The MNFP determining means 1313 increments the counter i by 1. Return to step S402.
  • Step S501 The operation determining unit 132 assigns 1 to the counter i.
  • Step S502 The operation determining unit 132 determines whether the i-th MNFP identifier accumulated in the buffer in step S408 exists. If the i-th MNFP identifier exists, the process goes to step S503; if it does not exist, the process goes to step S511.
  • Step S503 The operation determining unit 132 assigns 1 to the counter j.
  • Step S504 The operation determining unit 132 determines whether the j-th firing node identifier owned by the MNFP identified by the i-th MNFP identifier exists. If the j-th firing node identifier exists, the process goes to step S505, and if it does not exist, the process goes to step S510.
  • the j-th firing node identifier here is preferably the firing node identifier at the latest point in time (current point in time) among the firing node identifiers possessed by the MNFP.
  • Step S505 The operation determining unit 132 assigns 1 to the counter k.
  • Step S506 The motion determining unit 132 determines whether the kth muscle identifier exists among the muscle identifiers corresponding to the jth firing node identifier. If the k-th muscle identifier exists, the process goes to step S507; if it does not exist, the process goes to step S509.
  • Step S507 The motion determining unit 132 increases the firing number (the firing number of the k-th muscle), which is the number of firing nodes corresponding to the k-th muscle identifier. Note that the amount to be increased is, for example, 1, but is not limited.
  • Step S508 The operation determining unit 132 increments the counter k by 1. Return to step S506.
  • Step S509 The operation determining unit 132 increments the counter j by 1. Return to step S504.
  • Step S510 The operation determining unit 132 increments the counter i by 1. Return to step S502.
  • Step S511 The operation determining unit 132 assigns 1 to the counter l.
  • Step S512 The motion determining unit 132 determines whether the l-th joint exists. If the l-th joint exists, the process goes to step S513; if it does not exist, the process goes to step S515.
  • Step S513 The angle acquisition unit 1323 performs angle acquisition processing for the l-th joint. An example of the angle acquisition process will be described using the flowchart of FIG. 6.
  • Step S514 The operation determining unit 132 increments the counter l by 1. Return to step S512.
  • Step S5 The operating unit 133 constructs a joint angle set using the joint angles determined in step S513.
  • Step S516 The motion unit 133 moves the motion target 2 using the joint angle set acquired in step S515. Return to upper level processing.
  • the operating unit 133 configures an avatar using the avatar information in the avatar storage unit 114 so that each joint has an angle indicated by the joint angle set, and outputs the avatar.
  • the operating unit 133 operates the robot so that each joint has an angle indicated by the joint angle set.
  • step S513 an example of the angle acquisition process in step S513 will be described using the flowchart of FIG. 6.
  • Step S601 The operation determining unit 1322 assigns 1 to the counter i.
  • Step S602 The muscle determination unit 1321 refers to the joint storage unit 116 and determines whether there is an i-th muscle identifier that pairs with the joint identifier of the l-th joint in step S512. If the i-th muscle identifier exists, the process goes to step S603; if it does not exist, the process goes to step S607.
  • Step S603 The intensity acquisition means 1322 acquires the number of firings paired with the i-th muscle identifier.
  • Step S604 The intensity acquisition means 1322 determines whether the number of firings acquired in step S603 is one or more. If the number of firings is 1 or more, the process goes to step S605, and if the number of firings is 0 or the number of firings cannot be obtained, the process goes to step S607.
  • Step S605 The strength acquisition unit 1322 acquires the maximum power paired with the i-th muscle identifier from the muscle storage unit 115.
  • Step S606 The strength acquisition means 1322 uses the firing number acquired in step S603 and the maximum power acquired in step S605 to acquire the strength of the muscle identified by the i-th muscle identifier.
  • Step S607 The operation determining unit 132 increments the counter i by 1. Return to step S602.
  • Step S608 The angle acquisition means 1323 uses the strength of the one or more muscles acquired in step S606 to determine whether the angle of the l-th joint in step S512 can be acquired. If the angle can be acquired, the process advances to step S609; if the angle cannot be acquired, the process returns to the upper level process.
  • Step S609 The angle acquisition means 1323 acquires the angle of the l-th joint in step S512. Return to upper level processing.
  • the angle acquisition unit 1323 normally associates joint identifiers and angles and stores them in a buffer (not shown).
  • step S208 an example of the firing propagation process in step S208 will be described using the flowchart of FIG. 7.
  • Step S701 The propagation means 1312 assigns 1 to the counter i.
  • Step S702 The propagation means 1312 determines whether or not there is an i-th firing node that fired at the previous point in time. If the i-th firing node exists, the process advances to step S703; if the i-th firing node does not exist, the process returns to the upper level process.
  • Step S703 The propagation means 1312 assigns 1 to the counter j.
  • Step S704 The propagation means 1312 determines whether there is a j-th connection node corresponding to the i-th firing node. If the j-th connection node exists, the process goes to step S705; if it does not exist, the process goes to step S712.
  • the propagation means 1312 normally refers to the NN storage unit 111 and determines whether there is a j-th connected node identifier that pairs with the node identifier that identifies the i-th firing node. If the j-th connection node identifier exists, the process goes to step S705, and if it does not exist, the process goes to step S712.
  • Step S705 The propagation means 1312 acquires the firing condition paired with the j-th connected node identifier from the NN storage unit 111.
  • the propagation means 1312 acquires the feature information corresponding to the i-th firing node.
  • the propagation means 1312 may acquire feature information including an amount of information obtained by subtracting the amount of information included in the feature information corresponding to the i-th firing node.
  • the propagation means 1312 determines whether the acquired feature information satisfies the firing condition paired with the j-th connected node identifier. If the firing conditions are met, the process goes to step S707, and if the firing conditions are not met, the process goes to step S710.
  • the acquired feature information is, for example, an information amount, an information identifier, or an information amount and an information identifier.
  • Step S707 The propagation means 1312 determines whether the propagation probability paired with the j-th connected node identifier exists in the NN storage unit 111. If the propagation probability exists, the process goes to step S708, and if it does not exist, the process goes to step S709.
  • Step S708 The propagation means 1312 determines whether the node identified by the j-th connected node identifier fires according to the propagation probability. If it fires, the process goes to step S709; if it does not fire, the process goes to step S710.
  • Step S709 The propagation means 1312 sets the node identified by the j-th connected node identifier as the firing node.
  • Step S710 The propagation means 1312 does not set the node identified by the j-th connected node identifier as the firing node.
  • Step S711 The propagation means 1312 increments the counter j by 1. Return to step S704.
  • Step S712 The propagation means 1312 increments the counter i by 1. Return to step S702.
  • step S706 in FIG. 7 the propagation means 1312 determines whether the acquired feature information satisfies the firing condition. However, in step S706, the propagation means 1312 may determine whether to proceed to step S707 or step S710 based on the firing probability when the firing condition is satisfied.
  • Step S801 The processing unit 13 assigns 1 to the counter i.
  • Step S802 The processing unit 13 determines whether the firing information stored in the firing information storage unit 117 is firing information corresponding to at least one firing node identifier, and whether there is firing information at the i-th point in time. Decide whether or not. If firing information at the i-th time point exists, the process goes to step S803; if it does not exist, the process returns to the upper level process.
  • Step S803 The processing unit 13 assigns 1 to the counter j.
  • Step S804 The processing unit 13 determines whether the j-th firing node exists among the firing nodes specified by the firing information at the i-th time point. If the j-th firing node exists, the process goes to step S805; if it does not exist, the process goes to step S808.
  • Step S805 The processing unit 13 determines whether the j-th firing node at the i-th point in time satisfies the deletion condition. If the j-th firing node satisfies the deletion condition, the process goes to step S806, and if it does not, the process goes to step S807.
  • Step S806 The processing unit 13 sets the firing node at the i-th time point as a non-firing node.
  • Step S807 The processing unit 13 increments the counter j by 1. Return to step S804.
  • Step S808 The processing unit 13 increments the counter i by 1. Return to step S802.
  • the input receiving unit 121 of the information processing device 1 receives input information 901.
  • the input information 901 is, for example, audio or images.
  • the initial determination unit 1311 of the information processing device senses the input information 901 and acquires one or more characteristic information (902). Then, the MNFP determining unit 131 applies the NN (903) in the NN storage unit 111 to one or more pieces of feature information, and sequentially determines a set of one or more firing nodes. Then, the MNFP determining unit 131 configures time-series firing information. Next, the MNFP determining unit 131 sequentially determines one or more MNFPs in the MNFP storage unit 113 using the time-series firing information. Then, the operation unit 133 sequentially acquires operation determination information corresponding to each of the one or more MNFPs determined in sequence. Next, the operation unit 133 sequentially uses the acquired one or more pieces of operation determination information to operate the operation target 2. Note that in FIG. 9, six NNs (903) are connected.
  • the following information is stored in the storage unit 11 of the information processing device 1.
  • the NN storage unit 111 stores the NN management table shown in FIG.
  • the NN management table is a table for managing NNs.
  • the NN management table is a table that manages information on one or more nodes constituting the NN.
  • the node information includes a "node identifier,” "firing condition,” “connection node identifier,” “propagation probability,” and "elimination condition.”
  • the "erase condition” is "-"
  • the default erase condition is adopted as the erase condition for the corresponding node.
  • the default deletion condition is, for example, that three seconds or more have elapsed since the firing.
  • the ignition start point storage unit 112 stores a set of ignition start point information "N001, N002, N003, N004, N005, . . . shall be.
  • the MNFP storage unit 113 stores the MNFP management table shown in FIG. 11.
  • the MNFP management table manages two or more records having MNFP identifiers and MNFPs.
  • MNFP is here a two-axis matrix of node identifier and time point. Among time points “t1," “t2,” “t3,” “t4,” and “t5,” a smaller number indicates an earlier time point (older time point).
  • the MNFP with the MNFP identifier "M01" in FIG. 11 at time "t1", the two nodes identified by "N001" and “N002" are the firing nodes, and the two nodes identified by "N015" and "N389” are the firing nodes. indicates that the node is a non-firing node.
  • the avatar storage unit 114 stores avatar information that constitutes the avatar of the action target 2.
  • a muscle management table shown in FIG. 12 is stored in the muscle storage unit 115.
  • the muscle management table manages one or more pieces of muscle information.
  • the muscle information includes a "muscle identifier,” "maximum power,” and "firing node identifier.”
  • the muscle information is information about muscles that operate when a node fires. This indicates that the muscle identified by the muscle identifier "MU001” operates when the node identified by the node identifier "N001" or "N002" is in the firing state. Further, the maximum power of the muscle identified by the muscle identifier "MU001" is "8".
  • the joint storage unit 116 stores a joint management table shown in FIG.
  • the joint management table manages one or more joint information.
  • the joint information here includes a "joint identifier,””jointposition,” and "muscle identifier.”
  • the "joint position” is a coordinate value indicating the center of gravity of the joint.
  • the joint identified by the joint identifier "J001” is a joint that operates according to the strength of the muscle identified by each of the muscle identifiers "MU001" and "MU002.”
  • the information processing device 1 has received input information (for example, an image).
  • the initial determination means 1311 acquires two or more characteristic information (for example, "R”, "G”, and "B") from the received input information.
  • the initial determination means 1311 performs initial determination processing as follows. That is, the initial determination means 1311 refers to the set of firing start point information "N001, N002, N003, N004, N005," in the firing start point storage unit 112 and the NN management table (FIG. 10), and selects two or more Node identifiers "N001, N002, N003, . . .” of nodes that fire in response to feature information (for example, "R", "G", "B") are acquired. Then, the vector (1, 1, 1, 0, 0, ..., 0, ..., 0, ...) constituting the firing node identifier is stored in the firing information storage in association with the time point "t1". 117. This information is the information in the column corresponding to "t1" in FIG.
  • the MNFP determining means 1313 performs MNFP determining processing as follows. That is, the MNFP determining means 1313 refers to FIG. 11 and determines the firing information vector (1, 1, 1, 0, 0, ..., 0) corresponding to "t1" in FIG. , ..., 0, ...) does not match (here, a complete match).
  • the propagation means 1312 performs propagation processing as follows, for example.
  • the propagation means 1312 transmits the connected node identifier (for example, "N011” that is paired with “N001") that is paired with the identifier of each firing node that fired at time “t1" ("N001", “N002", and “N003").
  • the connected node identifier for example, "N011” that is paired with "N001”
  • t1 identifier of each firing node that fired at time "t1"
  • the propagation means 1312 obtains the propagation probability paired with each connected node identifier, and if the propagation probability is less than 1, performs a lottery according to the propagation probability, and determines whether the connected node identifier becomes the firing node identifier or not. Decide whether or not. Further, the propagation means 1312 determines that the connected node identifier paired with the propagation probability "1" is the firing node identifier. Then, the propagation means 1312 obtains a vector (1, 1, . . . , 0, . Further, the propagation means 1312 adds the vector to the firing information storage unit 117 in association with the time point "t2" (see the column corresponding to "t2" in FIG. 14).
  • the propagation means 1312 determines whether the connected node identifier becomes the firing node identifier only when the firing condition is satisfied, as described above.
  • the MNFP determining means 1313 has determined that the MNFP that matches the two-column matrix of time points "t1" and "t2" does not exist in the MNFP management table (FIG. 11).
  • the propagation means 1312 further advances the propagation process. It is assumed that the ignition information storage unit 117 stores a set of ignition information shown in FIG.
  • the MNFP determining means 1313 determines that the set (matrix) of firing information shown in FIG. 14 corresponds to (completely matches here) the MNFP of "M001" in the MNFP management table (FIG. 11). That is, the MNFP determining means 1313 determines the MNFP identifier "M001".
  • the muscle determining means 1321 determines the firing node identifiers ("N001”, “N002”, “N015", “N389”, ).
  • the muscle determining means 1321 refers to the muscle management table (FIG. 12) and acquires muscle identifiers ("MU001", "MU002", etc.) that are paired with each acquired firing node identifier.
  • the intensity acquisition means 1322 refers to the column "t5" in FIG. 14, and for each acquired muscle identifier, calculates the number of firing nodes among the firing node identifiers paired with the muscle identifier. Get the number of firings.
  • the strength acquisition unit 1322 acquires the firing number "2" for the muscle identifier "MU001" and the firing number "1" for the muscle identifier "MU002.”
  • the strength acquisition means 1322 acquires the maximum power paired with the muscle identifier from the muscle management table (FIG. 12). Next, the strength acquisition means 1322 acquires the strength for each acquired muscle identifier using the number of firings and the maximum power.
  • the angle acquisition means 1323 acquires one or more joint identifiers that are paired with the muscle identifier of the muscle whose strength has been acquired from the joint management table (FIG. 13). The angle acquisition unit 1323 then acquires the angle of the joint for each acquired joint identifier, using the strength of the muscle identified by two or more muscle identifiers paired with each joint identifier. Further, the angle acquisition unit 1323 acquires, for each joint identifier, the joint position paired with each joint identifier from the joint management table (FIG. 13). Through the above processing, the angle acquisition means 1323 was able to acquire (angle, joint position) for each moving joint. Note that a set of (angles, joint positions) of one or more moving joints is a joint angle set.
  • the operation unit 133 acquires the avatar information from the avatar storage unit 114.
  • the motion unit 133 transforms the avatar information so that each joint has an angle according to the acquired joint angle set, and causes the avatar, which is the motion target 2, to move.
  • muscle movements according to the cognition of living things such as humans can be appropriately simulated.
  • the movement of joints according to the recognition of living things such as humans can be simulated using an avatar.
  • the motion object 2 is an avatar, but it may be another type of motion object 2 such as a robot.
  • a robot once the joints and their angles are determined, the motion of the robot is determined.
  • the processing in this embodiment may be realized by software. Then, this software may be distributed by software download or the like. Furthermore, this software may be recorded on a recording medium such as a CD-ROM and distributed. Note that this also applies to other embodiments in this specification.
  • the software that implements the information processing device 1 in this embodiment is the following program. In other words, this program includes a NN storage section in which a neural network having two or more nodes identified by node identifiers is stored, and information specifying one or more firing nodes for each of the two or more points in time.
  • a computer that can access an MNFP storage unit that stores one or more pieces of control information, which is information that includes the above motor neuron firing pattern (MNFP) and corresponds to motion determination information that determines the motion of the motion target.
  • MNFP motor neuron firing pattern
  • an input receiving unit that receives input information; and applying the input information to the neural network to acquire firing node identifiers of one or more of the two or more nodes possessed by the neural network in time series; an MNFP determining unit that sequentially determines one or more MNFPs corresponding to the one or more firing node identifiers from the one or more MNFPs in the MNFP storage unit; and each of the one or more MNFPs determined by the MNFP determining unit.
  • a motion determining section that sequentially acquires motion determining information corresponding to the MNFP; and a motion determining section that sequentially uses the one or more motion determining information acquired by the motion determining section to function as a motion section that operates the motion target.
  • Embodiment 2 This embodiment differs from Embodiment 1 in that the motion target is an object that does not have joints.
  • the motion target is, for example, a face.
  • the movement of the muscle corresponding to the motion target is simulated.
  • an information processing device that acquires the strength of expansion and contraction for each mesh of the face and changes the face using the strength of each mesh when the muscles to be operated are those of the face will be described.
  • FIG. 15 is a block diagram of the operating system B in this embodiment.
  • the operation system B includes an information processing device 3 and an operation target 4. Note that the information processing device 3 may be configured to include the operation target 4.
  • the action object 4 is an object that performs an action.
  • the motion object 4 is, for example, an avatar or a robot, but the type thereof does not matter.
  • the information processing device 3 includes a storage section 31, a reception section 12, and a processing section 33.
  • the storage section 31 includes a NN storage section 111 , a firing start point storage section 112 , an MNFP storage section 113 , an avatar storage section 314 , and a muscle storage section 315 .
  • the processing section 33 includes a MNFP determining section 131 , a motion determining section 332 , a motion section 333 , a muscle changing section 334 , and a learning section 135 .
  • the motion determining section 332 includes a muscle determining means 1321 and a strength acquiring means 1322.
  • Various types of information are stored in the storage unit 31 that constitutes the information processing device 3.
  • Various types of information include, for example, a neural network (NN), firing starting point information, MNFP, avatar information, and muscle information.
  • Avatar information for outputting an avatar is stored in the avatar storage unit 314.
  • the avatar information here does not need to have joints.
  • Avatar information is, for example, information for configuring the face of a creature such as a person.
  • the data structure of the avatar information does not matter.
  • avatar information usually includes model information.
  • the model information is information for configuring the display of the avatar.
  • the model information includes, for example, mesh information.
  • the muscle storage section 315 stores two or more pieces of muscle information.
  • the muscle information here is information regarding the mesh that moves when one or more nodes fire.
  • Muscle information is information associated with one or more firing node identifiers.
  • the muscle information includes, for example, a muscle identifier.
  • the muscle information includes, for example, a muscle identifier, maximum power, and mesh position.
  • the mesh is a part of the avatar's face.
  • the muscle identifier here is information that identifies a mesh that is a partial region of the avatar's face.
  • the muscle identifier here may be called a mesh identifier.
  • the mesh position is information that specifies the position of the mesh.
  • the processing unit 33 performs various processes.
  • the various processes are, for example, processes performed by the motion determining section 332, the motion section 333, and the muscle changing section 334.
  • the operation determination unit 332 sequentially acquires operation determination information corresponding to each of the one or more MNFPs determined by the MNFP determination unit 131.
  • the motion determining section 332 performs the processing normally performed by the muscle determining means 1321 and the strength acquiring means 1322.
  • the operation unit 333 sequentially uses the one or more pieces of operation determination information acquired by the operation determination unit 332 to operate the operation target 4.
  • the motion unit 333 sequentially determines the motion target based on one or more motion muscle information that is a set of the muscle identifier of each muscle information determined by the muscle determination means 1321 and the strength acquired by the strength acquisition means 1322. Operate 4.
  • the operation unit 333 sequentially expands and contracts the mesh identified by the muscle identifier included in the muscle information determined by the muscle determining means 1321.
  • the muscle change unit 334 performs a change process to increase the maximum power paired with the muscle identifier when the muscle identifier determined by the muscle determining means 1321 satisfies a predetermined increase condition.
  • the muscle changing unit 334 performs a changing process to reduce the maximum power paired with the muscle identifier when the muscle identifier not determined by the muscle determining means 1321 satisfies a predetermined reduction condition.
  • the muscle changing unit 334 may perform the same processing as the muscle changing unit 134.
  • the storage section 31, the avatar storage section 314, and the muscle storage section 315 are preferably nonvolatile recording media, but can also be realized using volatile recording media.
  • information may be stored in the storage unit 31 or the like via a recording medium, or information transmitted via a communication line or the like may be stored in the storage unit 31 or the like.
  • information input via an input device may be stored in the storage unit 11 or the like.
  • the processing unit 33, the motion determining unit 332, the operating unit 333, and the muscle changing unit 334 can usually be realized by a processor, memory, or the like.
  • the processing procedures of the processing unit 33 and the like are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the processor may be a CPU, MPU, GPU, etc., and its type does not matter.
  • the operation example of the information processing device 3 is the same as the operation described using the flowchart of FIG. 2, except for the operation process in step S206.
  • Step S1601 The operation determining unit 132 assigns 1 to the counter l.
  • Step S1602 The motion determining unit 132 determines whether there is an l-th muscle identifier with a corresponding firing count of 1 or more. If the l-th muscle identifier exists, the process goes to step S1603; if it does not exist, the process goes to step S1607.
  • Step S1603 The motion determining unit 132 obtains the number of firings corresponding to the l-th muscle identifier. Note that when the maximum power corresponding to the l-th muscle identifier exists, the motion determining unit 132 acquires the firing number and the maximum power.
  • Step S1604 The intensity obtaining unit 1322 obtains the intensity using the number of firings obtained in step S1603. Further, the intensity obtaining means 1322 may obtain the intensity using the number of firings and the maximum power.
  • Step S1605 The motion determining unit 132 temporarily stores the l-th muscle identifier and the strength obtained in step S1604 as a pair in a buffer (not shown).
  • Step S1606 The operation determining unit 132 increments the counter l by 1. Return to step S1602.
  • Step S1607 The operating unit 133 uses one or more pairs of muscle identifiers and intensities stored in a buffer (not shown) to move the muscles (here, usually a mesh) identified by each muscle identifier into corresponding
  • the motion object 4 (for example, the face of the avatar) is caused to move by shrinking the motion object 4 by the amount of the intensity.
  • the facial movement is based on the received input information, and the facial movement based on the recognition of living things such as humans can be appropriately simulated.
  • FIG. 17 is a block diagram of the operating system C in this embodiment.
  • the operation system C includes an information processing device 5 and an operation target 6. Note that the information processing device 5 may have a configuration including an operation target 6.
  • the action object 6 is an object that performs an action.
  • the motion object 6 is, for example, an avatar or a robot, but the type thereof does not matter.
  • the information processing device 5 includes a storage section 51, a reception section 12, and a processing section 53.
  • the storage unit 51 includes a NN storage unit 111 , a firing start point storage unit 112 , an MNFP storage unit 113 , an avatar storage unit 114 , and a module storage unit 511 .
  • the processing section 53 includes a MNFP determining section 131, an operation determining section 532, an operating section 533, and a learning section 135.
  • Various types of information are stored in the storage unit 51 that constitutes the information processing device 5.
  • Various types of information include, for example, a neural network (NN), firing starting point information, MNFP, avatar information, and modules.
  • the module storage section 511 stores one or more operation modules.
  • the operation module is a program for operating the operation target 6.
  • the operation module is, for example, an execution module, a function, or a method, but the type thereof does not matter.
  • Action modules are associated with action identifiers.
  • An action identifier is information that identifies an action.
  • the operation identifier is, for example, an operation module name or an ID of the operation module.
  • the processing unit 53 performs various processes.
  • the various processes are, for example, processes performed by the MNFP determining unit 131, the operation determining unit 532, the operating unit 533, and the learning unit 135.
  • the operation determination unit 532 sequentially acquires operation determination information corresponding to each of the one or more MNFPs determined by the MNFP determination unit 131.
  • the operation determining unit 532 sequentially acquires the operation identifier corresponding to each of the one or more MNFPs determined by the MNFP determining unit 131. Note that each MNFP in the MNFP storage unit 113 is associated with an operation identifier.
  • the operation unit 533 sequentially uses the one or more pieces of operation determination information acquired by the operation determination unit 532 to operate the operation target 6.
  • the operation unit 533 sequentially executes the operation modules associated with the operation identifiers acquired by the operation determination unit 532, and causes the operation target 6 to operate.
  • the storage section 51 and the module storage section 511 are preferably nonvolatile recording media, but can also be realized using volatile recording media.
  • information may be stored in the storage unit 51 or the like via a recording medium, or information transmitted via a communication line or the like may be stored in the storage unit 51 or the like.
  • information input via an input device may be stored in the storage unit 51 or the like.
  • the processing unit 53, the operation determining unit 532, and the operating unit 533 can usually be realized by a processor, memory, or the like.
  • the processing procedures of the processing unit 53 and the like are usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the processor may be a CPU, MPU, GPU, etc., and its type does not matter.
  • the operation example of the information processing device 3 is the same as the operation described using the flowchart of FIG. 2, except for the operation process in step S206.
  • Step S1801 The operation determining unit 532 obtains the operation identifier corresponding to the i-th MNFP from the MNFP storage unit 113.
  • Step S1802 The operation unit 533 acquires the operation module identified by the operation identifier acquired in step S1801 from the module storage unit 511, and executes the operation module. Go to step S510.
  • the learning process is a process of learning the MNFP.
  • Step S1901 The learning unit 135 determines whether or not input information and motion determination information used for learning have been received. If such information is accepted, the process advances to step S1902; if not, the process returns to step S1901.
  • the motion determination information here is, for example, motion muscle information.
  • Step S1902 The learning unit 135 determines whether the learning conditions are satisfied. If the learning conditions are met, the process goes to step S1903; if the learning conditions are not met, the process goes to step S208.
  • the learning conditions are conditions for storing MNFP in the MNFP storage unit 113.
  • the learning conditions are, for example, a time point number condition and a firing information condition.
  • the number of time points condition is a condition regarding the number of time points in the firing information stored in the firing information storage unit 117, and for example, the number of time points is equal to or greater than a threshold value.
  • the firing information condition is a condition related to the content of firing information, for example, that the number of firing nodes is equal to or greater than a threshold value.
  • the learning unit 135 obtains the MNFP stored in the firing information storage unit 117 at the current time.
  • the MNFP here is information that specifies a set of firing node identifiers at each point in time from the first point in time to the current point in time, and is, for example, the above-mentioned matrix.
  • the matrix has two axes: a time axis and a node identifier.
  • Step S1904 The learning unit 135 performs MNFP accumulation processing.
  • MNFP accumulation processing An example of MNFP accumulation processing will be described using the flowchart of FIG. 20. Note that the MNFP accumulation process is a process of accumulating MNFP in the MNFP storage unit 113.
  • the learning unit 135 may perform the processing of each step S203, S208, and S209.
  • the learning unit 135 acquires one or more muscle identifiers included in the received motion determination information.
  • the one or more muscle identifiers are identifiers of muscles that operate when the input information is accepted.
  • Step S2002 The learning unit 135 assigns 1 to the counter i.
  • Step S2003 The learning unit 135 determines whether the i-th muscle identifier exists among the muscle identifiers acquired in step S2001. If the i-th muscle identifier exists, the process goes to step S2004; if it does not exist, the process goes to step S2007.
  • the learning unit 135 refers to the muscle storage unit 315 and obtains one or more firing node identifiers corresponding to the i-th muscle identifier.
  • Step S2005 In the MNFP acquired in step S1903, the learning unit 135 converts the value of the node that is the node identifier at the last point in time and corresponds to one or more firing node identifiers acquired in step S2004 into the value of the firing node. (for example, "1").
  • Step S2006 The learning unit 135 increments the counter i by 1. Return to step S2003.
  • Step S2007 The learning unit 135 stores the MNFP changed in step S2005 in the MNFP storage unit 113. Return to upper level processing.
  • the learning process differs from the learning process described in FIG. 19 only in the MNFP accumulation process.
  • the MNFP accumulation process performed by the learning unit 135 of the information processing device 5 is a process of associating the MNFP acquired in S1903 with the operation decision information accepted in S1901 and accumulating it in the MNFP storage unit 113.
  • the operation determination information here is an operation identifier.
  • FIG. 21 shows the external appearance of a computer that executes the programs described in this specification and implements the information processing apparatus 1 and the like of the various embodiments described above.
  • the embodiments described above may be implemented in computer hardware and computer programs executed thereon.
  • FIG. 21 is an overview diagram of this computer system 300
  • FIG. 22 is a block diagram of the system 300.
  • a computer system 300 includes a computer 301 including a CD-ROM drive, a keyboard 302, a mouse 303, and a monitor 304.
  • the computer 301 includes, in addition to a CD-ROM drive 3012, an MPU 3013, a bus 3014 connected to the CD-ROM drive 3012, a ROM 3015 for storing programs such as a boot-up program, and an MPU 3013. It is connected and includes a RAM 3016 for temporarily storing application program instructions and providing temporary storage space, and a hard disk 3017 for storing application programs, system programs, and data.
  • the computer 301 may further include a network card that provides connection to a LAN.
  • a program that causes the computer system 300 to execute the functions of the information processing device 1 of the above-described embodiment may be stored in the CD-ROM 3101, inserted into the CD-ROM drive 3012, and further transferred to the hard disk 3017. .
  • the program may be transmitted to the computer 301 via a network (not shown) and stored on the hard disk 3017.
  • the program is loaded into RAM 3016 during execution.
  • the program may be loaded directly from CD-ROM 3101 or the network.
  • the program does not necessarily include an operating system (OS) or a third party program that causes the computer 301 to execute the functions of the information processing device 1 of the above-described embodiment.
  • the program need only contain those parts of the instructions that call the appropriate functions (modules) in a controlled manner to achieve the desired results. How computer system 300 operates is well known and will not be described in detail.
  • processing is performed by hardware. processing) is not included.
  • the number of computers that execute the above program may be a single computer or a plurality of computers. That is, centralized processing or distributed processing may be performed.
  • each process may be realized by being centrally processed by a single device, or may be realized by being distributed by a plurality of devices.
  • the information processing device 1 has the effect of being able to appropriately simulate the movements of living things such as humans according to their cognition, and is useful as a simulation device or the like.

Landscapes

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

Abstract

情報処理装置1は、動作決定情報に対応付けて、2以上の各時点ごとの1以上の発火ノードを特定する情報である1以上のモーターニューロンファイアリングパターン(MNFP)が格納されるMNFP格納部113と、ニューラルネットワーク(NN)に入力情報を適用し、NNが有する2以上のノードのうちの1以上の発火ノードを時系列で取得し、時系列の1以上の発火ノードに対応する1以上のMNFPを、MNFP格納部113から、順次、決定するMNFP決定部131と、MNFP決定部131が決定した1以上の各MNFPに対応する動作決定情報を、順次、取得する動作決定部132と、当該1以上の動作決定情報を、順次、用いて、動作対象2を動作させる動作部133とを具備する。

Description

情報処理装置、情報処理方法、およびプログラム
 本発明は、人等の生物の認知に応じた動きをシミュレーションする情報処理装置等に関するものである。
 従来、ニューラルネットワークを用いて、ロボットまたはアバターなどの動作対象の運動を制御する技術があった(例えば、特許文献1参照)。
特開2022-13786号公報
 しかしながら、従来技術においては、人等の生物の認知に応じた動きを適切にシミュレーションできる仕組みが存在しなかった。
 本第一の発明の情報処理装置は、ノード識別子により識別される2以上のノードを有するニューラルネットワークが格納されるNN格納部と、動作対象の動作を決定する動作決定情報に対応付けて、2以上の各時点ごとの1以上の発火ノードを特定する情報である1または2以上のモーターニューロンファイアリングパターン(MNFP)が格納されるMNFP格納部と、入力情報を受け付ける入力受付部と、ニューラルネットワークに入力情報を適用し、ニューラルネットワークが有する2以上のノードのうちの1以上の発火ノード識別子を時系列で取得し、時系列の1以上の発火ノード識別子に対応する1以上のMNFPを、MNFP格納部の1以上のMNFPから、順次、決定するMNFP決定部と、MNFP決定部が決定した1以上の各MNFPに対応する動作決定情報を、順次、取得する動作決定部と、動作決定部が取得した1以上の動作決定情報を、順次、用いて、動作対象を動作させる動作部とを具備する情報処理装置である。
 かかる構成により、人等の生物の認知に応じた動きをシミュレーションできる。
 また、本第二の発明の情報処理装置は、第一の発明に対して、1以上のノードが発火した場合に動く筋肉に関する情報であり、1以上の発火ノード識別子に対応付けられた情報であり、筋肉識別子と最大パワーとを有する情報である2以上の筋肉情報が格納される筋肉格納部をさらに具備し、動作決定部は、MNFP決定部が決定した1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する筋肉決定手段と、筋肉決定手段が決定した1以上の各筋肉情報ごとに、筋肉情報に対応付く発火ノード識別子の数である発火数を取得し、発火数と筋肉情報が有する最大パワーとを用いて、筋肉情報が特定する筋肉の動きの強度を、順次、取得する強度取得手段とを具備し、動作部は、筋肉決定手段が決定した1以上の各筋肉情報が有する筋肉識別子と強度取得手段が取得した強度との組である1以上の動作筋肉情報に基づいて、順次、動作対象を動作させる情報処理装置である。
 かかる構成により、人等の生物の認知に応じた筋肉の動きをシミュレーションできる。
 また、本第三の発明の情報処理装置は、第一の発明に対して、2以上の筋肉識別子に対応付けて、関節識別子を有する1以上の関節情報が格納される関節格納部をさらに具備し、動作決定部は、関節格納部を参照し、1以上の動作筋肉情報を用いて、順次、筋肉決定手段が決定した1以上の筋肉情報が有する筋肉識別子に対応付いている1以上の各関節識別子で識別される関節の角度を取得する角度取得手段をさらに具備し、動作部は、1以上の各関節ごとの角度を、動作対象に対して出力し、動作対象を動作させる、情報処理装置である。
 かかる構成により、人等の生物の認知に応じた関節の動きをシミュレーションできる。
 また、本第四の発明の情報処理装置は、第三の発明に対して、動作対象は、アバターであり、関節情報は、アバターの関節の情報であり、アバターが有する関節の位置を特定する関節位置を有し、アバターを出力するためのアバター情報が格納されるアバター格納部をさらに具備し、動作部は、1以上の各関節の関節位置が特定する関節を、関節に対応する角度に従って曲げたアバターを、アバター情報を用いて構成し、アバターを出力する、情報処理装置である。
 かかる構成により、人等の生物の認知に応じた関節の動きを、アバターを用いてシミュレーションできる。
 また、本第五の発明の情報処理装置は、第一の発明に対して、動作対象はアバターの顔であり、1以上のノードのノード識別子に対応付けられた情報であり、1以上のノードが発火した場合に動くメッシュに関する情報であり、アバターの顔のメッシュを識別する筋肉識別子を有する2以上の筋肉情報が格納される筋肉格納部をさらに具備し、動作決定部は、MNFP決定部が決定した1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する筋肉決定手段を具備し、動作部は、筋肉決定手段が決定した筋肉情報が有する筋肉識別子が識別するメッシュを、順次、伸縮させる、情報処理装置である。
 かかる構成により、人等の生物の認知に応じた顔の動きをシミュレーションできる。
 また、本第六の発明の情報処理装置は、第五の発明に対して、動作決定部は、MNFP決定部が決定した1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する筋肉決定手段と、筋肉決定手段が決定した1以上の各筋肉情報ごとに、筋肉情報に対応付く発火ノード識別子の数である発火数を取得し、発火数を用いて、筋肉情報が特定する筋肉の動きの強度を、順次、取得する強度取得手段とを具備し、動作部は、筋肉決定手段が決定した1以上の各筋肉情報が有する筋肉識別子と強度取得手段が取得した強度との組である1以上の動作筋肉情報に基づいて、順次、動作対象を動作させる情報処理装置である。
 かかる構成により、人等の生物の認知に応じた顔の動きを適切にシミュレーションできる。
 また、本第七の発明の情報処理装置は、第一の発明に対して、動作決定情報は、動作を識別する動作識別子であり、動作識別子に対応付けて、動作対象を動作させるための動作モジュールが格納されるモジュール格納部をさらに具備し、動作決定部は、MNFP決定部が決定したMNFPに対応する動作識別子を取得し、動作部は、動作決定部が取得した動作識別子に対応付いている動作モジュールを実行し、動作対象を動作させる情報処理装置である。
 かかる構成により、人等の生物の認知に応じた動きをシミュレーションできる。
 また、本第八の発明の情報処理装置は、第二から第四いずれか1つの発明に対して、筋肉決定手段が決定した筋肉識別子が予め決められた増加条件を満たした場合に、筋肉識別子と対になる最大パワーを増加させる変更処理を行う筋肉変更部をさらに具備する情報処理装置である。
 かかる構成により、人等の生物の認知に応じた筋肉の動きを、筋肉の特性を考慮して、シミュレーションできる。
 また、本第九の発明の情報処理装置は、第二から第四いずれか1つの発明に対して、筋肉決定手段が決定しない筋肉識別子が予め決められた減少条件を満たした場合に、筋肉識別子と対になる最大パワーを減少させる変更処理を行う筋肉変更部をさらに具備する情報処理装置である。
 かかる構成により、人等の生物の認知に応じた筋肉の動きを、筋肉の特性を考慮して、シミュレーションできる。
 また、本第十の発明の情報処理装置は、第一から第九いずれか1つの発明に対して、入力受付部が入力情報を受け付けた場合のMNFPを取得し、かつ動作決定情報を受け付け、動作決定情報に対応付けて、MNFPをMNFP格納部に蓄積する学習処理を行う学習部をさらに具備する情報処理装置である。
 かかる構成により、人等の生物の認知に応じた動きを制御するためのMNFPを学習できる。
 また、本第十一の発明の情報処理装置は、第一から第九いずれか1つの発明に対して、ニューラルネットワークが有する2以上のノードのうちの1以上の各ノードは、発火条件に対応付いており、かつ発火を伝播する他のノードを識別する1以上の接続ノード識別子に対応付いており、MNFP決定部は、入力受付部が受け付けた入力情報から1以上の特徴情報を取得し、1以上の特徴情報に合致する発火条件を決定し、発火条件に対応する1以上の発火ノード識別子を取得する初期決定手段と、初期決定手段が取得した1以上の各発火ノード識別子に対応する1以上の接続ノード識別子を取得し、次に、1以上の各接続ノード識別子に対応する1以上の接続ノード識別子を、順次、取得する伝播手段と、初期決定手段および伝播手段が取得した1以上の発火ノード識別子および1以上の接続ノード識別子のうちの1以上の発火ノード識別子を有する発火情報を時系列に取得し、時系列の発火情報に対応する1以上のMNFPを、MNFP格納部の1以上のMNFPから、順次、決定するMNFP決定手段とを具備する情報処理装置である。
 かかる構成により、人等の生物の認知に応じた動きをシミュレーションできる。
 また、本第十二の発明の情報処理装置は、第一から第十一いずれか1つの発明に対して、2以上のMNFPの中の少なくとも2つのMNFPの時点の数は異なる情報処理装置である。
 かかる構成により、人等の生物の認知に応じた動きを適切にシミュレーションできる。
 本発明による情報処理装置によれば、人等の生物の認知に応じた動きを適切にシミュレーションできる。
実施の形態1における動作システムAのブロック図 同情報処理装置1の動作例について説明するフローチャート 同初期決定処理の例について説明するフローチャート 同MNFP決定処理の例について説明するフローチャート 同動作処理の例について説明するフローチャート 同角度取得処理の例について説明するフローチャート 同発火伝搬処理の例について説明するフローチャート 同発火消去処理の例について説明するフローチャート 同動作システムAの具体的な動作例について説明する概要図 同NN管理表を示す図 同MNFP管理表を示す図 同筋肉管理表を示す図 同関節管理表を示す図 同発火情報の例を示す図 実施の形態2における動作システムBのブロック図 同情報処理装置3が行う動作処理の例について説明するフローチャート 実施の形態3における動作システムCのブロック図 同情報処理装置3が行う動作処理の例について説明するフローチャート 同学習処理の例について説明するフローチャート 同MNFP蓄積処理の例について説明するフローチャート 上記実施の形態におけるコンピュータシステムの概観図 同コンピュータシステムのブロック図
 以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 (実施の形態1)
 本実施の形態において、人等の生物の認知に応じた動きを適切にシミュレーションできる情報処理装置について説明する。具体的には、本実施の形態において、画像、または音声等の入力情報を受け付け、格納されている1または2以上のニューラルネットワークに対して、当該入力情報を適用し、ニューラルネットワークからの出力である1以上のノードの時系列の発火状態を特定する1以上のモーターニューロンファイアリングパターン(以下、適宜「MNFP」と言う。)を取得し、当該MNFPに対応する動作決定情報を取得し、当該1以上の動作決定情報に対応する動作を動作対象に対して行う情報処理装置について説明する。
 なお、本明細書において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
 図1は、本実施の形態における動作システムAのブロック図である。
 動作システムAは、情報処理装置1、および動作対象2を備える。なお、情報処理装置1は、動作対象2を備える構成でも良い。
 情報処理装置1は、入力情報を受け付け、当該入力情報に応じて、動作対象2を動作させる装置である。
 動作対象2は、動作を行う対象である。動作対象2は、例えば、アバター、ロボットであるが、その種類は問わない。
 情報処理装置1は、格納部11、受付部12、および処理部13を備える。格納部11は、NN格納部111、発火始点格納部112、MNFP格納部113、アバター格納部114、筋肉格納部115、関節格納部116、および発火情報格納部117を備える。受付部12は、入力受付部121を備える。処理部13は、MNFP決定部131、動作決定部132、動作部133、筋肉変更部134、および学習部135を備える。MNFP決定部131は、初期決定手段1311、伝播手段1312、およびMNFP決定手段1313を備える。動作決定部132は、筋肉決定手段1321、強度取得手段1322、および角度取得手段1323を備える。
 情報処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、後述するニューラルネットワーク(以下、適宜「NN」と言う)、後述する発火始点情報、後述するMNFP、後述するアバター情報、後述する筋肉情報、後述する関節情報、消去条件である。なお、動作対象2がアバター以外である場合、格納部11にはアバター情報が格納される必要はない。
 消去条件とは、発火ノードが非発火ノードとなるための条件である。消去条件は、通常、発火してからの経過時間に関する条件である。消去条件は、例えば、発火してからの経過時間が閾値以上または閾値より長い時間経過したことである。なお、発火ノードとは、発火しているノードである。非発火ノードとは、発火していないノードである。
 NN格納部111は、1または2以上のューラルネットワーク(以下、適宜「NN」と言う。)が格納される。NNは、ノード識別子により識別される2以上のノード情報を有する。ノード情報は、NNを構成するノードに関する情報である。ノード情報は、例えば、ノード識別子、発火条件を有する。ノード情報は、例えば、1以上の接続ノード識別子を有する。ノード情報は、例えば、1以上の各接続ノード識別子に対応付けられた伝播確率を有しても良い。また、ノード情報は、例えば、1以上の元識別子を有しても良い。
 ノード識別子とは、ノードを識別する情報である。ノード識別子は、例えば、ノードのID、ノードの名称である。
 発火条件とは、当該ノードが発火するための条件である。発火条件は、当該ノードが発火するための条件に関する情報であるとも言える。発火条件は、例えば、1以上の特徴情報に関する条件である。例えば、特徴情報は、情報を識別する情報識別子でも良いし、情報識別子と情報の大きさを示す情報量とを有する情報でも良いし、情報量のみでも良い。
 情報識別子は、例えば、画像の特徴量の種類を特定する情報であり、例えば、色を構成する赤「R」、色を構成する緑「G」、色を構成する青「B」である。また、情報識別子は、例えば、音の特徴量の種類を特定する情報であり、例えば、「周波数」、「振幅」等である。情報識別子は、例えば、文字列のクラスである。なお、クラスとは、文字列の分類結果である。クラスは、例えば、「ポジティブ」または「ネガティブ」である。クラスは、例えば、「喜」「怒」「哀」または「楽」である。なお、文字列をクラスに分類する技術は公知技術であるので、詳細な説明は省略する。
 情報量は、例えば、0より大きい数値である。
 発火条件は、例えば、「特徴情報>=0.5」「特徴情報>0.7」「情報量>=0.5」「情報量>0.7」「(情報識別子=A & 情報量>=0.5)&(情報識別子=B & 情報量>0.8)」等である。発火条件を構成する特徴情報は、例えば、特徴量であるが、入力情報そのものでも良い。特徴量は、例えば、画像解析した結果の画像の特徴量であり、例えば、「R」「G」「B」である。また、特徴量は、例えば、音声解析した結果の音声の特徴量であり、例えば、周波数または振幅である。発火条件は、発火確率に対応付いていることは好適である。発火確率とは、発火する確率に関する情報である。発火確率は、発火する確率そのものでも良いし、発火する確率を関数等で変換した値等でも良い。発火条件を満たした場合に、発火確率が参照され、当該発火確率が示す確率で、ノードが発火したり、発火しなかったりすることは好適である。
 なお、発火確率または伝搬確率等の確率に応じた処理は、例えば、確率に応じた重み付けの抽選と同様の処理で良い。また、ここでの確率は、尤度に代えても良い。
 接続ノード識別子とは、接続ノードの識別情報である。接続ノードは、着目するノードと接続されているノードであり、着目するノードが発火した後に、その発火が伝播される先のノードである。
 伝播確率とは、発火が伝播する確率である。
 元識別子とは、元ノードの識別情報である。元ノードとは、着目するノードと接続されているノードであり、元ノードが発火した後に、着目するノードに発火を伝播するノードである。
 発火始点格納部112には、1または2以上の発火始点情報が格納される。発火始点情報とは、入力情報が受け付けられた際に最初に発火するノードを特定するための情報である。
 発火始点情報は、例えば、1または2以上の発火ノード識別子を有する。また、発火始点情報は、例えば、発火条件と、1または2以上の発火ノード識別子とを有する。発火ノード識別子は、発火ノードを識別する情報である。
 ここでの発火条件は、入力情報に関する条件である。発火条件は、例えば、1以上の特徴情報に関する条件である。発火条件は、例えば、特徴情報を識別する情報識別子を有する。発火条件は、例えば、特定の特徴情報、特定情報の範囲を示す情報である。発火条件は、例えば、色を構成する赤「R」、色を構成する緑「G」、色を構成する青「B」、音の波数「30」、音の周波数「60」、音の周波数が「閾値Aと閾値Bとの間」、または文字列のクラスが特定のクラス(例えば、「ネガティブ」)であること等である。
 発火始点格納部112が存在せずに、NN格納部111のNNのノード情報を識別するノード識別子と対になる発火条件を用いて、入力情報が受け付けられた際に最初に発火するノードが特定されても良い。つまり、入力情報が受け付けられた際に最初に発火するノードを特定する処理の高速化のために、発火始点格納部112は有用である。
 MNFP格納部113には、1または2以上のモーターニューロンファイアリングパターン(以下、適宜「MNFP」と言う。)が格納される。ここでの1以上の各MNFPは、直接的または間接的に動作決定情報に対応付いている。
 MNFPとは、動作対象2の動作を制御するための情報である。MNFPは、2以上の各時点ごとの1以上の発火ノードを特定する情報である。MNFPは、時系列の発火ノードの集合を特定するための情報である。なお、発火ノードの集合とは、通常、2以上の発火ノードであるが、一つの発火ノードでも良い。
 MNFPは、例えば、時間軸とノード識別子との2軸のマトリクスの情報である。つまり、MNFPは、例えば、2以上の各時点に対応するベクトルの集合である。ここでのベクトルは、1以上の発火ノード識別子を特定する情報である。ベクトルは、例えば、「(n1,n2,・・・,nn)=(1,0,・・・,1)」である。なお、「n1」「n2」・・・「nn」はノード識別子である。値「1」は、対応するノード識別子で識別されるノードが発火ノードであることを示す。値「0」は、対応するノード識別子で識別されるノードが非発火ノードであることを示す。
 MNFPは、例えば、2以上の各時点を識別する時識別子と1以上の発火ノード識別子とを有する2以上のベクトルの集合である。ここでの、2以上の時点は、通常、連続する時点である。MNFPは、例えば、『「<時識別子>t1 <ベクトル>(1,0,・・・,1)」「<時識別子>t2 <ベクトル>(1,1,・・・,1)」・・・「<時識別子>tn <ベクトル>(0,1,・・・,0)」』である。
 なお、MNFPのデータ構造は問わない。また、MNFP格納部113の2以上のMNFPの中の少なくとも2つのMNFPの時点の数は異なることは好適である。時点の数が異なることは、時系列の長さが異なることである。MNFPが行列の場合、時点の数が異なることは、少なくとも2つのMNFPの行または列の数が異なることである。
 動作決定情報とは、動作対象2の動作を決定するための情報である。動作決定情報は、例えば、例えば、1以上の動作筋肉情報、1以上の各関節の角度、または1以上の動作識別子である。
 動作筋肉情報とは、動作させる筋肉を特定する情報である。動作筋肉情報は、筋肉識別子と強度との組である。筋肉識別子とは、筋肉を識別する情報である。筋肉識別子は、例えば、筋肉のID、筋肉の名称である。強度とは、筋肉を伸縮させる際の強さを示す情報である。強度は、筋肉を縮める際の強さでも良いし、筋肉を伸ばす際の強さでも良い。
 関節の角度は、動作させる関節の角度を特定する情報である。関節の角度は、通常、関節識別子に対応付いている。関節識別子とは、関節を識別する情報である。関節識別子は、例えば、関節のID、関節名である。
 動作識別子とは、動作を識別する情報である。動作識別子が、例えば、動作対象2を動作させるモジュール名、動作対象2を動作させるモジュールのIDである。モジュールとは、実行モジュールだけではなく、関数、メソッド等を含むと考えても良い。
 アバター格納部114には、アバター情報が格納される。アバター情報とは、アバターを出力するための情報である。なお、アバター情報のデータ構造は問わない。ただし、アバター情報は、通常、モデル情報を有する。モデル情報は、アバターの表示を構成するための情報である。モデル情報は、例えば、メッシュ情報、ボーン情報、マテリアル情報を有する。モデル情報は、例えば、glTF ?(GL Transmission Format)?のデータ構造を有する。ただし、モデル情報のデータ構造は、VRM、OBJ、FBX、STL、GLB、COLLADA、等でも良く、種類を問わない。
 なお、情報処理装置1がアバター格納部114を有する場合、動作対象2はアバターである。また、かかる場合、アバター格納部114に動作対象2が格納されている、と考えても良い。
 筋肉格納部115には、2以上の筋肉情報が格納される。筋肉情報とは、1以上のノードが発火した場合に動く筋肉に関する情報である。筋肉情報は、1以上の発火ノード識別子に対応付けられた情報であり、筋肉識別子と最大パワーとを有する情報である。筋肉が動くことは、筋肉が縮むこと、または筋肉が伸びることである。
 最大パワーとは、筋肉の最大のパワーを特定する情報である。最大パワーは、例えば、数値である。最大パワーが採り得る範囲は決まっていても良いし、決まっていなくても良い。
 関節格納部116には、1または2以上の関節情報が格納される。関節情報とは、関節に関する情報である。関節情報は、通常、関節識別子を有する。関節識別子とは、関節を識別する情報である。関節識別子は、例えば、関節のID、関節名である。関節情報は、関節に繋がる2以上の各筋肉の筋肉識別子に対応付けられている。関節情報に対応する筋肉識別子で識別される筋肉は、関節情報で特定される関節を動かすための筋肉である。関節情報は、例えば、関節位置を有する、関節位置とは、当該関節の位置を特定する情報である。関節位置は、通常、アバター内での相対的な関節の位置である。関節位置は、例えば、関節の重心地点の座標値(x,y)である。ただし、関節位置のデータ構造は問わない。
 なお、動作対象2がアバターである場合、関節情報は、アバター情報に含まれても良い。
 発火情報格納部117には、2以上の発火情報が格納される。発火情報格納部117には、時系列の発火情報が格納される。時系列の発火情報とは、2以上の各時点での発火情報の集合である。
 ここでの発火情報とは、現在、発火しているノ-ドを特定する情報である。発火情報は、発火した結果に関する情報である。発火情報は、1以上の各時点ごとに発火したノードを特定する情報である。時系列の発火情報は、例えば、MNFPと同じ構造を有する。つまり、発火情報は、例えば、2以上の各時点ごとの1以上の発火ノードを特定する情報である。
 受付部12は、各種の情報や指示を受け付ける。各種の情報や指示は、例えば、後述する入力情報である。各種の情報や指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
 入力受付部121は、入力情報を受け付ける。入力情報は、例えば、画像、または音声である。ただし、入力情報は、文等の文字列でも良い。
 ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
 処理部13は、各種の処理を行う。各種の処理とは、例えば、MNFP決定部131、動作決定部132、動作部133、筋肉変更部134、学習部135が行う処理である。処理部13は、例えば、後述する発火消去処理を行う。発火消去処理は、図示しない発火消去部が行っても良い。
 MNFP決定部131は、NN格納部111に格納されているNNに、入力受付部121が受け付けた入力情報を適用し、NNが有する2以上のノードのうちの1以上の発火ノード識別子を時系列で取得し、時系列の1以上の発火ノード識別子に対応する1以上のMNFPを、MNFP格納部113の1以上のMNFPから、順次、決定する。
 NNに入力情報を適用する適用処理は、例えば、以下のような処理である。つまり、MNFP決定部131は、入力情報から1以上の特徴情報を取得する。次に、MNFP決定部131は、NNを参照し、当該1以上の特徴情報が満たす発火情報に対応する1以上の発火ノード識別子を取得する。次に、MNFP決定部131は、後述する伝播手段1312が行う伝搬処理により、次々に、1以上の発火ノード識別子を取得していく。つまり、MNFP決定部131は、1以上の発火ノード識別子を時系列で取得していく。かかる処理は、NNに入力情報を適用することにより実現される。
 なお、時系列の1以上の発火ノード識別子に対応する1以上のMNFPは、対応条件を満たすMNFPである。
 対応条件を満たすMNFPは、例えば、時系列の1以上の発火ノード識別子と一致するMNFPである。ただし、対応条件を満たすMNFPは、時系列の1以上の発火ノード識別子と類似度が閾値以上または類似度が閾値より大きいMNFPを含んでも良い。なお、時系列の1以上の発火ノード識別子である行列と、行列であるMNFPとの類似度は、例えば、2つの行列の要素の中で一致する要素の割合を用いて取得される。また、時系列の1以上の発火ノード識別子である行列と、行列であるMNFPとの類似度は、例えば、行列の行ごとのベクトルの類似度を算出し、当該2以上の類似度の代表値(例えば、平均値、中央値)を2つの行列の類似度である、とする。なお、2つの行列の類似度の算出方法は問わない。
 MNFPが時間軸とノード識別子との2軸のマトリクスである場合、MNFP決定部131は、例えば、2以上の各時点を行または列とするマトリクスであり、1以上の発火ノード識別子に対応する値を「1」とし、非発火ノード識別子に対応する値を「0」とする列または行を有するマトリクスを構成する。次に、MNFP決定部131は、当該マトリクスに対応するMNFPを、MNFP格納部113の1以上のMNFPから、順次、決定する。
 初期決定手段1311は、入力受付部121が受け付けた入力情報から1または2以上の特徴情報を取得する。次に、初期決定手段1311は、当該1以上の特徴情報に合致する1以上の発火条件を決定し、当該1以上の各発火条件に対応する1以上の発火ノード識別子を取得する。
 なお、入力情報が画像である場合、取得される特徴情報は、例えば、色を構成する赤「R」、色を構成する緑「G」、色を構成する青「B」、画素値、画像に対してオブジェクト認識した結果であるオブジェクト識別子である。入力情報が音である場合、取得される特徴情報は、例えば、周波数、振幅である。入力情報が文字列である場合、取得される特徴情報は、例えば、当該文字列のクラスである。
 初期決定手段1311は、例えば、入力受付部121が受け付けた入力情報から1以上の特徴情報を取得する。次に、初期決定手段1311は、発火始点格納部112を参照し、取得した1以上の特徴情報が発火条件を満たす1以上の発火ノード識別子を発火始点格納部112から取得する。
 なお、発火条件が発火確率に対応付いている場合、初期決定手段1311は、例えば、入力受付部121が受け付けた入力情報から1以上の特徴情報を取得し、当該1以上の特徴情報に合致する発火条件に対応するノード識別子で識別されるノードの中から、発火確率が示す確率に従って、発火するか否かを判断し、発火すると判断した場合のみ、当該ノードを識別する発火ノード識別子を取得する。
 伝播手段1312は、初期決定手段1311が取得した1以上の各発火ノード識別子に対応する1以上の接続ノード識別子を取得する。次に、伝播手段1312は、当該1以上の各接続ノード識別子に対応する1以上の接続ノード識別子を取得する。次に、伝播手段1312は、当該1以上の各接続ノード識別子に接続する1以上の接続ノード識別子を取得する、といった具合に、発火を伝播して行く。
 発火確率を用いる場合、伝播手段1312は、初期決定手段1311が取得した1以上の各発火ノード識別子に対応する1以上の接続ノード識別子を取得する。また、伝播手段1312は、初期決定手段1311が取得した1以上の各発火ノード識別子に対応する1以上の各特徴情報が有する情報識別子を取得する。なお、伝播手段1312は、各情報識別子に対応する情報量を取得しても良い。なお、伝播手段1312は、初期決定手段1311が取得した発火ノード識別子に対応する特徴情報が有する情報量を、予め決められた演算式を用いて減じて(例えば、「×0.9」)、当該減じた情報量を取得することは好適である。次に、伝播手段1312は、1以上の各接続ノード識別子と対になる発火条件に、取得した情報識別子、または取得した情報量、または取得した情報識別子と情報量が合致するか否かを判断する。そして、伝播手段1312は、合致すると判断した発火条件と対になる接続ノード識別子のみを発火ノード識別子として取得する。
 なお、NNにおいて、1以上の各ノード識別子に対応付けられた伝播確率を有する場合、伝播手段1312は、伝播確率が示す確率に従って、初期決定手段1311が取得した1以上の各発火ノード識別子に対応する接続ノード識別子を取得する。また、NNにおいて、1以上の各ノード識別子に対応付けられた伝播確率を有する場合、伝播手段1312は、伝播確率が示す確率に従って、取得した1以上の各接続ノード識別子に対応する接続ノード識別子を取得する。
 また、NNにおいて、1以上の各ノード識別子に対応付けられた伝播確率を有する場合、伝播手段1312は、合致すると判断した発火条件と対になる接続ノード識別子を、伝播確率が示す確率に従って、発火ノード識別子として取得したり、取得しなかったりすることは好適である。
 MNFP決定手段1313は、初期決定手段1311および伝播手段1312が取得した1以上の発火ノード識別子および1以上の接続ノード識別子のうちの1以上の発火ノード識別子を有する発火情報を時系列に取得する。時系列に取得することは、2以上の各時点において取得することである。次に、MNFP決定手段1313は、当該時系列の発火情報に対応する1以上のMNFPを、MNFP格納部113の1以上のMNFPから、順次、決定する。なお、時系列の発火情報に対応するMNFPは、対応条件を満たすMNFPである。
 動作決定部132は、MNFP決定部131が決定した1以上の各MNFPに対応する動作決定情報を、順次、MNFP格納部113から取得する。つまり、動作決定部132は、2以上の各時点ごとに、MNFP決定部131が決定した1以上の各MNFPに対応する動作決定情報を、取得していく。
 筋肉決定手段1321は、筋肉格納部115を参照し、MNFP決定部131が決定した1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する。つまり、筋肉決定手段1321は、2以上の各時点ごとに、MNFP決定部131が決定した1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を決定する。なお、MNFPが特定する1以上の発火ノード識別子とは、通常、MNFPが有する最新の時点における1以上の発火ノード識別子であることは好適である。ただし、MNFPが特定する1以上の発火ノード識別子とは、MNFPが有する2以上の時点におけるすべての発火ノード識別子でも良い。
 強度取得手段1322は、筋肉決定手段1321が決定した1以上の各筋肉情報ごとの強度を取得する。
 強度取得手段1322は、例えば、筋肉決定手段1321が決定した1以上の各筋肉情報ごとに、筋肉情報に対応付く発火ノード識別子の数である発火数を取得する。次に、強度取得手段1322は、例えば、筋肉決定手段1321が決定した1以上の各筋肉情報ごとに、各筋肉情報が有する最大パワーを筋肉格納部115から取得する。次に、強度取得手段1322は、例えば、当該発火数と当該最大パワーとを用いて、強度を、順次、取得する。なお、強度取得手段1322は、通常、発火数が多いほど、大きな強度を取得する。また、強度取得手段1322は、通常、最大パワーが大きいほど、大きな強度を取得する。強度取得手段1322は、例えば、発火数と最大パワーとをパラメータとする増加関数により、強度を取得する。なお、かかる増加関数を示す演算式は、格納部11に格納されている。強度取得手段1322は、例えば、発火数と最大パワーとに対応する強度を対応表から取得する。なお、対応表とは、発火数と最大パワーと強度とを有する2以上の対応情報を有する表である。強度取得手段1322は、例えば、発火数と最大パワーとに最も近似する発火数と最大パワーと対になる強度を対応表から取得する。
 強度取得手段1322は、例えば、筋肉決定手段1321が決定した1以上の各筋肉情報ごとに、各筋肉情報が有する最大パワーを筋肉格納部115から取得する。次に、強度取得手段1322は、例えば、当該最大パワーを用いて、強度を、順次、取得する。強度取得手段1322は、通常、最大パワーが大きいほど、大きな強度を取得する。強度取得手段1322は、例えば、発火数に基づいて、筋肉が使う力の割合(%)を取得し、当該割合と最大パワーとを乗算し、強度を算出する。また、強度取得手段1322は、例えば、時間の経過に基づく強度の変化を特定する減衰率を、例えば、hill type modelを用いて計算し、当該減衰率を用いて、最大パワーに近づくように、時系列の強度を取得したり、最大パワーから0になるように、時系列の強度を取得したりすることは好適である。
 強度取得手段1322は、例えば、筋肉決定手段1321が1以上の筋肉情報を決定するごとに、当該1以上の各筋肉情報に対応する強度を取得する。その結果、強度取得手段1322は、1以上の各筋肉情報に対応する強度を、次々と取得することとなる。
 以上の処理により、強度取得手段1322は、順次、1または2以上の動作筋肉情報を取得することとなる。なお、動作筋肉情報は、筋肉識別子と強度との組である。
 角度取得手段1323は、関節格納部116を参照し、強度取得手段1322が取得した1以上の動作筋肉情報を用いて、順次、筋肉決定手段1321が決定した1以上の筋肉情報が有する筋肉識別子に対応付いている1以上の各関節識別子で識別される関節の角度を取得する。
 角度取得手段1323は、1以上の各関節ごとに、当該関節の関節識別子と対になる1以上の筋肉識別子に対応する強度を用いて、関節の角度を算出する。角度取得手段1323は、例えば、トルクを算出する物理演算を使用して、関節の曲がる方向と角度とを決定する。
 角度取得手段1323は、例えば、関節識別子と角度との組の集合である関節角度集合を、順次、取得する。なお、関節角度集合は、角度と関節位置との組の集合でも良い。
 動作部133は、動作決定部132が取得した1以上の動作決定情報を、順次、用いて、動作対象2を動作させる。
 動作部133は、例えば、筋肉決定手段1321が決定した1以上の各筋肉情報が有する筋肉識別子と強度取得手段1322が取得した強度との組である1以上の動作筋肉情報に基づいて、順次、動作対象2を動作させる。
 動作部133は、例えば、角度取得手段1323が決定した1以上の各関節ごとの角度を、動作対象2に対して出力し、動作対象2を動作させる。つまり、動作部133は、例えば、角度取得手段1323が取得した関節角度集合を、順次、用いて、動作対象2を動作させる。
 動作対象2がアバターである場合、動作部133は、例えば、1以上の各関節の関節位置が特定する関節を、角度取得手段1323が決定した角度に従って曲げたアバターを、アバター情報を用いて構成し、アバターを出力する。
 動作対象2がロボットである場合、動作部133は、例えば、1以上の各関節の関節位置が特定する関節を、角度取得手段1323が決定した角度に従って、ロボットに、関節を曲げる指示を送付し、当該ロボットを動作させる。
 筋肉変更部134は、筋肉決定手段1321が決定した筋肉識別子が予め決められた増加条件を満たした場合に、筋肉識別子と対になる最大パワーを増加させる変更処理を行う。
 増加条件は、例えば、筋肉決定手段1321が筋肉識別子を決定したこと、筋肉決定手段1321が筋肉識別子を決定する回数が閾値以上または閾値より多くなったこと、筋肉決定手段1321が筋肉識別子を決定する単位時間における回数が閾値以上または閾値より多くなったことである。最大パワーを増加させる変更処理において、最大パワーを増加させる程度は問わない。筋肉変更部134は、例えば、増加条件を満たした場合に、当該筋肉識別子と対になる最大パワーを閾値の数(例えば、「1」)だけ増加させる。筋肉変更部134は、例えば、増加条件を満たした場合に、当該筋肉識別子と対になる最大パワーを閾値の割合(例えば、「10%」)だけ増加させる。
 筋肉変更部134は、筋肉決定手段1321が決定しない筋肉識別子が予め決められた減少条件を満たした場合に、筋肉識別子と対になる最大パワーを減少させる変更処理を行う。
 減少条件は、例えば、閾値時間以上または閾値時間より多く、筋肉決定手段1321が決定しなかった筋肉識別子であることである。最大パワーを減少させる変更処理において、最大パワーを減少させる程度は問わない。筋肉変更部134は、例えば、減少条件を満たした場合に、当該筋肉識別子と対になる最大パワーを閾値の数(例えば、「1」)だけ減少させる。筋肉変更部134は、例えば、減少条件を満たした場合に、当該筋肉識別子と対になる最大パワーを閾値の割合(例えば、「15%」)だけ減少させる。
 学習部135は、入力受付部121が入力情報を受け付けた場合のMNFPを取得する。また、学習部135は、動作決定情報を受け付ける。また、学習部135は、当該MNFPを、受け付けた動作決定情報に対応付けて、MNFP格納部113に蓄積する。なお、かかる処理を学習処理と言う。
 格納部11、NN格納部111、発火始点格納部112、MNFP格納部113、アバター格納部114、筋肉格納部115、および関節格納部116は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
 受付部12、および入力受付部121は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。ただし、受付部12等は、無線または有線の通信手段で実現されても良い。
 処理部13、MNFP決定部131、動作決定部132、動作部133、筋肉変更部134、学習部135、初期決定手段1311、伝播手段1312、MNFP決定手段1313、筋肉決定手段1321、強度取得手段1322、および角度取得手段1323は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
 次に、情報処理装置1の動作例について、図2のフローチャートを用いて説明する。
 (ステップS201)入力受付部121は、入力情報を受け付けたか否かを判断する。入力情報を受け付けた場合はステップS202に行き、入力情報を受け付けなかった場合はステップS201に戻る。
 (ステップS202)初期決定手段1311は、ステップS201で受け付けられた入力情報から1以上の特徴情報を取得する。なお、画像、音、または文字列等の入力情報から1以上の特徴情報を取得する技術は公知技術である。
 (ステップS203)初期決定手段1311は、初期決定処理を行う。初期決定処理の例について、図3のフローチャートを用いて説明する。なお、初期決定処理は、ステップS202で取得した1以上の特徴情報を用いて、最初に発火するノードを決定する処理である。
 (ステップS204)MNFP決定手段1313は、MNFP決定処理を行う。MNFP決定処理の例について、図4のフローチャートを用いて説明する。なお、MNFP決定処理とは、時系列の1以上の発火ノード識別子に対応するMNFPを決定する処理である。
 (ステップS205)動作決定部132は、ステップS204で1以上のMNFPが決定されたか否かを判断する。MNFPが決定された場合はステップS206に行き、MNFPが決定されなかった場合はステップS207に行く。
 (ステップS206)動作決定部132等は、決定されたMNFPに応じた動作を行う。かかる動作処理の例について。図5のフローチャートを用いて説明する。
 (ステップS207)伝播手段1312は、発火の伝搬が終了しているか否かを判断する。発火の伝搬が終了している場合はステップS201に戻り、発火の伝搬が終了していない場合はステップS208に行く。
 なお、伝播手段1312は、例えば、直前の時点で発火した1以上のノードのうちのすべてのノードに対する接続ノードが存在しないと判断した場合に、発火の伝搬が終了していると判断する。また、伝播手段1312は、例えば、入力情報が受け付けられた後、予め決められた時間が経過した場合に、発火の伝搬が終了していると判断する。
 (ステップS208)伝播手段1312は、発火伝搬処理を行う。ステップS204に戻る。発火伝搬処理の例について、図7のフローチャートを用いて説明する。なお、発火伝搬処理とは、次の時点で発火するノードを決定する処理である。
 (ステップS209)処理部13は、発火消去処理を行う。発火消去処理の例について、図8のフローチャートを用いて説明する。なお、発火消去処理とは、発火状態のノードを非発火状態とする処理である。
 なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、ステップS203の初期決定処理の例について、図3のフローチャートを用いて説明する。
 (ステップS301)初期決定手段1311は、カウンタiに1を代入する。
 (ステップS302)初期決定手段1311は、初期の時点に発火する候補のノードのうちのi番目のノードが存在するか否かを判断する。i番目のノードが存在する場合はステップS303に行き、存在しない場合は上位処理にリターンする。
 なお、初期決定手段1311は、例えば、発火始点格納部112に格納されている1以上の発火始点情報が有するノード識別子の中で、i番目のノード識別子が存在するか否かを判断する。また、初期決定手段1311は、例えば、NN格納部111のNNの中に、i番目のノード識別子が存在するか否かを判断する。また、初期決定手段1311は、例えば、NN格納部111のNNの中のノード識別子であり、特徴情報を用いた発火情報と対になるi番目のノード識別子が存在するか否かを判断する。
 (ステップS303)初期決定手段1311は、i番目のノードのノード識別子と対になる発火条件を発火始点格納部112またはNN格納部111から取得する。
 (ステップS304)初期決定手段1311は、取得されている1以上の特徴情報が、ステップS303で取得した発火条件を満たすか否かを判断する。発火条件を満たす場合はステップS305に行き、発火条件を満たさない場合はステップS306に行く。
 (ステップS305)初期決定手段1311は、現時点に対応付けて、i番目のノードを発火ノードとする処理を行う。なお、i番目のノードを発火ノードとする処理は、例えば、現時点に対応付するベクトルの要素であり、i番目のノードのノード識別子に対応する要素に「1」を書き込む処理である。なお、ベクトルは、例えば、発火情報格納部117に格納されている。
 (ステップS306)初期決定手段1311は、現時点に対応付けて、i番目のノードを発火ノードとない処理を行う。なお、i番目のノードを発火ノードとしない処理は、例えば、現時点に対応付するベクトルの要素であり、i番目のノードのノード識別子に対応する要素に「0」を書き込む処理である。なお、ベクトルは、例えば、発火情報格納部117に格納されている。
 (ステップS307)初期決定手段1311は、カウンタiを1、インクリメントする。ステップS302に戻る。
 なお、図3のフローチャートにおける処理により、例えば、初期の時点での発火ノードを特定するベクトルが取得できる。
 次に、ステップS204におけるMNFP決定処理の例について、図4のフローチャートを用いて説明する。
 (ステップS401)MNFP決定手段1313は、カウンタiに1を代入する。
 (ステップS402)MNFP決定手段1313は、MNFP格納部113に、i番目のMNFPが存在するか否かを判断する。i番目のMNFPが存在する場合はステップS403に行き、存在しない場合は上位処理にリターンする。
 (ステップS403)MNFP決定手段1313は、MNFP格納部113から、i番目のMNFPを取得する。
 (ステップS404)MNFP決定手段1313は、ステップS403で取得したi番目のMNFPの時点数を取得する。時点数は、例えば、i番目のMNFPのマトリクスを構成する行数または列数である、
 (ステップS405)MNFP決定手段1313は、最新の時点から過去に遡って、ステップS404で取得した時点数の分の発火ベクトルを有するマトリクスを取得する。かかるマトリクスは、MNFPと比較する対象であるため、対象マトリクスと言う。対象マトリクスは、入力情報に基づいて発火した発火ノードを特定する情報であり、時系列の情報である。MNFP決定手段1313は、例えば、発火情報格納部117から対象マトリクスを取得する。
 (ステップS406)MNFP決定手段1313は、ステップS405で、時点数の分の発火ベクトルを有する対象マトリクスを取得できたか否かを判断する。対象マトリクスを取得できた場合はステップS407に行き、取得できなかった場合はステップS409に行く。
 (ステップS407)MNFP決定手段1313は、対象マトリクスとi番目のMNFPとが対応条件を満たすか否かを判断する。対応条件を満たす場合はステップS408に行き、対応条件を満たさない場合はステップS409に行く。なお、対応条件は、例えば、対象マトリクスとi番目のMNFPとが一致すること、または対象マトリクスとi番目のMNFPとの類似度が閾値以上または閾値より大きいことである。
 (ステップS408)MNFP決定手段1313は、i番目のMNFPを識別するMNFP識別子を図示しないバッファに一時蓄積する。
 (ステップS409)MNFP決定手段1313は、カウンタiを1、インクリメントする。ステップS402に戻る。
 次に、ステップS206の動作処理の例について。図5のフローチャートを用いて説明する。
 (ステップS501)動作決定部132は、カウンタiに1を代入する。
 (ステップS502)動作決定部132は、ステップS408でバッファに蓄積されたi番目のMNFP識別子が存在するか否かを判断する。i番目のMNFP識別子が存在する場合はステップS503に行き、存在しない場合はステップS511に行く。
 (ステップS503)動作決定部132は、カウンタjに1を代入する。
 (ステップS504)動作決定部132は、i番目のMNFP識別子で識別されるMNFPが有するj番目の発火ノード識別子が存在するか否かを判断する。j番目の発火ノード識別子が存在する場合はステップS505に行き、存在しない場合はステップS510に行く。なお、ここでのj番目の発火ノード識別子は、当該MNFPが有する発火ノード識別子の中で、最新の時点(現在の時点)における発火ノード識別子であることは好適である。
 (ステップS505)動作決定部132は、カウンタkに1を代入する。
 (ステップS506)動作決定部132は、j番目の発火ノード識別子に対応する筋肉識別子の中で、k番目の筋肉識別子が存在するか否かを判断する。k番目の筋肉識別子が存在する場合はステップS507に行き、存在しない場合はステップS509に行く。
 (ステップS507)動作決定部132は、k番目の筋肉識別子に対応する発火ノードの数である発火数(k番目の筋肉の発火数)を増加させる。なお、増加させる量は、例えば、1であるが、問わない。
 (ステップS508)動作決定部132は、カウンタkを1、インクリメントする。ステップS506に戻る。
 (ステップS509)動作決定部132は、カウンタjを1、インクリメントする。ステップS504に戻る。
 (ステップS510)動作決定部132は、カウンタiを1、インクリメントする。ステップS502に戻る。
 (ステップS511)動作決定部132は、カウンタlに1を代入する。
 (ステップS512)動作決定部132は、l番目の関節が存在するか否かを判断する。l番目の関節が存在する場合はステップS513に行き、存在しない場合はステップS515に行く。
 (ステップS513)角度取得手段1323は、l番目の関節の角度取得処理を行う。角度取得処理の例について、図6のフローチャートを用いて説明する。
 (ステップS514)動作決定部132は、カウンタlを1、インクリメントする。ステップS512に戻る。
 (ステップS515)動作部133は、ステップS513で決定された関節の角度を用いて、関節角度集合を構成する。
 (ステップS516)動作部133は、ステップS515で取得された関節角度集合を用いて、動作対象2を動作させる。上位処理にリターンする。
 動作部133は、例えば、アバター格納部114のアバター情報を用いて、関節角度集合が示す各関節の角度になるように、アバターを構成し、当該アバターを出力する。動作部133は、例えば、関節角度集合が示す各関節の角度になるように、ロボットを動作させる。
 次に、ステップS513の角度取得処理の例について、図6のフローチャートを用いて説明する。
 (ステップS601)動作決定部1322は、カウンタiに1を代入する。
 (ステップS602)筋肉決定手段1321は、関節格納部116を参照し、ステップS512におけるl番目の関節の関節識別子と対になるi番目の筋肉識別子が存在するか否かを判断する。i番目の筋肉識別子が存在する場合はステップS603に行き、存在しない場合はステップS607に行く。
 (ステップS603)強度取得手段1322は、i番目の筋肉識別子と対になる発火数を取得する。
 (ステップS604)強度取得手段1322は、ステップS603で取得した発火数が1以上であるか否かを判断する。発火数が1以上であればステップS605に行き、発火数が0または発火数が取得できなければステップS607に行く。
 (ステップS605)強度取得手段1322は、i番目の筋肉識別子と対になる最大パワーを筋肉格納部115から取得する。
 (ステップS606)強度取得手段1322は、ステップS603で取得した発火数とステップS605で取得した最大パワーとを用いて、i番目の筋肉識別子で識別される筋肉の強度を取得する。
 (ステップS607)動作決定部132は、カウンタiを1、インクリメントする。ステップS602に戻る。
 (ステップS608)角度取得手段1323は、ステップS606で取得された1または2以上の各筋肉の強度を用いて、ステップS512におけるl番目の関節の角度が取得できるか否かを判断する。角度が取得できる場合はステップS609に行き、角度が取得できない場合は上位処理にリターンする。
 なお、角度が取得できない場合は、ステップS606で強度を取得できなかった場合である。
 (ステップS609)角度取得手段1323は、ステップS512におけるl番目の関節の角度を取得する。上位処理にリターンする。
 なお、図6のフローチャートにおいて、角度取得手段1323は、通常、関節識別子と角度とを対応付けて、図示しないバッファに蓄積する。
 次に、ステップS208の発火伝搬処理の例について、図7のフローチャートを用いて説明する。
 (ステップS701)伝播手段1312は、カウンタiに1を代入する。
 (ステップS702)伝播手段1312は、直前の時点において発火したi番目の発火ノードが存在するか否かを判断する。i番目の発火ノードが存在する場合はステップS703に行き、存在しない場合は上位処理にリターンする。
 (ステップS703)伝播手段1312は、カウンタjに1を代入する。
 (ステップS704)伝播手段1312は、i番目の発火ノードに対応するj番目の接続ノードが存在するか否かを判断する。j番目の接続ノードが存在する場合はステップS705に行き、存在しない場合はステップS712に行く。
 なお、伝播手段1312は、通常、NN格納部111を参照し、i番目の発火ノードを識別するノード識別子と対になるj番目の接続ノード識別子が存在するか否かを判断する。j番目の接続ノード識別子が存在する場合はステップS705に行き、存在しない場合はステップS712に行く。
 (ステップS705)伝播手段1312は、j番目の接続ノード識別子と対になる発火条件をNN格納部111から取得する。
 (ステップS706)伝播手段1312は、i番目の発火ノードに対応する特徴情報を取得する。なお、伝播手段1312は、i番目の発火ノードに対応する特徴情報が有する情報量を減じた情報量を含む特徴情報を取得しても良い。次に、伝播手段1312は、取得した特徴情報が、j番目の接続ノード識別子と対になる発火条件を満たすか否かを判断する。発火条件を満たす場合はステップS707に行き、発火条件を満たさない場合はステップS710に行く。なお、取得した特徴情報は、例えば、情報量、情報識別子、または情報量と情報識別子である。
 (ステップS707)伝播手段1312は、j番目の接続ノード識別子と対になる伝搬確率がNN格納部111に存在するか否かを判断する。伝搬確率が存在する場合はステップS708に行き、存在しない場合はステップS709に行く。
 (ステップS708)伝播手段1312は、j番目の接続ノード識別子で識別されるノードが、伝搬確率に従って発火するか否かを判断する。発火する場合はステップS709に行き、発火しない場合はステップS710に行く。
 (ステップS709)伝播手段1312は、j番目の接続ノード識別子で識別されるノードを発火ノードとする。
 (ステップS710)伝播手段1312は、j番目の接続ノード識別子で識別されるノードを発火ノードとしない。
 (ステップS711)伝播手段1312は、カウンタjを1、インクリメントする。ステップS704に戻る。
 (ステップS712)伝播手段1312は、カウンタiを1、インクリメントする。ステップS702に戻る。
 なお、図7のステップS706において、伝播手段1312は、取得した特徴情報が発火条件を満たすか否かを判断した。しかし、ステップS706において、伝播手段1312は、発火条件を満たした場合に、発火確率に基づいて、ステップS707に行くか、ステップS710に行くかを決定しても良い。
 次に、ステップS209の発火消去処理の例について、図8のフローチャートを用いて説明する
 (ステップS801)処理部13は、カウンタiに1を代入する。
 (ステップS802)処理部13は、発火情報格納部117に格納されている発火情報であり、少なくとも1以上の発火ノード識別子に対応する発火情報であり、i番目の時点の発火情報が存在するか否かを判断する。i番目の時点の発火情報が存在する場合はステップS803に行き、存在しない場合は上位処理にリターンする。
 (ステップS803)処理部13は、カウンタjに1を代入する。
 (ステップS804)処理部13は、i番目の時点の発火情報が特定する発火ノードの中のj番目の発火ノードが存在するか否かを判断する。j番目の発火ノードが存在する場合はステップS805に行き、存在しない場合はステップS808に行く。
 (ステップS805)処理部13は、i番目の時点のj番目の発火ノードが消去条件を満たすか否かを判断する。j番目の発火ノードが消去条件を満たす場合はステップS806に行き、満たさない場合はステップS807に行く。
 (ステップS806)処理部13は、i番目の時点の番目の発火ノードを非発火ノードとする。
 (ステップS807)処理部13は、カウンタjを1、インクリメントする。ステップS804に戻る。
 (ステップS808)処理部13は、カウンタiを1、インクリメントする。ステップS802に戻る。
 以下、本実施の形態における動作システムAの具体的な動作例について、図9の動作システムAの概要図を用いて説明する。+
 情報処理装置1の入力受付部121は、入力情報901を受け付ける。入力情報901は、例えば、音声、画像である。
 また、情報処理装置1の初期決定手段1311は、例えば、入力情報901をセンシングし、1以上の特徴情報(902)を取得する。そして、MNFP決定部131は、1以上の特徴情報に対してNN格納部111のNN(903)を適用し、1以上の発火ノードの集合を、順次、決定していく。そして、MNFP決定部131は、時系列の発火情報を構成する。次に、MNFP決定部131は、時系列の発火情報を用いて、順次、MNFP格納部113の1以上のMNFPを決定する。そして、動作部133は、順次決定された1以上の各MNFPに対応する動作決定情報を、順次、取得する。次に、動作部133は、順次、取得した1以上の動作決定情報を、順次、用いて、動作対象2を動作させる。なお、図9において、6つのNN(903)が結合されている。
 さらに具体的には、例えば、情報処理装置1の格納部11には、以下のような情報が格納されている。
 NN格納部111には、図10に示すNN管理表が格納されている。NN管理表は、NNを管理する表である。NN管理表は、NNを構成する1以上のノード情報を管理する表である。ノード情報は、ここでは「ノード識別子」「発火条件」「接続ノード識別子」「伝搬確率」「消去条件」を有する。「消去条件」が「-」である場合、対応するノードの消去条件として、デフォルトの消去条件が採用される。デフォルトの消去条件は、例えば、発火してから3秒以上経過したことである、とする。
 発火始点格納部112には、発火始点情報の集合「N001,N002,N003,N004,N005,・・・」が格納されている。とする。
 MNFP格納部113には、図11に示すMNFP管理表が格納されている。MNFP管理表は、MNFP識別子とMNFPとを有する2以上のレコードを管理する。MNFPは、ここでは、ノード識別子と時点との2軸のマトリクスである。時点「t1」「t2」「t3」「t4」「t5」において、数字が小さい方が早い時点(古い時点)を示す。また、図11のMNFP識別子「M01」のMNFPにおいて、時点「t1」において、「N001」と「N002」で識別される2つのノードが発火ノードであり、「N015」と「N389」で識別されるノードは非発火ノードであることを示す。
 アバター格納部114には、動作対象2のアバターを構成するアバター情報が格納されている、とする。
 筋肉格納部115には、図12に示す筋肉管理表が格納されている。筋肉管理表は、1以上の筋肉情報を管理する。筋肉情報は、ここでは、「筋肉識別子」「最大パワー」「発火ノード識別子」を有する。つまり、筋肉情報は、ノードが発火した場合に動作する筋肉の情報である。筋肉識別子「MU001」で識別される筋肉は、ノード識別子「N001」または「N002」で識別されるノードが発火状態にある場合に動作することを示す。また、筋肉識別子「MU001」で識別される筋肉の最大パワーは「8」である。
 関節格納部116には、図13に示す関節管理表が格納されている。関節管理表は、1以上の関節情報を管理する。関節情報は、ここでは「関節識別子」「関節位置」「筋肉識別子」を有する。「関節位置」は、ここでは、関節の重心を示す座標値である。
図13において、関節識別子「J001」で識別される関節は、筋肉識別子「MU001」「MU002」の各々で識別される筋肉の強度に応じて動作する関節ことを示す。
 かかる状況において、情報処理装置1は、入力情報(例えば、画像)を受け付けた、とする。
 次に、初期決定手段1311は、受け付けられた入力情報から2以上の特徴情報(例えば、「R」「G」「B」)を取得する。
 次に、初期決定手段1311は、以下のように初期決定処理を行う。つまり、初期決定手段1311は、発火始点格納部112の発火始点情報の集合「N001,N002,N003,N004,N005,・・・」とNN管理表(図10)とを参照し、2以上の特徴情報(例えば、「R」「G」「B」)に対して発火するノードのノード識別子「N001,N002,N003,・・・」を取得する。そして、時点「t1」に対応付けて、発火ノード識別子を構成するベクトル(1,1,1,0,0,・・・,0,・・・,0,・・・)を発火情報格納部117に蓄積した、とする。かかる情報は、図14の「t1」に対応する列の情報である。
 次に、MNFP決定手段1313は、以下のようにMNFP決定処理を行う。つまり、MNFP決定手段1313は、図11を参照し、MNFP管理表の各MNFPについて、図14の「t1」に対応する発火情報ベクトル(1,1,1,0,0,・・・,0,・・・,0,・・・)が合致(ここでは、完全一致)しない、と判断する。
 次に、伝播手段1312は、例えば、以下のように伝播処理を行う。つまり、伝播手段1312は、時点「t1」において発火した各発火ノードの識別子(「N001」「N002」「N003」)と対になる接続ノード識別子(例えば、「N001」と対になる「N011」「N012」、「N002」と対になる「N013」「N014」「N015」、「N003」と対になる「N016」「N017」等)を取得する。次に、伝播手段1312は、各接続ノード識別子と対になる伝播確率を取得し、伝播確率が1未満である場合、伝播確率に応じた抽選を行い、接続ノード識別子が発火ノード識別子となるか否かを判断する。また、伝播手段1312は、伝播確率「1」と対になる接続ノード識別子は発火ノード識別子となると判断する。そして、伝播手段1312は、時点「t2」に対応付けて、発火ノード識別子の集合であるベクトル(1,1,・・・,0,・・・,1,・・・)を取得する。また、伝播手段1312は、時点「t2」に対応付けて、当該ベクトルを発火情報格納部117に追記する(図14の「t2」に対応する列を参照)。
 なお、伝播手段1312は、接続ノード識別子と対になる発火条件が存在する場合、上述したように、当該発火条件を満たす場合のみ、接続ノード識別子が発火ノード識別子となるか否かを判断する。
 次に、MNFP決定手段1313は、時点「t1」「t2」の2列の行列に合致するMNFPは、MNFP管理表(図11)には存在しないと判断した、とする。
 次に、伝播手段1312は、さらに伝搬処理を進めた、とする。そして、発火情報格納部117には、図14に示す発火情報の集合が格納された、とする。
 次に、MNFP決定手段1313は、図14に示す発火情報の集合(行列)が、MNFP管理表(図11)の「M001」のMNFPに対応する(ここでは、完全一致する)と判断する。つまり、MNFP決定手段1313は、MNFP識別子「M001」を決定する。
 次に、筋肉決定手段1321は、MNFP識別子「M001」で識別されるMNFPの最近の時点「t5」における発火ノード識別子(「N001」「N002」・・・「N015」・・・「N389」・・・)を取得する。
 次に、筋肉決定手段1321は、筋肉管理表(図12)を参照し、取得した各発火ノード識別子と対になる筋肉識別子(「MU001」「MU002」・・・)を取得した、とする。
 次に、強度取得手段1322は、図14の「t5」の列を参照し、取得した筋肉識別子ごとに、筋肉識別子と対になる発火ノード識別子の中で、発火しているノードの数である発火数を取得する。例えば、強度取得手段1322は、筋肉識別子「MU001」に対して発火数「2」を取得し、筋肉識別子「MU002」に対して発火数「1」を取得する。
 また、強度取得手段1322は、取得した筋肉識別子ごとに、筋肉識別子と対になる最大パワーを筋肉管理表(図12)から取得する。次に、強度取得手段1322は、取得した筋肉識別子ごとに、発火数と最大パワーとを用いて、強度を取得する。
 次に、角度取得手段1323は、強度が取得された筋肉の筋肉識別子と対になる1以上の関節識別子を、関節管理表(図13)から取得する。そして、角度取得手段1323は、取得した関節識別子ごとに、各関節識別子と対になる2以上の各筋肉識別子で識別される筋肉の強度を用いて、関節の角度を取得する。また、角度取得手段1323は、関節識別子ごとに、各関節識別子と対になる関節位置を関節管理表(図13)から取得する。以上の処理により、角度取得手段1323は、動く関節ごとに、(角度,関節位置)を取得できた。なお、動く1以上の関節の(角度,関節位置)の集合は、関節角度集合である。
 次に、動作部133は、アバター格納部114のアバター情報を取得する。次に、動作部133は、取得された関節角度集合に従った各関節の角度となるように、アバター情報を変形し、動作対象2であるアバターを動作させる。
 以後も、図2等のフローチャートで説明した処理により、情報処理装置1の動作が継続される。
 以上、本実施の形態によれば、MNFPを用いて、人等の生物の認知に応じた動きを適切にシミュレーションできる。
 また、特に、本実施の形態によれば、人等の生物の認知に応じた筋肉の動きを適切にシミュレーションできる。
 また、本実施の形態によれば、人等の生物の認知に応じた関節の動きを適切にシミュレーションできる。
 さらに、本実施の形態によれば、人等の生物の認知に応じた関節の動きを、アバターを用いてシミュレーションできる。
 なお、本実施の形態の具体例において、動作対象2はアバターであったが、ロボット等の他の種類の動作対象2でも良い。ロボットにおいて、関節とその角度が決まれば、当該ロボットの動作が決まってくる。
 さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、ノード識別子により識別される2以上のノードを有するニューラルネットワークが格納されるNN格納部と、2以上の各時点ごとの1以上の発火ノードを特定する情報である1または2以上のモーターニューロンファイアリングパターン(MNFP)を含む情報であり、動作対象の動作を決定する動作決定情報に対応する情報である1以上の制御情報が格納されるMNFP格納部とにアクセス可能なコンピュータを、入力情報を受け付ける入力受付部と、前記ニューラルネットワークに前記入力情報を適用し、前記ニューラルネットワークが有する2以上のノードのうちの1以上の発火ノード識別子を時系列で取得し、当該時系列の前記1以上の発火ノード識別子に対応する1以上のMNFPを、前記MNFP格納部の前記1以上のMNFPから、順次、決定するMNFP決定部と、前記MNFP決定部が決定した前記1以上の各MNFPに対応する動作決定情報を、順次、取得する動作決定部と、前記動作決定部が取得した前記1以上の動作決定情報を、順次、用いて、前記動作対象を動作させる動作部として機能させるためのプログラムである。
 (実施の形態2)
 本実施の形態において、動作対象が関節を有さない対象であることが、実施の形態1とは異なる。動作対象は、例えば、顔である。本実施の形態において、動作対象に対応する筋肉の動きをシミュレーションする。
 本実施の形態において、動作する筋肉が顔の筋肉である場合、顔のメッシュごとの伸縮の強度を取得し、当該メッシュごとの強度を用いて、顔を変化させる情報処理装置について説明する。
 図15は、本実施の形態における動作システムBのブロック図である。動作システムBは、情報処理装置3、および動作対象4を備える。なお、情報処理装置3は、動作対象4を備える構成でも良い。
 動作対象4は、動作を行う対象である。動作対象4は、例えば、アバター、ロボットであるが、その種類は問わない。
 情報処理装置3は、格納部31、受付部12、および処理部33を備える。格納部31は、NN格納部111、発火始点格納部112、MNFP格納部113、アバター格納部314、および筋肉格納部315を備える。処理部33は、MNFP決定部131、動作決定部332、動作部333、筋肉変更部334、および学習部135を備える。動作決定部332は、筋肉決定手段1321、および強度取得手段1322を備える。
 情報処理装置3を構成する格納部31には、各種の情報が格納される。各種の情報は、例えば、ニューラルネットワーク(NN)、発火始点情報、MNFP、アバター情報、筋肉情報である。
 アバター格納部314には、アバターを出力するためのアバター情報が格納される。ここでのアバター情報は、関節を有さなくても良い。アバター情報は、例えば、人等の生物の顔を構成するための情報である。上述した通りアバター情報のデータ構造は問わない。ただし、アバター情報は、通常、モデル情報を有する。モデル情報は、アバターの表示を構成するための情報である。モデル情報は、例えば、メッシュ情報を有する。
 筋肉格納部315は、2以上の筋肉情報が格納される。筋肉情報は、ここでは、1または2以上のノードが発火した場合に動くメッシュに関する情報である。筋肉情報は、1または2以上の発火ノード識別子に対応付けられた情報である。筋肉情報は、例えば、筋肉識別子を有する。筋肉情報は、例えば、筋肉識別子と最大パワーとメッシュ位置とを有する。なお、メッシュは、アバターの顔の一部の領域である。ここでの筋肉識別子は、アバターの顔の一部の領域であるメッシュを識別する情報である。ここでの筋肉識別子は、メッシュ識別子と言っても良い。メッシュ位置は、メッシュの位置を特定する情報である。
 処理部33は、各種の処理を行う。各種の処理とは、例えば、動作決定部332、動作部333、筋肉変更部334が行う処理である。
 動作決定部332は、MNFP決定部131が決定した1以上の各MNFPに対応する動作決定情報を、順次、取得する。動作決定部332は、通常、筋肉決定手段1321および強度取得手段1322が行う処理をする。
 動作部333は、動作決定部332が取得した1以上の動作決定情報を、順次、用いて、動作対象4を動作させる。
 動作部333は、筋肉決定手段1321が決定した1以上の各筋肉情報が有する筋肉識別子と強度取得手段1322が取得した強度との組である1以上の動作筋肉情報に基づいて、順次、動作対象4を動作させる。
 動作部333は、筋肉決定手段1321が決定した筋肉情報が有する筋肉識別子が識別するメッシュを、順次、伸縮させる。
 筋肉変更部334は、筋肉決定手段1321が決定した筋肉識別子が予め決められた増加条件を満たした場合に、筋肉識別子と対になる最大パワーを増加させる変更処理を行う。
 筋肉変更部334は、筋肉決定手段1321が決定しない筋肉識別子が予め決められた減少条件を満たした場合に、筋肉識別子と対になる最大パワーを減少させる変更処理を行う。筋肉変更部334は、筋肉変更部134と同じ処理を行っても良い。
 格納部31、アバター格納部314、および筋肉格納部315は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部31等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部31等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
 処理部33、動作決定部332、動作部333、および筋肉変更部334は、通常、プロセッサやメモリ等から実現され得る。処理部33等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
 次に、動作システムBを構成する情報処理装置3の動作例について説明する。情報処理装置3の動作例は、ステップS206の動作処理を除いて、図2のフローチャートを用いて説明した動作と同じである。
 以下、情報処理装置3が行う動作処理の例について、図16のフローチャートを用いて説明する。図16のフローチャートにおいて、図5のフローチャートと同一のステップについて、説明を省略する。
 (ステップS1601)動作決定部132は、カウンタlに1を代入する。
 (ステップS1602)動作決定部132は、対応する発火数が1以上であるl番目の筋肉識別子が存在するか否かを判断する。l番目の筋肉識別子が存在する場合はステップS1603、存在しない場合はステップS1607に行く。
 (ステップS1603)動作決定部132は、l番目の筋肉識別子に対応する発火数を取得する。なお、l番目の筋肉識別子に対応する最大パワーが存在する場合、動作決定部132は、発火数と当該最大パワーとを取得する。
 (ステップS1604)強度取得手段1322は、ステップS1603で取得した発火数を用いて、強度を取得する。また、強度取得手段1322は、発火数と当該最大パワーとを用いて、強度を取得しても良い。
 (ステップS1605)動作決定部132は、l番目の筋肉識別子とステップS1604で取得された強度とを対にして、図示しないバッファに一時蓄積する。
 (ステップS1606)動作決定部132は、カウンタlを1、インクリメントする。ステップS1602に戻る。
 (ステップS1607)動作部133は、図示しないバッファに格納されている筋肉識別子と強度との1以上の組を用いて、各筋肉識別子で識別される筋肉(ここでは、通常、メッシュ)を、対応する強度の分だけ縮めることにより、動作対象4(例えば、アバターの顔)を動作させる。上位処理にリターンする。
 以上、本実施の形態によれば、受け付けた入力情報に応じた顔の動きであり、人等の生物の認知に応じた顔の動きを適切にシミュレーションできる。
 (実施の形態3)
 本実施の形態において、上記の実施の形態と比較して、動作対象の動作のさせ方が異なる。本実施の形態において、動作対象は、取得された動作識別子に従った動作を行う。
 図17は、本実施の形態における動作システムCのブロック図である。動作システムCは、情報処理装置5、および動作対象6を備える。なお、情報処理装置5は、動作対象6を備える構成でも良い。
 動作対象6は、動作を行う対象である。動作対象6は、例えば、アバター、ロボットであるが、その種類は問わない。
 情報処理装置5は、格納部51、受付部12、および処理部53を備える。格納部51は、NN格納部111、発火始点格納部112、MNFP格納部113、アバター格納部114、およびモジュール格納部511を備える。処理部53は、MNFP決定部131、動作決定部532、動作部533、および学習部135を備える。
 情報処理装置5を構成する格納部51には、各種の情報が格納される。各種の情報は、例えば、ニューラルネットワーク(NN)、発火始点情報、MNFP、アバター情報、モジュールである。
 モジュール格納部511には、1または2以上の動作モジュールが格納される。動作モジュールとは、動作対象6を動作させるためのプログラムである。動作モジュールは、例えば、実行モジュール、関数、メソッドであるが、その種類は問わない。動作モジュールは、動作識別子に対応付いている。動作識別子とは、動作を識別する情報である。動作識別子は、例えば、動作モジュール名、動作モジュールのIDである。
 処理部53は、各種の処理を行う。各種の処理とは、例えば、MNFP決定部131、動作決定部532、動作部533、学習部135が行う処理である。
 動作決定部532は、MNFP決定部131が決定した1以上の各MNFPに対応する動作決定情報を、順次、取得する。
 動作決定部532は、MNFP決定部131が決定した1以上の各MNFPに対応する動作識別子を、順次、取得する。なお、MNFP格納部113のMNFPには、動作識別子が対応付いている。
 動作部533は、動作決定部532が取得した1以上の動作決定情報を、順次、用いて、動作対象6を動作させる。
 動作部533は、動作決定部532が取得した動作識別子に対応付いている動作モジュールを、順次、実行し、動作対象6を動作させる。
 格納部51、およびモジュール格納部511は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 格納部51等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部51等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部51等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部51等で記憶されるようになってもよい。
 処理部53、動作決定部532、および動作部533は、通常、プロセッサやメモリ等から実現され得る。処理部53等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
 次に、動作システムCを構成する情報処理装置5の動作例について説明する。情報処理装置3の動作例は、ステップS206の動作処理を除いて、図2のフローチャートを用いて説明した動作と同じである。
 以下、情報処理装置3が行う動作処理の例について、図18のフローチャートを用いて説明する。図18のフローチャートにおいて、図5のフローチャートと同一のステップについて、説明を省略する。
 (ステップS1801)動作決定部532は、i番目のMNFPに対応する動作識別子をMNFP格納部113から取得する。
 (ステップS1802)動作部533は、ステップS1801で取得された動作識別子で識別される動作モジュールをモジュール格納部511から取得し、当該動作モジュールを実行する。ステップS510に行く。
 以上、本実施の形態によれば、人等の生物の認知に応じた動きを容易にシミュレーションできる。
 以下、上記の実施の形態における情報処理装置1、または情報処理装置3が行う学習処理の例について、図19のフローチャートを用いて説明する。図19のフローチャートにおいて、図2と同一のステップについて、説明を省略する。なお、学習処理とは、MNFPを学習する処理である。
 (ステップS1901)学習部135は、学習に用いる入力情報と動作決定情報とを受け付けたか否かを判断する。かかる情報を受け付けた場合はステップS1902に行き、受け付けなかった場合はステップS1901に戻る。なお、ここでの動作決定情報は、例えば、動作筋肉情報である。
 (ステップS1902)学習部135は、学習条件を満たすか否かを判断する。学習条件を満たす場合はステップS1903に行き、学習条件を満たさない場合はステップS208に行く。
 なお、学習条件は、MNFPをMNFP格納部113に蓄積するための条件である。学習条件は、例えば、時点数条件、発火情報条件である。時点数条件は、発火情報格納部117に蓄積された発火情報における時点の数に関する条件であり、例えば、時点の数が閾値以上であることである。発火情報条件は、発火情報の内容に関する条件であり、例えば、発火ノード数が閾値以上であることである。
 (ステップS1903)学習部135は、現在の時点で発火情報格納部117に格納されているMNFPを取得する。ここでのMNFPは、最初の時点から現在の時点までの各時点における発火ノード識別子の集合を特定する情報であり、例えば、上述したマトリクスである。マトリクスは、時間軸とノード識別子との2軸のマトリクスである。
 (ステップS1904)学習部135は、MNFP蓄積処理を行う。MNFP蓄積処理の例について、図20のフローチャートを用いて説明する。なお、MNFP蓄積処理とは、MNFPをMNFP格納部113に蓄積する処理である。
 なお、図19のフローチャートにおいて、S203、S208、S209の各ステップの処理は、学習部135が行っても良い。
 次に、ステップS1904のMNFP蓄積処理の例について、図20のフローチャートを用いて説明する。
 (ステップS2001)学習部135は、受け付けられた動作決定情報が有する1以上の筋肉識別子を取得する。かかる1以上の筋肉識別子は、入力情報が受け付けられた場合に動作する筋肉の識別子である。
 (ステップS2002)学習部135は、カウンタiに1を代入する。
 (ステップS2003)学習部135は、ステップS2001で取得した筋肉識別子の中でi番目の筋肉識別子が存在するか否かを判断する。i番目の筋肉識別子が存在する場合はステップS2004に行き、存在しない場合はステップS2007に行く。
 (ステップS2004)学習部135は、筋肉格納部315を参照し、i番目の筋肉識別子に対応する1以上の発火ノード識別子を取得する。
 (ステップS2005)学習部135は、ステップS1903で取得されたMNFPにおいて、最後の時点におけるノード識別子であり、ステップS2004で取得した1以上の発火ノード識別子に対応するノードの値を、発火ノードの値(例えば、「1」)にする。
 (ステップS2006)学習部135は、カウンタiを1、インクリメントする。ステップS2003に戻る。
 (ステップS2007)学習部135は、ステップS2005で変更したMNFPをMNFP格納部113に蓄積する。上位処理にリターンする。
 また、情報処理装置5が行う学習処理の例について説明する。ここでの学習処理は、図19で説明した学習処理と比較して、MNFP蓄積処理のみが異なる。
 情報処理装置5の学習部135が行うMNFP蓄積処理は、S1903で取得したMNFPとS1901で受け付けられた動作決定情報とを対応付けて、MNFP格納部113に蓄積する処理である。なお、ここでの動作決定情報は、動作識別子である。
 また、図21は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図21は、このコンピュータシステム300の概観図であり、図22は、システム300のブロック図である。
 図21において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
 図22において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
 コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
 プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
 なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
 以上のように、本発明にかかる情報処理装置1は、人等の生物の認知に応じた動きを適切にシミュレーションできるという効果を有し、シミュレーション装置等として有用である。
 1、3、5 情報処理装置
 2、4、6 動作対象
 11、31、51 格納部
 12 受付部
 13、33、53 処理部
 111 NN格納部
 112 発火始点格納部
 113 MNFP格納部
 114、314 アバター格納部
 115、315 筋肉格納部
 116 関節格納部
 117 発火情報格納部
 121 入力受付部
 131 MNFP決定部
 132、332、532 動作決定部
 133、333、533 動作部
 134、334 筋肉変更部
 135 学習部
 511 モジュール格納部
 1311 初期決定手段
 1312 伝播手段
 1313 MNFP決定手段
 1321 筋肉決定手段
 1322 強度取得手段
 1323 角度取得手段

Claims (14)

  1. ノード識別子により識別される2以上のノードを有するニューラルネットワークが格納されるNN格納部と、
    動作対象の動作を決定する動作決定情報に対応付けて、2以上の各時点ごとの1以上の発火ノードを特定する情報である1または2以上のモーターニューロンファイアリングパターン(MNFP)が格納されるMNFP格納部と、
    入力情報を受け付ける入力受付部と、
    前記ニューラルネットワークに前記入力情報を適用し、前記ニューラルネットワークが有する2以上のノードのうちの1以上の発火ノード識別子を時系列で取得し、当該時系列の前記1以上の発火ノード識別子に対応する1以上のMNFPを、前記MNFP格納部の前記1以上のMNFPから、順次、決定するMNFP決定部と、
    前記MNFP決定部が決定した前記1以上の各MNFPに対応する動作決定情報を、順次、取得する動作決定部と、
    前記動作決定部が取得した前記1以上の動作決定情報を、順次、用いて、前記動作対象を動作させる動作部とを具備する情報処理装置。
  2. 当該1以上のノードが発火した場合に動く筋肉に関する情報であり、1以上の発火ノード識別子に対応付けられた情報であり、筋肉識別子と最大パワーとを有する情報である2以上の筋肉情報が格納される筋肉格納部をさらに具備し、
    前記動作決定部は、
    前記MNFP決定部が決定した前記1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する筋肉決定手段と、
    前記筋肉決定手段が決定した前記1以上の各筋肉情報ごとに、当該筋肉情報に対応付く発火ノード識別子の数である発火数を取得し、当該発火数と前記筋肉情報が有する最大パワーとを用いて、前記筋肉情報が特定する筋肉の動きの強度を、順次、取得する強度取得手段とを具備し、
    前記動作部は、
    前記筋肉決定手段が決定した前記1以上の各筋肉情報が有する筋肉識別子と前記強度取得手段が取得した前記強度との組である1以上の動作筋肉情報に基づいて、順次、前記動作対象を動作させる請求項1記載の情報処理装置。
  3. 2以上の筋肉識別子に対応付けて、関節識別子を有する1以上の関節情報が格納される関節格納部をさらに具備し、
    前記動作決定部は、
    前記関節格納部を参照し、前記1以上の動作筋肉情報を用いて、順次、前記筋肉決定手段が決定した前記1以上の筋肉情報が有する筋肉識別子に対応付いている1以上の各関節識別子で識別される関節の角度を取得する角度取得手段をさらに具備し、
    前記動作部は、
    前記1以上の各関節ごとの前記角度を、前記動作対象に対して出力し、当該動作対象を動作させる、請求項1記載の情報処理装置。
  4. 前記動作対象は、アバターであり、
    前記関節情報は、前記アバターの関節の情報であり、前記アバターが有する関節の位置を特定する関節位置を有し、
    前記アバターを出力するためのアバター情報が格納されるアバター格納部をさらに具備し、
    前記動作部は、
    前記1以上の各関節の関節位置が特定する関節を、当該関節に対応する前記角度に従って曲げたアバターを、前記アバター情報を用いて構成し、当該アバターを出力する、請求項3記載の情報処理装置。
  5. 前記動作対象はアバターの顔であり、
    1以上のノードのノード識別子に対応付けられた情報であり、当該1以上のノードが発火した場合に動くメッシュに関する情報であり、前記アバターの顔のメッシュを識別する筋肉識別子を有する2以上の筋肉情報が格納される筋肉格納部をさらに具備し、
    前記動作決定部は、
    前記MNFP決定部が決定した前記1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する筋肉決定手段を具備し、
    前記動作部は、
    前記筋肉決定手段が決定した前記筋肉情報が有する筋肉識別子が識別するメッシュを、順次、伸縮させる、請求項1記載の情報処理装置。
  6. 前記動作決定部は、
    前記MNFP決定部が決定した前記1以上の各MNFPが特定する1以上の各発火ノード識別子に対応付けられている1以上の筋肉情報を、順次、決定する筋肉決定手段と、
    前記筋肉決定手段が決定した前記1以上の各筋肉情報ごとに、当該筋肉情報に対応付く発火ノード識別子の数である発火数を取得し、当該発火数を用いて、前記筋肉情報が特定する筋肉の動きの強度を、順次、取得する強度取得手段とを具備し、
    前記動作部は、
    前記筋肉決定手段が決定した前記1以上の各筋肉情報が有する筋肉識別子と前記強度取得手段が取得した前記強度との組である1以上の動作筋肉情報に基づいて、順次、前記動作対象を動作させる請求項5記載の情報処理装置。
  7. 前記動作決定情報は、動作を識別する動作識別子であり、
    動作識別子に対応付けて、前記動作対象を動作させるための動作モジュールが格納されるモジュール格納部をさらに具備し、
    前記動作決定部は、
    前記MNFP決定部が決定した前記MNFPに対応する動作識別子を取得し、
    前記動作部は、
    前記動作決定部が取得した前記動作識別子に対応付いている前記動作モジュールを実行し、前記動作対象を動作させる請求項1記載の情報処理装置。
  8. 前記筋肉決定手段が決定した前記筋肉識別子が予め決められた増加条件を満たした場合に、当該筋肉識別子と対になる最大パワーを増加させる変更処理を行う筋肉変更部をさらに具備する請求項2から請求項4いずれか一項に記載の情報処理装置。
  9. 前記筋肉決定手段が決定しない筋肉識別子が予め決められた減少条件を満たした場合に、当該筋肉識別子と対になる最大パワーを減少させる変更処理を行う筋肉変更部をさらに具備する請求項2から請求項4いずれか一項に記載の情報処理装置。
  10. 前記入力受付部が入力情報を受け付けた場合のMNFPを取得し、かつ動作決定情報を受け付け、当該動作決定情報に対応付けて、前記MNFPを前記MNFP格納部に蓄積する学習処理を行う学習部をさらに具備する請求項1から請求項9いずれか一項に記載の情報処理装置。
  11. 前記ニューラルネットワークが有する前記2以上のノードのうちの1以上の各ノードは、発火条件に対応付いており、かつ発火を伝播する他のノードを識別する1以上の接続ノード識別子に対応付いており、
    前記MNFP決定部は、
    前記入力受付部が受け付けた前記入力情報から1以上の特徴情報を取得し、当該1以上の特徴情報に合致する発火条件を決定し、当該発火条件に対応する1以上の発火ノード識別子を取得する初期決定手段と、
    前記初期決定手段が取得した1以上の各発火ノード識別子に対応する1以上の接続ノード識別子を取得し、次に、当該1以上の各接続ノード識別子に対応する1以上の接続ノード識別子を、順次、取得する伝播手段と、
    前記初期決定手段および前記伝播手段が取得した1以上の発火ノード識別子および1以上の接続ノード識別子のうちの1以上の発火ノード識別子を有する発火情報を時系列に取得し、当該時系列の発火情報に対応する1以上のMNFPを、前記MNFP格納部の前記1以上のMNFPから、順次、決定するMNFP決定手段とを具備する請求項1から請求項9いずれか一項に記載の情報処理装置。
  12. 2以上の前記MNFPの中の少なくとも2つのMNFPの時点の数は異なる請求項1から請求項11いずれか一項に記載の情報処理装置。
  13. ノード識別子により識別される2以上のノードを有するニューラルネットワークが格納されるNN格納部と、2以上の各時点ごとの1以上の発火ノードを特定する情報である1または2以上のモーターニューロンファイアリングパターン(MNFP)を含む情報であり、動作対象の動作を決定する動作決定情報に対応する情報である1以上の制御情報が格納されるMNFP格納部と、入力受付部と、MNFP決定部と、動作決定部と、動作部とにより実現される情報処理方法であって、
    前記入力受付部が、入力情報を受け付ける入力受付ステップと、
    前記MNFP決定部が、前記ニューラルネットワークに前記入力情報を適用し、前記ニューラルネットワークが有する2以上のノードのうちの1以上の発火ノード識別子を時系列で取得し、当該時系列の前記1以上の発火ノード識別子に対応する1以上のMNFPを、前記MNFP格納部の前記1以上のMNFPから、順次、決定するMNFP決定ステップと、
    前記動作決定部が、前記MNFP決定ステップで決定された前記1以上の各MNFPに対応する動作決定情報を、順次、取得する動作決定ステップと、
    前記動作部が、前記動作決定ステップで取得された前記1以上の動作決定情報を、順次、用いて、前記動作対象を動作させる動作ステップとを具備する情報処理方法。
  14. ノード識別子により識別される2以上のノードを有するニューラルネットワークが格納されるNN格納部と、2以上の各時点ごとの1以上の発火ノードを特定する情報である1または2以上のモーターニューロンファイアリングパターン(MNFP)を含む情報であり、動作対象の動作を決定する動作決定情報に対応する情報である1以上の制御情報が格納されるMNFP格納部とにアクセス可能なコンピュータを、
    入力情報を受け付ける入力受付部と、
    前記ニューラルネットワークに前記入力情報を適用し、前記ニューラルネットワークが有する2以上のノードのうちの1以上の発火ノード識別子を時系列で取得し、当該時系列の前記1以上の発火ノード識別子に対応する1以上のMNFPを、前記MNFP格納部の前記1以上のMNFPから、順次、決定するMNFP決定部と、
    前記MNFP決定部が決定した前記1以上の各MNFPに対応する動作決定情報を、順次、取得する動作決定部と、
    前記動作決定部が取得した前記1以上の動作決定情報を、順次、用いて、前記動作対象を動作させる動作部として機能させるためのプログラム。
PCT/JP2022/010059 2022-03-08 2022-03-08 情報処理装置、情報処理方法、およびプログラム WO2023170795A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/010059 WO2023170795A1 (ja) 2022-03-08 2022-03-08 情報処理装置、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/010059 WO2023170795A1 (ja) 2022-03-08 2022-03-08 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2023170795A1 true WO2023170795A1 (ja) 2023-09-14

Family

ID=87936257

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/010059 WO2023170795A1 (ja) 2022-03-08 2022-03-08 情報処理装置、情報処理方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2023170795A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018189792A1 (ja) * 2017-04-10 2018-10-18 ソフトバンク株式会社 情報処理装置、情報処理方法、およびプログラム
JP2021135995A (ja) * 2020-02-27 2021-09-13 未來市股▲ふん▼有限公司 アバター表情生成システム及びアバター表情生成方法
US20210304477A1 (en) * 2018-07-27 2021-09-30 Magic Leap, Inc. Pose space dimensionality reduction for pose space deformation of a virtual character
JP2022018477A (ja) * 2020-07-15 2022-01-27 ソフトバンク株式会社 学習実行装置、プログラム、及び学習実行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018189792A1 (ja) * 2017-04-10 2018-10-18 ソフトバンク株式会社 情報処理装置、情報処理方法、およびプログラム
US20210304477A1 (en) * 2018-07-27 2021-09-30 Magic Leap, Inc. Pose space dimensionality reduction for pose space deformation of a virtual character
JP2021135995A (ja) * 2020-02-27 2021-09-13 未來市股▲ふん▼有限公司 アバター表情生成システム及びアバター表情生成方法
JP2022018477A (ja) * 2020-07-15 2022-01-27 ソフトバンク株式会社 学習実行装置、プログラム、及び学習実行方法

Similar Documents

Publication Publication Date Title
US11783199B2 (en) Image description information generation method and apparatus, and electronic device
JP6873236B2 (ja) 質問応答のための動的相互注目ネットワーク
WO2022100363A1 (zh) 机器人控制方法、装置、设备、存储介质及程序产品
JP4169063B2 (ja) データ処理装置、データ処理方法、及びプログラム
CN105701120B (zh) 确定语义匹配度的方法和装置
JP2007280053A (ja) データ処理装置、データ処理方法、およびプログラム
WO2018068421A1 (zh) 一种神经网络的优化方法及装置
CN108885717A (zh) 异步深度强化学习
JP7411758B2 (ja) 残基固有の分子構造特徴を用いた分子変異体の分子特性の予測
CN112529149B (zh) 一种数据处理方法及相关装置
US20220215267A1 (en) Processes and methods for enabling artificial general intelligence capable of flexible calculation, prediction, planning and problem solving with arbitrary and unstructured data inputs and outputs
CN113039555A (zh) 通过使用基于注意力的神经网络在视频剪辑中进行动作分类
CN111598213A (zh) 网络训练方法、数据识别方法、装置、设备和介质
CN114202123A (zh) 业务数据预测方法、装置、电子设备及存储介质
CN113850362A (zh) 一种模型蒸馏方法及相关设备
WO2023170795A1 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2024067113A1 (zh) 一种动作预测方法及其相关设备
US20220164639A1 (en) A system for mapping a neural network architecture onto a computing core and a method of mapping a neural network architecture onto a computing core
Meng et al. How to efficiently train your ai agent? characterizing and evaluating deep reinforcement learning on heterogeneous platforms
CN110717539A (zh) 基于人工智能的降维模型训练方法、检索方法及装置
Kasprzak et al. Agent-based approach to the design of a multimodal interface for cyber-security event visualisation control
Buonamente et al. Discriminating and simulating actions with the associative self-organising map
JP2007280057A (ja) データ処理装置、データ処理方法、およびプログラム
JP5458791B2 (ja) 連想記憶装置、連想記憶方法、及びプログラム
CN116648700A (zh) 音频数据转录训练学习算法标识图像数据中可见医疗设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22930780

Country of ref document: EP

Kind code of ref document: A1