WO2022145087A1 - Information processing device, information processing method, and non-transitory computer-readable medium - Google Patents

Information processing device, information processing method, and non-transitory computer-readable medium Download PDF

Info

Publication number
WO2022145087A1
WO2022145087A1 PCT/JP2021/031880 JP2021031880W WO2022145087A1 WO 2022145087 A1 WO2022145087 A1 WO 2022145087A1 JP 2021031880 W JP2021031880 W JP 2021031880W WO 2022145087 A1 WO2022145087 A1 WO 2022145087A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
information processing
winner
sides
learning time
Prior art date
Application number
PCT/JP2021/031880
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 JP2022572905A priority Critical patent/JP7489730B2/en
Publication of WO2022145087A1 publication Critical patent/WO2022145087A1/en

Links

Images

Classifications

    • 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/08Learning methods

Definitions

  • the present invention relates to an information processing device, an information processing method and a program, for example, an information processing device, an information processing method and a program for learning an input distribution structure of an input vector by sequentially inputting an input vector belonging to an arbitrary class.
  • SOINN self-organizing neural network
  • Patent Document 1 As a learning method for proliferating neurons as needed during learning, a method called a self-organizing neural network (SOINN) has been proposed (Patent Document 1).
  • SOINN can learn non-stationary inputs by autonomously managing the number of nodes, and has many advantages such as being able to extract an appropriate number of classes and topological structure even for classes with complicated distribution shapes.
  • SOINN for example, in pattern recognition, after learning a class of hiragana characters, it is possible to additionally learn a class of katakana characters.
  • E-SOINN Enhanced SOINN
  • E-SOINN allows online additional learning to add learning at any time, and has the advantage of good learning efficiency rather than batch learning. Therefore, in E-SOINN, additional learning is possible even when the learning environment changes to a new environment. Further, E-SOINN has an advantage of high noise immunity to input data.
  • LB-SOINN Load Balance Self-Organizing Incremental Neural Network
  • FIG. 32 schematically shows the generation of a new node by load balancing in LB-SOINN.
  • the node Nmax whose learning time is relatively long and biased (referred to as the detected node) and the adjacent node connected to the node are adjacent to each other.
  • the network structure can be learned accurately.
  • the load of the node belonging to the cluster can be appropriately balanced.
  • FIG. 33 schematically shows the generation of a new node by load balancing when learning data with a large noise in LB-SOINN.
  • the adjacent node Nnei belongs to the cluster CL1 and the detected node Nmax belongs to another cluster CL2
  • the load balancing in the LB-SOINN is performed, the two clusters A new node Nnew is generated in the boundary area B between them.
  • the cluster CL1 and the cluster CL2 which should be originally distinguished, cannot be distinguished, and there is a possibility that the structure of the input data cannot be learned correctly.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide an information processing device, an information processing method, and a program capable of learning the structure of input data more accurately.
  • the information processing apparatus sequentially inputs an input vector and connects the input distribution structure of the input vector between a plurality of nodes described by a multidimensional vector and two said nodes.
  • an information processing device that learns as a network structure in which a plurality of sides are arranged, a node located at the closest distance to the input vector input from the plurality of nodes included in the network structure is detected as the first winner node. Then, the side learning time of the side connecting between the winner node detection unit that detects the node located at the second closest distance as the second winner node and the first winner node and the second winner node is set as the first.
  • a side learning time update unit that increases by the value of, and one or more sides are selected from the plurality of sides based on the side learning time at a predetermined timing, and a new side is newly added on each of the selected one or more sides. It has a load balancing unit that creates a node and inserts it into the network structure.
  • the information processing apparatus is the information processing apparatus, wherein the side learning time update unit further connects the side between the first winner node and the second winner node. Other than that, it is desirable to increase the side learning time of the side connected to the first winner node and the side learning time of the side connected to the second winner node by a second value smaller than the first value.
  • the load balancing unit selects one or more sides having a relatively large side learning time.
  • the load balancing unit may select one or more sides whose side learning time is larger than a predetermined side learning time threshold. desirable.
  • the information processing apparatus is the above-mentioned information processing apparatus, in which the load balancing unit obtains one or more sides from the plurality of sides based on the side learning time and the length of the sides. It is desirable to select.
  • the load balancing unit selects one or more sides having a relatively large length in the above information processing apparatus.
  • the load balancing unit selects one or more sides whose length is larger than a predetermined value in the above information processing apparatus.
  • the information processing apparatus is the above-mentioned information processing apparatus, in which the load balancing unit wins the first node connected to one end of each side in the selected one or more sides. It is desirable to determine the position to generate the new node based on the number of times and the number of wins of the second node connected to the other end.
  • the information processing apparatus is the information processing apparatus, wherein the load balancing unit is the number of wins of the first node on each side and the number of wins of the first node on each side in one or more selected sides. It is desirable to generate the new node at the position of the center of gravity calculated from the number of wins of the second node.
  • the information processing apparatus is the above-mentioned information processing apparatus, in which the load balancing unit deletes one or more selected sides and is connected to one end of each deleted side. Generate a first side connecting one node and the new node, a second side connected to the other end of each deleted side, and a second side connecting the new node. It is desirable to insert it into the network structure.
  • the load balancing unit sets the side learning time of each deleted side to the first side and the second side. It is desirable to let each of them inherit at a predetermined ratio.
  • each of the first and second sides has the number of wins of the first node and the number of wins of the second node, respectively. It is desirable to inherit the side learning time of each deleted side by the ratio indicated by the value obtained by dividing the number of wins of the first node and the number of wins of the second node.
  • the information processing apparatus is the above-mentioned information processing apparatus, in which the information processing apparatus includes the distance between the input vector and the first winner node and the input vector and the second winner.
  • a component of the input vector when the node insertion is executed as a result of the determination by the node insertion determination unit that determines whether or not to execute the node insertion based on the distance between the nodes and the node insertion determination unit. It is desirable to have a node insertion section that generates an insertion node having the same component as the weight vector and inserts the generated insertion node into the network structure.
  • input vectors are sequentially input, and the input distribution structure of the input vector is connected to a plurality of nodes described by a multidimensional vector and between the two said nodes. It is an information processing method that learns as a network structure in which a plurality of sides are arranged, and the winner node detection unit is located at the closest distance to the input vector input from the plurality of nodes included in the network structure. The node is detected as the first winner node, the node located at the second closest distance is detected as the second winner node, and the edge learning time update unit performs an edge learning time update unit between the first winner node and the second winner node.
  • the side learning time of the connected sides is increased by a predetermined value, and the load balancing unit selects one or more sides from the plurality of sides based on the side learning time at a predetermined timing, and the selected one or more sides.
  • a new node is created on each side and inserted into the network structure.
  • input vectors belonging to an arbitrary class are sequentially input, and the input distribution structure of the input vector is described by a plurality of nodes described by a multidimensional vector and between two said nodes.
  • It is a program that causes a computer to execute a process of learning as a network structure in which a plurality of sides are arranged, and is located at a distance closest to the input vector input from the plurality of nodes included in the network structure.
  • the processing to detect the node to be detected as the first winner node and the node located at the second closest distance as the second winner node, and the side learning time update unit are the first winner node and the second winner node.
  • the process of creating a new node on each of the above and inserting it into the network structure is performed by the computer.
  • an information processing device an information processing method and a program capable of learning the structure of input data more accurately.
  • FIG. It is a figure which shows an example of the system configuration for realizing the information processing apparatus which concerns on Embodiment 1.
  • FIG. It is a figure which shows typically the functional structure of the information processing apparatus which concerns on Embodiment 1.
  • FIG. It is a figure which shows typically the functional structure of the information processing apparatus which concerns on Embodiment 1.
  • FIG. It is a flowchart of the learning process in the information processing apparatus which concerns on Embodiment 1.
  • FIG. It is a figure which shows the case of the increase of learning time.
  • FIG. 1 It is a figure which shows the example which four nodes are connected in a star shape. It is a figure which shows the deletion of an edge. It is a figure which shows the generation and insertion of an edge. It is a figure which shows the inheritance of the edge learning time. It is a figure which shows the data generated for use in an experiment in Embodiment 1.
  • FIG. It is a figure which shows the input data which gave noise to the generated data. It is a figure which shows the learning result of the input data by the algorithm which removed the load equilibration from the LB-SOINN of Patent Document 2. It is a figure which shows the learning result of the input data by LB-SOINN of patent document 2.
  • FIG. It is a figure which shows the learning result of the input data which applied the load equilibration which concerns on Embodiment 1.
  • FIG. It is a figure which shows the data generated for use in the experiment in Embodiment 2.
  • FIG. It is a figure which shows the input data which gave noise to the generated data.
  • FIG. It is a figure which shows the learning result of the input data which applied the load equilibration which concerns on Embodiment 1.
  • FIG. It is a figure which shows the distribution of the input vector.
  • FIG. It is a figure which shows the node distribution after applying the load equilibration described in Embodiment 1.
  • FIG. It is a figure which shows the image of the load equilibration which concerns on Embodiment 2. It is a figure which shows the node distribution after applying the load equilibration which concerns on Embodiment 2 under the input vector distribution of FIG. It is a figure which shows the learning result of the input data which applied the load equilibration which concerns on Embodiment 2. It is a figure which shows typically the structure of the information processing apparatus which concerns on Embodiment 3.
  • FIG. It is a flowchart of the operation of the information processing apparatus which concerns on Embodiment 3.
  • FIG. 1 is a diagram showing an example of a system configuration for realizing the information processing apparatus according to the first embodiment.
  • the information processing device 100 can be realized by a computer 10 such as a dedicated computer or a personal computer (PC).
  • the number of computers does not have to be physically single, and may be multiple when performing distributed processing.
  • the computer 10 has a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, and a RAM (Random Access Memory) 13, which are connected to each other via a bus 14. There is.
  • the description of the OS software for operating the computer is omitted, it is assumed that the computer that constructs this information processing device also has it.
  • the input / output interface 15 is also connected to the bus 14.
  • the input / output interface 15 includes, for example, an input unit 16 including a keyboard, a mouse, and a sensor, a display including a CRT and an LCD, an output unit 17 including headphones and speakers, and a storage unit 18 including a hard disk.
  • a communication unit 19 composed of a modem, a terminal adapter, etc. is connected.
  • the CPU 11 executes various processes according to various programs stored in the ROM 12 or various programs loaded from the storage unit 18 into the RAM 13, and in the present embodiment, for example, processes each part of the information processing apparatus 100 described later. ..
  • a GPU Graphics Processing Unit
  • the GPU Graphics Processing Unit
  • the processing of each part of the information processing apparatus 100 described later may be executed.
  • the GPU is suitable for the purpose of performing routine processing in parallel, and can be applied to the processing in the neural network described later. It is also possible to improve the processing speed as compared with the CPU 11.
  • the RAM 13 also appropriately stores data and the like necessary for the CPU 11 and the GPU 21 to execute various processes.
  • the communication unit 19 performs communication processing via the Internet (not shown), transmits data provided by the CPU 11, and outputs data received from the communication partner to the CPU 11, RAM 13, and storage unit 18.
  • the storage unit 18 communicates with the CPU 11 and stores / erases information.
  • the communication unit 19 also performs communication processing of an analog signal or a digital signal with another device.
  • the input / output interface 15 also requires a computer program to which a drive 20 is connected as needed, and for example, a magnetic disk 20A, an optical disk 20B, a flexible disk 20C, a semiconductor memory 20D, or the like is appropriately mounted and read from them. It is installed in the storage unit 18 according to the above.
  • a neural network having a non-hierarchical structure in which a node described by an n (n is an integer of 1 or more) dimensional vector is arranged is input.
  • the neural network is stored in a storage unit such as a RAM 13.
  • the neural network in the present embodiment is a self-propagating neural network in which an input vector is input to the neural network and the number of nodes arranged in the neural network is automatically increased based on the input input vector.
  • the number of nodes can be increased automatically.
  • the neural network in this embodiment has a non-hierarchical structure.
  • additional learning can be performed without specifying the timing to start learning in other layers. That is, additional learning can be carried out online.
  • the input data is input as an n-dimensional input vector.
  • the input vector is stored in the temporary storage unit (for example, RAM 13), and is sequentially input to the neural network stored in the temporary storage unit.
  • the neural network in this embodiment is also simply referred to as a network.
  • the network on which the load balancing process is performed is a neural network composed of a plurality of nodes and a plurality of sides connecting the nodes.
  • the load balancing process is removed from the above-mentioned E-SOINN and LB-SOINN. Created by an algorithm.
  • FIGS. 2 and 3 schematically show the functional configuration of the information processing apparatus 100 according to the first embodiment.
  • FIG. 4 shows a flowchart of processing in the information processing apparatus 100 according to the first embodiment.
  • the software and the hardware resources such as one or both of the CPU 11 and the GPU 21 cooperate to realize the functional configuration shown in FIGS. 2 and 3 and each process shown in FIG.
  • the information processing device 100 has a winner node detection unit 1, an edge learning time update unit 2, and a load balancing unit 3, which are the basic components of the information processing device 100.
  • the learning processing unit 4 and the clustering unit 5 shown in FIG. 3 may be provided in the information processing device 100 or may be provided separately from the information processing device 100. Here, it is assumed that the learning processing unit 4 and the clustering unit 5 are provided in the information processing apparatus 100.
  • the information processing apparatus 100 is input with a network constructed by learning, which is a target of load balancing processing, and a new input vector. Specifically, the learning processing unit 4 sequentially learns the input vector, and at a predetermined timing, passes the constructed network and the new input vector to the information processing apparatus 100.
  • the winner node detection unit 1 detects the first winner and the second winner based on the input vector and the node of the neural network.
  • the side learning time updating unit 2 increases the learning time of the side connecting the first winner and the second winner by a predetermined value.
  • the load balancing unit 3 detects an edge included in the neural network whose edge learning time is relatively long. Insert a new node located on the detected edge into the neural network.
  • the information processing apparatus 100 determines whether all the input vectors have been input. If it is determined that all the input vectors have not been input, a new input vector is input to the learning processing unit 4, and the processing is continued. When it is determined that all the input vectors have been input, the clustering unit 5 performs clustering processing of the network after load balancing, the nodes constituting the network are classified, and a series of processing for the input data is completed.
  • Step S1 The learning processing unit 4 learns input vectors that are sequentially input in cooperation with the winner node detection unit 1 to form a neural network showing an input distribution structure composed of nodes and edges connecting the nodes. ..
  • the learning processing unit 4 sequentially stores the nodes and sides obtained as a result of learning in the temporary storage unit.
  • Step S2 The winner node detection unit 1 refers to the input vector and the node stored in the temporary storage unit, detects the node closest to the target input vector ⁇ as the first winner node a1, and second to the target input vector ⁇ . A nearby node is detected as the second winner node a2, and the result is stored in the temporary storage unit.
  • the winner node detection unit 1 executes, for example, the processes shown in the following equations [1] and [2] as the detection process, and stores the result in the temporary storage unit.
  • D ( ⁇ , a) is the distance between the input vector ⁇ calculated using a predetermined distance scale and the node a
  • A is a set of nodes.
  • any distance scale such as Euclidean distance, cosine distance, Manhattan distance, and fractional distance can be applied.
  • Euclidean distance is used when the input data is low-dimensional
  • cosine distance, Manhattan distance and fractional distance are used when the input data is high-dimensional.
  • the winner node detection unit 1 may be included in the learning processing unit 4.
  • the winner node detection unit 1 may be included in the learning processing unit 4, and the winner node detection result performed in the learning process can be used as it is.
  • Step S3 The edge learning time update unit 2 increases the learning time of the edge (also referred to as the winning edge) connecting the first winner node and the second winner node by a predetermined value, and stores the result in the temporary storage unit. Further, even if the side learning time updating unit 2 increases the learning time of the side connected to the first winner node and the side connected to the second winner node other than the winning side, and stores the result in the temporary storage unit. good.
  • the amount of increase in the learning time of the side connected to the first winner node other than the winning side and the side connected to the second winner node may be smaller than the increase amount of the winning side. desirable. Further, the amount of increase in the learning time of the side connected to the first winner node other than the winning side and the side connected to the second winner node can be in the negative direction, that is, in the decreasing direction.
  • FIG. 5 shows a case of an increase in learning time.
  • the winning node is W
  • the node connecting to the winning node W on the winning side EW is Na
  • the node connecting to the winning node W on the non-winning side E is Nb.
  • Cases 1 and 2 are simple cases in which only the learning time of the winning side EW is increased, and the learning time is increased by 1 and 2, respectively.
  • Case 3 is a case where the learning time of the winning side EW and the side E other than the winning side increases, and the learning time increases by 3 and 1, respectively.
  • Case 4 is a case where the learning time of the winning side EW and the side E other than the winning side changes in different directions (positive and negative), the learning time of the winning side EW increases by 1, and the side other than the winning side The learning time of E is reduced by 1. That is, the learning time of the winning side EW may be increased with respect to the learning time of the side E other than the winning side, and as in Case 4, the learning time of the side E other than the winning side should be decreased. I understand that it is also good.
  • Step S4 The load balancing unit 3 has an input number determination unit 31, a target side detection unit 32, an edge node insertion unit 33, a target side deletion unit 34, and a new node side connection unit 35, and is loaded based on steps S41 to S45. Perform parallelization.
  • Step S41 The input number determination unit 31 determines whether or not the number of inputs of the input vector has reached a predetermined number. If the number of inputs of the input vector reaches a predetermined number, the process proceeds to step S42, and if the number of inputs of the input vector does not reach the predetermined number, the process proceeds to step S5.
  • step S4 the above-mentioned input number determination is treated as a part of step S4 as step S41, but the input number determination may be performed separately from step S4.
  • the input number determination (step S22 in FIG. 29, steps S70 and S72 in FIG. 31) is a process different from that in step S4, and in FIGS. 29 and 31 Step S4 includes steps S42 to S45.
  • the target side detection unit 32 refers to the side learning time of the side stored in the temporary storage unit, detects the side having a relatively large side learning time, and stores the result in the temporary storage unit.
  • the side detected by the target side detection unit 32 is referred to as a target side.
  • the target side detection unit 32 detects, for example, a side having an edge learning time larger than a predetermined threshold value TH1, and stores the result in the temporary storage unit.
  • the target sides Although it is possible to set all sides having a side learning time larger than the threshold value TH1 as the target sides, only a part of them may be set as the target sides. For example, among the edges having an edge learning time larger than the threshold TH1, only a predetermined number of edges may be set as the target edge in order from the edge learning time.
  • a relatively large side may be detected for each class determined by classifying the node and the side.
  • a threshold value TH1 may be prepared for each class and the target side may be detected from each class. The classification method will be described later in step S6.
  • Step S43 The edge node insertion unit 33 generates a new node at a predetermined position on the detected target edge, inserts it into the network, and stores the result in the temporary storage unit.
  • the predetermined position on the target side where the new node is inserted is referred to as a new node insertion position.
  • the new node insertion position may be various positions, but may be, for example, the midpoint of the target side as shown in FIG.
  • the new node insertion position is set as the midpoint of the side, but the new node insertion position may be determined based on the number of wins of the two nodes at both ends of the target side.
  • the nodes at both ends of the target side are N1 and N2, the number of wins is VN1 and VN2, respectively, and the length of the target side is L.
  • a position separated by L (VN2) / (VN1 + VN2) from the node N1 or a position separated by L (VN1) / (VN1 + VN2) from the node N2, that is, a position of the center of gravity based on the number of wins.
  • the number of wins is a value that means the number of times that node is selected as a winner in a certain node, and the winner is, for example, the first winner.
  • FIG. 8 shows the relationship between the side and the number of wins of the node.
  • Node Ni and node Nj are connected to both ends of the side EA, respectively.
  • the number of wins VNi_A of the node Ni indicates the number of times that the node Ni becomes the winner when the side EA becomes the target side.
  • the number of wins of the node Nj VNj_A indicates the number of times that the node Nj becomes the winner when the side EA becomes the target side. In this way, the number of wins of a node is held for each of the sides connected to that node, and when the node is connected to a plurality of sides, each side is the target side. It will keep the number of wins if it becomes.
  • FIG. 9 shows an example in which four nodes are connected in a star shape.
  • the node Ni is connected to the nodes Nj, Nk and Nm by the sides EA, EB and EC, respectively.
  • the nodes Nj, Nk, and Nm hold the number of wins VNj_A, VNk_AB, and VNm_C when the connected sides EA, EB, and EC are the target sides, respectively.
  • the three sides EA, EB and EC are connected to the central node Ni, the number of wins VNi_A, VNi_B and VNi_C for each side is held.
  • the number of wins VNi_A is larger than the number of wins VNi_B and VNi_C. Since it is a value, it is possible to reflect such a bias of input data in the number of wins. This makes it possible to generate new nodes that are more faithful to the distribution of the input data.
  • the number of wins unique to each node may be used. In this case, regardless of the target side, the same node has one number of wins, so that the processing becomes simpler and the processing load can be suppressed. Needless to say, the number of wins may take into consideration the number of second winners.
  • Step S44 After inserting the new node, the target side deletion unit 34 deletes the target side connecting the node N1 and the node N2 from the neural network, and stores the result in the temporary storage unit, as shown in FIG.
  • the target side deletion unit 34 executes the operation shown in the following equation [3] stored in the temporary storage unit, and stores the result in the temporary storage unit.
  • C indicates an edge set
  • (N1, N2) indicates an edge connecting the node N1 and the node N2, for example.
  • Step S45 As shown in FIG. 11, the new node side connection unit 35 has two sides connecting each of the two nodes N1 and N2 connected by the deleted target side and the inserted new node N. Is generated and the result is stored in the temporary storage unit. For example, the new node side connection unit 35 executes the operation shown in the following equation [4] stored in the temporary storage unit, and stores the result in the temporary storage unit.
  • the two sides connected to the new node may take over the learning time of the deleted target side under a predetermined rule.
  • the learning time of the target side may be evenly distributed to the learning time of the two newly inserted sides.
  • the learning time of the target side may be distributed to the learning time of the newly inserted two sides based on the number of wins of the two nodes at both ends of the target side.
  • the nodes at both ends of the target side are N1 and N2, and the number of wins is VN1 and VN2, respectively.
  • ST be the learning time of the target side.
  • the learning time of the side E1 connecting the node N1 and the new node is ST ⁇ VN1 / (VN1 + VN2)
  • the learning time of the side E2 connecting the node N2 and the new node is ST ⁇ VN2.
  • VN1 + VN2 may be used.
  • the learning time ST1 of the side E1 connecting the node N1 and the new node is 20.
  • the learning time ST2 of the side E2 connecting the node N2 and the new node is 80.
  • Step S5 After that, for example, the clustering unit 5 determines whether the processing of the input vector is completed, that is, whether all the input vectors have been input. If the total number of given input vectors ⁇ stored in the temporary storage unit does not match the total number of all input vectors, the process returns to step S1 and processes the next input vector ⁇ . On the other hand, when the total number of input vectors ⁇ matches the total number of all input vectors, the following step S6 is executed.
  • the method of determining the end is not limited to this, and an instruction to end may be given by the user.
  • Step S6 The clustering unit 5 refers to the load-balanced nodes and edges that have been processed and stored in the temporary storage unit, and classifies them into classes.
  • Various classification methods can be applied to the classification of the nodes constituting the network, and for example, the same processing as LB-SOINN of Non-Patent Document 2 may be performed.
  • step S6 is performed when it is determined that the processing is completed in step S5, but this is merely an example, and even if it is performed at any other timing. good. For example, it may be executed at the timing after the load balancing in step S4 is performed, or an integer having a predetermined number of units ( ⁇ ') whose total number of inputs of the input vector is different from the predetermined number of units ( ⁇ ). It may be executed when it is doubled. If the nodes and edges are classified at the time of load balancing, load balancing can also be performed for each class as described above.
  • FIG. 15 shows the learning result of the input data by the algorithm excluding the load balancing from the LB-SOINN of Patent Document 2. In this case, the two clusters cannot be distinguished because the load balancing is not performed.
  • FIG. 16 shows the learning result of the input data by LB-SOINN of Patent Document 2.
  • the load balancing of LB-SOINN creates nodes between the clusters and causes them to be excessively crowded, making it impossible to distinguish between the two clusters.
  • FIG. 17 shows the processing result of the input data to which the load balancing according to the first embodiment is applied.
  • load balancing is performed based on the edge with a relatively large edge learning time
  • node generation on the edge with a small learning time, that is, between clusters is suppressed, and the distribution of the input vector becomes more stable. It is reflected accurately.
  • the generation of the edges connecting the nodes inside the cluster and the nodes between the clusters is also suppressed, and as a result, the edges connecting the clusters are reduced. That is, it can be understood that the information processing apparatus 100 according to the first embodiment can express the distribution of the input vector more accurately.
  • Embodiment 2 The load equilibration according to the second embodiment will be described.
  • a new node is added on an edge having a relatively large edge learning time to perform load balancing.
  • a new node is added on the edge where both the edge learning time and the length are relatively large to perform load balancing.
  • FIG. 20 shows the learning result of the input data by the algorithm excluding the load balancing from the LB-SOINN of Patent Document 2.
  • load balancing since load balancing is not performed, the density of the input vector cannot be expressed by the nodes, and the nodes exist uniformly in both the central part and the surrounding annular part, and the nodes are uniformly present between the clusters. Have been connected on many sides. As a result, it can be understood that the distribution of the input vector cannot be accurately expressed.
  • FIG. 21 shows the learning result of the input data by LB-SOINN of Patent Document 2.
  • the density of the nodes in the center is expressed, it is too dense and the clusters are connected on many sides due to the influence of noise, so the clusters can also be separated. I can understand that it is not.
  • FIG. 22 shows the processing result of the input data to which the load balancing according to the first embodiment is applied.
  • the density of the nodes in the central portion is suppressed.
  • load equilibration is performed based on the edges where the edge learning time is relatively large. Therefore, the node generation on the side where the learning time is small is suppressed, and the sparseness of the nodes can be expressed.
  • nodes are excessively generated in the central portion, and due to the large number of the nodes, there is a high probability that a side connecting the annular portion and the central portion will be generated due to noise or the like. As a result, about 10 sides connecting the clusters remain.
  • the edge on which the new node is generated is deleted and is shorter than the deleted edge. Edges are generated.
  • the edge learning time tends to increase in places where the distribution density of the input vector is large, so if the learning of the input vector and the additional equilibrium processing are advanced, it will be generated by the load parallelization processing especially in the place where the distribution density of the input vector is large. There is a tendency that the learning time becomes large at the edge of the vector and further load parallelization processing is executed. Then, load equilibration creates a new node on the previously generated short edge and creates a shorter edge. As a result, as shown in FIG. 22, it can be understood that the nodes are densely packed in the central part.
  • FIG. 23 shows the distribution of the input vector.
  • the horizontal axis of FIG. 23 indicates any component of the input vector.
  • a subcluster SC1 represented by a large peak on the left side and a subcluster SC2 represented by a small peak on the right side exist in one cluster. ..
  • the load equilibration described in the first embodiment is applied to the nodes and sides generated by learning the input vector distributed in this way, the load is centered on the subcluster SC1 having the highest node density (broken line portion). Equilibration is performed.
  • FIG. 24 shows the node distribution after applying the load equilibration described in the first embodiment.
  • FIG. 24 shows the node distribution after applying the load equilibration described in the first embodiment.
  • the target side detection (step S42) in the load equilibration according to the second embodiment will be described.
  • the target side detection unit 32 refers to the side learning time of the side stored in the temporary storage unit, detects the side having a relatively large side learning time, and stores the result in the temporary storage unit. Further, the target side detection unit 32 refers to a side having a relatively large side learning time stored in the temporary storage unit, and detects a side having a relatively long length.
  • the side detected by the target side detection unit 32 which has a relatively long side learning time and a relatively long length, is referred to as a target side.
  • the target side detection unit 32 detects, for example, a side having an edge learning time larger than a predetermined threshold value TH1, and stores the result in the temporary storage unit.
  • the target side detection unit 32 detects, for example, a side longer than the threshold value LTH from a side having a side learning time larger than a predetermined threshold value TH1, and stores the result in the temporary storage unit.
  • a side that is relatively large and has a relatively long length may be detected for each class determined by classifying the node and the side.
  • a threshold value TH1 and a threshold value LTH may be prepared for each class, and the target side may be detected from each class.
  • FIG. 25 shows an image of load equilibration according to the second embodiment.
  • the load equilibration according to the first embodiment when detecting the side to be the target of the load equilibration, only the side learning time is referred to, and the length of the side is not referred to. Therefore, as shown in FIG. 25, an edge whose edge learning time is longer than the threshold value but whose length is smaller than the threshold value is also detected as a target edge (region A1 + A2 in FIG. 25). As a result, the target edges increase, resulting in excessive congestion of new nodes.
  • FIG. 25 shows the node distribution after applying the load equilibration according to the second embodiment under the input vector distribution of FIG. 20.
  • FIG. 27 shows the processing result of the input data to which the load equilibration according to the second embodiment is applied. As shown in FIG. 26, the load balancing process in the left subclass containing many short sides is suppressed, and the congestion of new nodes can be prevented.
  • the density of the nodes in the central portion is significantly suppressed, and the unevenness of the density of the nodes is alleviated. Moreover, it can be understood that the number of edges between clusters is also significantly reduced, and the distribution of input data can be learned more accurately.
  • Embodiment 3 In the third embodiment, as a specific example of the process for performing the load equilibration according to the first embodiment, the load equilibration of LB-SOINN in Patent Document 2 is replaced with the load equilibration according to the first embodiment. An example will be described.
  • the term "learning" is used for a series of processes including not only the neural network configuration process but also the load parallelization process.
  • FIG. 28 schematically shows the configuration of the information processing apparatus 300 according to the third embodiment.
  • the learning processing unit 4 includes an input information acquisition unit 41, a node density update determination unit 42, a node density calculation unit 43, a node insertion determination unit 44, a node insertion unit 45, an edge connection determination unit 46, an edge connection unit 47, and a winner node learning. It has a time calculation unit 48, a weight vector update unit 49, and an old-age side deletion unit 50.
  • the clustering unit 5 includes a subcluster determination unit 51, a noise node deletion unit 52, a learning end determination unit 53, and a class determination unit 54. Further, the information processing apparatus 300 further includes an output information display unit 6.
  • the method described in ⁇ 3: Framework for combining new distance scales> in Patent Document 2 is used.
  • the distance scale shown in the formula 14 of Patent Document 2 is used, and more specifically, the formula 17 is used.
  • a minimum distance value and a maximum distance value between nodes used for normalization of each distance scale are required.
  • the minimum and maximum distance values between nodes change when a new input vector is input to the network, so this point should also be taken into consideration. The method of consideration will be described later.
  • the method described in ⁇ 5 Definition of new node density and its calculation method> of Patent Document 2 is used. Specifically, the vector di of the average distance from the adjacent node for the node i described in the equation 23, the vector pi of the point value of the node density described in the equation 24, and the node described in the equation 25. The vector si of the cumulative point value of the node density of i and the node density hi described in Equation 26 are used.
  • FIG. 29 shows a flowchart of the operation of the information processing apparatus 300 according to the third embodiment.
  • Step S11 The input information acquisition unit 41 acquires an n-dimensional input vector as information given as input to the information processing apparatus 300, stores the acquired input vector in a temporary storage unit (for example, RAM 13), and stores it in the temporary storage unit. Input sequentially to the neural network. Specifically, the input information acquisition unit 41 initializes the node set A as an empty set and the edge set C ⁇ A ⁇ A as an empty set as the initialization process, and stores the result in the temporary storage unit. Further, as a quasi-initialization process, when the number of nodes included in the node set A is one or less, input vectors are randomly acquired so that the number of nodes is two, and the corresponding nodes are set as a node set.
  • a temporary storage unit for example, RAM 13
  • the result is stored in the temporary storage unit.
  • a new input vector ⁇ ⁇ R n is input, and the result is stored in the temporary storage unit.
  • the initialization process is executed once only immediately after the process is started, and is not executed thereafter.
  • the quasi-initialization process is executed only when the number of nodes included in the node set A is one or less, and is not executed in other cases. For example, if there are two or more nodes in the node set A instead of the first input, only the input process is executed.
  • Step S12 The node density update determination unit 42 determines that the minimum distance value and the maximum distance value between the nodes stored in the temporary storage unit and the nodes based on each distance scale are the minimum distance value and the maximum distance value between the nodes based on each distance scale. It is confirmed whether or not at least one value has changed, and if at least one value has changed, it is determined that the node density is updated, and the result is stored in the temporary storage unit. As shown above, this process and the process of step S13 take into consideration the fact that the minimum distance value and the maximum distance value between the nodes change when a new input vector is input to the network. Is.
  • Step S13 When updating the node density as a result of the determination stored in the temporary storage unit, the node density calculation unit 43 determines the node stored in the temporary storage unit, the vector of the cumulative point value of the node density, the learning time of the node, and so on.
  • the vector s i ⁇ of the cumulative point value of the node density of the node i ⁇ A included in the node set A is calculated and updated again, and the node using the updated vector s i ⁇ of the cumulative point value of the node density of the node i ⁇ .
  • the node density h i of i is calculated again, and the result is stored in the temporary storage unit.
  • the node density calculation unit 43 for example, by executing the calculation processing shown in the equations (27) to (30) and the equation (26) described in Patent Document 2, the vector s of the cumulative point value of the node density of the node i i ⁇ and the node density h i of the node i are calculated and updated again.
  • Step S2 When it is determined in step S12 that the node density is not updated, and after the node density is calculated in step S13, the winner node detection unit 1 performs the same as in the case of the information processing apparatus 100 according to the first embodiment. The first winner node and the second winner node are detected, and the result is stored in the temporary storage unit.
  • Step S14 The node insertion determination unit 44 determines whether or not to execute node insertion by referring to the target input vector stored in the temporary storage unit, the node, and the similarity threshold value of the node described later.
  • the target input vector stored in the temporary storage unit the node
  • the similarity threshold value of the node described later the similarity threshold value of the node described later.
  • the node insertion determination unit 44 refers to the node including the first winner node and the second winner node stored in the temporary storage unit, and sets the similarity threshold as the node i that focuses on the first winner node or the second winner node. Calculate Ti . First, the node insertion determination unit 44 determines whether or not an adjacent node of the node i exists, and stores the result in the temporary storage unit.
  • the node insertion determination unit 44 determines that the node i is adjacent to the node i as a result of the determination stored in the temporary storage unit, the node insertion determination unit 44 is from the node i among the adjacent nodes j as shown in the equation [5].
  • the distance to the node with the maximum distance is calculated by Ti with the similarity threshold, and the result is stored in the temporary storage unit.
  • D (i, j) is the distance between the node i and the node j calculated by using the above-mentioned distance scale.
  • the node insertion determination unit 44 is among the nodes j other than the node i, as shown in the equation [6].
  • the distance to the node with the minimum distance from the node i is calculated as the similarity threshold Ti, and the result is stored in the temporary storage unit.
  • the node insertion determination unit 44 calculates the similarity threshold T a1 of the first winner node a1 and the similarity threshold T a2 of the second winner node a 2 , and stores the results in the temporary storage unit.
  • the distance D ( ⁇ , a 1 ) between the input vector ⁇ and the first winner node a 1 is larger than the similarity threshold T a1 of the first winner node a 1 (D ( ⁇ ⁇ ). , A 1 )> T a1 ), or the distance D ( ⁇ , a 2 ) between the input vector ⁇ and the second winner node a 2 is greater than the similarity threshold T a 2 of the second winner node a 2 (D). If ( ⁇ , a 2 )> T a 2), it is determined that the node insertion is executed, and if not, it is determined that the node insertion is not executed, and the result is stored in the temporary storage unit.
  • Step S15 When it is determined in step S14 that the node is to be inserted, the node insertion unit 45 refers to the determination result of the node insertion determination unit 44 stored in the temporary storage unit, and when it is determined to execute the node insertion, the target input. Assuming that the vector ⁇ is a node that should be newly added to the network, an insertion node having the same component as the component of the target input vector ⁇ as a weight vector is generated, and the generated insertion node is inserted into the network, and the result is Is stored in the temporary storage unit. After that, the process proceeds to step S5.
  • Step S16 When it is determined in step S15 that the node is not inserted, the side connection determination unit 46 refers to the node and the subcluster label of the node stored in the temporary storage unit, and is the first winner node based on the subcluster label of the node. And the subcluster to which the second winner node belongs is determined, and the result is stored in the temporary storage unit.
  • the subcluster label of a node means label information indicating the subcluster to which the node belongs.
  • a cluster is a set of nodes included in a mixed class that are connected by edges.
  • a subcluster is a subset of a cluster of nodes with the same subcluster label.
  • the side connection determination unit 46 determines that the side is connected between the first winner node and the second winner node, and stores the result in the temporary storage unit.
  • the side connection determination unit 46 determines the node density condition for the first winner node based on the average node density of the subcluster including the first winner node (the following equation [7]), and , Determine whether or not at least one of the node density conditions (the following equation [8]) for the second winner node based on the average node density of the subcluster including the second winner node is satisfied.
  • the result is stored in the temporary storage unit.
  • ha1 indicates the node density of the first winner node
  • ha2 indicates the node density of the second winner node.
  • min (ha a1, ha a2) indicates the lowest node density among the node density h a1 of the first winner node and the node density h a2 of the second winner node.
  • h SC1 indicates the node density of the node having the highest node density among the nodes included in the subcluster SC1 to which the first winner node a1 belongs.
  • h SC2 indicates the node density of the node having the highest node density among the nodes included in the subcluster SC2 to which the second winner node a2 belongs.
  • hm SC1 indicates the average node density of all the nodes included in the subcluster SC1.
  • hm SC2 indicates the average node density of all the nodes included in the subcluster SC2.
  • indicates a parameter in which an appropriate value is determined and set in advance by the user, and the value is determined within the range of [1, 2]. Also, ⁇ is a parameter of the tolerance factor and is used to determine how much difference between subclusters contained in one class is tolerated. This tolerance decreases as ⁇ increases.
  • the condition of the node density for the first winner node a1 shown in the equation [7] is the minimum node density of the node density h a1 of the first winner node a1 and the node density h a2 of the second winner node a2. Is larger than the threshold calculated according to the ratio of the maximum node density h SC1 to the average node density hm SC1 of the subcluster SC1 based on the average node density hm SC1 of the subcluster SC1 including the first winner node a1. It is a condition to judge whether or not.
  • the node density condition for the second winner node a2 shown in the equation [8] is the smallest node among the node density h a1 of the first winner node a1 and the node density h a2 of the second winner node a2 .
  • the density is greater than the threshold calculated according to the ratio of the maximum node density h SC2 to the average node density hm SC2 of the subcluster SC2 relative to the average node density hm SC2 of the subcluster SC2 including the second winner node a2. It is a condition for determining whether or not.
  • the edge connection determination unit 46 determines that the edges are connected between the first winner node and the second winner node, and if not, the first. It is determined that the side is not connected between the winner node and the second winner node, and the result is stored in the temporary storage unit. If it is determined that the edges are not connected, the edge connection unit 47 does not connect the edges between the first winner node and the second winner node (if the edges exist between the first winner node and the second winner node). (Delete the side), store the result in the temporary storage unit, and proceed to step S20.
  • Step S17 When it is determined that the edges are connected as a result of the determination in step S16 stored in the temporary storage unit, the edge connection unit 47 connects the edges between the first winner node and the second winner node, and temporarily stores the result. Store in the department. If an edge already exists between the first winner node and the second winner node, that edge is maintained. Further, the side connection unit 47 sets the age of the side determined to be connected in the above process to 0, and stores the result in the temporary storage unit.
  • the node density calculation unit 43 includes the nodes stored in the temporary storage unit, the minimum and maximum distance values between the nodes based on each distance scale, the vector of the average distance of the nodes from the adjacent nodes, and the point value of the node density of the nodes. With respect to the vector of, the vector of the cumulative point value of the node density, and the node density, the distance of the node i from the adjacent node based on each distance scale and the distance between the nodes based on each distance scale are set with the first winner node a1 as the node i.
  • the vector di ⁇ of the average distance from the adjacent node for the node i is calculated, and the first is based on the calculated vector di ⁇ of the average distance from the adjacent node.
  • the vector pi ⁇ of the point value of the node density of the winner node a1 is calculated, and the vector of the cumulative point value of the node density is calculated based on the calculated vector pi ⁇ of the point value of the node density of the first winner node a1.
  • s i ⁇ is calculated, the node density h i of the first winner node a 1 is calculated based on the vector s i ⁇ of the cumulative point value of the node density of the first winner node a 1 , and the result is temporarily obtained.
  • the node density calculation unit 43 for example, by executing the calculation processing represented by the equations (24) to (26) described in Patent Document 2 stored in the temporary storage unit, the cumulative point value of the node density of the node i.
  • Vector s i ⁇ and node density h i of node i are calculated.
  • Step S19 The winner node learning time calculation unit 48 increases the learning time Ma1 of the first winner node a1 stored in the temporary storage unit by a predetermined value, and stores the result in the temporary storage unit.
  • Step S20 The weight vector update unit 49 updates the weight vectors of the node and the node stored in the temporary storage unit so that the weight vectors of the first winner node a1 and its adjacent nodes are closer to the input vector ⁇ , respectively, as a result. Is stored in the temporary storage unit.
  • the weight vector update unit 49 uses, for example, the equations (33) and (34) described in Patent Document 2, and the update amount ⁇ W a1 and the first winner node a for the weight vector Wa 1 of the first winner node a1 .
  • the update amount ⁇ W j for the weight vector W s1 of the adjacent node j of 1 is calculated based on the learning time Ma1, the update amount ⁇ W a1 is added to the weight vector W a1 of the first winner node a1 , and the update amount ⁇ W j is added to the weight vector W s1 of the adjacent node j, and this result is stored in the temporary storage unit.
  • Step S21 The old-age side deletion unit 50 increases the ages of all the sides directly connected to the first winner node by a predetermined value with respect to the ages of the nodes, the sides between the nodes, and the sides stored in the temporary storage unit. Store the result in the temporary storage. Further, the old-age side deletion unit 50 deletes the side stored in the temporary storage unit that has an age exceeding a predetermined threshold value preset and stored in the temporary storage unit, and stores the result in the temporary storage unit. Store.
  • Step S3 The side learning time update unit 2 updates the side learning time as in the first embodiment. Since the details of the edge learning time update are the same as those in the first embodiment, the description thereof will be omitted. However, if the winning edge does not exist, the edge learning time is not updated.
  • Step S22 Similar to step S41 in the information processing apparatus 100 according to the first embodiment, the input number determination unit 31 presets the total number of given input vectors for the total number of given input vectors stored in the temporary storage unit. It is determined whether or not it is a multiple of a predetermined number of units stored in the temporary storage unit, and the result is stored in the temporary storage unit. Then, if the number of inputs of the input vector is a multiple of a predetermined number of units, the process proceeds to step S4, and if the number of inputs of the input vector is not a multiple of the predetermined number of units, the process proceeds to step S5.
  • Step S4 Subsequent load equilibration is the same as that of the first embodiment, and thus the description thereof will be omitted. However, since the process corresponding to step S41 is executed in step S22 above, the process to be executed here is the process of steps S42 to S45.
  • Step S51 After load balancing, the subcluster determination unit 51 locally has the highest node density for the nodes stored in the temporary storage, the vertices between the nodes, the subcluster label of the node, the node density, and the boronoy region. Is assigned a different subcluster label to each vertex, and all nodes to which the subcluster label is not assigned are assigned the same subcluster label as the adjacent node with the highest node density. A boronoy region is generated based on the vertices whose node density is larger than a predetermined threshold among the vertices, and in the generated boronoi region, the subcluster including the reference vertex and other vertices different from the reference vertex are generated.
  • the subcluster label of the subcluster containing the reference vertex includes other vertices. It is assigned as a subcluster label of the subcluster, and the result is stored in the temporary storage unit.
  • the process by the subcluster determination unit 51 can determine the subcluster, for example, by performing the same process as in steps S201 to S205 and S301 to S305 in Patent Document 2.
  • Step S52 The noise node deletion unit 52 deletes a node regarded as a noise node for all the nodes a included in the node set A stored in the temporary storage unit, and stores the result in the temporary storage unit.
  • the noise node deleting unit 52 executes the processes shown in steps S601 to S604 in Patent Document 2, for example, regarding the nodes stored in the temporary storage unit, the sides between the nodes, the number of adjacent nodes, and the node density, and the node of interest. Based on the number of adjacent nodes of a and the node density, the node of interest can be deleted and the result can be stored in the temporary storage unit.
  • Step S5 The learning end determination unit 53 determines whether or not to end the learning process by the information processing apparatus 300, as in step S5 in the information processing apparatus 100 according to the first embodiment. If it is determined that the process is not completed, the process returns to step S11 and the next input vector ⁇ is processed. On the other hand, if it is determined to end, the process proceeds to step S53.
  • Step S53 The class determination unit 54 determines the class to which the node belongs based on the node stored in the temporary storage unit, the side between the nodes, and the class of the node based on the side generated between the nodes, and the result is stored in the temporary storage unit. Store in.
  • the class determination unit 54 may determine the class by performing the same processing as in steps S701 to S704 in Patent Document 2, for example.
  • the output information display unit 6 may output the number of classes of the class to which the node belongs and the prototype vector of each class for the node and the class of the node stored in the temporary storage unit. After completing the above processing, learning is stopped.
  • the load balancing according to the first embodiment can be applied to accurately learn the structure of the input vector.
  • the load equilibration according to the second embodiment may be applied instead of the load equilibration according to the first embodiment.
  • Embodiment 4 In the third embodiment, as a specific example of the process for performing the load equilibration according to the first embodiment, the load equilibration of LB-SOINN in Patent Document 2 is replaced with the load equilibration according to the first embodiment. An example was explained. On the other hand, in the fourth embodiment, another specific example of the process in the case of performing the load equilibration according to the first embodiment will be described. In the fourth embodiment, the term "learning" is used for a series of processes including not only the neural network configuration process but also the load parallelization process.
  • FIG. 30 schematically shows the configuration of the information processing apparatus 400 according to the fourth embodiment.
  • the information processing apparatus 400 has a configuration in which the learning processing unit 4 of the information processing apparatus 300 according to the third embodiment is replaced with the learning processing unit 7, and the clustering unit 5 is replaced with the clustering unit 8.
  • the learning processing unit 7 includes a part of the components of the learning processing unit 4, specifically, an input information acquisition unit 41, a node insertion determination unit 44, a node insertion unit 45, an edge connection unit 47, and a winner node learning time. It has a calculation unit 48, a weight vector update unit 49, and an old-age side deletion unit 50.
  • the clustering unit 8 includes a part of the components of the clustering unit 5, and specifically includes a noise node deletion unit 52, a learning end determination unit 53, and a class determination unit 54.
  • FIG. 31 shows a flowchart of the operation of the information processing apparatus 400 according to the fourth embodiment.
  • Step S11 Since step S11 is the same as that of the third embodiment (FIG. 29), the description thereof will be omitted.
  • Step S2 Based on the input vector input in step S11, the winner node detection unit 1 detects the first winner node and the second winner node as in the case of the information processing apparatus 100 according to the first embodiment (FIG. 4). Then, the result is stored in the temporary storage unit.
  • Step S14 Since step S14 is the same as that of the third embodiment (FIG. 29), the description thereof will be omitted. If it is determined that the node is not inserted, the process proceeds to step S17.
  • Step S15 Similar to the third embodiment (FIG. 29), when it is determined in step S14 that the node is to be inserted, the node is inserted. The difference from the third embodiment is that the process proceeds to step S17.
  • Step S17 Regardless of the determination result in step S14 that the node is not inserted or after step S15, that is, regardless of the determination result in step S14 which is the node insertion determination, the side connection portion 47 is the same as in the third embodiment (FIG. 29). Make a node connection. Specifically, the side connection unit 47 connects a side between the first winner node and the second winner node, and stores the result in the temporary storage unit. If an edge already exists between the first winner node and the second winner node, that edge is maintained. Further, the side connection unit 47 sets the age of the connected side or the maintained side to 0, and stores the result in the temporary storage unit.
  • Steps S19 to S21, S3 Since steps S19 to S21 and S3 are the same as those in the third embodiment (FIG. 29), the description thereof will be omitted.
  • Step S70 The input number determination unit 31 is the same as in step S41 (FIG. 4) in the information processing apparatus 100 according to the first embodiment, with respect to the total number of given input vectors stored in the temporary storage unit. It is determined whether or not the total number is a multiple of a predetermined number of units preset and stored in the temporary storage unit, and the result is stored in the temporary storage unit.
  • the number of predetermined units is two
  • the predetermined number of units used in step S70 is the first number of units ( ⁇ 1).
  • the first unit number ( ⁇ 1) is set to a fixed value, but the present invention is not limited to this, and for example, the first unit number ( ⁇ 1) is appropriately changed according to the number of inputs of the input vector. You may.
  • Step S70 defines the number of times the class determination is executed in the next step S71.
  • the class is often not stable yet, so if ⁇ 1 is made small, the class can be grasped accurately.
  • the class often becomes stable, so if ⁇ 1 is large, unnecessary processing can be reduced.
  • Step S71 When the total number of inputs of the input vector is an integral multiple of the first unit number ( ⁇ 1), the class is determined in the same manner as in step S53 of the third embodiment (FIG. 29). Since the details of the process are the same as those in step S53, the description thereof will be omitted.
  • Step S72 When the number of inputs of the input vector is other than the first unit ⁇ 1 in step S70, or after step S71, that is, regardless of the determination result in step S70, the input number determination process of step S72 is performed.
  • the input number determination unit 31 is the same as in step S41 (FIG. 4) in the information processing apparatus 100 according to the first embodiment, with respect to the total number of given input vectors stored in the temporary storage unit. It is determined whether or not the total number is a multiple of a predetermined number of units preset and stored in the temporary storage unit, and the result is stored in the temporary storage unit.
  • the predetermined number of units used in step S71 is defined as the second unit number ( ⁇ 2).
  • the second unit number ( ⁇ 2) is set to a fixed value, but the present invention is not limited to this, and for example, the frequency of subsequent processing is appropriately determined according to the number of inputs according to the number of inputs of the input vector. May be adjusted.
  • Step S4 When the total number of inputs of the input vector is an integral multiple of the second unit number ( ⁇ 2), the target edge detection unit 32 prepares a threshold TH1 for each class based on the classes classified in step S71.
  • the target edge is detected from each class.
  • Step S52 Similar to the third embodiment (FIG. 29), the noise node deletion unit 52 deletes all the nodes a included in the node set A stored in the temporary storage unit, and deletes the nodes regarded as noise nodes. Store the result in the temporary storage.
  • the noise node deletion unit 52 can delete the node of interest based on the number of adjacent nodes and sides of the node a of interest, and store the result in the temporary storage unit, for example.
  • the node in which the number of sides is 0 is deleted, but the present invention is not limited to this.
  • an example in which the processing is performed based on the same second predetermined number of units ( ⁇ 2) in steps S4 and S52 has been described, but this is merely an example.
  • Step S4 may perform processing based on the second predetermined number of units ( ⁇ 2), and step S52 may perform processing based on the third predetermined number of units ( ⁇ 3).
  • the number of parameters increases and the degree of freedom increases, so that the user's adjustment time increases, but it can be assumed that the input data can be expressed more accurately.
  • Step S5 The learning end determination unit 53 determines whether or not to end the learning process by the information processing apparatus 400, as in step S5 (FIG. 4) in the information processing apparatus 100 according to the first embodiment. If it is determined that the learning is not completed, the process returns to step S11.
  • Step S53 Since step S53 is the same as that of the third embodiment (FIG. 29), the description thereof will be omitted.
  • the output information display unit 6 may output the number of classes of the class to which the node belongs and the prototype vector of each class for the node and the class of the node stored in the temporary storage unit. After completing the above processing, learning is stopped.
  • the load balancing according to the first embodiment can be applied to accurately learn the structure of the input vector.
  • the load equilibration according to the second embodiment may be applied instead of the load equilibration according to the first embodiment.
  • the processing of this embodiment is only an example, and the processing and order of the steps may be changed as appropriate.
  • the present invention is not limited to the above embodiments, and can be appropriately modified without departing from the spirit.
  • the distance scale since sample data cannot be obtained in advance when performing online additional learning, it is necessary to analyze the number of dimensions of the input vector in advance to determine which distance scale is effective. I can't. Therefore, as described by using equation (14) in Patent Document 2, a new distance scale may be introduced by combining different distance scales to represent the distance between two nodes. For example, as shown by the equation (17) derived by using the equations (14) to (16) in Patent Document 2, a new distance scale that combines the Euclidean distance and the cosine distance may be used.
  • the distance scale the case where the Euclidean distance is combined with the cosine distance has been described as an example, but the present invention is not limited to this, and other distance scales (for example, cosine distance, Manhattan distance, fractional distance) may be combined. good. Further, it is not limited to a valid distance scale in a high-dimensional space, and may be combined with other distance scales according to the problem to be learned.
  • the magnitude determination of the 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. That is, the determination of whether the first value is greater than or equal to the second value or less than the second value, and whether the first value is greater than or less than the second value or less than or equal to the second value. As for the determination of, any of them may be adopted as necessary. Determining whether the first value is less than or equal to the second value or greater than the second value, and whether the first value is less than the second value or greater than or equal to the second value. Any of these may be adopted. In other words, when the magnitude of two values is determined to obtain two determination results, the case where the two values are equal may be included in any of the two determination results as necessary.
  • Non-temporary computer-readable media include various types of tangible storage media. Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), optomagnetic recording media (eg, optomagnetic disks), CD-ROMs (Read Only Memory), CD-Rs, etc.
  • the program may also be supplied to the computer by various types of temporary computer-readable media.
  • temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

