WO2023021776A1 - Information processing device, information processing method, and non-transitory computer-readable medium in which program is stored - Google Patents

Information processing device, information processing method, and non-transitory computer-readable medium in which program is stored Download PDF

Info

Publication number
WO2023021776A1
WO2023021776A1 PCT/JP2022/014070 JP2022014070W WO2023021776A1 WO 2023021776 A1 WO2023021776 A1 WO 2023021776A1 JP 2022014070 W JP2022014070 W JP 2022014070W WO 2023021776 A1 WO2023021776 A1 WO 2023021776A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
learning
command value
data
Prior art date
Application number
PCT/JP2022/014070
Other languages
French (fr)
Japanese (ja)
Inventor
修 長谷川
洸輔 井加田
直純 津田
Original Assignee
Soinn株式会社
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 Soinn株式会社 filed Critical Soinn株式会社
Priority to JP2023542213A priority Critical patent/JPWO2023021776A5/en
Publication of WO2023021776A1 publication Critical patent/WO2023021776A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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, an information processing method, and a program.
  • time-series data which is a set of values obtained by observing a certain phenomenon continuously or intermittently, that is, a set of values that indicate changes in the phenomenon over time. It is
  • Time-series clustering is known as a method for analyzing such time-series data.
  • time-series clustering generally three methods of whole time-series clustering, subsequence clustering, and time point clustering are known (Non-Patent Documents 1 and 2).
  • Whole time-series clustering clustering is performed by measuring the similarity for each set of time series data (time series set).
  • subsequence clustering one time-series data (time-series set) is divided into multiple segments, and clustering is performed for each segment.
  • time point clustering one time series data (time series set) is divided into points, and clustering is performed by measuring the similarity between each point.
  • a method that obtains the state quantity of a certain system and gives a command value according to the state quantity is widely used to control the behavior of the system.
  • a suitable command value is estimated based on the state quantity of the system acquired at an arbitrary time, and the estimated command value is given to the system.
  • learning data which is time-series data consisting of a history of human operations (command values) observed in advance and system state quantities, is learned by machine learning, and command values are based on the learning results. is performed.
  • the k nearest neighbor method for estimating the command value corresponding to the state quantity of the input data.
  • the k-nearest neighbor method uses the learning data as it is, and outputs an operation value from k pieces of history data close to the input data.
  • the output value can be, for example, an average value of command values after a predetermined time has elapsed in each of k pieces of history data close to the input data.
  • the k-nearest neighbor method does not require learning compared to other supervised learning, so it does not require a huge amount of data, and since it operates within the range of provided data, it is used in various fields.
  • the k-nearest neighbor method has the problem that the distance between all the data elements of the learning data and the input data is calculated, resulting in a large amount of calculation and a long calculation time. .
  • the present invention has been made in view of the above circumstances, and aims to quickly provide a command value to the system according to the operating conditions and state quantities of the system to be controlled.
  • An information processing apparatus includes a first state quantity acquired in advance from a learning object and a first command value corresponding to the first state quantity given for controlling the motion of the learning object.
  • the distribution structure of the learning data is a second state quantity based on the learning result and a second command value.
  • a search unit that searches for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data included in the search, and a value based on the second command value of the searched node, and an output unit for outputting to the controlled object as an output command value given for operating the controlled object.
  • the command value corresponding to the operating conditions and state quantities of the controlled object can be quickly given to the controlled object.
  • An information processing apparatus is the information processing apparatus described above, wherein the model is created by learning each of the learning data as a node, and the search unit is configured to: It is desirable to select nodes that are temporally relatively close to the input data as the small number of nodes, and search for a node that is the shortest distance from the selected nodes to the input data. As a result, a model used for estimating the command value can be created and the node with the shortest distance can be specified in order to quickly provide the command value to the controlled object according to the operating conditions and state quantities of the controlled object.
  • An information processing apparatus is the above information processing apparatus, wherein the model is created by time-series clustering the learning data and classifying the nodes into a plurality of clusters,
  • the searching unit searches for a cluster to which the input data belongs and a cluster temporally immediately after the cluster to which the input data belongs, and finds the shortest distance from the nodes belonging to the searched two clusters to the input data. It is desirable to explore the node. In this way, in order to quickly give a command value to the controlled object according to the operating conditions and state quantities of the controlled object, it is possible to create a model used for estimating the command value and to specifically identify the node with the shortest distance. can be done.
  • An information processing apparatus is the information processing apparatus described above, wherein the search unit includes a statistic calculated from command values of some or all nodes of a cluster to which the searched node belongs. Based on this, it is desirable to determine the output command value. Thereby, an appropriate output command value can be determined as needed.
  • An information processing apparatus is the information processing apparatus described above, in which the distribution structure of the data elements of the learning data is approximately learned by a smaller number of nodes than the data elements of the learning data. and outputting the created model to the model holding unit, wherein the search unit searches for a node that approximates the input data from the nodes included in the model. It is desirable to As a result, a model used for estimating the command value can be created and the node with the shortest distance can be specified in order to quickly provide the command value to the controlled object according to the operating conditions and state quantities of the controlled object.
  • the information processing apparatus is the above information processing apparatus, and it is preferable that the search unit outputs the command value of the searched node as the output command value.
  • the search unit outputs the command value of the searched node as the output command value.
  • An information processing apparatus is the information processing apparatus described above, wherein the searching unit includes a command value for the searched node and a command for one or more nodes similar to the searched node. It is desirable to determine the output command value based on the value and the statistic calculated from the value. Thereby, an output command value can be determined appropriately.
  • An information processing apparatus is the information processing apparatus described above, wherein the one or more nodes similar to the searched node are nodes within a predetermined distance from the searched node, or It is preferable that a predetermined number of nodes are selected in descending order from the node that was selected. This makes it possible to determine the output command value according to need.
  • the information processing apparatus that is one aspect of the present invention is the information processing apparatus described above, and the statistic is preferably one of an average value, a median value, a maximum value, a minimum value, and a mode. This makes it possible to determine the output command value according to need.
  • An information processing apparatus is the information processing apparatus described above, wherein the second state quantity is the first state quantity obtained in advance from the learning object, and is preferably the first command value given to the learning object according to the first state quantity acquired in advance. This allows a model to be created based on the appropriate data.
  • An information processing apparatus is the information processing apparatus described above, wherein the first command value is an operation of the learning target based on the first state quantity obtained in advance from the learning target. It is preferable that the command value is the actual value of the command value given to the learning object by the person. This allows a model to be created based on the appropriate data.
  • An information processing apparatus is the information processing apparatus described above, wherein the first command value included in the data element of the learning data is the first instruction value obtained in advance from the learning target. It is desirable that the command value is given to the controlled object after a predetermined time with respect to the state quantity. This makes it possible to create a model that takes into account the time lag between the acquisition of the state quantity and the output of the command value.
  • An information processing method includes a first state quantity acquired in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target.
  • the distribution structure of the learning data is a second state quantity based on the learning result and a second command value
  • the third state quantity obtained from the controlled object is input as input data, and the searching for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data, and setting the value of the searched node based on the second command value to operate the controlled object; is output to the controlled object as an output command value given to .
  • the command value corresponding to the operating conditions and state quantities of the controlled object can be quickly given to the controlled object.
  • a program which is one aspect of the present invention, includes a first state quantity obtained in advance from a learning target, a first command value corresponding to the first state quantity given for controlling the motion of the learning target,
  • the distribution structure of the learning data is a second state quantity and a second state quantity based on the learning result
  • a process of holding a model created as a set of nodes represented as a multidimensional vector containing 2 command values, and a third state quantity obtained from a controlled object is input as input data and included in the model.
  • the command value corresponding to the operating conditions and state quantities of the controlled object can be quickly given to the controlled object.
  • FIG. 1 is a diagram illustrating an example of a system configuration for realizing an information processing apparatus according to a first embodiment
  • FIG. 1 is a diagram showing an external configuration of an information processing apparatus according to a first embodiment
  • FIG. 1 is a diagram schematically showing the configuration of an information processing apparatus according to a first embodiment
  • FIG. 1 is a diagram schematically showing a situation in which the information processing device according to Embodiment 1 is used
  • FIG. It is a figure which shows the outline
  • FIG. 4 is a diagram showing an example of motions learned by a robot arm
  • FIG. 4 is a diagram schematically showing forces acting in each state when the robot arm avoids an obstacle
  • It is a figure which shows the format of time-series data.
  • FIG. 10 is a diagram showing an example of learning the motion of a robot arm;
  • FIG. 4 is a diagram showing nodes created by a model creation unit; 4 is a flowchart of processing in the information processing apparatus according to the first embodiment; 7 is a flowchart of a modified example of processing in the information processing apparatus according to the first embodiment;
  • FIG. 7 is a diagram showing nodes that are objects of distance calculation in the processing by the information processing apparatus according to the first embodiment and the processing by the k-nearest neighbor method;
  • FIG. 10 is a diagram schematically showing the configuration of an information processing apparatus according to a second embodiment;
  • FIG. 10 is a diagram schematically showing a situation in which the information processing device according to the second embodiment is used; 9 is a flowchart showing operations in the information processing apparatus according to the second embodiment; FIG. 10 is a diagram schematically showing the configuration of a model creation unit according to the second embodiment; FIG. 4 is a flowchart of learning processing by the SOINN method; FIG. 10 is a diagram showing an example of node distribution obtained by learning the learning data used in the first embodiment by the SOINN method in the information processing apparatus according to the second embodiment;
  • Embodiment 1 1 is a diagram illustrating an example of a system configuration for realizing an information processing apparatus according to a first embodiment;
  • the information processing apparatus 100 can be implemented by a computer 1000 such as a dedicated computer or a personal computer (PC). However, the computer does not need to be physically single, and multiple computers may be used when performing distributed processing.
  • a computer 1000 has a CPU (Central Processing Unit) 1001, a ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003, which are interconnected via a bus 1004.
  • a bus 1004. there is It should be noted that although the explanation of OS software and the like for operating the computer will be omitted, it is assumed that the computer that constructs this information processing apparatus also has it as a matter of course.
  • An input/output interface 1005 is also connected to the bus 1004 .
  • the input/output interface 1005 includes, for example, an input unit 1006 including a keyboard, mouse, sensors, etc., a display including a CRT, LCD, etc., an output unit 1007 including headphones, speakers, etc., a storage unit 1008 including a hard disk, etc.
  • a communication unit 1009 including a modem, a terminal adapter, etc. is connected.
  • the CPU 1001 executes various kinds of processing according to various programs stored in the ROM 1002 or various programs loaded from the storage unit 1008 to the RAM 1003. In this embodiment, for example, processing of each unit of the information processing apparatus 100 described later. .
  • a GPU Graphics Processing Unit
  • the GPU is suitable for performing routine processing in parallel, and by applying the GPU to learning processing, etc., which will be described later, it is possible to improve the processing speed compared to the CPU 1001 .
  • the RAM 1003 also stores data necessary for the CPU 1001 and GPU to execute various types of processing.
  • the communication unit 1009 performs, for example, communication processing via the Internet (not shown), transmits data provided by the CPU 1001, and outputs data received from the communication partner to the CPU 1001, RAM 1003, and storage unit 1008.
  • a storage unit 1008 communicates with the CPU 1001 to save and erase information.
  • the communication unit 1009 also performs communication processing of analog signals or digital signals with other devices.
  • the input/output interface 1005 is also connected to a drive 1010 as necessary, and for example, a magnetic disk 1011, an optical disk 1012, a flexible disk 1013, or a semiconductor memory 1014 is appropriately mounted, and a computer program read from them is required. is installed in the storage unit 1008 according to the
  • FIG. 2 shows the external configuration of the information processing apparatus 100 according to the first embodiment.
  • the information processing device 100 has a processing unit 110 , a display unit 120 and an input unit 130 .
  • the processing unit 110 is configured as hardware having the aforementioned CPU 1001, ROM 1002, RAM 1003, bus 1004, input/output interface 1005, storage unit 1008, communication unit 1009, drive 1010, and the like.
  • the display unit 120 corresponds to the output unit 1007 described above, and is configured as a display device such as an LCD that displays an image in a format that can be visually recognized by the operator.
  • the input unit 130 corresponds to the input unit 1006 described above, and is composed of various input means such as a mouse and a keyboard.
  • time-series data TSD which is input data to be learned by the information processing apparatus 100.
  • the time-series data TSD is given as a set of multidimensional vectors representing data elements.
  • a multidimensional vector a i representing the data elements is defined as a vector containing the time t i and m components p as shown in the following equation.
  • i is an integer of 2
  • m is an integer of 1 or more. Therefore, when the number of data elements is n, the time-series data TSD is represented by the following formula.
  • the time-series data TSD is stored, for example, in a storage unit provided in the information processing device 100 (for example, the RAM 1003 or the storage unit 1008).
  • Machine learning is applied to the information processing apparatus 100 described below, but as a prerequisite, an outline of machine learning will be described.
  • the general machine learning described below is merely a premise for understanding the control system described in the following embodiments, and the machine learning applied to the control system is not limited to this.
  • Machine learning is broadly divided into supervised learning and unsupervised learning. An outline of each method will be described below.
  • supervised learning learning is performed to predict a certain variable (objective variable) from a given variable (explanatory variable). More specifically, supervised learning is a technique of giving correct data (objective variable) to input data (explanatory variables) and learning the relationship between the input data and the correct data.
  • the correct data are continuous values
  • learning by regression analysis is performed.
  • the method of learning continuous data is not limited to regression analysis (for example, linear regression).
  • regression analysis by fitting input data with various functions, it is possible to predict output corresponding to input data.
  • learning by classification is performed.
  • techniques such as regression (logistics regression, support vector machine), trees (decision trees, random forests), neural networks, and clustering (k nearest neighbor method, etc.) are used.
  • unsupervised learning the features of input data are learned without correct data being given.
  • Methods of unsupervised learning include clustering represented by the k-means method and the SOINN method, dimension reduction such as the PCA method, and anomaly detection such as Hotelling's T2 method. For example, in clustering, it is possible to extract and group those that are similar and have features from the input data.
  • the SOINN method is a learning method for growing neurons as needed during learning, and is a method called a self-organizing neural network (SOINN).
  • SOINN has many advantages such as being able to learn non-stationary inputs by autonomously managing the number of nodes, and being able to extract an appropriate number of classes and topological structure even for classes with complex distribution shapes.
  • SOINN for example, in pattern recognition, after learning a class of hiragana characters, a class of katakana characters can be additionally learned.
  • E-SOINN Enhanced SOINN, Patent Document 1
  • LB-SOINN Load Balance Self-Organizing Incremental Neural Network, Patent Document 2
  • a neural network with multiple nodes is applied.
  • the information processing apparatus 100 receives a non-hierarchical neural network in which nodes described by an n-dimensional vector (n is an integer equal to or greater than 1) are arranged.
  • a neural network is stored in a storage unit such as the RAM 1003, for example.
  • a neural network in the SOINN method is a self-propagating neural network that inputs an input vector into the neural network and automatically increases the number of nodes and edges placed in the neural network based on the input vector.
  • the number of nodes can be automatically increased by using a type neural network.
  • the neural network in the SOINN method has a non-hierarchical structure.
  • additional learning can be performed without specifying the timing of starting learning in other layers. That is, additional learning can be carried out online.
  • Clustering in the SOINN method refers to nodes and edges and performs class classification.
  • Various class classification methods can be applied to the class classification of the nodes that constitute the network, and for example, the same processing as in LB-SOINN of Patent Document 2 may be performed.
  • FIG. 3 schematically shows the configuration of the information processing apparatus 100 according to the first embodiment.
  • the information processing device 100 has a model holding unit 1 , a search unit 2 and an output unit 3 .
  • the model holding unit 1 reads and holds the model MD created from the learning data DAT, which is time-series data.
  • Various storage means such as the RAM 1003 and the storage unit 1008 in FIG. 1 can be applied to the model holding unit 1, for example.
  • the search unit 2 is configured to be able to read the model MD from the model holding unit 1 as appropriate.
  • the search unit 2 refers to the state quantity of the separately input data to be estimated (hereinafter referred to as input data), and searches for an approximate node from among the nodes included in the loaded model MD. Then, the search result is output to the output unit 3 .
  • the output unit 3 outputs an output command value corresponding to the state quantity of the input data determined based on the search result.
  • FIG. 4 schematically shows a situation in which the information processing apparatus 100 according to the first embodiment is used.
  • the information processing apparatus 100 learns the operation performed by the operator 10 on the operation target device 20 (for example, a robot described later) in the learning phase, and uses the command value estimated based on the learning result in the estimation phase as the operation target device. By outputting to 20, the operation target device 20 is caused to perform an appropriate operation.
  • an object to be controlled by the information processing apparatus 100 such as the operation-targeted apparatus 20, is simply referred to as a control object.
  • the operator 10 operates the command device 11 to input an instruction INS in order to give the operation target device 20 a command value for commanding an appropriate action.
  • the command device 11 outputs a command value Q corresponding to the input instruction INS to the operation target device 20 and the model creation unit 12 .
  • the operation-targeted device 20 performs an operation according to the command value Q, and outputs the state quantity P to the model creation unit 12 .
  • the model creation unit 12 acquires the command value Q given to the operation-targeted device 20 and the state quantity P of the operation-targeted device 20 at a certain time. Since the acquisition of the command value Q and the state quantity P is performed sequentially, the model creation unit 12 obtains the time-series data TSD including a plurality of data elements including the sets of the command value Q and the state quantity P and the timing at which each set was acquired. be able to.
  • the command value Q given to the operation-targeted device 20 and the state quantity P of the operation-targeted device 20, which are obtained in advance for model creation are also referred to as the first command value and the first state quantity, respectively. called.
  • the model creating unit 12 appropriately processes the time-series data to create learning data, learns the learning data to generate a model MD, and outputs the model MD to the model holding unit 1 .
  • the model MD is held by the model holding unit 1 .
  • the learning data includes a plurality of data elements each including the first command value and the first state quantity obtained in advance.
  • the model MD created by the model creation unit 12 is a learned model in which the distribution structure of time-series data is learned as a set of nodes described by multidimensional vectors containing at least state quantities and command values as elements. Note that the state quantity and the command value included in the multidimensional vector describing the node of the model MD are hereinafter also referred to as the second state quantity and the second command value, respectively.
  • the search unit 2 reads the model MD from the model holding unit 1 as appropriate.
  • the search unit 2 determines one node N NEAR from the nodes included in the model MD based on the input data for the model based on the model MD, ie, the state quantity p acquired from the operation-targeted device 20 .
  • the state quantity acquired from the operation-targeted device 20 in the estimation phase is also referred to as a third state quantity.
  • the output unit 3 reads the command value corresponding to the node N NEAR and outputs the read command value as the command value Q to the operation target device 20 .
  • one node N NEAR is determined from the nodes included in the model MD, but a plurality of nodes may be determined from the nodes included in the model MD.
  • a command value to be output may be calculated using, for example, a statistical method from the determined command values corresponding to the plurality of nodes.
  • the time-series data TSD composed of the state quantity P and the command value Q acquired by the model creation unit 12, and the learning data TSD created based on the time-series data TSD
  • a model MD generated by learning the data DAT by the model generating unit 12 will be described.
  • the model creation unit 12 reads the learning data DAT, performs clustering, and learns the clustering information added to the learning data DAT as nodes.
  • the learning data DAT is in the form of a set of multidimensional vectors obtained by appropriately processing time-series data including information indicating the state quantity P, command value Q, and timing. consist of the same multidimensional vectors.
  • FIG. 5 shows the outline of the robot used in the experiment.
  • the robot 30 has a robot arm 31 , and a cylindrical pole 33 extends from the tip of the robot arm 31 .
  • a force sensor 32 is provided to detect force.
  • the force sensor 32 can detect the external force.
  • the robot arm 31 moves in three-dimensional directions in the horizontal plane (x-direction and y-direction) and in the height direction (z-direction) by driving the horizontally extending beam 34 by a multi-joint drive mechanism (not shown) or the like. can move.
  • the operator learned the motion of the robot arm 31 by moving the robot arm 31 using the command device 11 .
  • the learning of the motion of the robot arm 31 is not limited to this example, and the operator may learn the operation while holding the robot arm 31 by hand.
  • the robot arm 31 may be operated to learn the operation.
  • FIG. 6 shows examples of motions that the robot arm 31 learns.
  • the robot arm 31 contacts the obstacle 40 and moves while avoiding the obstacle 40 in the horizontal plane (xy plane).
  • FIG. 7 schematically shows forces acting in each state when the robot arm 31 avoids the obstacle 40.
  • FIG. 7 The operations and acting forces in each state will be described below.
  • FIG. 8 shows the format of the time-series data TSD.
  • Each data element of the time-series data TSD is arranged in the vertical direction, and each row corresponds to one sampled data element.
  • Each data element contains four areas DZ1-DZ4.
  • the first area DZ1 indicates the sampling number i of the data element.
  • the number of samples is n (n is an integer of 1 or more), and therefore i is an integer of 1 or more and n or less.
  • a second area DZ2 indicates the time (timing) t(i) at which each data element is sampled.
  • the third area DZ3 includes external forces (f x (i), f y (i)), velocities (v x (i), v y (i)), and positions (x(i ), y(i)), etc., and the values contained in this area DZ3 indicate the values relating to the information of the controlled object.
  • a fourth area DZ4 is a force ( Fx (i), Fy (i)) applied to the robot arm 31 by an operation as a command value to be given to the robot arm 31, and the amount included in this area DZ4 is the command value. corresponds to the value.
  • force is used as the command value here, this is merely an example, and other values such as velocity and position may be used as the command value.
  • sampling number i is used to indicate to which data element the force, velocity and position belong, but this is merely an example. good too.
  • the force and velocity included in the third region DZ3 are used as the state quantity P(i) included in the learning data DAT, as shown in the following equations.
  • the state quantity P is not limited to this, and if necessary, it may include values included in the area DZ3 before i, or the values of some or all of the areas DZ1, DZ2, and D4. may be included.
  • a future command value for a predetermined time h is used as the command value Q with respect to the command value included in the fourth region DZ4.
  • the data element of the learning data DAT is represented by the following formula.
  • the state quantity is acquired from the operation target device, and the command value estimated based on the state quantity acquired by the search unit can be given to the operation target device, thereby appropriately operating the operation target device. be. Therefore, it is conceivable that there is a certain amount of time lag between obtaining the state quantity and giving the command value.
  • the state quantity acquired at a certain time corresponds to a future command value by this time lag. Therefore, in the present embodiment, in order to reflect this time lag, the future command value is made to correspond to the state quantity by h.
  • h since the time lag may be so small that it can be ignored, h may be an arbitrary value of 0 or more, that is, an integer of 0 or more.
  • the learning data DAT is represented by the following formula.
  • the command values Q(n+1) to Q(n+h) after the command value Q(n) sampled last in time are It was assumed that the value Q(n) was used.
  • the future command values Q(n+1) to Q(n+h) are not limited to these, and other values may be used as appropriate so that the operation is favorable.
  • data elements Di having command values that do not originally exist in the time-series data TSD, such as future command values Q(n+1) to Q(n+h) may not be included in the learning data DAT.
  • the number of data elements of the learning data DAT is the same as the sampling number n, but it is not limited to this.
  • ⁇ D1, D3, D5 . . ⁇ may be used as the learning data DAT, or new data may be created to complement the space between Di and Di+1 and added to the learning data DAT.
  • the model creating unit 12 performs clustering, which is unsupervised learning, on the learning data DAT, and creates a clustering result as a model.
  • the k-means method is used as the clustering method.
  • the clustering method is not limited to this, and various other clustering methods such as DBSCAN (Density-based spatial clustering of applications with noise) may be used.
  • the Euclidean distance is used as the distance index, but other distance indexes may be used as appropriate.
  • FIG. 9 shows an example in which the motion of the robot arm 31 is learned.
  • two-dimensional planes of fx and fy are extracted from the state quantities of learning data and mapped for easy visualization. Regions separated by dashed lines are respective clustering regions, and are divided into four regions in this example.
  • the area CL1 is in the state before collision with the obstacle (state 1)
  • the area CL2 is in the state of moving leftward after the collision (state 2)
  • the area CL3 is on the left side of the obstacle.
  • the state of moving upward (state 3) corresponds to the state CL4 of moving the obstacle to the right (state 4).
  • the model creating unit 12 creates nodes by adding clustering results to the learning data DAT.
  • FIG. 10 shows nodes created by the model creating unit. As shown in FIG. 10, a node is created by adding one of CL1 to CL4 indicating the clustering result to each data element of the learning data DAT. That is, the i-th node is represented by the following formula. Note that cl i is a cluster number and takes any value from CL1 to CL4.
  • the model creating unit 12 outputs a model MD which is a set of nodes corresponding to the number of elements (n in this embodiment) of the learning data DAT represented by the above equation.
  • Model MD is represented by the following formula.
  • the nodes obtained by learning also have an order in time series.
  • the nodes can be associated with a quantity related to time, here the sampling order, so it is possible to arrange the nodes in chronological order.
  • the method of giving a chronological order to nodes is not limited to this, and may be expressed by including a quantity related to time (that is, time) as an element in a multidimensional vector that expresses nodes.
  • the four clusters CL1 to CL4 are obtained in chronological order CL1, CL2, CL3, and CL4.
  • FIG. 11 shows a flowchart of processing in the information processing apparatus 100 according to the first embodiment.
  • the operation of the information processing apparatus 100 consists of steps SA1 to SA5 below.
  • Step SA1 The searching unit 2 reads the model MD from the model holding unit 1 .
  • Step SA2 The search unit 2 acquires the state quantity p, which is input data.
  • Step SA3 The search unit 2 acquires to which cluster of the model MD the state quantity p, which is input data, belongs.
  • the cluster to which the state quantity p, which is the input data, belongs will be referred to as the target cluster C TRG .
  • the distance between the state quantity p, which is the input data, and the center of gravity of each cluster is calculated, and the cluster having the center of gravity at the shortest distance is taken as the target cluster C TRG .
  • the method of determining the target cluster C TRG is not limited to this, and other determination methods may be used as appropriate.
  • Step SA4 The search unit 2 selects a node N NEAR having a state quantity closest to the state quantity p, which is the input data, from the nodes included in the target cluster C TRG and the cluster C NEXT temporally immediately after the target cluster C TRG .
  • One search is performed and the search result is output to the output unit 3 .
  • Euclidean distance is used as a distance index for searching for nodes.
  • the node N_NEAR having the state quantity closest to the state quantity p, which is the input data is hereinafter simply referred to as the nearest node N_NEAR .
  • a predetermined number of nodes may be searched in order of proximity from the state quantity p, or a plurality of nodes within a predetermined distance from the state quantity p may be searched.
  • the clusters to be searched are the target cluster C TRG and the immediately following cluster C NEXT . Only half of the nodes that are earlier in time may be targeted.
  • the Euclidean distance is used as the distance index for searching for nodes, but other distance indexes may be used as appropriate.
  • Step SA5 The output unit 3 outputs an output command value q OUT determined based on the nearest node N NEAR .
  • the output unit 3 may output the command value q NEAR held by the nearest node N NEAR as the output command value q OUT (first output command value determination method).
  • the method by which the output unit 3 determines the output command value q OUT is not limited to this, and may be determined as follows, for example.
  • the output unit 3 may output the average value of the command values of all nodes in the cluster to which the nearest node N NEAR belongs as the output command value q OUT (second output command value determination method).
  • the output unit 3 may output the average value of the command values of some of the nodes of the cluster to which the nearest node N NEAR belongs as the output command value q OUT (third output command value determination method ).
  • the average value of the command values of the nodes selected by various selection methods such as nodes within a predetermined distance from the nearest node N NEAR and a predetermined number of nodes selected in order of closest distance from the nearest node N NEAR It may be output as an output command value q OUT .
  • the average value of the command values of the plurality of nodes may be output as the output command value q OUT (fourth output command value determination method).
  • the average value is used in the second to fourth output command value determination methods, this is merely an example. In other words, a value determined based on statistics may be calculated as the command value.
  • the nodes that calculate the distance to the input data p are not all nodes but nodes included in a limited cluster group. can be limited to This makes it possible to greatly reduce the number of nodes to be distance-calculated compared to general methods such as the k-nearest neighbor method, thereby speeding up the process of finding the output value corresponding to the input data p. becomes possible.
  • FIG. 12 shows a flowchart of a modified example of processing in the information processing apparatus 100 according to the first embodiment.
  • the target cluster C TRG determined based on the previous input data p is used to search for the nearest node N NEAR . is.
  • steps SA11 to SA14 are added to steps SA1 to SA5 in FIG. Since SA1 to SA5 are the same as in FIG. 11, the added steps SA11 to SA14 will be explained.
  • Step SA11 is a step inserted before step SA.
  • the search unit 2 sets 0 as the value of the initial flag FG in order to indicate that the operation is in the initial state, that is, the input of the input data x is the first time.
  • the initial flag is not limited to this example, and may be data of any format as long as it can indicate that the operation is in the initial state.
  • Step SA12 is a step inserted between steps SA2 and SA3.
  • the search unit 2 determines whether the operation is in the initial state, that is, whether the value of the initial flag FG is zero. If the value of the initial flag FG is 0 (initial state), the process proceeds to step SA3, and if the value of the initial flag FG is not 0 (not the initial state), the process proceeds to step SA4.
  • Step SA13 is a step inserted between steps SA3 and SA4.
  • the search unit 2 switches the value of the initial flag FG to 1 to indicate that the operation is not in the initial state.
  • Step SA14 The searching unit 2 determines the target cluster C TRG in the next process based on the cluster to which the closest node N NEAR acquired in step SA4 belongs.
  • the cluster of the closest nodes N_NEAR detected in this process is determined as the target cluster C_TRG .
  • the method of determining the target cluster C TRG in the next process is not limited to this. It may be the target cluster C TRG in the next processing.
  • a cluster with a high frequency among the clusters to which the plurality of nodes belong may be set as the target cluster C trg in the next processing. For example, if 5 nodes are searched in step SA4 and the cluster is ⁇ 3, 3, 4, 4, 4 ⁇ , the target cluster may be 4.
  • the cluster to which the closest node N NEAR corresponding to the input data p input last time belongs can be set as the target cluster C TRG to be used for the input data p to be input next time.
  • the distance between adjacent input data is also expected to be short.
  • the input data p input in the next process also has a short distance from the nearest node N_NEAR in the previous process. Therefore, the target cluster C TRG to be used in the next process is likely to be the same cluster as the target cluster C TRG in the previous process. Therefore, in this modification, by using the cluster to which the node N NEAR closest to the previous process belongs as the target cluster C TRG for the next process, the target cluster C TRG for the second and subsequent processes is determined by a simple process. can do. Specifically, the first target cluster C TRG is determined by calculating the distance between the centroid of each cluster and the input data as in step SA3 (FIG. 11). There is a need to.
  • the determination of the target cluster C TRG for the second and subsequent times is performed by a simple process, and it is not necessary to calculate the center of gravity of each cluster. realizable.
  • the first target cluster Ctrg is determined by calculating the distance between the center of gravity of each cluster and the input data. (CL1 in this embodiment) may be set as the first target cluster Ctrg.
  • FIG. 13 shows nodes for distance calculation in the processing by the information processing apparatus 100 according to the first embodiment and the processing by the k-nearest neighbor method.
  • the information processing apparatus 100 as described above, only the nodes belonging to the two clusters CL2 and CL3 are subject to distance calculation for the input data p.
  • the k-nearest neighbor method all nodes included in the model MD are subject to distance calculation for the input data p.
  • a model including four clusters to which dozens of nodes belong has been described as an example for simplification of description, but this is merely an example.
  • FIG. 14 schematically shows the configuration of an information processing apparatus 200 according to the second embodiment.
  • FIG. 15 schematically shows a situation in which the information processing apparatus 200 according to the second embodiment is used.
  • the information processing apparatus 200 has a configuration obtained by adding a model creation unit 4 to the information processing apparatus 100 and replacing the search unit 2 with a search unit 6 .
  • the model creating unit 4 reads learning data DAT, which is time-series data, and performs learning by the SOINN method to create a model MD.
  • the created model MD is output to the model holding unit 1 .
  • the learning in the model creating unit 4 will be described later.
  • the search unit 5 uses the model MD, the search unit 5 refers to the state quantity of separately input data to be estimated (hereinafter referred to as input data), and searches for an approximate node from among the nodes included in the model MD. do. Then, the search result is output to the output unit 3 .
  • the data holding unit 1 and the output unit 3 are the same as in the first embodiment, so descriptions thereof are omitted.
  • FIG. 16 shows a flowchart of operations in the information processing apparatus 200 according to the second embodiment.
  • Step SB1 The model creation unit 4 creates the model MD by learning the learning data DAT obtained by receiving, holding and processing the state quantity P and the command value Q according to the SOINN method.
  • the SOINN method by inputting input data described by a multidimensional vector, nodes representing the input data are generated, and a model MD is obtained as a network composed of the generated nodes. The learning process in the SOINN method will be described below.
  • the model creating unit 4 uses the SOINN method to create a model consisting of a neural network with a structure of at least one layer or more in which nodes described by n-dimensional vectors are arranged.
  • the neural network that constitutes the model created by the model creating unit 4 is a self-propagating neural network that inputs an input vector into the neural network and automatically increases the number of nodes arranged in the neural network based on the input vector that is input. It is a network and has a one-layer structure.
  • the number of nodes can be automatically increased using a self-propagating neural network, so it is possible to perform additional online learning by sequentially inputting input vectors.
  • FIG. 17 schematically shows the configuration of the model creation unit 4 according to the second embodiment.
  • the model creation unit 4 includes input information acquisition means 41, winner node search means 42, similarity threshold calculation means 43, similarity threshold determination means 44, node insertion means 45, weight vector update means 46, node density calculation means 47, distribution It has overlapping area detection means 48 , edge connection determination means 49 , edge connection means 50 , edge deletion means 51 , noise node deletion means 52 and output information display means 53 .
  • the input information acquisition means 41 acquires an n-dimensional input vector as information given to the model creation unit 4 as an input. Then, the acquired input vectors are stored in a temporary storage unit (for example, RAM 1003) and sequentially input to the neural network stored in the temporary storage unit.
  • a temporary storage unit for example, RAM 1003
  • the winner node search means 42 regards the node having the weight vector closest to the input vector as the first winner node, and the node having the weight vector closest to the input vector as the second winner node, among the input vectors and nodes stored in the temporary storage unit. It searches as a node and stores the result in the temporary memory. That is, for an n-dimensional input vector ⁇ , nodes that satisfy the following equations stored in the temporary memory are searched as the first winner node a1 and the second winner node a2, respectively, and the results are stored in the temporary memory. Store in the storage unit.
  • a is a node included in the node set A stored in the temporary storage
  • W a is the weight vector of node a stored in the temporary storage.
  • the similarity threshold calculation means 43 calculates, for the node of interest and the similarity threshold of the node stored in the temporary storage unit, the node directly connected to the node of interest by an edge (hereinafter referred to as an adjacent node). exists, the distance to the node with the maximum distance from the node of interest among the adjacent nodes is calculated as the similarity threshold, the result is stored in the temporary storage unit, and if the adjacent node does not exist calculates the distance to the node with the smallest distance from the node of interest as the similarity threshold, and stores the result in the temporary storage unit.
  • the similarity threshold of the node of interest is calculated as follows, and the result is stored in the temporary storage unit.
  • the similarity threshold calculator 43 sets the similarity threshold T i of the newly inserted node i stored in the temporary storage to + ⁇ (sufficiently large value), and stores the result in the temporary storage.
  • T i the similarity threshold
  • T i the similarity threshold
  • the similarity threshold value Ti is set as the maximum distance to the adjacent node for the similarity threshold value and the node stored in the temporary storage unit, and the result is Store in temporary memory. That is, for the node i, a similarity threshold T i is calculated based on the following formula stored in the temporary storage unit, and the result is stored in the temporary storage unit.
  • c is a node included in the adjacent node set Ni of node i stored in the temporary storage unit
  • Wc is the weight vector of node c stored in the temporary storage unit.
  • the similarity threshold determination means 44 determines that the distance between the input vector and the first winner node is greater than the similarity threshold of the first winner node with respect to the input vector, the node, and the similarity threshold of the node stored in the temporary storage unit. It is determined whether it is greater and whether the distance between the input vector and the second winner node is greater than the similarity threshold of the second winner node, and the result is stored in the temporary storage unit. That is, as shown in the following formula stored in the temporary memory, it is determined whether or not the distance between the input vector ⁇ and the first winner node a1 is greater than the similarity threshold Ta1 , and the result is temporarily stored. In addition to storing in the storage unit, it is determined whether or not the distance between the input vector ⁇ and the second winner node a2 is greater than the similarity threshold Ta2 , and the result is stored in the temporary storage unit.
  • the node insertion means 45 inserts the input vector stored in the temporary storage unit into a new node at the same position as the input vector based on the determination result of the similarity threshold determination unit 44 stored in the temporary storage unit. and store the result in temporary storage.
  • Weight vector update means 46 updates the weight vector of the node stored in the temporary storage unit so that the weight vector of the first winner node and the weight vector of the adjacent node of the first winner node are closer to the input vector, The result is stored in the temporary memory.
  • the update amount ⁇ W a1 of the weight vector of the first winner node a 1 and the update amount ⁇ W ai of the weight vector of the adjacent node i of the first winner node a 1 are stored in the temporary storage unit, for example, based on the following formula: Calculation is performed, and the result is stored in the temporary storage unit.
  • ⁇ 1 (t) and ⁇ 2 (t) are calculated based on the following formulas respectively stored in the temporary storage section, and the results are temporarily stored in a billion parts.
  • the accumulated count M a1 is used.
  • the node density calculation means 47 calculates the node density of the node of interest based on the average distance between the adjacent nodes of the node of interest and the node density stored in the temporary storage unit, and temporarily stores the result. Store in the storage unit. Furthermore, the node density calculation means 47 has a unit node density calculation section, and the unit node density calculation section corresponds to additional learning, so that the first winning node and the node density stored in the temporary storage section are calculated in the first Based on the average distance between the winner node and its adjacent nodes, the node density of the first winner node is calculated as a ratio per unit number of inputs, and the result is stored in the temporary storage unit.
  • the node density calculation means 47 calculates the node density point value of the first winner node based on the average distance between the first winner node and its adjacent nodes for the nodes and node density points stored in the temporary storage unit and a node density point calculation unit that calculates the number of input vector inputs, stores the node density points in a temporary storage unit until the number of input vector inputs reaches a predetermined unit input number, and accumulates the node density points until the number of input vector inputs reaches a predetermined unit input number. If not, calculate the accumulated node density points stored in the temporary storage unit as a ratio per unit input number, calculate the node density of the node per unit input number, and store the result in the temporary storage unit It has a unit node density point calculation unit.
  • the node density point calculation unit calculates the node density point value pt i given to the node i based on the following formula stored in the temporary storage unit, for example, and stores the result in the temporary storage unit. do.
  • the point value pt i given to the node i is the point value calculated based on the following formula stored in the temporary storage unit when the node i becomes the first winner node. No points shall be awarded to node i if i is not the first winning node.
  • ei indicates the average distance from node i to its adjacent node, is calculated based on the following formula stored in the temporary memory, and the result is stored in the temporary memory.
  • m indicates the number of adjacent nodes of node i stored in the temporary storage unit
  • Wi indicates the weight vector of node i stored in the temporary storage unit.
  • the node density points are such that high points are awarded for the first winning node in an area with many nodes, and low points are awarded for the first winning node in an area with few nodes.
  • the value calculation method is configured as described above. As a result, it is possible to estimate the density of nodes in a certain range of areas including nodes, so even if the node is located in an area with a high node distribution, the node has the first number of winners. Compared to the conventional case where the number of times is the density of the node, it is possible to calculate node density points that have a density that is closer to the input distribution density of the input vector.
  • the unit node density point calculation unit calculates the node density density i per unit input number of the node i based on the following formula stored in the temporary storage unit, for example, and stores the result in the temporary storage unit.
  • the number of inputs of the continuously given input vector is divided into sections each having a certain number of inputs ⁇ which is preset and stored in the temporary storage unit, and the sum of the points given to the node i in each section is accumulated.
  • point si When the total number of inputs of the input vector is set in advance and stored in the temporary storage unit as LT, LT/ ⁇ is the total number of sections n, and the result is stored in the temporary storage unit.
  • the number of sections in which the sum of given points is equal to or greater than 0 is calculated as N, and the result is stored in the temporary storage unit (note that N and n are not necessarily the same).
  • the accumulated points s i are calculated based on the following formula stored in the temporary storage unit, for example, and the result is stored in the temporary storage unit.
  • pt i (j, k) indicates the point given to the node i by the k-th input in the j-th section, is calculated by the node density point calculation unit described above, and stores the result in the temporary storage unit. do.
  • the unit node density point calculation section calculates the density density i of the node i stored in the temporary storage section as the average of the accumulated points si , and stores the result in the temporary storage section.
  • N is used instead of n in order to deal with additional learning.
  • N is used instead of n in order to deal with additional learning. This solves the problem that in additional learning, nodes generated in previous learning are often not given points, and when calculating the density using n, the density of previously learned nodes becomes progressively lower. This is to avoid That is, by calculating the node density using N instead of n, even if additional learning is performed for a long time, unless the added data is input near the previously learned node, the node can be kept unchanged. As a result, even when additional learning is performed for a long time, it is possible to prevent the node density of nodes from becoming relatively small. It is possible to calculate by holding the node density obtained without changing it.
  • the distribution overlapping area detection means 48 calculates a cluster, which is a set of nodes connected by the edges, with respect to the nodes, the edges connecting the nodes, and the density of the nodes stored in the temporary storage unit by the node density calculation means 47. Based on the node densities obtained, the clusters are divided into sub-clusters, which are subsets of the clusters, and the results are stored in a temporary storage unit. Store.
  • the distribution overlapping area detection means 48 determines the node density based on the node density calculated by the node density calculation means 47 for the nodes, the edges connecting the nodes, and the density of the nodes stored in the temporary storage unit.
  • a node searching unit that searches for a locally largest node, a first labeling unit that gives the searched node a label different from labels already given to other nodes, and a first label second labeling for giving the same label as the label of the node to which the label was given by the first labeling part to a node connected by an edge to the node, among the nodes to which the label was not given by the giving part;
  • Cluster partitioning that divides a cluster, which is a set of nodes connected by an edge, into subclusters, which are subsets of the cluster, when there is a direct connection between a part and nodes with different labels.
  • distribution overlapping region detection for detecting a region containing the node of interest and its neighboring nodes as a distribution overlapping region that is the boundary of the subclusters when the node of interest and its neighboring nodes belong to different subclusters. have a part.
  • the edges connecting the nodes, and the density of the nodes for example, the overlap region of the distributions, which is the boundary of the sub-clusters, is detected as follows, and the result is Store in temporary memory.
  • the node search unit searches for a node having a locally maximum node density based on the node density calculated by the node density calculation means 47, and the node density stored in the temporary storage unit. is stored in the temporary storage unit.
  • a first label assigning unit assigns a label different from the labels already assigned to other nodes to the node searched in procedure M_B1 with respect to the nodes and node labels stored in the temporary storage unit, The result is stored in the temporary memory.
  • the second labeling unit stores the nodes, the edges connecting the nodes, and the labels of the nodes stored in the temporary storage unit. assigning the same label as the label of the node labeled by the first labeling unit to a node connected by an edge to a node labeled by one labeling unit, and storing the result in a temporary storage unit; Store. That is, the same label as that of the adjacent node with the locally highest density is given.
  • the cluster dividing unit divides the nodes, the edges connecting the nodes, and the labels of the nodes stored in the temporary storage unit into clusters, which are sets of nodes connected by the edges stored in the temporary storage unit.
  • the cluster is divided into sub-clusters, which are subsets of the cluster consisting of the assigned nodes, and the result is stored in the temporary storage unit.
  • the distribution overlapping area detection unit detects the nodes, the edges connecting the nodes, and the label of the nodes stored in the temporary storage unit when the node of interest and its adjacent nodes belong to different subclusters. and its adjacent nodes are detected as overlapping regions of distributions, which are the boundaries of subclusters, and the result is stored in a temporary storage unit.
  • the edge connection determination means 49 determines the first winner node for the node, node density, and distribution overlap region stored in the temporary storage unit. Based on the node densities of the nodes and the second winner node, it is determined whether or not an edge is connected between the first winner node and the second winner node, and the result is stored in the temporary storage unit.
  • the edge connection determining means 49 includes an belonging sub-cluster determining unit for determining a sub-cluster to which a node belongs, and a vertex of the sub-cluster to which the node belongs, for the nodes, node densities, and sub-clusters of the nodes stored in the temporary storage unit. and an edge connection determination unit that determines whether or not an edge is connected between the first winner node and the second winner node based on the density of the nodes and the density of the nodes.
  • the edge connection unit 50 Based on the judgment result of the edge connection judging means 49 stored in the temporary storage unit, the edge connection unit 50 connects the nodes and the edges between the nodes stored in the temporary storage unit between the first winner node and the second winner node. , and stores the result in temporary storage.
  • the edge deletion unit 51 Based on the determination result of the edge connection determination unit 49 stored in the temporary storage unit, the edge deletion unit 51 removes the nodes and the edges between the nodes stored in the temporary storage unit between the first winner node and the second winner node. , and store the result in temporary storage.
  • the edge connection determining means 49 determines whether or not the edges are connected, for example, in the following manner. Then, the side connecting means 50 and the side deleting means 51 execute side generation and deletion processing, and store the result in the temporary storage section.
  • the belonging sub-cluster determination unit determines sub-clusters to which the first winner node and the second winner node belong among the nodes and sub-clusters of the nodes stored in the temporary storage unit, and stores the result in the temporary storage unit.
  • the edge connection determination unit Density and edges between nodes, based on the density of the vertices of the subcluster to which the node belongs and the density of the nodes, it is determined whether to connect an edge between the first winner node and the second winner node, and the result is stored in the temporary storage unit.
  • the edge connection determination unit determines the minimum node density m of the first winner node density density win and the second winner node density density sec-win. It is calculated based on the following formula stored in the temporary memory, and the result is stored in the temporary memory.
  • the density A max and the density B max of the vertices of the subcluster B are calculated, and the results are stored in the temporary storage unit.
  • the node density having the maximum node density is defined as the density of the vertices of the sub-cluster.
  • m is smaller than ⁇ A A max and m is smaller than ⁇ B B max . It is determined whether or not, and the result is stored in the temporary storage unit. That is, it is determined whether or not the following inequality stored in the temporary memory is satisfied, and the result is stored in the temporary memory. As a result of the determination, when m is smaller than ⁇ AA max and m is smaller than ⁇ BB max , the nodes and the edges between the nodes stored in the temporary storage unit are the first winner node and the second winner node.
  • the first winner node and the magnitude of unevenness in the node density in the region containing the second winner node are compared. That is, when the node density m in the valley of the distribution existing between subcluster A and subcluster B is larger than the threshold value ⁇ AAmax or ⁇ BBmax , it is determined that the shape of the node density is small unevenness. can do.
  • mean A indicates the average value of node density density i of node i belonging to sub-cluster A
  • NA is the number of nodes belonging to sub-cluster A, and is calculated based on the following formula stored in the temporary storage unit. and stores the result in the temporary memory.
  • the noise node deletion means 52 deletes the node density calculated by the node density calculation means 47 and the node density calculated by the node density calculation means 47 and deletes the node of interest based on the number of adjacent nodes in , and stores the result in the temporary storage unit.
  • the noise node deletion means 52 includes a node density comparison unit that compares the node density of the node of interest with a predetermined threshold for the number of nodes, node density, edges between nodes, and adjacent nodes stored in the temporary storage unit; It has an adjacent node number calculation unit that calculates the number of adjacent nodes of a node of interest, and a noise node deletion unit that considers the node of interest as a noise node and deletes it. Specifically, for example, for the number of nodes, node density, edges between nodes, and adjacent nodes stored in the temporary storage unit as follows, based on the node density and the number of adjacent nodes of the node of interest, deletes the node that
  • the noise node deletion means 52 calculates the number of adjacent nodes for the node i of interest with respect to the number of nodes, edges between nodes, and adjacent nodes stored in the temporary storage unit by the adjacent node number calculation unit, and the result is is stored in the temporary storage unit. Then, according to the number of adjacent nodes stored in the temporary storage unit, the following processing is performed. i) When the number of neighboring nodes stored in the temporary storage is 2, the node density comparison unit compares the node density density i of node i with a threshold value stored in the temporary storage, for example, calculated based on the following formula: , the result is stored in the temporary memory.
  • the noise node deletion unit deletes the node stored in the temporary storage unit, and stores the result in the temporary storage unit.
  • the node density comparison unit compares the node density density i of node i with a threshold value stored in the temporary storage unit and calculated based on the following formula, for example: , the result is stored in the temporary memory.
  • the noise node deletion unit deletes the node stored in the temporary storage unit and temporarily stores the result. Store in the department.
  • the noise node deletion unit deletes the nodes stored in the temporary storage unit and stores the result in the temporary storage unit. do.
  • predetermined parameters c1 and c2 that are set in advance and stored in the temporary storage unit, the noise node deletion behavior of the noise node deletion unit 52 can be adjusted.
  • the output information display means 53 outputs information including the nodes stored in the temporary storage unit, that is, the model MD.
  • FIG. 18 shows a flowchart of learning processing by the SOINN method.
  • Step M1 The input information acquiring means 41 acquires two input vectors at random, initializes the node set A as a set containing only the two nodes corresponding to them, and stores the result in the temporary storage unit. Also, the edge set C ⁇ A ⁇ A is initialized as an empty set, and the result is stored in the temporary memory.
  • Step M2 The input information acquisition means 41 inputs a new input vector ⁇ randomly selected from the learning data DAT, and stores the result in the temporary storage unit. However, it goes without saying that the once selected input vector is never selected again.
  • Step M3 The winner node searching means 42 selects the first winner node a1 having the weight vector closest to the input vector ⁇ and the second winner node a1 having the second closest weight vector to the input vector and nodes stored in the temporary storage unit. 2 and store the result in temporary storage.
  • Step M4 The similarity threshold determination means 44 determines that the distance between the input vector ⁇ and the first winner node a1 is the similarity of the first winner node a1 with respect to the input vector, the node, and the similarity threshold of the node stored in the temporary storage unit. Determine whether it is greater than the threshold T1 and whether the distance between the input vector ⁇ and the second winner node a2 is greater than the similarity threshold T2 of the second winner node a2 , and temporarily store the result as Store in the storage unit.
  • the similarity threshold T 1 of the first winner node a 1 and the similarity threshold T 2 of the second winner node a 2 stored in the temporary storage unit are the similar is calculated by the degree threshold calculation means 43, and the result is stored in the temporary storage unit.
  • Step M5 As a result of the determination in step M4 stored in the temporary storage unit, the distance between the input vector ⁇ and the first winner node a1 is greater than the similarity threshold T1 of the first winner node a1 , or the input vector ⁇ and the first winner node a1 If the distance between the two winner nodes a2 is greater than the similarity threshold T2 of the second winner node a2 , the node inserting means 45 inserts the input vector ⁇ for the input vectors and nodes stored in the temporary storage unit. A new node i is inserted at the same position as the input vector ⁇ , and the result is stored in the temporary memory.
  • Step M6 On the other hand, as a result of the determination in step M4 stored in the temporary storage unit, the distance between the input vector ⁇ and the first winner node a1 is equal to or less than the similarity threshold T1 of the first winner node a1 , and the input vector If the distance between ⁇ and the second winner node a2 is equal to or less than the similarity threshold T2 of the second winner node a2 , the edge connection determination means 49 determines the nodes stored in the temporary storage unit, the node density, For an edge between nodes, determine whether to connect an edge between the first winner node a1 and the second winner node a2 based on the node densities of the first winner node a1 and the second winner node a2 and stores the result in the temporary memory.
  • Step M7 As a result of the judgment in step M6 stored in the temporary storage unit, if an edge is to be generated and connected between the first winner node a1 and the second winner node a2 , the edge connecting means 50 stores With respect to the stored nodes and edges between the nodes, an edge is connected between the first winner node and the second winner node, and the result is stored in the temporary storage unit. Then, the information processing device stores the age of the newly generated edge and, if the edge has already been generated between nodes, the age of the edge with respect to the edge and the age of the edge stored in the temporary storage unit.
  • step M6 stored in the temporary storage unit is that no edge is connected between the first winner node a1 and the second winner node a2 .
  • the process advances to step M8. If an edge has been generated between them, the edge deletion means 51 removes the edge between the first winner node a1 and the second winner node a2 from the nodes and the edges between the nodes stored in the temporary storage unit. delete and store the result in temporary storage.
  • the edge connection determination unit 49, the edge connection unit 50, and the edge deletion unit 51 carry out the processing as shown in the procedures M_C1 to M_C5 described above.
  • the node density calculation means 47 calculates the node density of the first winner node a1 stored in the temporary storage section. By calculating a point value, storing the result in a temporary storage unit, and adding the node density point value calculated and stored in the temporary storage unit to the previously calculated point value stored in the temporary storage unit, Accumulate as node density points and store the result in temporary storage.
  • the information processing device increments (increases by 1) the cumulative number M a1 of the first winner node a1 becoming the first winner node stored in the temporary storage unit, and stores the result in the temporary storage unit.
  • Step M8 The weight vector updating means 46 converts the weight vector of the first winner node a1 and the weight vector of the adjacent node of the first winner node a1 to the input vector ⁇ with respect to the node and the weight vector of the node stored in the temporary storage unit. It is updated so as to be closer, and the result is stored in the temporary storage unit.
  • Step M9 The information processing device deletes, from among the sides stored in the temporary storage section, sides having an age exceeding a preset threshold age t stored in the temporary storage section, and stores the result in the temporary storage section.
  • age t is used to delete edges that are erroneously generated due to the influence of noise or the like. By setting a small value for age t , edges can be easily deleted and noise can be prevented. Become. On the other hand, if age_t is set to an extremely large value, edges generated due to noise cannot be properly removed. Taking these factors into account, the parameter aget is preliminarily calculated by experiment and stored in the temporary memory.
  • Step M10 The information processing device determines whether the total number of given input vectors ⁇ stored in the temporary memory is a multiple of ⁇ preset and stored in the temporary memory. It judges and stores the result in the temporary memory. If the total number of input vectors is not a multiple of ⁇ as a result of the determination stored in the temporary memory, the process returns to step M2 to process the next input vector ⁇ . On the other hand, when the total number of input vectors ⁇ becomes a multiple of ⁇ , the following processing is executed.
  • is the period for deleting nodes considered to be noise. By setting a small value for ⁇ , noise processing can be performed frequently, but if the value is extremely small, nodes that are not actually noise will be erroneously deleted. On the other hand, if ⁇ is set to an extremely large value, it will not be possible to properly remove nodes generated due to noise. Considering these, the parameter ⁇ is calculated in advance by experiment and stored in the temporary memory.
  • Step M11 The distribution overlapping region detection means 48 detects the overlapping region of the distributions, which is the boundary of the subclusters, as shown in the above procedures M_B1 to M_B5 for the overlapping regions of the subclusters and distributions stored in the temporary storage unit, The result is stored in the temporary memory.
  • Step M12 The node density calculation means 47 calculates the accumulated node density points stored in the temporary storage unit as a ratio per unit input number, stores the result in the temporary storage unit, and calculates the node density of the node per unit input number. Calculation is performed, and the result is stored in the temporary storage unit.
  • Step M13 The noise node deletion means 52 deletes the nodes regarded as noise nodes from the nodes stored in the temporary storage section, and stores the result in the temporary storage section.
  • the parameters c1 and c2 used by the noise node removing means 52 in step M13 are used to determine whether or not the node is regarded as noise. A value close to 0 is used for c1 because a node with 2 neighbors is usually not noise. Also, since a node whose number of neighboring nodes is 1 is often noise, a value close to 1 is used for c2 , and these parameters are set in advance and stored in the temporary storage unit.
  • Step M14 The information processing device determines whether or not the total number of given input vectors ⁇ stored in the temporary storage unit is LT preset and stored in the temporary storage unit. , the result is stored in the temporary memory. If the result of determination stored in the temporary memory is that the total number of input vectors is not a multiple of LT, the process returns to step M2 to process the next input vector ⁇ . On the other hand, when the total number of input vectors ⁇ reaches LT, learning is stopped.
  • FIG. 19 shows an example of node distribution obtained by learning the learning data DAT used in the first embodiment by the SOINN method in the information processing apparatus 200 according to the second embodiment.
  • two-dimensional planes of fx and fy are extracted from the state quantities of the learning data and mapped.
  • the learning results of the data elements included in the learning data are represented by representative nodes generated by the SOINN method. That is, the number of nodes included in the model MD is smaller than the number of data elements included in the learning data DAT.
  • the SOINN method in Patent Documents 1 and 2 can be applied.
  • various SOINN methods may be applied to learn the distribution structure of data elements contained in the learning data as a distribution structure represented by a smaller number of nodes than the data elements.
  • step SB2 in the information processing device 200 will be described.
  • Step SB2 The searching unit 5 reads the model MD from the model holding unit 1 as in step SA1 of FIG.
  • Step SB3 The search unit 5 acquires the state quantity p, which is the input data, in the same manner as in step SA2 of FIG.
  • Step SB4 The searching unit 5 searches for the node N NEAR closest to the input data p from the model MD, as in step SA4 of FIG.
  • Step SB5 The output unit 3 is the same as in the first embodiment, as in step SA5 of FIG. That is, the output unit 3 outputs the output command value q OUT determined based on the nearest node N NEAR . As in the first embodiment, output command value q OUT may be determined using various methods including the first to fourth output command value determination methods.
  • the number of nodes for calculating the distance to the input data p is less than the number of data elements of the learning data.
  • the number of nodes for distance calculation can be significantly reduced compared to a general k-nearest neighbor method that uses the same number of nodes as the learning data or the data elements of the learning data. , it is possible to speed up the process of obtaining the command value corresponding to the input data p.
  • the present invention is not limited to the above-described embodiments, and can be modified as appropriate without departing from the scope of the invention.
  • the magnitude determination of two values has been described, but this is merely an example, and the case where the two values are equal in the magnitude determination of the two values may be handled as necessary. good. That is, determining whether the first value is greater than or equal to the second value or less than the second value, and determining whether the first value is greater than or less than or equal to the second value. With respect to the determination of, any may be adopted as necessary. determining whether the first value is less than or greater than the second value and determining whether the first value is less than or greater than or equal to the second value Either may be adopted. In other words, when determining the magnitude of two values to obtain two determination results, the case where the two values are equal may be included in either of the two determination results as required.
  • the present invention has been described mainly as a hardware configuration, but it is not limited to this, and arbitrary processing can be realized by causing a CPU (Central Processing Unit) to execute a computer program. It is also possible to A program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more of the functions described in the embodiments above.
  • the program may be stored in a non-transitory computer-readable medium or tangible storage medium.
  • Non-limiting examples of non-transitory computer readable or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, SSD (Solid-state drive) or other kind of storage technology such as CD (Compact disc)-ROM, DVD (Digital versatile disc), Blu-ray disc or other kind of Including optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage.
  • the program may be transmitted by a transitory computer-readable medium or communication medium.
  • Non-limiting examples of transitory computer readable media or tangible storage media may include electrical, optical, acoustic or other forms of propagating signals.
  • the nodes obtained by learning the learning data DAT are clustered. Needless to say, clusterin may be used for this purpose.
  • (Appendix 1) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target
  • the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result
  • a model holding unit holding a model created as a set of nodes represented by a multidimensional vector; a searching unit for searching for a node matching or approximating the input data from among the nodes whose number is smaller than the number of data elements; and an output unit that outputs to the controlled object as an output command value to be given.
  • the model is created by learning each of the learning data as a node, and the search unit temporally compares the input data from the node as the small number of nodes.
  • the information processing apparatus according to supplementary note 1, wherein a close node is selected, and a node closest to the input data is searched from the selected node.
  • the model is created by time-series clustering the learning data and classifying the nodes into a plurality of clusters. 3.
  • the information processing apparatus according to appendix 2 wherein a cluster belonging to the cluster and a cluster temporally immediately after the cluster are searched, and a node belonging to the searched two clusters is searched for a node closest to the input data.
  • Appendix 4 The information processing apparatus according to appendix 3, wherein the search unit searches for a cluster whose center of gravity is closest to the input data as a cluster to which the input data belongs.
  • the search unit regards the cluster whose center of gravity is closest to the first input data as the cluster to which the first input data belongs.
  • the cluster to which the node with the shortest distance searched for the input data input one before belongs belongs to the input data input first. 3.
  • the search unit regards the cluster whose center of gravity is closest to the first input data as the cluster to which the first input data belongs.
  • Supplementary note 7 Any one of Supplementary notes 4 to 6, wherein the search unit determines the output command value based on a statistic calculated from the command values of some or all of the nodes of the cluster to which the searched node belongs. 1.
  • the information processing device according to claim 1.
  • the some nodes are nodes within a predetermined distance from the searched node, or a predetermined number of nodes selected in order of proximity from the searched node in the cluster to which the searched node belongs.
  • the information processing device according to appendix 7.
  • the search unit approximates a command value with the searched node, a cluster to which the input data belongs, and a cluster temporally immediately after the cluster to which the input data belongs to the searched node 1 7.
  • the information processing apparatus according to any one of appendices 4 to 6, wherein the output command value is determined based on command values of one or more nodes and a statistic calculated therefrom.
  • the search unit regards the cluster whose center of gravity is closest to the first input data as the cluster to which the first input data belongs.
  • a cluster to which the node searched for the input data that was input immediately before belongs and one or more similar to the searched node. 10.
  • the information processing apparatus according to appendix 9, wherein the cluster to which the input data input after the first input data belongs is searched for a cluster with the highest appearance frequency among the clusters to which the nodes of .
  • Appendix 12 The information processing apparatus according to any one of Appendices 2 to 4 and 11, wherein the search unit outputs the command value of the searched node as the output command value.
  • the search unit based on a statistic calculated from a command value for the searched node and a command value for one or more nodes similar to the searched node, the output command value 12.
  • the information processing apparatus according to any one of appendices 2 to 4 and 11, which determines the
  • the one or more nodes similar to the searched node are nodes within a predetermined distance from the searched node, or a predetermined number of nodes selected in order of proximity from the searched node. 14.
  • the information processing device according to any one of 9, 10 and 13.
  • Appendix 15 The information processing apparatus according to any one of Appendices 7 to 10, 13, and 14, wherein the statistic is one of an average value, median value, maximum value, minimum value, and mode value.
  • the second state quantity is the first state quantity obtained in advance from the learning target, and the second command value corresponds to the first state quantity obtained in advance.
  • the information processing apparatus according to any one of appendices 1 to 15, wherein the first command value given to the learning object is the first command value.
  • the first command value is an actual value of the command value given to the learning target by the learning target operator based on the first state quantity obtained in advance from the learning target. 17.
  • the information processing device according to 16.
  • Appendix 19 The information processing apparatus according to any one of Appendices 1 to 17, wherein the information processing apparatus is provided in the learning object or the control object.
  • Appendix 20 The information processing apparatus according to any one of Appendices 1 to 17, wherein the learning object and the control object are the same.
  • Appendix 21 The information processing apparatus according to appendix 20, wherein the information processing apparatus is provided in the control target.
  • (Appendix 22) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target
  • the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result
  • a model created as a set of nodes represented as a multidimensional vector is held, a third state quantity obtained from a controlled object is input as input data, and the number of data elements of the learning data included in the model is searching for a node matching or approximating the input data from among a small number of the nodes, and using a value based on the second command value of the searched node as an output command value given to operate the controlled object, the control An information processing method that outputs to a target.
  • (Appendix 23) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target
  • learning learning data based on time-series data including a plurality of data elements represented by
  • the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result
  • the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result
  • a model creation unit that creates a model as a set of nodes represented as a multidimensional vector, a model holding unit that holds the created model, and a third state quantity obtained from a controlled object are input as input data, a search unit that searches for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data included in the model; and a value based on the second command value of the searched node. to the controlled object as an output command value given for operating the controlled object.

