Data encoding device and data encoding program
By using model approximation coding technology in the data encoding device, the axis-dependent data is approximated into linear combination of data of each axis, the problem of limited error correction accuracy in the prior art is solved, and effective compression and accuracy of dialogue noise properties data are achieved. promote.
Patent Information
- Application Number
- CN202280097156.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-24
- Publication Date
- 2025-02-07
AI Technical Summary
In the prior art, when correcting industrial machinery errors, the upper limit of input data makes it impossible to further improve the accuracy of error correction, especially when the axis-dependent data has white noise properties, it is difficult to realize data compression.
Using a data encoding device, the axis-dependent data is encoded through the model approximation coding unit, and the data is approximated into linear combination of data of each axis by using a linear combination model, thereby realizing data compression.
The difficult-to-compress the axis-dependent data is effectively compressed, and the accuracy of error correction is improved. It can input more error amount data for higher accuracy without increasing the storage capacity.
Smart Images

Figure CN119404159A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a data encoding device and a data encoding program. Background Art
[0002] In the past, in industrial machinery such as machine tools or robots, a specified control point was moved to a specified position according to an instruction value. However, industrial machinery has errors, so the position of the control point is usually not the same as the instruction value. In order to solve the reduction in positioning accuracy and thus the reduction in processing accuracy, a technology for correcting the error so that the position of the control point is consistent with the instruction value has been proposed (for example, refer to Patent Document 1). In this technology, a pre-measured error amount is input into a control device, and the error is corrected according to a correction amount corresponding to the error amount.
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Publication No. 2011-209897 Summary of the invention
[0006] Problems to be solved by the invention
[0007] When correcting errors, the more points of error input to the control device, the more accurate the error correction can be. However, there is an upper limit to the size of data that can be input, so there is a problem that the accuracy of error correction cannot be improved if the upper limit of the size of data that can be input is exceeded.
[0008] Therefore, it is thought that the data of the error amount is compressed and then input to the control device. As a technology for compressing data, data encoding technology can be listed, and entropy encoding technology represented by Huffman code is known. In entropy encoding technology, data is compressed by utilizing the frequency deviation of values on the data, that is, the size of information entropy.
[0009] However, axis-dependent data, such as the above-mentioned error amount, which depends on the coordinate values of each axis of the industrial machine, sometimes has the property of white noise with the same frequency of occurrence. In this case, the above-mentioned information entropy cannot be used, so it is difficult to achieve data compression based on entropy coding.
[0010] The present disclosure has been made in view of the above circumstances, and an object of the present disclosure is to provide a data encoding technology capable of encoding and compressing axis-dependent data that depends on coordinate values of each axis of an industrial machine.
[0011] Means for solving problems
[0012] One method disclosed herein is a data encoding device for encoding data, comprising: a model approximation encoding unit, which generates encoded axis-dependent data obtained by encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of an industrial machine, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machine.
[0013] In addition, another method of the present invention is a data encoding program for encoding data, and the data encoding program is used to enable a computer to perform the following steps: generating encoded axis-dependent data obtained by encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
[0014] Effects of the Invention
[0015] According to the present disclosure, it is possible to provide a data encoding technology capable of encoding and compressing axis-dependent data that depends on coordinate values of each axis of an industrial machine. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 It is a diagram showing the structure of the data encoding device according to the first embodiment.
[0017] Figure 2 This is a diagram showing an example of a text file containing only specific characters.
[0018] Figure 3 This is a diagram showing an example of data represented by a distribution in which the frequency of appearance of each value exists.
[0019] Figure 4 This is a graph showing data in which the frequency of occurrence of each value is the same.
[0020] Figure 5 This is a diagram showing the errors of each axis on the X-axis.
[0021] Figure 6 This is a diagram showing the errors of each axis on the Y axis.
[0022] Figure 7 It is a graph showing the error amount of the coordinate value (X2, Y1).
[0023] Figure 8 This is a diagram showing the error amount when it is not represented by the linear combination of the errors of each axis.
[0024] Fig. 9 yes Figure 8 A partial enlarged view of .
[0025] Fig.10 A diagram showing a bitmap image after visualizing the error map.
[0026] Fig.11 This is a diagram showing an example of axis-dependent data.
[0027] Fig.12 It means that Fig.11 A plot of the linear combination model in which the axis-dependent data are approximated as a linear combination of the errors of each axis of an industrial machinery.
[0028] Fig.13 It is a diagram showing the structure of the data encoding device according to the second embodiment.
[0029] Fig.14 This is a diagram showing axis-dependent data divided into a plurality of regions in a grid shape.
[0030] Fig.15 This is a diagram showing an example of axis-dependent data after segmentation.
[0031] Fig.16 It is a diagram showing the structure of the data encoding device according to the third embodiment.
[0032] Fig.17 This is a flowchart showing the process of dividing the axis-dependent data in the dynamic programming processing unit.
[0033] Fig.18 This is a diagram showing the divided intervals before one column of each axis data (each axis error) is expanded in the positive X direction.
[0034] Fig.19 This is a diagram showing the divided intervals after one column of each axis data (each axis error) is expanded in the positive X direction.
[0035] Fig. 20 It is a diagram showing the structure of the data encoding device according to the fourth embodiment.
[0036] Fig.21 is a graph showing the approximation error (vector γ[X][Y]).
[0037] Fig. 22 It is a diagram showing the structure of the data encoding device according to the fifth embodiment.
[0038] Fig.23 It is a graph showing the approximation error (vector γ[X][Y]) including an exceptional point that is larger than the specified tolerance.
[0039] Fig.24 It is a diagram showing the exceptional points in the approximation error (vector γ[X][Y]) that are larger than a specified tolerance and are therefore excluded and retained.
[0040] Fig.25 It is a diagram showing the structure of a data encoding device according to the sixth embodiment.
[0041] Fig.26 It is a diagram showing the structure of the data encoding device according to the seventh embodiment.
[0042] Fig. 27 It is a flowchart showing the learning processing procedure of the machine learning device 9. DETAILED DESCRIPTION
[0043] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second embodiment and thereafter, description of the configuration common to the first embodiment will be appropriately omitted.
[0044] [First embodiment]
[0045] The data encoding device 1 of the first embodiment is a data encoding device that can encode and compress axis-dependent data that depends on the coordinate values of each axis of the industrial machine, represented by the error amount used in the error correction of each axis of the industrial machine. As described above, the axis-dependent data that depends on the coordinate values of each axis of the industrial machine sometimes has the properties of white noise with the same frequency of occurrence as a whole. Therefore, it is difficult to compress the data in the conventional entropy encoding technology that uses the frequency deviation of the values on the data, that is, the size of the information entropy. In contrast, the data encoding device 1 of the present embodiment can encode and compress the axis-dependent data that depends on the coordinate values of each axis of the industrial machine.
[0046] Figure 1 1 is a diagram showing the structure of the data encoding device 1 according to the first embodiment. Figure 1 As shown, the data encoding device 1 includes a model approximation encoding unit 11. The model approximation encoding unit 11 generates encoded axis-dependent data obtained by encoding the axis-dependent data based on the axis-dependent data and the linear combination model. When describing the structure of the data encoding device 1, first, a conventional data encoding technology is described.
[0047] Conventionally, entropy coding techniques such as Huffman codes are known as data coding techniques. Entropy coding techniques compress data by utilizing the frequency deviation of values on data, that is, the magnitude of information entropy.
[0048] Here, Figure 2 is a diagram showing an example of a text file containing only specific characters. Figure 3 This is a graph showing an example of data showing the frequency of occurrence of each value in a certain distribution. Figure 2 and Figure 3 In , the horizontal axis represents the bit value and the vertical axis represents the frequency of occurrence of each value. Figure 2For example, a text file containing only 16 characters, 0 to 9 and A to F, as specific characters, usually requires 8 bits to represent one character. However, entropy coding can represent one character with a maximum of 4 bits, so the data can be compressed to about half. Figure 3 As shown, for data with different frequencies of occurrence, short bit values are assigned to high-frequency values and long bit values are assigned to low-frequency values through entropy coding, thereby compressing the data.
[0049] In contrast, Figure 4 is a graph showing data where the frequency of occurrence of each value is the same. Figure 2 and Figure 3 Same, in Figure 4 In , the horizontal axis represents the bit value and the vertical axis represents the frequency of occurrence of each value. Figure 4 Data of white noise with the same frequency of occurrence as shown cannot utilize the magnitude of the information entropy described above, and therefore, it is difficult to achieve data compression based on entropy coding.
[0050] However, as static error corrections for each axis of industrial machinery, pitch error correction, straightness error correction, and three-dimensional error correction can be listed. Pitch error correction is error correction along the axial direction. Straightness error correction is error correction in a direction orthogonal to the axial direction. Three-dimensional error correction is correction of three-dimensional space errors. These error corrections are performed by inputting the error amount measured according to the coordinate value of each axis (hereinafter referred to as each axis error) into the control device in the amount of the number of axes. The more input points there are, the higher the accuracy of the error correction, but there is an upper limit to the size of data that can be input.
[0051] Figure 5 This is a graph showing the axis errors of the X axis. The axis errors of the X axis are the errors of the coordinate values measured when only the X axis is moved while the Y axis and Z axis are fixed. Figure 5 As shown, the error amounts of the coordinate values X0, X1, X2 and X3 are represented by vectors with different sizes and directions.
[0052] in addition, Figure 6 This is a graph showing the axis errors of the Y axis. The axis errors of the Y axis are the errors of the coordinate values measured when only the Y axis is moved while the X axis and the Z axis are fixed. Figure 6 As shown, the error amounts of the coordinate values Y0, Y1 and Y2 are represented by vectors with different sizes and directions.
[0053] Here, in the error correction of each axis, it is assumed that the errors of each axis are linearly independent. That is, the coordinate values X1, ..., X L The error in the vector E[X 1 ]…、[X L]) is assumed to be a linear combination of the errors of each axis, as expressed by the following mathematical formula (1).
[0054] [Mathematical formula 1]
[0055]
[0056] In the above mathematical formula (1), L represents the number of axes to be corrected for error. 1 Indicates the lth correction target axis.
[0057] The above mathematical formula (1) based on the above assumption is often valid, and in the past, the error correction of each axis was widely used. For example, Figure 7 is a graph showing the amount of error in the coordinate values (X2, Y1). Figure 7 As shown, the error amount (vector E[X2][Y1]) in the coordinate value (X2, Y1) can be regarded as the error amount (vector E X [X2]) and the error between the coordinate value Y1 (vector E Y [Y1]) is expressed as the following mathematical formula (2).
[0058] [Mathematical formula 2]
[0059]
[0060] However, overall, there are errors in each axis (vector E X [X], vector E Y [Y]) or the frequency of occurrence of the value in the error amount (vector E[X][Y]) is the same, which is the case of white noise. In this case, it is difficult to compress this data in the previous entropy coding technology that uses the frequency deviation of the value on the data, that is, the size of the information entropy.
[0061] In addition, the errors of each axis are not linearly independent, and the error amount (vector E[X 1 ]…[X L ]) is sometimes determined by the correlation of multiple axes. That is, as shown in the following mathematical formula (3), the error amount (vector E[X 1 ]…[X L ]) and sometimes also contain related terms (the vector δ[X 1 ]…[X L ]) and cannot be expressed by a linear combination of the errors of the axes.
[0062] [Mathematical formula 3]
[0063]
[0064] Figure 8This is a graph showing the amount of error when it cannot be expressed by a linear combination of the errors of each axis. Figure 8 As shown, when the errors of each axis are not linearly independent, the error amount (vector E[X 1 ]…[X L ]), it needs to be set to include the relevant terms expressed by the above mathematical formula (3) (vector δ[X 1 ]…[X L ]) rather than the error amount represented by the above mathematical formula (1). In this case, the error amount (hereinafter referred to as spatial error) is input into the control device for correction according to the space related to the error amount, so it is called error correction of each space.
[0065] Here, the inventors have found that the spatial error has the following property: even if the spatial error is not represented as a linear combination of the errors of each axis as a whole, it can be locally regarded as a linear combination of the errors of each axis, just like the errors of each axis. Fig. 9 yes Figure 8 A partial enlargement of Fig. 9 In the local area surrounded by the dotted line in the figure, the above-mentioned correlation term (vector δ[X 1 ]…[X L ]) can be regarded as 0, and the spatial error can be expressed as a linear combination of the errors of each axis. That is, the spatial error (vector E[X][Y]) is expressed as the linear combination of the errors of each axis (vector E X [X]) and the axis errors (vector E Y This means that the spatial error (vector E[X][Y]) can be approximated by taking the error amount in the X-axis direction (vector E[X][Y]) from the axis data (axis errors) at multiple coordinate points in a grid. X [X]) and the error in the Y-axis direction (vector E Y [Y]), and linearly combine them. In addition, as a local area, for example, the central area of the movable range of industrial machinery can be cited.
[0066] [Formula 4]
[0067]
[0068] However, overall, there are cases where the frequency of occurrence of values in the spatial error (vector E[X][Y]) is uniform and is white noise, which is difficult to compress using the previous entropy coding technology that uses the size of information entropy. For example, Fig.10 This is a diagram showing a bitmap image after the error map is visualized when the error correction target axes are set to the two axes of X and Y. The RGB value of each pixel corresponds to the error amount vector E. In addition, the error amount of each pixel (vector E[X][Y]) is given by the vector E according to the above mathematical formula (4).X [X] and vector E Y [Y] is expressed as the sum of. For example, Fig.10 When the number of pixels of the bitmap image shown is 10×10, which is 374 bytes, if it is encoded by ZIP compression, which is a representative entropy coding technology, it becomes 393 bytes. Thus, it can be seen that the conventionally known entropy coding has no compression effect, and the data size increases depending on the situation, which is a counterproductive effect.
[0069] Based on the above, in this embodiment, even axis-dependent data that depends on the coordinate values of each axis of the industrial machine, such as the error amount used in the error correction of each axis of the industrial machine, can be partially utilized, as shown in the above mathematical formula (1), which can be regarded as a linear combination of the errors of each axis. Therefore, in the data encoding device 1 of this embodiment, it is possible to encode and compress axis-dependent data that was difficult in the past.
[0070] Back to Figure 1 The data encoding device 1 of the present embodiment is constituted by, for example, a computer, wherein the computer has a memory such as a ROM (read only memory) and a RAM (random access memory) connected to each other via a bus, a CPU (control processing unit), an operation unit such as a keyboard, a display, and a communication control unit. The functions and actions of the functional units described below are achieved by the cooperation of the CPU, the memory, and the control program stored in the memory mounted on the computer.
[0071] The data encoding device 1 may be provided in a numerical controller (CNC) or a robot controller corresponding to a control device of an industrial machine such as a machine tool or a robot, or may be provided in an external computer or the like so as to be communicable with these control devices.
[0072] The model approximation encoding unit 11 of the data encoding device 1 of the present embodiment generates encoded axis-dependent data obtained by encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data (axis errors) of the industrial machinery. For example, the axis-dependent data is input from the above-mentioned control device, etc. In addition, the linear combination model is stored in the storage unit of the data encoding device 1, for example.
[0073] Here, the axes of the industrial machinery refer to the axes of the machine tool, i.e., the X-axis, Y-axis, and Z-axis. In addition, as axis-dependent data, in addition to the error amount used in the error correction of the axes of the industrial machinery, for example, the setting error amount of a large workpiece whose displacement varies according to the coordinate value due to the bending effect caused by its own weight can also be listed. These error amounts and the setting error amount of the workpiece are data that depend on the coordinate values of the axes of the industrial machinery.
[0074] Below, refer to Fig.11 as well as Fig.12 The model approximate coding unit 11 of the present embodiment uses the model approximate coding of the linear combination model, which is described in detail.
[0075] Fig.11 is a diagram showing an example of axis-dependent data. Fig.11 In the example shown, axis-dependent data is shown when the target axes for error correction and the like are two axes, namely, the X axis and the Y axis. Fig.11 The axis-dependent data shown is, for example, the error amount of each axis of industrial machinery, and the axis-dependent data of a local area in the axis-dependent data without the frequency deviation of the value on the data as a whole is the axis-dependent data that can be approximated by the linear combination model described later. Fig.11 In the example of the axis-dependent data shown, data of each axis (error of each axis) having N×M points are totaled.
[0076] Fig.12 It means that Fig.11 The axis-dependent data is approximated as a linear combination model of the linear combination of the errors of each axis of the industrial machinery. As mentioned above, even if the error amount (vector E[X 1 ]…[X L ]) according to the model represented by the above mathematical formula (3), and the whole is regarded as a related term (vector δ[X 1 ]…[X L ]) is strongly affected, it is also believed that there is a region that can be approximated by the linear combination model represented by the above mathematical formula (1) locally. For such an approximable region, Fig.12 As shown, the approximate model (vector Ea[X 1 ]…[X L ]) to express the error amount. That is, the error amount can be approximated as follows: Take out the error amount of a column in the X-axis direction (vector Ea X [X]) and the error in the Y-axis direction (vector Ea Y [Y]) and combine them linearly. Fig.12 In the example shown, the approximated data of each axis (error of each axis) totals N+M points, and it can be seen that the axis-dependent data can be compressed.
[0077] [Mathematical formula 5]
[0078]
[0079] In the above mathematical formula (5), X 1 , X L As shown in the following mathematical formula (6), the vector c is defined as the average value as shown in the following mathematical formula (7). X 1 [X 1 ] is expressed as the following mathematical formula (8). In addition, L represents the number of axes to be corrected for error, X 1 represents the first correction target axis, and N1 represents the number of error amount points of the first correction target axis.
[0080] [Mathematical formula 6]
[0081]
[0082] [Formula 7]
[0083]
[0084] [Mathematical formula 8]
[0085]
[0086] Among them, x p is satisfied Any value of It is common in China.
[0087] In the mathematical formula (8), X represents a one-dimensional axial space, whereas x represents an element (factor) belonging to the space. p is any value from 1 to L. For example, if x 3 , which means that the axis X 3 A possible value.
[0088] If the vector c is defined as in the above mathematical formula (7), then the approximate model of the above linear combination model (vector Ea[X1]…[X L ]) is a maximum likelihood estimation model that minimizes the evaluation function J represented by the following mathematical formula (9). That is, the evaluation function J is represented by the original error amount before approximation (vector E[X 1 ]…[X L ]) and the approximated error (vector Ea[X 1 ]…[X L ]) to determine the approximate model (vector Ea[X1]…[X L]), so that the evaluation function J is minimized. The approximate model of the linear combination model determined in this way is stored in, for example, a storage unit of the data encoding device 1 and used for model approximate encoding by the model approximate encoding unit 11.
[0089] [Mathematical formula 9]
[0090]
[0091] According to this embodiment, the following effects are achieved.
[0092] In the data encoding device 1 of the present embodiment, a model approximation encoding unit 11 is provided. The model approximation encoding unit 11 generates encoded axis-dependent data obtained by encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the data of each axis of the industrial machinery (the errors of each axis). In the past, for axis-dependent data in which the overall frequency of occurrence is the same and white noise exists, such as the error amount of each axis of the industrial machinery, it is difficult to compress the data in the previous entropy encoding technology that uses the frequency deviation of the value on the data, that is, the size of the information entropy. In contrast, according to the present embodiment, by approximating a part of the axis-dependent data as a linear combination of the data of each axis (the errors of each axis), the axis-dependent data that was difficult to compress in the past can be encoded and compressed. Furthermore, by using the encoded axis-dependent data compressed by encoding according to the present embodiment, it is possible to increase the data such as the error amount that can be input to the control device of the industrial machinery without increasing the storage capacity, and the error of the industrial machinery can be corrected with higher accuracy.
[0093] [Second embodiment]
[0094] Fig.13 2 is a diagram showing the structure of a data encoding device 2 according to the second embodiment. Fig.13 As shown, the data encoding device 2 of the second embodiment is different from the data encoding device 1 of the first embodiment in that it has an axis-dependent data segmentation unit 22. In addition, the model approximation encoding unit 21 of the second embodiment is different from the model approximation encoding unit 11 of the first embodiment in that the model approximation encoding unit 21 of the second embodiment performs model approximation encoding based on the segmented axis-dependent data generated by segmenting the axis-dependent data into a plurality of pieces and the above-mentioned linear combination model. The structure other than these differences is the same as that of the first embodiment.
[0095] The data encoding device 1 of the first embodiment described above treats a portion of the axis-dependent data in which white noise has the same frequency of occurrence as a whole as data that can be regarded as a linear combination of the axis data (the axis errors), and performs model approximation encoding of the linear combination model. In contrast, the data encoding device 2 of the present embodiment actively divides the axis-dependent data into a plurality of regions, generates a plurality of regions that can be regarded as a linear combination of the axis data (the axis errors), and can more reliably perform model approximation encoding of the linear combination model.
[0096] The axis-dependent data dividing unit 22 divides the axis-dependent data to generate a plurality of divided axis-dependent data. Fig.14 is a graph showing axis-dependent data divided into multiple regions in a grid. Fig.14 As shown in FIG. 1 , the axis-dependent data input to the data encoding device 2 is divided into a plurality of grid-like regions according to the axis data (axis errors) at the coordinate values. Fig.14 In the example shown, the axis-dependent data is divided into a grid of 15×15=225 points. The axis-dependent data dividing unit 22 divides the axis-dependent data into a plurality of points along these divisions, for example.
[0097] The axis-dependent data segmentation unit 22 is not particularly limited in its axis-dependent data segmentation method, but preferably, the axis-dependent data is segmented in such a way that a plurality of regions that can be regarded as linear combinations of the axis data (the axis errors) are generated. It is particularly preferred that the axis-dependent data segmentation unit 22 segment the axis-dependent data into a plurality of regions that can best approximate (compress) the axis-dependent data.
[0098] Fig.15 is a diagram showing an example of axis-dependent data after segmentation. Fig.15 In the example shown, the axis-dependent data input to the data encoding device 2 is divided into five divided intervals 1 to 5 by the axis-dependent data dividing unit 22. That is, each data in each area of the five divided intervals 1 to 5 is equivalent to the axis-dependent data after division, and these divided axis-dependent data can be regarded as a linear combination of each axis data (each axis error), and the model approximate encoding of the linear combination model performed by the model approximate encoding unit 21 described later can be realized. On the other hand, outside the area of the five divided intervals 1 to 5, the axis-dependent data cannot be regarded as a linear combination of each axis data (each axis error), and the model approximate encoding of the linear combination model cannot be realized.
[0099] The model approximation encoding unit 21 generates the encoded axis-dependent data based on the plurality of segmented axis-dependent data and the linear combination model. As described above, in each region of the plurality of segmented intervals 1 to 5, the axis-dependent data can be regarded as a linear combination of the axis data (the axis errors). Therefore, the model approximation encoding unit 21 generates the encoded axis-dependent data compressed by the model approximation by performing the model approximation encoding of the linear combination model on the segmented axis-dependent data.
[0100] According to this embodiment, the following effects are achieved.
[0101] In the data encoding device 2 of the present embodiment, an axis-dependent data segmentation unit 22 is provided for segmenting the axis-dependent data to generate a plurality of segmented axis-dependent data. In addition, the model approximation encoding unit 21 is configured to generate the encoded axis-dependent data based on the plurality of segmented axis-dependent data and the linear combination model. Thus, according to the present embodiment, by actively segmenting the axis-dependent data into a plurality of regions, a plurality of regions that can be regarded as linear combinations of the axis data (the errors of the axes) can be generated, and by performing model approximation encoding of the linear combination model on each region, the axis-dependent data that was previously difficult to compress can be more reliably compressed.
[0102] [Third Embodiment]
[0103] Fig.16 FIG. 4 is a diagram showing the structure of a data encoding device 3 according to a third embodiment. Fig.16 As shown, the data encoding device 3 of the third embodiment is different from the second embodiment in that the structure of the axis-dependent data division unit 32 is different from the axis-dependent data division unit 22 of the second embodiment. The structure other than this difference is the same as the second embodiment.
[0104] In the data encoding device 2 of the second embodiment described above, the method of dividing the axis-dependent data is not particularly limited, but in the data encoding device 3 of the third embodiment, the axis-dependent data is divided using the dynamic programming method. That is, by using the dynamic programming method, the optimal division of the axis-dependent data can be performed, and the axis-dependent data can be best approximated and compressed.
[0105] like Fig.16 As shown, the axis-dependent data segmentation unit 32 of the present embodiment has a dynamic programming method processing unit 33. The dynamic programming method processing unit 33 generates the optimal segmented axis-dependent data by executing the dynamic programming method. Specifically, the dynamic programming method processing unit 33, as a functional unit for executing the dynamic programming method, has: an optimality evaluation unit 34 after model approximate encoding, a partial segmentation unit 35 of the axis-dependent data, and an optimization result combination unit 36 of the partial axis-dependent data.
[0106] Here, the dynamic programming method executed by the dynamic programming processing unit 33 will be described in detail.
[0107] Dynamic programming is a general algorithm for solving optimization problems. Dynamic programming is an algorithm with the following two characteristics. The first characteristic is that it solves problems recursively. That is, it is characterized by dividing the problem into small-scale partial problems, recursively optimizing the partial problems, and combining the optimization results of the partial problems as the solution to the original problem of a larger scale. In addition, the second characteristic is that the processing load can be reduced by recording the optimization results. That is, it is characterized by that in the process of recursively solving the problem, the same problem sometimes appears multiple times, and in order to omit the calculation of the solved problem, the optimization results of the problem that has been solved once are recorded in advance and reused.
[0108] Therefore, the dynamic programming method processing unit 33 of the present embodiment has an optimality evaluation unit 34 after model approximate encoding as a unit for evaluating the optimality of the result. That is, the optimality evaluation unit 34 after model approximate encoding evaluates the optimality of the axis-dependent data after encoding. The optimality evaluation of the axis-dependent data after encoding can be evaluated, for example, based on whether the approximate error amount after model approximate encoding is within a specified limit tolerance. In addition, as described in the fourth embodiment below, the approximate error amount after model approximate encoding is the difference between the original error amount before model approximate encoding described in the first embodiment and the error amount after model approximate encoding. The limit tolerance can be, for example, the approximate error allowable value or the number of data allowable points exceeding the approximate error allowable value.
[0109] In addition, the dynamic programming method processing unit 33 of the present embodiment has an axis-dependent data partial segmentation unit 35 as a unit for segmenting a problem to perform partial problemization. The axis-dependent data partial segmentation unit 35 generates partial axis-dependent data by segmenting the axis-dependent data into a plurality of parts. The axis-dependent data partial segmentation unit 35, for example, segments the axis-dependent data interval into a prescribed designated interval according to a prescribed segmentation criterion stored in advance, and then optimizes by reducing the axis-dependent data by 1 point in each of the + direction or - direction of each axis such as the X-axis and the Y-axis, thereby segmenting the axis-dependent data into a plurality of parts. The axis-dependent data segmentation performed by the axis-dependent data partial segmentation unit 35 will be described in detail later.
[0110] In addition, the dynamic programming method processing unit 33 of the present embodiment has an optimization result combination unit 36 for partial axis-dependent data, which serves as a unit for combining (combining) optimization results of partial problems. The optimization result combination unit 36 for partial axis-dependent data generates the optimal post-segmentation axis-dependent data by expanding and combining the partial axis-dependent data. The optimization result combination unit 36 for partial axis-dependent data optimizes, for example, the partial axis-dependent data generated by the partial segmentation unit 35 of the axis-dependent data splitting the axis-dependent data by expanding each of the + direction or - direction of each axis such as the X-axis and the Y-axis by 1 point. The generation of the optimal post-segmentation axis-dependent data by the optimization result combination unit 36 for partial axis-dependent data will be described in detail later.
[0111] Below, refer to the above Fig.14 as well as Fig.15 , Fig.17 as well as Fig.18 The division of the axis-dependent data by the dynamic programming processing unit 33 will be described in detail.
[0112] As mentioned above Fig.14 As shown in FIG. 1 , the axis-dependent data is divided into a grid of, for example, 15×15=225 points. If the dynamic programming processing unit 33 divides such axis-dependent data into sections, for example, Fig.15 The axis-dependent data after segmentation as shown. In the interval segmentation of the axis-dependent data of the dynamic programming method processing unit 33, the approximate error of each error amount when approximating each area of the segmented interval by the above-mentioned approximate model is converged within the restricted allowable amount. In addition, the points where the approximate error does not converge within the restricted allowable amount are allowed to be limited to the allowed number of points. Nevertheless, the number of points that cannot be approximated and do not meet the restrictions can be minimized. Thus, for example, the number of data points 225 can be compressed to 92 points, which can reduce the data size.
[0113] Fig.17 : is a flowchart showing the process of dividing the axis-dependent data by the dynamic programming processing unit 33. The division of the axis-dependent data by the dynamic programming processing unit 33 is performed by recursively searching for the optimal division interval of the axis-dependent data by the dynamic programming method.
[0114] In step S1, the axis-dependent data section is divided into predetermined designated sections. However, if the axis-dependent data division process by the dynamic programming processing unit 33 is completed, the stored process result may be reflected in this step. Then, the process proceeds to step S2.
[0115] In step S2, an approximate model of the area (designated area) in the designated interval after the interval division in step S1 is generated. Specifically, for each designated area, an approximate model (vector Ea[X1]…[X2]) as a linear combination model described in the first embodiment is generated. L ]). Then, proceed to step S3.
[0116] In step S3, it is determined whether the approximate model of the designated area generated in step S2 satisfies all point restrictions. As restrictions, it can be listed whether the approximate errors of all points are within the allowable value, or whether the points whose approximate errors are not within the allowable value are within the allowable number of points. If the determination is yes, the axis-dependent data is optimally segmented to obtain the optimal segmented axis-dependent data, and the process is terminated. On the other hand, if the determination is no, the process proceeds to step S4.
[0117] In step S4, n is set to an initial value of 1. Here, the value of n represents each axis. For example, when the axis structure is a total of two axes, the X axis is represented when n is 1, and the Y axis is represented when n is 2. Then, the process proceeds to step S5.
[0118] In step S5, it is determined whether n is greater than L. Here, L is the number of axes in the specified interval of the axis-dependent data. For example, if there are two axes, the X-axis and the Y-axis, L is 2. If the determination is yes, the process proceeds to step S11. On the other hand, if the determination is no, the process proceeds to step S6.
[0119] Regarding the processing of steps S6 to S10, when n is less than L and the number of axes is two axes, the X axis and the Y axis, if n is 1, it indicates processing for the X axis, and if n is 2, it indicates processing for the Y axis.
[0120] In step S6, the axis-dependent data section is divided into the specified section from step S1 to X. n The positive direction shrinks the specified interval of each axis data (axis error). n The positive direction shrinks a column of axis data (axis error) into a new interval division. If n is 1, then X n The positive direction refers to the positive direction of the X axis. The result is output as the optimization result nP. If n is 1, the optimization result 1P is output. Then, the process proceeds to step S7.
[0121] In step S7, the optimization result nP obtained in step S6 is transmitted to X n Expand a column of axis data (axis error) in the positive direction. Output the result as optimization result nP + If n is 1, the output optimization result is 1P + Since n can be in the range of 1 to L, through this step, the optimization results 1P to LP are obtained.+ . Then, proceed to step S8.
[0122] In step S8, the axis-dependent data section is divided into the sections from the designated section in step S1 to the X section. n The negative direction shrinks the specified interval of each axis data (axis error). n The negative direction reduces the new interval division of a column of axis data (axis error). If n is 1, then X n The negative direction refers to the negative direction of the X axis. The result is output as the optimization result nM. If n is 1, the optimization result 1M is output. Then, the process proceeds to step S9.
[0123] In step S9, the optimization result nM obtained in step S8 is transferred to X n Expand a column of axis data (axis error) in the negative direction. Output the result as optimization result nM + If n is 1, the output optimization result is 1M + Since n can be in the range of 1 to L, through this step, the optimization results 1M to LM are obtained. + . Then, proceed to step S10.
[0124] In step S10, n is incremented by 1. Thereafter, the process returns to step S5.
[0125] In addition, when n is larger than L, if the number of axes is two axes, the X axis and the Y axis, then step S11 is the processing after the processing for the X axis and the Y axis is completed in steps S6 to S10. In step S11, the optimization results 1P to LP obtained in steps S6 to S10 are output. + , 1M~LM + The result with the minimum number of inapproximable points in . That is, for the optimization results 1P~LP + , 1M~LM + For each of them, calculate the number of inapproximable points where the approximate model generated in step S3 does not satisfy the above restrictions, output the result with the smallest number of inapproximable points and the best approximation and the most compressed data, and end this processing.
[0126] Here, list Fig.18 as well as Fig.19 The specific example shown is a more detailed description of the process of expanding one column of each axis data (each axis error) in the positive X direction in the above-mentioned step S7. Fig.18 This is a diagram showing the segmented interval before expanding a column of each axis data (each axis error) in the positive X direction. Fig.19 This is a diagram showing the segmented intervals after a column of each axis data (each axis error) is expanded in the positive X direction. Fig.18 and Fig.19In the figure, different numbers are marked according to the segmentation intervals.
[0127] like Fig.18 As shown, first, sections 1 to 5 are extracted as continuous sections appearing at the ends in the positive X direction before a column of each axis data (each axis error) is expanded.
[0128] Next, for each of the extracted intervals 1 to 5, a column of axis data (axis errors) is expanded, such as Fig.19 As shown, the extended intervals 1 to 5 are generated.
[0129] Next, for each of the expanded intervals 1 to 5, check whether the above approximate model satisfies the above constraints. If the constraints are satisfied, the expanded interval is set as the new interval. Fig.19 In the example shown, after the expansion, intervals 1 and 4 satisfy the restrictions and are therefore set as new intervals.
[0130] When the restrictions are not met, the range of the expansion amount is set to an undetermined range. Fig.19 In the example shown, the extended interval 2 does not satisfy the restriction and is therefore set as an undetermined interval.
[0131] In addition, when the undetermined interval is larger than a certain area (for example, 2×2), it is confirmed whether the above approximate model satisfies the above restrictions. Fig.19 In the example shown, since the expanded section 3 is larger than a certain area (for example, 2×2), this determination is performed. Up to this point, the expanded section is also regarded as an undetermined section.
[0132] In addition, when the interval before expansion is an NG interval, that is, an interval that does not meet the constraints and cannot be approximated, the interval of the expansion amount is set as an undetermined interval. Fig.19 In the example shown, the extended interval 5 corresponds to this, and therefore is set as an undetermined interval.
[0133] Through the above process, sometimes there are still undetermined intervals left at the end. Such intervals can be finally set as NG intervals, that is, intervals that do not meet the constraints and cannot be approximated.
[0134] According to this embodiment, the following effects are achieved.
[0135] In the data encoding device 3 of the present embodiment, a dynamic programming method processing unit 33 is provided for generating optimal segmented axis-dependent data by executing a dynamic programming method. In addition, the dynamic programming method processing unit 33 is composed of an optimality evaluation unit 34 for evaluating the optimality of the encoded axis-dependent data, a partial segmentation unit 35 for segmenting the axis-dependent data into a plurality of parts to generate partial axis-dependent data, and an optimization result combination unit 36 for combining the optimization results of the partial axis-dependent data to generate the optimal segmented axis-dependent data. Thus, according to the present embodiment, the axis-dependent data can be segmented into optimal segmented axis-dependent data that can be compressed while minimizing the number of data, so that multiple optimal regions that can be regarded as linear combinations of the axis data (the errors of the axes) can be generated, and the axis-dependent data that was previously difficult to compress can be further compressed by performing model approximation encoding of the linear combination model on each region.
[0136] [Fourth Embodiment]
[0137] Fig. 20 4 is a diagram showing the structure of a data encoding device 4 according to a fourth embodiment. Fig. 20 As shown, the data encoding device 4 of the fourth embodiment is different from the model approximate encoding unit 11 of the first embodiment in that the model approximate encoding unit 41 has an approximate error calculation unit 42. In addition, the data encoding device 4 of the fourth embodiment is different from the data encoding device 1 of the first embodiment in that it has an approximate error encoding unit 43. The configuration other than these differences is the same as that of the first embodiment.
[0138] The approximation error calculation unit 42 calculates the approximation error amount. The approximation error calculation unit 42 of this embodiment is provided in the model approximation encoding unit 41, and calculates the approximation error amount when the axis-dependent data is model-approximated. The approximation error amount will be described in detail later.
[0139] The approximate error coding unit 43 codes the approximate error amount to generate the coded approximate error amount. As described later, the approximate error amount calculated by the approximate error calculation unit 42 has a deviation in the frequency of occurrence of the value on the data, and the information entropy is often small. Therefore, it is possible to achieve data compression by encoding through entropy coding known in the past. Alternatively, data compression can also be performed by encoding through model approximate coding of a linear combination model executed by the model approximate coding unit 41.
[0140] Hereinafter, the approximate error amount and the encoding of the approximate error amount by the approximate error encoding unit 43 will be described in more detail.
[0141] As described in the first embodiment, in the approximate model (vector Ea[X 1 ]…[XL ]) to express the error, the approximate error (vector γ[X 1 ]…[X L ]) is expressed by the following mathematical formula (10).
[0142] [Formula 10]
[0143]
[0144] In mathematical formula (10), the vector E[X 1 ]…[X L ] is the original error before the model is approximated, and the vector Ea[X 1 ]…[X L ] is the error after the model is approximated. According to the mathematical formula (10), these differences are the approximate errors (vector γ[X 1 ]…[X L ]).
[0145] Here, the approximate model (vector Ea[X 1 ]…[X L ]) is the maximum likelihood inference model, so the approximate error (vector γ[X 1 ]…[X L ]) is minimized and is only a very small value. Here, Fig.21 is a graph showing the approximation error (vector γ[X][Y]). Fig.21 As shown in the figure, the approximate error (vector γ[X][Y]) is not uniform only for small values, and the frequency distribution of this value is also not uniform. 1 ]…[X L ]) to compress the data.
[0146] In the approximation error (vector γ[X 1 ]…[X L ]), there is no particular restriction on the encoding method. For example, the approximate error (vector γ[X 1 ]…[X L ]) can be encoded, or the approximate error (vector γ[X 1 ]…[X L ]) to encode.
[0147] Using the approximate model alone (vector Ea[X 1 ]…[X L ]), and the original error (vector E[X 1 ]…[X L ]) is different from the approximate error (vector γ[X1 ]…[X L ]), and the approximate error (vector γ[X 1 ]…[X L ]) There is also the amount of data points on each axis, so if we keep it directly, we cannot compress the data, but by approximating the error (vector γ[X 1 ]…[X L ]) is encoded and the approximate model (vector Ea[X 1 ]…[X L ]) combination, it is possible to compress and reproduce the original error amount without loss (vector E[X 1 ]…[X L ]), and can also reduce the total data size.
[0148] According to this embodiment, the following effects are achieved.
[0149] In the data encoding device 4 of the present embodiment, the model approximate encoding unit 41 is provided with an approximate error calculation unit 42 that calculates the approximate error amount. In addition, the data encoding device 4 is configured to further include an approximate error encoding unit 43 that encodes the approximate error amount to generate the encoded approximate error amount. Thus, according to the present embodiment, in addition to encoding and compressing axis-dependent data that was difficult to compress in the past, the total data size can be further reduced by encoding the approximate error amount, and the axis-dependent data such as the original error amount can be reproduced without loss.
[0150] [Fifth Embodiment]
[0151] Fig. 22 1 is a diagram showing the structure of a data encoding device 5 according to a fifth embodiment. Fig. 22 As shown, the data encoding device 5 of the fifth embodiment is different from the data encoding device 4 of the fourth embodiment in that it further includes an approximate error removal unit 53 of a predetermined tolerance or more. In addition, the approximate error encoding unit 54 is different from the approximate error encoding unit 43 of the fourth embodiment in that it encodes the approximate error amount within the predetermined tolerance. The configuration other than these differences is the same as that of the fourth embodiment.
[0152] The approximate error removal unit 53 generates an approximate error amount within a predetermined tolerance by removing the approximate error amount exceeding a predetermined tolerance from the approximate error amount. Fig.23 is a graph showing the approximation error (vector γ[X][Y]) including exceptional points that are larger than the specified tolerance. Fig.23 As shown, the difference between the original error amount before model approximate coding and the error amount after model approximate coding, i.e., the approximate error (vector γ[X][Y]), may contain an exception point larger than a predetermined tolerance. In this embodiment, the approximate error removal unit 53 removes the exception point.
[0153] in addition, Fig.24 This is a diagram showing the exceptional points in the approximate error (vector γ[X][Y]) that are larger than the prescribed tolerance and therefore excluded and retained. In this way, the approximate error removal unit 53 can separately retain: the exceptional points whose approximate errors are larger than the prescribed tolerance removed from the approximate error amount, that is, the approximate error amount that exceeds the prescribed tolerance. In this way, the axis-dependent data such as the original error amount can be compressed and reproduced without loss.
[0154] As the prescribed tolerance, the approximate error allowable value and the prescribed number of points (the permitted number of points) of data exceeding the approximate error allowable value can be listed. At this time, the approximate error removal unit 53 excludes the points exceeding the pre-set approximate error allowable value and the prescribed number of points exceeding the approximate error allowable value from the approximate error (vector γ[X][Y]). In addition, 0 may also be included as the prescribed tolerance.
[0155] The approximate error encoding unit 54 encodes the approximate error amount within a predetermined tolerance to generate the encoded approximate error amount. 1 ]…[X L ]) When encoding, encoding is performed on the basis of excluding points whose approximation errors are greater than the specified tolerance.
[0156] As for the approximate error after excluding the points larger than the prescribed tolerance from the approximate error amount, that is, the approximate error amount within the prescribed tolerance, the value is further deviated, and the information entropy becomes smaller, thereby further improving the compression effect of the encoded data. In addition, for example, for the approximate error amount, only the points with the approximate error larger than the prescribed tolerance are kept, and the approximate error amounts other than these are not kept, thereby further reducing the size of the encoded data. Moreover, even in this case, it is possible to ensure that the overall approximate error converges within the tolerance.
[0157] According to this embodiment, the following effects are achieved.
[0158] In the data encoding device 5 of the present embodiment, an approximate error removal unit 53 is further provided, and the approximate error removal unit 53 generates an approximate error amount within a prescribed tolerance by removing the approximate error amount exceeding a prescribed tolerance from the approximate error amount. In addition, the approximate error encoding unit 54 is configured to encode the approximate error amount within the prescribed tolerance to generate the encoded approximate error amount. Thus, according to the present embodiment, on the basis of being able to encode and compress axis-dependent data that was previously difficult to compress, the approximate error amount after removing the approximate error amount exceeding the prescribed tolerance is encoded, thereby, it is also possible to achieve lossy compression within the range of the allowable amount of defect (prescribed tolerance, prescribed number of points), and at this time, the data size can be reduced compared to lossless compression.
[0159] [Sixth Embodiment]
[0160] Fig.25 2 is a diagram showing the structure of a data encoding device 6 according to a sixth embodiment. Fig.25 As shown, the data encoding device 6 of this embodiment is different from the data encoding device 1 of the first embodiment in that it further includes a model approximate encoded data encoding unit 62. Other than this difference, the configuration is the same as that of the first embodiment.
[0161] The model-approximately coded data coding unit 62 codes the model-approximately coded axis-dependent data. That is, in the present embodiment, the model-approximately coded data coding unit 62 performs re-coding after the model-approximately coded axis-dependent data.
[0162] As described in the first embodiment, in the approximate model (vector Ea[X 1 ]…[X L ]) when expressing the error, by the vector Ea X 1 [X 1 ] each performs encoding, which can further compress the data. At this time, the vector Ea X 1 [X 1 ] represents the error of each axis, and therefore, is not based on the approximate model as a linear combination model represented by the above mathematical formula (5) (vector Ea[X 1 ]…[X L ]) does not perform model approximation, but after model approximation coding, the data coding unit 62 performs coding based on entropy coding represented by the previously known Huffman coding.
[0163] According to this embodiment, the following effects are achieved.
[0164] In the data encoding device 6 of this embodiment, a model approximation coded data encoding unit 62 is further provided to encode the coded axis-dependent data. Therefore, according to this embodiment, the coded axis-dependent data is further encoded by the model approximation coded data encoding unit 62, so that the data size can be further reduced.
[0165] [Seventh Embodiment]
[0166] Fig.26 2 is a diagram showing the structure of a data encoding device 7 according to a seventh embodiment. Fig.26As shown, the data encoding device 7 of this embodiment is different from the data encoding device 3 of the third embodiment in that it has a learning result acquisition unit that acquires the reinforcement learning result of the machine learning device 9 instead of the dynamic programming method, and uses the learning result to perform interval segmentation on the axis-dependent data. The structure other than this difference is the same as the third embodiment.
[0167] The machine learning device 9 performs reinforcement learning for the optimal segmentation processing of the axis-dependent data. In the reinforcement learning of the machine learning device 9 of the present embodiment, the machine learning device 9 as an intelligent agent obtains axis-dependent data such as the error amount of industrial machinery as an environmental state. When a certain segmented axis-dependent data is selected as a behavior, the environment changes according to the behavior. As the environment changes, the number of inapproximable points obtained by model approximation encoding of the segmented axis-dependent data and the amount of approximated data are obtained as judgment data. In addition, a certain reward is given according to the obtained judgment data, and the machine learning device 9 as an intelligent agent learns the optimal segmented axis-dependent data as a better behavior choice, that is, a decision. The machine learning device 9 as an intelligent agent learns so as to select the behavior that will maximize the total reward in the future.
[0168] As reinforcement learning, any learning method can be used. For example, Q learning, which is a method of learning the value Q(s, a) of selecting behavior a in a state s of a certain environment, can be used. In Q learning, in a certain state s, behavior a with the highest value Q(s, a) is selected from the desirable behaviors a as the optimal behavior. However, at the time when Q learning is first started, the correct value of the value Q(s, a) for the combination of state s and behavior a is completely unknown. Therefore, the machine learning device 9 as an intelligent agent selects various behaviors a in a certain state s, and for the behavior a at this time, selects a better behavior based on the reward given, thereby learning the correct value Q(s, a).
[0169] In addition, in order to maximize the total reward to be obtained in the future, the machine learning device 9 finally becomes Q(s, a)=E[Σ(γ t )r t ] is the target. Here, E[] represents the expected value, t is the time, γ is a parameter called the discount rate described later, and r t is the reward at time t, and Σ is the total at time t. The expected value in this formula is the expected value when the state changes according to the optimal behavior. However, in the process of Q learning, it is unclear what the optimal behavior is, so reinforcement learning is performed while searching by performing various behaviors. The update formula of such value Q(s, a) can be expressed as the following mathematical formula (11), for example.
[0170] [Mathematical formula 11]
[0171]
[0172] In the above mathematical formula (11), s t represents the environmental state at time t, a t Represents the behavior at time t. Through behavior a t , the state changes to s t+1 . r t+1 Indicates the reward obtained by changing the state. In addition, the item with max is: t+1 In the following example, γ is multiplied by the Q value when the behavior a with the highest Q value known at that time is selected. Here, γ is a parameter of 0<γ≤1, which is called the discount rate. In addition, α is a learning coefficient, and the range of α is 0<α≤1.
[0173] The above mathematical formula (11) represents the following method: According to the experiment a t The result is the feedback r t+1 , update the state s t The following behavior t The value of Q(s t 、a t ). This update expression shows that if behavior a t The next state s t+1 The value of the optimal behavior under a Q(s t+1 , a) than state s t The following behavior t The value of Q(s t 、a t ) is large, then Q(s t 、a t ), if it is small, then reduce Q(s t 、a t ). That is, make the value of a certain behavior in a certain state close to the optimal behavior value in the next state caused by the behavior. The difference is due to the discount rate γ and the reward r t+1 The structure varies with the form of existence, but is basically a structure in which the optimal behavior value in a certain state is propagated to the behavior value in its previous state.
[0174] Here, there is a method of Q learning: a table of Q(s, a) for all state-behavior pairs (s, a) is created to perform learning. However, in order to find the value of Q(s, a) for all state-behavior pairs, the number of states may be too large, so that it takes a long time for Q learning to converge.
[0175] Therefore, a well-known technology called DQN (Deep Q-Network) can be used. Specifically, a suitable neural network can be used to construct the value function Q, and the parameters of the neural network can be adjusted to approximate the value function Q through a suitable neural network, thereby calculating the value of the value Q (s, a). By using DQN, the time required for Q learning to converge can be shortened. In addition, regarding DQN, for example, in the non-patent literature "Human-level control through deep reinforcement learning", Volodymyr Mnih1 [online], [retrieved on January 17, 2011], Internet <URL: http: / / files.davidqiu.com / research / nature14236.pdf 〉 There are detailed records in it.
[0176] Therefore, to perform the above reinforcement learning, Fig.26 As shown, the machine learning device 9 includes a state observation unit 91, a determination data acquisition unit 92, a learning unit 93, and a decision unit 94. In addition, the learning unit 93 includes a reward calculation unit 95 and a value function update unit 96.
[0177] The state observation unit 91 acquires the axis-dependent data as the state data from the data encoding device 7 . In addition, the state observation unit 91 outputs the acquired axis-dependent data to the learning unit 93 .
[0178] The determination data acquisition unit 92 acquires the number of inapproximable points and the amount of approximated data obtained by performing model approximation encoding on the segmented axis-dependent data from the data encoding device 7 as determination data. The segmented axis-dependent data is obtained by segmenting the axis-dependent data interval into specified intervals according to a predetermined segmentation criterion stored in advance. In addition, the determination data acquisition unit 92 outputs the acquired number of inapproximable points and the amount of approximated data to the learning unit 93.
[0179] The reward calculation unit 95 of the learning unit 93 calculates the reward based on the acquired axis-dependent data, the number of inapproximable points, and the amount of approximated data. Specifically, the reward calculation unit 95 increases the reward when the number of inapproximable points decreases, and on the other hand, advances and decreases the reward when the number of inapproximable points increases. In addition, the reward calculation unit 95 increases the reward when the amount of approximated data decreases, and on the other hand, decreases the reward when the amount of approximated data increases.
[0180] The value function updating unit 96 of the learning unit 93 performs the above-mentioned Q learning based on the axis-dependent data as the state data, the number of inapproximable points and the amount of approximated data obtained by model-approximating the segmented axis-dependent data as the determination data, and the reward value, thereby updating the stored value function. In addition, the value function stored in the value function updating unit 96 can be shared among a plurality of machine learning devices that can be connected to each other in a communicative manner, for example.
[0181] The decision unit 94 acquires the updated value function from the value function updating unit 96. In addition, the decision unit 94 outputs the optimal post-division axis-dependent data to the data encoding device 7 as a behavior output based on the acquired value function.
[0182] Fig. 27 It is a flowchart showing the learning processing procedure of the machine learning device 9.
[0183] In step S21, first, the segmented axle-dependent data is output from the machine learning device 9 to the data encoding device 7 as a behavior output. The segmented axle-dependent data output in this step is obtained by segmenting the axle-dependent data interval into a specified interval according to a pre-stored predetermined segmentation criterion. The data encoding device 7 generates the number of inapproximable points and the amount of approximated data by performing model approximation encoding on the segmented axle-dependent data. Then, the process proceeds to step S22.
[0184] In step S22, the machine learning device 9 obtains the axis-dependent data as the state data from the data encoding device 7. Thereafter, the process proceeds to step S23.
[0185] In step S23, the machine learning device 9 obtains the number of inapproximable points and the amount of approximated data after the model approximation encoding of the divided axis-dependent data generated in step S21 from the data encoding device 7 as determination data. Then, the process proceeds to step S24.
[0186] In step S24, as the judgment condition 1, it is judged whether the number of inapproximable points when the data encoding device 7 performs model approximation encoding on the split rear axis-dependent data is reduced. If the judgment is yes, the process proceeds to step S25 to increase the reward. On the other hand, if the judgment is no, the process proceeds to step S26 to reduce the reward. Thereafter, the process proceeds to step S27.
[0187] In step S27, as judgment condition 2, it is judged whether the amount of data after model approximate encoding is reduced when the data encoding device 7 performs model approximate encoding on the split axis-dependent data. If the judgment is yes, the process proceeds to step S28 to increase the reward. On the other hand, if the judgment is no, the process proceeds to step S29 to reduce the reward. Thereafter, the process proceeds to step S30.
[0188] In step S30, the value function stored in the value function updating unit 96 is updated. Specifically, the value function updating unit 96 performs the above-mentioned Q learning based on the axis-dependent data as the state data, the number of inapproximable points and the amount of approximated data obtained by model-approximating the divided axis-dependent data as the determination data, and the reward value, thereby updating the stored value function. Thereafter, the process proceeds to step S31.
[0189] In step S31, it is determined whether to continue the learning process. If the determination is yes, the process returns to step S21. On the other hand, if the determination is no, the process ends.
[0190] According to this embodiment, the following effects are achieved.
[0191] In the data encoding device 7 of the present embodiment, the axis-dependent data segmentation unit is configured to generate the optimal segmented axis-dependent data based on the reinforcement learning result of the machine learning device 9. Therefore, according to the present embodiment, through the reinforcement learning of the machine learning device 9, the axis-dependent data can be segmented into the optimal segmented axis-dependent data that can be compressed to minimize the number of data, so that multiple optimal regions that can be regarded as linear combinations of each axis data (each axis error) can be generated, and by performing model approximation encoding of the linear combination model on each region, the axis-dependent data that was previously difficult to compress can be further compressed.
[0192] In each of the above-described embodiments, a data encoding program for causing each data encoding device to perform each processing can also be provided. That is, as a first data encoding program, a data encoding program can be provided, which is used to cause a computer to perform the following model approximation encoding step: generating encoded axis-dependent data obtained by encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
[0193] In addition, a second data encoding program can also be provided, in which the first data encoding program also has an axis-dependent data segmentation step of segmenting the axis-dependent data to generate a plurality of segmented axis-dependent data, and through a model approximation encoding step, the encoded axis-dependent data is generated based on the plurality of segmented axis-dependent data and a linear combination model.
[0194] In addition, a third data encoding program can also be provided. In the second data encoding program, there is a dynamic programming method processing step for generating optimal segmented axis-dependent data by executing the dynamic programming method. The third data encoding program is used to enable the computer to execute the following steps: an optimality evaluation step for evaluating the optimality of the encoded axis-dependent data; a partial segmentation step for generating partial axis-dependent data by segmenting the axis-dependent data into multiple parts; and an optimization result combination step for generating optimal segmented axis-dependent data by expanding and combining the partial axis-dependent data.
[0195] In addition, a fourth data encoding program can be provided, which is used in the second data encoding program to cause a computer to execute a step of generating optimal post-segmentation axis-dependent data based on a reinforcement learning result of a machine learning device.
[0196] In addition, a fifth data encoding program can be provided. In the first to fourth data encoding programs, the fifth data encoding program is used to cause a computer to execute the following steps: an approximate error calculation step of calculating the approximate error amount; and a step of encoding the approximate error amount to generate an encoded approximate error amount.
[0197] In addition, a sixth data encoding program can be provided. In the fifth data encoding program, the sixth data encoding program is used to enable a computer to execute the following steps: a step of generating an approximate error amount within a specified tolerance by removing the approximate error amount that exceeds the specified tolerance from the approximate error amount; and a step of encoding the approximate error amount within the specified tolerance to generate the encoded approximate error amount.
[0198] Furthermore, a seventh data encoding program can be provided, which is configured to cause a computer to execute a step of encoding the encoded axis-dependent data in the first to sixth data encoding programs.
[0199] In addition, the present disclosure is not limited to the above-mentioned embodiments, and the present disclosure includes modifications and improvements within the scope that can achieve the purpose of the present disclosure.
[0200] In the above-mentioned fourth embodiment, the model approximation encoding unit 41 is constructed to have an approximate error calculation unit 42, but it can also be constructed as: for example, the model approximate encoded axis-dependent data encoded by the data encoding device 4 is decoded by a data decoding device, and the approximate error amount is calculated by the difference between the decoded axis-dependent data and the original axis-dependent data.
[0201] In the fourth embodiment, the structure having the approximate error calculation unit 42 is applied to the first embodiment, but it is not limited to this and can also be applied to the second and third embodiments. In addition, in the sixth embodiment, the structure having the model approximate encoded data encoding unit 62 is applied to the first embodiment, but it is not limited to this and can also be applied to other embodiments. In this way, the above-mentioned embodiments can be appropriately combined as long as they do not hinder each other's functions.
[0202] In the seventh embodiment described above, the machine learning device 9 is provided separately from the data encoding device 7 , but the present invention is not limited thereto, and the machine learning device may be provided inside the data encoding device 7 .
[0203] Explanation of symbols
[0204] 1, 2, 3, 4, 5, 6, 7 data encoding device
[0205] 9. Machine Learning Devices
[0206] 11, 21, 31, 41, 51, 61 model approximate coding unit
[0207] 22, 32 axis dependent data segmentation
[0208] 33 Dynamic programming processing department
[0209] 34 Optimality evaluation unit after model approximate encoding (optimality evaluation unit)
[0210] 35 Axis-dependent data partial division (partial division)
[0211] 36 Optimization result combination section for partial axis-dependent data (Optimization result combination section)
[0212] 42 Approximate error calculation unit
[0213] 43 Approximate error coding unit
[0214] 52 Approximate error calculation unit
[0215] 53 Approximate error removal unit exceeding the specified tolerance (approximate error removal unit)
[0216] 54 Approximate error coding unit
[0217] 62 Model approximate encoding data encoding unit (encoded data encoding unit).
Claims
1. A data encoding device for encoding data, characterized in that: have: A model approximation encoding unit generates encoded axis-dependent data by encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
2. The data encoding device according to claim 1, characterized in that: The data encoding device further comprises: an axis-dependent data dividing unit which divides the axis-dependent data to generate a plurality of divided axis-dependent data; The model approximation encoding unit generates the encoded axis-dependent data based on the plurality of segmented axis-dependent data and the linear combination model.
3. The data encoding device according to claim 2, characterized in that: The axis-dependent data division unit includes a dynamic programming processing unit that generates the optimal axis-dependent data after division by executing a dynamic programming method. The dynamic programming processing unit comprises: an optimality evaluation unit that evaluates the optimality of the encoded axis-dependent data; a partial dividing unit that divides the axis-dependent data into a plurality of parts to generate partial axis-dependent data; as well as An optimization result combining unit generates the optimal segmented axis-dependent data by expanding and combining the partial axis-dependent data.
4. The data encoding device according to claim 2, characterized in that: The axis-dependent data segmentation unit generates the optimal segmented axis-dependent data according to the reinforcement learning result of the machine learning device.
5. The data encoding device according to any one of claims 1 to 4, characterized in that: The model approximate encoding unit includes: an approximate error calculation unit, which calculates the approximate error amount, The data encoding device further includes an approximate error encoding unit that encodes the approximate error amount to generate an encoded approximate error amount.
6. The data encoding device according to claim 5, characterized in that: The data encoding device further includes an approximate error removing unit for removing the approximate error amount exceeding the predetermined tolerance from the approximate error amount to generate an approximate error amount within the predetermined tolerance. The approximate error encoding unit encodes the approximate error amount within the predetermined tolerance to generate the encoded approximate error amount.
7. The data encoding device according to any one of claims 1 to 6, characterized in that: The data encoding device further includes: a coded data encoding unit that encodes the coded axis-dependent data.
8. A data encoding program for encoding data, characterized in that The data encoding program is used to enable the computer to perform the following steps: Based on a part of the axis-dependent data and a linear combination model, encoded axis-dependent data is generated by encoding the axis-dependent data, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
Citation Information
Patent Citations
Numerical control apparatus for controlling five-axis machining tool
JP2011209897A