An information processing device (100) performs processing with respect to a result of learning an input distribution structure for relevant input vectors as a network structure having a plurality of nodes and a plurality of sides, the device including: a winner node detection unit (1); a side learning time update unit (2); and a load balancing unit (3). The winner node detection unit (1) detects, as a first winner node, a node positioned at a distance closest to an input vector, from among the plurality of nodes, and detects a node positioned second closest as a second winner node. The side learning time update unit (2) increases, by a prescribed value only, the side learning time for a side connecting the first winner node and the second winner node. The load balancing unit (3) selects, at a prescribed timing, one or more sides from the plurality of sides on the basis of the side learning time, generates a new node on each of the selected one or more sides, and inserts the new node(s) into the network structure.

Description

情報処理装置、情報処理方法及び非一時的なコンピュータ可読媒体Information processing equipment, information processing methods and non-temporary computer-readable media
 本発明は、情報処理装置、情報処理方法及びプログラムに関し、例えば任意のクラスに属する入力ベクトルを順次入力して当該入力ベクトルの入力分布構造を学習する情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing method and a program, for example, an information processing device, an information processing method and a program for learning an input distribution structure of an input vector by sequentially inputting an input vector belonging to an arbitrary class.
 学習中に必要に応じてニューロンを増殖させる学習手法として、自己組織化ニューラルネットワーク(SOINN:Self-Organizing Incremental Neural Network)と呼ばれる手法が提案されている(特許文献1)。SOINNでは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、複雑な分布形状を有するクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を有する。SOINNの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。 As a learning method for proliferating neurons as needed during learning, a method called a self-organizing neural network (SOINN) has been proposed (Patent Document 1). SOINN can learn non-stationary inputs by autonomously managing the number of nodes, and has many advantages such as being able to extract an appropriate number of classes and topological structure even for classes with complicated distribution shapes. Have. As an application example of SOINN, for example, in pattern recognition, after learning a class of hiragana characters, it is possible to additionally learn a class of katakana characters.
 このようなSOINNの一例として、E-SOINN(Enhanced SOINN)と称される手法が提案されている。E-SOINNでは、学習を随時追加するオンライン追加学習が可能であり、バッチ学習ではなく学習効率が良いという利点を有している。このため、E-SOINNでは、学習環境が新しい環境に変化した場合においても追加学習が可能である。また、E-SOINNでは、入力データに対するノイズ耐性が高いという利点をも有している。 As an example of such SOINN, a method called E-SOINN (Enhanced SOINN) has been proposed. E-SOINN allows online additional learning to add learning at any time, and has the advantage of good learning efficiency rather than batch learning. Therefore, in E-SOINN, additional learning is possible even when the learning environment changes to a new environment. Further, E-SOINN has an advantage of high noise immunity to input data.
 ところが、E-SOINNを含むSOINNにおいては、新たなノードをネットワークに挿入することが困難であることから、入力データの構造を正確に表現し難いという問題や、入力データの入力順序によって学習結果が異なってしまうという問題があった。こうした問題を解決するため、LB-SOINN(Load Balance Self-Organizing Incremental Neural Network)と称される手法が提案された(特許文献2)。LB-SOINNは、ネットワークにおけるノードの負荷をノード学習時間として扱い、ノード学習時間が大きなノードを検出し、検出したノードとこれに隣接するノードを接続する辺上に、検出したノードの重みベクトルに基づいて決定された重みベクトルを有する新たなノード生成する。これにより、検出したノードの学習時間の増大を緩和し、かつ、その付近に新たなノードを生成することで、入力データの構造をより正確に学習することができる。 However, in SOINN including E-SOINN, it is difficult to insert a new node into the network, so it is difficult to accurately express the structure of the input data, and the learning result depends on the input order of the input data. There was a problem that it would be different. In order to solve such a problem, a method called LB-SOINN (Load Balance Self-Organizing Incremental Neural Network) has been proposed (Patent Document 2). LB-SOINN treats the load of a node in the network as the node learning time, detects a node with a large node learning time, and uses the weight vector of the detected node on the side connecting the detected node and the adjacent node. Generate a new node with a weight vector determined based on it. As a result, the increase in the learning time of the detected node can be mitigated, and a new node can be generated in the vicinity thereof, so that the structure of the input data can be learned more accurately.