Abstract

A model holding unit (1) holds a model trained by using training data based on time-series data including a plurality of data elements each expressed by a multidimensional vector including a first state quantity acquired in advance from a training subject and a first command value that corresponds to the first state quantity and is given to control the operation of the training subject. The model is created to represent training data distribution structure as a set of nodes each expressed by a multidimensional vector including a second state quantity and second command value based on the training result. A retrieval unit (2) receives input of a third state quantity acquired from a control subject as input data and retrieves a node that matches or is similar to the input data from among a smaller number of nodes than the number of data elements of the training data included in the model. An output unit (3) outputs a value based on the second command value of the retrieved node to the control subject as an output command value to be given to operate the control subject.

Description

情報処理装置、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体Non-transitory computer-readable medium storing information processing device, information processing method, and program
 本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.
 今日、様々なデータ処理手法が用いられており、処理対象となるデータには様々なものがあり、例えば値が系統立って配列されているものが有る。こうした系統立ったデータの代表例として、ある現象を連続的又は間欠的に観測することで得られる一連の値の集合、すなわち現象の時間的に変化を示す値の集合である時系列データが知られている。 Today, various data processing methods are used, and there are various types of data to be processed, such as those in which values are systematically arranged. A representative example of such systematic data is time-series data, which is a set of values obtained by observing a certain phenomenon continuously or intermittently, that is, a set of values that indicate changes in the phenomenon over time. It is
 こうした時系列データの分析手法として、時系列クラスタリングが知られている。時系列クラスタリングとしては、概ねWhole time-series clustering、Subsequence clustering及びTime point clusteringの3つの手法が知られている(非特許文献1及び2)。Whole time-series clusteringでは、複数の時系列データ(時系列集合)ごとに類似性を測定してクラスタリングが行われる。Subsequence clusteringでは、1つの時系列データ(時系列集合)が複数のセグメントに分けられ、セグメントごとにクラスタリングが行われる。Time point clusteringでは、1つの時系列データ(時系列集合)が点ごとに分けられ、各点同士で類似性を測定してクラスタリングが行われる。 Time-series clustering is known as a method for analyzing such time-series data. As time-series clustering, generally three methods of whole time-series clustering, subsequence clustering, and time point clustering are known (Non-Patent Documents 1 and 2). In Whole time-series clustering, clustering is performed by measuring the similarity for each set of time series data (time series set). In subsequence clustering, one time-series data (time-series set) is divided into multiple segments, and clustering is performed for each segment. In time point clustering, one time series data (time series set) is divided into points, and clustering is performed by measuring the similarity between each point.
