WO2020008513A1 - 情報処理装置、テンソル圧縮方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents
情報処理装置、テンソル圧縮方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 Download PDFInfo
- Publication number
- WO2020008513A1 WO2020008513A1 PCT/JP2018/025140 JP2018025140W WO2020008513A1 WO 2020008513 A1 WO2020008513 A1 WO 2020008513A1 JP 2018025140 W JP2018025140 W JP 2018025140W WO 2020008513 A1 WO2020008513 A1 WO 2020008513A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- csf
- data
- tensor
- unit
- compressed
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
Definitions
- the present disclosure relates to an information processing device, a tensor compression method, and a program.
- Tensors have come to be used as data expressions due to recent improvements in data collection techniques and computer performance.
- a tensor is a multidimensional array and can be considered a generalization of a matrix.
- a matrix can only express a binary relation between a document and a word, for example, like a document-word matrix.
- tensors can express ternary relations such as document-word-time.
- a tensor can represent more information than a matrix. Therefore, research is progressing in the fields of machine learning and data mining.
- mining the data represented by the tensor takes a very large calculation time.
- a technique called tensor decomposition for decomposing a tensor into a product of a plurality of matrices in optimizing each matrix, a product of the tensor and a plurality of matrices (all matrices other than the matrix to be optimized) is required. This is known to be a very large amount of calculation.
- the following tensor-matrix product operation requires a large amount of calculation in the tensor factorization.
- Equation (1) represents a tensor-matrix product operation for the M-th order tensor.
- N (k) is a matrix obtained by tensor decomposition. This operation requires the computation of the gradient used when optimizing N (n), it is necessary to obtain the P performs calculation for all i n and j.
- the matrix P is a matrix indicating the operation result of the tensor-matrix product operation, that is, the matrix storing the operation result of the tensor-matrix product operation. In other words, the matrix P is obtained as a result of the tensor-matrix product operation.
- Expression (1) is an expression showing a calculation method for each element of P.
- X is a tensor.
- Non-Patent Document 1 solves this problem by using a tree structure to represent the indices of the nonzero elements of the tensor to reduce the size of the tensor, and a tensor matrix using the tree structure.
- a product operation algorithm is proposed. The calculation of the tensor-matrix product operation may be omitted depending on the tree structure. However, since it is mainly an operation only for leaf nodes, the operation is not necessarily omitted in many cases.
- Patent Literature 1 memory is reduced and calculation is performed by holding only non-zero elements and expressing data in a plurality of matrix formats for efficient calculation of a tensor-matrix product. Speeding up.
- the reduction in memory is due to holding only non-zero elements, and it is difficult to apply to a tensor having a large number of non-zero elements.
- a larger calculation space is required than when only non-zero elements are simply expressed.
- Patent Document 2 is a technique using tensor decomposition as compression.
- this method is a technology on the premise that tensor decomposition can be performed.
- the tensor decomposition has a risk of deteriorating the accuracy of the task after compression due to loss of information.
- An object of the present disclosure is to provide an information processing apparatus, a tensor compression method, and a program that can suppress the amount of data of a tensor.
- An information processing apparatus is a CSF setting unit that sets the order of an axis of a tensor of M or more (M is a natural number of 3 or more) floors or more in order to convert a tensor into data of CSF (Compressed Sparse Fiber) representation.
- a CSF construction unit that converts the tensor of the Mth floor or higher into CSF expression data according to the setting by the CSF setting unit, and replaces an overlapping structure appearing in the CSF expression data with an alternative structure representing the overlapping structure.
- a CSF compression unit that compresses the data in the CSF expression and outputs compressed CSF data as the compressed data in the CSF expression and replacement rule data as data indicating a replacement rule.
- the order of the axis of the tensor of M or more (where M is a natural number of 3 or more) is set, According to the setting, the tensor of the Mth floor or higher is converted into data of the CSF expression, and the data of the CSF expression is compressed by replacing an overlapping structure appearing in the data of the CSF expression with an alternative structure representing the overlapping structure. Then, it outputs compressed CSF data, which is compressed data of the CSF expression, and replacement rule data, which is data indicating a replacement rule.
- the program according to the present disclosure includes a CSF setting step of setting an order of axes of a tensor of M or more (where M is a natural number of 3 or more) floors in order to convert a tensor into data of CSF (Compressed Sparse Fiber) expression.
- a CSF construction step of converting the tensors of the Mth or higher order into data of the CSF expression, and an overlapping structure appearing in the data of the CSF expression as an alternative structure representing the overlapping structure
- a CSF compression step of compressing the data in the CSF expression by replacing the data and outputting compressed CSF data as the compressed data in the CSF expression and replacement rule data as data indicating a replacement rule is executed on the computer. Let it.
- an information processing device a tensor compression method, and a program capable of suppressing the amount of tensor data.
- FIG. 2 is a block diagram illustrating a configuration example of an information processing apparatus according to the first embodiment. It is a figure showing the example of CSF.
- FIG. 3 is a diagram illustrating a hardware configuration of the information processing apparatuses according to the first embodiment and the second embodiment.
- 5 is a flowchart illustrating an operation of the tensor compression device according to the first embodiment. It is a figure which shows the example which replaced the frequent partial structure of CSF.
- It is a block diagram showing an example of composition of a compression tensor-matrix product operation device of a 2nd embodiment.
- 9 is a flowchart illustrating an operation example of the compression tensor-matrix product operation device according to the second embodiment.
- FIG. 1 is a block diagram showing a configuration of an information processing device 1 as a tensor compression device according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of the CSF. In the tree structure shown in FIG. 2, each axis corresponds to a tensor hierarchy, and a node label (a number written in each node) indicates an index of a nonzero element of the tensor.
- the information processing device 1 as a tensor compression device includes a CSF design unit 11, a CSF construction unit 12, and a CSF compression unit 13, as shown in FIG.
- the CSF design unit 11 sets a CSF construction method as a preceding process for constructing a CSF that expresses a non-zero element index of a tensor of the Mth or higher order.
- the depth of the tree corresponds to the axis.
- the CSF designing unit 11 sets the combination order of the axes of the CSF.
- This axis may be set in any order of the user.
- the order of tensor axes input in advance may be used, or the dimension of each axis may be sorted in ascending order.
- the CSF designing unit 11 sets the order of the axes of the tensors of M or higher (where M is a natural number of 3 or more) in order to convert the tensors into data in the CSF expression. Note that the CSF designing unit 11 may be referred to as a CSF setting unit.
- the CSF construction unit 12 constructs a CSF from the index of the non-zero element of the input tensor using the order of the axes in the construction of the CSF set by the CSF design unit 11.
- the structure of the CSF is uniquely determined when the order of the axes is determined. Therefore, the construction may be performed in any manner.
- the CSF construction unit 12 constructs a CSF by the method described in Non-Patent Document 1 described above.
- the CSF construction unit 12 converts tensors of the Mth floor or higher into CSF representation data according to the settings made by the CSF design unit 11.
- the CSF compression unit 13 compresses the CSF constructed by the CSF construction unit 12.
- CSF compression uses a compression method that replaces frequent substructures.
- one such replacement method is a compression method called grammar compression.
- Grammar compression is a compression method that achieves a high compression ratio by holding an auxiliary data structure called a dictionary separately from the result of the compression, and describing a replacement method in this dictionary.
- the CSF compression unit 13 is not limited to grammatical compression, and can use other known techniques. However, it is desirable to use a compression method that performs compression so that information can be completely restored by using a dictionary, but this is not a limitation.
- the frequent substructure is a subtree that appears a predetermined number of times (however, at least two times) in the CSF tree structure.
- Frequent partial structures may be referred to as overlapping structures.
- the CSF compression unit 13 compresses the data in the CSF expression by replacing the duplicated structure appearing in the data in the CSF expression with the alternative structure representing the duplicated structure. Then, the CSF compression unit 13 outputs compressed CSF data, which is compressed CSF representation data, and replacement rule data (dictionary), which is data indicating a replacement rule.
- compressed CSF data which is compressed CSF representation data
- replacement rule data indicating a replacement rule.
- the information processing device 1 executes a process with these components including, for example, a processor 50, a memory 51, and a storage device 52, as shown in FIG.
- the processor 50 may be, for example, a microprocessor, an MPU (Micro Processor Unit), a CPU (Central Processing Unit), or the like.
- the memory 51 is a memory configured by, for example, a volatile memory or a nonvolatile memory.
- the storage device 52 is a storage such as a hard disk drive and a solid state drive.
- the storage device 52 stores a computer program including one or more instructions for realizing each component illustrated in FIG. Then, the processor 50 reads the computer program from the storage device 52 into the memory 51 and executes the computer program. Thereby, the processor 50 implements the functions of the CSF design unit 11, the CSF construction unit 12, and the CSF compression unit 13.
- Non-transitory computer readable media include various types of tangible storage media.
- Examples of non-transitory computer readable media are magnetic recording media (eg, flexible disk, magnetic tape, hard disk drive), magneto-optical recording media (eg, magneto-optical disk), Compact Disc Read Only Memory (CD-ROM), CD-ROM R, CD-R / W, and semiconductor memory (for example, a mask ROM, a programmable ROM (PROM), an Erasable PROM (EPROM), a flash ROM, and a random access memory (RAM)).
- the program may be supplied to the computer by various types of transitory computer readable media.
- Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
- the transitory 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.
- the information processing device 1 performs, for example, a compression process on a tensor stored in the storage device 52 in advance (that is, data of the tensor before compression).
- the information processing device 1 may store the tensor and the dictionary as the auxiliary data structure compressed by the CSF compression unit 13 in the memory 51, or may output the dictionary to an external device of the information processing device 1.
- FIG. 4 is a flowchart for explaining the flow of the tensor compression method performed by the information processing apparatus 1 according to the first embodiment.
- the CSF design unit 11 receives all the non-zero element indices of the M-th order tensor, and determines the order of the axes of the CSF according to a predetermined reference (step S101).
- the CSF construction unit 12 constructs a CSF from the non-zero elements of the M-th order tensor based on the CSF structure (that is, the order of the axes) obtained by the CSF design unit 11 (step S102).
- the CSF compression unit 13 compresses the frequently appearing partial structure of the CSF constructed by the CSF construction unit 12 by a predetermined compression method (Step S103).
- the tensor can be compressed. That is, instead of directly using the tensor CSF expression, data is expressed by using a compressed expression of the CSF and a dictionary as an auxiliary data structure.
- the tensor targeted in the present embodiment is, for example, data called a knowledge graph.
- the knowledge graph is represented by a triplet (Subject, ⁇ Predicate ⁇ , ⁇ Object)). If the Subject is a Predicate of Object, it is 0 if it is unlikely to have 1. have. Therefore, the knowledge graph is represented by a third-order tensor by giving an index using Subject, $ Predicate, and $ Object as axes. Therefore, the information processing device 1 according to the present embodiment can also be called a knowledge graph compression device.
- the CSF design unit 11 determines the construction structure, that is, the order of the axes, based on an arbitrary standard. In this specific example, the order of the axes sorted so that the dimension of the axes is in descending order is adopted. In a node or a root, the index is shared and the node is expressed by one node as the depth of the tree becomes shallower. Therefore, the possibility of sharing increases as the number of types of indexes decreases. In other words, it can be said that there is a high possibility that the memory usage required for expression in the CSF will be reduced.
- 3-2-1 (or 2-3-1) is selected as the structure of the CSF.
- 3-2-1 is an axis corresponding to the third index from the left in equation (2), an axis corresponding to the second index from the left, and the first axis from the left. Indicates the order of the axis, the axis corresponding to the described index.
- the CSF construction unit 12 constructs a CSF as shown in FIG. 2 from the structure 3-2-1 selected by the CSF design unit 11 and the tensor of the equation (2).
- the CSF compression unit 13 compresses the CSF constructed by the CSF construction unit 12.
- a method of replacing only frequently occurring partial structures in leaf nodes will be described for easy understanding.
- the frequent partial structure in the leaf node of the CSF in FIG. 2 is the simultaneous appearance of the label “1” and the label “2”. Therefore, the CSF compression unit 13 replaces this partial structure with a new node describing the label “a”. Then, a new CSF as shown in FIG. 5 is obtained. This is the compressed CSF. Then, the replaced information, that is, data indicating the replacement rule (replacement rule data) is stored in the dictionary as follows.
- the CSF compression unit 13 enumerates all the frequently occurring partial structures as described above, and performs the replacement only when the total number of data is reduced by the replacement. After the replacement, the frequent partial structures are enumerated again, and the frequent partial structures that can reduce the total number of data by the replacement are replaced again. This operation is performed, for example, until the number of data cannot be reduced by the replacement. In order to increase the compression efficiency, it is preferable to repeat the replacement as much as possible. However, the CSF compression unit 13 terminates the replacement process in a state where the frequent partial structure capable of reducing the number of data remains. Is also good. Compression can be performed by such processing by the CSF compression unit 13.
- the CSF compression unit 13 reduces the number of CSF data. For this reason, the data amount of the tensor can be suppressed. Therefore, for example, the tensor can be stored in a limited-capacity memory mounted on an apparatus that performs a predetermined process such as machine learning or data analysis using the tensor.
- an information processing device 2 as a compression tensor-matrix product operation device that performs a product operation of a tensor compressed by the tensor compression device according to the first embodiment and a plurality of matrices will be described. That is, in the present embodiment, a description will be given of a compression tensor-matrix product operation device that performs an operation represented by Expression (1) using a compressed tensor.
- FIG. 5 is a block diagram showing the configuration of the information processing device 2 as the compression tensor-matrix product operation device according to the present embodiment.
- the information processing device 2 includes a compression tensor acquisition unit 21, a matrix acquisition unit 22, an operation designation unit 23, a dictionary operation unit 24, a dictionary operation result holding unit 25, and a compression CSF operation unit 26.
- the information processing device 2 may be an information processing device including the information processing device 1 according to the first embodiment.
- the compression tensor acquisition unit 21 is a component that acquires a tensor compressed by the information processing device 1 as a tensor compression device. Specifically, the compression tensor acquisition unit 21 is a dictionary that is a compressed CSF and an auxiliary data structure. To get. The compression tensor acquisition unit 21 reads the compressed CSF and the dictionary stored in the memory 51 or the storage device 52, for example.
- the matrix acquisition unit 22 acquires (M-1) matrices for calculating a product of the matrix and the compressed tensor. That is, the matrix acquisition unit 22 acquires a matrix to be operated.
- the matrix acquisition unit 22 reads, for example, a matrix stored in the memory 51 or the storage device 52.
- the operation designation unit 23 designates which axis and how to calculate the (M-1) matrices acquired by the matrix acquisition unit 22 in the operation of the product of the tensor and the matrix. In the product of tensors and matrices, it is necessary to specify from which axis direction to multiply, just as it is necessary to specify whether to multiply matrices from the right or from the left. Therefore, it is necessary to specify whether to calculate the product of the any matrix relative advance any axis.
- the calculation specifying unit 23 specifies, for example, according to preset definition information that defines a calculation.
- the dictionary operation unit 24 is a component that preliminarily calculates an operation necessary for the operation of Expression (1) for a frequently-used partial structure that is replaced according to a dictionary that is an auxiliary data structure.
- the dictionary operation unit 24 performs an operation for calculating a tensor-matrix product (hereinafter, referred to as a sub-operation) by using a matrix element corresponding to an index indicated by a frequent substructure before replacement.
- the dictionary operation result holding unit 25 is a component that holds the operation result obtained by the operation by the dictionary operation unit 24. More specifically, the dictionary operation result holding unit 25 holds the operation result of the frequent partial structure before replacement in association with a new node that has been replaced. In other words, the dictionary operation result holding unit 25 holds the result of the sub-operation on the frequently-used substructure before the replacement as the result of the sub-operation on the new node after the replacement. As a result, when an operation on a new node that has been replaced is obtained, the operation result can be called from the dictionary operation result holding unit 25. In order to avoid the same calculation repeatedly, the number of calculations is reduced. Can be reduced.
- the compressed CSF operation unit 26 is a component that performs search and operation on the compressed CSF.
- the compression CSF calculation unit 26 performs a search on the CSF in order from the root node.
- the compression CSF calculation unit 26 performs the calculation by changing the calculation method according to the depth of the CSF corresponding to the axis not selected as the calculation target according to the specification of the calculation specifying unit 23. Specifically, the compression CSF calculation unit 26 performs calculation by a predetermined first calculation method when an unselected axis corresponds to a root node, and calculates a predetermined second calculation method when it corresponds to a leaf node. , And when it corresponds to a node, it is calculated by a predetermined third calculation method.
- FIG. 6 is a flowchart for explaining the flow of the compression tensor-matrix product operation method performed by the information processing apparatus 2 according to the second embodiment.
- the compression tensor acquisition unit 21 acquires a compressed tensor to be operated (step S201).
- the matrix acquisition unit 22 acquires a matrix to be operated (Step S202).
- the operation designating unit 23 designates which axis is to be operated on which matrix product (Step S203).
- step S203 the following operation (steps S204 to S207) is performed on each column of the matrix, that is, on the j-th vector of P in equation (1).
- the dictionary operation unit 24 performs a sub-operation for calculating a tensor-matrix product for all the frequently occurring partial structures (step S204). Then, all the calculation results obtained in step S204 are stored in the dictionary calculation result holding unit 25 in association with the new node after replacement described in the dictionary (step S205).
- the compression CSF calculation unit 26 changes the calculation method in accordance with the depth of the CSF corresponding to the axis not selected as a calculation target according to the specification of the calculation specification unit 23, and sequentially performs the processing on the CSF from the root node. An operation is performed (step S205). The compression CSF calculation unit 26 substitutes the calculation result of Step 205 for the j-th element of P (Step S207).
- the compressed CSF calculation unit 26 stores the calculation result for the j-th vector of P. This series of operations (S204 to S207) is repeated for each vector until it is executed for all vectors. By performing S204 to S207 on all vectors, a compressed tensor-matrix product can be obtained.
- an index corresponding to the depth of the CSF in FIG. 4 is defined as follows. That is, an index corresponding to the root node and i 1, the index corresponding to the node node and i 2, an index corresponding to the leaf node and i 3. Also, assume that a matrix corresponding to the axis corresponding to the root node is A, a matrix corresponding to the axis corresponding to the node node is B, and a matrix corresponding to the axis corresponding to the leaf node is C.
- Equation (4)
- the dictionary operation unit 24 performs an operation corresponding to the replacement rule represented by Expression (3) on the replacement rule.
- corresponding root node that is, executes processing in the manner of depth-first search from a node labeled "1" in the depth 0 in FIG.
- the search proceeds to the left child node, and then proceeds to the node with the label “1” in the second row.
- the search proceeds to the node of the label “a” which is a child node of the label “1” in the second stage.
- the depth of the label “a” node is M ⁇ 1, there is no child node. Therefore, the compression CSF calculation unit 26 performs processing so that the node returns the value to the parent node.
- the node having the label “1” in the second stage receives (C 1 + C 2 ) from the node having the label “a”.
- the result of the operation of the product of the matrix element corresponding to the node and the sum of the results received from all the child nodes is returned to the parent node.
- the product B is the product of the element B 1 corresponding to the node with the label “1” in the second row and (C 1 + C 2 ) received from the child node. Returns 1 (C 1 + C 2 ) to the parent node.
- the compression CSF calculation unit 26 calculates B 1 (C 1 + C 2 ). Then, the value of B 1 (C 1 + C 2 ) is returned to the first-stage (depth 0) node.
- the compressed CSF calculation unit 26 performs the same operation on the node of the second-stage label “3” that is the next child node (the right-side child node) of the first-stage label “1”. .
- the search similarly proceeds to the node with the label “a”.
- the node with the label “a” returns (C 1 + C 2 ), and the node with the label “3” in the second row returns B 3 (C 1 + C 2 ).
- the compression CSF calculation unit 26 calculates the sum of the results obtained by the node with the label “1” on the first stage from all the child nodes. The calculation result is the same as the P 1.
- the compressed CSF calculation unit 26 performs processing in the manner of depth-first search. However, unlike the case (1), the compressed CSF calculation unit 26 propagates the value traced in the search to the child node.
- a tree having a node with a label “1” in the first row will be described in the same manner as in the description of Case 1.
- Node first first-stage labeled "1" sends the A 1 is an element corresponding to the index indicated by the label to the nodes is the left child node 2 stage label "1".
- the compressed CSF calculation unit 26 multiplies the value sent from the values B 1 and the parent node corresponding to the index indicated by the node of the second-stage labeled "1". Then, the obtained value A 1 * B 1 is sent to the third node (the node with the label “a”), which is a child node.
- case (3) will be described. This can be solved by combining case (1) and case (2).
- the element operation of the tensor-matrix product obtained in case (3) is as follows.
- Equation (6)
- the compressed CSF operation unit 26 obtains (C 1 + C 2 ), which is the value of the sub operation result for the label “a”, from the dictionary operation unit 24 and Process to return this value to the node with label "1".
- the sub operation result by the dictionary operation unit 24 is held in the dictionary operation result holding unit 25.
- the node with the label “1” in the second row has the value A 1 sent from the parent node and the value (C 1 + C) sent from the child node added to the element P 1 corresponding to the index indicated by this node. 2 ) Multiply and add together.
- the initial value of P 1 is 0.
- the operation specifying unit 23, the dictionary operation unit 24, the dictionary operation result holding unit 25, and the compressed CSF operation unit 26 may be referred to as a product operation unit. Therefore, in the information processing apparatus 2 according to the present embodiment, the product operation unit performs the tensor represented by the compressed CSF data based on the compressed CSF data and the replacement rule data and the (M ⁇ 1) matrices. And (M-1) matrices. Therefore, according to the information processing apparatus 2 according to the present embodiment, it is possible to perform a tensor-matrix product operation of the compressed CSF and the matrix.
- the product operation unit performs a predetermined operation for calculating a product of the tensor and the matrix using the replacement rule data, and a dictionary operation unit 24 (first operation unit). And a dictionary operation result holding unit 25 for holding.
- the product operation unit has a compression CSF operation unit (second operation unit) that performs the operation of the product of the tensor and the matrix by using the operation result held by the dictionary operation result holding unit 25.
- the calculation cost can be suppressed. That is, by holding the sub-operation result of the node that is the replacement target in the CSF compression in the dictionary operation result holding unit 25, the number of calculations of the sub-operation can be reduced, and the calculation cost can be suppressed.
- the information processing device 2 may further include a learning unit that performs a machine learning process using a product operation result of the tensor and the matrix calculated by the product operation unit, or a tensor calculated by the product operation unit.
- a data analysis unit that performs data analysis using a matrix product operation result may be provided.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
テンソルのデータ量を抑制することができる情報処理装置を提供する。情報処理装置(1)は、CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定するCSF設計部(11)と、CSF設計部(11)による設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換するCSF構築部(12)と、前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力するCSF圧縮部(13)とを有する。
Description
本開示は、情報処理装置、テンソル圧縮方法、及びプログラムに関する。
テンソル(多次元配列)は近年のデータ収集技術の向上と計算機性能の向上から、データ表現として用いられるようになってきた。
テンソルは多次元配列であり、行列の一般化と考えることができる。行列は例えば、文書-単語行列のように、文書と単語の2項関係しか表現することができない。一方でテンソルは文書-単語-時間といった3項関係を表現できる。このように、テンソルは行列よりも多くの情報を表現することが可能である。そのため機械学習やデータマイニングの分野で研究が進んでいる。
テンソルは多次元配列であり、行列の一般化と考えることができる。行列は例えば、文書-単語行列のように、文書と単語の2項関係しか表現することができない。一方でテンソルは文書-単語-時間といった3項関係を表現できる。このように、テンソルは行列よりも多くの情報を表現することが可能である。そのため機械学習やデータマイニングの分野で研究が進んでいる。
しかし、テンソルによって表現されたデータのマイニングは非常に大きな計算時間がかかる。例えば、テンソル分解と呼ばれるテンソルを複数の行列の積に分解する手法は、各行列の最適化において、テンソルと複数の行列(最適化する行列以外のすべての行列)の積が必要となる。これは非常に大きな計算量であることが知られている。
テンソル分解における大きな計算量が必要とされるのは以下のテンソル-行列積演算である。
テンソル分解における大きな計算量が必要とされるのは以下のテンソル-行列積演算である。
式(1)はM階のテンソルについてのテンソル-行列積演算を表す。ここで、N(k)はテンソル分解によって得られる行列である。
この演算はN(n)を最適化する際に用いる勾配の計算に必要になり、すべてのinおよびjに対して演算を行いPを求める必要がある。
なお、式(1)において、行列Pは、テンソル-行列積演算の演算結果を示す行列、すなわちテンソル-行列積演算の演算結果を格納する行列である。言い換えると、テンソル-行列積の演算結果として行列Pが得られることとなる。式(1)はPの要素ごとの演算方法を示す式である。また、Xはテンソルである。jおよびinは要素のインデックスを示す。nはテンソルの軸を示す。例えば、2階のテンソル(すなわち行列)の場合n=1が行を指し、n=2が列を指す。3階のテンソルの場合、n=3は奥行き方向を指す。
この演算はN(n)を最適化する際に用いる勾配の計算に必要になり、すべてのinおよびjに対して演算を行いPを求める必要がある。
なお、式(1)において、行列Pは、テンソル-行列積演算の演算結果を示す行列、すなわちテンソル-行列積演算の演算結果を格納する行列である。言い換えると、テンソル-行列積の演算結果として行列Pが得られることとなる。式(1)はPの要素ごとの演算方法を示す式である。また、Xはテンソルである。jおよびinは要素のインデックスを示す。nはテンソルの軸を示す。例えば、2階のテンソル(すなわち行列)の場合n=1が行を指し、n=2が列を指す。3階のテンソルの場合、n=3は奥行き方向を指す。
また、近年のテンソルサイズの増加からテンソル自体がメモリに載らずインメモリプロセス(in-memory process)による計算ができないという問題がある。これはテンソルの非零要素はテンソルの軸の分だけインデックス(index)を必要とするためである。例えば、4階のテンソルは(i,j,k,l)といったインデックスを保持する必要がある。これは行列においては(i,j)成分だけでよい場合と比べて2倍のメモリ使用量になる。
非特許文献1はこの問題に対して、テンソルの非零要素のインデックスを木構造で表現することでテンソルのサイズを小さくするCSF(Compressed Sparse Fiber)表現と、その木構造を用いたテンソル-行列積演算アルゴリズムを提案している。木構造によってテンソル-行列積演算は計算が省略される場合がある。しかし、それは主に葉ノードに対する演算のみであるため多くの場合で演算が省略されるわけではない。
特許文献1に開示された技術では、非零要素のみを保持するとともに、またテンソル-行列積の効率の良い計算のために、複数の行列形式でデータを表現することで、メモリの削減と計算の高速化を行っている。しかし、メモリの削減は、非零要素のみを保持することによるものであり、非零要素の数も膨大なテンソルには適用が困難である。また、重複した表現を利用する必要があるため、非零要素のみを単純に表現する場合よりも大きな計算空間が必要になる。
特許文献2はテンソル分解を圧縮として用いる手法である。しかし、この手法はテンソル分解が実行できる前提の技術である。また、テンソル分解は情報の損失がおこるために、圧縮後のタスクの精度を悪化させる危険性がある。
Smith, S., Ravindran, N., Sidiropoulos, N. D., & Karypis, G. "SPLATT: Efficient and parallel sparse tensor-matrix multiplication", In 2015 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 61-70, May 2015.
したがってテンソルをメモリに格納できるようにする新規な技術が依然として求められている。
本開示の目的は、テンソルのデータ量を抑制することができる情報処理装置、テンソル圧縮方法、及びプログラムを提供することにある。
本開示にかかる情報処理装置は、CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定するCSF設定部と、前記CSF設定部による設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換するCSF構築部と、前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力するCSF圧縮部とを有する。
また、本開示にかかるテンソル圧縮方法では、CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定し、前記設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換し、前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力する。
また、本開示にかかるプログラムは、CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定するCSF設定ステップと、前記CSF設定ステップでの設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換するCSF構築ステップと、前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力するCSF圧縮ステップとをコンピュータに実行させる。
本開示により、テンソルのデータ量を抑制することができる情報処理装置、テンソル圧縮方法、及びプログラムを提供することができる。
以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
<第1の実施の形態>
<構成の説明>
図1は本実施の形態1にかかるテンソル圧縮装置としての情報処理装置1の構成を示すブロック図である。また、図2はCSFの例を示す図である。図2に示す木構造おいて、各軸がテンソルの階層に対応しており、ノードラベル(各ノード内に記載された数字)は、テンソルの非零要素のインデックスを示している。テンソル圧縮装置としての情報処理装置1は、図1に示されるように、CSF設計部11とCSF構築部12とCSF圧縮部13とを備える。
<構成の説明>
図1は本実施の形態1にかかるテンソル圧縮装置としての情報処理装置1の構成を示すブロック図である。また、図2はCSFの例を示す図である。図2に示す木構造おいて、各軸がテンソルの階層に対応しており、ノードラベル(各ノード内に記載された数字)は、テンソルの非零要素のインデックスを示している。テンソル圧縮装置としての情報処理装置1は、図1に示されるように、CSF設計部11とCSF構築部12とCSF圧縮部13とを備える。
CSF設計部11は、M階以上のテンソルの非零要素インデックスを表現するCSFを構築するための前段階の処理として、CSFの構築方法を設定する。CSFは図2で示すように、木の深さが軸に対応する。例えば、軸の数が3つの場合、図2に示すように、深さ0のノード、深さ1のノード、及び深さ2のノードから構成されるCSFの構築が可能である。つまり、CSFの構築方法は、軸の組み合わせ分だけ存在する。しがたって、具体的には、CSF設計部11はこのCSFの軸の組み合わせ順序を設定する。この軸の設定順序はユーザーの任意の方法を用いてよい。例えば、あらかじめ入力されたテンソルの軸の順番でもよいし、各軸の次元の大きさを昇順にソートしたものでもよい。このように、CSF設計部11は、CSF表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定する。なお、CSF設計部11は、CSF設定部と称されてもよい。
CSF構築部12は、CSF設計部11により設定されたCSFの構築における軸の順序を用いて入力であるテンソルの非零要素のインデックスからCSFを構築する。CSFは軸の順序を定めると構造は一意に定まる。そのため、どのように構築を行ってもよい。例えば、CSF構築部12は、上述した非特許文献1に記載した手法により、CSFを構築する。このように、CSF構築部12は、CSF設計部11による設定にしたがい、M階以上のテンソルをCSF表現のデータに変換する。
CSF圧縮部13はCSF構築部12により構築されたCSFを圧縮する。CSFの圧縮は頻出部分構造を置換する圧縮方法を用いる。たとえば、そのような置換方法の一つに文法圧縮と呼ばれる圧縮方法がある。文法圧縮とは、圧縮した結果とは別に、辞書と呼ばれる補助データ構造を保持し、この辞書に置換方法を記述することで、高い圧縮率を実現する圧縮方法である。CSF圧縮部13は、文法圧縮に限らず、他の公知の技術を用いることが可能である。ただし、辞書を用いることで完全に情報を復元できるような圧縮をおこなう圧縮方法を用いることが望ましいが、その限りではない。なお、頻出部分構造は、CSFの木構造において、所定の回数以上(ただし、少なくとも2回以上)出現する部分木である。頻出部分構造は、重複構造と称されてもよい。このように、CSF圧縮部13は、CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することによりCSF表現のデータを圧縮する。そして、CSF圧縮部13は、圧縮されたCSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータ(辞書)とを出力する。
尚、情報処理装置1は、例えば、図3に示すように、プロセッサ50と、メモリ51と、記憶装置52とを備える、これらの構成により、処理を実行する。プロセッサ50は、例えば、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPU(Central Processing Unit)などであってもよい。メモリ51は、例えば、揮発性メモリ又は不揮発性メモリによって構成されるメモリである。記憶装置52は、例えばハードディスクドライブ、ソリッドステートドライブなどのストレージである。
記憶装置52には、図1に示した各構成要素を実現するための1以上の命令を含むコンピュータプログラムが記憶されている。そして、プロセッサ50は、記憶装置52からコンピュータプログラムをメモリ51へ読み込み、当該コンピュータプログラムを実行する。これによりプロセッサ50は、CSF設計部11、CSF構築部12およびCSF圧縮部13の機能を実現する。
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
情報処理装置1は、例えば、記憶装置52に予め記憶されたテンソル(すなわち、圧縮前のテンソルのデータ)について圧縮処理を行う。情報処理装置1はCSF圧縮部13によって圧縮されたテンソルおよび補助データ構造である辞書をメモリ51に保存してもよいし、情報処理装置1の外部の装置へ出力してもよい。
図4は本実施の形態1にかかる情報処理装置1が実施するテンソル圧縮方法の流れを説明するためのフローチャートである。まずCSF設計部11は、M階のテンソルの非零要素インデックスをすべて受けとり、CSFの軸の順序をあらかじめ定めた基準によって決定する(ステップS101)。次にCSF構築部12はCSF設計部11によって得られたCSF構造(すなわち、軸の順序)に基づいてM階のテンソルの非零要素からCSFを構築する(ステップS102)。そして、CSF圧縮部13は、CSF構築部12で構築されたCSFの頻出部分構造を予め定められた圧縮方法で圧縮する(ステップS103)。
このように、本実施の形態により、テンソルを圧縮することが可能である。すなわち、テンソルのCSF表現を直接用いるのではなく、CSFの圧縮表現と補助データ構造である辞書を用いることでデータの表現を行う。
尚、本実施の形態で対象とするテンソルとしては、例えば、知識グラフと呼ばれるデータがあげられる。知識グラフは(主語(Subject), 述語(Predicate), 目的語(Object))のトリプレット(triplet)で表現されるもので、SubjectはObjectのPredicateである場合に、1を持ちそうでないときに0を持つ。そのためSubject, Predicate, Objectを各軸として、インデックスを与えることによって、知識グラフは3階のテンソルで表現される。そのため、本実施の形態にかかる情報処理装置1は知識グラフ圧縮装置と呼ぶこともできる。
<具体例1>
具体例を用いて、本実施の形態1にかかるテンソル圧縮装置としての情報処理装置1の動作を説明する。
まず、圧縮の対象となるテンソルの非零要素インデックスは以下であるものとする。また、テンソルのサイズは(2,3,3)であるとする。
具体例を用いて、本実施の形態1にかかるテンソル圧縮装置としての情報処理装置1の動作を説明する。
まず、圧縮の対象となるテンソルの非零要素インデックスは以下であるものとする。また、テンソルのサイズは(2,3,3)であるとする。
これに対して、CSF設計部11は任意の基準によって、構築の構造、すなわち軸の順序を決定する。本具体例では、軸の次元の大きさが降順になるようにソートされた軸の順を採用する。CSFは節、または、根において、木の深さが浅ければ浅いほどインデックスが共有されて一つのノードで表現される。そのため、インデックスの種類が少なければ少ないほど共有される可能性が高まる。つまり、CSFにおける表現に必要なメモリ使用量が減る可能性が高いといえる。
よって式(2)で表現されているテンソルの場合は、3-2-1(または2-3-1)がCSFの構造として選ばれる。ここで、3-2-1は、式(2)において左から3番目に記載されているインデックスに対応する軸、左から2番目に記載されているインデックスに対応する軸、左から1番目に記載されているインデックスに対応する軸、という軸の順序を示す。
次にCSF構築部12はCSF設計部11で選ばれた構造3-2-1と式(2)のテンソルから図2のようなCSFを構築する。
次にCSF圧縮部13はCSF構築部12で構築されたCSFの圧縮を行う。本説明では、理解を容易にするため、葉ノードにおける頻出部分構造のみを置き換える手法を説明する。
図2のCSFの葉ノードにおける頻出部分構造はラベル”1”とラベル”2”の同時出現である。そのため、CSF圧縮部13はこの部分構造をラベル”a”が記述された新しいノードへと置換する。そして図5のような新たなCSFを得る。これが圧縮されたCSFである。そして、置換した情報、すなわち置換ルールを示すデータ(置換ルールデータ)を、辞書に以下のように保存する。
これによって、2つのノードが1つのノードに置換される。この置換が4回出現するため、ノード数が8個から4個に圧縮されており、また、辞書の置換ルール(式(3))は3つの数(a,1,2)で表現できるため、合計で8個のデータによる表現から7個のデータによる表現へと圧縮がなされていることがわかる。なお、上記例では、2つのノードが1つのノードに置換されるが、3以上のノードが1つのノードに置換されてもよい。
CSF圧縮部13はこのように頻出部分構造をすべて列挙し、置換によって全体のデータ数が減る場合にのみ置換を行う。置換を行った後再度頻出部分構造を列挙し、置換によって全体のデータ数を減らすことが可能な頻出部分構造を再び置換する。この動作を例えば、置換によるデータ数の削減ができなくなるまで行う。なお、圧縮効率を上げるためにはこのように可能な限り置換を繰り返すことが好ましいが、CSF圧縮部13はデータ数を減らすことが可能な頻出部分構造が残存した状態で置換処理を終了してもよい。CSF圧縮部13によるこのような処理により圧縮を行うことができる。
上記説明では、葉ノードにおける頻出部分構造のみを置換する例を示したが、節ノードや根ノードを含めた任意の頻出部分構造に対して圧縮を考えることができる。すなわち、部分木に対しても圧縮を行うことができる。ただし、置換対象の部分構造は、その部分構造に子ノードが一つもついていない状態である必要がある。なぜなら、CSFは多分木であるためである。仮に子ノードがついている部分構造を置換した場合に、その子ノードが置換前のどのノードの子ノードであるか一意に定まらないためである。
以上、実施の形態1について説明した。実施の形態1にかかる情報処理装置1によれば、CSF圧縮部13によりCSFのデータ数が削減される。このため、テンソルのデータ量を抑制することができる。したがって、例えば、機械学習又はデータ解析などの所定の処理をテンソルを用いて行う装置に搭載された限られた容量のメモリに、当該テンソルを格納することができる。
<実施の形態2>
本実施の形態では、実施の形態1にかかるテンソル圧縮装置で圧縮されたテンソルと複数の行列との積の演算を行う、圧縮テンソル-行列積演算装置としての情報処理装置2について説明する。すなわち、本実施の形態では、式(1)で表現された演算を、圧縮されたテンソルを用いて演算する圧縮テンソル-行列積演算装置について説明する。
本実施の形態では、実施の形態1にかかるテンソル圧縮装置で圧縮されたテンソルと複数の行列との積の演算を行う、圧縮テンソル-行列積演算装置としての情報処理装置2について説明する。すなわち、本実施の形態では、式(1)で表現された演算を、圧縮されたテンソルを用いて演算する圧縮テンソル-行列積演算装置について説明する。
図5は、本実施の形態にかかる圧縮テンソル-行列積演算装置としての情報処理装置2構成を示すブロック図である。情報処理装置2は、圧縮テンソル取得部21と、行列取得部22と、演算指定部23と、辞書演算部24と、辞書演算結果保持部25と、圧縮CSF演算部26とを有する。なお、情報処理装置2は、実施の形態1にかかる情報処理装置1を含む情報処理装置であってもよい。
圧縮テンソル取得部21はテンソル圧縮装置としての情報処理装置1によって圧縮されたテンソルを取得する構成要素である、具体的には、圧縮テンソル取得部21は圧縮されたCSFと補助データ構造である辞書を取得する。圧縮テンソル取得部21は例えば、メモリ51又は記憶装置52に記憶された、圧縮されたCSF及び辞書を読み出す。
行列取得部22は圧縮されたテンソルとの積を演算する(M-1)個の行列を取得する。すなわち、行列取得部22は演算対象の行列を取得する。行列取得部22は例えば、メモリ51又は記憶装置52に記憶された行列を読み出す。
演算指定部23は、テンソルと行列との積の演算において、行列取得部22によって取得された(M-1)個の行列をどの軸にどのように演算するかを指定する。テンソルと行列との積では、行列同士の積において右からかけるか左からかけるかといった指定が必要であるのと同様に、どの軸方向からかけるのかを指定する必要がある。そのため、あらかじめどの軸に対してどの行列との積を演算するかを指定する必要がある。演算指定部23は、例えば演算を定義する予め設定された定義情報に従って指定する。
辞書演算部24は、補助データ構造である辞書に従って置換された頻出部分構造について、式(1)の演算で必要な演算を予め計算する構成要素である。辞書演算部24は、置換前の頻出部分構造で示されるインデックスに対応する行列要素を用いて、テンソル-行列積を演算するための演算(以下、サブ演算と称す)を行う。
辞書演算結果保持部25は、辞書演算部24による演算で得られた演算結果を保持する構成要素である。より詳細には、辞書演算結果保持部25は、置換される前の頻出部分構造に対する演算結果を置換された新たなノードに対して紐づけて保持する。換言すると、辞書演算結果保持部25は、置換される前の頻出部分構造に対するサブ演算の結果を、置換後の新たなノードに対するサブ演算の結果として保持する。これによって、置換された新たなノードに対する演算を求められた場合に、この辞書演算結果保持部25から演算結果を呼び出すことが可能になり、繰り返し同じ計算を行わずに済むために、計算回数を削減することができる。
圧縮CSF演算部26は、圧縮されたCSFに対し探索と演算を実行する構成要素である。圧縮CSF演算部26は、根ノードから順に探索し、CSFに対する演算を行う。圧縮CSF演算部26は、演算指定部23の指定により演算対象として選ばれなかった軸がCSFのどの深さに対応するかに応じて演算方法を変化させて演算を行う。具体的には、圧縮CSF演算部26は、選ばれなかった軸が根ノードに対応する場合、所定の第1の演算方法により演算し、葉ノードに対応する場合、所定の第2の演算方法により演算し、節ノードに対応する場合、所定の第3の演算方法により演算する。
図6は本実施の形態2にかかる情報処理装置2が実施する圧縮テンソル-行列積演算方法の流れを説明するためのフローチャートである。
まず圧縮テンソル取得部21は演算対象である圧縮されたテンソルを取得する(ステップS201)。
次に、行列取得部22は演算対象である行列を取得する(ステップS202)。
次に演算指定部23は、どの軸にどの行列の積の演算を行うかを指定する(ステップS203)。
次に、行列取得部22は演算対象である行列を取得する(ステップS202)。
次に演算指定部23は、どの軸にどの行列の積の演算を行うかを指定する(ステップS203)。
ステップS203の後、行列の各列に対して、すなわち式(1)におけるPのj番目のベクトルに対して以下の動作(ステップS204からステップS207)を行う。
まず、辞書演算部24で、すべての頻出部分構造に対して、テンソル-行列積を演算するためのサブ演算をおこなう(ステップS204)。
そして、ステップS204で得られたすべての演算結果を辞書に記載された置換後の新たなノードに紐づけて辞書演算結果保持部25に保存する(ステップS205)。
次に、圧縮CSF演算部26は、演算指定部23の指定により演算対象として選ばれなかった軸がCSFのどの深さに対応するかに応じて演算方法を変化させ、根ノードから順にCSFに対する演算を行う(ステップS205)。
圧縮CSF演算部26は、ステップ205の演算結果をPのj番目の要素に代入する(ステップS207)。すなわち、圧縮CSF演算部26は、Pのj番目のベクトルについての演算結果を保存する。
この一連の動作(S204からS207)は、すべてのベクトルに対して実行されるまで、ベクトル毎に繰り返される。S204からS207をすべてのベクトルに行うことで圧縮テンソル-行列積が得られる。
そして、ステップS204で得られたすべての演算結果を辞書に記載された置換後の新たなノードに紐づけて辞書演算結果保持部25に保存する(ステップS205)。
次に、圧縮CSF演算部26は、演算指定部23の指定により演算対象として選ばれなかった軸がCSFのどの深さに対応するかに応じて演算方法を変化させ、根ノードから順にCSFに対する演算を行う(ステップS205)。
圧縮CSF演算部26は、ステップ205の演算結果をPのj番目の要素に代入する(ステップS207)。すなわち、圧縮CSF演算部26は、Pのj番目のベクトルについての演算結果を保存する。
この一連の動作(S204からS207)は、すべてのベクトルに対して実行されるまで、ベクトル毎に繰り返される。S204からS207をすべてのベクトルに行うことで圧縮テンソル-行列積が得られる。
<具体例2>
本具体例では、実施の形態2にかかるテンソル-行列積演算装置による演算例を説明する。本具体例では、具体例1で示した圧縮されたテンソルに対しての演算を考える。行列については、様々な場合の説明のため、一般化したものにより説明する。また、簡単のため、行列の列の数は1であるとする。すなわち、j=1とする。そのため、本具体例では、テンソル-ベクトル積演算と同じ演算を扱うこととなる。ただし、列毎の演算は変わらないため、これは容易にテンソル-行列積演算に一般化可能である。
本具体例では、実施の形態2にかかるテンソル-行列積演算装置による演算例を説明する。本具体例では、具体例1で示した圧縮されたテンソルに対しての演算を考える。行列については、様々な場合の説明のため、一般化したものにより説明する。また、簡単のため、行列の列の数は1であるとする。すなわち、j=1とする。そのため、本具体例では、テンソル-ベクトル積演算と同じ演算を扱うこととなる。ただし、列毎の演算は変わらないため、これは容易にテンソル-行列積演算に一般化可能である。
求めるテンソル-行列積は、入力によって異なる演算方法が必要になる。入力は(M-1)個の行列であるため、必ず一つの軸が、行列との積の演算対象とはならない。この軸nが(1)根ノードに対応する軸か(すなわち、n=1であるか)、(2)葉ノードに対応する軸か(すなわち、n=Mであるか)、(3)節ノードに対応する軸か(すなわち、1< n <Mであるか)、によって演算方法が異なる。
ここで、図4のCSFの深さに対応するインデックスを次のように定義する。すなわち、根ノードに対応するインデックスをi1とし、節ノードに対応するインデックスをi2とし、葉ノードに対応するインデックスをi3とする。また、根ノードに対応する軸に対応する行列をAとし、節ノードに対応する軸に対応する行列をBとし、葉ノードに対応する軸に対応する行列をCとする。
上述したケース(1)からケース(3)に対する挙動について順に、図5の圧縮されたCSFおよび式(3)で表現される辞書が得られた場合に対して説明をする。
ケース(1)の場合に求めるテンソル-行列積の要素演算は以下のものになる。
ケース(1)の場合に求めるテンソル-行列積の要素演算は以下のものになる。
ここで、j=1のため、以降ではjの記述を省略する。また、ここでテンソルはバイナリである。本具体例では、P1の演算方法を示す。まず、辞書演算部24は、式(3)で表される置換ルールに対して、この置換ルールに対応する演算を行う。式(3)で表される置換ルールにおいて置換前のインデックスは、”1”と”2”であり、葉ノードに対応する行列はCであるため、この置換ルールに対する辞書演算部24の演算結果は(C1+C2)である。よって、辞書演算結果保持部25はa=(C1+C2)という結果を保持する。すなわち、辞書演算結果保持部25は、”a”と、(C1+C2)の演算結果とを紐付けて保持する。
圧縮CSF演算部26はP1を求めるために、対応する根ノード、すなわち図5における深さ0にあるラベル”1”のノードから深さ優先探索の要領で処理を実行する。まず、探索は、左の子ノードに進み、続いて、2段目のラベル”1”のノードに進む。次に、探索は、2段目のラベル”1”の子ノードであるラベル”a”のノードへ進む。ここで、このラベル”a”ノードの深さがM-1であるため、子ノードは存在しない。そのため、ノードが、値を親ノードに返していくよう圧縮CSF演算部26は処理を行う。ここで、子ノードが存在しないノードが置換されたノードであった場合に、辞書演算結果保持部25から、そのノードに対応する演算結果が獲得され、この演算結果が親ノードに返される。そのため、2段目のラベル”1”のノードはラベル”a”のノードから(C1+C2)を受けとる。子ノードを持っているノードが値を返す時は、そのノードに対応する行列の要素と、すべての子ノードから受け取った結果の和との積の演算結果を親ノードに値を返す。この例ではラベル”a”のノード以外のノードがないため、2段目のラベル”1”のノードに対応する要素B1と子ノードから受け取った(C1+C2)の積であるB1(C1+C2)を親ノードに返す。
辞書演算部24はn=Mではないときに、呼ばれたノードに対する演算を行う。具体的には、上述の通り、この例ではラベル”a”のノードが呼ばれると、式(3)の置換ルールより、aはラベル”1”とラベル”2”に対応しているため、辞書演算部24は要素C1と要素C2の和を演算結果として出力する。この演算は、ラベル”1”のノードとラベル”2”のノードに対する式(4)における演算に対応する。
辞書演算結果保持部25はこの演算結果をa=(C1+C2)として保持し、2段目のラベル”1”のノードは返値として、(C1+C2)を得る。そして、圧縮CSF演算部26は、B1(C1+C2)の演算を行う。そして、1段目(深さ0)のノードにB1(C1+C2)の値が返される。
次に、圧縮CSF演算部26は、1段目のラベル”1”についての次の子ノード(右側の子ノード)である2段目のラベル”3”のノードに対して同様の操作を行う。
2段目のラベル”3”のノードの探索後、同様に、探索はラベル”a”のノードへとすすむ。ラベル”a”のノードは(C1+C2)を返し、2段目のラベル”3”のノードはB3(C1+C2)を返す。
最後に、圧縮CSF演算部26は、1段目のラベル”1”のノードがすべての子ノードから得た結果の和を算出する。この算出結果がP1と同じものになる。
辞書演算結果保持部25はこの演算結果をa=(C1+C2)として保持し、2段目のラベル”1”のノードは返値として、(C1+C2)を得る。そして、圧縮CSF演算部26は、B1(C1+C2)の演算を行う。そして、1段目(深さ0)のノードにB1(C1+C2)の値が返される。
次に、圧縮CSF演算部26は、1段目のラベル”1”についての次の子ノード(右側の子ノード)である2段目のラベル”3”のノードに対して同様の操作を行う。
2段目のラベル”3”のノードの探索後、同様に、探索はラベル”a”のノードへとすすむ。ラベル”a”のノードは(C1+C2)を返し、2段目のラベル”3”のノードはB3(C1+C2)を返す。
最後に、圧縮CSF演算部26は、1段目のラベル”1”のノードがすべての子ノードから得た結果の和を算出する。この算出結果がP1と同じものになる。
ここで、ラベル”a”についての圧縮がされていない場合について考える。この場合、各2段目のノードにおいて、各子ノードからC1とC2を受け取り、C1+C2を計算することになる。そのため、C1+C2の演算は2回行う必要がある。これに対し、ラベル”a”についての圧縮が行われ、かつ、辞書演算結果保持部25においてラベル”a”についての演算結果が保持されている場合、C1+C2の演算は辞書演算部24による1回の演算で済む。このことから本実施の形態では演算回数が少なくなっていることがわかる。
次にケース(2)の場合(n=Mの場合)について例を示す。
この場合に求めるテンソル-行列積の要素演算は以下になる。
この場合に求めるテンソル-行列積の要素演算は以下になる。
残念ながら、この場合は計算量の改善は得られない。なぜなら、式(5)にはC1やC2が出現しないためである。計算量の削減のため、辞書演算部24および辞書演算結果保持部25は指定された軸に応じては演算および保持を行わないとしてもよい。
この場合もケース(1)の場合と同様に、圧縮CSF演算部26は、深さ優先探索の要領で処理を行う。しかし、ケース(1)の場合とは異なり、圧縮CSF演算部26は、探索で辿ってきた値を子ノードへと伝播させる。
ケース1の説明と同様に1段目にラベル”1”のノードを有する木について説明する。
まず1段目のラベル”1”のノードはこのラベルで示されるインデックスに対応する要素であるA1を左の子ノードである2段目のラベル”1”のノードに送る。
次に、圧縮CSF演算部26は、2段目のラベル”1”のノードで示されるインデックスに対応する値B1と親ノードから送られた値を掛け算する。そして得られた値A1*B1を子ノードである3段目のノード(ラベル”a”のノード)へ送る。3段目のノード(ラベル”a”のノード)は置換によって得られたものなので、ここで圧縮CSF演算部26は親ノードから受け取った値をそれぞれ、圧縮されたノードが持つインデックスに対応する、演算結果を格納する行列の要素に足し合わせるという動作を行う。具体的には、圧縮CSF演算部26はP1+= A1*B1とP2+=A1*B1の演算を行う。なお、P1及びP2の初期値は0である。
このような処理をすべての1段目のノードに対して実行することで、式(5)の演算が可能である。
まず1段目のラベル”1”のノードはこのラベルで示されるインデックスに対応する要素であるA1を左の子ノードである2段目のラベル”1”のノードに送る。
次に、圧縮CSF演算部26は、2段目のラベル”1”のノードで示されるインデックスに対応する値B1と親ノードから送られた値を掛け算する。そして得られた値A1*B1を子ノードである3段目のノード(ラベル”a”のノード)へ送る。3段目のノード(ラベル”a”のノード)は置換によって得られたものなので、ここで圧縮CSF演算部26は親ノードから受け取った値をそれぞれ、圧縮されたノードが持つインデックスに対応する、演算結果を格納する行列の要素に足し合わせるという動作を行う。具体的には、圧縮CSF演算部26はP1+= A1*B1とP2+=A1*B1の演算を行う。なお、P1及びP2の初期値は0である。
このような処理をすべての1段目のノードに対して実行することで、式(5)の演算が可能である。
最後にケース(3)の場合について説明する。これはケース(1)とケース(2)の複合によって解くことができる。
ケース(3)の場合に求めるテンソル-行列積の要素演算は以下である。
ケース(3)の場合に求めるテンソル-行列積の要素演算は以下である。
ケース(3)では、圧縮CSF演算部26は、i<nとなるようなi段目のノードまでケース(2)の挙動と同様に値を子ノードへと送り、i=nとなるときに、それまでの探索で得た値を保持し、ケース(1)の挙動に切り替えるという方法で演算を行う。
具体的に、n=2のときの例をしめす。ケース1及びケース2の説明と同様に1段目にラベル”1”のノードを有する木についての演算方法を示す。
1段目のラベル”1”のノードはi=1<n=2のため、このノードに対応する値A1を子ノードである2段目のラベル”1”のノードへと渡すよう圧縮CSF演算部26は処理する。次に2段目のラベル”1”のノードが一旦親ノードから送られてきた値を保持するよう圧縮CSF演算部26は処理を行う。そして、圧縮CSF演算部26は、子ノードへと値は送らずに探索を進める。ここでケース(1)と同様に、圧縮CSF演算部26は、ラベル”a”についてのサブ演算結果の値である(C1+C2)を辞書演算部24から獲得し、2段目のラベル”1”のノードへとこの値を返すよう処理する。なお、このとき、辞書演算部24によるサブ演算結果は、辞書演算結果保持部25に保持される。2段目のラベル”1”のノードはこのノードが示すインデックスに対応する要素であるP1に、親ノードから送られてきた値A1と子ノードから送られてきた値(C1+C2)を掛け算したものを、足し合わせる。具体的には、圧縮CSF演算部26はP1+=A1(C1+C2)を演算する。なお、P1の初期値は0である。
このような処理をすべてのノードに対して同様に行うことで、式(6)の演算を実現することができる。ケース(3)ではケース(1)と同様に辞書演算結果保持部25の結果を利用できるため、計算回数が減らすことができる。
1段目のラベル”1”のノードはi=1<n=2のため、このノードに対応する値A1を子ノードである2段目のラベル”1”のノードへと渡すよう圧縮CSF演算部26は処理する。次に2段目のラベル”1”のノードが一旦親ノードから送られてきた値を保持するよう圧縮CSF演算部26は処理を行う。そして、圧縮CSF演算部26は、子ノードへと値は送らずに探索を進める。ここでケース(1)と同様に、圧縮CSF演算部26は、ラベル”a”についてのサブ演算結果の値である(C1+C2)を辞書演算部24から獲得し、2段目のラベル”1”のノードへとこの値を返すよう処理する。なお、このとき、辞書演算部24によるサブ演算結果は、辞書演算結果保持部25に保持される。2段目のラベル”1”のノードはこのノードが示すインデックスに対応する要素であるP1に、親ノードから送られてきた値A1と子ノードから送られてきた値(C1+C2)を掛け算したものを、足し合わせる。具体的には、圧縮CSF演算部26はP1+=A1(C1+C2)を演算する。なお、P1の初期値は0である。
このような処理をすべてのノードに対して同様に行うことで、式(6)の演算を実現することができる。ケース(3)ではケース(1)と同様に辞書演算結果保持部25の結果を利用できるため、計算回数が減らすことができる。
以上、実施の形態2について説明した。なお、演算指定部23、辞書演算部24、辞書演算結果保持部25、及び圧縮CSF演算部26は、積演算部と称されてもよい。したがって、本実施の形態にかかる情報処理装置2においては、積演算部が、圧縮CSFデータ及び置換ルールデータと、(M-1)個の行列とに基づいて、圧縮CSFデータで表されるテンソルと(M-1)個の行列との積を演算する。このため、本実施の形態にかかる情報処理装置2によれば、圧縮されたCSFと行列とのテンソル-行列積演算を行うことができる。また、特に、この積演算部は、置換ルールデータを用いて、テンソルと行列との積の演算するための所定の演算を行う辞書演算部24(第1の演算部)と、その演算結果を保持する辞書演算結果保持部25とを有する。そして、更に、この積演算部は、辞書演算結果保持部25が保持する演算結果を利用して、テンソルと行列との積の演算を行う圧縮CSF演算部(第2の演算部)を有する。このような構成によれば、計算コストを抑制することができる。すなわち、CSFの圧縮における置換対象となったノードについてのサブ演算結果を辞書演算結果保持部25に保持することで当該サブ演算の計算回数を減らすことができ、計算コストを抑制することができる。したがって、本実施の形態によれば、大規模なテンソルと行列との積の計算コストを抑制することができる。
なお、情報処理装置2は、さらに、積演算部により算出されるテンソルと行列の積演算結果を用いて機械学習処理を行う学習部を備えてもよいし、積演算部により算出されるテンソルと行列の積演算結果を用いたデータ解析を行うデータ解析部を備えてもよい。
なお、情報処理装置2は、さらに、積演算部により算出されるテンソルと行列の積演算結果を用いて機械学習処理を行う学習部を備えてもよいし、積演算部により算出されるテンソルと行列の積演算結果を用いたデータ解析を行うデータ解析部を備えてもよい。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 情報処理装置
2 情報処理装置
11 CSF設計部
12 CSF構築部
13 CSF圧縮部
21 圧縮テンソル取得部
22 行列取得部
23 演算指定部
24 辞書演算部
25 辞書演算結果保持部
26 圧縮CSF演算部
50 プロセッサ
51 メモリ
52 記憶装置
2 情報処理装置
11 CSF設計部
12 CSF構築部
13 CSF圧縮部
21 圧縮テンソル取得部
22 行列取得部
23 演算指定部
24 辞書演算部
25 辞書演算結果保持部
26 圧縮CSF演算部
50 プロセッサ
51 メモリ
52 記憶装置
Claims (7)
- CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定するCSF設定部と、
前記CSF設定部による設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換するCSF構築部と、
前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力するCSF圧縮部と
を有する情報処理装置。 - 前記圧縮CSFデータと前記置換ルールデータとを取得する圧縮テンソル取得部と、
(M-1)個の行列を取得する行列取得部と、
前記圧縮テンソル取得部が取得した前記圧縮CSFデータ及び前記置換ルールデータと、前記行列取得部が取得した前記(M-1)個の行列とに基づいて、前記圧縮CSFデータで表されるテンソルと前記(M-1)個の行列との積を演算する積演算部と
を有する請求項1に記載の情報処理装置。 - 前記積演算部は、
前記置換ルールデータを用いて、前記テンソルと前記行列との積の演算するための所定の演算を行う第1の演算部と、
前記第1の演算部による演算結果を保持する演算結果保持部と、
前記演算結果保持部が保持する前記演算結果を利用して、前記テンソルと前記行列との積の演算を行う第2の演算部と
を有する請求項2に記載の情報処理装置。 - 前記CSF圧縮部は、文法圧縮によって前記CSF表現のデータを圧縮し、前記圧縮CSFデータと、前記置換ルールを表すデータである辞書を出力する
請求項1乃至3のいずれか1項に記載の情報処理装置。 - 前記テンソルは、知識グラフである
請求項1乃至4のいずれか1項に記載の情報処理装置。 - CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定し、
前記設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換し、
前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力する
テンソル圧縮方法。 - CSF(Compressed Sparse Fiber)表現のデータにテンソルを変換するためにM(ただし、Mは3以上の自然数)階以上のテンソルの軸の順序を設定するCSF設定ステップと、
前記CSF設定ステップでの設定にしたがい、前記M階以上のテンソルをCSF表現のデータに変換するCSF構築ステップと、
前記CSF表現のデータに現れる重複構造を、当該重複構造を表す代替構造に置換することにより前記CSF表現のデータを圧縮し、圧縮された前記CSF表現のデータである圧縮CSFデータと、置換ルールを示すデータである置換ルールデータとを出力するCSF圧縮ステップと
をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020528562A JP7074191B2 (ja) | 2018-07-03 | 2018-07-03 | 情報処理装置、テンソル圧縮方法、及びプログラム |
| PCT/JP2018/025140 WO2020008513A1 (ja) | 2018-07-03 | 2018-07-03 | 情報処理装置、テンソル圧縮方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
| US17/257,663 US20210271735A1 (en) | 2018-07-03 | 2018-07-03 | Information processing device, tensor compression method, and non-transitory computer readable medium storing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/025140 WO2020008513A1 (ja) | 2018-07-03 | 2018-07-03 | 情報処理装置、テンソル圧縮方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020008513A1 true WO2020008513A1 (ja) | 2020-01-09 |
Family
ID=69060814
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/025140 Ceased WO2020008513A1 (ja) | 2018-07-03 | 2018-07-03 | 情報処理装置、テンソル圧縮方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20210271735A1 (ja) |
| JP (1) | JP7074191B2 (ja) |
| WO (1) | WO2020008513A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022079815A1 (ja) | 2020-10-13 | 2022-04-21 | 富士通株式会社 | 機械学習プログラム、機械学習方法及び機械学習装置 |
-
2018
- 2018-07-03 JP JP2020528562A patent/JP7074191B2/ja active Active
- 2018-07-03 US US17/257,663 patent/US20210271735A1/en not_active Abandoned
- 2018-07-03 WO PCT/JP2018/025140 patent/WO2020008513A1/ja not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| SMITH, SHADEN ET AL.: "Tensor-Matrix Products with a Compressed Sparse Tensor", PROCEEDINGS OF THE 5TH WORKSHOP ON IRREGULAR APPLICATIONS: ARCHITECTURES AND ALGORITHMS, 15 November 2015 (2015-11-15), pages l-7, ISBN: 978-1-4503-4001-4, Retrieved from the Internet <URL:https://dl.acm.org/citation.cfm?id=2833183> [retrieved on 20180910] * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022079815A1 (ja) | 2020-10-13 | 2022-04-21 | 富士通株式会社 | 機械学習プログラム、機械学習方法及び機械学習装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2020008513A1 (ja) | 2021-06-24 |
| US20210271735A1 (en) | 2021-09-02 |
| JP7074191B2 (ja) | 2022-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3906616B1 (en) | Neural network activation compression with outlier block floating-point | |
| Judd et al. | Reduced-precision strategies for bounded memory in deep neural nets | |
| Higham | Cholesky factorization | |
| Cichocki et al. | Low-rank tensor networks for dimensionality reduction and large-scale optimization problems: Perspectives and challenges part 1 | |
| WO2020154083A1 (en) | Neural network activation compression with non-uniform mantissas | |
| Morita et al. | Tensor renormalization group with randomized singular value decomposition | |
| Constantine et al. | Tall and skinny QR factorizations in MapReduce architectures | |
| JP2019212206A (ja) | ニューラルネットワーク軽量化装置、情報処理装置、ニューラルネットワーク軽量化方法およびプログラム | |
| CN110663048A (zh) | 用于深度神经网络的执行方法、执行装置、学习方法、学习装置以及程序 | |
| WO2021196954A1 (zh) | 序列化数据处理方法和装置、文本处理方法和装置 | |
| JP6232522B2 (ja) | 計算機及びグラフデータ生成方法 | |
| Chia et al. | Quantum-inspired algorithms for solving low-rank linear equation systems with logarithmic dependence on the dimension | |
| CN111914378A (zh) | 一种单振幅量子计算模拟方法 | |
| CN108604312A (zh) | 信息处理装置、时间序列数据的信息处理方法以及程序 | |
| JP2020525930A (ja) | 情報処理装置、制御方法、及びプログラム | |
| Evermann et al. | XES tensorflow-Process prediction using the tensorflow deep-learning framework | |
| JP6310345B2 (ja) | プライバシー保護装置、プライバシー保護方法及びデータベース作成方法 | |
| Carrasco Kind et al. | Sparse representation of photometric redshift probability density functions: preparing for petascale astronomy | |
| Schmelzer et al. | Summing a curious, slowly convergent series | |
| WO2020008513A1 (ja) | 情報処理装置、テンソル圧縮方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 | |
| US10997274B2 (en) | Variable-size problem solving with systolic arrays | |
| JP5523360B2 (ja) | N分木内部ノードの圧縮方法及び装置及びプログラム | |
| WO2019155556A1 (ja) | 行列圧縮装置、圧縮行列アクセス装置、方法、及びコンピュータ可読媒体 | |
| Geiger et al. | Information-preserving Markov aggregation | |
| Basta | Proving the Goldbach Conjecture: Algebraic Proofs and Predicting Prime Numbers |
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: 18925486 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020528562 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: 18925486 Country of ref document: EP Kind code of ref document: A1 |