特開2008-217246号公報Japanese Unexamined Patent Publication No. 2008-217246 特開2014-164396号公報Japanese Unexamined Patent Publication No. 2014-164396
 しかしながら、上述のLB-SOINNでは、入力データにノイズが多い場合には、クラスタ間に新たなノードが生成されてしまうことが見出された。図32に、LB-SOINNにおける負荷平衡化による新規ノードの生成を模式的に示す。LB-SOINNでは、ニューラルネットワークに含まれるノードのうちで、ノードの学習時間が相対的に大きく、かつ、偏っているノード(被検出ノードと称する)Nmaxと、そのノードと辺で接続された隣接ノードNneiとの間に新たなノードNnewを生成する負荷平衡化を行うことで、ネットワーク構造を精度よく学習できる。図32に示すように、被検出ノードNmax及び隣接ノードNneiが同じクラスタCLに属している場合には、当該クラスタに属するノードの負荷を適切に平衡化できる。 However, in the above-mentioned LB-SOINN, it was found that a new node is generated between clusters when there is a lot of noise in the input data. FIG. 32 schematically shows the generation of a new node by load balancing in LB-SOINN. In LB-SOINN, among the nodes included in the neural network, the node Nmax whose learning time is relatively long and biased (referred to as the detected node) and the adjacent node connected to the node are adjacent to each other. By performing load balancing to generate a new node Nnew with the node Nnei, the network structure can be learned accurately. As shown in FIG. 32, when the detected node Nmax and the adjacent node Nnei belong to the same cluster CL, the load of the node belonging to the cluster can be appropriately balanced.
 しかし、LB-SOINNにおいてノイズが大きな入力データを学習してしまうと、被検出ノードNmaxと隣接ノードNneiとが辺で接続されてはいるものの、互いに異なるクラスタに属している場合が有る。図33に、LB-SOINNにおいてノイズが大きなデータを学習した場合での負荷平衡化による新規ノードの生成を模式的に示す。図33に示すように、例えば、隣接ノードNneiがクラスタCL1に属し、被検出ノードNmaxが別のクラスタCL2に属している場合、LB-SOINNでの負荷平衡化を行ってしまうと、2つのクラスタ間の境界領域Bに、新規ノードNnewが生成されてしまう。その結果、本来区別されるべきクラスタCL1とクラスタCL2とが区別できなくなり、入力データの構造を正しく学習できなくなるおそれが有る。 However, if the input data with a large noise is learned in LB-SOINN, the detected node Nmax and the adjacent node Nnei may belong to different clusters although they are connected by the sides. FIG. 33 schematically shows the generation of a new node by load balancing when learning data with a large noise in LB-SOINN. As shown in FIG. 33, for example, when the adjacent node Nnei belongs to the cluster CL1 and the detected node Nmax belongs to another cluster CL2, if the load balancing in the LB-SOINN is performed, the two clusters A new node Nnew is generated in the boundary area B between them. As a result, the cluster CL1 and the cluster CL2, which should be originally distinguished, cannot be distinguished, and there is a possibility that the structure of the input data cannot be learned correctly.
 本発明は、上記の事情に鑑みて成されたものであり、入力データの構造をより正確に学習できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an information processing device, an information processing method, and a program capable of learning the structure of input data more accurately.
 本発明の一実施の形態にかかる情報処理装置は、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理装置において、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する勝者ノード検出部と、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を第1の値だけ増加させる辺学習時間更新部と、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する負荷平衡化部と、を有するものである。 The information processing apparatus according to the embodiment of the present invention sequentially inputs an input vector and connects the input distribution structure of the input vector between a plurality of nodes described by a multidimensional vector and two said nodes. In an information processing device that learns as a network structure in which a plurality of sides are arranged, a node located at the closest distance to the input vector input from the plurality of nodes included in the network structure is detected as the first winner node. Then, the side learning time of the side connecting between the winner node detection unit that detects the node located at the second closest distance as the second winner node and the first winner node and the second winner node is set as the first. A side learning time update unit that increases by the value of, and one or more sides are selected from the plurality of sides based on the side learning time at a predetermined timing, and a new side is newly added on each of the selected one or more sides. It has a load balancing unit that creates a node and inserts it into the network structure.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記辺学習時間更新部は、さらに、前記第1勝者ノードと前記第2勝者ノードとの間を接続する前記辺以外の、前記第1勝者ノードに接続する辺の辺学習時間及び前記第2勝者ノードに接続する辺の辺学習時間を前記第1の値よりも小さな第2の値だけ増加させることが望ましい。 The information processing apparatus according to the embodiment of the present invention is the information processing apparatus, wherein the side learning time update unit further connects the side between the first winner node and the second winner node. Other than that, it is desirable to increase the side learning time of the side connected to the first winner node and the side learning time of the side connected to the second winner node by a second value smaller than the first value.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、辺学習時間が相対的に大きい1以上の辺を選択することが望ましい。 In the information processing device according to the embodiment of the present invention, in the above information processing device, it is desirable that the load balancing unit selects one or more sides having a relatively large side learning time.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、辺学習時間が所定の辺学習時間閾値よりも大きな1以上の辺を選択することが望ましい。 In the information processing apparatus according to the embodiment of the present invention, in the above information processing apparatus, the load balancing unit may select one or more sides whose side learning time is larger than a predetermined side learning time threshold. desirable.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記複数の辺から、辺学習時間と辺の長さとに基づいて1以上の辺を選択することが望ましい。 The information processing apparatus according to the embodiment of the present invention is the above-mentioned information processing apparatus, in which the load balancing unit obtains one or more sides from the plurality of sides based on the side learning time and the length of the sides. It is desirable to select.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、長さが相対的に大きい1以上の辺を選択することが望ましい。 In the information processing apparatus according to the embodiment of the present invention, it is desirable that the load balancing unit selects one or more sides having a relatively large length in the above information processing apparatus.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、長さが所定の値よりも大きな1以上の辺を選択することが望ましい。 In the information processing apparatus according to the embodiment of the present invention, it is desirable that the load balancing unit selects one or more sides whose length is larger than a predetermined value in the above information processing apparatus.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記選択した1以上の辺において、各辺の一端と接続される第1ノードの勝利回数及び他端と接続される第2ノードの勝利回数に基づいて、前記新たなノードを生成する位置を決定することが望ましい。 The information processing apparatus according to the embodiment of the present invention is the above-mentioned information processing apparatus, in which the load balancing unit wins the first node connected to one end of each side in the selected one or more sides. It is desirable to determine the position to generate the new node based on the number of times and the number of wins of the second node connected to the other end.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記選択した1以上の辺において、各辺上の前記第1ノードの勝利回数及び前記第2ノードの勝利回数から算出した重心位置に、前記新たなノードを生成することが望ましい。 The information processing apparatus according to the embodiment of the present invention is the information processing apparatus, wherein the load balancing unit is the number of wins of the first node on each side and the number of wins of the first node on each side in one or more selected sides. It is desirable to generate the new node at the position of the center of gravity calculated from the number of wins of the second node.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記選択した1以上の辺を削除し、削除した各辺の一端と接続される第1ノードと前記新たなノードとを接続する第1の辺と、削除した各辺の他端と接続される第2ノードと前記新たなノードとを接続する第2の辺と、を生成して前記ネットワーク構造に挿入することが望ましい。 The information processing apparatus according to the embodiment of the present invention is the above-mentioned information processing apparatus, in which the load balancing unit deletes one or more selected sides and is connected to one end of each deleted side. Generate a first side connecting one node and the new node, a second side connected to the other end of each deleted side, and a second side connecting the new node. It is desirable to insert it into the network structure.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記削除した各辺の辺学習時間を、前記第1の辺及び前記第2の辺のそれぞれに所定の割合で継承させることが望ましい。 In the information processing apparatus according to the embodiment of the present invention, in the information processing apparatus, the load balancing unit sets the side learning time of each deleted side to the first side and the second side. It is desirable to let each of them inherit at a predetermined ratio.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記第1及び第2の辺のそれぞれは、前記第1ノードの勝利回数及び前記第2ノードの勝利回数のそれぞれを、前記第1ノードの勝利回数及び前記第2ノードの勝利回数の和で除した値で示される割合だけ、前記削除した各辺の辺学習時間を継承することが望ましい。 In the information processing device according to the embodiment of the present invention, in the above information processing device, each of the first and second sides has the number of wins of the first node and the number of wins of the second node, respectively. It is desirable to inherit the side learning time of each deleted side by the ratio indicated by the value obtained by dividing the number of wins of the first node and the number of wins of the second node.
 本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記情報処理装置は、前記入力ベクトルと前記第1勝者ノードとの間の距離及び前記入力ベクトルと前記第2勝者ノード間との距離に基づいて、ノード挿入を実行するか否かを判定するノード挿入判定部と、前記ノード挿入判定部による判定の結果、前記ノード挿入を実行する場合に、前記入力ベクトルの成分と同一の成分を重みベクトルとして有する挿入ノードを生成し、当該生成した挿入ノードを前記ネットワーク構造に挿入するノード挿入部と、を有することが望ましい。 The information processing apparatus according to the embodiment of the present invention is the above-mentioned information processing apparatus, in which the information processing apparatus includes the distance between the input vector and the first winner node and the input vector and the second winner. A component of the input vector when the node insertion is executed as a result of the determination by the node insertion determination unit that determines whether or not to execute the node insertion based on the distance between the nodes and the node insertion determination unit. It is desirable to have a node insertion section that generates an insertion node having the same component as the weight vector and inserts the generated insertion node into the network structure.
 本発明の一実施の形態にかかる情報処理方法は、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理方法であって、勝者ノード検出部が、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出し、辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させ、負荷平衡化部が、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入するものである。 In the information processing method according to the embodiment of the present invention, input vectors are sequentially input, and the input distribution structure of the input vector is connected to a plurality of nodes described by a multidimensional vector and between the two said nodes. It is an information processing method that learns as a network structure in which a plurality of sides are arranged, and the winner node detection unit is located at the closest distance to the input vector input from the plurality of nodes included in the network structure. The node is detected as the first winner node, the node located at the second closest distance is detected as the second winner node, and the edge learning time update unit performs an edge learning time update unit between the first winner node and the second winner node. The side learning time of the connected sides is increased by a predetermined value, and the load balancing unit selects one or more sides from the plurality of sides based on the side learning time at a predetermined timing, and the selected one or more sides. A new node is created on each side and inserted into the network structure.
 本発明の一実施の形態にかかるプログラムは、任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する処理をコンピュータに実行させるプログラムであって、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する処理と、辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させる処理と、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する処理と、をコンピュータに実行させるものである。 In the program according to the embodiment of the present invention, input vectors belonging to an arbitrary class are sequentially input, and the input distribution structure of the input vector is described by a plurality of nodes described by a multidimensional vector and between two said nodes. It is a program that causes a computer to execute a process of learning as a network structure in which a plurality of sides are arranged, and is located at a distance closest to the input vector input from the plurality of nodes included in the network structure. The processing to detect the node to be detected as the first winner node and the node located at the second closest distance as the second winner node, and the side learning time update unit are the first winner node and the second winner node. A process of increasing the side learning time of the side connecting between the sides by a predetermined value, and selecting one or more sides from the plurality of sides based on the side learning time at a predetermined timing, and selecting the one or more sides. The process of creating a new node on each of the above and inserting it into the network structure is performed by the computer.
 本発明によれば、入力データの構造をより正確に学習できる情報処理装置、情報処理方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide an information processing device, an information processing method and a program capable of learning the structure of input data more accurately.
実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration for realizing the information processing apparatus which concerns on Embodiment 1. FIG. 実施の形態1にかかる情報処理装置の機能構成を模式的に示す図である。It is a figure which shows typically the functional structure of the information processing apparatus which concerns on Embodiment 1. FIG. 実施の形態1にかかる情報処理装置の機能構成を模式的に示す図である。It is a figure which shows typically the functional structure of the information processing apparatus which concerns on Embodiment 1. FIG. 実施の形態1にかかる情報処理装置における学習処理のフローチャートである。It is a flowchart of the learning process in the information processing apparatus which concerns on Embodiment 1. FIG. 学習時間の増加のケースを示す図である。It is a figure which shows the case of the increase of learning time. 新規ノード挿入位置を示す図である。It is a figure which shows the insertion position of a new node. 新規ノード挿入位置を示す図である。It is a figure which shows the insertion position of a new node. 辺とノードの勝利回数との関係を示す図である。It is a figure which shows the relationship between the side and the number of wins of a node. 4つのノードがスター型に接続される例を示す図である。It is a figure which shows the example which four nodes are connected in a star shape. 辺の削除を示す図である。It is a figure which shows the deletion of an edge. 辺の生成及び挿入を示す図である。It is a figure which shows the generation and insertion of an edge. 辺学習時間の継承を示す図である。It is a figure which shows the inheritance of the edge learning time. 実施の形態1において実験に用いるために生成したデータを示す図である。It is a figure which shows the data generated for use in an experiment in Embodiment 1. FIG. 生成したデータにノイズを与えた入力データを示す図である。It is a figure which shows the input data which gave noise to the generated data. 特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data by the algorithm which removed the load equilibration from the LB-SOINN of Patent Document 2. 特許文献2のLB-SOINNによる入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data by LB-SOINN of patent document 2. FIG. 実施の形態1にかかる負荷平衡化を適用した入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data which applied the load equilibration which concerns on Embodiment 1. FIG. 実施の形態2において実験に用いるために生成したデータを示す図である。It is a figure which shows the data generated for use in the experiment in Embodiment 2. FIG. 生成したデータにノイズを与えた入力データを示す図である。It is a figure which shows the input data which gave noise to the generated data. 特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data by the algorithm which removed the load equilibration from the LB-SOINN of Patent Document 2. 特許文献2のLB-SOINNによる入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data by LB-SOINN of patent document 2. FIG. 実施の形態1にかかる負荷平衡化を適用した入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data which applied the load equilibration which concerns on Embodiment 1. FIG. 入力されたベクトルの分布を示す図である。It is a figure which shows the distribution of the input vector. 実施の形態1で説明した負荷平衡化を適用後のノード分布を示す図である。It is a figure which shows the node distribution after applying the load equilibration described in Embodiment 1. FIG. 実施の形態2にかかる負荷平衡化のイメージを示す図である。It is a figure which shows the image of the load equilibration which concerns on Embodiment 2. 図19の入力ベクトル分布の下で、実施の形態2にかかる負荷平衡化を適用した後のノード分布を示す図である。It is a figure which shows the node distribution after applying the load equilibration which concerns on Embodiment 2 under the input vector distribution of FIG. 実施の形態2にかかる負荷平衡化を適用した入力データの学習結果を示す図である。It is a figure which shows the learning result of the input data which applied the load equilibration which concerns on Embodiment 2. 実施の形態3にかかる情報処理装置の構成を模式的に示す図である。It is a figure which shows typically the structure of the information processing apparatus which concerns on Embodiment 3. FIG. 実施の形態3にかかる情報処理装置の動作のフローチャートである。It is a flowchart of the operation of the information processing apparatus which concerns on Embodiment 3. FIG. 実施の形態4にかかる情報処理装置の構成を模式的に示す図である。It is a figure which shows typically the structure of the information processing apparatus which concerns on Embodiment 4. 実施の形態4にかかる情報処理装置の動作のフローチャートである。It is a flowchart of the operation of the information processing apparatus which concerns on Embodiment 4. LB-SOINNにおける負荷平衡化による新規ノードの生成を模式的に示す図である。It is a figure which shows typically the generation of a new node by load equilibration in LB-SOINN. LB-SOINNにおいてノイズが大きなデータを学習した場合での負荷平衡化による新規ノードの生成を模式的に示す図である。It is a figure which shows typically the generation of the new node by load equilibration in the case of learning the data with a large noise in LB-SOINN.
 以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each drawing, the same elements are designated by the same reference numerals, and duplicate explanations are omitted as necessary.
 実施の形態1
 図1は、実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置100は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータ10により実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図1に示すように、コンピュータ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12及びRAM(Random Access Memory)13を有し、これらがバス14を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然有しているものとする。