特開2008-217246号公報JP 2008-217246 A 特開2014-164396号公報JP 2014-164396 A
 例えば、あるシステムの状態量を取得して、状態量に応じた指令値を与えることで、システムの挙動を制御する手法が広く用いられている。このような制御方式において、制御処理を自動的に行う場合には、任意の時点で取得したシステムの状態量に基づいて好適な指令値を推定し、推定した指令値をシステムに与えることとなる。この場合、予め観測された、例えば人が行なった操作履歴(指令値)とシステムの状態量とからなる時系列データである学習用データを機械学習によって学習し、その学習結果に基づいて指令値を推定することが行われる。 For example, a method that obtains the state quantity of a certain system and gives a command value according to the state quantity is widely used to control the behavior of the system. In such a control method, when the control process is performed automatically, a suitable command value is estimated based on the state quantity of the system acquired at an arbitrary time, and the estimated command value is given to the system. . In this case, learning data, which is time-series data consisting of a history of human operations (command values) observed in advance and system state quantities, is learned by machine learning, and command values are based on the learning results. is performed.
 このとき、例えば、入力データの状態量に対応する指令値を推定するにあたって、k近傍法が知られている。k近傍法は学習データをそのまま使用し、入力データに近いk個の履歴データから操作値を出力させる。出力値は、例えば入力データに近いk個の履歴データの各々における所定時刻経過後の指令値の平均値などにすることができる。k近傍法は、他の教師あり学習に比べると学習を行わないので、膨大なデータを必要とせず、また提供したデータの範囲内の操作となるため、様々な分野で使用されている。しかし、k近傍法は、学習用データのデータ要素の全てと入力データとの間で距離を計算することとなるため、計算量が多くなり、計算に要する時間が長くなってしまうという問題を有する。 At this time, for example, the k nearest neighbor method is known for estimating the command value corresponding to the state quantity of the input data. The k-nearest neighbor method uses the learning data as it is, and outputs an operation value from k pieces of history data close to the input data. The output value can be, for example, an average value of command values after a predetermined time has elapsed in each of k pieces of history data close to the input data. The k-nearest neighbor method does not require learning compared to other supervised learning, so it does not require a huge amount of data, and since it operates within the range of provided data, it is used in various fields. However, the k-nearest neighbor method has the problem that the distance between all the data elements of the learning data and the input data is calculated, resulting in a large amount of calculation and a long calculation time. .
 これは、制御対象となるシステムの状態量を取得してから指令値を与えるまでの時間に余裕が有るシステムでは問題にならないものの、例えば車両など、状態量の取得に応じて迅速に指令値を与えなければならないシステムでは、計算時間の長さが迅速な指令値の付与の妨げとなってしまう。 This is not a problem for systems that have a margin of time between obtaining the state quantity of the system to be controlled and giving the command value, but for example, in vehicles, the command value can be quickly obtained according to the state quantity acquisition. In a system that must give, the length of calculation time hinders quick giving of command values.
 そこで、制御対象のシステムの運転状況に応じて、システムの状態量に応じた指令値をより高速に出力することのできる手法の確立が求められている。 Therefore, there is a need to establish a method that can output a command value according to the state quantity of the system at a higher speed according to the operating status of the system to be controlled.
 本発明は、上記の事情に鑑みて成されたものであり、制御対象のシステムの運転状況及び状態量に応じた指令値を迅速にシステムに与えることを目的とする。 The present invention has been made in view of the above circumstances, and aims to quickly provide a command value to the system according to the operating conditions and state quantities of the system to be controlled.
 本発明の一態様である情報処理装置は、学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持するモデル保持部と、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する探索部と、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する出力部と、を有するものである。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えることができる。 An information processing apparatus according to an aspect of the present invention includes a first state quantity acquired in advance from a learning object and a first command value corresponding to the first state quantity given for controlling the motion of the learning object. By learning learning data based on time-series data containing a plurality of data elements represented by a multidimensional vector, the distribution structure of the learning data is a second state quantity based on the learning result and a second command value. A search unit that searches for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data included in the search, and a value based on the second command value of the searched node, and an output unit for outputting to the controlled object as an output command value given for operating the controlled object. As a result, the command value corresponding to the operating conditions and state quantities of the controlled object can be quickly given to the controlled object.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記モデルは、前記学習用データのそれぞれをノードとして学習することで作成され、前記探索部は、前記ノードから、前記少数の前記ノードとして、前記入力データに対して時間的に比較的近いノードを選択し、前記選択したノードから前記入力データに対して最短距離のノードを探索することが望ましい。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えるにあたり、指令値の推定に用いるモデルを作成し、かつ、最短距離のノードの特定を行うことができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the model is created by learning each of the learning data as a node, and the search unit is configured to: It is desirable to select nodes that are temporally relatively close to the input data as the small number of nodes, and search for a node that is the shortest distance from the selected nodes to the input data. As a result, a model used for estimating the command value can be created and the node with the shortest distance can be specified in order to quickly provide the command value to the controlled object according to the operating conditions and state quantities of the controlled object.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記モデルは、前記学習用データを時系列クラスタリングして、前記ノードを複数のクラスタに分類することで作成され、前記探索部は、前記入力データが属するクラスタと、前記入力データが属するクラスタに時間的に直後のクラスタと、を探索し、探索した2つのクラスタに属するノードから前記入力データに対して最短距離のノードを探索することが望ましい。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えるにあたり、指令値の推定に用いるモデルを作成し、かつ、最短距離のノードの特定を具体的に行うことができる。 An information processing apparatus according to an aspect of the present invention is the above information processing apparatus, wherein the model is created by time-series clustering the learning data and classifying the nodes into a plurality of clusters, The searching unit searches for a cluster to which the input data belongs and a cluster temporally immediately after the cluster to which the input data belongs, and finds the shortest distance from the nodes belonging to the searched two clusters to the input data. It is desirable to explore the node. In this way, in order to quickly give a command value to the controlled object according to the operating conditions and state quantities of the controlled object, it is possible to create a model used for estimating the command value and to specifically identify the node with the shortest distance. can be done.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記探索部は、前記探索したノードが属するクラスタの一部又は全部のノードの指令値から算出される統計量に基づいて、前記出力指令値を決定することが望ましい。これにより、必要に応じて適切な出力指令値を決定することができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the search unit includes a statistic calculated from command values of some or all nodes of a cluster to which the searched node belongs. Based on this, it is desirable to determine the output command value. Thereby, an appropriate output command value can be determined as needed.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記学習用データのデータ要素よりも少数のノードによって前記学習用データのデータ要素の分布構造を近似的に学習することで前記モデルを作成し、作成した前記モデルを前記モデル保持部へ出力するモデル作成部をさらに有し、前記探索部は、前記モデルに含まれる前記ノードから前記入力データに近似するノードを探索することが望ましい。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えるにあたり、指令値の推定に用いるモデルを作成し、かつ、最短距離のノードの特定を行うことができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, in which the distribution structure of the data elements of the learning data is approximately learned by a smaller number of nodes than the data elements of the learning data. and outputting the created model to the model holding unit, wherein the search unit searches for a node that approximates the input data from the nodes included in the model. It is desirable to As a result, a model used for estimating the command value can be created and the node with the shortest distance can be specified in order to quickly provide the command value to the controlled object according to the operating conditions and state quantities of the controlled object.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記探索部は、前記探索したノードの指令値を、前記出力指令値として出力することが望ましい。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えるにあたり、指令値の推定に用いるモデルを作成し、かつ、最短距離のノードの特定を行うことができる。 The information processing apparatus according to one aspect of the present invention is the above information processing apparatus, and it is preferable that the search unit outputs the command value of the searched node as the output command value. As a result, a model used for estimating the command value can be created and the node with the shortest distance can be specified in order to quickly provide the command value to the controlled object according to the operating conditions and state quantities of the controlled object.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記探索部は、前記探索したノードとの指令値と、前記探索したノードに近似する1つ以上のノードの指令値と、から算出される統計量に基づいて、前記出力指令値を決定することが望ましい。これにより、出力指令値を適切に決定することができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the searching unit includes a command value for the searched node and a command for one or more nodes similar to the searched node. It is desirable to determine the output command value based on the value and the statistic calculated from the value. Thereby, an output command value can be determined appropriately.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記探索したノードに近似する1以上のノードは、前記探索したノードから所定の距離以内のノード、又は、前記探索したノードから近い順に選択された所定の個数のノードであることが望ましい。これにより、必要に応じた出力指令値を決定することができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the one or more nodes similar to the searched node are nodes within a predetermined distance from the searched node, or It is preferable that a predetermined number of nodes are selected in descending order from the node that was selected. This makes it possible to determine the output command value according to need.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記統計量は、平均値、中央値、最大値、最小値及び最頻値のいずれかであることが望ましい。これにより、必要に応じた出力指令値を決定することができる。 The information processing apparatus that is one aspect of the present invention is the information processing apparatus described above, and the statistic is preferably one of an average value, a median value, a maximum value, a minimum value, and a mode. This makes it possible to determine the output command value according to need.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記第2の状態量は、前記学習対象から予め取得した前記第1の状態量であり、かつ、前記第2の指令値は、前記予め取得した前記第1の状態量に応じて前記学習対象に与えられた前記第1の指令値であることが望ましい。これにより、適切なデータに基づいてモデルを作成することができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the second state quantity is the first state quantity obtained in advance from the learning object, and is preferably the first command value given to the learning object according to the first state quantity acquired in advance. This allows a model to be created based on the appropriate data.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記第1の指令値は、前記学習対象から予め取得した前記第1の状態量に基づいて前記学習対象の操作者が前記学習対象に与えた指令値の実績値であることが望ましい。これにより、適切なデータに基づいてモデルを作成することができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the first command value is an operation of the learning target based on the first state quantity obtained in advance from the learning target. It is preferable that the command value is the actual value of the command value given to the learning object by the person. This allows a model to be created based on the appropriate data.
 本発明の一態様である情報処理装置は、上記の情報処理装置であって、前記学習用データのデータ要素に含まれる前記第1の指令値は、前記学習対象から予め取得した前記第1の状態量に対して、所定の時間だけ後に前記制御対象に与えられた指令値であることが望ましい。これにより、状態量の取得と指令値の出力との間のタイムラグを加味したモデルを作成することができる。 An information processing apparatus according to an aspect of the present invention is the information processing apparatus described above, wherein the first command value included in the data element of the learning data is the first instruction value obtained in advance from the learning target. It is desirable that the command value is given to the controlled object after a predetermined time with respect to the state quantity. This makes it possible to create a model that takes into account the time lag between the acquisition of the state quantity and the output of the command value.
 本発明の一態様である情報処理方法は、学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持し、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索し、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力するものである。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えることができる。 An information processing method according to an aspect of the present invention includes a first state quantity acquired in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target. By learning learning data based on time-series data containing a plurality of data elements represented by a multidimensional vector, the distribution structure of the learning data is a second state quantity based on the learning result and a second command value, a model created as a set of nodes represented as a multidimensional vector, the third state quantity obtained from the controlled object is input as input data, and the searching for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data, and setting the value of the searched node based on the second command value to operate the controlled object; is output to the controlled object as an output command value given to . As a result, the command value corresponding to the operating conditions and state quantities of the controlled object can be quickly given to the controlled object.
 本発明の一態様であるプログラムは、学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持する処理と、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する処理と、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する処理と、をコンピュータに実行させるものである。これにより、制御対象の運転状況及び状態量に応じた指令値を迅速に制御対象に与えることができる。 A program, which is one aspect of the present invention, includes a first state quantity obtained in advance from a learning target, a first command value corresponding to the first state quantity given for controlling the motion of the learning target, By learning learning data based on time-series data containing a plurality of data elements represented by multidimensional vectors, the distribution structure of the learning data is a second state quantity and a second state quantity based on the learning result A process of holding a model created as a set of nodes represented as a multidimensional vector containing 2 command values, and a third state quantity obtained from a controlled object is input as input data and included in the model. A process of searching for a node matching or approximating the input data from among the nodes whose number is smaller than the number of data elements of the learning data; and a process of outputting to the controlled object as an output command value to be given to the computer. As a result, the command value corresponding to the operating conditions and state quantities of the controlled object can be quickly given to the controlled object.
 本発明によれば、制御対象のシステムの運転状況及び状態量に応じた指令値を迅速にシステムに与えることができる。 According to the present invention, it is possible to quickly provide a command value to the system according to the operating conditions and state quantities of the system to be controlled.
実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration for realizing an information processing apparatus according to a first embodiment; FIG. 実施の形態1にかかる情報処理装置の外観構成を示す図である。1 is a diagram showing an external configuration of an information processing apparatus according to a first embodiment; FIG. 実施の形態1にかかる情報処理装置の構成を模式的に示す図である。1 is a diagram schematically showing the configuration of an information processing apparatus according to a first embodiment; FIG. 実施の形態1にかかる情報処理装置が用いられる状況を模式的に示す図である。1 is a diagram schematically showing a situation in which the information processing device according to Embodiment 1 is used; FIG. 実験に用いるロボットの概要を示す図である。It is a figure which shows the outline|summary of the robot used for experiment. ロボットアームが学習する動作の例を示す図である。FIG. 4 is a diagram showing an example of motions learned by a robot arm; ロボットアームが障害物を回避するときの各状態において作用する力を模式的に示す図である。FIG. 4 is a diagram schematically showing forces acting in each state when the robot arm avoids an obstacle; 時系列データの形式を示す図である。It is a figure which shows the format of time-series data. ロボットアームの動作を学習させた例を示す図である。FIG. 10 is a diagram showing an example of learning the motion of a robot arm; モデル作成部が作成するノードを示す図である。FIG. 4 is a diagram showing nodes created by a model creation unit; 実施の形態1にかかる情報処理装置における処理のフローチャートである。4 is a flowchart of processing in the information processing apparatus according to the first embodiment; 実施の形態1にかかる情報処理装置における処理の変形例のフローチャートである。7 is a flowchart of a modified example of processing in the information processing apparatus according to the first embodiment; 実施の形態1にかかる情報処理装置での処理とk近傍法での処理とにおける距離計算の対象となるノードを示す図である。FIG. 7 is a diagram showing nodes that are objects of distance calculation in the processing by the information processing apparatus according to the first embodiment and the processing by the k-nearest neighbor method; 実施の形態2にかかる情報処理装置の構成を模式的に示す図である。FIG. 10 is a diagram schematically showing the configuration of an information processing apparatus according to a second embodiment; FIG. 実施の形態2にかかる情報処理装置が用いられる状況を模式的に示す図である。FIG. 10 is a diagram schematically showing a situation in which the information processing device according to the second embodiment is used; 実施の形態2にかかる情報処理装置における動作を示すフローチャートである。9 is a flowchart showing operations in the information processing apparatus according to the second embodiment; 実施の形態2にかかるモデル作成部の構成を模式的に示す図である。FIG. 10 is a diagram schematically showing the configuration of a model creation unit according to the second embodiment; FIG. SOINN法による学習処理のフローチャートである。4 is a flowchart of learning processing by the SOINN method; 実施の形態2にかかる情報処理装置において実施の形態1で使用した学習用データをSOINN法で学習することで得られたノードの分布の例を示す図である。FIG. 10 is a diagram showing an example of node distribution obtained by learning the learning data used in the first embodiment by the SOINN method in the information processing apparatus according to the second embodiment;
 以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。 Embodiments of the present invention will be described below with reference to the drawings. In each drawing, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary.
 実施の形態1
 図1は、実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置100は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータ1000により実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図1に示すように、コンピュータ1000は、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002及びRAM(Random Access Memory)1003を有し、これらがバス1004を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然有しているものとする。
Embodiment 1
1 is a diagram illustrating an example of a system configuration for realizing an information processing apparatus according to a first embodiment; FIG. The information processing apparatus 100 can be implemented by a computer 1000 such as a dedicated computer or a personal computer (PC). However, the computer does not need to be physically single, and multiple computers may be used when performing distributed processing. As shown in FIG. 1, a computer 1000 has a CPU (Central Processing Unit) 1001, a ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003, which are interconnected via a bus 1004. there is It should be noted that although the explanation of OS software and the like for operating the computer will be omitted, it is assumed that the computer that constructs this information processing apparatus also has it as a matter of course.
 バス1004には、入出力インターフェイス1005も接続されている。入出力インターフェイス1005には、例えば、キーボード、マウス、センサなどよりなる入力部1006、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部1007、ハードディスクなどより構成される記憶部1008、モデム、ターミナルアダプタなどより構成される通信部1009などが接続されている。 An input/output interface 1005 is also connected to the bus 1004 . The input/output interface 1005 includes, for example, an input unit 1006 including a keyboard, mouse, sensors, etc., a display including a CRT, LCD, etc., an output unit 1007 including headphones, speakers, etc., a storage unit 1008 including a hard disk, etc. A communication unit 1009 including a modem, a terminal adapter, etc. is connected.
 CPU1001は、ROM1002に記憶されている各種プログラム、又は記憶部1008からRAM1003にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行する。CPU1001とは別にGPU(Graphics Processing Unit)を設け、CPU1001と同様の処理を行わせてもよい。なお、GPUは、定型的な処理を並列的に行う用途に適しており、後述する学習処理などに適用することで、CPU1001に比べて処理速度を向上させることも可能である。RAM1003には又、CPU1001及びGPUが各種の処理を実行する上において必要なデータなども適宜記憶される。 The CPU 1001 executes various kinds of processing according to various programs stored in the ROM 1002 or various programs loaded from the storage unit 1008 to the RAM 1003. In this embodiment, for example, processing of each unit of the information processing apparatus 100 described later. . A GPU (Graphics Processing Unit) may be provided separately from the CPU 1001 to perform processing similar to that of the CPU 1001 . Note that the GPU is suitable for performing routine processing in parallel, and by applying the GPU to learning processing, etc., which will be described later, it is possible to improve the processing speed compared to the CPU 1001 . The RAM 1003 also stores data necessary for the CPU 1001 and GPU to execute various types of processing.
 通信部1009は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU1001から提供されたデータを送信したり、通信相手から受信したデータをCPU1001、RAM1003、記憶部1008に出力したりする。記憶部1008はCPU1001との間でやり取りし、情報の保存・消去を行う。通信部1009は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。 The communication unit 1009 performs, for example, communication processing via the Internet (not shown), transmits data provided by the CPU 1001, and outputs data received from the communication partner to the CPU 1001, RAM 1003, and storage unit 1008. A storage unit 1008 communicates with the CPU 1001 to save and erase information. The communication unit 1009 also performs communication processing of analog signals or digital signals with other devices.
 入出力インターフェイス1005はまた、必要に応じてドライブ1010が接続され、例えば、磁気ディスク1011、光ディスク1012、フレキシブルディスク1013、又は半導体メモリ1014などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部1008にインストールされる。 The input/output interface 1005 is also connected to a drive 1010 as necessary, and for example, a magnetic disk 1011, an optical disk 1012, a flexible disk 1013, or a semiconductor memory 1014 is appropriately mounted, and a computer program read from them is required. is installed in the storage unit 1008 according to the
 情報処理装置100の外観構成について説明する。図2に、実施の形態1にかかる情報処理装置100の外観構成を示す。情報処理装置100は、処理部110、表示部120及び入力部130を有する。処理部110は、上述のCPU1001、ROM1002、RAM1003、バス1004、入出力インターフェイス1005、記憶部1008、通信部1009、ドライブ1010などを有するハードウェアとして構成される。表示部120は、上述の出力部1007に対応し、オペレータが視認可能な形式で画像を表示する、LCDなどの表示装置として構成される。入力部130は上述の入力部1006に対応し、マウスやキーボードなどの各種の入力手段により構成される。 The external configuration of the information processing device 100 will be described. FIG. 2 shows the external configuration of the information processing apparatus 100 according to the first embodiment. The information processing device 100 has a processing unit 110 , a display unit 120 and an input unit 130 . The processing unit 110 is configured as hardware having the aforementioned CPU 1001, ROM 1002, RAM 1003, bus 1004, input/output interface 1005, storage unit 1008, communication unit 1009, drive 1010, and the like. The display unit 120 corresponds to the output unit 1007 described above, and is configured as a display device such as an LCD that displays an image in a format that can be visually recognized by the operator. The input unit 130 corresponds to the input unit 1006 described above, and is composed of various input means such as a mouse and a keyboard.
 次いで、情報処理装置100の学習対象の入力データである時系列データTSDについて説明する。時系列データTSDは、データ要素を表す多次元ベクトルの集合として与えられる。iをデータ要素の順番を表すパラメータとすると、データ要素を表す多次元ベクトルaは、時刻t及びm個の成分pを含むベクトルとして、以下の式のように定義される。ここで、iは2の整数であり、mは1以上の整数である。
