Data processing system, program, and data processing method
Patent Information
- Application Number
- JP2023136888
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-25
- Publication Date
- 2025-03-07
AI Technical Summary
【0010】 1つの側面では、本発明は、階層クラスタリングの実行時間を短縮できる。
Smart Images

Figure 2025030976000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a data processing system, a program, and a data processing method. [Background technology]
[0002] Ising machines (also called Boltzmann machines) use an Ising-type evaluation function (also called an energy function) as a device for calculating large-scale discrete optimization problems, which von Neumann computers are not good at. In calculations using an Ising machine, the problem to be calculated is replaced with an Ising model, which is a model that represents the behavior of the spin of a magnetic material. Then, using the Markov chain Monte Carlo method, a search is made for the state of the Ising model where the value of the Ising-type evaluation function (corresponding to the energy of the Ising model) is minimized. The state where the minimum of the minimum values of the evaluation function is the optimal solution.
[0003] Partitional hierarchical clustering is one of the data analysis methods for visualizing correlations between data. Partitional hierarchical clustering is a method in which all nodes, each of which represents data, are in a single cluster, and the clusters are divided sequentially based on the weight values (for example, similarities) between the nodes.
[0004] In addition, in compressing data written to block storage, it has been proposed to use hierarchical clustering when determining blocks to be compressed at once (see, for example, Patent Document 1).Also, in the past, a method was proposed in which a quantum annealing device, which is a type of Ising device, is used to minimize errors in each layer when updating neural network parameters by error backpropagation (see, for example, Patent Document 2). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2019-46023 A [Patent Document 2] International Publication No. 2020-255634 Summary of the Invention [Problem to be solved by the invention]
[0006] To shorten the execution time of the partitioning type hierarchical clustering, it is possible to have the Ising device calculate which of the two clusters each node should be classified into for each partitioning pattern of the number of nodes in each cluster. However, as the number of nodes increases, the number of partitioning patterns also increases. This increases the number of times the Ising device finds a solution, and the execution time of the hierarchical clustering becomes longer.
[0007] In one aspect, the present invention aims to reduce the execution time of hierarchical clustering. [Means for solving the problem]
[0008] In one embodiment, a data processing system is provided that includes: an Ising device that calculates first division candidates when dividing a first cluster including a plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values between the plurality of nodes; and an information processing device that acquires from the Ising device division candidate information representing a plurality of the first division candidates for each of a plurality of first division patterns determined by the number of nodes included in the first cluster, selects one of the plurality of the first division candidates for each of the plurality of first division patterns based on values of the evaluation function of the plurality of the first division candidates, and divides the first cluster into the second cluster and the third cluster, stores the division candidate information of the first division candidates that are not selected from the plurality of the first division candidates in a storage unit, determines whether or not there is an unselected first division candidate that corresponds to the second division pattern of the second cluster based on the division candidate information stored in the storage unit, and when it is determined that there is an unselected first division candidate that corresponds to the second division pattern, selects one of the second division candidates of the second cluster, including the unselected first division candidate that corresponds to the second division pattern, and divides the second cluster into a fourth cluster and a fifth cluster.
[0009] Also, in one embodiment, a program is provided. Also provided in one embodiment is a method for processing data. Effect of the Invention
[0010] In one aspect, the present invention can reduce the execution time of hierarchical clustering. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 illustrates an example of a data processing system according to a first embodiment. [Diagram 2] FIG. 11 is a block diagram illustrating an example of hardware of an information processing device in a data processing system according to a second embodiment. [Diagram 3] FIG. 2 is a block diagram showing an example of functions of the information processing device; [Figure 4] 1 is a flowchart illustrating a flow of an example of a data processing method. [Diagram 5] FIG. 13 is a diagram showing an example of division candidate information of a first cluster. [Figure 6] FIG. 13 is a diagram showing an example of extracted data of split candidate information related to nodes of the second cluster. [Figure 7] FIG. 13 is a diagram showing an example of division candidate information of the second cluster generated from extracted data of the division candidate information related to the nodes of the second cluster. [Figure 8] FIG. 13 is a diagram showing an example of extracted data of split candidate information related to nodes of the third cluster. [Figure 9] FIG. 13 is a diagram showing an example of division candidate information (storage target) of the third cluster generated from extracted data of the division candidate information related to the nodes of the third cluster. [Figure 10] FIG. 13 is a diagram showing an example of division candidate information for a third cluster. [Figure 11] FIG. 13 is a diagram showing an example of extracted data of split candidate information related to nodes of the fifth cluster. [Figure 12] FIG. 13 is a diagram showing an example of division candidate information (storage target) of the fifth cluster generated from extracted data of the division candidate information related to the nodes of the fifth cluster. [Figure 13] FIG. 13 is a diagram showing an example of division candidate information for the fifth cluster. [Figure 14] FIG. 6 is a diagram showing an example of a phylogenetic tree based on the results of hierarchical clustering performed on the first cluster shown in FIG. 5. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, an embodiment of the invention will be described with reference to the drawings. (First embodiment) FIG. 1 illustrates an example of a data processing system according to a first embodiment.
[0013] The data processing system 10 executes partition-type hierarchical clustering. The data processing system 10 includes an Ising device 11 and an information processing device 12. The Ising device 11 and the information processing device 12 may be connected via a network or via an interface. The Ising device 11 may be provided in the information processing device 12.
[0014] The Ising device 11 can be realized by a processor, which is hardware such as a central processing unit (CPU), a graphics processing unit (GPU), or a digital signal processor (DSP). The Ising device 11 may also be realized by an electronic circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The Ising device 11 may also be a quantum annealing device.
[0015] The Ising device 11 calculates division candidates for dividing a cluster including a plurality of nodes into two clusters based on an Ising-type evaluation function. The Ising-type evaluation function in hierarchical clustering can be expressed by, for example, the following formula (1).
[0016]
number
[0017] On the right side of formula (1), the first term is the objective function and the second term is the constraint term. In formula (1), n is the number of nodes contained in the cluster to be divided. i and j are node numbers. In the objective function, x i , x j is a binary variable that can take the value “0” or “1”. “0” and “1” act as labels indicating the two clusters after the split. For example, x iIf x = 0, the node with node number i belongs to the cluster labeled with “0” (hereafter referred to as the “0” cluster), and i If d = 1, it indicates that the node belongs to the cluster labeled with “1” (hereafter referred to as the “1” cluster). ij is the weight value (e.g., similarity) between the node with node number = i and the node with node number = j. ij is a value greater than or equal to 0. For example, d ij The larger the value of , the higher the similarity. ij is added to the evaluation function value by x i and x j are 0 and 1, or vice versa (i.e., assigned to different clusters).
[0018] In the constraint term, α is a positive integer. The value of α is set so that the value of the evaluation function becomes large when the constraint conditions described later are not satisfied. c indicates the expected value of the number of nodes belonging to cluster "1". The expected value of the number of nodes belonging to cluster "1" is a natural number between 1 and n / 2. Furthermore, c is determined by the division pattern selected by the information processing device 12. For example, when n=8, the division patterns of the number of nodes are four: [number of nodes in cluster "1", number of nodes in cluster "0"]=[1,7], [2,6], [3,5], [4,4]. When the information processing device 12 specifies the division pattern of [1,7], c=1. When the information processing device 12 specifies the division pattern of [2,6], c=2.
[0019] In the constraint term, x from i=0 to n-1 i If the sum of x is not c, that is, if a constraint violation occurs, the constraint term will be a large value. i Since combinations of the values of are searched for, combinations that cause such a constraint violation are unlikely to be selected. In other words, the number of nodes belonging to the "0" cluster and the number of nodes belonging to the "1" cluster can be indirectly controlled by this constraint term, and node division candidates for the division pattern specified by the information processing device 12 can be calculated.
[0020] The Ising device 11 detects, for example, the state of the Ising model (n x i The state where the value of H(x) is the minimum among the minimum values of the evaluation function is the optimal solution. By changing the signs of the terms on the right side of equation (1), the processing unit 12b can also search for a state where the value of H(x) is the maximum (in this case, the state where the maximum value is reached is the optimal solution).
[0021] Ising device 11 is x i When the value of is changed, the amount of change in the evaluation function value is compared with the threshold value to determine whether or not to allow the change in the value, and if the change is allowed, the process of updating the value is repeated. The threshold value is, for example, a noise value obtained based on a random number and a temperature parameter value. For example, log(rand)×T, which is an example of a noise value obtained based on a uniform random number (rand) between 0 and 1 and a temperature parameter (T), can be used as the threshold. By using such a threshold, even changes that increase the value of the evaluation function are probabilistically accepted, thereby preventing the solution from being constrained to a local solution.
[0022] The Ising device 11 can perform simulated annealing, which is a type of Markov chain Monte Carlo method, and replica exchange method (also called exchange Monte Carlo method, etc.). When performing simulated annealing, the Ising device 11 performs, for example, x i Each time the determination of whether or not to allow the change in the value of x is repeated a predetermined number of times, the value of the above-mentioned temperature parameter (T) is decreased according to a predetermined temperature parameter change schedule. Then, the Ising device 11 calculates the n x i The Ising device 11 outputs the combination of the values of x as division candidate information representing the calculated division candidate. i The evaluation function value obtained by combining the values of may be output.
[0023] When performing the replica exchange method, the Ising device 11 performs the above-described x i The Ising device 11 repeats a process of determining whether or not to allow a change in x. Then, the Ising device 11 performs replica exchange every time the process of determining is repeated a predetermined number of times. For example, the Ising device 11 selects two replicas having adjacent values of T, and exchanges n x between the two selected replicas with a predetermined exchange probability based on the difference in the value of the evaluation function between the replicas or the difference in the value of T. i Note that between the two replicas, n x i Instead of exchanging the values of x, the values of T may be exchanged. The Ising device 11 calculates the n x i Then, the Ising device 11 stores the value of the evaluation function and the value of the evaluation function. Then, among the values of the evaluation function stored after the above-mentioned determination process is repeated a predetermined number of times in each replica, the Ising device 11 selects n x i The Ising device 11 outputs the combination of values of x as division candidate information. i The evaluation function value obtained by combining the values of may be output.
[0024] The information processing device 12 may be a client device or a server device, and may be called a computer. The information processing device 12 has a storage unit 12a and a processing unit 12b. The storage unit 12a may be a volatile semiconductor memory such as a random access memory (RAM), or may be a non-volatile storage such as a hard disk drive (HDD) or a flash memory. The processing unit 12b is, for example, a processor such as a CPU, a GPU, or a DSP. However, the processing unit 12b may include an electronic circuit such as an ASIC or an FPGA. The processor executes a program stored in a memory such as a RAM (which may be the storage unit 12a). A set of processors may be called a multiprocessor or simply a "processor."
[0025] The storage unit 12a stores information on the division candidates that are not selected by the processing unit 12b described later. The storage unit 12a may store information on the division candidates that are selected. The storage unit 12a also stores the weight values (d ij ) may be stored.
[0026] The processing unit 12b acquires division candidate information representing division candidates for each of a plurality of division patterns determined by the number of nodes included in the cluster to be divided, from the Ising device 11. Note that, when the Ising device 11 outputs a value of an evaluation function of the division candidate, the processing unit 12b may acquire the value.
[0027] 1 shows an example in which a first cluster including seven nodes A to G is divided. The processing unit 12b outputs to the Ising device 11 the following: n=7, c=1, 2, 3, d ij The processing unit 12b sets n x i The initial value of , α in formula (1), and other calculation conditions may be set.
[0028] As a result, the Ising device 11 calculates division candidates for the three division patterns [1,6], [2,5], and [3,4]. In the example of FIG. 1, an example is shown in which a division candidate for dividing node A and nodes B to G is calculated as a division candidate for division pattern [1,6]. Also, an example is shown in which a division candidate for dividing nodes A to C, G, F and nodes D and E is calculated as a division candidate for division pattern [2,5]. Also, an example is shown in which a division candidate for dividing nodes A, D, E and nodes B, C, F, and G is calculated as a division candidate for division pattern [3,4].
[0029] The processing unit 12b selects one of the division candidates for each of the plurality of division patterns based on the value of the evaluation function of the division candidate, and divides the image into two clusters. The processing unit 12b can calculate the value of the evaluation function by performing the calculation of formula (1) based on the acquired division candidate information.
[0030] For example, the processing unit 12b may select a splitting candidate that provides the smallest evaluation function value and perform the split. However, in that case, there is a tendency that splitting in which only the node with the smallest weighting value with other nodes is separated occurs more frequently. To suppress such a tendency, the processing unit 12b may select a splitting candidate using a value of the evaluation function normalized based on the following formula (2).
[0031]
number
[0032] In equation (2), we use the normalized evaluation function (E norm ) is represented. assoc(Cluster P) is the sum of the weight values between the nodes classified in Cluster P and the sum of the weight values between the nodes classified in Cluster P and the nodes classified in Cluster Q. Similarly, assoc(Cluster Q) is the sum of the weight values between the nodes classified in Cluster Q and the sum of the weight values between the nodes classified in Cluster P and the nodes classified in Cluster Q.
[0033] assoc(Cluster P) and assoc(Cluster Q) can be defined as the following equations (3) and (4).
[0034]
number
[0035]
number
[0036] p s is the sth (s≧0)th node among the nodes classified in Cluster P. tis the t-th (t≧0) node among the nodes classified in Cluster Q. q t >p s compares the size of the node numbers. For example, if q0=t4 and p0=t1, then t4>t1, so q0>p0 is true.
[0037] d ps q t “s” is a subscript for p) is a node p classified in Cluster P. s and node q classified in Cluster Q t is the weight value between As a specific example, consider assoc(Cluster P) and assoc(Cluster Q) of the split candidate information 12a2 described below and stored in the storage unit 12a in Fig. 1. Although the node numbers are represented as A to G in Fig. 1, the node numbers are represented as t1 to t7 here. That is, the cluster classification results of the node numbers t1 to t7 in the split candidate information 12a2 are 0,0,0,1,1,0,0.
[0038] Let the "0" cluster be Cluster P, and the "1" cluster be Cluster Q. Furthermore, the set of nodes belonging to Cluster P is expressed as {t1, t2, t3, t6, t7} = {p0, p1, p2, p3, p4}. Similarly, the set of nodes belonging to Cluster Q is expressed as {t4, t5} = {q0, q1}. In this case, assoc(Cluster P) and assoc(Cluster Q) can be expressed as formulas (5) and (6) using the weight values between nodes.
[0039]
number
[0040]
number
[0041] The processing unit 12b is normThe division candidate with the smallest value is selected and division is performed. The processing unit 12b stores the division candidate information of the non-selected division candidates in the storage unit 12a. In the example of FIG. 1, the split candidate of split pattern [3,4] is selected, and the first cluster is split into a second cluster of nodes A, D, and E, and a third cluster of nodes B, C, F, and G. In this case, split candidate information 12a1 and 12a2 of the unselected split pattern [1,6] and split pattern [2,5] are stored in the storage unit 12a. In the split candidate information 12a1 and 12a2, "0" and "1" correspond to x in formula (1). i The value of , indicates whether each of the nodes A to G is classified into the above-mentioned "0" cluster or "1" cluster. The division candidate information 12a1, 12a2 may be stored separately for nodes included in the second cluster and nodes included in the third cluster for easy reference in later processes (see Figs. 9 and 12, which will be described later). The classification candidate information 12a1, 12a2 may also ... norm may contain the value
[0042] After that, the processing unit 12b performs cluster division in the next layer. It is assumed that the cluster division in the previous layer has obtained the second and third clusters as shown in Fig. 1. The processing unit 12b determines whether or not there is a non-selected division candidate corresponding to the division pattern of the second cluster, based on the division candidate information 12a1 and 12a2 stored in the storage unit 12a.
[0043] In the example of FIG. 1, the number of nodes in the second cluster is 3, so there is a division pattern of [1,2]. The second cluster is made up of nodes A, D, and E. Looking at the division candidate information 12a1, node A is classified into cluster "1" and nodes D and E are classified into cluster "0", so it represents a division candidate for dividing node A into a cluster different from nodes D and E. Similarly, the division candidate information 12a2 represents a division candidate for dividing node A into a cluster different from nodes D and E. In such a case, the processing unit 12b determines that there is a non-selected division candidate corresponding to the division pattern [1,2] of the second cluster.
[0044] When the processing unit 12b determines that there is an unselected division candidate corresponding to the division pattern of the second cluster, the processing unit 12b selects one of the division candidates of the second cluster including the unselected division candidate corresponding to the division pattern, and divides the second cluster into a fourth cluster and a fifth cluster using the selected division candidate.
[0045] 1, since the second cluster has only one division pattern, [1,2], the processing unit 12b selects a division candidate that divides the non-selected division candidates, node A, and nodes D and E. Then, the processing unit 12b divides the second cluster into a fourth cluster including node A and a fifth cluster including nodes D and E.
[0046] The background of this determination is that the splitting candidate information of a splitting candidate that was not selected in the cluster splitting of a certain layer may contain information of multiple nodes to be split in the cluster splitting of the next layer because the weight value between nodes is small. If such splitting candidate information is also used in the cluster splitting of the next layer, the number of splitting candidates to be calculated by the Ising device 11 can be reduced. In other words, the number of times the Ising device 11 needs to find a solution can be reduced.
[0047] When there is no unselected division candidate corresponding to the division pattern of the second cluster, the division candidate corresponding to the division pattern is calculated by the Ising device 11 by the above-mentioned processing. When there are multiple division patterns of the second cluster, the division candidates for the division patterns other than those corresponding to the unselected division candidates are calculated by the Ising device 11 by the above-mentioned processing. Even in these cases, for example, E norm A division candidate is selected based on the above, and division candidate information of non-selected division candidates is stored in the storage unit 12a.
[0048] The third cluster is also processed in the same way as the second cluster. In the example of Fig. 1, looking at the division candidate information 12a1, Nos. B, C, G, and F are classified into the same "0" cluster, and similarly, they are also classified into the same "0" cluster in the division candidate information 12a2. Therefore, since there is no unselected division candidate corresponding to each division pattern of the third cluster, the division candidate for each division pattern of the third cluster is calculated by the Ising device 11. Then, the processing unit 12b performs the same process as that performed on the first cluster.
[0049] The processing unit 12b performs the above process until there are no more clusters with three or more nodes. This is because a cluster with two nodes can be divided without even calculating a division candidate. When there are no more clusters with three or more nodes, the hierarchical clustering process ends.
[0050] As described above, the data processing system 10 of the first embodiment includes an Ising device 11 and an information processing device 12. The Ising device 11 calculates a division candidate when dividing a first cluster including a plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values between the plurality of nodes. The information processing device 12 acquires, from the Ising device 11, division candidate information representing a division candidate for each of a plurality of division patterns determined by the number of nodes included in the first cluster. Then, based on the value of the evaluation function of the division candidate, the information processing device 12 selects one of the division candidates for each of the plurality of division patterns, and divides the first cluster into a second cluster and a third cluster. Also, the information processing device 12 stores division candidate information 12a1, 12a2 of non-selected division candidates in the storage unit 12a. Then, based on the division candidate information 12a1, 12a2, the information processing device 12 determines the presence or absence of a non-selected division candidate corresponding to the division pattern of the second cluster. When the information processing device 12 determines that there is an unselected division candidate corresponding to the division pattern of the second cluster, the information processing device 12 selects one of the division candidates of the second cluster including the unselected division candidate corresponding to the division pattern. Then, the information processing device 12 divides the second cluster into a fourth cluster and a fifth cluster using the selected division candidate.
[0051] This can reduce the number of times the Ising device 11 solves the problem, and shortens the execution time of the hierarchical clustering. In the example of FIG. 1, the Ising device 11 does not need to solve the division candidates of the division pattern [1, 2] of the second cluster by referring to the classification results of the nodes A, D, and E in the division candidate information 12a1 and 12a2. In one solution solving process for solving the division candidates in the Ising device 11, the above-mentioned judgment process is repeated until a predetermined number of times is reached. The number of times this repetition affects the execution time of the hierarchical clustering, but it is difficult to estimate an appropriate number of times in advance. For this reason, the data processing system 10 realizes a shortening of the execution time of the hierarchical clustering by reducing the number of times the Ising device 11 solves the problem itself.
[0052] (Second embodiment) Next, a second embodiment will be described. 2 is a block diagram showing an example of hardware of an information processing device in a data processing system according to the second embodiment. The information processing device 21 in the data processing system 20 may be a client device or a server device. The information processing device 21 may be called a computer.
[0053] The information processing device 21 has a CPU 31, a RAM 32, a HDD 33, a GPU 34, an input interface 35, a medium reader 36, and a communication interface 37, all connected via a bus. The CPU 31 corresponds to the processing unit 12b in the first embodiment. The RAM 32 or the HDD 33 corresponds to the storage unit 12a in the first embodiment.
[0054] The CPU 31 is a processor that executes instructions of a program. The CPU 31 loads the program and data stored in the HDD 33 into the RAM 32 and executes the program. The information processing device 21 may have multiple processors.
[0055] The RAM 32 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 31 and data used in the calculations performed by the CPU 31. The information processing device 21 may have a type of volatile memory other than the RAM.
[0056] The HDD 33 is a non-volatile storage that stores software programs such as an operating system (OS), middleware, and application software, and data. The information processing device 21 may have other types of non-volatile storage, such as a flash memory or an SSD (Solid State Drive).
[0057] The GPU 34 performs image processing in cooperation with the CPU 31, and outputs an image to a display device 34a connected to the information processing device 21. The display device 34a is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, or a projector. Other types of output devices such as a printer may be connected to the information processing device 21.
[0058] The GPU 34 may be used as a general purpose computing on graphics processing unit (GPGPU). The GPU 34 may execute a program in response to an instruction from the CPU 31. The information processing device 21 may have a volatile semiconductor memory other than the RAM 32 as a GPU memory.
[0059] The input interface 35 receives an input signal from an input device 35a connected to the information processing device 21. The input device 35a is, for example, a mouse, a touch panel, or a keyboard. A plurality of input devices may be connected to the information processing device 21.
[0060] The medium reader 36 is a reading device that reads the programs and data recorded on the recording medium 36a. The recording medium 36a is, for example, a magnetic disk, an optical disk, or a semiconductor memory. The magnetic disk includes a flexible disk (FD) and a HDD. The optical disk includes a compact disc (CD) and a digital versatile disc (DVD). The medium reader 36 copies the programs and data read from the recording medium 36a to another recording medium such as the RAM 32 or the HDD 33. The read programs may be executed by the CPU 31.
[0061] The recording medium 36a may be a portable recording medium. The recording medium 36a may be used for distributing programs and data. The recording medium 36a and the HDD 33 may be called computer-readable recording media.
[0062] The communication interface 37 communicates with the Ising device 22 and other information processing devices via the network 37a. The communication interface 37 may be a wired communication interface connected to a wired communication device such as a switch or a router, or may be a wireless communication interface connected to a wireless communication device such as a base station or an access point.
[0063] The Ising device 22 corresponds to the Ising device 11 of the first embodiment. The Ising device 22 can be realized by a processor, which is hardware such as a CPU, a GPU, or a DSP. The Ising device 22 may also be realized by an electronic circuit such as an ASIC or an FPGA. The Ising device 22 may be included in another information processing device connected to the network 37a. The Ising device 22 may be connected to a bus of the information processing device 21 via an interface. The Ising device 22 may also be included in the information processing device 21.
[0064] Next, the functions and processing procedures of the information processing device 21 will be described. FIG. 3 is a block diagram illustrating an example of functions of the information processing device. The information processing device 21 has an input unit 40, a solution finding process control unit 41, a division candidate writing unit 42, a division candidate storage unit 43, a division candidate reading unit 44, and an output unit 45. The division candidate storage unit 43 is implemented, for example, using the RAM 32 or the HDD 33. The input unit 40, the solution finding process control unit 41, the division candidate writing unit 42, the division candidate reading unit 44, and the output unit 45 are implemented, for example, using the CPU 31 and a program.
[0065] The input unit 40 receives inputs of, for example, information on a plurality of nodes for which hierarchical clustering is performed, calculation conditions, etc. The node information includes, for example, the number of nodes n and the weight value d ij The calculation conditions include, for example, the number of replicas when the replica exchange method is executed, the replica exchange period, the value of the temperature parameter to be set for each replica, the temperature parameter change schedule when the simulated annealing method is executed, the calculation end condition, etc. The node information and the calculation conditions may be input by the user operating the input device 35a, or may be input via the recording medium 36a or the network 37a.
[0066] The solution search process control unit 41 executes hierarchical clustering while having the Ising device 22 perform a solution process for partition candidates based on the input node information and calculation conditions. The solution search process control unit 41 sends partition candidate information of partition candidates (non-selected partition candidates) that were not used for cluster partitioning among the partition candidates solved by the Ising device 22 to the partition candidate writing unit 42. The solution search process control unit 41 also sends node information and partition patterns of the cluster to be partitioned to the partition candidate reading unit 44. Then, when the partition candidate reading unit 44 determines that there is a partition candidate corresponding to the sent node information and partition pattern, the solution search process control unit 41 acquires partition candidate information of the partition candidate. The solution search process control unit 41 selects one of the partition candidates represented by the partition candidate information sent from the partition candidate reading unit 44 and other partition candidates (if any) as, for example, E in Equation (2). norm Then, the solution finding process control unit 41 performs cluster division using the selected division candidates.
[0067] The division candidate writing unit 42 writes the division candidate information sent from the solution finding process control unit 41 into the division candidate storage unit 43 . The division candidate storage unit 43 stores division candidate information.
[0068] The division candidate reading unit 44 reads out the division candidate information stored in the division candidate storage unit 43. Then, the division candidate reading unit 44 determines whether or not there is a division candidate corresponding to the node information and division pattern sent by the solution finding process control unit 41. If the division candidate reading unit 44 determines that there is a corresponding division candidate, it sends the division candidate information of that division candidate to the solution finding process control unit 41.
[0069] The output unit 45 outputs the execution result of the hierarchical clustering executed by the solution-finding process control unit 41. The execution result of the hierarchical clustering may be output in a format such as a phylogenetic tree. For example, the output unit 45 may output the execution result to the display device 34a for display, transmit the execution result to another information processing device via the network 37a, or store the execution result in an external storage device.
[0070] An example of a processing procedure (data processing method) in which the data processing system 20 performs hierarchical clustering will be described below. FIG. 4 is a flowchart showing the flow of an example of a data processing method.
[0071] Step S10: The input unit 40 receives inputs of node information, calculation conditions, and the like. Step S11: The solution-finding process control unit 41 creates n / 2 c's shown in formula (1) based on the number of nodes n of the cluster included in the node information. When n=10, the division patterns of the number of nodes are [number of nodes in cluster "1", number of nodes in cluster "0"]=[1,9],[2,8],[3,7],[4,6],[5,5]. In this case, c's are 5, c=1,2,3,4,5.
[0072] Step S12: The division candidate reading unit 44 judges whether or not a division candidate corresponding to the node information and division pattern sent by the solution finding process control unit 41 has been stored in the division candidate storage unit 43. If it is judged that the corresponding division candidate has been stored in the division candidate storage unit 43, the process of step S13 is performed, and if it is judged that the corresponding division candidate has not been stored, the process of step S15 is performed.
[0073] Step S13: The division candidate reading unit 44 judges whether or not all of the division candidates corresponding to the node information and division pattern sent by the solution finding process control unit 41 have been stored in the division candidate storage unit 43. If it is judged that all of the corresponding division candidates have been stored in the division candidate storage unit 43, the process of step S16 is performed, and if it is judged that some of the corresponding division candidates have not been stored, the process of step S14 is performed.
[0074] Step S14: The solution-finding process control unit 41 causes the Ising device 22 to find division candidates for division patterns that have not yet been stored. The solution-finding process control unit 41 acquires division candidate information for the obtained division candidates. After that, the process of step S16 is performed.
[0075] Step S15: Because the solution finding process control unit 41 has not yet stored division candidates corresponding to the n / 2 division patterns, the solution finding process control unit 41 causes the Ising device 22 to find division candidates. The solution finding process control unit 41 acquires division candidate information of the obtained division candidates.
[0076] Step S16: The solution-finding process control unit 41 calculates E of n / 2 division candidates. norm The value of is calculated based on formula (2). Step S17: The solution-finding process control unit 41 calculates E norm The division candidate with the smallest value is selected and the cluster division is performed.
[0077] Step S18: The solution finding process control unit 41 sends the division candidate information of the division candidates (non-selected division candidates) that were not used for the cluster division among the division candidates solved by the Ising device 22 to the division candidate writing unit 42. The division candidate writing unit 42 writes the division candidate information sent from the solution finding process control unit 41 in the division candidate storage unit 43 for storage.
[0078] Step S19: The solution finding process control unit 41 updates the node information based on the result of the cluster division. For example, based on the result of the cluster division, the solution finding process control unit 41 updates the node information (for example, node number and the number of nodes n) of the cluster before the division to the node information of the two newly generated clusters.
[0079] Step S20: The solution finding process control unit 41 judges whether or not there is a cluster where n ≧ 3. If it is judged that there is a cluster where n ≧ 3, the process of step S21 is performed. If it is judged that there is no cluster where n ≧ 3, the process of step S22 is performed.
[0080] Step S21: The solution finding process control unit 41 selects one cluster where n is equal to or larger than 3. After that, the process from step S11 is repeated for the selected cluster. Step S22: The output unit 45 outputs the execution result, whereby the process ends.
[0081] (Example of hierarchical clustering) Next, an example of dividing the first cluster having the number of nodes n=10 will be described. 5 is a diagram showing an example of the division candidate information of the first cluster. In the division candidate information 50 of the first cluster, the node numbers are represented as t1 to t10. t1 to t10 correspond to i and j in formula (1).
[0082] When n=10, the division patterns of the number of nodes in the first cluster are five: [number of nodes in the "1" cluster, number of nodes in the "0" cluster] = [1,9], [2,8], [3,7], [4,6], [5,5]. Note that a division pattern in which the number of nodes in the "0" cluster is reversed to the number of nodes in the "1" cluster is treated as the same division pattern. In other words, for example, the division pattern of [1,9] and the division pattern of [9,1] are treated as the same division pattern [1,9].
[0083] FIG. 5 shows examples of division candidates solved by the Ising device 22 for the above five division patterns by the process of step S15 described above. The division candidate solved for the division pattern [1,9] is to divide the node t8 and other nodes. The division candidate solved for the division pattern [2,8] is to divide the nodes t2 and t4 and other nodes. The division candidate solved for the division pattern [3,7] is to divide the nodes t1, t3, and t4 and other nodes. The division candidate solved for the division pattern [4,6] is to divide the nodes t1 to t4 and the nodes t5 to t10. The division candidate solved for the division pattern [5,5] is to divide the nodes t1 to t4 and t8 and other nodes.
[0084] FIG. 5 shows the E calculated by the solution-finding process control unit 41 in the process of step S16. norm In the example of Figure 5, the E of the division candidate of the division pattern [4,6] is norm Therefore, in the process of step S17, the division candidate of the division pattern [4,6] is selected, and the cluster is divided into nodes t1 to t4 and nodes t5 to t10.
[0085] In this case, in the process of step S18, division candidate information of the division candidates of the division patterns [1,9], [2,8], [3,7], and [5,5], which are unselected division candidates, is stored in the division candidate storage unit 43.
[0086] However, the solution finding process control unit 41 may generate split candidate information for each of the two clusters after splitting for easy reference in the process of the next layer (the process of step S12). Hereinafter, of the two clusters after splitting, the cluster consisting of nodes t1 to t4 will be referred to as the second cluster, and the cluster consisting of nodes t5 to t10 will be referred to as the third cluster.
[0087] FIG. 6 is a diagram showing an example of extracted data of the split candidate information related to the nodes of the second cluster. The extracted data 51a of the division candidate information for the nodes of the second cluster is obtained by extracting the division candidate information for the nodes included in the second cluster from the division candidate information 50 shown in Fig. 5. The solution finding process control unit 41 generates the division candidate information for the second cluster from the extracted data 51a.
[0088] As shown in Fig. 6, a division candidate of a division pattern in which nodes t1 to t4 are all classified into clusters "0" or "1" is not a division candidate of the second cluster. The division candidate information of such a division candidate is not stored as the division candidate information of the second cluster.
[0089] The splitting candidates of the splitting pattern in which the nodes t1 and t3 are classified into the “0” cluster and the nodes t2 and t4 are classified into the “1” cluster (corresponding to the second cluster) are the splitting candidates of the splitting pattern [2,2] of the second cluster.
[0090] The splitting candidates of the splitting pattern in which the nodes t1, t3, and t4 are classified into the “1” cluster and the node t2 is classified into the “0” cluster are the splitting candidates of the splitting pattern [1,3] of the second cluster.
[0091] FIG. 7 is a diagram showing an example of the division candidate information of the second cluster generated from the extracted data of the division candidate information related to the nodes of the second cluster. The division candidate information 52a of the second cluster includes the division candidate information of the division candidates of the above two division patterns [1,3] and [2,2]. In the example of FIG. 7, the E calculated by the solution finding process control unit 41 based on the division candidate information of the division candidates of the division patterns [1,3] and [2,2] norm The value of is also included in the division candidate information 52a.
[0092] Such division candidate information 52a is stored in the division candidate storage unit 43. Note that since the second cluster has the number of nodes n=4, there are only the above two division patterns. Therefore, the Ising device 22 does not solve the division candidate, and one of the above two division candidates is selected to perform the cluster division.
[0093] In the example of Figure 7, E norm Since the value of is smallest for the division candidate of division pattern [2,2], this division candidate is selected. Then, the node t1, t3 and the node t2, t4 are divided.
[0094] FIG. 8 is a diagram showing an example of extracted data of the division candidate information related to the nodes of the third cluster. The extracted data 51b of the division candidate information for the nodes of the third cluster is obtained by extracting the division candidate information for the nodes included in the third cluster from the division candidate information 50 shown in Fig. 5. The solution finding process control unit 41 generates the division candidate information for the third cluster from the extracted data 51b.
[0095] 8, a division candidate of a division pattern in which all nodes t5 to t10 are classified into the "0" cluster (corresponding to the third cluster) is not a division candidate for the third cluster. The division candidate information of such a division candidate is not stored as the division candidate information for the third cluster.
[0096] The splitting candidates of the splitting pattern that classifies the t8 node into the "1" cluster and the other nodes into the "0" cluster become the splitting candidates of the splitting pattern [1,5] of the third cluster. Similarly, the splitting candidates of the splitting pattern that classifies the t8 node into the "0" cluster and the other nodes into the "1" cluster become the splitting candidates of the splitting pattern [1,5].
[0097] FIG. 9 is a diagram showing an example of the division candidate information (storage target) of the third cluster generated from the extracted data of the division candidate information related to the nodes of the third cluster. The division candidate information 52b of the third cluster includes division candidate information of the division candidate of the one division pattern [1,5]. In the example of FIG. 9, E calculated by the solution finding process control unit 41 based on the division candidate information of the division candidate of the division pattern [1,5] norm The value of is also included in the division candidate information 52b.
[0098] Such division candidate information 52b is stored in the division candidate storage unit 43. Note that since the third cluster has the number of nodes n=6, the division patterns include [2,4] and [3,3] in addition to the above division pattern [1,5]. Therefore, for the remaining two division patterns not stored in the division candidate storage unit 43, the Ising device 22 solves the division candidates.
[0099] 10 is a diagram showing an example of the division candidate information of the third cluster. The division candidate information 53 of the third cluster shown in FIG. 10 also includes the division candidate information of the division candidates of the division patterns [2,4] and [3,3] solved by the Ising device 22. In the example of FIG. 10, the division candidates of the division patterns [2,4] and [3,3] are also included in the E calculated by the solution finding process control unit 41. norm The value of is included in the division candidate information 53.
[0100] One of the three division candidates in FIG. 10 is selected and cluster division is performed. In the example of Figure 10, E norm Since the value of is smallest for the division candidate of division pattern [2,4], this division candidate is selected. Then, the nodes t6 and t8 are divided into the nodes t5, t7, t9, and t10.
[0101] Hereinafter, of the two clusters after the split, the cluster consisting of nodes t6 and t8 will be referred to as the fourth cluster, and the cluster consisting of nodes t5, t7, t9, and t10 will be referred to as the fifth cluster. The number of nodes n in the fourth cluster is 2, which does not satisfy n ≥ 3, so the fourth cluster is not selected in the process of step S21. On the other hand, the number of nodes n in the fifth cluster is 4, which satisfies n ≥ 3, so the fifth cluster is selected in the process of step S21 and further cluster division is performed.
[0102] FIG. 11 is a diagram showing an example of extracted data of the division candidate information related to the nodes of the fifth cluster. The extracted data 53a of the division candidate information for the nodes of the fifth cluster is obtained by extracting the division candidate information for the nodes included in the fifth cluster from the division candidate information 53 shown in Fig. 10. The solution finding process control unit 41 generates the division candidate information for the fifth cluster from the extracted data 53a.
[0103] 11, a split candidate of a split pattern in which nodes t5, t7, t9, and t10 are all classified into the "0" cluster is not a split candidate for the 5th cluster. The split candidate information of such a split candidate is not stored as the split candidate information for the 5th cluster.
[0104] The splitting candidates of the splitting pattern in which the nodes t5, t9, and t10 are classified into the “1” cluster and the node t7 is classified into the “0” cluster are the splitting candidates of the splitting pattern [1,3] of the 5th cluster.
[0105] FIG. 12 is a diagram showing an example of the division candidate information (storage target) of the fifth cluster generated from the extracted data of the division candidate information related to the nodes of the fifth cluster. The division candidate information 54 of the fifth cluster includes division candidate information of the division candidate of the one division pattern [1,3]. In the example of FIG. 12, E calculated by the solution finding process control unit 41 based on the division candidate information of the division candidate of the division pattern [1,3] norm The value of is also included in the division candidate information 54.
[0106] Such division candidate information 54 is stored in the division candidate storage unit 43. Note that since the fifth cluster has the number of nodes n=4, the division pattern includes [2,2] in addition to the above division pattern [1,3]. Therefore, for the division pattern [2,2] that is not stored in the division candidate storage unit 43, the Ising device 22 solves the division candidate.
[0107] 13 is a diagram showing an example of the division candidate information of the fifth cluster. The division candidate information 55 of the fifth cluster shown in FIG. 13 also includes the division candidate information of the division candidate of the division pattern [2,2] solved by the Ising device 22. In the example of FIG. 13, the division candidate of the division pattern [2,2] is also calculated by the solution finding process control unit 41. norm The value is included in the division candidate information 55.
[0108] One of the two division candidates in FIG. 13 is selected and cluster division is performed. In the example of Figure 13, E norm Since the value of is smallest for the division candidate of division pattern [2,2], this division candidate is selected. Then, the nodes t5 and t7 and the nodes t9 and t10 are divided.
[0109] Hereinafter, of the two clusters after the division, the cluster consisting of nodes t5 and t7 will be referred to as the sixth cluster, and the cluster consisting of nodes t9 and t10 will be referred to as the seventh cluster. The sixth and seventh clusters also have a node number n of 2, which is not n ≧ 3. Since there are no other clusters where n ≧ 3, the execution result is output (step S22) and the process ends.
[0110] FIG. 14 is a diagram showing an example of a phylogenetic tree based on the result of executing hierarchical clustering on the first cluster shown in FIG. 14 shows an execution result 60 when hierarchical clustering is performed by the above process on a first cluster 61 with the number of nodes n=10. Each block represents a cluster, and the number in the block represents the number of nodes in the cluster.
[0111] When performing hierarchical clustering by the above process, the number of times the Ising device 22 searches for a division candidate is as follows: When dividing the first cluster 61 where n=10, the number of times the solution is calculated is five in order to make the Ising device 22 solve the division candidates of the five division patterns shown in FIG.
[0112] When dividing the second cluster 62 where n=4, the division candidates of the two division patterns shown in Fig. 7 are obtained from the division candidate information 50 when dividing the first cluster 61. For this reason, the number of times the Ising device 22 finds a solution is 0.
[0113] When dividing the third cluster 63 where n=6, one of the division candidates of the three division patterns shown in Fig. 10 is obtained from the division candidate information 50 when dividing the first cluster 61. For this reason, the Ising device 22 solves the problem two times.
[0114] When dividing the fifth cluster 64 where n=4, one of the division candidates of the two division patterns shown in Fig. 13 is obtained from the division candidate information 53 when dividing the third cluster 63. For this reason, the Ising device 22 solves the problem once.
[0115] From the above, the Ising device 22 solves a total of eight times. The number of times the Ising device 22 solves a problem when not using the splitting candidate information in the previous layer is 12 times, because this is half the total number of nodes in each cluster to be split (first cluster 61, second cluster 62, third cluster 63, fifth cluster 64). Therefore, in the data processing system 20 of the second embodiment, the number of times the solution is solved is reduced by four. This makes it possible to shorten the execution time of hierarchical clustering.
[0116] Below, a comparison is made between the execution time of a process that does not use the splitting candidate information in the previous layer (hereinafter referred to as the comparative process) and the above process in the data processing system 20 of the second embodiment. The comparative process does not include the processes in steps S12 to S14 and S18 in FIG.
[0117] For example, the execution time for a common process (such as reading of input data) between the process of the comparative example and the process by the data processing system 20 is 1.0×10 3The time required for each solution-finding process by the Ising device 22 is assumed to be 50 (ms). It should be noted that the common processes are processes such as reading of input data, and do not include the solution-finding process in the Ising device 22. It is assumed that the time required for each solution-finding process by the Ising device 22 is 50 (ms). It is also assumed that the time required for steps S12 to S14 in FIG. 4 in the data processing system 20 is 0.5 (ms), and the time required for step S18 is 0.1 (ms). In the example shown in FIGS. 5 to 14, it is assumed that the processes of steps S12 to S14 are performed 7 times, and the process of step S18 is performed 12 times.
[0118] In this case, the execution time of the process in the comparative example is 50×12+1.0×10 because the number of solutions is 12. 3 =1.6×10 3 (ms). In contrast, the execution time of the data processing method by the data processing system 20 is 50×8+0.1×12+0.5×7+1.0×10 because the number of solutions is 8. 3 =1.4×10 3 (ms).
[0119] As described above, the data processing method by data processing system 20 achieves a 12% reduction in execution time compared to the process of the comparative example. (Examples) The data processing method by the data processing system 20 can be used, for example, when performing cluster division based on the similarity between a plurality of gene sequences and creating a phylogenetic tree (see, for example, Reference 1).
[0120] Reference 1: Wataru Onodera et al., “Phylogenetic tree reconstruction via graph cut presented using a quantum-inspired computer”, Molecular Phylogenetics and Evolution, vol.178, Jan. 2023 In this case, each gene sequence is treated as a node, and the similarity between gene sequences is expressed as d ijBy using the data processing system 20 of the second embodiment, the execution time of hierarchical clustering can be reduced, and therefore the time required to create a phylogenetic tree for many gene sequences can be reduced.
[0121] The data processing method by the data processing system 20 can also be applied, for example, to classifying topics for creating a thesaurus (eg, a dictionary or a thesaurus) (eg, see Reference 2).
[0122] Reference 2: Hiroyuki Kaji, Yasutsugu Morimoto, Toshiko Aizono, "Extracting Topic Hierarchy from Text Corpora," Transactions of the Information Processing Society of Japan, vol. 44, No. 2, pp. 405-420, Feb. 2003 In this case, each term is treated as a node, and the degree of association between terms is calculated by d in Eq. (1). ij By using the data processing system 20 according to the second embodiment, the execution time of hierarchical clustering can be reduced, and therefore the time required for classifying topics for many terms can be reduced.
[0123] Furthermore, the data processing method by the data processing system 20 can also be applied, for example, to classifying phonemes in speech recognition (see, for example, Reference 3). Reference 3: Ryoichi Miyagaki, Takeshi Kawabata, "Clustering of Phoneme HMMs Based on Top-Down and Bottom-Up Methods," Information Processing Society of Japan SIG Technical Report, vol.2010-SLP-82 No.12, pp.1-6, Jul. 2010 In this case, each triphone (a sequence of three phonemes) is treated as a node, and the similarity between triphones is calculated by d in Eq. (1). ij By using the data processing system 20 of the second embodiment, the execution time of the hierarchical clustering can be reduced, and therefore the time required for classifying phonemes for many triphones can be reduced.
[0124] Although three application examples of the data processing method of the data processing system 20 of the second embodiment have been briefly described above, the applicable applications are not limited to the above examples. The data processing method of the data processing system 20 of the second embodiment is applicable to various applications that perform hierarchical clustering.
[0125] While one aspect of the data processing system, program, and data processing method of the present invention has been described above based on the embodiment, these are merely examples and the present invention is not limited to the above description. [Explanation of symbols]
[0126] 10 Data Processing System 11 Ising device 12 Information processing equipment 12a Storage section 12a1,12a2 Division candidate information 12b Processing section
Claims
1. an Ising device that calculates a first division candidate when dividing a first cluster including a plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values between the plurality of nodes; acquiring, from the Ising device, division candidate information representing a plurality of first division candidates for each of a plurality of first division patterns determined by the number of nodes included in the first cluster; selecting one of the first division candidates for each of the first division patterns based on values of the evaluation function of the first division candidates, and dividing the first cluster into the second cluster and the third cluster; storing the division candidate information of the first division candidates not selected from the plurality of first division candidates in a storage unit; determining whether or not there is an unselected first division candidate corresponding to a second division pattern of the second cluster based on the division candidate information stored in the storage unit; when it is determined that there is an unselected first division candidate corresponding to the second division pattern, selecting one of the second division candidates of the second cluster, including the unselected first division candidate corresponding to the second division pattern, and dividing the second cluster into a fourth cluster and a fifth cluster; An information processing device; A data processing system having:
2. the division candidate information of the unselected first division candidate includes second division candidate information used for dividing the second cluster and third division candidate information used for dividing the third cluster, the information processing device generates the second division candidate information based on information of nodes included in the second cluster, and generates the third division candidate information based on information of nodes included in the third cluster.
2. The data processing system of claim 1.
3. the second division candidate information includes the second division pattern and numbers of nodes included in the second cluster, the third division candidate information includes a third division pattern of the third cluster and a node number included in the third cluster; 3. The data processing system of claim 2.
4. causing an Ising device to calculate a first division candidate when dividing a first cluster including a plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values between the plurality of nodes; acquiring, from the Ising device, division candidate information representing a plurality of first division candidates for each of a plurality of first division patterns determined by the number of nodes included in the first cluster; selecting one of the first division candidates for each of the first division patterns based on values of the evaluation function of the first division candidates, and dividing the first cluster into the second cluster and the third cluster; storing the division candidate information of the first division candidates not selected from the plurality of first division candidates in a memory; determining whether or not there is an unselected first division candidate corresponding to a second division pattern of the second cluster based on the division candidate information stored in the memory; when it is determined that there is an unselected first division candidate corresponding to the second division pattern, selecting one of the second division candidates of the second cluster, including the unselected first division candidate corresponding to the second division pattern, and dividing the second cluster into a fourth cluster and a fifth cluster; A program that causes a computer to carry out processing.
5. an Ising device calculates a first division candidate when dividing a first cluster including a plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values between the plurality of nodes; An information processing device, acquiring, from the Ising device, division candidate information representing a plurality of first division candidates for each of a plurality of first division patterns determined by the number of nodes included in the first cluster; selecting one of the first division candidates for each of the first division patterns based on values of the evaluation function of the first division candidates, and dividing the first cluster into the second cluster and the third cluster; storing the division candidate information of the first division candidates not selected from the plurality of first division candidates in a storage unit; determining whether or not there is an unselected first division candidate corresponding to a second division pattern of the second cluster based on the division candidate information stored in the storage unit; when it is determined that there is an unselected first division candidate corresponding to the second division pattern, selecting one of the second division candidates of the second cluster, including the unselected first division candidate corresponding to the second division pattern, and dividing the second cluster into a fourth cluster and a fifth cluster; Data processing methods.
Citation Information
Patent Citations
Information processing apparatus, information processing method, and program
JP2019046023A
Information processing system and information processing method
WO2020255634A1