Embodiment 1
FIG. 1 is a diagram showing an example of a system configuration for realizing the information processing apparatus according to the first embodiment. The information processing device 100 can be realized by a computer 10 such as a dedicated computer or a personal computer (PC). However, the number of computers does not have to be physically single, and may be multiple when performing distributed processing. As shown in FIG. 1, the computer 10 has a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, and a RAM (Random Access Memory) 13, which are connected to each other via a bus 14. There is. Although the description of the OS software for operating the computer is omitted, it is assumed that the computer that constructs this information processing device also has it.
 バス14には、入出力インターフェイス15も接続されている。入出力インターフェイス15には、例えば、キーボード、マウス、センサなどよりなる入力部16、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19などが接続されている。 The input / output interface 15 is also connected to the bus 14. The input / output interface 15 includes, for example, an input unit 16 including a keyboard, a mouse, and a sensor, a display including a CRT and an LCD, an output unit 17 including headphones and speakers, and a storage unit 18 including a hard disk. A communication unit 19 composed of a modem, a terminal adapter, etc. is connected.
 CPU11は、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行する。CPU11とは別にGPU(Graphics Processing Unitを設け、CPU11と同様に、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行してもよい。なお、GPUは、定型的な処理を並列的に行う用途に適しており、後述するニューラルネットワークにおける処理などに適用することで、CPU11に比べて処理速度を向上させることも可能である。RAM13には又、CPU11及びGPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。 The CPU 11 executes various processes according to various programs stored in the ROM 12 or various programs loaded from the storage unit 18 into the RAM 13, and in the present embodiment, for example, processes each part of the information processing apparatus 100 described later. .. A GPU (Graphics Processing Unit) is provided separately from the CPU 11, and as with the CPU 11, various programs stored in the ROM 12 or various programs loaded from the storage unit 18 into the RAM 13 are processed in various ways. In the present embodiment, the GPU (Graphics Processing Unit) is provided. For example, the processing of each part of the information processing apparatus 100 described later may be executed. The GPU is suitable for the purpose of performing routine processing in parallel, and can be applied to the processing in the neural network described later. It is also possible to improve the processing speed as compared with the CPU 11. The RAM 13 also appropriately stores data and the like necessary for the CPU 11 and the GPU 21 to execute various processes.
 通信部19は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU11から提供されたデータを送信したり、通信相手から受信したデータをCPU11、RAM13、記憶部18に出力したりする。記憶部18はCPU11との間でやり取りし、情報の保存・消去を行う。通信部19は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。 The communication unit 19 performs communication processing via the Internet (not shown), transmits data provided by the CPU 11, and outputs data received from the communication partner to the CPU 11, RAM 13, and storage unit 18. The storage unit 18 communicates with the CPU 11 and stores / erases information. The communication unit 19 also performs communication processing of an analog signal or a digital signal with another device.
 入出力インターフェイス15はまた、必要に応じてドライブ20が接続され、例えば、磁気ディスク20A、光ディスク20B、フレキシブルディスク20C、又は半導体メモリ20Dなどが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部18にインストールされる。 The input / output interface 15 also requires a computer program to which a drive 20 is connected as needed, and for example, a magnetic disk 20A, an optical disk 20B, a flexible disk 20C, a semiconductor memory 20D, or the like is appropriately mounted and read from them. It is installed in the storage unit 18 according to the above.
 続いて、本実施の形態にかかる情報処理装置100における各処理について説明する。情報処理装置100は、n(nは、1以上の整数)次元ベクトルで記述されるノードが配置される非階層構造のニューラルネットワークが入力される。ニューラルネットワークは、例えばRAM13などの記憶部に格納されている。 Subsequently, each process in the information processing apparatus 100 according to the present embodiment will be described. In the information processing apparatus 100, a neural network having a non-hierarchical structure in which a node described by an n (n is an integer of 1 or more) dimensional vector is arranged is input. The neural network is stored in a storage unit such as a RAM 13.
 本実施の形態におけるニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、自己増殖型ニューラルネットワークを用いることで、ノードを自動的に増加させることができる。 The neural network in the present embodiment is a self-propagating neural network in which an input vector is input to the neural network and the number of nodes arranged in the neural network is automatically increased based on the input input vector. By using a type neural network, the number of nodes can be increased automatically.
 本実施の形態におけるニューラルネットワークは、非階層構造を有するものである。非階層構造を採用することで、他の層での学習を開始するタイミングを指定せずに追加学習を実施することができる。すなわち、オンラインでの追加学習を実施することができる。 The neural network in this embodiment has a non-hierarchical structure. By adopting a non-hierarchical structure, additional learning can be performed without specifying the timing to start learning in other layers. That is, additional learning can be carried out online.
 入力データは、n次元の入力ベクトルとして入力される。例えば、入力ベクトルは一時記憶部(例えばRAM13)に格納され、一時記憶部に格納されたニューラルネットワークに対して順次入力される。 The input data is input as an n-dimensional input vector. For example, the input vector is stored in the temporary storage unit (for example, RAM 13), and is sequentially input to the neural network stored in the temporary storage unit.
 なお、以下では、簡略化のため、本実施の形態におけるニューラルネットワークを、単にネットワークとも称する。 In the following, for the sake of simplicity, the neural network in this embodiment is also simply referred to as a network.
 以下、実施の形態1にかかる情報処理装置100が行う負荷平衡化処理について説明する。負荷平衡化処理が行われるネットワークは、複数のノード及びノード間を接続する複数の辺により構成されるニューラルネットワークであり、例えば上述のE-SOINNや、LB-SOINNから負荷平衡化処理を除いたアルゴリズムによって作成される。 Hereinafter, the load balancing process performed by the information processing apparatus 100 according to the first embodiment will be described. The network on which the load balancing process is performed is a neural network composed of a plurality of nodes and a plurality of sides connecting the nodes. For example, the load balancing process is removed from the above-mentioned E-SOINN and LB-SOINN. Created by an algorithm.
 図2及び3に、実施の形態1にかかる情報処理装置100の機能構成を模式的に示す。図4に、実施の形態1にかかる情報処理装置100における処理のフローチャートを示す。ハードウェア上では、ソフトウェアと上記CPU11及びGPU21の一方又は両方などのハードウェア資源とが協働して、図2及び3に示す機能構成及び図4に示す各処理が実現される。 FIGS. 2 and 3 schematically show the functional configuration of the information processing apparatus 100 according to the first embodiment. FIG. 4 shows a flowchart of processing in the information processing apparatus 100 according to the first embodiment. On the hardware, the software and the hardware resources such as one or both of the CPU 11 and the GPU 21 cooperate to realize the functional configuration shown in FIGS. 2 and 3 and each process shown in FIG.
 情報処理装置100は、勝者ノード検出部1、辺学習時間更新部2及び負荷平衡化部3を有し、これらが情報処理装置100の基本的構成要素となる。なお、図3に示した学習処理部4及びクラスタリング部5は、情報処理装置100に設けられてもよいし、情報処理装置100とは別個に設けられてもよい。ここでは、学習処理部4及びクラスタリング部5は、情報処理装置100に設けられるものとしている。 The information processing device 100 has a winner node detection unit 1, an edge learning time update unit 2, and a load balancing unit 3, which are the basic components of the information processing device 100. The learning processing unit 4 and the clustering unit 5 shown in FIG. 3 may be provided in the information processing device 100 or may be provided separately from the information processing device 100. Here, it is assumed that the learning processing unit 4 and the clustering unit 5 are provided in the information processing apparatus 100.
 情報処理装置100には、負荷平衡化処理の対象となる、学習により構築されたネットワークと、新たな入力ベクトルと、が入力される。具体的には、学習処理部4が入力ベクトルを順次学習し、所定のタイミングで、構築されたネットワークと、新たな入力ベクトルと、を情報処理装置100に渡す。 The information processing apparatus 100 is input with a network constructed by learning, which is a target of load balancing processing, and a new input vector. Specifically, the learning processing unit 4 sequentially learns the input vector, and at a predetermined timing, passes the constructed network and the new input vector to the information processing apparatus 100.
 情報処理装置100に学習処理部4の結果が入力されると、勝者ノード検出部1は、入力ベクトルとニューラルネットワークのノードとに基づいて第1勝者と第2勝者とを検出する。次いで、辺学習時間更新部2は、第1勝者と第2勝者とを接続する辺の学習時間を所定値だけ増加させる。 When the result of the learning processing unit 4 is input to the information processing device 100, the winner node detection unit 1 detects the first winner and the second winner based on the input vector and the node of the neural network. Next, the side learning time updating unit 2 increases the learning time of the side connecting the first winner and the second winner by a predetermined value.
 入力ベクトルの入力総数が所定の単位数(λ)の整数倍となった場合、負荷平衡化部3は、ニューラルネットワークに含まれる辺のうちで辺学習時間が相対的に大きい辺を検出し、検出した辺上に位置する新たなノードをニューラルネットワークに挿入する。 When the total number of inputs of the input vector is an integral multiple of a predetermined number of units (λ), the load balancing unit 3 detects an edge included in the neural network whose edge learning time is relatively long. Insert a new node located on the detected edge into the neural network.
 その後、情報処理装置100は、全ての入力ベクトルが入力済みとなったかを判定する。全ての入力ベクトルが入力済みでないと判定した場合には、新たな入力ベクトルが学習処理部4に入力され、処理が継続される。全ての入力ベクトルが入力済みと判定した場合には、クラスタリング部5が負荷平衡化後のネットワークのクラスタリング処理を行い、ネットワークを構成するノードが分類され、入力データに対する一連の処理が完了する。 After that, the information processing apparatus 100 determines whether all the input vectors have been input. If it is determined that all the input vectors have not been input, a new input vector is input to the learning processing unit 4, and the processing is continued. When it is determined that all the input vectors have been input, the clustering unit 5 performs clustering processing of the network after load balancing, the nodes constituting the network are classified, and a series of processing for the input data is completed.
 以下、図4を参照して、情報処理装置100における処理について具体的に説明する。 Hereinafter, the processing in the information processing apparatus 100 will be specifically described with reference to FIG.
ステップS1
 学習処理部4は、勝者ノード検出部1と協働して順次入力される入力ベクトルを学習して、ノードとノード間を接続する辺とによって構成される入力分布構造を示すニューラルネットワークを構成する。学習処理部4は、学習の結果得られたノードと辺とを、逐次、一時記憶部に格納する。
Step S1
The learning processing unit 4 learns input vectors that are sequentially input in cooperation with the winner node detection unit 1 to form a neural network showing an input distribution structure composed of nodes and edges connecting the nodes. .. The learning processing unit 4 sequentially stores the nodes and sides obtained as a result of learning in the temporary storage unit.
ステップS2
 勝者ノード検出部1は、一時記憶部に格納された入力ベクトル及びノードを参照し、対象入力ベクトルεに最も距離が近いノードを第1勝者ノードa1として検出し、対象入力ベクトルεに2番目に近いノードを第2勝者ノードa2として検出し、その結果を一時記憶部に格納する。勝者ノード検出部1は、検出処理として、例えば、以下の式[1]及び[2]に示す処理を実行し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
ここで、D(ε,a)は、所定の距離尺度を用いて算出される入力ベクトルεとノードaとの間の距離であり、Aはノードの集合である。なお、ノード間の距離尺度としては、ユークリッド距離、コサイン距離、マンハッタン距離、フラクショナル距離など、任意の距離尺度を適用することができる。一般に、入力データが低次元である場合にユークリッド距離が用いられ、入力データが高次元である場合にコサイン距離、マンハッタン距離及びフラクショナル距離が用いられる。
Step S2
The winner node detection unit 1 refers to the input vector and the node stored in the temporary storage unit, detects the node closest to the target input vector ε as the first winner node a1, and second to the target input vector ε. A nearby node is detected as the second winner node a2, and the result is stored in the temporary storage unit. The winner node detection unit 1 executes, for example, the processes shown in the following equations [1] and [2] as the detection process, and stores the result in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Here, D (ε, a) is the distance between the input vector ε calculated using a predetermined distance scale and the node a, and A is a set of nodes. As the distance scale between the nodes, any distance scale such as Euclidean distance, cosine distance, Manhattan distance, and fractional distance can be applied. Generally, the Euclidean distance is used when the input data is low-dimensional, and the cosine distance, Manhattan distance and fractional distance are used when the input data is high-dimensional.
 なお、ここでは、勝者ノード検出部1と学習処理部4とを分けて記載しているが、勝者ノード検出部1は学習処理部4に含まれていてもよい。例えば、特許文献1及び2にかかるE-SOINNやLB-SOINNによって入力データの学習を行う場合には、入力ベクトルの学習において勝者ノード検出が行われる。この場合には、勝者ノード検出部1は学習処理部4に含まれ、学習処理で行われた勝者ノード検出結果をそのまま利用することができる。 Although the winner node detection unit 1 and the learning processing unit 4 are described separately here, the winner node detection unit 1 may be included in the learning processing unit 4. For example, when the input data is learned by E-SOINN or LB-SOINN according to Patent Documents 1 and 2, the winner node is detected in the learning of the input vector. In this case, the winner node detection unit 1 is included in the learning processing unit 4, and the winner node detection result performed in the learning process can be used as it is.
ステップS3
 辺学習時間更新部2は、第1勝者ノードと第2勝者ノードとを接続する辺(勝利辺とも称する)の学習時間を所定値だけ増加させ、その結果を一時記憶部に格納する。また、辺学習時間更新部2は、勝利辺以外の、第1勝者ノードに接続する辺及び第2勝者ノードに接続する辺の学習時間を増加させ、その結果を一時記憶部に格納してもよい。
Step S3
The edge learning time update unit 2 increases the learning time of the edge (also referred to as the winning edge) connecting the first winner node and the second winner node by a predetermined value, and stores the result in the temporary storage unit. Further, even if the side learning time updating unit 2 increases the learning time of the side connected to the first winner node and the side connected to the second winner node other than the winning side, and stores the result in the temporary storage unit. good.
 なお、勝利辺の寄与を重視するため、勝利辺以外の第1勝者ノードに接続する辺及び第2勝者ノードに接続する辺の学習時間の増加量は、勝利辺の増加量よりも少ないことが望ましい。また、勝利辺以外の第1勝者ノードに接続する辺及び第2勝者ノードに接続する辺の学習時間の増加量は、負の方向つまり減少方向とすることも可能である。図5に、学習時間の増加のケースを示す。図5では、勝者ノードをW、勝利辺EWで勝者ノードWと接続するノードをNa、勝利辺ではない辺Eで勝者ノードWと接続するノードをNbとする。ケース1及び2は、勝利辺EWの学習時間のみが増加する単純なケースであり、それぞれ学習時間が1及び2だけ増加している。ケース3は、勝利辺EW及び勝利辺以外の辺Eの学習時間が増加するケースであり、それぞれ学習時間が3及び1だけ増加している。ケース4は、勝利辺EW及び勝利辺以外の辺Eの学習時間がそれぞれ異なる方向(正及び負)に変化するケースであり、勝利辺EWの学習時間が1だけ増加し、勝利辺以外の辺Eの学習時間が1だけ減少している。すなわち、勝利辺EWの学習時間が勝利辺以外の辺Eの学習時間に対して増加すればよいのであって、ケース4のように、勝利辺以外の辺Eの学習時間については、減少させてもよいことが理解できる。 Since the contribution of the winning side is emphasized, the amount of increase in the learning time of the side connected to the first winner node other than the winning side and the side connected to the second winner node may be smaller than the increase amount of the winning side. desirable. Further, the amount of increase in the learning time of the side connected to the first winner node other than the winning side and the side connected to the second winner node can be in the negative direction, that is, in the decreasing direction. FIG. 5 shows a case of an increase in learning time. In FIG. 5, the winning node is W, the node connecting to the winning node W on the winning side EW is Na, and the node connecting to the winning node W on the non-winning side E is Nb. Cases 1 and 2 are simple cases in which only the learning time of the winning side EW is increased, and the learning time is increased by 1 and 2, respectively. Case 3 is a case where the learning time of the winning side EW and the side E other than the winning side increases, and the learning time increases by 3 and 1, respectively. Case 4 is a case where the learning time of the winning side EW and the side E other than the winning side changes in different directions (positive and negative), the learning time of the winning side EW increases by 1, and the side other than the winning side The learning time of E is reduced by 1. That is, the learning time of the winning side EW may be increased with respect to the learning time of the side E other than the winning side, and as in Case 4, the learning time of the side E other than the winning side should be decreased. I understand that it is also good.
ステップS4
 負荷平衡化部3は、入力数判定部31、対象辺検出部32、辺上ノード挿入部33、対象辺削除部34及び新規ノード辺接続部35を有し、ステップS41~S45に基づき、負荷平行化を行う。
Step S4
The load balancing unit 3 has an input number determination unit 31, a target side detection unit 32, an edge node insertion unit 33, a target side deletion unit 34, and a new node side connection unit 35, and is loaded based on steps S41 to S45. Perform parallelization.
ステップS41
 入力数判定部31は、入力ベクトルの入力数が所定数に到達したかを判定する。入力ベクトルの入力数が所定数に到達した場合には処理をステップS42に進め、入力ベクトルの入力数が所定数に到達していない場合には処理をステップS5へ進める。
Step S41
The input number determination unit 31 determines whether or not the number of inputs of the input vector has reached a predetermined number. If the number of inputs of the input vector reaches a predetermined number, the process proceeds to step S42, and if the number of inputs of the input vector does not reach the predetermined number, the process proceeds to step S5.
 本実施の形態では上述の入力数判定をステップS41としてステップS4の一部として扱ったが、入力数判定はステップS4とは別の処理としてもよい。例えば、後述する実施の形態3及び4においては、入力数判定(図29のステップS22、図31のステップS70及びS72)をステップS4とは別の処理としており、図29及び図31においては、ステップS4はステップS42~S45を含むものとなっている。 In the present embodiment, the above-mentioned input number determination is treated as a part of step S4 as step S41, but the input number determination may be performed separately from step S4. For example, in the third and fourth embodiments described later, the input number determination (step S22 in FIG. 29, steps S70 and S72 in FIG. 31) is a process different from that in step S4, and in FIGS. 29 and 31 Step S4 includes steps S42 to S45.
ステップS42
 対象辺検出部32は、一時記憶部に格納された辺の辺学習時間を参照し、辺学習時間が相対的に大きな辺を検出し、その結果を一時記憶部に格納する。以下では、対象辺検出部32が検出した辺を対象辺と称する。対象辺検出部32は、例えば、所定の閾値TH1よりも大きな辺学習時間を有する辺を検出し、その結果を一時記憶部に格納する。閾値TH1は正の任意の値とすることができ、例えば、一時記憶部に格納された全ての辺の辺学習時間の平均値TAVEに所定の係数cを乗じた値(TH1=c・TAVE)としてもよい。なお、閾値TH1よりも大きな辺学習時間を有する全ての辺を対象辺とすることも可能であるが、その一部のみを対象辺としてもよい。例えば、閾値TH1よりも大きな辺学習時間を有する辺の中で、辺学習時間が大きいものから順に所定数の辺だけを対象辺としてもよい。 
Step S42
The target side detection unit 32 refers to the side learning time of the side stored in the temporary storage unit, detects the side having a relatively large side learning time, and stores the result in the temporary storage unit. Hereinafter, the side detected by the target side detection unit 32 is referred to as a target side. The target side detection unit 32 detects, for example, a side having an edge learning time larger than a predetermined threshold value TH1, and stores the result in the temporary storage unit. The threshold value TH1 can be any positive value, for example, a value obtained by multiplying the average value TAVE of the side learning time of all sides stored in the temporary storage unit by a predetermined coefficient c (TH1 = c · T). AVE ) may be used. Although it is possible to set all sides having a side learning time larger than the threshold value TH1 as the target sides, only a part of them may be set as the target sides. For example, among the edges having an edge learning time larger than the threshold TH1, only a predetermined number of edges may be set as the target edge in order from the edge learning time.
 また、ノード及び辺をクラス分類して決定したクラスごとに相対的に大きな辺を検出してもよい。例えば、閾値TH1をそれぞれのクラスごとに用意して、対象辺を各々のクラスから検出してもよい。なお、クラス分類の方法についてはステップS6において後述する。 Further, a relatively large side may be detected for each class determined by classifying the node and the side. For example, a threshold value TH1 may be prepared for each class and the target side may be detected from each class. The classification method will be described later in step S6.
ステップS43
 辺上ノード挿入部33は、検出された対象辺上の所定の位置の新規ノードを生成してネットワーク挿入し、その結果を一時記憶部に格納する。以下では、新規ノードが挿入される対象辺上の所定の位置を、新規ノード挿入位置と称する。新規ノード挿入位置は、様々な位置としてもよいが、例えば、図6に示す様に、対象辺の中点としてもよい。