Figure JPOXMLDOC01-appb-M000001
よって、データ要素の個数をnとすると、時系列データTSDは、以下の式で表される。
Figure JPOXMLDOC01-appb-M000002
Next, time-series data TSD, which is input data to be learned by the information processing apparatus 100, will be described. The time-series data TSD is given as a set of multidimensional vectors representing data elements. Assuming that i is a parameter representing the order of the data elements, a multidimensional vector a i representing the data elements is defined as a vector containing the time t i and m components p as shown in the following equation. Here, i is an integer of 2 and m is an integer of 1 or more.
Figure JPOXMLDOC01-appb-M000001
Therefore, when the number of data elements is n, the time-series data TSD is represented by the following formula.
Figure JPOXMLDOC01-appb-M000002
 時系列データTSDは、例えば情報処理装置100に設けられた記憶部(例えばRAM1003や記憶部1008)に格納される。 The time-series data TSD is stored, for example, in a storage unit provided in the information processing device 100 (for example, the RAM 1003 or the storage unit 1008).
 以下で説明する情報処理装置100においては機械学習が適用されるが、その前提として、機械学習の概要について説明する。以下で説明する一般的な機械学習は、あくまで以下の実施の形態で説明する制御システムの理解の前提に過ぎず、制御システムに適用される機械学習がこれに限定されるものではない。 Machine learning is applied to the information processing apparatus 100 described below, but as a prerequisite, an outline of machine learning will be described. The general machine learning described below is merely a premise for understanding the control system described in the following embodiments, and the machine learning applied to the control system is not limited to this.
 機械学習は、教師あり学習と教師なし学習とに大別される。以下、それぞれの手法の概要について説明する。 Machine learning is broadly divided into supervised learning and unsupervised learning. An outline of each method will be described below.
 一般に、教師あり学習では、与えられた変数(説明変数)からある変数(目的変数)を予測するための学習が行われる。より具体的には、教師あり学習は、入力データ(説明変数)に対して正解データ(目的変数)を与えて、入力データと正解データとの関係性を学習する手法である。 Generally, in supervised learning, learning is performed to predict a certain variable (objective variable) from a given variable (explanatory variable). More specifically, supervised learning is a technique of giving correct data (objective variable) to input data (explanatory variables) and learning the relationship between the input data and the correct data.
 例えば、正解データが連続値である場合には回帰分析による学習が行われる。なお、連続データの学習の手法は、回帰分析(例えば、線形回帰)に限られるものではない。回帰分析においては、入力データを各種の関数によってフィッティングすることで、入力データに対応する出力を予測することが可能となる。 For example, if the correct data are continuous values, learning by regression analysis is performed. Note that the method of learning continuous data is not limited to regression analysis (for example, linear regression). In regression analysis, by fitting input data with various functions, it is possible to predict output corresponding to input data.
 また、入力データに対する正解データがラベル情報である場合には、分類による学習が行われる。分類による学習においては、例えば、回帰(ロジスティクス回帰、サポートベクターマシン)、木(決定木、ランダムフォレスト)、ニューラルネットワーク、クラスタリング(k近傍法など)等の手法が用いられる。 Also, when the correct data for the input data is label information, learning by classification is performed. In learning by classification, for example, techniques such as regression (logistics regression, support vector machine), trees (decision trees, random forests), neural networks, and clustering (k nearest neighbor method, etc.) are used.
 教師なし学習では、正解データが与えられない状態で、入力データの特徴を学習するものである。教師なし学習の手法としては、k-means法やSOINN法に代表されるクラスタリング、PCA法などの次元削減、ホテリングのT法などの異常検知などがある。例えば、クラスタリングでは、入力データから近似し特徴を有するものを抽出してグループ化することが可能である。 In unsupervised learning, the features of input data are learned without correct data being given. Methods of unsupervised learning include clustering represented by the k-means method and the SOINN method, dimension reduction such as the PCA method, and anomaly detection such as Hotelling's T2 method. For example, in clustering, it is possible to extract and group those that are similar and have features from the input data.
 ここで、SOINN法について説明する。SOINN法とは、学習中に必要に応じてニューロンを増殖させる学習手法であり、自己組織化ニューラルネットワーク(SOINN:Self-Organizing Incremental Neural Network)と呼ばれる手法である。SOINNでは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、複雑な分布形状を有するクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を有する。SOINNの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。 Here, the SOINN method will be explained. The SOINN method is a learning method for growing neurons as needed during learning, and is a method called a self-organizing neural network (SOINN). SOINN has many advantages such as being able to learn non-stationary inputs by autonomously managing the number of nodes, and being able to extract an appropriate number of classes and topological structure even for classes with complex distribution shapes. have As an application example of SOINN, for example, in pattern recognition, after learning a class of hiragana characters, a class of katakana characters can be additionally learned.
 このようなSOINNの一例として、E-SOINN(Enhanced SOINN、特許文献1)と称される手法が提案されている。E-SOINNでは、学習を随時追加するオンライン追加学習が可能であり、バッチ学習ではなく学習効率が良いという利点を有している。このため、E-SOINNでは、学習環境が新しい環境に変化した場合においても追加学習が可能である。また、E-SOINNでは、入力データに対するノイズ耐性が高いという利点をも有している。他にも、LB-SOINN(Load Balance Self-Organizing Incremental Neural Network、特許文献2)などの各種のSOINN法も提案されている。 As an example of such SOINN, a method called E-SOINN (Enhanced SOINN, Patent Document 1) has been proposed. E-SOINN is capable of online additional learning in which learning is added at any time, and has the advantage of being more efficient than batch learning. Therefore, in E-SOINN, additional learning is possible even when the learning environment changes to a new environment. E-SOINN also has the advantage of high noise resistance to input data. In addition, various SOINN methods such as LB-SOINN (Load Balance Self-Organizing Incremental Neural Network, Patent Document 2) have been proposed.
 SOINN法では、複数のノードを有するニューラルネットワークが適用される。具体的には、情報処理装置100は、n(nは、1以上の整数)次元ベクトルで記述されるノードが配置される非階層構造のニューラルネットワークが入力される。ニューラルネットワークは、例えばRAM1003などの記憶部に格納されている。 In the SOINN method, a neural network with multiple nodes is applied. Specifically, the information processing apparatus 100 receives a non-hierarchical neural network in which nodes described by an n-dimensional vector (n is an integer equal to or greater than 1) are arranged. A neural network is stored in a storage unit such as the RAM 1003, for example.
 SOINN法におけるニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノード及び辺を自動的に増加させる自己増殖型ニューラルネットワークであり、自己増殖型ニューラルネットワークを用いることで、ノードを自動的に増加させることができる。 A neural network in the SOINN method is a self-propagating neural network that inputs an input vector into the neural network and automatically increases the number of nodes and edges placed in the neural network based on the input vector. The number of nodes can be automatically increased by using a type neural network.
 SOINN法におけるニューラルネットワークは、非階層構造を有するものである。非階層構造を採用することで、他の層での学習を開始するタイミングを指定せずに追加学習を実施することができる。すなわち、オンラインでの追加学習を実施することができる。 The neural network in the SOINN method has a non-hierarchical structure. By adopting a non-hierarchical structure, additional learning can be performed without specifying the timing of starting learning in other layers. That is, additional learning can be carried out online.
 SOINN法におけるクラスタリングは、ノード及び辺を参照し、クラス分類を行うものである。ネットワークを構成するノードのクラス分類は、各種のクラス分類手法を適用可能であり、例えば特許文献2のLB-SOINNと同様の処理を行ってもよい。 Clustering in the SOINN method refers to nodes and edges and performs class classification. Various class classification methods can be applied to the class classification of the nodes that constitute the network, and for example, the same processing as in LB-SOINN of Patent Document 2 may be performed.
 以下、実施の形態1にかかる情報処理装置100の構成及び動作について説明する。図3に、実施の形態1にかかる情報処理装置100の構成を模式的に示す。情報処理装置100は、モデル保持部1、探索部2及び出力部3を有する。 The configuration and operation of the information processing apparatus 100 according to the first embodiment will be described below. FIG. 3 schematically shows the configuration of the information processing apparatus 100 according to the first embodiment. The information processing device 100 has a model holding unit 1 , a search unit 2 and an output unit 3 .
 モデル保持部1は、時系列データである学習用データDATから作成されたモデルMDを読み込んで保持する。モデル保持部1は、例えば、図1のRAM1003及び記憶部1008など各種の記憶手段が適用可能である。 The model holding unit 1 reads and holds the model MD created from the learning data DAT, which is time-series data. Various storage means such as the RAM 1003 and the storage unit 1008 in FIG. 1 can be applied to the model holding unit 1, for example.
 探索部2は、適宜、モデル保持部1からモデルMDを読み込み可能に構成される。探索部2は、別途入力された推定の対象となるデータ(以下、入力データと称する)の状態量を参照し、読み込んだモデルMDに含まれるノードの中から近似するノードを探索する。そして、探索結果を、出力部3へ出力する。 The search unit 2 is configured to be able to read the model MD from the model holding unit 1 as appropriate. The search unit 2 refers to the state quantity of the separately input data to be estimated (hereinafter referred to as input data), and searches for an approximate node from among the nodes included in the loaded model MD. Then, the search result is output to the output unit 3 .
 出力部3は、探索結果に基づいて決定した、入力データの状態量に対応する出力指令値を出力する。 The output unit 3 outputs an output command value corresponding to the state quantity of the input data determined based on the search result.
 次いで、情報処理装置100が用いられる状況について説明する。図4に、実施の形態1にかかる情報処理装置100が用いられる状況を模式的に示す。情報処理装置100は、操作者10が操作対象装置20(例えば、後述するロボット)に対して行った操作を学習フェーズにおいて学習し、推定フェーズにおいて学習結果に基づいて推定した指令値を操作対象装置20に出力することで、操作対象装置20に適切な動作を行わせるものである。なお、以下では、操作対象装置20などの情報処理装置100からの制御を受ける対象物を、単に制御対象とも称する。 Next, a situation in which the information processing device 100 is used will be described. FIG. 4 schematically shows a situation in which the information processing apparatus 100 according to the first embodiment is used. The information processing apparatus 100 learns the operation performed by the operator 10 on the operation target device 20 (for example, a robot described later) in the learning phase, and uses the command value estimated based on the learning result in the estimation phase as the operation target device. By outputting to 20, the operation target device 20 is caused to perform an appropriate operation. In the following description, an object to be controlled by the information processing apparatus 100, such as the operation-targeted apparatus 20, is simply referred to as a control object.
 なお、以下では、学習フェーズで取り扱うデータと推定フェーズで取り扱うデータとを区別するため、学習フェーズで取り扱うデータは大文字で表し、推定フェーズで取り扱うデータを小文字で表す。学習フェーズで取り扱う状態量をP、指令値をQと表記する。学習フェーズで取り扱う状態量、すなわち入力データをp、指令値、すなわち出力値をqと表記する。 In the following, in order to distinguish between the data handled in the learning phase and the data handled in the estimation phase, the data handled in the learning phase are shown in capital letters, and the data handled in the estimation phase are shown in lowercase letters. Let P be the state quantity handled in the learning phase, and Q be the command value. A state quantity handled in the learning phase, ie, input data, is denoted by p, and a command value, ie, an output value is denoted by q.
 学習フェーズにおいて、操作者10は、適切な動作を指令するための指令値を操作対象装置20に与えるため、指令装置11を操作して指示INSを入力する。指令装置11は、入力された指示INSに応じた指令値Qを、操作対象装置20と、モデル作成部12とへ出力する。操作対象装置20は指令値Qに応じた動作を行うとともに、操作対象装置20はモデル作成部12へ状態量Pを出力する。 In the learning phase, the operator 10 operates the command device 11 to input an instruction INS in order to give the operation target device 20 a command value for commanding an appropriate action. The command device 11 outputs a command value Q corresponding to the input instruction INS to the operation target device 20 and the model creation unit 12 . The operation-targeted device 20 performs an operation according to the command value Q, and outputs the state quantity P to the model creation unit 12 .
 これにより、モデル作成部12は、ある時刻における、操作対象装置20へ与えられた指令値Qと操作対象装置20の状態量Pとを取得する。指令値Q及び状態量Pの取得は逐次行われるため、モデル作成部12は、指令値Q及び状態量Pのセットと各セットを取得したタイミングを含むデータ要素を複数含む時系列データTSDを得ることができる。なお、以下では、モデル作成のために予め取得される、操作対象装置20へ与えられた指令値Q及び操作対象装置20の状態量Pを、それぞれ第1の指令値及び第1の状態量とも称する。 As a result, the model creation unit 12 acquires the command value Q given to the operation-targeted device 20 and the state quantity P of the operation-targeted device 20 at a certain time. Since the acquisition of the command value Q and the state quantity P is performed sequentially, the model creation unit 12 obtains the time-series data TSD including a plurality of data elements including the sets of the command value Q and the state quantity P and the timing at which each set was acquired. be able to. Note that hereinafter, the command value Q given to the operation-targeted device 20 and the state quantity P of the operation-targeted device 20, which are obtained in advance for model creation, are also referred to as the first command value and the first state quantity, respectively. called.
 モデル作成部12は、時系列データを適宜加工して学習用データを作成し、学習用データを学習してモデルMDを生成し、モデル保持部1へ出力する。これにより、モデルMDはモデル保持部1によって保持される。すなわち、学習用データは、予め取得された第1の指令値及び第1の状態量からなるデータ要素が複数含まれることとなる。モデル作成部12で作成されるモデルMDは、時系列データの分布構造を、少なくとも状態量及び指令値を要素として含む多次元ベクトルで記述されるノードの集合として学習したモデルである。なお、以下では、モデルMDのノードを記述する多次元ベクトルに含まれる状態量及び指令値を、それぞれ第2の状態量及び第2の指令値とも称する。 The model creating unit 12 appropriately processes the time-series data to create learning data, learns the learning data to generate a model MD, and outputs the model MD to the model holding unit 1 . As a result, the model MD is held by the model holding unit 1 . That is, the learning data includes a plurality of data elements each including the first command value and the first state quantity obtained in advance. The model MD created by the model creation unit 12 is a learned model in which the distribution structure of time-series data is learned as a set of nodes described by multidimensional vectors containing at least state quantities and command values as elements. Note that the state quantity and the command value included in the multidimensional vector describing the node of the model MD are hereinafter also referred to as the second state quantity and the second command value, respectively.
 推定フェーズにおいては、探索部2は、モデル保持部1からモデルMDを適宜読み込む。探索部2は、モデルMDに基づくモデルに入力データ、すなわち、操作対象装置20から取得した状態量pに基づいて、モデルMDに含まれるノードから1つのノードNNEARを決定する。なお、以下では、推定フェーズにおいて操作対象装置20から取得される状態量を、第3の状態量とも称する。出力部3は、ノードNNEARに対応する指令値を読み込み、読み込んだ指令値を指令値Qとして、操作対象装置20へ出力する。本実施の形態では、モデルMDに含まれるノードから1つのノードNNEARを決定したが、モデルMDに含まれるノードから複数のノードを決定してもよい。決定された複数のノードに対応する指令値から、例えば統計的な手法を用いて、出力する指令値を算出してもよい。 In the estimation phase, the search unit 2 reads the model MD from the model holding unit 1 as appropriate. The search unit 2 determines one node N NEAR from the nodes included in the model MD based on the input data for the model based on the model MD, ie, the state quantity p acquired from the operation-targeted device 20 . In addition, below, the state quantity acquired from the operation-targeted device 20 in the estimation phase is also referred to as a third state quantity. The output unit 3 reads the command value corresponding to the node N NEAR and outputs the read command value as the command value Q to the operation target device 20 . In this embodiment, one node N NEAR is determined from the nodes included in the model MD, but a plurality of nodes may be determined from the nodes included in the model MD. A command value to be output may be calculated using, for example, a statistical method from the determined command values corresponding to the plurality of nodes.
 次に、情報処理装置100が行う処理の前提として、モデル作成部12が取得した状態量P及び指令値Qで構成される時系列データTSDと、時系列データTSDに基づいて作成された学習用データDATをモデル作成部12が学習することで生成されるモデルMDについて説明する。 Next, as a premise of the processing performed by the information processing apparatus 100, the time-series data TSD composed of the state quantity P and the command value Q acquired by the model creation unit 12, and the learning data TSD created based on the time-series data TSD A model MD generated by learning the data DAT by the model generating unit 12 will be described.
 モデル作成部12は、学習用データDATを読み込んでクラスタリングを行い、学習用データDATにクラスタリング情報を追加したものをノードとして学習する。なお、以下で説明するように、学習用データDATは状態量P、指令値Q及びタイミングを示す情報を含む時系列データを適宜加工した多次元ベクトルの集合体の形式になっており、各ノードは同じ多次元ベクトルで構成される。 The model creation unit 12 reads the learning data DAT, performs clustering, and learns the clustering information added to the learning data DAT as nodes. As will be described below, the learning data DAT is in the form of a set of multidimensional vectors obtained by appropriately processing time-series data including information indicating the state quantity P, command value Q, and timing. consist of the same multidimensional vectors.
 具体例として、ロボットを使用した実験について学習する例について説明する。図5に、実験に用いるロボットの概要を示す。ロボット30は、ロボットアーム31を有しており、ロボットアーム31の先端からは円柱ポール33が延在しており、ロボットアーム31と円柱ポール33との接続部には、円柱ポール33に作用する力を検出する力センサ32が設けられている。これにより、円柱ポール33に外力が掛かると、力センサ32によってその外力を検出することができる。ロボットアーム31は、水平方向に延在するビーム34が図示しない多関節駆動機構などによって駆動されることで、水平面内(x方向及びy方向)及び高さ方向(z方向)の3次元方向に移動することができる。 As a specific example, we will explain an example of learning about an experiment using a robot. FIG. 5 shows the outline of the robot used in the experiment. The robot 30 has a robot arm 31 , and a cylindrical pole 33 extends from the tip of the robot arm 31 . A force sensor 32 is provided to detect force. Thus, when an external force is applied to the cylindrical pole 33, the force sensor 32 can detect the external force. The robot arm 31 moves in three-dimensional directions in the horizontal plane (x-direction and y-direction) and in the height direction (z-direction) by driving the horizontally extending beam 34 by a multi-joint drive mechanism (not shown) or the like. can move.
 この例では、操作者が指令装置11を使用してロボットアーム31を移動させることで、ロボットアーム31の動作を学習した。但し、ロボットアーム31の動作の学習はこの例に限られず、操作者がロボットアーム31を手で保持しながらその操作を学習してもよいし、遠隔操作システムなどを導入して、遠隔操作にてロボットアーム31を操作して、その操作を学習してもよい。 In this example, the operator learned the motion of the robot arm 31 by moving the robot arm 31 using the command device 11 . However, the learning of the motion of the robot arm 31 is not limited to this example, and the operator may learn the operation while holding the robot arm 31 by hand. Alternatively, the robot arm 31 may be operated to learn the operation.
 図6に、ロボットアーム31が学習する動作の例を示す。この例では、ロボットアーム31が障害物40に接触しながら、水平面(x-y平面)内で障害物40を回避しながら移動するものとする。 FIG. 6 shows examples of motions that the robot arm 31 learns. In this example, it is assumed that the robot arm 31 contacts the obstacle 40 and moves while avoiding the obstacle 40 in the horizontal plane (xy plane).
 図7に、ロボットアーム31が障害物40を回避するときの各状態において作用する力を模式的に示す。以下、各状態における動作と作用する力について説明する。 FIG. 7 schematically shows forces acting in each state when the robot arm 31 avoids the obstacle 40. FIG. The operations and acting forces in each state will be described below.
[状態1]
 ロボットアーム31は、初期位置から+y方向に直進して障害物40に接触する。この場合、状態1の最後で障害物40に接触するまでは、ロボットアーム31に作用する外力はほぼ0となる。
[State 1]
The robot arm 31 moves straight in the +y direction from the initial position and contacts the obstacle 40 . In this case, the external force acting on the robot arm 31 is substantially zero until it contacts the obstacle 40 at the end of state 1 .
[状態2]
 ロボットアーム31は、障害物40に接触すると、ロボットアーム31が障害物40に押しつけられた状態のまま、移動方向を-x方向に変えて、移動を継続する。この場合、ロボットアーム31には、障害物40に押しつけられたことによる-y方向の反力fy2と、+x方向の摩擦力fx2が作用する。
[State 2]
When the robot arm 31 comes into contact with the obstacle 40, the robot arm 31 changes its direction of movement to the -x direction while being pressed against the obstacle 40, and continues to move. In this case, the reaction force fy2 in the −y direction and the frictional force fx2 in the +x direction are applied to the robot arm 31 by being pressed against the obstacle 40 .
[状態3]
 ロボットアーム31は、障害物40の角(-x側かつ-y側の角)に到達すると、移動方向を+y方向に変え、かつ、障害物40に対して+x方向に押しつけられた状態で、移動を継続する。この場合、ロボットアーム31には、障害物40に押しつけられたことによる-x方向の反力fx3と、-y方向の摩擦力fy3が作用する。
[State 3]
When the robot arm 31 reaches the corner of the obstacle 40 (the corner on the -x side and the -y side), it changes its movement direction to the +y direction, and while being pressed against the obstacle 40 in the +x direction, continue moving. In this case, the -x-direction reaction force fx3 and the -y-direction frictional force fy3 act on the robot arm 31 due to being pressed against the obstacle 40 .
[状態4]
 ロボットアーム31は、障害物40の角(-x側かつ+y側の角)に到達すると、移動方向を+x方向に変え、かつ、障害物40に対して-y方向に押しつけられた状態で、移動を継続する。この場合、ロボットアーム31には、障害物40に押しつけられたことによる+y方向の反力fy4と、-x方向の摩擦力fx4が作用する。
[State 4]
When the robot arm 31 reaches the corner of the obstacle 40 (the corner on the -x side and the +y side), it changes its movement direction to the +x direction, and while being pressed against the obstacle 40 in the -y direction, continue moving. In this case, a reaction force fy4 in the +y direction and a frictional force fx4 in the −x direction are applied to the robot arm 31 due to being pressed against the obstacle 40 .
 次いで、本実験における時系列データの形式について説明する。図8に、時系列データTSDの形式を示す。縦方向には時系列データTSDの各データ要素が配列されており、各行がサンプリングされた1つのデータ要素に対応する。各データ要素は、4つの領域DZ1~DZ4を含んでいる。 Next, we will explain the format of the time-series data in this experiment. FIG. 8 shows the format of the time-series data TSD. Each data element of the time-series data TSD is arranged in the vertical direction, and each row corresponds to one sampled data element. Each data element contains four areas DZ1-DZ4.
 第1の領域DZ1は、データ要素のサンプリングの番号iを示している。なお、ここではサンプリングの個数をn(nは1以上の整数)とし、よって、iは1以上n以下の整数である。第2の領域DZ2は、各データ要素をサンプリングした時刻(タイミング)t(i)を示している。 The first area DZ1 indicates the sampling number i of the data element. Here, the number of samples is n (n is an integer of 1 or more), and therefore i is an integer of 1 or more and n or less. A second area DZ2 indicates the time (timing) t(i) at which each data element is sampled.
 第3の領域DZ3は、ロボットアーム31に作用する外力(f(i)、f(i))、速度(v(i)、v(i))、及び、位置(x(i)、y(i))などであり、この領域DZ3に含まれる値は、制御対象の情報に関する値を示している。 The third area DZ3 includes external forces (f x (i), f y (i)), velocities (v x (i), v y (i)), and positions (x(i ), y(i)), etc., and the values contained in this area DZ3 indicate the values relating to the information of the controlled object.
 第4の領域DZ4は、ロボットアーム31に与える指令値として、操作によってロボットアーム31に加えた力(F(i)、F(i))であり、この領域DZ4に含まれる量が指令値に対応する。なお、ここでは、力を指令値としているが、これは例示に過ぎず、速度及び位置などの他の値を指令値としてもよい。 A fourth area DZ4 is a force ( Fx (i), Fy (i)) applied to the robot arm 31 by an operation as a command value to be given to the robot arm 31, and the amount included in this area DZ4 is the command value. corresponds to the value. Although force is used as the command value here, this is merely an example, and other values such as velocity and position may be used as the command value.
 ここでは、力、速度及び位置がいずれのデータ要素に属するかを示すためにサンプリング番号iを用いているが、これは例示に過ぎず、サンプリング番号iに変えて時刻t(i)を用いてもよい。 Here, the sampling number i is used to indicate to which data element the force, velocity and position belong, but this is merely an example. good too.
 この例では、以下の式に示すように、上記の第3の領域DZ3に含まれる力及び速度を、学習用データDATに含まれる状態量P(i)として用いる。
Figure JPOXMLDOC01-appb-M000003
なお、状態量Pはこれに限られるものではなく、必要に応じて、iよりも前の領域DZ3に含まれる値を含めてもよいし、領域DZ1、DZ2及びD4の一部又は全部の値を含めてもよい。
In this example, the force and velocity included in the third region DZ3 are used as the state quantity P(i) included in the learning data DAT, as shown in the following equations.
Figure JPOXMLDOC01-appb-M000003
It should be noted that the state quantity P is not limited to this, and if necessary, it may include values included in the area DZ3 before i, or the values of some or all of the areas DZ1, DZ2, and D4. may be included.
 また、以下の式に示すように、上記の第4の領域DZ4に含まれる指令値に対して所定の時間hだけ将来の指令値を指令値Qとして用いる。
Figure JPOXMLDOC01-appb-M000004
以上より、学習用データDATのデータ要素は以下の式で表される。
Figure JPOXMLDOC01-appb-M000005
ここで、指令値Qの時刻としてhだけ将来のi+hでの値を用いている点について説明する。本実施の形態では、操作対象装置から状態量を取得し、探索部が取得した状態量に基づいて推定した指令値を操作対象装置に与え得ることで、操作対象装置を適切に操作するものである。そこで、状態量を取得してから指令値を与えるまでの間で、ある程度のタイムラグが存在することが考え得る。この場合、ある時刻に取得した状態量に対しては、このタイムラグ分だけ将来の指令値を対応させることが望ましい。そのため、本実施の形態では、このタイムラグを反映するため、hだけ将来の指令値を状態量に対応させている。ただし、タイムラグが無視しうるほど小さいことも有るため、hは0以上の任意の値、すなわち、0以上の整数としてもよい。
Further, as shown in the following formula, a future command value for a predetermined time h is used as the command value Q with respect to the command value included in the fourth region DZ4.
Figure JPOXMLDOC01-appb-M000004
From the above, the data element of the learning data DAT is represented by the following formula.
Figure JPOXMLDOC01-appb-M000005
Here, the fact that the value at i+h in the future by h is used as the time of the command value Q will be explained. In the present embodiment, the state quantity is acquired from the operation target device, and the command value estimated based on the state quantity acquired by the search unit can be given to the operation target device, thereby appropriately operating the operation target device. be. Therefore, it is conceivable that there is a certain amount of time lag between obtaining the state quantity and giving the command value. In this case, it is desirable that the state quantity acquired at a certain time corresponds to a future command value by this time lag. Therefore, in the present embodiment, in order to reflect this time lag, the future command value is made to correspond to the state quantity by h. However, since the time lag may be so small that it can be ignored, h may be an arbitrary value of 0 or more, that is, an integer of 0 or more.
 学習用データDATは、以下の式で表される。
Figure JPOXMLDOC01-appb-M000006
The learning data DAT is represented by the following formula.
Figure JPOXMLDOC01-appb-M000006
 なお、本実施の形態では、式[4]及び[5]において、時間的に最後にサンプリングした指令値Q(n)よりも将来の指令値Q(n+1)~Q(n+h)については、指令値Q(n)を用いるものとした。但し、将来の指令値Q(n+1)~Q(n+h)はこれに限られるものではなく、動作が好適なものとなるように、適宜他の値を用いてもよい。また、将来の指令値Q(n+1)~Q(n+h)のように時系列データTSDには本来存在しない指令値を有するデータ要素Diについては、学習用データDATに含めないようにしてもよい。 In the present embodiment, in the expressions [4] and [5], the command values Q(n+1) to Q(n+h) after the command value Q(n) sampled last in time are It was assumed that the value Q(n) was used. However, the future command values Q(n+1) to Q(n+h) are not limited to these, and other values may be used as appropriate so that the operation is favorable. Further, data elements Di having command values that do not originally exist in the time-series data TSD, such as future command values Q(n+1) to Q(n+h), may not be included in the learning data DAT.
 本実施の形態では、学習用データDATのデータ要素数をサンプリング数nと同数としたが、それに限らない。例えば、{D1,D3,D5..}のように要素の一部のみを学習データDATとしてもよいし、例えばDiと Di+1の間を補完するように新たなデータを作成して学習用データDATに加えてもよい。 In the present embodiment, the number of data elements of the learning data DAT is the same as the sampling number n, but it is not limited to this. For example, {D1, D3, D5 . . } may be used as the learning data DAT, or new data may be created to complement the space between Di and Di+1 and added to the learning data DAT.
 次いで、この例におけるモデル作成について説明する。モデル作成部12は、学習用データDATに対して教師なし学習であるクラスタリングを行い、クラスタリング結果をモデルとして生成する。ここでは、クラスタリング手法としては、k-means法を用いる。なお、クラスタリング手法はこれに限られるものではなく、DBSCAN(Density-based spatial clustering of applications with noise)などの他の各種のクラスタリング手法を用いてもよい。また、この例では距離指標としてユークリッド距離を用いるが、他の距離指標を適宜用いてもよい。 Next, the model creation in this example will be explained. The model creating unit 12 performs clustering, which is unsupervised learning, on the learning data DAT, and creates a clustering result as a model. Here, the k-means method is used as the clustering method. Note that the clustering method is not limited to this, and various other clustering methods such as DBSCAN (Density-based spatial clustering of applications with noise) may be used. Also, in this example, the Euclidean distance is used as the distance index, but other distance indexes may be used as appropriate.
 図9に、ロボットアーム31の動作を学習させた例を示す。図9では、可視化しやすいように、学習データの状態量の中からfx,fyの2次元平面を抜き出してマッピングしている。破線で分けられている領域が各々のクラスタリング領域であり、この例では4つの領域に分けられている。図6及び7に示すように、領域CL1が障害物への衝突前の状態(状態1)、領域CL2が衝突後に左方向へ移動している状態(状態2)、CL3が障害物の左側を上方向へ移動している状態(状態3)、状態CL4が障害物を右方向へ移動している状態(状態4)に対応している。 FIG. 9 shows an example in which the motion of the robot arm 31 is learned. In FIG. 9, two-dimensional planes of fx and fy are extracted from the state quantities of learning data and mapped for easy visualization. Regions separated by dashed lines are respective clustering regions, and are divided into four regions in this example. As shown in FIGS. 6 and 7, the area CL1 is in the state before collision with the obstacle (state 1), the area CL2 is in the state of moving leftward after the collision (state 2), and the area CL3 is on the left side of the obstacle. The state of moving upward (state 3) corresponds to the state CL4 of moving the obstacle to the right (state 4).
 モデル作成部12は、学習用データDATに対してクラスタリング結果を付与したものをノードとして作成する。図10に、モデル作成部が作成するノードを示す。図10に示すように、学習用データDATの各データ要素にクラスタリング結果を示すCL1~CL4のいずれかを付加したものがノードとして作成される。すなわち、i番目のノードは、以下の式で表される。
Figure JPOXMLDOC01-appb-M000007
なお、cliはクラスタ番号であり、CL1~CL4のいずれかの値をとる。
The model creating unit 12 creates nodes by adding clustering results to the learning data DAT. FIG. 10 shows nodes created by the model creating unit. As shown in FIG. 10, a node is created by adding one of CL1 to CL4 indicating the clustering result to each data element of the learning data DAT. That is, the i-th node is represented by the following formula.
Figure JPOXMLDOC01-appb-M000007
Note that cl i is a cluster number and takes any value from CL1 to CL4.
 モデル作成部12は、上式で表される学習用データDATの要素数(本実施の形態ではn個)のノードの集合であるモデルMDを出力する。モデルMDは、以下の式で表される。
Figure JPOXMLDOC01-appb-M000008
The model creating unit 12 outputs a model MD which is a set of nodes corresponding to the number of elements (n in this embodiment) of the learning data DAT represented by the above equation. Model MD is represented by the following formula.
Figure JPOXMLDOC01-appb-M000008
 学習用データは時系列データであるので、当然ながら、学習により得られるノードも時系列に順序を有している。具体的には、ノードは時間に関する量、ここではサンプリング順序と紐付けることができるので、ノードを時系列に並べることが可能である。なお、ノードに時系列の順序を持たせる方法はこれに限られるものではなく、ノードを表現する多次元ベクトルに時間に関する量(すなわち、時刻)を要素として含めることで表現してもよい。  Because the learning data is time series data, naturally the nodes obtained by learning also have an order in time series. Specifically, the nodes can be associated with a quantity related to time, here the sampling order, so it is possible to arrange the nodes in chronological order. It should be noted that the method of giving a chronological order to nodes is not limited to this, and may be expressed by including a quantity related to time (that is, time) as an element in a multidimensional vector that expresses nodes.
 この例では、4つのクラスタCL1~CL4は、時系列的にCL1、CL2、CL3、CL4の順であることが得られる。 In this example, the four clusters CL1 to CL4 are obtained in chronological order CL1, CL2, CL3, and CL4.
 次に、情報処理装置100が行う処理について説明する。図11に、実施の形態1にかかる情報処理装置100における処理のフローチャートを示す。情報処理装置100の動作は、以下のステップSA1~SA5で構成される。 Next, the processing performed by the information processing device 100 will be described. FIG. 11 shows a flowchart of processing in the information processing apparatus 100 according to the first embodiment. The operation of the information processing apparatus 100 consists of steps SA1 to SA5 below.
ステップSA1
 探索部2は、モデル保持部1からモデルMDを読み込む。
Step SA1
The searching unit 2 reads the model MD from the model holding unit 1 .
ステップSA2
 探索部2は、入力データである状態量pを取得する。
Step SA2
The search unit 2 acquires the state quantity p, which is input data.
ステップSA3
 探索部2は、入力データである状態量pがモデルMDのクラスタのいずれに属するかを取得する。以下では、入力データである状態量pが属するクラスタを対象クラスタCTRGと称する。ここでは、入力データである状態量pと各クラスタの重心との距離を計算し、最短距離にある重心を有するクラスタを対象クラスタCTRGとする。なお、対象クラスタCTRGの決定方法はこれに限られず、他の決定方法を適宜用いてもよい。
Step SA3
The search unit 2 acquires to which cluster of the model MD the state quantity p, which is input data, belongs. Hereinafter, the cluster to which the state quantity p, which is the input data, belongs will be referred to as the target cluster C TRG . Here, the distance between the state quantity p, which is the input data, and the center of gravity of each cluster is calculated, and the cluster having the center of gravity at the shortest distance is taken as the target cluster C TRG . Note that the method of determining the target cluster C TRG is not limited to this, and other determination methods may be used as appropriate.
ステップSA4
 探索部2は、対象クラスタCTRGと、対象クラスタCTRGに対して時間的に直後のクラスタCNEXTに含まれるノードから、入力データである状態量pに最も近い状態量を有するノードNNEARを1つ探索し、探索結果を出力部3へ出力する。ここでは、ノードを探索するための距離指標として、ユークリッド距離を用いる。なお、以下では、入力データである状態量pに最も近い状態量を有するノードNNEARを、単に、最も近いノードNNEARと称する。
Step SA4
The search unit 2 selects a node N NEAR having a state quantity closest to the state quantity p, which is the input data, from the nodes included in the target cluster C TRG and the cluster C NEXT temporally immediately after the target cluster C TRG . One search is performed and the search result is output to the output unit 3 . Here, Euclidean distance is used as a distance index for searching for nodes. Note that the node N_NEAR having the state quantity closest to the state quantity p, which is the input data, is hereinafter simply referred to as the nearest node N_NEAR .
 ここでは、最も近いノードを1つだけ探索したが、入力データである状態量pから近い複数のノードを探索してもよい。この場合、状態量pから近い順に所定個数のノードを探索してもよいし、状態量pから所定の距離以内の複数のノードを探索してもよい。 Here, only one closest node was searched, but multiple nodes close to the state quantity p, which is the input data, may be searched. In this case, a predetermined number of nodes may be searched in order of proximity from the state quantity p, or a plurality of nodes within a predetermined distance from the state quantity p may be searched.
 探索の対象となるクラスタは、対象クラスタCTRG及び直後のクラスタCNEXTであるものとしたが、例えば、時間的に更に次のクラスタを対象にしてもよいし、直後のクラスタCNEXTのうちで時間的に早い半数のノードのみを対象としてもよい。 The clusters to be searched are the target cluster C TRG and the immediately following cluster C NEXT . Only half of the nodes that are earlier in time may be targeted.
 また、ノードを探索するための距離指標としてユークリッド距離を用いたが、他の距離指標を適宜用いてもよい。 Also, the Euclidean distance is used as the distance index for searching for nodes, but other distance indexes may be used as appropriate.
ステップSA5
 出力部3は、最も近いノードNNEARに基づいて決定した出力指令値qOUTを出力する。例えば、出力部3は、最も近いノードNNEARが保持する指令値qNEARを、出力指令値qOUTとして出力してもよい(第1の出力指令値決定方法)。
Step SA5
The output unit 3 outputs an output command value q OUT determined based on the nearest node N NEAR . For example, the output unit 3 may output the command value q NEAR held by the nearest node N NEAR as the output command value q OUT (first output command value determination method).
 なお、出力部3が出力指令値qOUTを決定する方法はこれに限られるものではなく、例えば以下のように決定してもよい。例えば、出力部3は、最も近いノードNNEARが属するクラスタの全ノードの指令値の平均値を、出力指令値qOUTとして出力してもよい(第2の出力指令値決定方法)。 The method by which the output unit 3 determines the output command value q OUT is not limited to this, and may be determined as follows, for example. For example, the output unit 3 may output the average value of the command values of all nodes in the cluster to which the nearest node N NEAR belongs as the output command value q OUT (second output command value determination method).
 また、出力部3は、最も近いノードNNEARが属するクラスタのノードの一部のノードの指令値の平均値を、出力指令値qOUTとして出力してもよい(第3の出力指令値決定方法)。このとき、最も近いノードNNEARから所定の距離以内のノード、最も近いノードNNEARから距離が近い順位に選択した所定個数のノードなど、種々の選択方法によって選択したノードの指令値の平均値を出力指令値qOUTとして出力してもよい。 Further, the output unit 3 may output the average value of the command values of some of the nodes of the cluster to which the nearest node N NEAR belongs as the output command value q OUT (third output command value determination method ). At this time, the average value of the command values of the nodes selected by various selection methods, such as nodes within a predetermined distance from the nearest node N NEAR and a predetermined number of nodes selected in order of closest distance from the nearest node N NEAR It may be output as an output command value q OUT .
 さらに、ステップSA4において複数のノードを探索した場合には、複数のノードの指令値の平均値を出力指令値qOUTとして出力してもよい(第4の出力指令値決定方法)。 Furthermore, when a plurality of nodes are searched in step SA4, the average value of the command values of the plurality of nodes may be output as the output command value q OUT (fourth output command value determination method).
 なお、第2~第4の出力指令値決定方法においては平均値を用いたが、これは例示に過ぎず、中央値、最大値及び最小値など統計的な手法により算出可能な各種の値、換言すれば統計量に基づいて決定した値を指令値として算出してもよい。  Although the average value is used in the second to fourth output command value determination methods, this is merely an example. In other words, a value determined based on statistics may be calculated as the command value. 
 以上説明したように、本構成によれば、入力データpに対応する出力値を求めるときに、入力データpに対する距離を計算するノードを、全ノードではなく、限定されたクラスタ群に含まれるノードに限定することができる。これにより、一般的なk近傍法などの手法と比べて、距離計算の対象となるノードの数を大幅に削減することができ、入力データpに対応する出力値を求める処理を高速化することが可能となる。  As described above, according to this configuration, when obtaining the output value corresponding to the input data p, the nodes that calculate the distance to the input data p are not all nodes but nodes included in a limited cluster group. can be limited to This makes it possible to greatly reduce the number of nodes to be distance-calculated compared to general methods such as the k-nearest neighbor method, thereby speeding up the process of finding the output value corresponding to the input data p. becomes possible. 
 情報処理装置100における基本的な動作は以上で説明した通りであるが、入力データxが複数個連続して入力される場合には、以下で説明する動作を行ってもよい。図12に、実施の形態1にかかる情報処理装置100における処理の変形例のフローチャートを示す。この変形例では、2個目以降の入力データpに対しては、1つ前に入力された入力データpに基づいて決定した対象クラスタCTRGを用いて、最も近いノードNNEARを探索するものである。図12に示す動作では、図11のステップSA1~SA5の他に、ステップSA11~SA14が追加されている。SA1~SA5については図11と同様であるので、追加したステップSA11~SA14について説明する。 The basic operation of the information processing apparatus 100 has been described above, but when a plurality of pieces of input data x are continuously input, the operation described below may be performed. FIG. 12 shows a flowchart of a modified example of processing in the information processing apparatus 100 according to the first embodiment. In this modification, for the second and subsequent input data p, the target cluster C TRG determined based on the previous input data p is used to search for the nearest node N NEAR . is. In the operation shown in FIG. 12, steps SA11 to SA14 are added to steps SA1 to SA5 in FIG. Since SA1 to SA5 are the same as in FIG. 11, the added steps SA11 to SA14 will be explained.
ステップSA11
 ステップSA11は、ステップSAの前段に挿入されるステップである。探索部2は、まず初めに、動作が初期状態、すなわち、入力データxの入力が初めてであることを示すため、初期フラグFGの値として0を設定する。なお、初期フラグはこの例に限られず、動作が初期状態であることを示せる限り、いなかる形式のデータでもよい。
Step SA11
Step SA11 is a step inserted before step SA. First, the search unit 2 sets 0 as the value of the initial flag FG in order to indicate that the operation is in the initial state, that is, the input of the input data x is the first time. Note that the initial flag is not limited to this example, and may be data of any format as long as it can indicate that the operation is in the initial state.
ステップSA12
 ステップSA12は、ステップSA2とステップSA3との間に挿入されるステップである。探索部2は、動作が初期状態であるか、すなわち初期フラグFGの値が0であるか否かを判定する。初期フラグFGの値が0である(初期状態)場合には処理をステップSA3へ進め、初期フラグFGの値が0ではない(初期状態ではない)場合には処理をステップSA4へ進める。
Step SA12
Step SA12 is a step inserted between steps SA2 and SA3. The search unit 2 determines whether the operation is in the initial state, that is, whether the value of the initial flag FG is zero. If the value of the initial flag FG is 0 (initial state), the process proceeds to step SA3, and if the value of the initial flag FG is not 0 (not the initial state), the process proceeds to step SA4.
ステップSA13
 ステップSA13は、ステップSA3とステップSA4との間に挿入されるステップである。探索部2は、動作が初期状態ではないことを示すため、初期フラグFGの値を1に切り替える。
Step SA13
Step SA13 is a step inserted between steps SA3 and SA4. The search unit 2 switches the value of the initial flag FG to 1 to indicate that the operation is not in the initial state.
ステップSA14
 探索部2は、ステップSA4で取得された最も近いノードNNEARが属するクラスタに基づいて、次回の処理における対象クラスタCTRGを決定する。ここでは、今回の処理で検出した最も近いノードNNEARのクラスタを対象クラスタCTRGと決定する。なお、次回の処理における対象クラスタCTRGの決定方法はこれに限られず、例えば、過去の所定回数の処理で検出された最も近いノードNNEARが属するクラスタのうちで、最も出現頻度が多いクラスタを次回の処理における対象クラスタCTRGとしてもよい。さらに、ステップSA4において複数のノードを探索した場合には、その複数のノードが属するクラスタのうちで頻度の多いクラスタを次回の処理における対象クラスタCtrgとしてもよい。例えば、ステップSA4で5つのノードが探索され、そのクラスタが{3,3,4,4,4}だった場合、対象クラスタを4としてもよい。
Step SA14
The searching unit 2 determines the target cluster C TRG in the next process based on the cluster to which the closest node N NEAR acquired in step SA4 belongs. Here, the cluster of the closest nodes N_NEAR detected in this process is determined as the target cluster C_TRG . Note that the method of determining the target cluster C TRG in the next process is not limited to this. It may be the target cluster C TRG in the next processing. Furthermore, when a plurality of nodes are searched in step SA4, a cluster with a high frequency among the clusters to which the plurality of nodes belong may be set as the target cluster C trg in the next processing. For example, if 5 nodes are searched in step SA4 and the cluster is {3, 3, 4, 4, 4}, the target cluster may be 4.
 以上、説明した変形例によれば、前回入力された入力データpに対応する最も近いノードNNEARが属するクラスタを、次回入力される入力データpに対して用いる対象クラスタCTRGとすることができる。一般に時系列データは、隣接する入力データ間では急峻な変化は稀であり、比較的緩やかに変化することが期待されるため、隣接する入力データ間の距離も短くなることが期待される。 According to the modified example described above, the cluster to which the closest node N NEAR corresponding to the input data p input last time belongs can be set as the target cluster C TRG to be used for the input data p to be input next time. . In time-series data, in general, sharp changes between adjacent input data are rare, and it is expected to change relatively slowly, so the distance between adjacent input data is also expected to be short.
 そのため、次回の処理で入力される入力データpについても、前回の処理の最も近いノードNNEARからの距離は短いと考えられる。よって、次回の処理で用いるべき対象クラスタCTRGも、結果として前回の処理の対象クラスタCTRGと同じクラスタになる場合が多いと考えられる。そこで、本変形例においては、前回の処理の最も近いノードNNEARが属するクラスタを次回の処理の対象クラスタCTRGとして用いることで、2回目以降の処理の対象クラスタCTRGを簡便な処理で決定することができる。具体的には、1回目の対象クラスタCTRGの決定は、ステップSA3(図11)のように各クラスタの重心と入力データとの間の距離を算出しているため、各クラスタの重心を算出する必要がある。これに対し、本変形例においては、2回目以降の対象クラスタCTRGの決定を簡便な処理で行い、各クラスタの重心を計算せずともよいので、計算量を削減して処理時間の短縮を実現できる。なお、本実施の形態では、1回目の対象クラスタCtrgの決定は、各クラスタの重心と入力データとの間の距離を算出して決定したが、これに限らず、時系列的に最初のクラスタ(本実施の形態ではCL1)を1回目の対象クラスタCtrgとしてもよい。 Therefore, it is considered that the input data p input in the next process also has a short distance from the nearest node N_NEAR in the previous process. Therefore, the target cluster C TRG to be used in the next process is likely to be the same cluster as the target cluster C TRG in the previous process. Therefore, in this modification, by using the cluster to which the node N NEAR closest to the previous process belongs as the target cluster C TRG for the next process, the target cluster C TRG for the second and subsequent processes is determined by a simple process. can do. Specifically, the first target cluster C TRG is determined by calculating the distance between the centroid of each cluster and the input data as in step SA3 (FIG. 11). There is a need to. On the other hand, in this modified example, the determination of the target cluster C TRG for the second and subsequent times is performed by a simple process, and it is not necessary to calculate the center of gravity of each cluster. realizable. In the present embodiment, the first target cluster Ctrg is determined by calculating the distance between the center of gravity of each cluster and the input data. (CL1 in this embodiment) may be set as the first target cluster Ctrg.
 次いで、実施の形態1にかかる情報処理装置100での処理の具体例について説明する。図13に、実施の形態1にかかる情報処理装置100での処理とk近傍法での処理とにおける距離計算の対象となるノードを示す。情報処理装置100では、上述の通り、2つのクラスタCL2及びCL3に属するノードのみが、入力データpに対する距離の計算の対象となる。これに対し、k近傍法では、モデルMDに含まれる全てのノードが、入力データpに対する距離の計算の対象となってしまう。なお、本実施の形態では、説明の簡略化のため、数十個のノードが属するクラスタを4つ含むモデルを例として説明したが、これは例示に過ぎない。より多数のクラスタを含み、かつ、1つのクラスタに属するノード数がより多いモデルにおいても、本構成を適用することで、入力データに対する距離計算の対象となるノードを、限定されたクラスタに属するノードに限定することが可能であるので、よりクラスタ数が多いモデルにおいても、指令値の出力処理をより高速化することができる。 Next, a specific example of processing in the information processing apparatus 100 according to the first embodiment will be described. FIG. 13 shows nodes for distance calculation in the processing by the information processing apparatus 100 according to the first embodiment and the processing by the k-nearest neighbor method. In the information processing apparatus 100, as described above, only the nodes belonging to the two clusters CL2 and CL3 are subject to distance calculation for the input data p. On the other hand, in the k-nearest neighbor method, all nodes included in the model MD are subject to distance calculation for the input data p. In the present embodiment, a model including four clusters to which dozens of nodes belong has been described as an example for simplification of description, but this is merely an example. Even in a model that includes a larger number of clusters and has a larger number of nodes belonging to one cluster, by applying this configuration, the nodes that are the target of distance calculation for input data are limited to nodes belonging to a limited cluster. , it is possible to speed up the command value output process even in a model with a larger number of clusters.
 よって、本構成によれば、入力データpに対応する出力値を求めるときに、入力データpに対する距離を計算するノードを制限して、処理速度を向上させることができる。 Therefore, according to this configuration, when obtaining the output value corresponding to the input data p, it is possible to improve the processing speed by limiting the nodes that calculate the distance to the input data p.
 実施の形態2
 実施の形態2にかかる情報処理装置200について説明する。図14に、実施の形態2にかかる情報処理装置200の構成を模式的に示す。また、図15に、実施の形態2にかかる情報処理装置200が用いられる状況を模式的に示す。情報処理装置200は、情報処理装置100にモデル作成部4を追加し、かつ、探索部2を探索部6に置換した構成を有する。
Embodiment 2
An information processing apparatus 200 according to the second embodiment will be described. FIG. 14 schematically shows the configuration of an information processing apparatus 200 according to the second embodiment. Also, FIG. 15 schematically shows a situation in which the information processing apparatus 200 according to the second embodiment is used. The information processing apparatus 200 has a configuration obtained by adding a model creation unit 4 to the information processing apparatus 100 and replacing the search unit 2 with a search unit 6 .
 モデル作成部4は、時系列データである学習用データDATを読み込んでSOINN法による学習を行い、モデルMDを作成する。作成されたモデルMDは、モデル保持部1へ出力される。モデル作成部4における学習については、後述する。 The model creating unit 4 reads learning data DAT, which is time-series data, and performs learning by the SOINN method to create a model MD. The created model MD is output to the model holding unit 1 . The learning in the model creating unit 4 will be described later.
 探索部5は、モデルMDを用いて、別途入力された推定の対象となるデータ(以下、入力データと称する)の状態量を参照し、モデルMDに含まれるノードの中から近似するノードを探索する。そして、探索結果を、出力部3へ出力する。 Using the model MD, the search unit 5 refers to the state quantity of separately input data to be estimated (hereinafter referred to as input data), and searches for an approximate node from among the nodes included in the model MD. do. Then, the search result is output to the output unit 3 .
 データ保持部1及び出力部3については、実施の形態1と同様であるので、説明を省略する。 The data holding unit 1 and the output unit 3 are the same as in the first embodiment, so descriptions thereof are omitted.
 次に、情報処理装置200が行う処理について説明する。図16に、実施の形態2にかかる情報処理装置200における動作のフローチャートを示す。 Next, the processing performed by the information processing device 200 will be described. FIG. 16 shows a flowchart of operations in the information processing apparatus 200 according to the second embodiment.
ステップSB1
 モデル作成部4は、SOINN法により、状態量P及び指令値Qを受け取って保持及び加工して得られる学習用データDATを学習してモデルMDを作成する。SOINN法は、多次元ベクトルで記述された入力データを入力することで、入力データを表現するノードが生成され、この生成されたノードによって構成されるネットワークとしてモデルMDが得られるものである。以下、SOINN法における学習処理について説明する。
Step SB1
The model creation unit 4 creates the model MD by learning the learning data DAT obtained by receiving, holding and processing the state quantity P and the command value Q according to the SOINN method. In the SOINN method, by inputting input data described by a multidimensional vector, nodes representing the input data are generated, and a model MD is obtained as a network composed of the generated nodes. The learning process in the SOINN method will be described below.
 モデル作成部4は、SOINN法を用いることで、n次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造のニューラルネットワークからなるモデルを作成する。モデル作成部4が作成するモデルを構成するニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、1層構造を有するものである。 The model creating unit 4 uses the SOINN method to create a model consisting of a neural network with a structure of at least one layer or more in which nodes described by n-dimensional vectors are arranged. The neural network that constitutes the model created by the model creating unit 4 is a self-propagating neural network that inputs an input vector into the neural network and automatically increases the number of nodes arranged in the neural network based on the input vector that is input. It is a network and has a one-layer structure.
 これにより、自己増殖型ニューラルネットワークを用いてノードを自動的に増加させることができるため、順次入力ベクトルを入力することで、オンラインでの追加学習を行うことが可能である。 As a result, the number of nodes can be automatically increased using a self-propagating neural network, so it is possible to perform additional online learning by sequentially inputting input vectors.
 以下、モデル作成部4の構成について説明する。図17に、実施の形態2にかかるモデル作成部4の構成を模式的に示す。モデル作成部4は、入力情報取得手段41、勝者ノード探索手段42、類似度閾値算出手段43、類似度閾値判定手段44、ノード挿入手段45、重みベクトル更新手段46、ノード密度算出手段47、分布重なり領域検出手段48、辺接続判定手段49、辺接続手段50、辺削除手段51、ノイズノード削除手段52及び出力情報表示手段53を有する。 The configuration of the model creation unit 4 will be described below. FIG. 17 schematically shows the configuration of the model creation unit 4 according to the second embodiment. The model creation unit 4 includes input information acquisition means 41, winner node search means 42, similarity threshold calculation means 43, similarity threshold determination means 44, node insertion means 45, weight vector update means 46, node density calculation means 47, distribution It has overlapping area detection means 48 , edge connection determination means 49 , edge connection means 50 , edge deletion means 51 , noise node deletion means 52 and output information display means 53 .
 なお、以下のSOINN法の説明において、i、j、k、xなどの各種のアルファベットを用いるが、これはSOINN法の説明のために便宜上用いるものであり、実施の形態1において用いられるアルファベットと重複して使用されている場合でも、異なる値を示すものであるものとする。 Various alphabets such as i, j, k, and x are used in the following explanation of the SOINN method, but these are used for convenience in explaining the SOINN method, and are different from the alphabets used in the first embodiment. Even if they are used more than once, they shall indicate different values.
 入力情報取得手段41は、モデル作成部4に入力として与えられる情報として、n次元の入力ベクトルを取得する。そして、取得された入力ベクトルを一時記憶部(例えばRAM1003)に格納し、一時記憶部に格納されたニューラルネットワークに対して順次入力する。 The input information acquisition means 41 acquires an n-dimensional input vector as information given to the model creation unit 4 as an input. Then, the acquired input vectors are stored in a temporary storage unit (for example, RAM 1003) and sequentially input to the neural network stored in the temporary storage unit.
 勝者ノード探索手段42は、一時記憶部に格納される入力ベクトル及びノードについて、入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとして探索し、その結果を一時記憶部に格納する。すなわち、n次元の入力ベクトルξに対して、一時記憶部に格納される以下の式を満足するノードを、それぞれ第1勝者ノードa及び第2勝者ノードaとして探索し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
 ここで、aは一時記憶部に格納されたノード集合Aに含まれるノードであり、Wは一時記憶部に格納されたノードaの重みベクトルである。
The winner node search means 42 regards the node having the weight vector closest to the input vector as the first winner node, and the node having the weight vector closest to the input vector as the second winner node, among the input vectors and nodes stored in the temporary storage unit. It searches as a node and stores the result in the temporary memory. That is, for an n-dimensional input vector ξ, nodes that satisfy the following equations stored in the temporary memory are searched as the first winner node a1 and the second winner node a2, respectively, and the results are stored in the temporary memory. Store in the storage unit.
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
Here, a is a node included in the node set A stored in the temporary storage, and W a is the weight vector of node a stored in the temporary storage.
 類似度閾値算出手段43は、一時記憶部に格納されたノード及びノードの類似度閾値について、注目するノードについて、注目するノードと辺によって直接的に接続されるノード(以下、隣接ノードという。)が存在する場合には、隣接ノードのうち注目するノードからの距離が最大であるノードまでの距離を類似度閾値として算出し、その結果を一時記憶部に格納し、隣接ノードが存在しない場合には、注目するノードからの距離が最小であるノードまでの距離を類似度閾値として算出し、その結果を一時記憶部に格納する。具体的には、例えば以下のようにして注目するノードの類似度閾値を算出し、その結果を一時記憶部に格納する。