Step S43
The edge node insertion unit 33 generates a new node at a predetermined position on the detected target edge, inserts it into the network, and stores the result in the temporary storage unit. Hereinafter, the predetermined position on the target side where the new node is inserted is referred to as a new node insertion position. The new node insertion position may be various positions, but may be, for example, the midpoint of the target side as shown in FIG.
 上述では、新規ノード挿入位置を辺の中点としたが、対象辺の両端の2つのノードの勝利回数に基づいて新規ノード挿入位置を決定してもよい。以下、具体的に説明する。対象辺の両端のノードをN1及びN2とし、それぞれの勝利回数をVN1及びVN2、対象辺の長さをLとする。この場合、対象辺上において、ノードN1からL(VN2)/(VN1+VN2)だけ離隔した位置、又は、ノードN2からL(VN1)/(VN1+VN2)だけ離隔した位置、すなわち勝利回数に基づいた重心位置が、新規ノード挿入位置となる。例えば、図7に示すように、ノードN1の勝利回数が20、ノードN2の勝利回数が80の場合、ノードN1から4/5・Lだけ離隔した位置、すなわち、ノードN2から1/5・Lだけ離隔した位置が新規ノード挿入位置となる。 In the above, the new node insertion position is set as the midpoint of the side, but the new node insertion position may be determined based on the number of wins of the two nodes at both ends of the target side. Hereinafter, a specific description will be given. The nodes at both ends of the target side are N1 and N2, the number of wins is VN1 and VN2, respectively, and the length of the target side is L. In this case, on the target side, a position separated by L (VN2) / (VN1 + VN2) from the node N1, or a position separated by L (VN1) / (VN1 + VN2) from the node N2, that is, a position of the center of gravity based on the number of wins. Is the new node insertion position. For example, as shown in FIG. 7, when the number of wins of the node N1 is 20 and the number of wins of the node N2 is 80, the position separated from the node N1 by 4/5 · L, that is, 1/5 · L from the node N2. The position separated by the new node is the new node insertion position.
 なお、勝利回数とは、あるノードにおいて、そのノードが勝者に選ばれた回数を意味する値であり、勝者とは例えば、第1勝者である。図8に、辺とノードの勝利回数との関係を示す。辺EAの両端には、ノードNi及びノードNjがそれぞれ接続されている。このとき、ノードNiの勝利回数VNi_Aは、辺EAが対象辺になった場合にノードNiが勝者になった回数を示す。同様に、ノードNjの勝利回数VNj_Aは、辺EAが対象辺になった場合にノードNjが勝者になった回数を示す。このように、ノードの勝利回数は、そのノードに接続される辺のそれぞれに対して保持されるものであって、ノードが複数の辺に接続されている場合には、各辺が対象辺となった場合の勝利回数を保持することとなる。 The number of wins is a value that means the number of times that node is selected as a winner in a certain node, and the winner is, for example, the first winner. FIG. 8 shows the relationship between the side and the number of wins of the node. Node Ni and node Nj are connected to both ends of the side EA, respectively. At this time, the number of wins VNi_A of the node Ni indicates the number of times that the node Ni becomes the winner when the side EA becomes the target side. Similarly, the number of wins of the node Nj VNj_A indicates the number of times that the node Nj becomes the winner when the side EA becomes the target side. In this way, the number of wins of a node is held for each of the sides connected to that node, and when the node is connected to a plurality of sides, each side is the target side. It will keep the number of wins if it becomes.
 以下、具体例を示して説明する。図9に、4つのノードがスター型に接続される例を示す。この例では、ノードNiが、辺EA、EB及びECによって、それぞれノードNj、Nk及びNmと接続されている。この場合、ノードNj、Nk及びNmは、それぞれ、接続する辺EA、EB及びECが対象辺となった場合の勝利回数VNj_A、VNk_AB及びVNm_Cを保持することとなる。これに対し、中央のノードNiには3本の辺EA、EB及びECが接続されるので、各辺についての勝利回数VNi_A、VNi_B及びVNi_Cを保持することとなる。よって、辺の近傍への入力データに偏りがある場合、例えば、辺EA近傍の入力データが多く、辺EB及びEC近傍の入力データが少ない場合、勝利回数VNi_Aが勝利回数VNi_B及びVNi_Cよりも大きな値となるので、こうした入力データの偏りを勝利回数に反映することが可能となる。これにより、入力データの分布に対してより忠実な新規ノードを生成することができる。 Hereinafter, a specific example will be described. FIG. 9 shows an example in which four nodes are connected in a star shape. In this example, the node Ni is connected to the nodes Nj, Nk and Nm by the sides EA, EB and EC, respectively. In this case, the nodes Nj, Nk, and Nm hold the number of wins VNj_A, VNk_AB, and VNm_C when the connected sides EA, EB, and EC are the target sides, respectively. On the other hand, since the three sides EA, EB and EC are connected to the central node Ni, the number of wins VNi_A, VNi_B and VNi_C for each side is held. Therefore, when the input data in the vicinity of the side is biased, for example, when the input data in the vicinity of the side EA is large and the input data in the vicinity of the side EB and EC is small, the number of wins VNi_A is larger than the number of wins VNi_B and VNi_C. Since it is a value, it is possible to reflect such a bias of input data in the number of wins. This makes it possible to generate new nodes that are more faithful to the distribution of the input data.
 しかしながら、これに限らず、使用状況に応じて適宜変更してもよい。例えば、特許文献2に記載されるノード学習時間のように、各ノードに固有の勝利回数を使用してもよい。この場合は、対象辺にかかわらず、同じノードは一つの勝利回数を有するので、処理がよりシンプルになり、処理の負荷を抑制できる。また、勝利回数は第2勝者の回数を考慮してもよいことは言うまでもない。 However, not limited to this, it may be changed as appropriate according to the usage situation. For example, as in the node learning time described in Patent Document 2, the number of wins unique to each node may be used. In this case, regardless of the target side, the same node has one number of wins, so that the processing becomes simpler and the processing load can be suppressed. Needless to say, the number of wins may take into consideration the number of second winners.
ステップS44
 対象辺削除部34は、新規ノードの挿入後、図10に示すように、ノードN1とノードN2とを接続する対象辺をニューラルネットワークから削除し、その結果を一時記憶部に格納する。例えば、対象辺削除部34は、一時記憶部に格納される以下の式[3]に示す操作を実行して、その結果を一時記憶部に格納する。ここで、Cは辺集合を示し、例えば(N1,N2)はノードN1とノードN2とを接続する辺を示す。
Figure JPOXMLDOC01-appb-M000003
Step S44
After inserting the new node, the target side deletion unit 34 deletes the target side connecting the node N1 and the node N2 from the neural network, and stores the result in the temporary storage unit, as shown in FIG. For example, the target side deletion unit 34 executes the operation shown in the following equation [3] stored in the temporary storage unit, and stores the result in the temporary storage unit. Here, C indicates an edge set, and (N1, N2) indicates an edge connecting the node N1 and the node N2, for example.
Figure JPOXMLDOC01-appb-M000003
ステップS45
 新規ノード辺接続部35は、図11に示すように、削除した対象辺によって接続されていた2つのノードN1及びN2のそれぞれと、挿入された新規ノードNとの間を接続する2本の辺を生成し、その結果を一時記憶部に格納する。例えば、新規ノード辺接続部35は、一時記憶部に格納される以下の式[4]に示す操作を実行して、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000004
Step S45
As shown in FIG. 11, the new node side connection unit 35 has two sides connecting each of the two nodes N1 and N2 connected by the deleted target side and the inserted new node N. Is generated and the result is stored in the temporary storage unit. For example, the new node side connection unit 35 executes the operation shown in the following equation [4] stored in the temporary storage unit, and stores the result in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000004
 新規ノードに接続される2本の辺は、削除した対象辺の学習時間を所定のルールの下で引き継いでもよい。例えば、対象辺の学習時間を、新規に挿入した2本の辺の学習時間に均等に分配してもよい。 The two sides connected to the new node may take over the learning time of the deleted target side under a predetermined rule. For example, the learning time of the target side may be evenly distributed to the learning time of the two newly inserted sides.
 また、例えば、対象辺の両端の2つのノードの勝利回数に基づいて、対象辺の学習時間を、新規に挿入した2本の辺の学習時間に分配してもよい。上述と同様に、対象辺の両端のノードをN1及びN2とし、それぞれの勝利回数をVN1及びVN2とする。また、対象辺の学習時間をSTとする。この場合、図12に示すように、ノードN1と新規ノードとを結ぶ辺E1の学習時間をST・VN1/(VN1+VN2)とし、ノードN2と新規ノードとを結ぶ辺E2の学習時間をST・VN2/(VN1+VN2)としてもよい。例えば、図10に示すように、ノードN1の学習時間が20、ノードN2の勝利回数が80、対象辺の学習時間が100の場合、ノードN1と新規ノードとを結ぶ辺E1の学習時間ST1は20、ノードN2と新規ノードとを結ぶ辺E2の学習時間ST2は80となる。 Further, for example, the learning time of the target side may be distributed to the learning time of the newly inserted two sides based on the number of wins of the two nodes at both ends of the target side. In the same manner as described above, the nodes at both ends of the target side are N1 and N2, and the number of wins is VN1 and VN2, respectively. Also, let ST be the learning time of the target side. In this case, as shown in FIG. 12, the learning time of the side E1 connecting the node N1 and the new node is ST · VN1 / (VN1 + VN2), and the learning time of the side E2 connecting the node N2 and the new node is ST · VN2. / (VN1 + VN2) may be used. For example, as shown in FIG. 10, when the learning time of the node N1 is 20, the number of wins of the node N2 is 80, and the learning time of the target side is 100, the learning time ST1 of the side E1 connecting the node N1 and the new node is 20. The learning time ST2 of the side E2 connecting the node N2 and the new node is 80.
ステップS5
 その後、例えばクラスタリング部5は、入力ベクトルの処理が完了したか、すなわち、全ての入力ベクトルが入力済みとなったかを判定する。一時記憶部に格納された与えられた入力ベクトルεの総数が、全入力ベクトルの総数と一致しない場合はステップS1に戻り、次の入力ベクトルεを処理する。一方、入力ベクトルεの総数が全入力ベクトルの総数と一致した場合には以下のステップS6を実行する。なお、終了判定の方法はこれに限定されず、ユーザーによって終了の指示が与えられるものとしてもよい。
Step S5
After that, for example, the clustering unit 5 determines whether the processing of the input vector is completed, that is, whether all the input vectors have been input. If the total number of given input vectors ε stored in the temporary storage unit does not match the total number of all input vectors, the process returns to step S1 and processes the next input vector ε. On the other hand, when the total number of input vectors ε matches the total number of all input vectors, the following step S6 is executed. The method of determining the end is not limited to this, and an instruction to end may be given by the user.
ステップS6
 クラスタリング部5は、一時記憶部に格納された、処理が完了した負荷平衡化済みのノード及び辺を参照し、クラス分類を行う。ネットワークを構成するノードのクラス分類は、各種のクラス分類手法を適用可能であり、例えば非特許文献2のLB-SOINNと同様の処理を行ってもよい。
Step S6
The clustering unit 5 refers to the load-balanced nodes and edges that have been processed and stored in the temporary storage unit, and classifies them into classes. Various classification methods can be applied to the classification of the nodes constituting the network, and for example, the same processing as LB-SOINN of Non-Patent Document 2 may be performed.
 なお、本実施の形態では、ステップS5において処理が終了したと判定された場合にステップS6のクラス分類を行うものとして説明したが、これは例示に過ぎず、他の任意のタイミングで行ってもよい。例えば、ステップS4の負荷平衡化を行った後のタイミングで実行してもよいし、入力ベクトルの入力総数が所定の単位数(λ)とは異なる他の所定の単位数(λ’)の整数倍となった場合に実行するなどしてもよい。負荷平衡化時にノード及び辺がクラス分類されていると、前述したように、クラスごとに負荷平衡化を実行することもできる。 In the present embodiment, it has been described that the classification of step S6 is performed when it is determined that the processing is completed in step S5, but this is merely an example, and even if it is performed at any other timing. good. For example, it may be executed at the timing after the load balancing in step S4 is performed, or an integer having a predetermined number of units (λ') whose total number of inputs of the input vector is different from the predetermined number of units (λ). It may be executed when it is doubled. If the nodes and edges are classified at the time of load balancing, load balancing can also be performed for each class as described above.
 続いて、実施の形態1にかかる情報処理装置100における負荷平衡化処理の効果について、実験結果を参照して説明する。ここでは、図13に示すように、2次元の入力ベクトルが円弧状に分布した部分を2つ合わせたデータを生成し、図14に示すように、生成したデータにノイズを与えたものを入力データとして用いた。 Subsequently, the effect of the load balancing process in the information processing apparatus 100 according to the first embodiment will be described with reference to the experimental results. Here, as shown in FIG. 13, data is generated by combining two parts in which two-dimensional input vectors are distributed in an arc shape, and as shown in FIG. 14, the generated data is input with noise. Used as data.
 図15に、特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す。この場合には、負荷平衡化を行っていないため、2つのクラスタの区別ができていない。 FIG. 15 shows the learning result of the input data by the algorithm excluding the load balancing from the LB-SOINN of Patent Document 2. In this case, the two clusters cannot be distinguished because the load balancing is not performed.
 次いで、図16に、特許文献2のLB-SOINNによる入力データの学習結果を示す。この場合には、上述した通りノイズの影響のため、LB-SOINNの負荷平衡化によって、クラスタ間にノードが生成されて過度に密集してしまい、2つのクラスタの区別ができていない。 Next, FIG. 16 shows the learning result of the input data by LB-SOINN of Patent Document 2. In this case, due to the influence of noise as described above, the load balancing of LB-SOINN creates nodes between the clusters and causes them to be excessively crowded, making it impossible to distinguish between the two clusters.
 次いで、図17に、実施の形態1にかかる負荷平衡化を適用した入力データの処理結果を示す。この場合には、辺学習時間が相対的に大きい辺に基づいて負荷平衡化を行っているため、学習時間が小さな辺上、すなわちクラスタ間でのノード生成が抑制され、入力ベクトルの分布がより正確に反映されている。また、クラスタ間のノードが抑制されることで、クラスタ内部のノードとクラスタ間のノードとをつなぐ辺の生成も抑制され、その結果、クラスタ間を接続する辺が減少している。すなわち、実施の形態1にかかる情報処理装置100によれば、入力ベクトルの分布をより正確に表現できることが理解できる。 Next, FIG. 17 shows the processing result of the input data to which the load balancing according to the first embodiment is applied. In this case, since load balancing is performed based on the edge with a relatively large edge learning time, node generation on the edge with a small learning time, that is, between clusters is suppressed, and the distribution of the input vector becomes more stable. It is reflected accurately. Further, by suppressing the nodes between the clusters, the generation of the edges connecting the nodes inside the cluster and the nodes between the clusters is also suppressed, and as a result, the edges connecting the clusters are reduced. That is, it can be understood that the information processing apparatus 100 according to the first embodiment can express the distribution of the input vector more accurately.
 実施の形態2
 実施の形態2にかかる負荷平衡化について説明する。実施の形態1では、辺学習時間が相対的大きな辺上に新規ノードを追加して負荷平衡化を行った。これに対し、本実施の形態では、入力データの分布をより正確に反映するため、辺学習時間及び長さの両方が相対的大きな辺上に新規ノードを追加して負荷平衡化を行う。
Embodiment 2
The load equilibration according to the second embodiment will be described. In the first embodiment, a new node is added on an edge having a relatively large edge learning time to perform load balancing. On the other hand, in the present embodiment, in order to more accurately reflect the distribution of the input data, a new node is added on the edge where both the edge learning time and the length are relatively large to perform load balancing.
 以下、実験結果を参照して説明する。ここでは、図18に示すように、中心部に密集した入力ベクトルと、中心部を囲んで環状に分布した入力ベクトルと、からなるデータを生成し、図19に示すように、生成したデータにノイズを与えたものを入力データとして用いた。 The following will be explained with reference to the experimental results. Here, as shown in FIG. 18, data consisting of an input vector densely packed in the central portion and an input vector distributed in a ring around the central portion is generated, and as shown in FIG. 19, the generated data is used. The one with noise was used as the input data.
 図20に、特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す。この場合には、負荷平衡化を行っていないため、入力ベクトルの密度をノードで表現することができず、中心部及び周囲の環状部の両方において一様にノードが存在してしまい、クラスタ間が多数の辺で接続されてしまっている。その結果、入力ベクトルの分布が正確に表現できていないことが理解できる。 FIG. 20 shows the learning result of the input data by the algorithm excluding the load balancing from the LB-SOINN of Patent Document 2. In this case, since load balancing is not performed, the density of the input vector cannot be expressed by the nodes, and the nodes exist uniformly in both the central part and the surrounding annular part, and the nodes are uniformly present between the clusters. Have been connected on many sides. As a result, it can be understood that the distribution of the input vector cannot be accurately expressed.
 図21に、特許文献2のLB-SOINNによる入力データの学習結果を示す。この場合には、中心部のノードの密度が表現はされているものの、過度に密集しすぎてしまい、かつ、ノイズの影響でクラスタ間が多数の辺で接続されてしまい、やはりクラスタが分離できていないことが理解できる。 FIG. 21 shows the learning result of the input data by LB-SOINN of Patent Document 2. In this case, although the density of the nodes in the center is expressed, it is too dense and the clusters are connected on many sides due to the influence of noise, so the clusters can also be separated. I can understand that it is not.
 次いで、図22に、実施の形態1にかかる負荷平衡化を適用した入力データの処理結果を示す。この場合には、図22のLB-SOINNと比較して、中心部のノードの密集が抑制されている。しかし、依然として中心部でのノードの過度の密集が認められる。また、辺学習時間が相対的に大きい辺に基づいて負荷平衡化を行っている。そのため、学習時間が小さな辺上でのノード生成が抑制され、ノードの疎密を表現できている。しかしながら、中心部ではノードが過度に生成されており、そのノードの多さのためにノイズなどによって環状部と中心部とを接続する辺が生成される確率が高くなる。その結果、クラスタ間を接続する辺が10本程度残存している。 Next, FIG. 22 shows the processing result of the input data to which the load balancing according to the first embodiment is applied. In this case, as compared with the LB-SOINN of FIG. 22, the density of the nodes in the central portion is suppressed. However, there is still an excessive concentration of nodes in the center. In addition, load equilibration is performed based on the edges where the edge learning time is relatively large. Therefore, the node generation on the side where the learning time is small is suppressed, and the sparseness of the nodes can be expressed. However, nodes are excessively generated in the central portion, and due to the large number of the nodes, there is a high probability that a side connecting the annular portion and the central portion will be generated due to noise or the like. As a result, about 10 sides connecting the clusters remain.
 実施の形態1におけるように、辺学習時間が相対的に大きな辺上に新規ノードを追加して負荷平衡化を行うと、新規ノードが生成された辺は削除され、削除された辺よりも短い辺が生成される。また、辺学習時間は入力ベクトルの分布密度が大きな場所で増加しやすいので、入力ベクトルの学習及び付加平衡化処理を進めると、特に入力ベクトルの分布密度が大きな場所において、負荷並行化処理で生成された辺で学習時間が大きくなって、さらなる負荷並行化処理を実行してしまう傾向が有る。すると、負荷平衡化によって、以前に生成された短い辺上にさらに新規ノードが生成され、かつ、さらに短い辺が生成されてしまう。その結果、図22に示すように、中心部でのノードの密集が生じたものと理解できる。 When a new node is added on an edge having a relatively large edge learning time and load balancing is performed as in the first embodiment, the edge on which the new node is generated is deleted and is shorter than the deleted edge. Edges are generated. In addition, the edge learning time tends to increase in places where the distribution density of the input vector is large, so if the learning of the input vector and the additional equilibrium processing are advanced, it will be generated by the load parallelization processing especially in the place where the distribution density of the input vector is large. There is a tendency that the learning time becomes large at the edge of the vector and further load parallelization processing is executed. Then, load equilibration creates a new node on the previously generated short edge and creates a shorter edge. As a result, as shown in FIG. 22, it can be understood that the nodes are densely packed in the central part.
 図23に、入力されたベクトルの分布を示す。図23の横軸は、入力ベクトルのいずれかの成分を示している。図23では、ノイズが大きなデータを想定しており、1つのクラスタ中に、左側の大きなピークで表されたサブクラスタSC1と、右側の小さなピークで表されたサブクラスタSC2とが存在している。このように分布した入力ベクトルを学習して生成されたノード及び辺に、実施の形態1で説明した負荷平衡化を適用すると、最もノード密度が大きいサブクラスタSC1を中心(破線部)として、負荷平衡化が実行される。 FIG. 23 shows the distribution of the input vector. The horizontal axis of FIG. 23 indicates any component of the input vector. In FIG. 23, assuming data with a large amount of noise, a subcluster SC1 represented by a large peak on the left side and a subcluster SC2 represented by a small peak on the right side exist in one cluster. .. When the load equilibration described in the first embodiment is applied to the nodes and sides generated by learning the input vector distributed in this way, the load is centered on the subcluster SC1 having the highest node density (broken line portion). Equilibration is performed.
 図24に、実施の形態1で説明した負荷平衡化を適用後のノード分布を示す。図24に示す様に、左側のサブクラスタSC1において負荷平衡化が多数行われた結果、必要以上のノードが生成されてしまい、ノード密度が局所的に大きくなる。その結果、ノード分布に偏りが生じ、又、不必要なノード生成によって処理スピードの低下が生じてしまう。 FIG. 24 shows the node distribution after applying the load equilibration described in the first embodiment. As shown in FIG. 24, as a result of performing a large number of load equilibrations in the subcluster SC1 on the left side, more nodes than necessary are generated, and the node density increases locally. As a result, the node distribution is biased, and the processing speed is reduced due to unnecessary node generation.
 これに対し、本実施の形態では、辺学習時間だけでなく、辺の長さをも評価することで、過度に短い辺上での新規ノード生成を防止することで、平衡化処理によりノードの密集を緩和する。以下、実施の形態2にかかる負荷平衡化における対象辺検出(ステップS42)について説明する。 On the other hand, in the present embodiment, not only the edge learning time but also the length of the edge is evaluated to prevent the generation of a new node on an excessively short edge, so that the node can be balanced by the equilibrium process. Relieve congestion. Hereinafter, the target side detection (step S42) in the load equilibration according to the second embodiment will be described.
 対象辺検出部32は、一時記憶部に格納された辺の辺学習時間を参照し、辺学習時間が相対的に大きな辺を検出し、その結果を一時記憶部に格納する。また、対象辺検出部32は、一時記憶部に格納された辺学習時間が相対的に大きな辺を参照し、長さが相対的に長い辺を検出する。以下では、対象辺検出部32が検出した、辺学習時間が相対的に大きく、かつ、長さが相対的に長い辺を対象辺と称する。 The target side detection unit 32 refers to the side learning time of the side stored in the temporary storage unit, detects the side having a relatively large side learning time, and stores the result in the temporary storage unit. Further, the target side detection unit 32 refers to a side having a relatively large side learning time stored in the temporary storage unit, and detects a side having a relatively long length. Hereinafter, the side detected by the target side detection unit 32, which has a relatively long side learning time and a relatively long length, is referred to as a target side.
 対象辺検出部32は、実施の形態1と同様に、例えば、所定の閾値TH1よりも大きな辺学習時間を有する辺を検出し、その結果を一時記憶部に格納する。閾値TH1は正の任意の値とすることができ、例えば、一時記憶部に格納された全ての辺の辺学習時間の平均値TAVEに所定の係数cを乗じた値(TH1=c・TAVE)としてもよい。なお、閾値TH1よりも大きな辺学習時間を有する全ての辺を対象辺とすることも可能であるが、その一部のみを対象辺としてもよい。例えば、閾値TH1よりも大きな辺学習時間を有する辺の中で、辺学習時間が大きいものから順に所定数だけを対象辺としてもよい。 Similar to the first embodiment, the target side detection unit 32 detects, for example, a side having an edge learning time larger than a predetermined threshold value TH1, and stores the result in the temporary storage unit. The threshold value TH1 can be any positive value, for example, a value obtained by multiplying the average value TAVE of the side learning time of all sides stored in the temporary storage unit by a predetermined coefficient c (TH1 = c · T). AVE ) may be used. Although it is possible to set all sides having a side learning time larger than the threshold value TH1 as the target sides, only a part of them may be set as the target sides. For example, among the edges having an edge learning time larger than the threshold TH1, only a predetermined number may be set as the target edge in order from the edge learning time.
 次いで、対象辺検出部32は、例えば、所定の閾値TH1よりも大きな辺学習時間を有する辺から、閾値LTHよりも長い辺を検出し、その結果を一時記憶部に格納する。閾値LTHは正の任意の値とすることができ、例えば、一時記憶部に格納された全ての辺の長さの平均LAVEに所定の係数dを乗じた値(LTH=d・LAVE)としてもよい。 Next, the target side detection unit 32 detects, for example, a side longer than the threshold value LTH from a side having a side learning time larger than a predetermined threshold value TH1, and stores the result in the temporary storage unit. The threshold value LTH can be any positive value, for example, a value obtained by multiplying the average LAVE of the lengths of all sides stored in the temporary storage unit by a predetermined coefficient d (LTH = d · L). AVE ) may be used.
 また、ノード及び辺をクラス分類して決定したクラスごとに、相対的に大きく、かつ、長さが相対的に長い辺を検出してもよい。例えば、閾値TH1及び閾値LTHをそれぞれのクラスごとに用意して、対象辺を各々のクラスから検出してもよい。 Further, a side that is relatively large and has a relatively long length may be detected for each class determined by classifying the node and the side. For example, a threshold value TH1 and a threshold value LTH may be prepared for each class, and the target side may be detected from each class.
 本実施の形態にかかる負荷平衡化の効果について説明する。図25に、実施の形態2にかかる負荷平衡化のイメージを示す。実施の形態1にかかる負荷平衡化では、負荷平衡化の対象となる辺を検出するにあたり、辺学習時間のみを参照し、辺の長さは参照していない。そのため、図25に示すように、辺学習時間が閾値よりも大きいが、長さが閾値よりも小さな辺も対象辺として検出されてしまう(図25の領域A1+A2)。その結果、対象辺が増加してしまい、新規ノードの過度な密集が生じる。 The effect of load equilibration according to this embodiment will be described. FIG. 25 shows an image of load equilibration according to the second embodiment. In the load equilibration according to the first embodiment, when detecting the side to be the target of the load equilibration, only the side learning time is referred to, and the length of the side is not referred to. Therefore, as shown in FIG. 25, an edge whose edge learning time is longer than the threshold value but whose length is smaller than the threshold value is also detected as a target edge (region A1 + A2 in FIG. 25). As a result, the target edges increase, resulting in excessive congestion of new nodes.
 これに対し、本実施の形態では、負荷平衡化の対象となる辺を検出するにあたり、辺学習時間だけではなく辺の長さも参照しているため、図25に示すように、辺学習時間が閾値よりも大きく、かつ、長さが閾値よりも大きな辺だけが対象辺として検出される(図25の領域A1)。その結果、実施の形態1と比べて、短い辺が対象辺として検出されることを防止できる。図26に、図20の入力ベクトル分布の下で、実施の形態2にかかる負荷平衡化を適用した後のノード分布を示す。図27に、実施の形態2にかかる負荷平衡化を適用した入力データの処理結果を示す。図26に示す様に、短い辺が多く含まれる左側のサブクラスでの負荷平衡化の処理が抑制され、新規ノードの密集を防止できる。 On the other hand, in the present embodiment, when detecting the side to be the target of load balancing, not only the side learning time but also the side length is referred to. Therefore, as shown in FIG. 25, the side learning time is used. Only the side larger than the threshold value and the length larger than the threshold value is detected as the target side (region A1 in FIG. 25). As a result, it is possible to prevent a short side from being detected as a target side as compared with the first embodiment. FIG. 26 shows the node distribution after applying the load equilibration according to the second embodiment under the input vector distribution of FIG. 20. FIG. 27 shows the processing result of the input data to which the load equilibration according to the second embodiment is applied. As shown in FIG. 26, the load balancing process in the left subclass containing many short sides is suppressed, and the congestion of new nodes can be prevented.
 本実施の形態による負荷平衡化を行うことで、図27に示すように、図22と比較して、中心部のノードの密集が大幅に抑制され、ノードの密度の偏りが緩和されている。かつ、クラスタ間の辺の数も大幅に減少し、入力データの分布をより正確に学習できることが理解できる。 By performing load equilibration according to the present embodiment, as shown in FIG. 27, as compared with FIG. 22, the density of the nodes in the central portion is significantly suppressed, and the unevenness of the density of the nodes is alleviated. Moreover, it can be understood that the number of edges between clusters is also significantly reduced, and the distribution of input data can be learned more accurately.
 実施の形態3
 実施の形態3では、実施の形態1にかかる負荷平衡化を行う場合の処理の具体例として、特許文献2のLB-SOINNの負荷平衡化を、実施の形態1にかかる負荷平衡化に置き換えた例について説明する。なお、実施の形態3では、ニューラルネットワークの構成処理だけでなく負荷並行化処理も含めた一連の処理に対して、「学習」という用語を使用する。