[手順M_A1]
 類似度閾値算出手段43は、新しく挿入され一時記憶部に格納されたノードiの類似度閾値Tを+∞(十分大きな値)に設定し、その結果を一時記憶部に格納する。
[手順M_A2]
 一時記憶部に格納されたノードについて、ノードiが入力ベクトルから最も近いノードまたは2番目に近いノードとなった場合に、ノードiが隣接ノードを持つか否かを判定し、その結果を一時記憶部に格納する。
[手順M_A3]
 一時記憶部に格納された判定の結果、隣接ノードを持つ場合には、一時記憶部に格納された類似度閾値及びノードについて、類似度閾値Tを隣接ノードへの最大距離とし、その結果を一時記憶部に格納する。
 即ち、ノードiについて、一時記憶部に格納される以下の式に基づいて類似度閾値Tを算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000011
 ここで、cは一時記憶部に格納されたノードiの隣接ノード集合Nに含まれるノードであり、Wは一時記憶部に格納されたノードcの重みベクトルである。
[手順M_A4]
 判定の結果、隣接ノードを持たない場合には、ノードiからノードiを除いた他の各ノードへの距離を算出し、算出された距離のうち最小の距離を類似度閾値Tとする。
 即ち、ノードiについて、一時記憶部に格納される以下の式に基づいて類似度閾値Tを算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000012
The similarity threshold calculation means 43 calculates, for the node of interest and the similarity threshold of the node stored in the temporary storage unit, the node directly connected to the node of interest by an edge (hereinafter referred to as an adjacent node). exists, the distance to the node with the maximum distance from the node of interest among the adjacent nodes is calculated as the similarity threshold, the result is stored in the temporary storage unit, and if the adjacent node does not exist calculates the distance to the node with the smallest distance from the node of interest as the similarity threshold, and stores the result in the temporary storage unit. Specifically, for example, the similarity threshold of the node of interest is calculated as follows, and the result is stored in the temporary storage unit.
[Procedure M_A1]
The similarity threshold calculator 43 sets the similarity threshold T i of the newly inserted node i stored in the temporary storage to +∞ (sufficiently large value), and stores the result in the temporary storage.
[Procedure M_A2]
For the nodes stored in the temporary storage unit, when the node i becomes the closest node or the second closest node from the input vector, it is determined whether or not the node i has an adjacent node, and the result is temporarily stored. Store in the department.
[Procedure M_A3]
As a result of the determination stored in the temporary storage unit, if there is an adjacent node, the similarity threshold value Ti is set as the maximum distance to the adjacent node for the similarity threshold value and the node stored in the temporary storage unit, and the result is Store in temporary memory.
That is, for the node i, a similarity threshold T i is calculated based on the following formula stored in the temporary storage unit, and the result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000011
Here, c is a node included in the adjacent node set Ni of node i stored in the temporary storage unit, and Wc is the weight vector of node c stored in the temporary storage unit.
[Procedure M_A4]
As a result of the determination, if there is no adjacent node, the distances from node i to each node other than node i are calculated, and the minimum distance among the calculated distances is set as the similarity threshold T i .
That is, for the node i, a similarity threshold T i is calculated based on the following formula stored in the temporary storage unit, and the result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000012
 類似度閾値判定手段44は、一時記憶部に格納された入力ベクトル、ノード及び、ノードの類似度閾値について、入力ベクトルと第1勝者ノードとの間の距離が第1勝者ノードの類似度閾値より大きいか否か、及び、入力ベクトルと第2勝者ノード間の距離が第2勝者ノードの類似度閾値より大きいか否かを判定し、その結果を一時記憶部に格納する。 すなわち、一時記憶部に格納される以下の式に示すように、入力ベクトルξと第1勝者ノードaの間の距離が類似度閾値Ta1よりも大きいか否かを判定しその結果を一時記憶部に格納すると共に、入力ベクトルξと第2勝者ノードaの間の距離が類似度閾値Ta2よりも大きいか否かを判定しその結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000013
The similarity threshold determination means 44 determines that the distance between the input vector and the first winner node is greater than the similarity threshold of the first winner node with respect to the input vector, the node, and the similarity threshold of the node stored in the temporary storage unit. It is determined whether it is greater and whether the distance between the input vector and the second winner node is greater than the similarity threshold of the second winner node, and the result is stored in the temporary storage unit. That is, as shown in the following formula stored in the temporary memory, it is determined whether or not the distance between the input vector ξ and the first winner node a1 is greater than the similarity threshold Ta1 , and the result is temporarily stored. In addition to storing in the storage unit, it is determined whether or not the distance between the input vector ξ and the second winner node a2 is greater than the similarity threshold Ta2 , and the result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000013
 ノード挿入手段45は、一時記憶部に格納された類似度閾値判定手段44による判定結果に基づいて、一時記憶部に格納された入力ベクトルについて、入力ベクトルを新たなノードとして、入力ベクトルと同じ位置に挿入し、その結果を一時記憶部に格納する。 The node insertion means 45 inserts the input vector stored in the temporary storage unit into a new node at the same position as the input vector based on the determination result of the similarity threshold determination unit 44 stored in the temporary storage unit. and store the result in temporary storage.
 重みベクトル更新手段46は、一時記憶部に格納されたノードの重みベクトルについて、第1勝者ノードの重みベクトル及び第1勝者ノードの隣接ノードの重みベクトルをそれぞれ入力ベクトルに更に近づけるように更新し、その結果を一時記憶部に格納する。
 第1勝者ノードaの重みベクトルの更新量ΔWa1、及び第1勝者ノードaの隣接ノードiの重みベクトルの更新量ΔWaiは、例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
 ここで、ε(t)及びε(t)はそれぞれ一時記憶部に格納される以下の式に基づいて算出し、その結果を一時期億部に格納する。
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000017
 なお、本実施の形態においては、追加学習に対応するため、入力ベクトルの入力回数tに代えて、一時記憶部に格納される第1勝者ノードaが第1勝者ノードとなった累積回数Ma1を用いる。
Weight vector update means 46 updates the weight vector of the node stored in the temporary storage unit so that the weight vector of the first winner node and the weight vector of the adjacent node of the first winner node are closer to the input vector, The result is stored in the temporary memory.
The update amount ΔW a1 of the weight vector of the first winner node a 1 and the update amount ΔW ai of the weight vector of the adjacent node i of the first winner node a 1 are stored in the temporary storage unit, for example, based on the following formula: Calculation is performed, and the result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
Here, ε 1 (t) and ε 2 (t) are calculated based on the following formulas respectively stored in the temporary storage section, and the results are temporarily stored in a billion parts.
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000017
In the present embodiment, in order to cope with additional learning, instead of the input vector input count t , the accumulated count M a1 is used.
 ノード密度算出手段47は、一時記憶部に格納されたノード及びノード密度について、注目するノードについて、その隣接ノード間の平均距離に基づいて、注目するノードのノード密度を算出し、その結果を一時記憶部に格納する。さらに、ノード密度算出手段47は、単位ノード密度算出部を有し、単位ノード密度算出部は、追加学習に対応するため、一時記憶部に格納された第1勝者ノード及びノード密度について、第1勝者ノードとその隣接ノード間の平均距離に基づいて、第1勝者ノードのノード密度を単位入力数あたりの割合として算出し、その結果を一時記憶部に格納する。さらにまた、ノード密度算出手段47は、一時記憶部に格納されたノード及びノード密度ポイントについて、第1勝者ノード及びその隣接ノード間の平均距離に基づいて、第1勝者ノードのノード密度のポイント値を算出するノード密度ポイント算出部と、入力ベクトルの入力数が所定の単位入力数となるまでノード密度ポイントを一時記憶部に格納して累積し、入力ベクトルの入力数が所定の単位入力数になった場合に、一時記憶部に格納して累積されたノード密度ポイントを単位入力数あたりの割合として算出し、単位入力数あたりのノードのノード密度を算出し、その結果を一時記憶部に格納する単位ノード密度ポイント算出部を有する。 The node density calculation means 47 calculates the node density of the node of interest based on the average distance between the adjacent nodes of the node of interest and the node density stored in the temporary storage unit, and temporarily stores the result. Store in the storage unit. Furthermore, the node density calculation means 47 has a unit node density calculation section, and the unit node density calculation section corresponds to additional learning, so that the first winning node and the node density stored in the temporary storage section are calculated in the first Based on the average distance between the winner node and its adjacent nodes, the node density of the first winner node is calculated as a ratio per unit number of inputs, and the result is stored in the temporary storage unit. Furthermore, the node density calculation means 47 calculates the node density point value of the first winner node based on the average distance between the first winner node and its adjacent nodes for the nodes and node density points stored in the temporary storage unit and a node density point calculation unit that calculates the number of input vector inputs, stores the node density points in a temporary storage unit until the number of input vector inputs reaches a predetermined unit input number, and accumulates the node density points until the number of input vector inputs reaches a predetermined unit input number. If not, calculate the accumulated node density points stored in the temporary storage unit as a ratio per unit input number, calculate the node density of the node per unit input number, and store the result in the temporary storage unit It has a unit node density point calculation unit.
 具体的には、ノード密度ポイント算出部は、例えば一時記憶部に格納される以下の式に基づいてノードiに与えられるノード密度のポイント値ptを算出し、その結果を一時記憶部に格納する。尚、ノードiに与えられるポイント値ptは、ノードiが第1勝者ノードとなった場合には一時記憶部に格納される以下の式に基づいて算出されるポイント値が与えられるが、ノードiが第1勝者ノードでない場合にはノードiにはポイントは与えられないものとする。
Figure JPOXMLDOC01-appb-M000018
 ここで、eはノードiからその隣接ノードまでの平均距離を示し、一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000019
 尚、mは一時記憶部に格納されたノードiの隣接ノードの個数を示し、Wは一時記憶部に格納されたノードiの重みベクトルを示す。
Specifically, the node density point calculation unit calculates the node density point value pt i given to the node i based on the following formula stored in the temporary storage unit, for example, and stores the result in the temporary storage unit. do. Note that the point value pt i given to the node i is the point value calculated based on the following formula stored in the temporary storage unit when the node i becomes the first winner node. No points shall be awarded to node i if i is not the first winning node.
Figure JPOXMLDOC01-appb-M000018
Here, ei indicates the average distance from node i to its adjacent node, is calculated based on the following formula stored in the temporary memory, and the result is stored in the temporary memory.
Figure JPOXMLDOC01-appb-M000019
Note that m indicates the number of adjacent nodes of node i stored in the temporary storage unit, and Wi indicates the weight vector of node i stored in the temporary storage unit.
 ここで、隣接ノードへの平均距離が大きくなる場合には、ノードを含むその領域にはノードが少ないものと考えられ、逆に平均距離が小さくなる場合には、その領域にはノードが多いものと考えられる。
 従って、ノードの多い領域で第1勝者ノードとなった場合には高いポイントが与えられ、ノードの少ない領域で第1勝者ノードとなった場合には低いポイントが与えられるようにノードの密度のポイント値の算出方法を上述のように構成する。
 これにより、ノードを含むある程度の範囲の領域におけるノードの密集具合を推定することができるため、ノードの分布が高密度の領域に位置するノードであっても、ノードが第1勝者回数となった回数をノードの密度とする従来の場合に比べて、入力ベクトルの入力分布密度により近似した密度となるノード密度ポイントを算出することができる。
Here, when the average distance to adjacent nodes is large, it is considered that the area containing the node has few nodes, and conversely, when the average distance is small, the area has many nodes. it is conceivable that.
Therefore, the node density points are such that high points are awarded for the first winning node in an area with many nodes, and low points are awarded for the first winning node in an area with few nodes. The value calculation method is configured as described above.
As a result, it is possible to estimate the density of nodes in a certain range of areas including nodes, so even if the node is located in an area with a high node distribution, the node has the first number of winners. Compared to the conventional case where the number of times is the density of the node, it is possible to calculate node density points that have a density that is closer to the input distribution density of the input vector.
 単位ノード密度ポイント算出部は、例えば一時記憶部に格納される以下の式に基づいてノードiの単位入力数あたりのノード密度densityを算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000020
 ここで、連続して与えられる入力ベクトルの入力回数を予め設定され一時記憶部に格納される一定の入力回数λごとの区間に分け、各区間においてノードiに与えられたポイントについてその合計を累積ポイントsと定める。なお、入力ベクトルの総入力回数を予め設定され一時記憶部に格納されるLTとする場合に、LT/λを区間の総数nとしその結果を一時記憶部に格納し、nのうち、ノードに与えられたポイントの合計が0以上であった区間の数をNとして算出し、その結果を一時記憶部に格納する(Nとnは必ずしも同じとならない点に注意する)。
 累積ポイントsは、例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000021
 ここで、pt (j,k)はj番目の区間におけるk番目の入力によってノードiに与えられたポイントを示し、上述のノード密度ポイント算出部により算出され、その結果を一時記憶部に格納する。
 このように、単位ノード密度ポイント算出部は、一時記憶部に格納されたノードiの密度densityを累積ポイントsの平均として算出し、その結果を一時記憶部に格納する。
The unit node density point calculation unit calculates the node density density i per unit input number of the node i based on the following formula stored in the temporary storage unit, for example, and stores the result in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000020
Here, the number of inputs of the continuously given input vector is divided into sections each having a certain number of inputs λ which is preset and stored in the temporary storage unit, and the sum of the points given to the node i in each section is accumulated. Define point si . When the total number of inputs of the input vector is set in advance and stored in the temporary storage unit as LT, LT/λ is the total number of sections n, and the result is stored in the temporary storage unit. The number of sections in which the sum of given points is equal to or greater than 0 is calculated as N, and the result is stored in the temporary storage unit (note that N and n are not necessarily the same).
The accumulated points s i are calculated based on the following formula stored in the temporary storage unit, for example, and the result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000021
Here, pt i (j, k) indicates the point given to the node i by the k-th input in the j-th section, is calculated by the node density point calculation unit described above, and stores the result in the temporary storage unit. do.
In this way, the unit node density point calculation section calculates the density density i of the node i stored in the temporary storage section as the average of the accumulated points si , and stores the result in the temporary storage section.
 なお、本実施の形態においては追加学習に対応するため、nに代えてNを用いる。これは、追加学習において、以前の学習で生成されたノードにはポイントが与えられないことが多く、nを用いて密度を算出すると、以前学習したノードの密度が次第に低くなってしまうという問題を回避するためである。即ち、nに代えてNを用いてノード密度を算出することで、追加学習を長時間行った場合であっても、追加されるデータが以前学習したノードの近くに入力されない限りは、そのノードの密度を変化させずに保持することができる。
 これにより、追加学習を長時間実施する場合であっても、ノードのノード密度が相対的に小さくなってしまうことを防ぐことができ、従来の手法に比べて、入力ベクトルの入力分布密度により近似したノード密度を変化させずに保持して算出することができる。
Note that in this embodiment, N is used instead of n in order to deal with additional learning. This solves the problem that in additional learning, nodes generated in previous learning are often not given points, and when calculating the density using n, the density of previously learned nodes becomes progressively lower. This is to avoid That is, by calculating the node density using N instead of n, even if additional learning is performed for a long time, unless the added data is input near the previously learned node, the node can be kept unchanged.
As a result, even when additional learning is performed for a long time, it is possible to prevent the node density of nodes from becoming relatively small. It is possible to calculate by holding the node density obtained without changing it.
 分布重なり領域検出手段48は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、辺によって接続されるノードの集合であるクラスタを、ノード密度算出手段47によって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、その結果を一時記憶部に格納し、サブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。 The distribution overlapping area detection means 48 calculates a cluster, which is a set of nodes connected by the edges, with respect to the nodes, the edges connecting the nodes, and the density of the nodes stored in the temporary storage unit by the node density calculation means 47. Based on the node densities obtained, the clusters are divided into sub-clusters, which are subsets of the clusters, and the results are stored in a temporary storage unit. Store.
 さらに、分布重なり領域検出手段48は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、ノード密度算出手段47により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索するノード探索部と、探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与する第1のラベル付与部と、第1のラベル付与部によりラベルが付与されなかったノードのうち、そのノードと辺によって接続されるノードについて、第1のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与する第2のラベル付与部と、それぞれ異なるラベルが付与されたノード間に辺によって直接的に接続がある場合に、その辺によって接続されるノードの集合であるクラスタをクラスタの部分集合であるサブクラスタに分割するクラスタ分割部と、注目するノード及びその隣接ノードがそれぞれ異なるサブクラスタに属する場合に、その注目するノード及びその隣接ノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出する分布重なり領域検出部を有する。 Furthermore, the distribution overlapping area detection means 48 determines the node density based on the node density calculated by the node density calculation means 47 for the nodes, the edges connecting the nodes, and the density of the nodes stored in the temporary storage unit. A node searching unit that searches for a locally largest node, a first labeling unit that gives the searched node a label different from labels already given to other nodes, and a first label second labeling for giving the same label as the label of the node to which the label was given by the first labeling part to a node connected by an edge to the node, among the nodes to which the label was not given by the giving part; Cluster partitioning that divides a cluster, which is a set of nodes connected by an edge, into subclusters, which are subsets of the cluster, when there is a direct connection between a part and nodes with different labels. distribution overlapping region detection for detecting a region containing the node of interest and its neighboring nodes as a distribution overlapping region that is the boundary of the subclusters when the node of interest and its neighboring nodes belong to different subclusters. have a part.
 具体的には、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、例えば以下のようにしてサブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
[手順M_B1]
 ノード探索部は、一時記憶部に格納されたノード及びノードの密度について、ノード密度算出手段47により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索し、その結果を一時記憶部に格納する。
[手順M_B2]
 第1のラベル付与部は、一時記憶部に格納されたノード、及びノードのラベルについて、手順M_B1において探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与し、その結果を一時記憶部に格納する。
[手順M_B3]
 第2のラベル付与部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、手順M_B2において第1のラベル付与部によりラベルが付与されなかったノードについて、第1のラベル付与部にラベルが付与されたノードと辺によって接続されるノードについて、第1のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与し、その結果を一時記憶部に格納する。即ち、密度が局所的に最大の隣接ノードと同じラベルを付与する。
[手順M_B4]
 クラスタ分割部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、一時記憶部に格納された辺によって接続されるノードの集合であるクラスタを、同じラベルが付与されたノードからなるクラスタの部分集合であるサブクラスタに分割し、その結果を一時記憶部に格納する。
[手順M_B5]
 分布重なり領域検出部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、注目するノードとその隣接ノードが異なるサブクラスタにそれぞれ属する場合に、その注目するノード及びその隣接ノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出し、その結果を一時記憶部に格納する。
Specifically, for the nodes stored in the temporary storage unit, the edges connecting the nodes, and the density of the nodes, for example, the overlap region of the distributions, which is the boundary of the sub-clusters, is detected as follows, and the result is Store in temporary memory.
[Procedure M_B1]
The node search unit searches for a node having a locally maximum node density based on the node density calculated by the node density calculation means 47, and the node density stored in the temporary storage unit. is stored in the temporary storage unit.
[Procedure M_B2]
A first label assigning unit assigns a label different from the labels already assigned to other nodes to the node searched in procedure M_B1 with respect to the nodes and node labels stored in the temporary storage unit, The result is stored in the temporary memory.
[Procedure M_B3]
The second labeling unit stores the nodes, the edges connecting the nodes, and the labels of the nodes stored in the temporary storage unit. assigning the same label as the label of the node labeled by the first labeling unit to a node connected by an edge to a node labeled by one labeling unit, and storing the result in a temporary storage unit; Store. That is, the same label as that of the adjacent node with the locally highest density is given.
[Procedure M_B4]
The cluster dividing unit divides the nodes, the edges connecting the nodes, and the labels of the nodes stored in the temporary storage unit into clusters, which are sets of nodes connected by the edges stored in the temporary storage unit. The cluster is divided into sub-clusters, which are subsets of the cluster consisting of the assigned nodes, and the result is stored in the temporary storage unit.
[Procedure M_B5]
The distribution overlapping area detection unit detects the nodes, the edges connecting the nodes, and the label of the nodes stored in the temporary storage unit when the node of interest and its adjacent nodes belong to different subclusters. and its adjacent nodes are detected as overlapping regions of distributions, which are the boundaries of subclusters, and the result is stored in a temporary storage unit.
 辺接続判定手段49は、一時記憶部に格納されたノード、ノード密度、及び分布重なり領域について、第1勝者ノード及び第2勝者ノードが分布重なり領域に位置するノードである場合に、第1勝者ノード及び第2勝者ノードのノード密度に基づいて第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。 If the first winner node and the second winner node are nodes located in the distribution overlap region, the edge connection determination means 49 determines the first winner node for the node, node density, and distribution overlap region stored in the temporary storage unit. Based on the node densities of the nodes and the second winner node, it is determined whether or not an edge is connected between the first winner node and the second winner node, and the result is stored in the temporary storage unit.
 さらに辺接続判定手段49は、一時記憶部に格納されたノード、ノード密度、ノードのサブクラスタについて、ノードが属しているサブクラスタを判定する所属サブクラスタ判定部と、ノードが属するサブクラスタの頂点の密度及びノードの密度に基づいて、第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定する辺接続判定部を有する。 Further, the edge connection determining means 49 includes an belonging sub-cluster determining unit for determining a sub-cluster to which a node belongs, and a vertex of the sub-cluster to which the node belongs, for the nodes, node densities, and sub-clusters of the nodes stored in the temporary storage unit. and an edge connection determination unit that determines whether or not an edge is connected between the first winner node and the second winner node based on the density of the nodes and the density of the nodes.
 辺接続手段50は、一時記憶部に格納された辺接続判定手段49の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。 Based on the judgment result of the edge connection judging means 49 stored in the temporary storage unit, the edge connection unit 50 connects the nodes and the edges between the nodes stored in the temporary storage unit between the first winner node and the second winner node. , and stores the result in temporary storage.
 辺削除手段51は、一時記憶部に格納された辺接続判定手段49の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。 Based on the determination result of the edge connection determination unit 49 stored in the temporary storage unit, the edge deletion unit 51 removes the nodes and the edges between the nodes stored in the temporary storage unit between the first winner node and the second winner node. , and store the result in temporary storage.
 具体的には、一時記憶部に格納されたノード、ノード密度、ノードのサブクラスタ、及びノード間の辺について、例えば以下のようにして辺接続判定手段49は辺を接続するか否かを判定し、辺接続手段50及び辺削除手段51は辺の生成及び削除処理を実施し、その結果を一時記憶部に格納する。
[手順M_C1]
 所属サブクラスタ判定部は、一時記憶部に格納されたノード、ノードのサブクラスタについて、第1勝者ノード及び第2勝者ノードが属するサブクラスタをそれぞれ判定し、その結果を一時記憶部に格納する。
[手順M_C2]
 一時記憶部に格納された手順M_C1における判定の結果、第1勝者ノード及び第2勝者ノードがどのサブクラスタにも属していない場合、又は、第1勝者ノード及び第2勝者ノードが同じサブクラスタに属している場合には、辺接続手段50は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を生成することによりノード間を接続し、その結果を一時記憶部に格納する。
[手順M_C3]
 一時記憶部に格納された手順M_C1における判定の結果、第1勝者ノード及び第2勝者ノードが互いに異なるサブクラスタに属す場合には、辺接続判定部は、一時記憶部に格納されたノード、ノード密度、及びノード間の辺について、ノードが属するサブクラスタの頂点の密度及びノードの密度に基づいて、第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
[手順M_C4]
 一時記憶部に格納された手順M_C3における辺接続判定部による判定の結果、辺を接続する必要がないと判定した場合には、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間を辺によって接続せず、既にノード間が辺によって接続されていた場合には、辺削除手段51は、一時記憶部に格納されたノード及びノード間の辺について、一時記憶部に格納された第1勝者ノード及び第2勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。
[手順M_C5]
 一時記憶部に格納された手順M_C3における辺接続判定部による判定の結果、辺を接続する必要があると判定した場合には、辺接続手段50は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を生成しノード間を接続する。
Specifically, for the nodes, node densities, sub-clusters of nodes, and edges between nodes stored in the temporary storage unit, the edge connection determining means 49 determines whether or not the edges are connected, for example, in the following manner. Then, the side connecting means 50 and the side deleting means 51 execute side generation and deletion processing, and store the result in the temporary storage section.
[Procedure M_C1]
The belonging sub-cluster determination unit determines sub-clusters to which the first winner node and the second winner node belong among the nodes and sub-clusters of the nodes stored in the temporary storage unit, and stores the result in the temporary storage unit.
[Procedure M_C2]
If the result of determination in procedure M_C1 stored in the temporary storage unit is that the first winner node and the second winner node do not belong to any sub-cluster, or the first winner node and the second winner node belong to the same sub-cluster If so, the edge connecting means 50 connects the nodes by generating an edge between the first winner node and the second winner node for the node and the edge between the nodes stored in the temporary storage unit. , the result is stored in the temporary memory.
[Procedure M_C3]
If the result of determination in procedure M_C1 stored in the temporary storage unit is that the first winner node and the second winner node belong to different subclusters, the edge connection determination unit Density and edges between nodes, based on the density of the vertices of the subcluster to which the node belongs and the density of the nodes, it is determined whether to connect an edge between the first winner node and the second winner node, and the result is stored in the temporary storage unit.
[Procedure M_C4]
When it is determined that it is not necessary to connect the edges as a result of the determination by the edge connection determination unit in the procedure M_C3 stored in the temporary storage unit, the nodes and the edges between the nodes stored in the temporary storage unit are subjected to the first If the winner node and the second winner node are not connected by an edge and the nodes are already connected by an edge, the edge deletion means 51 deletes the node and the edge between the nodes stored in the temporary storage unit by: The edge between the first winner node and the second winner node stored in the temporary storage is deleted, and the result is stored in the temporary storage.
[Procedure M_C5]
When it is determined that it is necessary to connect the edges as a result of the determination by the edge connection determination unit in the procedure M_C3 stored in the temporary storage unit, the edge connection unit 50 connects the nodes and the internodes stored in the temporary storage unit. , an edge is generated between the first winner node and the second winner node to connect the nodes.
 ここで、辺接続判定部による判定処理について詳細に説明する。
 まず、辺接続判定部は、一時記憶部に格納されたノード及びノード密度について、第1勝者ノードのノード密度densitywin及び第2勝者ノード密度densitysec-winのうち、最小のノード密度mを例えば一時記憶部に格納される以下の式に基いて算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000022
 次に、一時記憶部に格納されたノード、ノードのノード密度、及びノードのサブクラスについて、第1勝者ノード及び第2勝者ノードがそれぞれ属するサブクラスタA及びサブクラスタBについて、サブクラスタAの頂点の密度Amax及びサブクラスタBの頂点の密度Bmaxを算出し、その結果を一時記憶部に格納する。
 尚、サブクラスタに含まれるノードのうち、ノード密度が最大であるノード密度をサブクラスタの頂点の密度とする。
 そして、一時記憶部に格納されたノードが属するサブクラスタの頂点の密度Amax及びBmax、及びノードの密度mについて、mがαmaxより小さく、かつ、mがαmaxより小さいか否かを判定し、その結果を一時記憶部に格納する。即ち、一時記憶部に格納される以下の不等式を満足するか否かを判定し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000023
 判定の結果、mがαmaxより小さく、かつ、mがαmaxより小さい場合には、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間には辺は不要であると判定し、その結果を一時記憶部に格納する。
 一方、判定の結果、mがαmax以上、または、mがαmax以上である場合には、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺は必要であると判定し、その結果を一時記憶部に格納する。
Here, determination processing by the edge connection determination unit will be described in detail.
First, for the nodes and node densities stored in the temporary storage unit, the edge connection determination unit determines the minimum node density m of the first winner node density density win and the second winner node density density sec-win. It is calculated based on the following formula stored in the temporary memory, and the result is stored in the temporary memory.
Figure JPOXMLDOC01-appb-M000022
Next, with respect to the nodes, the node densities of the nodes, and the subclasses of the nodes stored in the temporary storage unit, with respect to the subcluster A and the subcluster B to which the first winner node and the second winner node belong, the vertices of the subcluster A The density A max and the density B max of the vertices of the subcluster B are calculated, and the results are stored in the temporary storage unit.
Among the nodes included in the sub-cluster, the node density having the maximum node density is defined as the density of the vertices of the sub-cluster.
Then, regarding the vertex densities A max and B max of the sub-cluster to which the node stored in the temporary storage unit belongs and the node density m, m is smaller than α A A max and m is smaller than α B B max . It is determined whether or not, and the result is stored in the temporary storage unit. That is, it is determined whether or not the following inequality stored in the temporary memory is satisfied, and the result is stored in the temporary memory.
Figure JPOXMLDOC01-appb-M000023
As a result of the determination, when m is smaller than α AA max and m is smaller than α BB max , the nodes and the edges between the nodes stored in the temporary storage unit are the first winner node and the second winner node. It is determined that no edge is required between the nodes, and the result is stored in the temporary storage unit.
On the other hand, if the result of determination is that m is greater than or equal to α AA max or m is greater than or equal to α BB max , then the first winning node and the first winning node and the edge between the nodes stored in the temporary storage unit It is determined that an edge is required between the two winner nodes, and the result is stored in the temporary memory.
 このように、第1勝者ノード及び第2勝者ノードの最小ノード密度mを、第1勝者ノード及び第2勝者ノードをそれぞれ含むサブクラスタの平均的なノード密度と比較することで、第1勝者ノード及び第2勝者ノードを含む領域におけるノード密度の凹凸の大きさを判定することができる。即ち、サブクラスタA及びサブクラスタBの間に存在する分布の谷間のノード密度mが、閾値αmax又はαmaxより大きな場合には、ノード密度の形状は小さな凹凸であると判定することができる。 Thus, by comparing the minimum node density m of the first and second winner nodes with the average node density of sub-clusters containing the first and second winner nodes, respectively, the first winner node and the magnitude of unevenness in the node density in the region containing the second winner node. That is, when the node density m in the valley of the distribution existing between subcluster A and subcluster B is larger than the threshold value αAAmax or αBBmax , it is determined that the shape of the node density is small unevenness. can do.
 ここで、α及びαは一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。尚、αについてもαと同様にして算出することができるためここでは説明を省略する。
  i)   Amax/mean-1≦1の場合には、α=0.0とする。
  ii)  1<Amax/mean-1≦2の場合には、α=0.5とする。
  iii) 2<Amax/mean-1の場合には、α=1.0とする。
 Amax/meanの値が1以下となるi)の場合には、Amaxとmeanの値は同程度であり、密度の凹凸はノイズの影響によるものと判断する。そして、αの値を0.0とすることで、サブクラスタが統合されるようにする。
 また、Amax/meanの値が2を超えるi i i)の場合には、Amaxはmeanに比べて十分大きく、明らかな密度の凹凸が存在するものと判断する。そして、αの値を1.0とすることで、サブクラスタが分離されるようにする。
 そして、Amax/meanの値が上述した場合以外となる i i)の場合には、αの値を0.5とすることで、密度の凹凸の大きさに応じてサブクラスタが統合又は分離されるようにする。
 尚、meanはサブクラスタAに属すノードiのノード密度densityの平均値を示し、NをサブクラスタAに属するノードの数として、一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000024
Here, α A and α B are calculated based on the following formulas stored in the temporary storage section, and the results are stored in the temporary storage section. Since α B can also be calculated in the same manner as α A , the explanation is omitted here.
i) If A max /mean A −1≦1, let α A =0.0.
ii) If 1<A max /mean A −1≦2, let α A =0.5.
iii) If 2<A max /mean A −1, let α A =1.0.
In case i) where the value of A max /mean A is 1 or less, the values of A max and mean A are approximately the same, and it is determined that the irregularities in density are due to the influence of noise. By setting the value of α to 0.0, the sub-clusters are integrated.
In the case of i ii) where the value of A max /mean A exceeds 2, it is determined that A max is sufficiently larger than mean A and there is a clear irregularity in density. By setting the value of α to 1.0, sub-clusters are separated.
Then, in the case of i) where the value of A max /mean A is other than the above-described case, by setting the value of α to 0.5, sub-clusters are integrated or keep them separate.
Note that mean A indicates the average value of node density density i of node i belonging to sub-cluster A, NA is the number of nodes belonging to sub-cluster A, and is calculated based on the following formula stored in the temporary storage unit. and stores the result in the temporary memory.
Figure JPOXMLDOC01-appb-M000024
 このように、サブクラスタへの分離を行う際に、サブクラスタに含まれるノード密度の凹凸の程度を判定し、ある基準を満たした2つのサブクラスタを1つに統合することで、分布の重なり領域の検出におけるサブクラスタの分けすぎによる不安定化を防止することができる。 In this way, when separating into sub-clusters, the degree of unevenness of the node density included in the sub-clusters is determined, and two sub-clusters that satisfy a certain criterion are integrated into one, so that the distribution overlap It is possible to prevent destabilization due to excessive division of sub-clusters in area detection.
 ノイズノード削除手段52は、一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、注目するノードについて、ノード密度算出手段47により算出されるノード密度及び注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。 The noise node deletion means 52 deletes the node density calculated by the node density calculation means 47 and the node density calculated by the node density calculation means 47 and deletes the node of interest based on the number of adjacent nodes in , and stores the result in the temporary storage unit.
 さらにノイズノード削除手段52は、一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、注目するノードのノード密度を所定の閾値と比較するノード密度比較部と、注目するノードの隣接ノードの個数を算出する隣接ノード数算出部と、注目するノードをノイズノードとみなして削除するノイズノード削除部を有する。
 具体的には、例えば以下のようにして一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、ノード密度及び注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。
Further, the noise node deletion means 52 includes a node density comparison unit that compares the node density of the node of interest with a predetermined threshold for the number of nodes, node density, edges between nodes, and adjacent nodes stored in the temporary storage unit; It has an adjacent node number calculation unit that calculates the number of adjacent nodes of a node of interest, and a noise node deletion unit that considers the node of interest as a noise node and deletes it.
Specifically, for example, for the number of nodes, node density, edges between nodes, and adjacent nodes stored in the temporary storage unit as follows, based on the node density and the number of adjacent nodes of the node of interest, deletes the node that
 ノイズノード削除手段52は、一時記憶部に格納されたノード、ノード間の辺、隣接ノードの個数について、注目するノードiについて、隣接ノード数算出部によりその隣接ノードの個数を算出し、その結果を一時記憶部に格納する。そして、一時記憶部に格納された隣接ノードの個数に応じて、以下の処理を実施する。
  i)   一時記憶部に格納された隣接ノード数が2の場合、ノード密度比較部はノードiのノード密度densityを例えば一時記憶部に格納される以下の式に基づいて算出する閾値と比較し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000025
一時記憶部に格納された比較結果について、ノード密度densityが閾値より小さい場合には、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
  ii)  一時記憶部に格納された隣接ノード数が1の場合、ノード密度比較部はノードiのノード密度densityを例えば一時記憶部に格納される以下の式に基づいて算出する閾値と比較し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000026
 一時記憶部に格納された比較の結果について、ノード密度densityが閾値より小さい場合には、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
  iii) 一時記憶部に格納された隣接ノード数について、隣接ノードを持たない場合、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
 ここで、予め設定され一時記憶部に格納される所定のパラメータc1及びc2を調整することで、ノイズノード削除手段52によるノイズノードの削除の振る舞いを調整することができる。
The noise node deletion means 52 calculates the number of adjacent nodes for the node i of interest with respect to the number of nodes, edges between nodes, and adjacent nodes stored in the temporary storage unit by the adjacent node number calculation unit, and the result is is stored in the temporary storage unit. Then, according to the number of adjacent nodes stored in the temporary storage unit, the following processing is performed.
i) When the number of neighboring nodes stored in the temporary storage is 2, the node density comparison unit compares the node density density i of node i with a threshold value stored in the temporary storage, for example, calculated based on the following formula: , the result is stored in the temporary memory.
Figure JPOXMLDOC01-appb-M000025
Regarding the comparison result stored in the temporary storage unit, if the node density density i is smaller than the threshold, the noise node deletion unit deletes the node stored in the temporary storage unit, and stores the result in the temporary storage unit. store in
ii) When the number of adjacent nodes stored in the temporary storage unit is 1, the node density comparison unit compares the node density density i of node i with a threshold value stored in the temporary storage unit and calculated based on the following formula, for example: , the result is stored in the temporary memory.
Figure JPOXMLDOC01-appb-M000026
Regarding the comparison result stored in the temporary storage unit, if the node density density i is smaller than the threshold, the noise node deletion unit deletes the node stored in the temporary storage unit and temporarily stores the result. Store in the department.
iii) If the number of adjacent nodes stored in the temporary storage unit does not have an adjacent node, the noise node deletion unit deletes the nodes stored in the temporary storage unit and stores the result in the temporary storage unit. do.
Here, by adjusting predetermined parameters c1 and c2 that are set in advance and stored in the temporary storage unit, the noise node deletion behavior of the noise node deletion unit 52 can be adjusted.
 出力情報表示手段53は、一時記憶部に格納されたノードを含む情報、すなわちモデルMDを出力する。 The output information display means 53 outputs information including the nodes stored in the temporary storage unit, that is, the model MD.
 続いて、SOINN法による学習処理のフローについて説明する。図18に、SOINN法による学習処理のフローチャートを示す。 Next, the flow of learning processing by the SOINN method will be explained. FIG. 18 shows a flowchart of learning processing by the SOINN method.
ステップM1
 入力情報取得手段41は、ランダムに2つの入力ベクトルを取得し、ノード集合Aをそれらに対応する2つのノードのみを含む集合として初期化し、その結果を一時記憶部に格納する。また、辺集合C⊂A×Aを空集合として初期化し、その結果を一時記憶部に格納する。
Step M1
The input information acquiring means 41 acquires two input vectors at random, initializes the node set A as a set containing only the two nodes corresponding to them, and stores the result in the temporary storage unit. Also, the edge set C⊂A×A is initialized as an empty set, and the result is stored in the temporary memory.
ステップM2
 入力情報取得手段41は、学習用データDATからランダムに選択された新しい入力ベクトルξを入力し、その結果を一時記憶部に格納する。ただし、一度選択された入力ベクトルが再び選択されることはない点については、言うまでもない。
Step M2
The input information acquisition means 41 inputs a new input vector ξ randomly selected from the learning data DAT, and stores the result in the temporary storage unit. However, it goes without saying that the once selected input vector is never selected again.
ステップM3
 勝者ノード探索手段42は、一時記憶部に格納された入力ベクトル及びノードについて、入力ベクトルξに最も近い重みベクトルを持つ第1勝者ノードa及び2番目に近い重みベクトルを持つ第2勝者ノードaを探索し、その結果を一時記憶部に格納する。
Step M3
The winner node searching means 42 selects the first winner node a1 having the weight vector closest to the input vector ξ and the second winner node a1 having the second closest weight vector to the input vector and nodes stored in the temporary storage unit. 2 and store the result in temporary storage.
ステップM4
 類似度閾値判定手段44は、一時記憶部に格納された入力ベクトル、ノード、ノードの類似度閾値について、入力ベクトルξと第1勝者ノードa間の距離が第1勝者ノードaの類似度閾値Tより大きいか否か、及び、入力ベクトルξと第2勝者ノードa間の距離が第2勝者ノードaの類似度閾値Tより大きいか否かを判定し、その結果を一時記憶部に格納する。
 ここで、一時記憶部に格納された第1勝者ノードaの類似度閾値T及び第2勝者ノードaの類似度閾値Tは、上述の手順M_A1~手順M_A4において示したように類似度閾値算出手段43により算出され、その結果が一時記憶部に格納される。
Step M4
The similarity threshold determination means 44 determines that the distance between the input vector ξ and the first winner node a1 is the similarity of the first winner node a1 with respect to the input vector, the node, and the similarity threshold of the node stored in the temporary storage unit. Determine whether it is greater than the threshold T1 and whether the distance between the input vector ξ and the second winner node a2 is greater than the similarity threshold T2 of the second winner node a2 , and temporarily store the result as Store in the storage unit.
Here, the similarity threshold T 1 of the first winner node a 1 and the similarity threshold T 2 of the second winner node a 2 stored in the temporary storage unit are the similar is calculated by the degree threshold calculation means 43, and the result is stored in the temporary storage unit.
ステップM5
 一時記憶部に格納されたステップM4における判定の結果、入力ベクトルξと第1勝者ノードa間の距離が第1勝者ノードaの類似度閾値Tより大きい、又は、入力ベクトルξと第2勝者ノードa間の距離が第2勝者ノードaの類似度閾値Tより大きい場合には、ノード挿入手段45は、一時記憶部に格納された入力ベクトル及びノードについて、入力ベクトルξを新たなノードiとして、入力ベクトルξと同じ位置に挿入し、その結果を一時記憶部に格納する。
Step M5
As a result of the determination in step M4 stored in the temporary storage unit, the distance between the input vector ξ and the first winner node a1 is greater than the similarity threshold T1 of the first winner node a1 , or the input vector ξ and the first winner node a1 If the distance between the two winner nodes a2 is greater than the similarity threshold T2 of the second winner node a2 , the node inserting means 45 inserts the input vector ξ for the input vectors and nodes stored in the temporary storage unit. A new node i is inserted at the same position as the input vector ξ, and the result is stored in the temporary memory.
ステップM6
 一方、一時記憶部に格納されたステップM4における判定の結果、入力ベクトルξと第1勝者ノードa間の距離が第1勝者ノードaの類似度閾値T以下であり、かつ、入力ベクトルξと第2勝者ノードa間の距離が第2勝者ノードaの類似度閾値T以下である場合には、辺接続判定手段49は、一時記憶部に格納されたノード、ノード密度、ノード間の辺について、第1勝者ノードa及び第2勝者ノードaのノード密度に基づいて、第1勝者ノードa及び第2勝者ノードa間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
Step M6
On the other hand, as a result of the determination in step M4 stored in the temporary storage unit, the distance between the input vector ξ and the first winner node a1 is equal to or less than the similarity threshold T1 of the first winner node a1 , and the input vector If the distance between ξ and the second winner node a2 is equal to or less than the similarity threshold T2 of the second winner node a2 , the edge connection determination means 49 determines the nodes stored in the temporary storage unit, the node density, For an edge between nodes, determine whether to connect an edge between the first winner node a1 and the second winner node a2 based on the node densities of the first winner node a1 and the second winner node a2 and stores the result in the temporary memory.
ステップM7
 一時記憶部に格納されたステップM6における判定の結果、第1勝者ノードa及び第2勝者ノードa間に辺を生成して接続する場合には、辺接続手段50は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
 そして、情報処理装置は、一時記憶部に格納された辺及び辺の年齢について、新しく生成された辺、及び、既にノード間に辺が生成されていた場合にはその辺について、辺の年齢を0に設定しその結果を一時記憶部に格納し、第1勝者ノードaと直接的に接続される辺の年齢をインクリメントし(1増やす)、その結果を一時記憶部に格納する。
 一方、一時記憶部に格納されたステップM6における判定の結果、第1勝者ノードa及び第2勝者ノードa間に辺を接続しない場合には、ステップM8へと処理を進めるが、既にノード間に辺が生成されていた場合には、辺削除手段51は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノードa及び第2勝者ノードa間の辺を削除し、その結果を一時記憶部に格納する。尚、上述の手順M_C1~M_C5において示したようにして、辺接続判定手段49、辺接続手段50、及び辺削除手段51は処理を実施する。
 次いで、一時記憶部に格納されたノード及びノード密度のポイント値について、第1勝者ノードaについて、ノード密度算出手段47は、一時記憶部に格納された第1勝者ノードaのノード密度のポイント値を算出しその結果を一時記憶部に格納し、算出され一時記憶部に格納されたノード密度のポイント値を以前までに算出され一時記憶部に格納されたポイント値に加算することで、ノード密度ポイントとして累積し、その結果を一時記憶部に格納する。
 次いで、情報処理装置は、一時記憶部に格納された第1勝者ノードaが第1勝者ノードとなった累積回数Ma1をインクリメントし(1増やす)、その結果を一時記憶部に格納する。
Step M7
As a result of the judgment in step M6 stored in the temporary storage unit, if an edge is to be generated and connected between the first winner node a1 and the second winner node a2 , the edge connecting means 50 stores With respect to the stored nodes and edges between the nodes, an edge is connected between the first winner node and the second winner node, and the result is stored in the temporary storage unit.
Then, the information processing device stores the age of the newly generated edge and, if the edge has already been generated between nodes, the age of the edge with respect to the edge and the age of the edge stored in the temporary storage unit. Set it to 0, store the result in the temporary storage, increment the age of the edge directly connected to the first winner node a1 (by 1), and store the result in the temporary storage.
On the other hand, if the result of determination in step M6 stored in the temporary storage unit is that no edge is connected between the first winner node a1 and the second winner node a2 , the process advances to step M8. If an edge has been generated between them, the edge deletion means 51 removes the edge between the first winner node a1 and the second winner node a2 from the nodes and the edges between the nodes stored in the temporary storage unit. delete and store the result in temporary storage. The edge connection determination unit 49, the edge connection unit 50, and the edge deletion unit 51 carry out the processing as shown in the procedures M_C1 to M_C5 described above.
Next, for the node and node density point values stored in the temporary storage section, for the first winner node a1 , the node density calculation means 47 calculates the node density of the first winner node a1 stored in the temporary storage section. By calculating a point value, storing the result in a temporary storage unit, and adding the node density point value calculated and stored in the temporary storage unit to the previously calculated point value stored in the temporary storage unit, Accumulate as node density points and store the result in temporary storage.
Next, the information processing device increments (increases by 1) the cumulative number M a1 of the first winner node a1 becoming the first winner node stored in the temporary storage unit, and stores the result in the temporary storage unit.
ステップM8
 重みベクトル更新手段46は、一時記憶部に格納されたノード及びノードの重みベクトルについて、第1勝者ノードaの重みベクトル及び第1勝者ノードaの隣接ノードの重みベクトルをそれぞれ入力ベクトルξに更に近づけるように更新し、その結果を一時記憶部に格納する。
Step M8
The weight vector updating means 46 converts the weight vector of the first winner node a1 and the weight vector of the adjacent node of the first winner node a1 to the input vector ξ with respect to the node and the weight vector of the node stored in the temporary storage unit. It is updated so as to be closer, and the result is stored in the temporary storage unit.
ステップM9
 情報処理装置は、一時記憶部に格納された辺について、予め設定され一時記憶部に格納された閾値ageを超えた年齢を持つ辺を削除し、その結果を一時記憶部に格納する。尚、ageはノイズなどの影響により誤って生成される辺を削除するために使用する。ageに小さな値を設定することにより、辺が削除されやすくなりノイズによる影響を防ぐことができるものの、値を極端に小さくすると、頻繁に辺が削除されるようになり学習結果が不安定になる。一方、極端に大きな値をageに設定すると、ノイズの影響で生成された辺を適切に取り除くことができない。これらを考慮して、パラメータageは実験により予め算出し一時記憶部に格納される。
Step M9
The information processing device deletes, from among the sides stored in the temporary storage section, sides having an age exceeding a preset threshold age t stored in the temporary storage section, and stores the result in the temporary storage section. Note that age t is used to delete edges that are erroneously generated due to the influence of noise or the like. By setting a small value for age t , edges can be easily deleted and noise can be prevented. Become. On the other hand, if age_t is set to an extremely large value, edges generated due to noise cannot be properly removed. Taking these factors into account, the parameter aget is preliminarily calculated by experiment and stored in the temporary memory.
ステップM10
 情報処理装置は、一時記憶部に格納された与えられた入力ベクトルξの総数について、与えられた入力ベクトルξの総数が予め設定され一時記憶部に格納されたλの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力ベクトルの総数がλの倍数でない場合にはステップM2へと戻り、次の入力ベクトルξを処理する。
 一方、入力ベクトルξの総数がλの倍数となった場合には以下の処理を実行する。
 尚、λはノイズと見なされるノードを削除する周期である。λに小さな値を設定することにより、頻繁にノイズ処理を実施することができるものの、値を極端に小さくすると、実際にはノイズではないノードを誤って削除してしまう。一方、極端に大きな値をλに設定すると、ノイズの影響で生成されたノードを適切に取り除くことができない。これらを考慮して、パラメータλは実験により予め算出し一時記憶部に格納される。
Step M10
The information processing device determines whether the total number of given input vectors ξ stored in the temporary memory is a multiple of λ preset and stored in the temporary memory. It judges and stores the result in the temporary memory. If the total number of input vectors is not a multiple of λ as a result of the determination stored in the temporary memory, the process returns to step M2 to process the next input vector ξ.
On the other hand, when the total number of input vectors ξ becomes a multiple of λ, the following processing is executed.
Note that λ is the period for deleting nodes considered to be noise. By setting a small value for λ, noise processing can be performed frequently, but if the value is extremely small, nodes that are not actually noise will be erroneously deleted. On the other hand, if λ is set to an extremely large value, it will not be possible to properly remove nodes generated due to noise. Considering these, the parameter λ is calculated in advance by experiment and stored in the temporary memory.
ステップM11
 分布重なり領域検出手段48は、一時記憶部に格納されたサブクラスタ及び分布の重なり領域について、上述の手順M_B1~M_B5において示したようにしてサブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
Step M11
The distribution overlapping region detection means 48 detects the overlapping region of the distributions, which is the boundary of the subclusters, as shown in the above procedures M_B1 to M_B5 for the overlapping regions of the subclusters and distributions stored in the temporary storage unit, The result is stored in the temporary memory.
ステップM12
 ノード密度算出手段47は、一時記憶部に格納されて累積されたノード密度ポイントを単位入力数あたりの割合として算出しその結果を一時記憶部に格納し、単位入力数あたりのノードのノード密度を算出し、その結果を一時記憶部に格納する。
Step M12
The node density calculation means 47 calculates the accumulated node density points stored in the temporary storage unit as a ratio per unit input number, stores the result in the temporary storage unit, and calculates the node density of the node per unit input number. Calculation is performed, and the result is stored in the temporary storage unit.
ステップM13
 ノイズノード削除手段52は、一時記憶部に格納されたノードについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。尚、ステップM13においてノイズノード削除手段52が使用するパラメータc及びcはノードをノイズと見なすか否かの判定に使用する。通常、隣接ノード数が2であるノードはノイズではないことが多いため、cは0に近い値を使用する。また、隣接ノード数が1であるノードはノイズであることが多いため、cは1に近い値を使用するものとし、これらのパラメータは予め設定され一時記憶部に格納される。
Step M13
The noise node deletion means 52 deletes the nodes regarded as noise nodes from the nodes stored in the temporary storage section, and stores the result in the temporary storage section. The parameters c1 and c2 used by the noise node removing means 52 in step M13 are used to determine whether or not the node is regarded as noise. A value close to 0 is used for c1 because a node with 2 neighbors is usually not noise. Also, since a node whose number of neighboring nodes is 1 is often noise, a value close to 1 is used for c2 , and these parameters are set in advance and stored in the temporary storage unit.
ステップM14
 情報処理装置は、一時記憶部に格納された与えられた入力ベクトルξの総数について、与えられた入力ベクトルξの総数が予め設定され一時記憶部に格納されたLTであるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力ベクトルの総数がLTの倍数でない場合にはステップM2へと戻り、次の入力ベクトルξを処理する。
 一方、入力ベクトルξの総数がLTとなった場合には、学習を停止する。
Step M14
The information processing device determines whether or not the total number of given input vectors ξ stored in the temporary storage unit is LT preset and stored in the temporary storage unit. , the result is stored in the temporary memory. If the result of determination stored in the temporary memory is that the total number of input vectors is not a multiple of LT, the process returns to step M2 to process the next input vector ξ.
On the other hand, when the total number of input vectors ξ reaches LT, learning is stopped.
 以上のステップM1~M14を実行することで、SOINN法によって作成されたノードのネットワークとして構成されるモデルMDが得られる。図19に、実施の形態2にかかる情報処理装置200において実施の形態1で使用した学習用データDATをSOINN法で学習することで得られたノードの分布の例を示す。図19では、可視化しやすくするため、学習データの状態量の中からfx,fyの2次元平面を抜き出してマッピングしている。 By executing the above steps M1 to M14, a model MD constructed as a network of nodes created by the SOINN method is obtained. FIG. 19 shows an example of node distribution obtained by learning the learning data DAT used in the first embodiment by the SOINN method in the information processing apparatus 200 according to the second embodiment. In FIG. 19, for easy visualization, two-dimensional planes of fx and fy are extracted from the state quantities of the learning data and mapped.
 この例では、SOINN法で学習を行うことで、学習用データに含まれるデータ要素の学習結果は、SOINN法によって生成された代表的なノードによって表現されている。つまり、学習用データDATに含まれるデータ要素の数に比べて、モデルMDに含まれるノードの数は少なくなる。 In this example, by learning with the SOINN method, the learning results of the data elements included in the learning data are represented by representative nodes generated by the SOINN method. That is, the number of nodes included in the model MD is smaller than the number of data elements included in the learning data DAT.
 SOINN法は、例えば特許文献1及び2におけるSOINN法が適用できる。また、学習用データに含まれるデータ要素の分布構造を、データ要素よりも少数のノードによって表現された分布構造として学習する各種のSOINN法を適用してもよい。 For the SOINN method, for example, the SOINN method in Patent Documents 1 and 2 can be applied. Also, various SOINN methods may be applied to learn the distribution structure of data elements contained in the learning data as a distribution structure represented by a smaller number of nodes than the data elements.
 引き続き、図16に戻り、情報処理装置200でのステップSB2以降の処理について説明する。 Returning to FIG. 16, the processing after step SB2 in the information processing device 200 will be described.
ステップSB2
 探索部5は、図11のステップSA1と同様に、モデル保持部1からモデルMDを読み込む。
Step SB2
The searching unit 5 reads the model MD from the model holding unit 1 as in step SA1 of FIG.
ステップSB3
 探索部5は、図11のステップSA2と同様に、入力データである状態量pを取得する。
Step SB3
The search unit 5 acquires the state quantity p, which is the input data, in the same manner as in step SA2 of FIG.
ステップSB4
 探索部5は、図11のステップSA4と同様に、モデルMDから、入力データpに最も近いノードNNEARを探索する。
Step SB4
The searching unit 5 searches for the node N NEAR closest to the input data p from the model MD, as in step SA4 of FIG.
ステップSB5
 出力部3は、図11のステップSA5と同様に、実施の形態1と同様である。つまり、出力部3は、最も近いノードNNEARに基づいて決定した出力指令値qOUTを出力する。なお、実施の形態1と同様に、第1~第4の出力指令値決定方法を含む各種の方法を用いて出力指令値qOUTを決定してもよい。
Step SB5
The output unit 3 is the same as in the first embodiment, as in step SA5 of FIG. That is, the output unit 3 outputs the output command value q OUT determined based on the nearest node N NEAR . As in the first embodiment, output command value q OUT may be determined using various methods including the first to fourth output command value determination methods.
 以上説明したように、本構成によれば、入力データpに対応する出力値を求めるときに、入力データpに対する距離を計算するノードを、学習用データのデータ要素の数よりも少ない数のノードに制限することができる。これにより、学習用データ又は学習用データのデータ要素と同じ数のノードを用いる一般的なk近傍法などの手法と比べて、距離計算の対象となるノードの数を大幅に削減することができ、入力データpに対応する指令値を求める処理を高速化することが可能となる。  As described above, according to this configuration, when obtaining the output value corresponding to the input data p, the number of nodes for calculating the distance to the input data p is less than the number of data elements of the learning data. can be limited to As a result, the number of nodes for distance calculation can be significantly reduced compared to a general k-nearest neighbor method that uses the same number of nodes as the learning data or the data elements of the learning data. , it is possible to speed up the process of obtaining the command value corresponding to the input data p. 
 よって、本構成によれば、実施の形態1と同様に、入力データpに対応する出力値を求めるときに、入力データpに対する距離を計算するノードを制限して、処理速度を向上させることができる。 Therefore, according to this configuration, similarly to the first embodiment, when obtaining an output value corresponding to input data p, it is possible to improve the processing speed by limiting the nodes that calculate the distance to the input data p. can.