Embodiment 3
In the third embodiment, as a specific example of the process for performing the load equilibration according to the first embodiment, the load equilibration of LB-SOINN in Patent Document 2 is replaced with the load equilibration according to the first embodiment. An example will be described. In the third embodiment, the term "learning" is used for a series of processes including not only the neural network configuration process but also the load parallelization process.
 図28に、実施の形態3にかかる情報処理装置300の構成を模式的に示す。学習処理部4は、入力情報取得部41、ノード密度更新判定部42、ノード密度算出部43、ノード挿入判定部44、ノード挿入部45、辺接続判定部46、辺接続部47、勝者ノード学習時間算出部48、重みベクトル更新部49及び老齢辺削除部50を有する。クラスタリング部5は、サブクラスタ決定部51、ノイズノード削除部52、学習終了判定部53及びクラス決定部54を有する。また、情報処理装置300は、出力情報表示部6を更に有する。 FIG. 28 schematically shows the configuration of the information processing apparatus 300 according to the third embodiment. The learning processing unit 4 includes an input information acquisition unit 41, a node density update determination unit 42, a node density calculation unit 43, a node insertion determination unit 44, a node insertion unit 45, an edge connection determination unit 46, an edge connection unit 47, and a winner node learning. It has a time calculation unit 48, a weight vector update unit 49, and an old-age side deletion unit 50. The clustering unit 5 includes a subcluster determination unit 51, a noise node deletion unit 52, a learning end determination unit 53, and a class determination unit 54. Further, the information processing apparatus 300 further includes an output information display unit 6.
 また、本実施の形態では、特許文献2の<3:新たな距離尺度の組み合わせの枠組み>で記載されている手法を用いている。具体的には、特許文献2の式14に示した距離尺度を使用しており、さらに具体的には式17を使用している。なお、特許文献2で記載されるように、この距離尺度を使用するためには、各距離尺度の正規化のために使用されるノード間の最小距離値及び最大距離値が必要となる。ノード間の最小距離値及び最大距離値はネットワークに新たな入力ベクトルが入力されると変化するため、この点にも考慮する。考慮する方法は後述する。 Further, in the present embodiment, the method described in <3: Framework for combining new distance scales> in Patent Document 2 is used. Specifically, the distance scale shown in the formula 14 of Patent Document 2 is used, and more specifically, the formula 17 is used. As described in Patent Document 2, in order to use this distance scale, a minimum distance value and a maximum distance value between nodes used for normalization of each distance scale are required. The minimum and maximum distance values between nodes change when a new input vector is input to the network, so this point should also be taken into consideration. The method of consideration will be described later.
 また、本実施の形態では、特許文献2の<5:新たなノード密度の定義およびその算出方法>で記載されている手法を用いている。具体的には、式23で記載されているノードiについての隣接ノードからの平均距離のベクトルdi、式24で記載されているノード密度のポイント値のベクトルpi、式25で記載されているノードiのノード密度の累積ポイント値のベクトルsi及び式26で記載されているノード密度hiを用いている。 Further, in the present embodiment, the method described in <5: Definition of new node density and its calculation method> of Patent Document 2 is used. Specifically, the vector di of the average distance from the adjacent node for the node i described in the equation 23, the vector pi of the point value of the node density described in the equation 24, and the node described in the equation 25. The vector si of the cumulative point value of the node density of i and the node density hi described in Equation 26 are used.
 図29に、実施の形態3にかかる情報処理装置300の動作のフローチャートを示す。 FIG. 29 shows a flowchart of the operation of the information processing apparatus 300 according to the third embodiment.
ステップS11
 入力情報取得部41は、情報処理装置300に入力として与えられる情報として、n次元の入力ベクトルを取得し、取得した入力ベクトルを一時記憶部(例えばRAM13)に格納し、一時記憶部に格納されたニューラルネットワークに対して順次入力する。具体的には、入力情報取得部41は、初期化処理として、ノード集合Aを空集合、辺集合C⊂A×Aを空集合としてそれぞれ初期化し、その結果を一時記憶部に格納する。また、準初期化処理として、ノード集合Aに含まれるノードの個数が1つ以下である場合は、ノード数が2つになるよう入力ベクトルをランダムに取得し、それらに対応するノードをノード集合Aに加え、その結果を一時記憶部に格納する。次いで、入力処理として、新しい入力ベクトルε∈Rを入力し、その結果を一時記憶部に格納する。なお、初期化処理は処理を開始した直後のみ一度実行され、その後は実行されない。準初期化処理は、ノード集合Aに含まれるノードの個数が1つ以下である場合のみ実行され、それ以外の場合には実行されない。例えば、最初の入力ではなく、ノード集合Aに2つ以上ノードが存在する場合は、入力処理のみが実行される。
Step S11
The input information acquisition unit 41 acquires an n-dimensional input vector as information given as input to the information processing apparatus 300, stores the acquired input vector in a temporary storage unit (for example, RAM 13), and stores it in the temporary storage unit. Input sequentially to the neural network. Specifically, the input information acquisition unit 41 initializes the node set A as an empty set and the edge set C⊂A × A as an empty set as the initialization process, and stores the result in the temporary storage unit. Further, as a quasi-initialization process, when the number of nodes included in the node set A is one or less, input vectors are randomly acquired so that the number of nodes is two, and the corresponding nodes are set as a node set. In addition to A, the result is stored in the temporary storage unit. Next, as an input process, a new input vector ε ∈ R n is input, and the result is stored in the temporary storage unit. The initialization process is executed once only immediately after the process is started, and is not executed thereafter. The quasi-initialization process is executed only when the number of nodes included in the node set A is one or less, and is not executed in other cases. For example, if there are two or more nodes in the node set A instead of the first input, only the input process is executed.
ステップS12
 ノード密度更新判定部42は、一時記憶部に格納されたノード、各距離尺度に基づくノード間の最小距離値及び最大距離値について、各距離尺度に基づくノード間の最小距離値及び最大距離値のうちで少なくとも1つの値が変化したか否かを確認し、少なくとも1つの値が変化した場合にはノード密度を更新すると判定し、その結果を一時記憶部に格納する。なお、この処理及びステップS13の処理は、上記で示したように、ノード間の最小距離値および最大距離値がネットワークに新たな入力ベクトルが入力されると変化するため、その点を考慮したものである。
Step S12
The node density update determination unit 42 determines that the minimum distance value and the maximum distance value between the nodes stored in the temporary storage unit and the nodes based on each distance scale are the minimum distance value and the maximum distance value between the nodes based on each distance scale. It is confirmed whether or not at least one value has changed, and if at least one value has changed, it is determined that the node density is updated, and the result is stored in the temporary storage unit. As shown above, this process and the process of step S13 take into consideration the fact that the minimum distance value and the maximum distance value between the nodes change when a new input vector is input to the network. Is.
ステップS13
 一時記憶部に格納された判定の結果、ノード密度を更新する場合には、ノード密度算出部43は、一時記憶部に格納されたノード、ノード密度の累積ポイント値のベクトル、ノードの学習時間、各距離尺度に基づくノード間の最小距離値及び最大距離値について、ノード密度の累積ポイント値のベクトル、ノードの学習時間、各距離尺度に基づくノード間の最小距離値及び最大距離値に基づいて、ノード集合Aに含まれるノードi∈Aのノード密度の累積ポイント値のベクトルs を再び算出して更新し、更新したノードiのノード密度の累積ポイント値のベクトルs を用いてノードiのノード密度hを再び算出し、その結果を一時記憶部に格納する。ノード密度算出部43は、例えば、特許文献2に記載の式(27)~(30)及び式(26)に示す算出処理を実行することによって、ノードiのノード密度の累積ポイント値のベクトルs 及びノードiのノード密度hを再び算出して更新する。
Step S13
When updating the node density as a result of the determination stored in the temporary storage unit, the node density calculation unit 43 determines the node stored in the temporary storage unit, the vector of the cumulative point value of the node density, the learning time of the node, and so on. For the minimum and maximum distance values between nodes based on each distance scale, based on the vector of cumulative point values of node density, learning time of nodes, minimum distance value and maximum distance value between nodes based on each distance scale, The vector s i of the cumulative point value of the node density of the node i ∈ A included in the node set A is calculated and updated again, and the node using the updated vector s i of the cumulative point value of the node density of the node i →. The node density h i of i is calculated again, and the result is stored in the temporary storage unit. The node density calculation unit 43, for example, by executing the calculation processing shown in the equations (27) to (30) and the equation (26) described in Patent Document 2, the vector s of the cumulative point value of the node density of the node i i and the node density h i of the node i are calculated and updated again.
ステップS2
 ステップS12においてノード密度更新を行わないと判定された場合、及び、ステップS13においてノード密度を算出した後、勝者ノード検出部1は、実施の形態1にかかる情報処理装置100における場合と同様に、第1勝者ノード及び第2勝者ノードを検出し、その結果を一時記憶部に格納する。
Step S2
When it is determined in step S12 that the node density is not updated, and after the node density is calculated in step S13, the winner node detection unit 1 performs the same as in the case of the information processing apparatus 100 according to the first embodiment. The first winner node and the second winner node are detected, and the result is stored in the temporary storage unit.
ステップS14
 ノード挿入判定部44は、一時記憶部に格納された対象入力ベクトル、ノード、後述するノードの類似度閾値を参照して、ノード挿入を実行するか否かを判定する。以下、具体的に説明する。
Step S14
The node insertion determination unit 44 determines whether or not to execute node insertion by referring to the target input vector stored in the temporary storage unit, the node, and the similarity threshold value of the node described later. Hereinafter, a specific description will be given.
 ノード挿入判定部44は、一時記憶部に格納された第1勝者ノード及び第2勝者ノードを含むノードを参照して、第1勝者ノード又は第2勝者ノードを注目するノードiとして、類似度閾値Tを算出する。まず、ノード挿入判定部44は、ノードiの隣接ノードが存在するか否かを判定し、その結果を一時記憶部に格納する。 The node insertion determination unit 44 refers to the node including the first winner node and the second winner node stored in the temporary storage unit, and sets the similarity threshold as the node i that focuses on the first winner node or the second winner node. Calculate Ti . First, the node insertion determination unit 44 determines whether or not an adjacent node of the node i exists, and stores the result in the temporary storage unit.
 ノード挿入判定部44は、一時記憶部に格納された判定の結果、ノードiの隣接ノードjが存在する場合には、式[5]に示すように、隣接ノードjのうちでノードiからの距離が最大であるノードまでの距離を、類似度閾値とTして算出し、その結果を一時記憶部に格納する。ここで、D(i,j)は、上述の距離尺度を用いて算出されるノードiとノードjとの間の距離である。
Figure JPOXMLDOC01-appb-M000005
また、一時記憶部に格納された判定の結果、ノードiの隣接ノードが存在しない場合には、式[6]に示すように、ノード挿入判定部44は、ノードi以外のノードjのうちでノードiからの距離が最小であるノードまでの距離を類似度閾値Tとして算出し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000006
When the node insertion determination unit 44 determines that the node i is adjacent to the node i as a result of the determination stored in the temporary storage unit, the node insertion determination unit 44 is from the node i among the adjacent nodes j as shown in the equation [5]. The distance to the node with the maximum distance is calculated by Ti with the similarity threshold, and the result is stored in the temporary storage unit. Here, D (i, j) is the distance between the node i and the node j calculated by using the above-mentioned distance scale.
Figure JPOXMLDOC01-appb-M000005
Further, as a result of the determination stored in the temporary storage unit, when the adjacent node of the node i does not exist, the node insertion determination unit 44 is among the nodes j other than the node i, as shown in the equation [6]. The distance to the node with the minimum distance from the node i is calculated as the similarity threshold Ti, and the result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000006
 ノード挿入判定部44は、上述したように第1勝者ノードaの類似度閾値Ta1及び第2勝者ノードaの類似度閾値Ta2を算出し、その結果を一時記憶部に格納する。 As described above, the node insertion determination unit 44 calculates the similarity threshold T a1 of the first winner node a1 and the similarity threshold T a2 of the second winner node a 2 , and stores the results in the temporary storage unit.
 次いで、ノード挿入判定部44は、入力ベクトルεと第1勝者ノードaとの間の距離D(ε,a)が第1勝者ノードaの類似度閾値Ta1より大きい(D(ε,a)>Ta1)、又は、入力ベクトルεと第2勝者ノードaとの間の距離D(ε,a)が第2勝者ノードaの類似度閾値Ta2より大きい(D(ε,a)>Ta2)場合には、ノード挿入を実行すると判定し、そうでない場合には、ノード挿入を実行しないと判定し、その結果を一時記憶部に格納する。 Next, in the node insertion determination unit 44, the distance D (ε, a 1 ) between the input vector ε and the first winner node a 1 is larger than the similarity threshold T a1 of the first winner node a 1 (D (ε ε). , A 1 )> T a1 ), or the distance D (ε, a 2 ) between the input vector ε and the second winner node a 2 is greater than the similarity threshold T a 2 of the second winner node a 2 (D). If ( ε , a 2 )> T a 2), it is determined that the node insertion is executed, and if not, it is determined that the node insertion is not executed, and the result is stored in the temporary storage unit.
ステップS15
 ステップS14においてノード挿入を行うと判定した場合、ノード挿入部45は、一時記憶部に格納されたノード挿入判定部44での判定結果を参照し、ノード挿入を実行すると判定された場合、対象入力ベクトルεが新たにネットワークに追加されるべきノードであるものとして、対象入力ベクトルεの成分と同一の成分を重みベクトルとして有する挿入ノードを生成し、生成した挿入ノードをネットワークに挿入し、その結果を一時記憶部に格納する。その後、処理をステップS5へ進める。
Step S15
When it is determined in step S14 that the node is to be inserted, the node insertion unit 45 refers to the determination result of the node insertion determination unit 44 stored in the temporary storage unit, and when it is determined to execute the node insertion, the target input. Assuming that the vector ε is a node that should be newly added to the network, an insertion node having the same component as the component of the target input vector ε as a weight vector is generated, and the generated insertion node is inserted into the network, and the result is Is stored in the temporary storage unit. After that, the process proceeds to step S5.
ステップS16
 ステップS15においてノード挿入を行わないと判定した場合、辺接続判定部46は、一時記憶部に格納されたノード及びノードのサブクラスタラベルを参照し、ノードのサブクラスタラベルに基づいて第1勝者ノード及び第2勝者ノードが属するサブクラスタをそれぞれ判定し、その結果を一時記憶部に格納する。ここで、ノードのサブクラスタラベルとは、そのノードが属するサブクラスタを示すラベル情報のことをいう。クラスタとは、混合クラスに含まれるノードのうち、辺によって接続されるノードの集合である。サブクラスタは、同一のサブクラスタラベルが付与されたノードからなるクラスタの部分集合である。
Step S16
When it is determined in step S15 that the node is not inserted, the side connection determination unit 46 refers to the node and the subcluster label of the node stored in the temporary storage unit, and is the first winner node based on the subcluster label of the node. And the subcluster to which the second winner node belongs is determined, and the result is stored in the temporary storage unit. Here, the subcluster label of a node means label information indicating the subcluster to which the node belongs. A cluster is a set of nodes included in a mixed class that are connected by edges. A subcluster is a subset of a cluster of nodes with the same subcluster label.
 一時記憶部に格納された判定の結果、第1勝者ノード及び第2勝者ノードの少なくとも1つがいずれのサブクラスタにも属していない場合、又は、第1勝者ノード及び第2勝者ノードが同一のサブクラスタに属している場合、辺接続判定部46は、第1勝者ノード及び第2勝者ノード間に辺を接続するものと判定し、その結果を一時記憶部に格納する。 As a result of the determination stored in the temporary storage unit, if at least one of the first winner node and the second winner node does not belong to any of the subclusters, or the first winner node and the second winner node are the same sub. When belonging to the cluster, the side connection determination unit 46 determines that the side is connected between the first winner node and the second winner node, and stores the result in the temporary storage unit.
 一時記憶部に格納された判定の結果、第1勝者ノード及び第2勝者ノードが互いに異なるサブクラスタに属する場合(例えば、第1勝者ノードがサブクラスタSC1に属し、かつ、第2勝者ノードがサブクラスタSC2に属する場合)、辺接続判定部46は、第1勝者ノードを含むサブクラスタの平均ノード密度を基準とする第1勝者ノードについてのノード密度の条件(以下の式[7])、及び、第2勝者ノードを含むサブクラスタの平均ノード密度を基準とする第2勝者ノードについてのノード密度の条件(以下の式[8])のうちの少なくとも1つを満たすか否かを判定し、その結果を一時記憶部に格納する。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 式[7]及び式[8]において、ha1は第1勝者ノードのノード密度を示し、ha2は第2勝者ノードのノード密度を示す。min(ha1,ha2)は、第1勝者ノードのノード密度ha1及び第2勝者ノードのノード密度ha2のうちで最小のノード密度を示す。hSC1は、第1勝者ノードaが属するサブクラスタSC1に含まれるノードのうちで最大のノード密度を有するノードのノード密度を示す。hSC2は、第2勝者ノードaが属するサブクラスタSC2に含まれるノードのうちで最大のノード密度を有するノードのノード密度を示す。hmSC1は、サブクラスタSC1に含まれる全ノードの平均ノード密度を示す。hmSC2は、サブクラスタSC2に含まれる全ノードの平均ノード密度を示す。θは、ユーザーによって予め適切な値が決定されて設定されるパラメータを示し、その値は[1,2]の範囲内において定められる。また、θは許容度の要素のパラメータであり、1つのクラスに含まれるサブクラスタ間の差異をどの程度許容するのかを決定するために使用される。θが増加するにつれてこの許容度はより小さくなる。
As a result of the determination stored in the temporary storage unit, when the first winner node and the second winner node belong to different subclusters (for example, the first winner node belongs to the subcluster SC1 and the second winner node belongs to the subcluster). (When belonging to the cluster SC2), the side connection determination unit 46 determines the node density condition for the first winner node based on the average node density of the subcluster including the first winner node (the following equation [7]), and , Determine whether or not at least one of the node density conditions (the following equation [8]) for the second winner node based on the average node density of the subcluster including the second winner node is satisfied. The result is stored in the temporary storage unit.
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
In equations [7] and [8], ha1 indicates the node density of the first winner node, and ha2 indicates the node density of the second winner node. min (ha a1, ha a2) indicates the lowest node density among the node density h a1 of the first winner node and the node density h a2 of the second winner node. h SC1 indicates the node density of the node having the highest node density among the nodes included in the subcluster SC1 to which the first winner node a1 belongs. h SC2 indicates the node density of the node having the highest node density among the nodes included in the subcluster SC2 to which the second winner node a2 belongs. hm SC1 indicates the average node density of all the nodes included in the subcluster SC1. hm SC2 indicates the average node density of all the nodes included in the subcluster SC2. θ indicates a parameter in which an appropriate value is determined and set in advance by the user, and the value is determined within the range of [1, 2]. Also, θ is a parameter of the tolerance factor and is used to determine how much difference between subclusters contained in one class is tolerated. This tolerance decreases as θ increases.
 式[7]に示す第1勝者ノードaについてのノード密度の条件は、第1勝者ノードaのノード密度ha1及び第2勝者ノードaのノード密度ha2のうちの最小のノード密度が、第1勝者ノードaを含むサブクラスタSC1の平均ノード密度hmSC1を基準として、サブクラスタSC1の平均ノード密度hmSC1に対する最大ノード密度hSC1の比率に応じて算出する閾値よりも大きいか否かを判定する条件である。また、式[8]に示す第2勝者ノードaについてのノード密度の条件は、第1勝者ノードaのノード密度ha1及び第2勝者ノードa2のノード密度ha2のうちの最小のノード密度が、第2勝者ノードaを含むサブクラスタSC2の平均ノード密度hmSC2を基準として、サブクラスタSC2の平均ノード密度hmSC2に対する最大ノード密度hSC2の比率に応じて算出する閾値よりも大きいか否かを判定する条件である。 The condition of the node density for the first winner node a1 shown in the equation [7] is the minimum node density of the node density h a1 of the first winner node a1 and the node density h a2 of the second winner node a2. Is larger than the threshold calculated according to the ratio of the maximum node density h SC1 to the average node density hm SC1 of the subcluster SC1 based on the average node density hm SC1 of the subcluster SC1 including the first winner node a1. It is a condition to judge whether or not. Further, the node density condition for the second winner node a2 shown in the equation [8] is the smallest node among the node density h a1 of the first winner node a1 and the node density h a2 of the second winner node a2 . The density is greater than the threshold calculated according to the ratio of the maximum node density h SC2 to the average node density hm SC2 of the subcluster SC2 relative to the average node density hm SC2 of the subcluster SC2 including the second winner node a2. It is a condition for determining whether or not.
 辺接続判定部46は、式[7]及び式[8]の少なくとも1つを満たす場合、第1勝者ノード及び第2勝者ノード間に辺を接続するものと判定し、そうでない場合、第1勝者ノード及び第2勝者ノード間に辺を接続しないと判定し、その結果を一時記憶部に格納する。辺を接続しないと判定した場合、辺接続部47は、第1勝者ノード及び第2勝者ノード間に辺を接続せず(第1勝者ノード及び第2勝者ノード間に辺が存在する場合には辺を削除して)、その結果を一時記憶部に格納して、処理をステップS20へ進める。 If at least one of the equations [7] and [8] is satisfied, the edge connection determination unit 46 determines that the edges are connected between the first winner node and the second winner node, and if not, the first. It is determined that the side is not connected between the winner node and the second winner node, and the result is stored in the temporary storage unit. If it is determined that the edges are not connected, the edge connection unit 47 does not connect the edges between the first winner node and the second winner node (if the edges exist between the first winner node and the second winner node). (Delete the side), store the result in the temporary storage unit, and proceed to step S20.
ステップS17
 一時記憶部に格納されたステップS16での判定の結果、辺を接続すると判定した場合、辺接続部47は、第1勝者ノード及び第2勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。また、すでに第1勝者ノードと第2勝者ノードとの間に辺が存在している場合には、その辺を維持する。また、辺接続部47は、上記処理で接続すると判断された辺について、その辺の年齢を0に設定し、その結果を一時記憶部に格納する。
Step S17
When it is determined that the edges are connected as a result of the determination in step S16 stored in the temporary storage unit, the edge connection unit 47 connects the edges between the first winner node and the second winner node, and temporarily stores the result. Store in the department. If an edge already exists between the first winner node and the second winner node, that edge is maintained. Further, the side connection unit 47 sets the age of the side determined to be connected in the above process to 0, and stores the result in the temporary storage unit.
ステップS18
 ノード密度算出部43は、一時記憶部に格納されたノード、各距離尺度に基づくノード間の最小距離値及び最大距離値、隣接ノードからのノードの平均距離のベクトル、ノードのノード密度のポイント値のベクトル、ノード密度の累積ポイント値のベクトル、ノード密度について、第1勝者ノードaをノードiとして、各距離尺度に基づく隣接ノードからのノードiの距離と、各距離尺度に基づくノード間の最小距離値及び最大距離値と、に基づいてノードiについての隣接ノードからの平均距離のベクトルd を算出し、当該算出した隣接ノードからの平均距離のベクトルd に基づいて第1勝者ノードaのノード密度のポイント値のベクトルp を算出し、当該算出した第1勝者ノードaのノード密度のポイント値のベクトルp に基づいてノード密度の累積ポイント値のベクトルs を算出し、当該算出した第1勝者ノードaのノード密度の累積ポイント値のベクトルs に基づいて第1勝者ノードaのノード密度hを算出し、その結果を一時記憶部に格納する。ノード密度算出部43は、例えば、一時記憶部に格納される、特許文献2に記載の式(24)~(26)に示す算出処理を実行することによって、ノードiのノード密度の累積ポイント値のベクトルs 及びノードiのノード密度hを算出する。
Step S18
The node density calculation unit 43 includes the nodes stored in the temporary storage unit, the minimum and maximum distance values between the nodes based on each distance scale, the vector of the average distance of the nodes from the adjacent nodes, and the point value of the node density of the nodes. With respect to the vector of, the vector of the cumulative point value of the node density, and the node density, the distance of the node i from the adjacent node based on each distance scale and the distance between the nodes based on each distance scale are set with the first winner node a1 as the node i. Based on the minimum distance value and the maximum distance value, the vector di → of the average distance from the adjacent node for the node i is calculated, and the first is based on the calculated vector di → of the average distance from the adjacent node. The vector pi of the point value of the node density of the winner node a1 is calculated, and the vector of the cumulative point value of the node density is calculated based on the calculated vector pi of the point value of the node density of the first winner node a1. s i is calculated, the node density h i of the first winner node a 1 is calculated based on the vector s i of the cumulative point value of the node density of the first winner node a 1 , and the result is temporarily obtained. Store in the storage. The node density calculation unit 43, for example, by executing the calculation processing represented by the equations (24) to (26) described in Patent Document 2 stored in the temporary storage unit, the cumulative point value of the node density of the node i. Vector s i and node density h i of node i are calculated.
ステップS19
 勝者ノード学習時間算出部48は、一時記憶部に格納された第1勝者ノードaの学習時間Ma1を所定の値増加し、その結果を一時記憶部に格納する。勝者ノード学習時間算出部48は、例えば、Ma1(t+1)=Ma1(t)+1という処理を実行することによって、第1勝者ノードaの学習時間Ma1を1増加し、その結果を一時記憶部に格納する。 
Step S19
The winner node learning time calculation unit 48 increases the learning time Ma1 of the first winner node a1 stored in the temporary storage unit by a predetermined value, and stores the result in the temporary storage unit. The winner node learning time calculation unit 48 increases the learning time Ma1 of the first winner node a1 by 1 by executing the process of, for example, Ma1 (t + 1) = Ma1 (t) + 1, and obtains the result. Store in the temporary storage.
ステップS20
 重みベクトル更新部49は、一時記憶部に格納されたノード及びノードの重みベクトルについて、第1勝者ノードa及びその隣接ノードの重みベクトルをそれぞれ入力ベクトルεに更に近づけるように更新し、その結果を一時記憶部に格納する。重みベクトル更新部49は、例えば特許文献2に記載の式(33)及び式(34)を用いて、第1勝者ノードaの重みベクトルWa1についての更新量ΔWa1及び第1勝者ノードaの隣接ノードjの重みベクトルWs1についての更新量ΔWを学習時間Ma1に基づいて算出し、更新量ΔWa1を第1勝者ノードaの重みベクトルWa1に加算し、更新量ΔWを隣接ノードjの重みベクトルWs1に加算して、この結果を一時記憶部に格納する。
Step S20
The weight vector update unit 49 updates the weight vectors of the node and the node stored in the temporary storage unit so that the weight vectors of the first winner node a1 and its adjacent nodes are closer to the input vector ε, respectively, as a result. Is stored in the temporary storage unit. The weight vector update unit 49 uses, for example, the equations (33) and (34) described in Patent Document 2, and the update amount ΔW a1 and the first winner node a for the weight vector Wa 1 of the first winner node a1 . The update amount ΔW j for the weight vector W s1 of the adjacent node j of 1 is calculated based on the learning time Ma1, the update amount ΔW a1 is added to the weight vector W a1 of the first winner node a1 , and the update amount ΔW j is added to the weight vector W s1 of the adjacent node j, and this result is stored in the temporary storage unit.
ステップS21
 老齢辺削除部50は、一時記憶部に格納されたノード、ノード間の辺、辺の年齢について、第1勝者ノードと直接的に接続される全ての辺の年齢を所定の値増加し、その結果を一時記憶部に格納する。また、老齢辺削除部50は、一時記憶部に格納された辺について、予め設定され一時記憶部に格納された所定の閾値を超えた年齢を有する辺を削除し、その結果を一時記憶部に格納する。 
Step S21
The old-age side deletion unit 50 increases the ages of all the sides directly connected to the first winner node by a predetermined value with respect to the ages of the nodes, the sides between the nodes, and the sides stored in the temporary storage unit. Store the result in the temporary storage. Further, the old-age side deletion unit 50 deletes the side stored in the temporary storage unit that has an age exceeding a predetermined threshold value preset and stored in the temporary storage unit, and stores the result in the temporary storage unit. Store.
ステップS3
 辺学習時間更新部2は、実施の形態1と同様に、辺学習時間更新を行う。辺学習時間更新の詳細については、実施の形態1と同様であるので、説明を省略する。ただし、勝利辺が存在しない場合は、辺学習時間の更新は行わない。 
Step S3
The side learning time update unit 2 updates the side learning time as in the first embodiment. Since the details of the edge learning time update are the same as those in the first embodiment, the description thereof will be omitted. However, if the winning edge does not exist, the edge learning time is not updated.
ステップS22
 入力数判定部31は、実施の形態1にかかる情報処理装置100におけるステップS41同様に、一時記憶部に格納された与えられた入力ベクトルの総数について、与えられた入力ベクトルの総数が予め設定され一時記憶部に格納された所定の単位数の倍数であるか否かを判定し、その結果を一時記憶部に格納する。そして、入力ベクトルの入力数が所定の単位数の倍数である場合には処理をステップS4へ進め、入力ベクトルの入力数が所定の単位数の倍数でない場合には処理をステップS5へ進める。 
Step S22
Similar to step S41 in the information processing apparatus 100 according to the first embodiment, the input number determination unit 31 presets the total number of given input vectors for the total number of given input vectors stored in the temporary storage unit. It is determined whether or not it is a multiple of a predetermined number of units stored in the temporary storage unit, and the result is stored in the temporary storage unit. Then, if the number of inputs of the input vector is a multiple of a predetermined number of units, the process proceeds to step S4, and if the number of inputs of the input vector is not a multiple of the predetermined number of units, the process proceeds to step S5.
ステップS4
 その後の負荷平衡化については、実施の形態1と同様であるので、説明を省略する。ただし、ステップS41に対応する処理は上記のステップS22で実行しているため、ここで実行するのはステップS42~S45の処理である。
Step S4
Subsequent load equilibration is the same as that of the first embodiment, and thus the description thereof will be omitted. However, since the process corresponding to step S41 is executed in step S22 above, the process to be executed here is the process of steps S42 to S45.
ステップS51  
 負荷平衡化の後、サブクラスタ決定部51は、一時記憶部に格納されたノード、ノード間の辺、ノードのサブクラスタラベル、ノード密度、ボロノイ領域について、局所的に最大のノード密度を有するノードを頂点として、当該頂点に対してそれぞれ異なるサブクラスタラベルを付与し、当該サブクラスタラベルが付与されなかった全てのノードに対してノード密度が最大の隣接ノードと同一のサブクラスタラベルを付与し、頂点のうちでノード密度が所定の閾値よりも大きな頂点を基準としてボロノイ領域を生成し、当該生成したボロノイ領域において、基準とした頂点を含むサブクラスタと基準とした頂点とは異なる他の頂点を含むサブクラスタとが重複領域を有し、かつ、当該重複領域に位置するノードの平均ノード密度の条件を満たす場合に、基準とした頂点を含むサブクラスタのサブクラスタラベルを、他の頂点を含むサブクラスタのサブクラスタラベルとして付与し、その結果を一時記憶部に格納する。サブクラスタ決定部51による処理は、例えば、特許文献2においてステップS201~S205及びS301~S305と同様の処理を行うことで、サブクラスタを決定することができる。
Step S51
After load balancing, the subcluster determination unit 51 locally has the highest node density for the nodes stored in the temporary storage, the vertices between the nodes, the subcluster label of the node, the node density, and the boronoy region. Is assigned a different subcluster label to each vertex, and all nodes to which the subcluster label is not assigned are assigned the same subcluster label as the adjacent node with the highest node density. A boronoy region is generated based on the vertices whose node density is larger than a predetermined threshold among the vertices, and in the generated boronoi region, the subcluster including the reference vertex and other vertices different from the reference vertex are generated. If the subcluster containing the overlap area has an overlapping area and the condition of the average node density of the nodes located in the overlapping area is satisfied, the subcluster label of the subcluster containing the reference vertex includes other vertices. It is assigned as a subcluster label of the subcluster, and the result is stored in the temporary storage unit. The process by the subcluster determination unit 51 can determine the subcluster, for example, by performing the same process as in steps S201 to S205 and S301 to S305 in Patent Document 2.
ステップS52
 ノイズノード削除部52は、一時記憶部に格納されたノード集合Aに含まれる全てのノードaについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。ノイズノード削除部52は、一時記憶部に格納されたノード、ノード間の辺、隣接ノードの個数、ノード密度について、例えば、特許文献2におけるステップS601~S604に示す処理を実行し、注目するノードaの隣接ノードの個数及びノード密度に基づいて、注目するノードを削除し、その結果を一時記憶部に格納できる。
Step S52
The noise node deletion unit 52 deletes a node regarded as a noise node for all the nodes a included in the node set A stored in the temporary storage unit, and stores the result in the temporary storage unit. The noise node deleting unit 52 executes the processes shown in steps S601 to S604 in Patent Document 2, for example, regarding the nodes stored in the temporary storage unit, the sides between the nodes, the number of adjacent nodes, and the node density, and the node of interest. Based on the number of adjacent nodes of a and the node density, the node of interest can be deleted and the result can be stored in the temporary storage unit.
ステップS5
 学習終了判定部53は、実施の形態1にかかる情報処理装置100におけるステップS5と同様に、情報処理装置300による学習処理を終了するか否かを判定する。終了でないと判定した場合はステップS11に戻り、次の入力ベクトルεを処理する。一方、終了と判定した場合にはステップS53へ進む。
Step S5
The learning end determination unit 53 determines whether or not to end the learning process by the information processing apparatus 300, as in step S5 in the information processing apparatus 100 according to the first embodiment. If it is determined that the process is not completed, the process returns to step S11 and the next input vector ε is processed. On the other hand, if it is determined to end, the process proceeds to step S53.
ステップS53
 クラス決定部54は、一時記憶部に格納されたノード、ノード間の辺、ノードのクラスについて、ノード間に生成された辺に基づいて、ノードの属するクラスを決定し、その結果を一時記憶部に格納する。クラス決定部54は、例えば、特許文献2におけるステップS701~S704と同様の処理を行うことで、クラス決定を行ってもよい。
Step S53
The class determination unit 54 determines the class to which the node belongs based on the node stored in the temporary storage unit, the side between the nodes, and the class of the node based on the side generated between the nodes, and the result is stored in the temporary storage unit. Store in. The class determination unit 54 may determine the class by performing the same processing as in steps S701 to S704 in Patent Document 2, for example.
 その後、出力情報表示部6は、一時記憶部に格納されたノード及びノードのクラスについて、ノードの属するクラスのクラス数、及び各クラスのプロトタイプベクトルを出力してもよい。以上の処理を終了した後、学習を停止する。 After that, the output information display unit 6 may output the number of classes of the class to which the node belongs and the prototype vector of each class for the node and the class of the node stored in the temporary storage unit. After completing the above processing, learning is stopped.
 以上説明したように、本実施の形態によれば、実施の形態1にかかる負荷平衡化を適用して、入力ベクトルの構造を正確に学習することができる。 As described above, according to the present embodiment, the load balancing according to the first embodiment can be applied to accurately learn the structure of the input vector.
 以上説明したように、なお、本実施の形態において、実施の形態1にかかる負荷平衡化に換えて、実施の形態2にかかる負荷平衡化を適用してもよいことは、言うまでもない。 As described above, it goes without saying that, in the present embodiment, the load equilibration according to the second embodiment may be applied instead of the load equilibration according to the first embodiment.
 また、図29のフローチャートで示した処理(ステップ)の順序は例示であり、処理(ステップ)の順序は適宜変更してもよい。 Further, the order of the processes (steps) shown in the flowchart of FIG. 29 is an example, and the order of the processes (steps) may be changed as appropriate.
 実施の形態4
 実施の形態3では、実施の形態1にかかる負荷平衡化を行う場合の処理の具体例として、特許文献2のLB-SOINNの負荷平衡化を、実施の形態1にかかる負荷平衡化に置き換えた例について説明した。これに対し、実施の形態4では、実施の形態1にかかる負荷平衡化を行う場合の処理の別の具体例について説明する。なお、実施の形態4ではニューラルネットワークの構成処理だけでなく負荷並行化処理も含めた一連の処理に対して、「学習」という用語を使用する。
Embodiment 4
In the third embodiment, as a specific example of the process for performing the load equilibration according to the first embodiment, the load equilibration of LB-SOINN in Patent Document 2 is replaced with the load equilibration according to the first embodiment. An example was explained. On the other hand, in the fourth embodiment, another specific example of the process in the case of performing the load equilibration according to the first embodiment will be described. In the fourth embodiment, the term "learning" is used for a series of processes including not only the neural network configuration process but also the load parallelization process.
 図30に、実施の形態4にかかる情報処理装置400の構成を模式的に示す。情報処理装置400は、実施の形態3にかかる情報処理装置300の学習処理部4を学習処理部7に置換し、クラスタリング部5をクラスタリング部8に置換した構成を有する。 FIG. 30 schematically shows the configuration of the information processing apparatus 400 according to the fourth embodiment. The information processing apparatus 400 has a configuration in which the learning processing unit 4 of the information processing apparatus 300 according to the third embodiment is replaced with the learning processing unit 7, and the clustering unit 5 is replaced with the clustering unit 8.
 学習処理部7は、学習処理部4の一部の構成要素を含み、具体的には、入力情報取得部41、ノード挿入判定部44、ノード挿入部45、辺接続部47、勝者ノード学習時間算出部48、重みベクトル更新部49及び老齢辺削除部50を有する。 The learning processing unit 7 includes a part of the components of the learning processing unit 4, specifically, an input information acquisition unit 41, a node insertion determination unit 44, a node insertion unit 45, an edge connection unit 47, and a winner node learning time. It has a calculation unit 48, a weight vector update unit 49, and an old-age side deletion unit 50.
 クラスタリング部8は、クラスタリング部5の一部の構成要素を含み、具体的には、ノイズノード削除部52、学習終了判定部53及びクラス決定部54を有する。 The clustering unit 8 includes a part of the components of the clustering unit 5, and specifically includes a noise node deletion unit 52, a learning end determination unit 53, and a class determination unit 54.
 以下、情報処理装置400の動作について説明する。図31に、実施の形態4にかかる情報処理装置400の動作のフローチャートを示す。 Hereinafter, the operation of the information processing apparatus 400 will be described. FIG. 31 shows a flowchart of the operation of the information processing apparatus 400 according to the fourth embodiment.
ステップS11
 ステップS11については、実施の形態3(図29)と同様であるので、説明を省略する。
Step S11
Since step S11 is the same as that of the third embodiment (FIG. 29), the description thereof will be omitted.
ステップS2
 ステップS11で入力される入力ベクトルに基づいて、勝者ノード検出部1は、実施の形態1にかかる情報処理装置100における場合(図4)と同様に、第1勝者ノード及び第2勝者ノードを検出し、その結果を一時記憶部に格納する。
Step S2
Based on the input vector input in step S11, the winner node detection unit 1 detects the first winner node and the second winner node as in the case of the information processing apparatus 100 according to the first embodiment (FIG. 4). Then, the result is stored in the temporary storage unit.
ステップS14
 ステップS14については、実施の形態3(図29)と同様であるので、説明を省略する。なお、ノードを挿入しないと判定した場合には、ステップS17へ進む。
Step S14
Since step S14 is the same as that of the third embodiment (FIG. 29), the description thereof will be omitted. If it is determined that the node is not inserted, the process proceeds to step S17.
ステップS15
 実施の形態3(図29)と同様に、ステップS14においてノードを挿入すると判定した場合、ノードを挿入する。実施の形態3と違う点は、ステップS17に進む点である。
Step S15
Similar to the third embodiment (FIG. 29), when it is determined in step S14 that the node is to be inserted, the node is inserted. The difference from the third embodiment is that the process proceeds to step S17.
ステップS17
 ステップS14においてノードを挿入しないと判定した場合又はステップS15の後、すなわちノード挿入判定であるステップS14での判定結果に関わらず、辺接続部47は、実施の形態3(図29)と同様に辺接続を行う。具体的には、辺接続部47は、第1勝者ノードと第2勝者ノードとの間に辺を接続し、その結果を一時記憶部に格納する。また、すでに第1勝者ノードと第2勝者ノードとの間に辺が存在している場合には、その辺を維持する。また、辺接続部47は、接続した辺又は維持された辺について、その辺の年齢を0に設定し、その結果を一時記憶部に格納する。
Step S17
Regardless of the determination result in step S14 that the node is not inserted or after step S15, that is, regardless of the determination result in step S14 which is the node insertion determination, the side connection portion 47 is the same as in the third embodiment (FIG. 29). Make a node connection. Specifically, the side connection unit 47 connects a side between the first winner node and the second winner node, and stores the result in the temporary storage unit. If an edge already exists between the first winner node and the second winner node, that edge is maintained. Further, the side connection unit 47 sets the age of the connected side or the maintained side to 0, and stores the result in the temporary storage unit.
ステップS19~S21、S3
 ステップS19~S21、S3は、実施の形態3(図29)と同様であるので、説明を省略する
Steps S19 to S21, S3
Since steps S19 to S21 and S3 are the same as those in the third embodiment (FIG. 29), the description thereof will be omitted.
ステップS70
 入力数判定部31は、実施の形態1にかかる情報処理装置100におけるステップS41(図4)と同様に、一時記憶部に格納された与えられた入力ベクトルの総数について、与えられた入力ベクトルの総数が予め設定され一時記憶部に格納された所定の単位数の倍数であるか否かを判定し、その結果を一時記憶部に格納する。なお、本実施の形態では、所定の単位数を2つ有しており、ステップS70で使用される所定の単位数を第1の単位数(λ1)とする。また、本実施の形態では第1の単位数(λ1)は固定値としたが、これに限らず、例えば、入力ベクトルの入力数に応じて、適宜、第1の単位数(λ1)を変更してもよい。
Step S70
The input number determination unit 31 is the same as in step S41 (FIG. 4) in the information processing apparatus 100 according to the first embodiment, with respect to the total number of given input vectors stored in the temporary storage unit. It is determined whether or not the total number is a multiple of a predetermined number of units preset and stored in the temporary storage unit, and the result is stored in the temporary storage unit. In this embodiment, the number of predetermined units is two, and the predetermined number of units used in step S70 is the first number of units (λ1). Further, in the present embodiment, the first unit number (λ1) is set to a fixed value, but the present invention is not limited to this, and for example, the first unit number (λ1) is appropriately changed according to the number of inputs of the input vector. You may.
 このような処理を実行することで、クラスを正確に捉えつつ、不必要な処理を実行せずに済む場合がある。これは以下のような理由による。ステップS70は次のステップS71で行われるクラス決定の実行回数を規定するものである。入力数が少ない時には未だクラスが安定していない場合が多いので、λ1を小さくしておくとクラスを正確に捉えられる。一方、入力数が多くなるとクラスが安定してくる場合が多いので、λ1が大きいと不必要な処理を少なくすることができる。 By executing such processing, it may be possible to avoid executing unnecessary processing while accurately grasping the class. This is due to the following reasons. Step S70 defines the number of times the class determination is executed in the next step S71. When the number of inputs is small, the class is often not stable yet, so if λ1 is made small, the class can be grasped accurately. On the other hand, as the number of inputs increases, the class often becomes stable, so if λ1 is large, unnecessary processing can be reduced.
ステップS71
 入力ベクトルの入力総数が第1の単位数(λ1)の整数倍となった場合、実施の形態3(図29)のステップS53と同様に、クラス決定を行う。処理の詳細については、ステップS53と同様であるので、説明を省略する。
Step S71
When the total number of inputs of the input vector is an integral multiple of the first unit number (λ1), the class is determined in the same manner as in step S53 of the third embodiment (FIG. 29). Since the details of the process are the same as those in step S53, the description thereof will be omitted.
ステップS72
 ステップS70で入力ベクトルの入力数が第1の単位λ1以外の場合又はステップS71の後、すなわちステップS70での判定結果にかかわらず、ステップS72の入力数判定処理を行う。入力数判定部31は、実施の形態1にかかる情報処理装置100におけるステップS41(図4)と同様に、一時記憶部に格納された与えられた入力ベクトルの総数について、与えられた入力ベクトルの総数が予め設定され一時記憶部に格納された所定の単位数の倍数であるか否かを判定し、その結果を一時記憶部に格納する。なお、ステップS71で使用される所定の単位数を第2の単位数(λ2)とする。また、本実施の形態では第2の単位数(λ2)は固定値としたが、これに限らず、例えば、入力ベクトルの入力数に応じて、適宜、その後の処理の頻度を入力数に応じて調整できるようにしてもよい。
Step S72
When the number of inputs of the input vector is other than the first unit λ1 in step S70, or after step S71, that is, regardless of the determination result in step S70, the input number determination process of step S72 is performed. The input number determination unit 31 is the same as in step S41 (FIG. 4) in the information processing apparatus 100 according to the first embodiment, with respect to the total number of given input vectors stored in the temporary storage unit. It is determined whether or not the total number is a multiple of a predetermined number of units preset and stored in the temporary storage unit, and the result is stored in the temporary storage unit. The predetermined number of units used in step S71 is defined as the second unit number (λ2). Further, in the present embodiment, the second unit number (λ2) is set to a fixed value, but the present invention is not limited to this, and for example, the frequency of subsequent processing is appropriately determined according to the number of inputs according to the number of inputs of the input vector. May be adjusted.
ステップS4
 入力ベクトルの入力総数が第2の単位数(λ2)の整数倍となった場合、対象辺検出部32は、ステップS71で分類されたクラスに基づいて、クラスごとに閾値TH1をそれぞれ用意して対象辺を各々のクラスから検出する。閾値TH1は正の任意の値とすることができ、例えば、一時記憶部に格納された該当クラスの辺の辺学習時間の平均値TAVEに所定の係数cを乗じた値(TH1=c・TAVE)としてもよい。その他の処理は、実施の形態3(図29)と同様であるので、説明を省略する。
Step S4
When the total number of inputs of the input vector is an integral multiple of the second unit number (λ2), the target edge detection unit 32 prepares a threshold TH1 for each class based on the classes classified in step S71. The target edge is detected from each class. The threshold value TH1 can be any positive value, for example, a value obtained by multiplying the average value TAVE of the side learning time of the side of the corresponding class stored in the temporary storage unit by a predetermined coefficient c (TH1 = c. It may be T AVE ). Since other processes are the same as those in the third embodiment (FIG. 29), the description thereof will be omitted.
ステップS52
 ノイズノード削除部52は、実施の形態3(図29)と同様に、一時記憶部に格納されたノード集合Aに含まれる全てのノードaについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。ノイズノード削除部52は、例えば、注目するノードaの隣接ノード、辺の個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納できる。本実施の形態では辺の個数が0となったノードを削除したが、もちろんこれに限らない。本実施の形態では、ステップS4及びステップS52において、同じ第2の所定の単位数(λ2)に基づいて処理を行う例について説明したが、これは例示に過ぎない。ステップS4は第2の所定の単位数(λ2)に基づいて処理を行い、ステップS52は第3の所定の単位数(λ3)に基づいて処理を行ってもよい。異なる単位数に基づいて処理を行う場合には、パラメータが増えてより自由度が増すため、ユーザーの調整時間は増すものの、より正確に入力データを表現できる場合が想定し得る。
Step S52
Similar to the third embodiment (FIG. 29), the noise node deletion unit 52 deletes all the nodes a included in the node set A stored in the temporary storage unit, and deletes the nodes regarded as noise nodes. Store the result in the temporary storage. The noise node deletion unit 52 can delete the node of interest based on the number of adjacent nodes and sides of the node a of interest, and store the result in the temporary storage unit, for example. In the present embodiment, the node in which the number of sides is 0 is deleted, but the present invention is not limited to this. In the present embodiment, an example in which the processing is performed based on the same second predetermined number of units (λ2) in steps S4 and S52 has been described, but this is merely an example. Step S4 may perform processing based on the second predetermined number of units (λ2), and step S52 may perform processing based on the third predetermined number of units (λ3). When processing is performed based on a different number of units, the number of parameters increases and the degree of freedom increases, so that the user's adjustment time increases, but it can be assumed that the input data can be expressed more accurately.
 ステップS5
 学習終了判定部53は、実施の形態1にかかる情報処理装置100におけるステップS5(図4)と同様に、情報処理装置400による学習処理を終了するか否かを判定する。学習が終了しないと判定した場合は、処理をステップS11に戻す。
Step S5
The learning end determination unit 53 determines whether or not to end the learning process by the information processing apparatus 400, as in step S5 (FIG. 4) in the information processing apparatus 100 according to the first embodiment. If it is determined that the learning is not completed, the process returns to step S11.
ステップS53
 ステップS53は、実施の形態3(図29)と同様であるので、説明を省略する。
Step S53
Since step S53 is the same as that of the third embodiment (FIG. 29), the description thereof will be omitted.
 その後、出力情報表示部6は、一時記憶部に格納されたノード及びノードのクラスについて、ノードの属するクラスのクラス数、及び各クラスのプロトタイプベクトルを出力してもよい。以上の処理を終了した後、学習を停止する。 After that, the output information display unit 6 may output the number of classes of the class to which the node belongs and the prototype vector of each class for the node and the class of the node stored in the temporary storage unit. After completing the above processing, learning is stopped.
 以上説明したように、本実施の形態によれば、実施の形態1にかかる負荷平衡化を適用して、入力ベクトルの構造を正確に学習することができる。 As described above, according to the present embodiment, the load balancing according to the first embodiment can be applied to accurately learn the structure of the input vector.
 なお、本実施の形態においても、実施の形態1にかかる負荷平衡化に換えて、実施の形態2にかかる負荷平衡化を適用してもよいことは、言うまでもない。また本実施の形態の処理は一例に過ぎず、適宜ステップの処理及び順番は変更してよい。 Needless to say, also in the present embodiment, the load equilibration according to the second embodiment may be applied instead of the load equilibration according to the first embodiment. Further, the processing of this embodiment is only an example, and the processing and order of the steps may be changed as appropriate.
その他の実施の形態
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、距離尺度についてであるが、オンライン追加学習を行う場合ではサンプルデータを事前に得ることができないので、事前に入力ベクトルの次元数を分析してどの距離尺度が有効であるかを決定することができない。このため、特許文献2において式(14)を用いて説明されているように、異なる距離尺度を組み合わせて2つのノード間の距離を表す新たな距離尺度を導入してもよい。例えば、特許文献2において式(14)~(16)を用いて導出された式(17)で示されるように、ユークリッド距離とコサイン距離とを組み合わせた新たな距離尺度を用いてもよい。
Other Embodiments The present invention is not limited to the above embodiments, and can be appropriately modified without departing from the spirit. For example, regarding the distance scale, since sample data cannot be obtained in advance when performing online additional learning, it is necessary to analyze the number of dimensions of the input vector in advance to determine which distance scale is effective. I can't. Therefore, as described by using equation (14) in Patent Document 2, a new distance scale may be introduced by combining different distance scales to represent the distance between two nodes. For example, as shown by the equation (17) derived by using the equations (14) to (16) in Patent Document 2, a new distance scale that combines the Euclidean distance and the cosine distance may be used.
 また、距離尺度に関して、ユークリッド距離にコサイン距離を組合せる場合を例に説明したが、これに限定されず、他の距離尺度(例えば、コサイン距離、マンハッタン距離、フラクショナル距離)を組合せるものとしてもよい。さらに、高次元空間における有効な距離尺度に限定されず、学習しようとする問題に応じた他の距離尺度を組合せるものとしてもよい。 Further, regarding the distance scale, the case where the Euclidean distance is combined with the cosine distance has been described as an example, but the present invention is not limited to this, and other distance scales (for example, cosine distance, Manhattan distance, fractional distance) may be combined. good. Further, it is not limited to a valid distance scale in a high-dimensional space, and may be combined with other distance scales according to the problem to be learned.
 上述の実施の形態において、2つの値の大小判定について説明したが、これは例示に過ぎず、2つの値の大小判定において2つの値が等しい場合については、必要に応じて取り扱ってもよい。すなわち、第1の値が第2の値以上であるか又は第2の値よりも小さいかの判定と、第1の値が第2の値よりも大きいか又は第2の値以下であるかの判定とについては、必要に応じていずれを採用してもよい。第1の値が第2の値以下であるか又は第2の値よりも大きいかの判定と、第1の値が第2の値よりも小さいか又は第2の値以上であるかの判定については、いずれを採用してもよい。換言すれば、2つの値の大小判定を行って2つの判定結果を得る場合、2つの値が等しい場合については、必要に応じて2つの判定結果のいずれに含めてもよい。 In the above-described embodiment, the magnitude determination of the 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. That is, the determination of whether the first value is greater than or equal to the second value or less than the second value, and whether the first value is greater than or less than the second value or less than or equal to the second value. As for the determination of, any of them may be adopted as necessary. Determining whether the first value is less than or equal to the second value or greater than the second value, and whether the first value is less than the second value or greater than or equal to the second value. Any of these may be adopted. In other words, when the magnitude of two values is determined to obtain two determination results, the case where the two values are equal may be included in any of the two determination results as necessary.
 上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 In the above-described embodiment, the present invention has been described mainly as a hardware configuration, but the present invention is not limited to this, and arbitrary processing is realized by causing a CPU (Central Processing Unit) to execute a computer program. It is also possible to do. In this case, the computer program can be stored and supplied to the computer using various types of non-transitory computer readable media. Non-temporary computer-readable media include various types of tangible storage media. Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), optomagnetic recording media (eg, optomagnetic disks), CD-ROMs (Read Only Memory), CD-Rs, etc. Includes CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)). The program may also be supplied to the computer by various types of temporary computer-readable media. Examples of temporary computer readable media include electrical, optical, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the invention of the present application has been described above with reference to the embodiments, the invention of the present application is not limited to the above. Various changes that can be understood by those skilled in the art can be made within the scope of the invention in the configuration and details of the invention of the present application.
 この出願は、2020年12月28日に出願された日本出願特願2020-218714を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority on the basis of Japanese Application Japanese Patent Application No. 2020-218714 filed on December 28, 2020 and incorporates all of its disclosures herein.
 1 勝者ノード検出部
 2 辺学習時間更新部
 3 負荷平衡化部
 4、7 学習処理部
 5、8 クラスタリング部
 6 出力情報表示部
 10 コンピュータ
 11 CPU
 12 ROM
 13 RAM
 14 バス
 15 入出力インターフェイス
 16 入力部
 17 出力部
 18 記憶部
 19 通信部
 20 ドライブ
 20A 磁気ディスク
 20B 光ディスク
 20C フレキシブルディスク
 20D 半導体メモリ
 31 入力数判定部
 32 対象辺検出部
 33 辺上ノード挿入部 
 34 対象辺削除部
 35 新規ノード辺接続部
 41 入力情報取得部
 42 ノード密度更新判定部
 43 ノード密度算出部
 44 ノード挿入判定部
 45 ノード挿入部
 46 辺接続判定部
 47 辺接続部
 48 勝者ノード学習時間算出部
 49 重みベクトル更新部
 50 老齢辺削除部
 51 サブクラスタ決定部
 52 ノイズノード削除部
 53 学習終了判定部
 54 クラス決定部
 100、300、400 情報処理装置
1 Winner node detection unit 2 Side learning time update unit 3 Load balancing unit 4, 7 Learning processing unit 5, 8 Clustering unit 6 Output information display unit 10 Computer 11 CPU
12 ROM
13 RAM
14 Bus 15 I / O interface 16 Input unit 17 Output unit 18 Storage unit 19 Communication unit 20 Drive 20A Magnetic disk 20B Optical disk 20C Flexible disk 20D Semiconductor memory 31 Input number determination unit 32 Target side detection unit 33 Side top node insertion unit
34 Target side deletion part 35 New node side connection part 41 Input information acquisition part 42 Node density update judgment part 43 Node density calculation part 44 Node insertion judgment part 45 Node insertion part 46 Side connection judgment part 47 Side connection part 48 Winner node learning time Calculation unit 49 Weight vector update unit 50 Old-age side deletion unit 51 Subcluster determination unit 52 Noise node deletion unit 53 Learning end determination unit 54 Class determination unit 100, 300, 400 Information processing device

Claims (15)

  1.  入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理装置において、
     前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する勝者ノード検出部と、
     前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を第1の値だけ増加させる辺学習時間更新部と、
     所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する負荷平衡化部と、を備える、
     情報処理装置。
    Information processing in which input vectors are sequentially input and the input distribution structure of the input vector is learned as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of sides connecting the two nodes are arranged. In the device
    From the plurality of nodes included in the network structure, the node located at the closest distance to the input input vector is detected as the first winner node, and the node located at the second closest distance is set as the second winner node. Winner node detector to detect and
    An edge learning time update unit that increases the edge learning time of the edge connecting between the first winner node and the second winner node by the first value, and
    A load that selects one or more sides from the plurality of sides at a predetermined timing based on the side learning time, creates a new node on each of the selected one or more sides, and inserts the new node into the network structure. Equipped with a balancing unit,
    Information processing equipment.
  2.  前記辺学習時間更新部は、さらに、前記第1勝者ノードと前記第2勝者ノードとの間を接続する前記辺以外の、前記第1勝者ノードに接続する辺の辺学習時間及び前記第2勝者ノードに接続する辺の辺学習時間を前記第1の値よりも小さな第2の値だけ増加させる、
     請求項1に記載の情報処理装置。
    The edge learning time update unit further includes an edge learning time of an edge connected to the first winner node other than the edge connecting between the first winner node and the second winner node, and the second winner. The edge learning time of the edge connected to the node is increased by a second value smaller than the first value.
    The information processing apparatus according to claim 1.
  3.  前記負荷平衡化部は、辺学習時間が相対的に大きい1以上の辺を選択する、
     請求項1又は2に記載の情報処理装置。
    The load balancing unit selects one or more edges having a relatively large edge learning time.
    The information processing apparatus according to claim 1 or 2.
  4.  前記負荷平衡化部は、辺学習時間が所定の辺学習時間閾値よりも大きな1以上の辺を選択する、
     請求項3に記載の情報処理装置。
    The load balancing unit selects one or more edges whose edge learning time is larger than a predetermined edge learning time threshold.
    The information processing apparatus according to claim 3.
  5.  前記負荷平衡化部は、前記複数の辺から、辺学習時間と辺の長さとに基づいて1以上の辺を選択する、
     請求項1乃至4のいずれか一項に記載の情報処理装置。
    The load balancing unit selects one or more sides from the plurality of sides based on the side learning time and the length of the sides.
    The information processing apparatus according to any one of claims 1 to 4.
  6.  前記負荷平衡化部は、長さが相対的に大きい1以上の辺を選択する、
     請求項5に記載の情報処理装置。
    The load balancing unit selects one or more sides having a relatively large length.
    The information processing apparatus according to claim 5.
  7.  前記負荷平衡化部は、長さが所定の値よりも大きな1以上の辺を選択する、
     請求項6に記載の情報処理装置。
    The load balancing unit selects one or more sides whose length is larger than a predetermined value.
    The information processing apparatus according to claim 6.
  8.  前記負荷平衡化部は、前記選択した1以上の辺において、各辺の一端と接続される第1ノードの勝利回数及び他端と接続される第2ノードの勝利回数に基づいて、前記新たなノードを生成する位置を決定する、
     請求項1乃至7のいずれか一項に記載の情報処理装置。
    The load balancing unit is based on the number of wins of the first node connected to one end of each side and the number of wins of the second node connected to the other end in the selected one or more sides. Determine where to generate the node,
    The information processing apparatus according to any one of claims 1 to 7.
  9.  前記負荷平衡化部は、前記選択した1以上の辺において、各辺上の前記第1ノードの勝利回数及び前記第2ノードの勝利回数から算出した重心位置に、前記新たなノードを生成する、
     請求項8に記載の情報処理装置。
    The load balancing unit generates the new node at the center of gravity position calculated from the number of wins of the first node and the number of wins of the second node on each side in one or more selected sides.
    The information processing apparatus according to claim 8.
  10.  前記負荷平衡化部は、
      前記選択した1以上の辺を削除し、
      削除した各辺の一端と接続される第1ノードと前記新たなノードとを接続する第1の辺と、削除した各辺の他端と接続される第2ノードと前記新たなノードとを接続する第2の辺と、を生成して前記ネットワーク構造に挿入する、
     請求項1乃至9のいずれか一項に記載の情報処理装置。
    The load balancing unit is
    Delete one or more of the selected edges
    Connect the first side that connects the first node connected to one end of each deleted side and the new node, and the second node connected to the other end of each deleted side and the new node. Generate a second side and insert it into the network structure.
    The information processing apparatus according to any one of claims 1 to 9.
  11.  前記負荷平衡化部は、前記削除した各辺の辺学習時間を、前記第1の辺及び前記第2の辺のそれぞれに所定の割合で継承させる、
     請求項10に記載の情報処理装置。
    The load balancing unit causes each of the first side and the second side to inherit the side learning time of each of the deleted sides at a predetermined ratio.
    The information processing apparatus according to claim 10.
  12.  前記第1及び第2の辺のそれぞれは、前記第1ノードの勝利回数及び前記第2ノードの勝利回数のそれぞれを、前記第1ノードの勝利回数及び前記第2ノードの勝利回数の和で除した値で示される割合だけ、前記削除した各辺の辺学習時間を継承する、
     請求項11に記載の情報処理装置。
    For each of the first and second sides, the number of wins of the first node and the number of wins of the second node are divided by the sum of the number of wins of the first node and the number of wins of the second node. Inherit the side learning time of each deleted side by the ratio indicated by the specified value.
    The information processing apparatus according to claim 11.
  13.  前記情報処理装置は、
      前記入力ベクトルと前記第1勝者ノードとの間の距離及び前記入力ベクトルと前記第2勝者ノード間との距離に基づいて、ノード挿入を実行するか否かを判定するノード挿入判定部と、
      前記ノード挿入判定部による判定の結果、前記ノード挿入を実行する場合に、前記入力ベクトルの成分と同一の成分を重みベクトルとして有する挿入ノードを生成し、当該生成した挿入ノードを前記ネットワーク構造に挿入するノード挿入部と、を備える、
     請求項1乃至12のいずれか一項に記載の情報処理装置。
    The information processing device is
    A node insertion determination unit that determines whether or not to execute node insertion based on the distance between the input vector and the first winner node and the distance between the input vector and the second winner node.
    As a result of the determination by the node insertion determination unit, when the node insertion is executed, an insertion node having the same component as the component of the input vector is generated as a weight vector, and the generated insertion node is inserted into the network structure. With a node insertion part,
    The information processing apparatus according to any one of claims 1 to 12.
  14.  入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理方法であって、
     勝者ノード検出部が、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出し、
     辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させ、
     負荷平衡化部が、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する、
     情報処理方法。
    Information processing in which input vectors are sequentially input and the input distribution structure of the input vector is learned as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of sides connecting the two nodes are arranged. It ’s a method,
    The winner node detection unit detects the node located at the closest distance to the input vector input from the plurality of nodes included in the network structure as the first winner node, and the node located at the second closest distance. Is detected as the second winner node,
    The edge learning time update unit increases the edge learning time of the edge connecting between the first winner node and the second winner node by a predetermined value.
    The load balancing unit selects one or more sides from the plurality of sides at a predetermined timing based on the side learning time, and generates a new node on each of the selected one or more sides. Insert into the network structure,
    Information processing method.
  15.  入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する処理をコンピュータに実行させるプログラムであって、
     前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する処理と、
     辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させる処理と、
     所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する処理と、をコンピュータに実行させる、
     プログラムが格納された非一時的なコンピュータ可読媒体。
      
    A process of sequentially inputting input vectors and learning the input distribution structure of the input vector as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of sides connecting two said nodes are arranged. A program that lets a computer run
    From the plurality of nodes included in the network structure, the node located at the closest distance to the input input vector is detected as the first winner node, and the node located at the second closest distance is set as the second winner node. Processing to detect and
    A process in which the edge learning time update unit increases the edge learning time of the edge connecting between the first winner node and the second winner node by a predetermined value.
    A process of selecting one or more sides from the plurality of sides at a predetermined timing based on the side learning time, generating a new node on each of the selected one or more sides, and inserting the new node into the network structure. And let the computer do it,
    A non-temporary computer-readable medium containing a program.
PCT/JP2021/031880 2020-12-28 2021-08-31 Information processing device, information processing method, and non-transitory computer-readable medium WO2022145087A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022572905A JP7489730B2 (en) 2020-12-28 2021-08-31 Information processing device, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-218714 2020-12-28
JP2020218714 2020-12-28

Publications (1)

Publication Number Publication Date
WO2022145087A1 true WO2022145087A1 (en) 2022-07-07

Family

ID=82259176

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/031880 WO2022145087A1 (en) 2020-12-28 2021-08-31 Information processing device, information processing method, and non-transitory computer-readable medium

Country Status (2)

Country Link
JP (1) JP7489730B2 (en)
WO (1) WO2022145087A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587222A (en) * 2022-12-12 2023-01-10 阿里巴巴(中国)有限公司 Distributed graph calculation method, system and equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164396A (en) * 2013-02-22 2014-09-08 Tokyo Institute Of Technology Information processing apparatus, information processing method and program
JP2020042724A (en) * 2018-09-13 2020-03-19 Soinn株式会社 Information processing device, information processing method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5846553B2 (en) 2010-09-13 2016-01-20 国立大学法人東京工業大学 Attribute learning and transfer system, recognizer generation device, recognizer generation method, and recognition device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164396A (en) * 2013-02-22 2014-09-08 Tokyo Institute Of Technology Information processing apparatus, information processing method and program
JP2020042724A (en) * 2018-09-13 2020-03-19 Soinn株式会社 Information processing device, information processing method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587222A (en) * 2022-12-12 2023-01-10 阿里巴巴(中国)有限公司 Distributed graph calculation method, system and equipment
CN115587222B (en) * 2022-12-12 2023-03-17 阿里巴巴(中国)有限公司 Distributed graph calculation method, system and equipment

Also Published As

Publication number Publication date
JPWO2022145087A1 (en) 2022-07-07
JP7489730B2 (en) 2024-05-24

Similar Documents

Publication Publication Date Title
Melnykov et al. Initializing the EM algorithm in Gaussian mixture models with an unknown number of components
Jung et al. Fast support-based clustering method for large-scale problems
JP4376145B2 (en) Image classification learning processing system and image identification processing system
Damaševičius Optimization of SVM parameters for recognition of regulatory DNA sequences
US11775851B2 (en) User verification method and apparatus using generalized user model
US10607121B2 (en) Information processing apparatus, information processing method, and storage medium
WO2022145087A1 (en) Information processing device, information processing method, and non-transitory computer-readable medium
Rajendran et al. Malleable fuzzy local median C means algorithm for effective biomedical image segmentation
Ming et al. Autonomous and deterministic supervised fuzzy clustering with data imputation capabilities
US11048852B1 (en) System, method and computer program product for automatic generation of sizing constraints by reusing existing electronic designs
Pal et al. ESOEA: Ensemble of single objective evolutionary algorithms for many-objective optimization
Alhakbani et al. Optimising SVM to classify imbalanced data using dispersive flies optimisation
Neshatian et al. Dimensionality reduction in face detection: A genetic programming approach
WO2020054521A1 (en) Information processing device, information processing method, and program
Olfati et al. Feature subset selection and parameters optimization for support vector machine in breast cancer diagnosis
JPWO2010016313A1 (en) Pattern determining apparatus, method, and program
Bozorgtabar et al. A Genetic Programming-PCA Hybrid Face Recognition Algorithm.
JP7489731B2 (en) Clustering processing device, clustering processing method, program, and information processing device
JP2008217246A (en) Information processor, information processing method, and program
CN107766887A (en) A kind of local weighted deficiency of data mixes clustering method
EP4207006A1 (en) Model generation program, model generation method, and model generation device
Couto et al. Texture characterization via improved deterministic walks on image-generated complex network
Kowaliw et al. Evolutionary automated recognition and characterization of an individual's artistic style
Liu et al. Non-negative low-rank representation with similarity correction for cell type identification in scRNA-seq data
Sivakumar et al. Feature selection using genetic algorithm with mutual information

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022572905

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21914948

Country of ref document: EP

Kind code of ref document: A1