その他の実施の形態
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態において、2つの値の大小判定について説明したが、これは例示に過ぎず、2つの値の大小判定において2つの値が等しい場合については、必要に応じて取り扱ってもよい。すなわち、第1の値が第2の値以上であるか又は第2の値よりも小さいかの判定と、第1の値が第2の値よりも大きいか又は第2の値以下であるかの判定とについては、必要に応じていずれを採用してもよい。第1の値が第2の値以下であるか又は第2の値よりも大きいかの判定と、第1の値が第2の値よりも小さいか又は第2の値以上であるかの判定については、いずれを採用してもよい。換言すれば、2つの値の大小判定を行って2つの判定結果を得る場合、2つの値が等しい場合については、必要に応じて2つの判定結果のいずれに含めてもよい。
Other Embodiments The present invention is not limited to the above-described embodiments, and can be modified as appropriate without departing from the scope of the invention. For example, in the above-described embodiment, the magnitude determination of two values has been described, but this is merely an example, and the case where the two values are equal in the magnitude determination of the two values may be handled as necessary. good. That is, determining whether the first value is greater than or equal to the second value or less than the second value, and determining whether the first value is greater than or less than or equal to the second value. With respect to the determination of, any may be adopted as necessary. determining whether the first value is less than or greater than the second value and determining whether the first value is less than or greater than or equal to the second value Either may be adopted. In other words, when determining the magnitude of two values to obtain two determination results, the case where the two values are equal may be included in either of the two determination results as required.
 上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。プログラムは、コンピュータに読み込まれたときに、コンピュータに上述の実施の形態に記載した1つ以上の機能を実行させる指令(又はソフトウェアコード)を含むものである。プログラムは、非一時的なコンピュータ可読媒体又は有形の記憶媒体に格納されてもよい。これに限られるものではないが、非一時的なコンピュータ可読媒体又は有形の記憶媒体の例は、RAM(Random-access memory : RAM)、ROM(Read-only memory)、フラッシュメモリ(Flash memory)、SSD(Solid-state drive)、又は、他の種類の記憶技術、例えば、CD(Compact disc)-ROM、DVD(Digital versatile disc)、ブルーレイ・ディスク(Blu-ray disc登録商標)又は他の種類の光学ディスク記憶装置、磁気カセット(Magnetic cassette)、磁気テープ(Magnetic tape)、磁気ディスク記憶装置(Magnetic disk storage)又は他の磁気記憶装置を含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体によって送信されてもよい。これに限られるものではないが、一時的なコンピュータ可読媒体又は有形の記憶媒体の例は、電気的、光学的、音響的又は他の形式の伝搬信号を含んでもよい。 In the above-described embodiments, the present invention has been described mainly as a hardware configuration, but it is not limited to this, and arbitrary processing can be realized by causing a CPU (Central Processing Unit) to execute a computer program. It is also possible to A program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more of the functions described in the embodiments above. The program may be stored in a non-transitory computer-readable medium or tangible storage medium. Non-limiting examples of non-transitory computer readable or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, SSD (Solid-state drive) or other kind of storage technology such as CD (Compact disc)-ROM, DVD (Digital versatile disc), Blu-ray disc or other kind of Including optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage. The program may be transmitted by a transitory computer-readable medium or communication medium. Non-limiting examples of transitory computer readable media or tangible storage media may include electrical, optical, acoustic or other forms of propagating signals.
 実施の形態1においては、学習データDATを学習して得られたノードをクラスタリングするものとして説明したが、実施の形態2で説明したSOINN法によって学習データDATを学習することで得られたノードに対してクラスタリン行ってもよいことは、言うまでもない。 In the first embodiment, the nodes obtained by learning the learning data DAT are clustered. Needless to say, clusterin may be used for this purpose.
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments can also be described as the following additional remarks, but are not limited to the following.
 (付記1)学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持するモデル保持部と、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する探索部と、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する出力部と、を備える、情報処理装置。 (Appendix 1) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning learning data based on time-series data including a plurality of data elements represented by, the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result A model holding unit holding a model created as a set of nodes represented by a multidimensional vector; a searching unit for searching for a node matching or approximating the input data from among the nodes whose number is smaller than the number of data elements; and an output unit that outputs to the controlled object as an output command value to be given.
 (付記2)前記モデルは、前記学習用データのそれぞれをノードとして学習することで作成され、前記探索部は、前記ノードから、前記少数の前記ノードとして、前記入力データに対して時間的に比較的近いノードを選択し、前記選択したノードから前記入力データに対して最短距離のノードを探索する、付記1に記載の情報処理装置。 (Appendix 2) The model is created by learning each of the learning data as a node, and the search unit temporally compares the input data from the node as the small number of nodes. The information processing apparatus according to supplementary note 1, wherein a close node is selected, and a node closest to the input data is searched from the selected node.
 (付記3)前記モデルは、前記学習用データを時系列クラスタリングして、前記ノードを複数のクラスタに分類することで作成され、前記探索部は、前記入力データが属するクラスタと、前記入力データが属するクラスタに時間的に直後のクラスタと、を探索し、探索した2つのクラスタに属するノードから前記入力データに対して最短距離のノードを探索する、付記2に記載の情報処理装置。 (Appendix 3) The model is created by time-series clustering the learning data and classifying the nodes into a plurality of clusters. 3. The information processing apparatus according to appendix 2, wherein a cluster belonging to the cluster and a cluster temporally immediately after the cluster are searched, and a node belonging to the searched two clusters is searched for a node closest to the input data.
 (付記4)前記探索部は、前記入力データに対して重心が最短距離にあるクラスタを前記入力データが属するクラスタとして探索する、付記3に記載の情報処理装置。 (Appendix 4) The information processing apparatus according to appendix 3, wherein the search unit searches for a cluster whose center of gravity is closest to the input data as a cluster to which the input data belongs.
 (付記5)前記探索部は、最初に入力された入力データについては、前記最初に入力された入力データに対して重心が最短距離にあるクラスタを前記最初に入力された入力データが属するクラスタとして探索し、前記最初に入力された入力データよりも後に入力される入力データについては、1つ前に入力された入力データについて探索された最短距離のノードが属するクラスタを、前記最初に入力された入力データよりも後に入力される入力データが属するクラスタとして探索する、付記3に記載の情報処理装置。 (Supplementary note 5) For the first input data, the search unit regards the cluster whose center of gravity is closest to the first input data as the cluster to which the first input data belongs. For the input data input after the input data input first, the cluster to which the node with the shortest distance searched for the input data input one before belongs belongs to the input data input first. 3. The information processing apparatus according to appendix 3, wherein the search is performed as a cluster to which the input data input after the input data belongs.
 (付記6)前記探索部は、最初に入力された入力データについては、前記最初に入力された入力データに対して重心が最短距離にあるクラスタを前記最初に入力された入力データが属するクラスタとして探索し、前記最初に入力された入力データよりも後に入力される入力データについては、過去に入力された複数の入力データについて探索された最短距離のノードが属する複数のクラスタのうちで、出現頻度が最も高いクラスタを、前記最初に入力された入力データよりも後に入力される入力データが属するクラスタとして探索する、付記4に記載の情報処理装置。 (Supplementary note 6) For the first input data, the search unit regards the cluster whose center of gravity is closest to the first input data as the cluster to which the first input data belongs. For the input data that is searched and input after the input data that was first input, the frequency of appearance among the plurality of clusters to which the nodes of the shortest distance searched for the plurality of input data that were input in the past belong. 5. The information processing apparatus according to appendix 4, wherein the cluster with the highest is searched as the cluster to which the input data input after the first input data belongs.
 (付記7)前記探索部は、前記探索したノードが属するクラスタの一部又は全部のノードの指令値から算出される統計量に基づいて、前記出力指令値を決定する、付記4乃至6のいずれか一つに記載の情報処理装置。 (Supplementary note 7) Any one of Supplementary notes 4 to 6, wherein the search unit determines the output command value based on a statistic calculated from the command values of some or all of the nodes of the cluster to which the searched node belongs. 1. The information processing device according to claim 1.
 (付記8)前記一部のノードは、前記探索したノードが属するクラスタにおいて、前記探索したノードから所定の距離以内のノード、又は、前記探索したノードから近い順に選択された所定の個数のノードである、付記7に記載の情報処理装置。 (Appendix 8) The some nodes are nodes within a predetermined distance from the searched node, or a predetermined number of nodes selected in order of proximity from the searched node in the cluster to which the searched node belongs. The information processing device according to appendix 7.
 (付記9)前記探索部は、前記探索したノードとの指令値と、前記入力データが属するクラスタ及び前記入力データが属するクラスタに時間的に直後のクラスタのうちで前記探索したノードに近似する1つ以上のノードの指令値と、から算出される統計量に基づいて、前記出力指令値を決定する、付記4乃至6のいずれか一つに記載の情報処理装置。 (Supplementary Note 9) The search unit approximates a command value with the searched node, a cluster to which the input data belongs, and a cluster temporally immediately after the cluster to which the input data belongs to the searched node 1 7. The information processing apparatus according to any one of appendices 4 to 6, wherein the output command value is determined based on command values of one or more nodes and a statistic calculated therefrom.
 (付記10)前記探索部は、最初に入力された入力データについては、前記最初に入力された入力データに対して重心が最短距離にあるクラスタを前記最初に入力された入力データが属するクラスタとして探索し、前記最初に入力された入力データよりも後に入力される入力データについては、1つ前に入力された入力データについて探索したノードが属するクラスタと、前記探索したノードに近似する1つ以上のノードが属するクラスタとのうちで出現頻度が最も高いクラスタを、前記最初に入力された入力データよりも後に入力される入力データが属するクラスタとして探索する、付記9に記載の情報処理装置。 (Supplementary note 10) For the first input data, the search unit regards the cluster whose center of gravity is closest to the first input data as the cluster to which the first input data belongs. For input data that is searched and that is input after the input data that is input first, a cluster to which the node searched for the input data that was input immediately before belongs, and one or more similar to the searched node. 10. The information processing apparatus according to appendix 9, wherein the cluster to which the input data input after the first input data belongs is searched for a cluster with the highest appearance frequency among the clusters to which the nodes of .
 (付記11)前記学習用データのデータ要素よりも少数のノードによって前記学習用データのデータ要素の分布構造を近似的に学習することで前記モデルを作成し、作成した前記モデルを前記モデル保持部へ出力するモデル作成部をさらに備え、前記探索部は、前記モデルに含まれる前記ノードから前記入力データに近似するノードを探索する、付記1に記載の情報処理装置。 (Appendix 11) creating the model by approximately learning the distribution structure of the data elements of the learning data using a smaller number of nodes than the data elements of the learning data, and storing the created model in the model holding unit; The information processing apparatus according to Supplementary Note 1, further comprising a model creation unit that outputs to the model, wherein the search unit searches for a node that approximates the input data from the nodes included in the model.
 (付記12)前記探索部は、前記探索したノードの指令値を、前記出力指令値として出力する、付記2乃至4及び11のいずれか一つに記載の情報処理装置。 (Appendix 12) The information processing apparatus according to any one of Appendices 2 to 4 and 11, wherein the search unit outputs the command value of the searched node as the output command value.
 (付記13)前記探索部は、前記探索したノードとの指令値と、前記探索したノードに近似する1つ以上のノードの指令値と、から算出される統計量に基づいて、前記出力指令値を決定する、付記2乃至4及び11のいずれか一つに記載の情報処理装置。 (Supplementary Note 13) The search unit, based on a statistic calculated from a command value for the searched node and a command value for one or more nodes similar to the searched node, the output command value 12. The information processing apparatus according to any one of appendices 2 to 4 and 11, which determines the
 (付記14)前記探索したノードに近似する1以上のノードは、前記探索したノードから所定の距離以内のノード、又は、前記探索したノードから近い順に選択された所定の個数のノードである、付記9、10及び13のいずれか一つに記載の情報処理装置。 (Appendix 14) The one or more nodes similar to the searched node are nodes within a predetermined distance from the searched node, or a predetermined number of nodes selected in order of proximity from the searched node. 14. The information processing device according to any one of 9, 10 and 13.
 (付記15)前記統計量は、平均値、中央値、最大値、最小値及び最頻値のいずれかである、付記7乃至10、13及び14のいずれか一つに記載の情報処理装置。 (Appendix 15) The information processing apparatus according to any one of Appendices 7 to 10, 13, and 14, wherein the statistic is one of an average value, median value, maximum value, minimum value, and mode value.
 (付記16)前記第2の状態量は、前記学習対象から予め取得した前記第1の状態量であり、かつ、前記第2の指令値は、前記予め取得した前記第1の状態量に応じて前記学習対象に与えられた前記第1の指令値である、付記1乃至15のいずれか一つに記載の情報処理装置。 (Appendix 16) The second state quantity is the first state quantity obtained in advance from the learning target, and the second command value corresponds to the first state quantity obtained in advance. 16. The information processing apparatus according to any one of appendices 1 to 15, wherein the first command value given to the learning object is the first command value.
 (付記17)前記第1の指令値は、前記学習対象から予め取得した前記第1の状態量に基づいて前記学習対象の操作者が前記学習対象に与えた指令値の実績値である、付記16に記載の情報処理装置。 (Supplementary Note 17) The first command value is an actual value of the command value given to the learning target by the learning target operator based on the first state quantity obtained in advance from the learning target. 17. The information processing device according to 16.
 (付記18)前記学習用データのデータ要素に含まれる前記第1の指令値は、前記学習対象から予め取得した前記第1の状態量に対して、所定の時間だけ後に前記制御対象に与えられた指令値である、付記16に記載の情報処理装置。 (Appendix 18) The first command value included in the data element of the learning data is given to the controlled object after a predetermined time with respect to the first state quantity obtained in advance from the learning object. 17. The information processing device according to appendix 16, wherein the command value is the
 (付記19)前記情報処理装置は、前記学習対象又は前記制御対象に設けられる、付記1乃至17のいずれか一つに記載の情報処理装置。 (Appendix 19) The information processing apparatus according to any one of Appendices 1 to 17, wherein the information processing apparatus is provided in the learning object or the control object.
 (付記20)前記学習対象及び前記制御対象は同一である、付記1乃至17のいずれか一つに記載の情報処理装置。 (Appendix 20) The information processing apparatus according to any one of Appendices 1 to 17, wherein the learning object and the control object are the same.
 (付記21)前記情報処理装置は、前記制御対象に設けられる、付記20に記載の情報処理装置。 (Appendix 21) The information processing apparatus according to appendix 20, wherein the information processing apparatus is provided in the control target.
 (付記22)学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持し、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索し、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する、情報処理方法。 (Appendix 22) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning learning data based on time-series data including a plurality of data elements represented by, the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result A model created as a set of nodes represented as a multidimensional vector is held, a third state quantity obtained from a controlled object is input as input data, and the number of data elements of the learning data included in the model is searching for a node matching or approximating the input data from among a small number of the nodes, and using a value based on the second command value of the searched node as an output command value given to operate the controlled object, the control An information processing method that outputs to a target.
 (付記23)学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持する処理と、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する処理と、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する処理と、をコンピュータに実行させる、プログラム。 (Appendix 23) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning learning data based on time-series data including a plurality of data elements represented by, the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result A process of holding a model created as a set of nodes represented as a multidimensional vector, and a data element of the learning data included in the model, wherein the third state quantity obtained from the controlled object is input as input data. A process of searching for a node matching or approximating the input data from a smaller number of the nodes, and an output command giving a value based on the second command value of the searched node to operate the controlled object. A program for causing a computer to execute a process of outputting a value to the controlled object.
 (付記24)学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合としてモデルを作成するモデル作成部と、作成された前記モデルを保持するモデル保持部と、制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する探索部と、前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する出力部と、を備える、情報処理システム。 (Appendix 24) A multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning learning data based on time-series data including a plurality of data elements represented by, the distribution structure of the learning data includes a second state quantity and a second command value based on the learning result A model creation unit that creates a model as a set of nodes represented as a multidimensional vector, a model holding unit that holds the created model, and a third state quantity obtained from a controlled object are input as input data, a search unit that searches for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data included in the model; and a value based on the second command value of the searched node. to the controlled object as an output command value given for operating the controlled object.
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the invention.
 この出願は、2021年8月18日に出願された日本出願特願2021-133415を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2021-133415 filed on August 18, 2021, and the entire disclosure thereof is incorporated herein.
 1 モデル保持部
 2 探索部
 3 出力部
 4 モデル作成部
 5 探索部
 10 操作者
 11 指令装置
 20 操作対象装置
 30 ロボット
 31 ロボットアーム
 32 力センサ
 33 円柱ポール
 41 入力情報取得手段
 42 勝者ノード探索手段
 43 類似度閾値算出手段
 44 類似度閾値判定手段
 45 ノード挿入手段
 46 重みベクトル更新手段
 47 ノード密度算出手段
 48 分布重なり領域検出手段
 49 辺接続判定手段
 50 辺接続手段
 51 辺削除手段
 52 ノイズノード削除手段
 53 出力情報表示手段
 100 情報処理装置
 110 処理部
 120 表示部
 130 入力部
 200 情報処理装置
 1000 コンピュータ
 1001 CPU
 1002 ROM
 1003 RAM
 1004 バス
 1005 入出力インターフェイス
 1006 入力部
 1007 出力部
 1008 記憶部
 1009 通信部
 1010 ドライブ
 1011 磁気ディスク
 1012 光ディスク
 1013 フレキシブルディスク
 1014 半導体メモリ
1 model holding unit 2 search unit 3 output unit 4 model creation unit 5 search unit 10 operator 11 command device 20 operation target device 30 robot 31 robot arm 32 force sensor 33 cylindrical pole 41 input information acquisition means 42 winner node search means 43 similar degree threshold calculation means 44 similarity threshold determination means 45 node insertion means 46 weight vector update means 47 node density calculation means 48 distribution overlapping area detection means 49 edge connection determination means 50 edge connection means 51 edge deletion means 52 noise node deletion means 53 output Information display means 100 information processing device 110 processing unit 120 display unit 130 input unit 200 information processing device 1000 computer 1001 CPU
1002 ROMs
1003 RAM
1004 bus 1005 input/output interface 1006 input section 1007 output section 1008 storage section 1009 communication section 1010 drive 1011 magnetic disk 1012 optical disk 1013 flexible disk 1014 semiconductor memory

Claims (14)

  1.  学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持するモデル保持部と、
     制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する探索部と、
     前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する出力部と、を備える、
     情報処理装置。
    represented by a multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning the learning data based on the time-series data containing a plurality of data elements, the distribution structure of the learning data as a multidimensional vector containing the second state quantity and the second command value based on the learning result a model holder that holds a model created as a set of represented nodes;
    A third state quantity obtained from a controlled object is input as input data, and a search is performed for searching for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data included in the model. Department and
    an output unit that outputs a value based on the second command value of the searched node to the controlled object as an output command value given to operate the controlled object;
    Information processing equipment.
  2.  前記モデルは、前記学習用データのそれぞれをノードとして学習することで作成され、
     前記探索部は、前記ノードから、前記少数の前記ノードとして、前記入力データに対して時間的に比較的近いノードを選択し、前記選択したノードから前記入力データに対して最短距離のノードを探索する、
     請求項1に記載の情報処理装置。
    The model is created by learning each of the learning data as a node,
    The search unit selects nodes relatively close in time to the input data from the nodes as the small number of nodes, and searches for a node closest to the input data from the selected nodes. do,
    The information processing device according to claim 1 .
  3.  前記モデルは、前記学習用データを時系列クラスタリングして、前記ノードを複数のクラスタに分類することで作成され、
     前記探索部は、前記入力データが属するクラスタと、前記入力データが属するクラスタに時間的に直後のクラスタと、を探索し、探索した2つのクラスタに属するノードから前記入力データに対して最短距離のノードを探索する、
     請求項2に記載の情報処理装置。
    The model is created by time-series clustering the learning data and classifying the nodes into a plurality of clusters,
    The searching unit searches for a cluster to which the input data belongs and a cluster temporally immediately after the cluster to which the input data belongs, and finds the shortest distance from the nodes belonging to the searched two clusters to the input data. explore the node,
    The information processing apparatus according to claim 2.
  4.  前記探索部は、前記探索したノードが属するクラスタの一部又は全部のノードの指令値から算出される統計量に基づいて、前記出力指令値を決定する、
     請求項3に記載の情報処理装置。
    The search unit determines the output command value based on a statistic calculated from the command values of some or all of the nodes of the cluster to which the searched node belongs.
    The information processing apparatus according to claim 3.
  5.  前記学習用データのデータ要素よりも少数のノードによって前記学習用データのデータ要素の分布構造を近似的に学習することで前記モデルを作成し、作成した前記モデルを前記モデル保持部へ出力するモデル作成部をさらに備え、
     前記探索部は、前記モデルに含まれる前記ノードから前記入力データに近似するノードを探索する、
     請求項1に記載の情報処理装置。
    A model that creates the model by approximately learning the distribution structure of the data elements of the learning data using fewer nodes than the data elements of the learning data, and outputs the created model to the model holding unit. further equipped with a creation part,
    The search unit searches for a node that approximates the input data from the nodes included in the model.
    The information processing device according to claim 1 .
  6.  前記探索部は、前記探索したノードの指令値を、前記出力指令値として出力する、
     請求項2、3及び5のいずれか一項に記載の情報処理装置。
    The search unit outputs the command value of the searched node as the output command value,
    The information processing apparatus according to any one of claims 2, 3 and 5.
  7.  前記探索部は、前記探索したノードとの指令値と、前記探索したノードに近似する1つ以上のノードの指令値と、から算出される統計量に基づいて、前記出力指令値を決定する、
     請求項2、3及び5のいずれか一項に記載の情報処理装置。
    The search unit determines the output command value based on a statistic calculated from a command value for the searched node and a command value for one or more nodes similar to the searched node.
    The information processing apparatus according to any one of claims 2, 3 and 5.
  8.  前記探索したノードに近似する1以上のノードは、前記探索したノードから所定の距離以内のノード、又は、前記探索したノードから近い順に選択された所定の個数のノードである、
     請求項7に記載の情報処理装置。
    The one or more nodes similar to the searched node are nodes within a predetermined distance from the searched node, or a predetermined number of nodes selected in order of proximity from the searched node.
    The information processing apparatus according to claim 7.
  9.  前記統計量は、平均値、中央値、最大値、最小値及び最頻値のいずれかである、
     請求項4、7及び8のいずれか一項に記載の情報処理装置。
    The statistic is one of mean, median, maximum, minimum and mode;
    The information processing apparatus according to any one of claims 4, 7 and 8.
  10.  前記第2の状態量は、前記学習対象から予め取得した前記第1の状態量であり、かつ、前記第2の指令値は、前記予め取得した前記第1の状態量に応じて前記学習対象に与えられた前記第1の指令値である、
     請求項1乃至9のいずれか一項に記載の情報処理装置。
    The second state quantity is the first state quantity pre-acquired from the learning object, and the second command value is the learning object according to the pre-acquired first state quantity. is the first command value given to
    The information processing apparatus according to any one of claims 1 to 9.
  11.  前記第1の指令値は、前記学習対象から予め取得した前記第1の状態量に基づいて前記学習対象の操作者が前記学習対象に与えた指令値の実績値である、
     請求項10に記載の情報処理装置。
    The first command value is an actual value of a command value given to the learning target by an operator of the learning target based on the first state quantity obtained in advance from the learning target.
    The information processing apparatus according to claim 10.
  12.  前記学習用データのデータ要素に含まれる前記第1の指令値は、前記学習対象から予め取得した前記第1の状態量に対して、所定の時間だけ後に前記制御対象に与えられた指令値である、
     請求項10に記載の情報処理装置。
    The first command value included in the data element of the learning data is a command value given to the controlled object after a predetermined time with respect to the first state quantity obtained in advance from the learning object. be,
    The information processing apparatus according to claim 10.
  13.  学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持し、
     制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索し、
     前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する、
     情報処理方法。
    represented by a multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning the learning data based on the time-series data containing a plurality of data elements, the distribution structure of the learning data as a multidimensional vector containing the second state quantity and the second command value based on the learning result holds a model built as a collection of nodes represented by
    A third state quantity obtained from a controlled object is input as input data, and a node matching or approximating the input data is searched from a smaller number of the nodes than the number of data elements of the learning data included in the model,
    outputting a value based on the second command value of the searched node to the controlled object as an output command value given to operate the controlled object;
    Information processing methods.
  14.  学習対象から予め取得した第1の状態量と前記学習対象の動作を制御するために与えた前記第1の状態量に対応する第1の指令値と、を含む、多次元ベクトルで表されたデータ要素を複数含む時系列データに基づいた学習用データを学習することで、前記学習用データの分布構造を学習結果に基づいた第2の状態量及び第2の指令値を含む多次元ベクトルとして表されるノードの集合として作成されたモデルを保持する処理と、
     制御対象から取得した第3の状態量が入力データとして入力され、前記モデルに含まれる前記学習用データのデータ要素数よりも少数の前記ノードから前記入力データに一致又は近似するノードを探索する処理と、
     前記探索したノードの前記第2の指令値に基づく値を、前記制御対象を操作するために与える出力指令値として前記制御対象へ出力する処理と、をコンピュータに実行させる、
     プログラムが格納された非一時的なコンピュータ可読媒体。
    represented by a multidimensional vector containing a first state quantity obtained in advance from a learning target and a first command value corresponding to the first state quantity given to control the motion of the learning target By learning the learning data based on the time-series data containing a plurality of data elements, the distribution structure of the learning data as a multidimensional vector containing the second state quantity and the second command value based on the learning result a process of holding a model created as a set of represented nodes;
    A third state quantity obtained from a controlled object is input as input data, and a process of searching for a node matching or approximating the input data from a smaller number of the nodes than the number of data elements of the learning data included in the model. and,
    causing a computer to execute a process of outputting a value based on the second command value of the searched node to the controlled object as an output command value given to operate the controlled object;
    A non-transitory computer-readable medium that stores a program.
PCT/JP2022/014070 2021-08-18 2022-03-24 Information processing device, information processing method, and non-transitory computer-readable medium in which program is stored WO2023021776A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023542213A JPWO2023021776A5 (en) 2022-03-24 Information processing device, information processing method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-133415 2021-08-18
JP2021133415 2021-08-18

Publications (1)

Publication Number Publication Date
WO2023021776A1 true WO2023021776A1 (en) 2023-02-23

Family

ID=85240327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/014070 WO2023021776A1 (en) 2021-08-18 2022-03-24 Information processing device, information processing method, and non-transitory computer-readable medium in which program is stored

Country Status (1)

Country Link
WO (1) WO2023021776A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276484A (en) * 1999-03-25 2000-10-06 Konica Corp Device and method for image retrieval and image display device
JP2008299640A (en) * 2007-05-31 2008-12-11 Tokyo Institute Of Technology Pattern recognition device, pattern recognition method, and program
WO2016114240A1 (en) * 2015-01-13 2016-07-21 株式会社小松製作所 Drilling machine, method for controlling drilling machine, and drilling system
WO2020241419A1 (en) * 2019-05-24 2020-12-03 川崎重工業株式会社 Construction machine with learning function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276484A (en) * 1999-03-25 2000-10-06 Konica Corp Device and method for image retrieval and image display device
JP2008299640A (en) * 2007-05-31 2008-12-11 Tokyo Institute Of Technology Pattern recognition device, pattern recognition method, and program
WO2016114240A1 (en) * 2015-01-13 2016-07-21 株式会社小松製作所 Drilling machine, method for controlling drilling machine, and drilling system
WO2020241419A1 (en) * 2019-05-24 2020-12-03 川崎重工業株式会社 Construction machine with learning function

Also Published As

Publication number Publication date
JPWO2023021776A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
JP6781415B2 (en) Neural network learning device, method, program, and pattern recognition device
US20140046878A1 (en) Method and system for detecting sound events in a given environment
CN106778501B (en) Video face online identification method based on compression tracking and IHDR incremental learning
CN103473540B (en) The modeling of intelligent transportation system track of vehicle increment type and online method for detecting abnormality
CN107943856A (en) A kind of file classification method and system based on expansion marker samples
CN113393032B (en) Track circulation prediction method based on resampling
JP7276488B2 (en) Estimation program, estimation method, information processing device, relearning program and relearning method
CN112800682A (en) Feedback optimization fan blade fault monitoring method
CN112836735B (en) Method for processing unbalanced data set by optimized random forest
Xiong et al. Recursive learning for sparse Markov models
CN116051479A (en) Textile defect identification method integrating cross-domain migration and anomaly detection
CN112966088A (en) Unknown intention recognition method, device, equipment and storage medium
WO2023021776A1 (en) Information processing device, information processing method, and non-transitory computer-readable medium in which program is stored
Dhyaram et al. RANDOM SUBSET FEATURE SELECTION FOR CLASSIFICATION.
Priyadarshana et al. A modified cross entropy method for detecting multiple change points in DNA Count Data
Wang et al. Detecting outliers in complex nonlinear systems controlled by predictive control strategy
JP5130523B2 (en) Information processing apparatus, information processing method, and program
US20230237371A1 (en) Systems and methods for providing predictions with supervised and unsupervised data in industrial systems
JP2008299640A (en) Pattern recognition device, pattern recognition method, and program
US8943005B2 (en) Metric learning apparatus
CN112434983A (en) Method for rapidly judging product quality based on clustered hyper-rectangular model
JP3712583B2 (en) Information clustering apparatus and recording medium recording information clustering program
WO2021059527A1 (en) Learning device, learning method, and recording medium
CN112069876A (en) Handwriting recognition method based on adaptive differential gradient optimization
JP5667004B2 (en) Data classification apparatus, method and program

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023542213

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE