Data coding device and data coding program

The data encoding apparatus effectively compresses axis-dependent data from industrial machines by using a model approximation encoder and a linear combination model, addressing the limitations of conventional techniques and enhancing error compensation accuracy.

DE112022007089T5Pending Publication Date: 2025-05-28FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112022007089
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-06-24
Publication Date
2025-05-28

AI Technical Summary

Technical Problem

Existing data encoding techniques struggle to compress axis-dependent data from industrial machines effectively, particularly when the data has a uniform frequency of occurrence similar to white noise, limiting the accuracy of error compensation in industrial machines.

Method used

A data encoding apparatus and program that utilize a model approximation encoder to encode axis-dependent data based on a proportion of axis-dependent data and a linear combination model, approximating the data as a linear combination of data from each axis of the industrial machine.

Benefits of technology

Enables efficient encoding and compression of axis-dependent data, improving the accuracy of error compensation in industrial machines beyond the limitations of conventional data encoding techniques.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A coding technology is provided that makes it possible to encode and compress axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine. A data coding device 1 includes a model approximate encoder 11 that generates coded axis-dependent data in which the axis-dependent data is encoded, based on some axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of axis data concerning the industrial machine.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to a data encoding apparatus and a data encoding program. BACKGROUND TECHNOLOGY

[0002] Conventionally, industrial machines such as a machine tool and a robot each cause a predetermined control point to move to a predetermined position according to a command value. However, since such industrial machines are prone to errors, the position of the control point often does not match the command value. To eliminate such a decrease in positioning accuracy, which would lead to a decrease in machining accuracy, a technique has been proposed that compensates for an error so that the position of a control point matches a command value (see, for example, Patent Document 1). With this technique, by inputting the error amount measured in advance to a control device, the error is compensated based on the compensation amount corresponding to the error amount. Citation listPatent document

[0003] Patent Document 1: Japanese Unexamined Patent Application, Publication No. 2011-209897 DISCLOSURE OF THE INVENTION Problems to be solved by the invention

[0004] However, when compensating for the error, as the number of error amount input points to the controller increases, the error can be compensated with higher accuracy. However, since there is an upper limit on the input data size, there is a problem in that the accuracy of error compensation cannot be improved beyond the upper limit of the input data size.

[0005] Thus, it is conceivable to compress the error amount data and input the compressed data to the control device. Examples of data compression techniques include data coding techniques, and an entropy coding technique such as Huffman coding is known. The entropy coding technique compresses data by distorting the frequency of occurrence of values ​​in the data, that is, by using the smallness of the information entropy.

[0006] However, axis-dependent data, such as the error magnitude described above, which depends on the coordinate values ​​of each axis of an industrial machine, may exhibit a white noise-like characteristic in which the occurrence frequency is uniform as a whole. In this case, compressing data through entropy coding is difficult because the smallness of information entropy described above cannot be utilized.

[0007] The present disclosure has been made in view of the foregoing, and it is an object of the present disclosure to provide a data encoding technique capable of encoding and compressing axis-dependent data depending on coordinate values ​​of each axis of an industrial machine. Means for solving the tasks

[0008] One aspect of the present disclosure is directed to a data encoding device that encodes data, including: a model approximate encoder that generates encoded axis-dependent data obtained by encoding the axis-dependent data based on a portion of axis-dependent data that depends on coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of data of each axis of the industrial machine.

[0009] Another aspect of the present disclosure is directed to a data encoding program for encoding data, the program causing a computer to perform a step of generating, based on a portion of axis-dependent data depending on coordinate values ​​of each axis of an industrial machine and a linear combination model approximating the axis-dependent data as a linear combination of data of each axis of the industrial machine, encoded axis-dependent data obtained by encoding the axis-dependent data. Effects of the invention

[0010] According to the present disclosure, it is possible to provide a data encoding technique capable of encoding and compressing axis-dependent data depending on coordinate values ​​of each axis of an industrial machine. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing the configuration of a data encoding apparatus according to a first embodiment; Fig. Figure 2 is a diagram showing an example of a text file containing only certain characters; Fig. 3 is a graph showing an example of data in which the frequency of occurrence of each value is represented by a certain distribution; Fig. 4 is a graph showing data in which the frequency of occurrence is uniform; Fig. 5 is a diagram showing each axis error of an X-axis error; Fig. 6 is a diagram showing each axis error of the Y-axis; Fig. 7 is a diagram showing error amounts in coordinate values ​​(X 2 , Y 1 ) shows; Fig. 8 is a graph showing error amounts that cannot be expressed with a linear combination of each axis error; Fig. 9 is a partially enlarged view of Fig. 8; Fig. 10 is a diagram showing a bitmap image in which an error map is visualized; Fig. 11 is a graph showing an example of axis-dependent data; Fig. 12 is a graph showing a linear combination model that fits the axis-dependent data of Fig. 11 as a linear combination of each axis error of an industrial machine; Fig. 13 is a diagram showing a configuration of a data encoding apparatus according to a second embodiment; Fig. 14 is a diagram showing axis-dependent data divided into a plurality of grid areas; Fig. Figure 15 is a diagram showing an example of split axis dependent data; Fig. 16 is a diagram showing the configuration of a data encoding apparatus according to a third embodiment; Fig. 17 is a flowchart showing a process of dividing axis-dependent data by a dynamic programming processor; Fig. 18 is a graph showing a split section before extending data of each axis (each axis error) by one row in the positive X direction; Fig. 19 is a graph showing a divided section after extending data of each axis (each axis error) by one row in the positive X direction; Fig. 20 is a diagram showing the configuration of a data encoding apparatus according to a fourth embodiment; Fig. Figure 21 is a diagram showing approximation errors (vectors γ[X][Y]); Fig. 22 is a diagram showing the configuration of a data encoding apparatus according to a fifth embodiment; Fig. Figure 23 is a diagram showing approximation errors (vectors γ[X][Y]) containing exception points greater than a predetermined tolerance; Fig. Figure 24 is a diagram showing exception points that are excluded and kept because they are larger than a predetermined tolerance of the approximation errors (vectors γ[X][Y]); Fig. 25 is a diagram showing the configuration of a data encoding apparatus according to a sixth embodiment; Fig. 26 is a diagram showing the configuration of a data encoding apparatus according to a seventh embodiment; and Fig. 27 is a flowchart showing a procedure of learning processing by a machine learning device 9. PREFERRED MODE FOR CARRYING OUT THE INVENTION

[0011] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second and subsequent embodiments, the description of the configuration common to the first embodiment will be omitted as appropriate. [First embodiment]

[0012] A data encoding device 1 according to the first embodiment is a data encoding device capable of encoding and compressing axis-dependent data depending on the coordinate values ​​of each axis of an industrial machine, such as an error amount or the like, for use in error compensation of each axis of the industrial machine. As described above, since the axis-dependent data depending on the coordinate values ​​of each axis of the industrial machine may exhibit a characteristic similar to white noise in occurrence frequency as a whole, it is difficult to compress the data using a conventional entropy encoding technique that uses the distortion of the occurrence frequency of the values ​​on the data, that is, the smallness of the information entropy.On the other hand, the data encoding device 1 according to the present embodiment is capable of encoding and compressing axis-dependent data depending on the coordinate values ​​of each axis of an industrial machine.

[0013] Fig. 1 is a diagram showing the configuration of the data encoding apparatus 1 according to the first embodiment. As shown in Fig. 1, the data encoding device includes a model approximate encoder 11. The model approximate encoder 11 generates coded axis-dependent data obtained by encoding the axis-dependent data based on axis-dependent data and a linear combination model. In describing the configuration of the data encoding device 1, a conventional data encoding technique will be described first.

[0014] For example, an entropy coding technique such as Huffman coding is conventionally known as a data coding technique. Entropy coding compresses data by applying a bias to the frequency of occurrence of values ​​in the data, i.e., the smallness of information entropy.

[0015] Herein is Fig. 2 is a diagram showing an example of a text file that contains only certain characters. Fig. 3 a graph showing an example of data in which the frequency of occurrence of each value is represented by a specific distribution. In each of the Fig. 2 and Fig. 3, the horizontal axis indicates a bit value, and the vertical axis indicates a frequency of occurrence of each value. As in Fig. For example, as shown in Figure 2, a text file containing only 16 characters 0 to 9 and A to F as specific characters normally requires 8 bits to express one character, but can be expressed by a maximum of 4 bits for expressing one character by entropy coding, so that data can be compressed by about half. Furthermore, data having a non-uniform occurrence frequency, as shown in Fig. 3, can be compressed by assigning a short bit value to a high frequency value and a long bit value to a low frequency value by entropy coding.

[0016] On the other hand, Fig. 4 a graph showing data in which the frequency of occurrence of each value is uniform. Similar to Fig. 2 and Fig. 3 shows in Fig. 4 the horizontal axis represents a bit value, and the vertical axis shows the occurrence frequency of each value. Since data is similar to white noise, which has a uniform occurrence frequency, as in Fig. 4, cannot use the smallness of information entropy described above, it is difficult to compress the data by entropy coding.

[0017] Incidentally, examples of static error compensation for each axis of an industrial machine include tilt error compensation, straightness error compensation, and three-dimensional error compensation. Tilt error compensation is compensation for an error in a direction along the axial direction. Straightness error compensation is compensation for an error in a direction orthogonal to the axial direction. Three-dimensional error compensation is compensation for a three-dimensional spatial error. These error compensations are performed by inputting the error amount (hereinafter referred to as each axis error) measured for each coordinate value of each axis to the controller for the number of axes. As the number of input points increases, the accuracy of error compensation improves, but there is an upper limit to the size of the data that can be input.

[0018] Fig. Figure 5 is a graph showing each axis error of the X-axis. Each axis error of the X-axis is an error amount of each coordinate value measured when only the X-axis is moved in a state where the Y-axis and Z-axis are fixed. As shown in Fig. 5, the error amounts of the coordinate values ​​X 0 , X 1 , X 2 and X 3 displayed as vectors that have different sizes and directions.

[0019] Fig. Figure 6 is a graph showing each axis error of the Y-axis. Each axis error of the Y-axis is an error amount of each coordinate value measured when only the Y-axis is moved in a state where the X-axis and Z-axis are fixed. As shown in Fig. 6, the error amounts of the coordinate values ​​Y 0 , Y 1 , and Y 2 displayed as vectors that have different sizes and directions.

[0020] Here, in the error compensation of each axis, it is assumed that each axis error is linearly independent. That is, assuming that the error amount in each of the coordinate values ​​X 1 ...X L (Vector E[X 1 ]...[X L ]) is a linear combination of each axis error, the error amount is expressed by the following expression (1). [Expression 1] E→[X1]⋯[XL]:=∑l=1LEXl→[Xl]

[0021] In expression (1) above, L represents the number of target axes that are subjected to error compensation. In addition, X I represents the first balancing target axis.

[0022] There are many situations where the above expression (1) holds based on the above assumption, and conventionally, error compensation for each axis is widely used. For example, Fig. 7 a diagram showing an error amount in the coordinate value (X 2 , Y 1 ) shows. As in Fig. 7, the error amount (vector E[X 2 ][Y 1 ]) in the coordinate value (X 2 , Y 1 ) as a linear combination of the error amount (vector E x [X 2 ]) in the coordinate value X 2 and the error amount (vector E Y [Y 1 ]) in the coordinate value Y 1 and can be represented by the following expression (2). [Expression 2] E→[X2][Y1]=EX→[X2]+EY→[Y1]

[0023] However, when viewed as a whole, the frequency of occurrence of the value in each axis error (vector E x [X], vector E Y[Y]) or the frequency of occurrence of the value in the error amount (vector E[X][Y]) may be uniform, resembling a white noise. In this case, it is difficult to compress the data using conventional entropy coding techniques that use the distortion of the frequency of occurrence of the values ​​on the data, that is, the smallness of information entropy.

[0024] In addition, not every axis can be linearly independent, or the error amount (vector E[X 1 ]...[X L ]) can be determined by correlation between a plurality of axes. That is, the error amount (vector E[X 1 ]...[X L ]) contains the correlation term (vector δ[X 1 ]...[X L ]), as expressed by the following expression (3), and cannot be represented by a linear combination of each axis error. [Expression 3] E→[X1]⋯[XL]:=∑l=1LEXl→[Xl]+δ→[X1]⋯[XL]

[0025] Fig. Figure 8 is a graph showing error amounts that cannot be expressed with a linear combination of each axis error. As in Fig. 8, if each axis error is not linearly independent, the error amount (vector E[X 1 ]...[X L ]) be an error amount that contains a correlation term (vector δ[X 1 ]...[X L ]) represented by the above-described expression (3), instead of the error amount represented by the above-described expression (1). In this case, since the error amount (hereinafter referred to as a spatial error) is input to a control device and compensated for each space having a correlation with the error amount, this is called error compensation for each space.

[0026] Here, the present inventor found that the spatial error cannot be expressed as a linear combination of each axis error as a whole, but can be regarded locally as a linear combination of each axis error, as in the case of each axis error. For example, Fig. 9 a partially enlarged view of Fig. 8. Here, in the local area defined by the dashed line in Fig. 9, the above correlation term (vector δ[X 1 ]...[X L ]) can be regarded as 0, and the spatial error can be represented as a linear combination of each axis error. That is, the spatial error (vector E[X][Y]) is given by the sum of each axis error (vector E x [X]) and each axis error (vector E Y[Y]) as shown in the following expression (4). This indicates that the spatial error (vector E[X][Y]) is a linear combination of an error magnitude (vector E x [X]) in a row of the X-axis direction and an error amount (vector E Y [Y]) in a row in the Y-axis direction, among data of each axis (each axis error) at a plurality of coordinate points in a grid manner. It should be noted that the examples of the local area include a central area of ​​a movable area of ​​the industrial machine. [Expression 4] E→[X][Y]:=EX→[X]+EY→[Y].

[0027] However, when viewed as a whole, the occurrence frequency of values ​​in the spatial error (vector E[X][Y]) may be uniform in a white noise manner, and thus it is difficult to compress the data by a conventional entropy coding technique using the smallness of information entropy. For example, Fig. 10 is a diagram showing a bitmap image visualizing an error map in a case where the target axes of error compensation are two axes of the X-axis and the Y-axis, and RGB values ​​of each pixel correspond to the error amount vector E. Further, the error amount (vector E[X][Y]) of each pixel is represented by the sum of the vector E x [X] and the vector E Y [Y] is represented according to expression (4). For example, in a case where the number of pixels of the Fig. 10 is 10 × 10 and 374 bytes, when the bitmap image is encoded by ZIP compression, which is a typical entropy coding technique, 393 bytes are obtained. As described above, it can be seen that the conventionally known entropy coding has no compression effect, and in some cases, the data size increases, resulting in an opposite effect.

[0028] In view of the above, in the present embodiment, even for axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine, such as an error amount or the like for use in error compensation of each axis of the industrial machine, the characteristic that can be locally regarded as a linear combination of each axis error represented by the above-described expression (1) is used. As a result, the data encoding device 1 according to the present embodiment is able to encode and compress the axis-dependent data, which has been difficult in the related art.

[0029] Again with reference to Fig. 1, the data encoding device 1 according to the present embodiment includes a computer including, for example, memories such as ROM (Read Only Memory) and RAM (Random Access Memory), a CPU (Control Processing Unit), an operation unit such as a keyboard, a display, and a communication controller, which are connected to each other via a bus. The functions and operations of the functional units described later are achieved through the cooperation of a CPU, memory, and control programs stored in the memory mounted on the computer.

[0030] The data encoding device 1 according to the present embodiment can be provided, for example, in a numerical control device (CNC: Computer Numerical Control) or a robot control device, which corresponds to a control device of a machine tool or an industrial machine such as a robot. Alternatively, the data encoding device 1 can be provided in an external computer or the like so as to be able to communicate with these control devices.

[0031] The model approximate encoder 11 according to the present embodiment, included in the data encoding device 1, generates coded axis-dependent data obtained by encoding the axis-dependent data based on a portion of the axis-dependent data that depends on coordinate values ​​of each axis of the industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of data of each axis (each axis error) of the industrial machine. The axis-dependent data is input from, for example, the above-described control device or the like. Further, the linear combination model is stored, for example, in the memory of the data encoding device 1.

[0032] Here, for example, each axis of the industrial machine indicates each axis of the machine tool, namely, the X-axis, the Y-axis, and the Z-axis. Further, examples of axis-dependent data include the error amount used in error compensation for each axis of the industrial machine and, for example, an installation error amount of a relatively large workpiece whose displacement differs for each coordinate value due to the influence of deflection due to its own weight. Both the error amount and the installation error of the workpiece are data that depend on the coordinate values ​​of each axis of the industrial machine.

[0033] Hereinafter, the model approximate coding using a linear combination model by the model approximate encoder 11 according to the present embodiment will be described in detail with reference to Fig. 11 and Fig. 12 described.

[0034] Fig. Figure 11 is a graph showing an example of axis-dependent data. In the Fig. In the example shown in Fig. 11, axis-dependent data in a case where two axes, ie, the X-axis and the Y-axis, are used as target axes for error compensation and the like, are shown. Fig. The axis-dependent data shown in Figure 11 are axis-dependent data of a specific local area in the axis-dependent data in which there is no distortion of the occurrence frequency of values ​​of the data as a whole in terms of, for example, error amounts of each axis of the industrial machine, and are axis-dependent data that can be approximated with a linear combination model, which will be described later. The example of the axis-dependent data shown in Fig. The axis-dependent data shown in Figure 11 contains data of each axis (each axis error) from a total of N × M points.

[0035] Fig. 12 is a graph showing a linear combination model that fits the axis-dependent data of Fig. 11 as a linear combination of each axis error of an industrial machine. As described above, even if the error amount (vector E[X 1 ]...[X L ]) agrees with the model represented by expression (3), and the influence of the correlation term (vector δ[X 1 ]...[X L ]) as a whole is considered to be strong, it is assumed that there exists a region that can be locally approximated by the linear combination model represented by the mathematical expression (1). For such a region that can be approximated as in Fig. 12, the error amount can be estimated by an approximate model (vector Ea[X 1 ]...[X L]) can be expressed as a linear combination model, which is represented by the following expression (5). That is, the error amount can be expressed as a linear combination of an error amount (vector Ea x [X]) in a row in the X-axis direction and an error amount (vector Ea Y [Y]) in a row in the Y-axis direction. In the Fig. In the example shown in Figure 12, data of each axis (each axis error) after approximation becomes a total of N + M points, and it can be seen that the axis-dependent data can be compressed. [Expression 5] Ea→[X1]⋯[XL]:=∑l=1LEaXl→[Xl]+C→

[0036] In expression (5) X 1 and X L represented by expression (6) below, and a vector c is defined as an average value as represented by expression (7) below. The vector Ea x 1 [X 1] is expressed by the following expression (8). Furthermore, L represents the number of target axes subjected to error compensation, X I represents the first adjustment target axis, and N I represents the error magnitude point of the first compensation target axis. [Expression 6] X1:=[X11,⋯,XN11]⋯XL:=[X1L,⋯,XNLL] [Expression 7] c→:=1∑l=1LNl∑X1=1N1⋯∑XL=1NL(E→[X1]…[XL]−∑l=1LEaXl→[Xl]) [Expression 8] EaXl→[Xl]:=E→[x1]⋯[Xl]…[xL] provided that X P is any value that (X1p≤xp≤XNpp) fulfilled and together in every EaXl→[Xl] is

[0037] In expression (8), while X represents a one-dimensional axial space, x represents an element belonging to the space. The symbol p is any value from 1 to L. For example, x 3 a specific value that is determined by the X axis 3can be taken.

[0038] If the vector c is defined as in the above expression (7), the approximate model (vector Ea[X 1 ]...[X L ]) as the linear combination model, a maximum likelihood estimation model is used, which minimizes the evaluation function J expressed by the following expression (9). That is, the evaluation function J is defined as the sum of squares of the difference between the original error amount before approximation (vector E[X 1 ]...[X L ]) and the error amount after approximation (vector Ea[X 1 ]...[X L ]) as represented by the following expression (9), and the approximate model (vector Ea[X 1 ]...[X L]) is determined as the linear combination model such that the evaluation function J is minimized. The approximate model as the thus determined linear combination model is stored, for example, in the memory of the data encoding device 1, and is used for model approximate encoding by the model approximate encoder 11. [Expression 9] J:=∑X1=1N1⋯∑XL=1NL(E→[X1]⋯[XL]−Ea→[X1]⋯[XL])⋅(E→[X1]⋯[XL]−Ea→[X1]⋯[XL])

[0039] According to the present embodiment, the following advantageous effects are achieved.

[0040] The data encoding device 1 according to the present embodiment includes the model approximate encoder 11 that encodes the encoded axis-dependent data obtained by encoding the axis-dependent data based on a proportion of the axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine and the linear combination model that approximates the axis-dependent data of each axis (each axis error) of the industrial machine. Conventionally, it has been difficult to compress axis-dependent data with a uniform occurrence frequency as a whole, such as each axis error amount or the like of an industrial machine, by a conventional entropy encoding technique using a distortion of the occurrence frequency of data values, that is, the smallness of information entropy.In contrast, according to the present embodiment, it is possible to encode and compress the axis-dependent data that was conventionally difficult to compress by approximating a portion of the axis-dependent data as a linear combination of each axis data (each axis error). Furthermore, by using the encoded axis-dependent data encoded and compressed according to the present embodiment, it is possible to increase data such as the error amount inputtable to the control device or the like of the industrial machine without increasing the memory capacity, and it is possible to more accurately compensate for the error of the industrial machine. [Second embodiment]

[0041] Fig. 13 is a diagram showing a configuration of a data encoding apparatus 2 according to the second embodiment. As shown in Fig. As shown in FIG. 13, the data coding device 2 according to the second embodiment differs from the data coding device 1 according to the first embodiment in that the data coding device 2 includes an axis-dependent data divider 22. Furthermore, a model approximate encoder 21 according to the second embodiment differs from the model approximate encoder 11 of the first embodiment in that the model approximate encoder 21 performs model approximate coding based on divided axis-dependent data generated by dividing the axis-dependent data into a plurality of data pieces and the linear combination model described above. The configuration other than these differences is the same as that of the first example.

[0042] The above-described data encoding device 1 according to the first embodiment performs model approximate encoding of a linear combination model on the assumption that a portion of axis-dependent data having a uniform occurrence frequency in a white noise manner as a whole can be regarded as a linear combination of data of each axis (each axis error). On the other hand, the data encoding device 2 according to the present embodiment actively divides the axis-dependent data into a plurality of regions to generate a plurality of regions that can be regarded as the linear combination of data of each axis (each axis error), thereby enabling the execution of model approximate encoding of the linear combination model more reliably.

[0043] The axis-dependent data divider 22 divides the axis-dependent data to generate a plurality of divided axis-dependent data. Here, Fig. 14 is a diagram showing axis-dependent data divided into a plurality of grid areas. As in Fig. 14, the axis-dependent data input to the data encoding device 2 is divided into a plurality of raster areas corresponding to data of each axis (each axis error) on each coordinate value, for example. Fig. In the example shown in Figure 14, the axis-dependent data is divided into a grid of 15 × 15 = 225 points. The axis-dependent data divider 22 divides the axis-dependent data into a plurality of sections based on the grid, for example.

[0044] The method of dividing the axis-dependent data by the axis-dependent data divider 22 is not particularly limited, but it is preferable to divide the axis-dependent data so as to generate a plurality of regions that can be regarded as the linear combination of data of each axis (each axis error). Specifically, it is preferable that the axis-dependent data divider 22 divides the axis-dependent data into a plurality of regions that can be best approximated (compressed).

[0045] Fig. Figure 15 is a diagram showing an example of split axis-dependent data. In the Fig. In the example shown in Fig. 15, the axis-dependent data input to the data encoding device 2 is divided into five sections 1 to 5 by the axis-dependent data divider 22. That is, the respective data in the respective areas of the five divided sections 1 to 5 correspond to the divided axis-dependent data, and all of the divided axis-dependent data can be regarded as a linear combination of data of each axis (each axis error), and model approximate encoding of the linear combination model by the model approximate encoder 21 described later becomes possible. On the other hand, outside these five divided sections 1 to 5, the axis-dependent data cannot be regarded as a linear combination of data of each axis (each axis error), and model approximate encoding of the linear combination model is impossible.

[0046] The model approximate encoder 21 generates encoded axis-dependent data based on the plurality of divided axis-dependent data and the linear combination model. As described above, in each area of ​​the plurality of divided sections 1 to 5, the axis-dependent data can be regarded as a linear combination of data of each axis (each axis error). Thus, the model approximate encoder 21 performs model approximate encoding of the linear combination model on each of the divided axis-dependent data to generate the encoded axis-dependent data that is model approximate and compressed.

[0047] According to the present embodiment, the following advantageous effects can be achieved.

[0048] The data encoding device 2 according to the present embodiment includes the axis-dependent data divider 22, which divides axis-dependent data and generates a plurality of divided axis-dependent data. Furthermore, the model approximate encoder 21 is configured to generate the encoded axis-dependent data based on the plurality of divided axis-dependent data and the linear combination model. With such a configuration according to the present embodiment, by dividing the axis-dependent data into a plurality of regions, it is possible to generate each of the plurality of regions that can be regarded as a linear combination of data of each axis (each axis error), and by performing model approximate encoding of the linear combination model for each region, it is possible to more reliably compress the axis-dependent data that has conventionally been difficult to compress. [Third Embodiment]

[0049] Fig. 16 is a diagram showing a configuration of a data encoding apparatus 3 according to a third embodiment. As shown in Fig. As shown in FIG. 16, a data encoding device 3 according to the third embodiment differs from the second embodiment in that the configuration of an axis-dependent data divider 32 differs from that of the above-described axis-dependent data divider 22. The configurations other than this difference are the same as those of the second example.

[0050] In the data encoding device 2 according to the second embodiment described above, the method of dividing the axis-dependent data is not particularly limited, but in the data encoding device 3 according to the third embodiment, the axis-dependent data is divided using a 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.

[0051] As in Fig. As shown in FIG. 16, the axis-dependent data divider 32 includes a dynamic programming processor 33. The dynamic programming processor 33 generates optimally divided axis-dependent data by executing the dynamic programming method. Specifically, the dynamic programming processor 33 includes, as functional units for executing the dynamic programming method, an optimality evaluator 34 after model approximation coding, a partial axis-dependent data divider 35, and an optimization result combiner 36 of the partial axis-dependent data.

[0052] Here, the dynamic programming method executed by the dynamic programming processor 33 is described in detail.

[0053] Dynamic programming is a generic algorithm for solving optimization problems. Dynamic programming is an algorithm that has the following two characteristics. The first characteristic is that it solves recursively. That is, the first characteristic is characterized by dividing a problem into smaller subproblems, recursively optimizing the subproblems, and combining the optimization results of the subproblems to obtain a solution to the original larger problem. The second characteristic is that the processing overhead can be reduced by recording the optimization results.That is, the second feature is characterized in that although the same problems may appear multiple times in the process of recursively solving the problems to omit the calculation of the problem that has been solved, the optimization result of a problem that has been solved once is recorded and reused.

[0054] Thus, the dynamic programming processor 33 of the present embodiment includes an optimality evaluator 34 after model approximate encoding as a means for evaluating the optimality of the result. That is, the optimality evaluator 34 after model approximate encoding evaluates the optimality of the encoded axis-dependent data. The evaluation of the optimality of the encoded axis-dependent data can be performed, for example, based on whether an approximation error amount after model approximate encoding is within a predetermined conditional tolerance. Furthermore, as described in detail in a fourth embodiment to be described later, the approximation error amount after model approximate encoding is a difference between the original error amount before model approximate encoding described in the first embodiment described above and the error amount after model approximate encoding.The condition tolerance can be, for example, an allowed approximation error value or an allowed number of data points that exceed the allowed approximation error value.

[0055] Furthermore, the dynamic programming processor 33 according to the present embodiment includes the partial axis-dependent data divider 35 as a means for dividing a problem into subproblems. The partial axis-dependent data divider 35 divides the axis-dependent data into a plurality of portions to generate partial axis-dependent data. For example, the partial axis-dependent data divider 35 divides the axis-dependent data into predetermined designated areas according to a predetermined division criterion stored in advance, and reduces the resulting data by one point in each of the positive direction and the negative direction of each axis such as the X-axis and the Y-axis to optimize the resulting data, thereby obtaining a plurality of portions of the axis-dependent data. The division of the axis-dependent data by the partial axis-dependent data divider 35 will be described in detail later.

[0056] Furthermore, the dynamic programming processor 33 according to the present embodiment includes the partial axis-dependent data optimization result combiner 36 as a means for combining the optimization results of the sub-problems. The partial axis-dependent data optimization result combiner 36 expands and combines the partial axis-dependent data to generate optimal split axis-dependent data. The partial axis-dependent data optimization result combiner 36 optimizes the partial axis-dependent data generated by dividing the axis-dependent data by the partial axis-dependent data divider 35 described above by expanding the partial axis-dependent data by one point in each of the positive direction and the negative direction of each axis, such as the X-axis and the Y-axis.The generation of the optimally divided axis-dependent data by the partial axis-dependent data optimization result combiner 36 will be described in detail later.

[0057] In the following, the division of the axis-dependent data by the dynamic programming processor 33 is described in detail with reference to Fig. 14, Fig. 15, Fig. 17 and Fig. 18 described.

[0058] As in Fig. 14, the axis-dependent data is divided into a grid of 15 × 15 = 255 points, for example. When such axis-dependent data is divided into sections by the dynamic programming processor 33, divided axis-dependent data is obtained, for example, as shown in Fig. 15. When dividing the axis-dependent data into sections by the dynamic programming processor 33, an approximation error of each error amount is set to be within an allowable condition amount in a case where each range of the divided sections is approximated by the approximation model described above. Further, each of the points at which the approximation error is not within the allowable condition amount is allowed up to the allowable condition number. Nevertheless, the number of points that cannot be approximated or do not satisfy the condition is minimized. As a result, the number of data points can be compressed from 255 to 92 points, and the data size can be reduced.

[0059] Fig. 17 is a flowchart showing a process of dividing the axis-dependent data by the dynamic programming processor 33. The division of the axis-dependent data by the dynamic programming processor 33 is performed by recursively searching for optimal divided portions of the axis-dependent data by the dynamic programming method.

[0060] In step S1, the axis-dependent data is divided into predetermined designated sections. However, in a case of an area in which the division processing of the axis-dependent data has been performed by the dynamic programming processor 33, the retained processing result in this step may be reproduced. Thereafter, the processing proceeds to step S2.

[0061] In step S2, an approximate model of each of the areas of the designated sections (designated areas) divided in step S1 is generated. Specifically, an approximate model (vectors Ea[X 1 ]... [X L ]) as a linear combination model described in the first embodiment is generated for each designated area. After that, the processing proceeds to step S3.

[0062] In step S3, it is determined whether the approximate models of the designated areas generated in step S2 satisfy the all-point condition. Examples of the condition include whether the approximation errors of all points are within the allowable value, and whether the number of points where the approximation errors are not within the allowable value is within the allowable number of points. If this is determined to be YES, it is determined that the axis-dependent data has been optimally divided and optimally divided axis-dependent data has been obtained, and processing ends. On the other hand, if this is determined to be NO, processing proceeds to step S4.

[0063] In step S4, n is set to the initial value 1. Here, the value of n represents each axis, and, for example, in a case where the axis configuration is overall the two axes of the X-axis and the Y-axis, the value of n represents the X-axis when n is 1, and the value of n represents the Y-axis when n is 2. After that, the processing proceeds to step S5.

[0064] In step S5, it is determined whether n is greater than L. Here, L is the number of axes of the designated section of axis-dependent data. For example, in a case of two axes, the X-axis and the Y-axis, L is 2. If this is determined to be YES, processing proceeds to step S11. On the other hand, if this is determined to be NO, processing proceeds to step S6.

[0065] The processing of steps S6 to S10 is a case where n is equal to or less than L, and when the number of axes is the two axes of the X-axis and the Y-axis, and when n is 1, it indicates processing for the X-axis, and when n is 2, it indicates processing for the Y-axis.

[0066] In step S6, the axis-dependent data is divided into designated sections, in which data of each axis (each axis error) is shifted by one row in the X n positive direction from the designated sections of step S1. That is, a new divided section is executed in which data of each axis (each axis error) is reduced by one row in the X n positive direction. The X nThe positive direction indicates the positive X-axis direction when n is 1. The result is output as an optimization result nP. When n is 1, the optimization result 1P is output. After that, the processing proceeds to step S7.

[0067] In step S7, the optimization result nP obtained in step S6 is converted into the X n positive direction by a series of data from each axis (each axis error). The result is called an optimization result nP † output. If n is 1, the optimization result 1P † Since n can be in the range from 1 to L, the optimization results can be 1P to LP † obtained through this step. After that, processing proceeds to step S8.

[0068] In step S8, the axis-dependent data is divided into designated sections, in which data of each axis (each axis error) is divided by one row in the X nnegative direction from the designated sections in step S1. That is, a new divided section is executed, which is reduced by a series of data of each axis (each axis error) in the negative X n direction is reduced. The X n Negative direction indicates the negative X-axis direction when n is 1. The result is output as an optimization result nM. When n is 1, the optimization result 1M is output. After that, processing proceeds to step S9.

[0069] In step S9, the optimization result nM obtained in step S8 is converted into the X n negative direction by a series of data from each axis (each axis error). The result is called an optimization result nM † If n is 1, the optimization result 1M †output. Since n can be in the range from 1 to L, this step results in optimization results 1M to Lm † . Thereafter, the processing proceeds to step S10.

[0070] In step S10, n is incremented by 1. After that, processing returns to step S5.

[0071] In addition, step S11 is processing when n is greater than L, and when the number of axes is two axes, that is, the X-axis and the Y-axis, step S11 is performed after the processing for the X-axis and the Y-axis in steps S6 to S10 is completed. In step S11, from the optimization results 1P to LP obtained in steps S6 to S10 † and 1M to LM † , those that have the lowest number of points that cannot be approximated. That is, for each of the optimization results 1P to LP † and 1M to LM †the number of points that cannot be approximated for which the approximate model generated in step S3 does not satisfy the above-described condition is calculated, and those with the minimum number of points that cannot be approximated, are best approximated, and are most compressed are obtained, and then the processing ends.

[0072] Here, the procedure of expanding a series of data of each axis (each axis error) in the positive X-axis in the step S7 described above will be explained in more detail with reference to specific examples shown in Fig. 18 and Fig. 19 are described. Fig. Figure 18 is a graph showing split sections before extending data of each axis (each axis error) by one row in the positive X direction. Fig. 19 a graph showing split sections after extending the data of each axis (each axis error) by one row in the positive X direction. In Fig. 18 and Fig. 19 different numbers are assigned to the respective divided sections.

[0073] As in Fig. 18, first, sections 1 to 5 are extracted as continuous sections appearing at the end sections in the positive X direction of the sections before expansion by a series of data of each axis (each axis error).

[0074] Then, each of the extracted sections 1 to 5 is extended by a series of data of each axis (each axis error) to generate extended sections 1 to 5, as shown in Fig. 19 is shown.

[0075] Next, for each of the extended sections 1 to 5, it is checked whether the approximate model described above satisfies the above-described condition. If the condition is satisfied, the extended sections are set as the new sections. In the Fig. 19, since the extended sections 1 and 4 satisfy the condition, they are set as new sections.

[0076] If the condition is not met, the sections of the extension amount are set as indefinite sections. In the Fig. 19, since the extended section 2 does not satisfy the condition, it is set as an indefinite section.

[0077] If each of the indeterminate sections is equal to or larger than a predetermined area (for example, 2 × 2), it is checked whether the approximate model described above satisfies the condition described above. In the Fig. In the example shown in Figure 19, since the extended region 3 is equal to or larger than a predetermined area (for example, 2 × 2), this determination is made. Until then, this extended portion is also determined as an indeterminate portion.

[0078] In addition, in a case where the section before extension is an NG section, that is, a section that does not satisfy the condition and cannot be approximated, the section of the extension amount is an indeterminate section. In the Fig. 19, since the extended section 5 corresponds to the NG section, it is set as an indefinite section.

[0079] As described above, there is a case where an indeterminate section remains until the end. Such a section may ultimately be an NG section, that is, a section that does not satisfy the condition and cannot be approximated.

[0080] According to the present embodiment, the following advantageous effects are achieved.

[0081] The data encoding device 3 according to the present embodiment includes the dynamic programming processor 33 that generates optimally divided axis-dependent data by executing dynamic programming. Furthermore, the dynamic programming processor 33 includes the optimality evaluator 34 that evaluates the optimality of the encoded axis-dependent data, the partial divider 35 that divides the axis-dependent data into a plurality of parts to generate partial axis-dependent data, and the optimality result combiner 36 that combines the optimization results of the partial axis-dependent data to generate optimally divided axis-dependent data.With such a configuration according to the present embodiment, since the axis-dependent data can be divided into the optimally divided axis-dependent data that can be compressed while minimizing the number of data pieces, it is possible to generate an optimal plurality of regions each of which can be regarded as a linear combination of data of each axis (each axis error), and by performing the model approximate coding of the linear combination model for each region, it is possible to further compress the axis-dependent data that has been conventionally difficult to compress. [Fourth Embodiment]

[0082] Fig. 20 is a diagram showing a configuration of a data encoding apparatus 4 according to a fourth embodiment. As shown in Fig. As shown in FIG. 20, the data coding device 4 according to the fourth embodiment differs from the model approximate encoder 11 according to the first embodiment in that a model approximate encoder 41 includes an approximate error calculator 42. The data coding device 4 according to the fourth embodiment differs from the data coding device 1 according to the first embodiment in that the data coding device 4 includes an approximate error encoder 43. The configurations other than these differences are the same as those of the first example.

[0083] The approximation error calculator 42 calculates an approximation error amount. The approximation error calculator 42 according to the present embodiment is provided in the model approximation encoder 41 and calculates an approximation error amount according to the model approximation encoding of the axis-dependent data. This approximation error amount will be described in detail later.

[0084] The approximate error encoder 43 encodes the approximate error amount to generate a coded approximate error amount. Since the approximate error amount calculated by the approximate error calculator 42 has a distortion in the occurrence frequency of values ​​on data, as described later, and the information entropy is small in many cases, it is possible to encode the approximate error amount and compress the data by conventionally known entropy coding. Alternatively, data compression can be performed by model approximate coding of the linear combination model performed by the model approximate encoder 41.

[0085] The following describes the approximation error amount and the coding of the approximation error amount by the approximation error encoder 43 in more detail.

[0086] As described in the above-mentioned first embodiment, when the error amount is determined by the approximate model (vector Ea[X 1 ]...[X L )is expressed as the linear combination model expressed by the expression (5) described above, the approximation errors (vectors y[X1]...[XL]) are expressed by the following expression (10). [Expression 10] γ→[X1]⋯[XL]:=E→[X1]⋯[XL]−Ea→[X1]⋯[XL]

[0087] In expression (10) vectors E[X 1 ]...[X L ] original error amounts before model approximation, and vectors Ea[X 1 ]...[X L ] are error amounts after model approximation. It can be seen in expression (10) that these differences are approximation errors (vectors γ[X 1 ]...[X L ]) are.

[0088] Here, since the approximate model (vector Ea[X 1 ]...[X L] is the maximum likelihood estimation model, the approximation errors (vectors γ[X 1 ]...[X L ]) and only very small values ​​are used. Here Fig. 21 a diagram showing approximation errors (vectors γ[X 1 ]...[X L ]) shows. As in Fig. 21, only very small values ​​of the approximation errors (vectors γ[X 1 ]...[X L ]) is distorted in value, and the frequency distribution of the values ​​is also distorted in frequency. Thus, data can be compressed by reducing the approximation errors (vectors γ[X 1 ]...[X L ]) can be encoded.

[0089] If the approximation errors (vectors γ[X 1 ]...[X L ]), the coding method is not particularly limited. For example, the approximation errors (vectors γ[X 1 ]...[X L]) are encoded by the model approximation coding of the linear combination model described above, or the approximation errors (vectors γ[X 1 ]...[X L ]) can be encoded by entropy coding, represented by conventionally known Huffman coding.

[0090] The approximate model (vector Ea[X 1 ]...[X L ]) alone differs from the original error amount (vector E[X 1 ]...[X L ]) by the approximation errors (vectors γ[X 1 ]...[X L ]). Furthermore, since the approximation errors (vectors γ[X 1 ]...[X L ]) corresponding to the number of data pieces of each axis, if the approximation errors are kept as they are, it is not possible to compress the data. However, if the approximation errors (vectors γ[X 1 ]...[X L ]) and compared with the approximate model (vector Ea[X 1 ]...[X L] are combined, the original error amount (vector E[X 1 ]...[X L ]) can be compressed and restored without loss, and the total amount of data can also be reduced.

[0091] According to the present embodiment, the following advantageous effects are achieved.

[0092] In the data encoding device 4 according to the present embodiment, the model approximate encoder 41 includes the approximate error calculator 42 that calculates an approximate error amount. The data encoding device 4 is configured to further include the approximate error encoder 43 that encodes the approximate error amount to generate an encoded approximate error amount. With such a configuration according to the present embodiment, it is possible to encode and compress the axis-dependent data that has been conventionally difficult to compress, and thus restore the axis-dependent data such as the original error amount without loss, while further reducing the total data amount by encoding the approximate error amount. [Fifth Embodiment]

[0093] Fig. 22 is a diagram showing a configuration of a data encoding apparatus 5 according to a fifth embodiment. As shown in Fig. As shown in FIG. 22, a data encoding device 5 according to the fifth embodiment differs from the data encoding device 4 according to the fourth embodiment in that the data encoding device 5 further includes an approximate error eliminator 53 that eliminates an approximate error amount equal to or greater than a predetermined tolerance. Furthermore, a approximate error encoder 54 differs from the approximate error encoder 43 according to the fourth embodiment in that the approximate error encoder 54 encodes an approximate error amount within a predetermined tolerance. The configurations other than these differences are the same as those of the fourth example.

[0094] The approximation error eliminator 53 generates an approximation error amount within a predetermined tolerance by eliminating the approximation error amount exceeding a predetermined tolerance from the approximation error amount. Here, Fig. 23 a diagram showing approximation errors (vectors γ[X 1 ]...[X L ]), each containing an exception point greater than a predetermined tolerance. As shown in Fig. 23, the approximation errors (vectors γ[X 1 ]...[X L ]), each of which is a difference between an original error amount before model approximate coding and an error amount after model approximate coding, contains an exception point that is larger than a predetermined tolerance. In the present embodiment, the exception points are eliminated by the approximate error eliminator 53.

[0095] Fig. 24 is a diagram showing exception points that are excluded and kept because the approximation errors (vectors y[X 1 ]...[X L]) are greater than a predetermined tolerance. As described above, the approximation error eliminator 53 can separately hold each of the exception points where the approximation error is greater than a predetermined tolerance, that is, the approximation error amount exceeds a predetermined tolerance, which is eliminated from the approximation error amount. As a result, the axis-dependent data can be compressed and restored as the original error amount without loss.

[0096] Examples of the predetermined tolerance include an allowable approximation error amount and a predetermined number of points (allowed number of points) of data that exceed the allowable approximation error amount. In this case, the approximation error eliminator 53 excludes a point that exceeds a preset allowable approximation error value or a predetermined number of points among points that exceed the allowable approximation error value from the approximation errors (vectors γ[X 1 ]...[X L ]). The predetermined tolerance can contain 0.

[0097] The proximity error encoder 54 encodes an approximation error amount within a predetermined tolerance to generate an encoded approximation error amount. That is, when the approximation errors (vectors γ[X 1 ]...[X L]), the proximity error encoder 54 of the present embodiment performs coding after excluding points where the proximity error is larger than the predetermined tolerance.

[0098] The approximation error after excluding points larger than the predetermined tolerance from the approximation error amount, that is, the approximation error amount within the predetermined tolerance, becomes more distorted in value and the information entropy becomes smaller, so the data compression effect is further improved by encoding. In addition, for example, the data size after encoding can be further reduced by retaining the approximation error amount only at points where the approximation error is larger than a predetermined tolerance and not retaining the other approximation error amounts. Even in this case, it is possible to ensure that the entire approximation error is within the tolerance.

[0099] According to the present embodiment, the following advantageous effects are achieved.

[0100] The data encoding device 5 according to the present embodiment further includes the approximation error eliminator 53, which generates an approximation error amount within a predetermined tolerance by eliminating an approximation error amount that exceeds the predetermined tolerance from the approximation error amount. The approximation error encoder 54 is configured to encode an approximation error amount within a predetermined tolerance to generate an encoded approximation error amount.With such a configuration according to the present embodiment, it is possible to encode and compress the axis-dependent data that has been conventionally difficult to compress, and it is also possible to achieve lossy compression within the range of the allowable amount of loss (the predetermined tolerance and the predetermined number of points) by encoding the approximation error amount after eliminating the approximation error amount exceeding the predetermined tolerance, and in this case, it is possible to reduce the data size compared with the lossless compression. [Sixth Embodiment]

[0101] Fig. 25 is a diagram showing a configuration of a data encoding apparatus 6 according to a sixth embodiment. As shown in Fig. As shown in FIG. 25, a data coding apparatus 6 according to the sixth embodiment differs from the above-described data coding apparatus 1 in that the data coding apparatus 6 further includes a model approximate coded data encoder 62. The configurations other than this difference are the same as those of the first example.

[0102] The model-approximately coded data encoder 62 encodes model-approximately coded axis-dependent data. That is, in the present embodiment, the model-approximately coded data encoder 62 re-encodes the axis-dependent data after model-approximately encoding.

[0103] As described in the above-mentioned first embodiment, when the error amount is determined by the approximate model (vector Ea[X 1 ]...[X L]) is expressed as the linear combination model represented by Expression (5), the data can be further compressed by encoding each of the vectors Eaxl[Xl] At this time, since the vector Eaxl[Xl] represents an error of each axis, the model-approximately coded data encoder 62 performs entropy coding like conventionally known Huffman coding, instead of model approximation by an approximate model (vector Ea[X 1 ]...[X L ]) as a linear combination model represented by the expression (5) described above.

[0104] According to the present embodiment, the following advantageous effects are achieved.

[0105] The data encoding device 6 according to the present embodiment further includes the model-approximately coded data encoder 62 that encodes the encoded axis-dependent data. With such a configuration, according to the present embodiment, since the model-approximately coded data encoder 62 further encodes the encoded axis-dependent data, it is possible to further reduce the data size. [Seventh Embodiment]

[0106] Fig. 26 is a diagram showing a configuration of a data encoding apparatus 7 according to a seventh embodiment. As shown in Fig. As shown in Fig. 26, a data encoding device 7 according to the present embodiment differs from the data encoding device 3 according to the third embodiment in that the data encoding device 7 includes a learning result acquirer that acquires a reinforcement learning result by a machine learning device 9 instead of the dynamic programming method, and the axis-dependent data is divided into segments using the learning result. The configurations other than this difference are the same as those of the third embodiment.

[0107] The machine learning device 9 performs reinforcement learning for optimal division processing of axis-dependent data. In reinforcement learning by the machine learning device 9 according to the present embodiment, when the machine learning device 9, as an agent, acquires axis-dependent data such as an error amount of an industrial machine as a state of an environment and selects divided axis-dependent data as an action, the environment changes based on the action. As the environment changes, the number of points that cannot be approximated and the number of data after approximation obtained by performing model approximation coding on the divided axis-dependent data are obtained as determination data. Then, some reward is given according to the obtained determination data, and the machine learning device 9, as an agent, selects a better action, that is,, learns the split axis-dependent data that is optimal for decision making. The machine learning device 9 learns, as an agent, to choose an action that maximizes the sum of rewards in the future.

[0108] Any learning model can be used for reinforcement learning. For example, Q-learning can be used, which is a method of learning a value Q(s, a) to select a specific action a under a specific state s of a specific environment. In Q-learning, in a specific state s, an action a with the highest value Q(s, a) is selected as an optimal action from among possible actions a. However, the correct value of the value Q(s, a) for the combination of state s and action a is completely unknown at the time Q-learning is first started. Thus, the machine learning device 9, as an agent, selects various actions a under a specific state s and learns a correct value Q(s, a) by selecting a better action based on a reward given to action a at that time.

[0109] Furthermore, in order to maximize the sum of rewards received in the future, the machine learning device 9 aims to ultimately obtain Q(s, a)=E[Σ(γ t )r t ] to obtain. Here, E[] represents an expected value, t is a time, γ is a parameter of a penalty to be described later, rt is a reward at time t, and Σ is a total amount at time t. The expected value in this expression is an expected value when the state is changed according to the optimal action. However, since it is not known which is the optimal action in the process of Q-learning, reinforcement learning is performed while searching for various actions. Such an update expression of the value Q(s, a) can be expressed, for example, by the following expression (11). [Expression 11] Q(st+1,at+1)←Q(st,at)+α(rt+1+γ maxa Q(st+1,a)−Q(st,at))

[0110] In expression (11), s trepresents the state of the environment at time t, and a t represents the action at time t. The state is determined by the action a t on s t+1 changed. The term r t+1 represents a reward obtained by changing the state. The term with max is obtained by multiplying the Q-value by γ in a case where the action a with the highest Q-value known at that time under the state s t+1 is chosen. Here, γ is a parameter of 0 < γ ≤ 1, and is called a deduction rate. Furthermore, α is a learning coefficient and lies in a range of 0 ≤ α ≤ 1.

[0111] The above expression (11) represents a method of updating the value Q(s, a) of the action a t in the state s t based on the reward r t+1 which is a result of the experiment a t This update expression indicates that if the value max a Q(st+1 , a) the best action in the next state s t+1 through the action a t greater than the value Q(s t , a t ) of the action a t in the state s t is, Q(s t , a t ) is reduced. That is, the value of a particular action in a particular state is brought closer to the value of the best action in the next state. However, although the difference depends on the deduction rate γ and the reward r t+1 varies, the value of the best action in a given state essentially becomes the value of the action in the immediately preceding state.

[0112] Here, Q-learning involves generating a table of Q(s, a) for all state-action pairs (s, a) and performing learning. However, there is a case where the number of states is too large to obtain the values ​​of Q(s, a) for all state-action pairs, and it would take a long time for Q-learning to converge.

[0113] Therefore, a well-known technique called a Deep Q-Network (DQN) can be used. Specifically, the value function Q can be configured using a suitable neural network, the parameters of the neural network can be adjusted, and the value function Q can be approximated with a suitable neural network to calculate the value of the value Q(s, a). By using a DQN, it is possible to shorten the time required for Q-learning to converge. The DQN is described in detail, for example, in the non-patent document "Human-level control through deep reinforcement learning," Volodymyr Mnih1, [online], [accessed January 17, 2017], the Internet.<URL:http: / / files.davidqiu.com / research / nature14236.pdf> described.

[0114] Thus, in order to carry out the reinforcement learning described above, the machine learning device 9 includes a state observer 91, a determination data collector 92, a learner 93, and a decision maker 94, as shown in Fig. 26. The learner 93 includes a reward calculator 95 and a value function updater 96.

[0115] The state observer 91 acquires axis-dependent data as state data from the data encoder 7. In addition, the state observer 91 outputs the acquired axis-dependent data to the learner 93.

[0116] The determination data acquirer 92 acquires, as determination data from the data encoding device 7, the number of points that cannot be approximated and the approximate data amount obtained by performing model approximation encoding on the divided axis-dependent data. The divided axis-dependent data is obtained by dividing the axis-dependent data into predetermined designated sections according to a predetermined division criterion stored in advance. Furthermore, the determination data acquirer 92 outputs the acquired number of points that cannot be approximated and the approximate data amount to the learner 93.

[0117] The reward calculator 95 of the learner 93 calculates a reward based on the acquired axis-dependent data, the number of points that cannot be approximated, and the approximated data amount. Specifically, the reward calculator 95 increases the reward as the number of points that cannot be approximated decreases and decreases the reward as the number of points that cannot be approximated increases. Furthermore, the reward calculator 95 increases the reward as the approximated data amount decreases and decreases the reward as the approximated data amount increases.

[0118] The value function updater 96 of the learner 93 updates the stored value function by performing the above-described Q-learning based on the axis-dependent data as the state data, the number of points that cannot be approximated, the approximate data amount obtained by performing model approximate encoding on the shared axis-dependent data as the determination data, and the reward value. Furthermore, the value function stored in the value function updater 96 can be shared among a plurality of machine learning devices that are communicatively connected to each other, for example.

[0119] The decision maker 94 acquires the updated value function from the value function updater 96. Further, the decision maker 94 outputs the optimally divided axis-dependent data as an action output to the data encoder 7 based on the acquired value function.

[0120] Fig. 27 is a flowchart showing a procedure of learning processing by the machine learning device 9.

[0121] In step S21, first, the machine learning device 9 outputs the divided axis-dependent data as an action output to the data encoding device 7. The divided axis-dependent data output in this step is obtained by dividing the axis-dependent data into predetermined designated sections according to a predetermined division criterion stored in advance. The data encoding device 7 performs model approximation encoding on the divided axis-dependent data to generate the number of points that cannot be approximated and the approximated data amount. Thereafter, the processing proceeds to step S22.

[0122] In step S22, the machine learning device 9 acquires axis-dependent data as state data from the data encoding device 7. Thereafter, the processing proceeds to step S23.

[0123] In step S23, the machine learning device 9 acquires, as determination data from the data encoding device 7, the number of points that cannot be approximated and the approximate data amount after model approximation encoding of the split axis-dependent data generated in step S21. After that, the processing proceeds to step S24.

[0124] In step S24, as determination condition 1, it is determined whether the number of points that cannot be approximated when the data encoding device 7 performs model approximation encoding on the split axis-dependent data has decreased. If determined as YES, processing proceeds to step S25, where the reward is increased. On the other hand, if determined as NO, processing proceeds to step S26, where the reward is decreased. Thereafter, processing proceeds to step S27.

[0125] In step S27, as a determination condition 2, it is determined whether the data amount decreases after model approximate encoding when model approximate encoding is performed on the split axis-dependent data by the data encoding device 7. If determined as YES, processing proceeds to step S28, where the reward is increased. On the other hand, if determined as NO, processing proceeds to step S29, where the reward is decreased. Thereafter, processing proceeds to step S30.

[0126] In step S30, the value function stored in the value function updater 96 is updated. Specifically, the value function updater 96 updates the stored value function by performing the above-described Q-learning based on the axis-dependent data as the state data, the number of points that cannot be approximated, the approximate data amount obtained by performing model approximation encoding on the split axis-dependent data as the determination data, and the reward value. After that, the processing proceeds to step S31.

[0127] In step S31, it is determined whether the current learning process is continued. If it is determined as YES, the processing returns to step S21. On the other hand, if it is determined as NO, the current processing ends.

[0128] According to the present embodiment, the following advantageous effects are achieved.

[0129] In the data encoding device 7 according to the present embodiment, the axis-dependent data divider is configured to generate optimally divided axis-dependent data based on the reinforcement learning result by the machine learning device 9. With such a configuration, according to the present embodiment, since the axis-dependent data can be divided into the optimally divided axis-dependent data that can be compressed while reducing the number of data pieces by the reinforcement learning by the machine learning device 9, it is possible to generate an optimal plurality of regions that can be regarded as the linear combination of data of each axis (each axis error), and by performing the model approximate encoding of the linear combination model for each region, it is possible to further compress the axis-dependent data that has conventionally been difficult to compress.

[0130] In each embodiment of the data coding device described above, a data coding program for causing each data coding device to execute each processing part may be provided. That is, it is possible to provide, as the first data coding program, a data coding program for causing a computer to execute a model approximate coding step of generating coded axis-dependent data obtained by coding axis-dependent data based on a portion of axis-dependent data depending on the coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of data of each axis of the industrial machine.

[0131] Furthermore, it is possible to provide a second data encoding program further including an axis-dependent data dividing step of dividing the axis-dependent data to generate a plurality of divided axis-dependent data in the first data encoding program, in which the model approximate encoding step generates the coded axis-dependent data based on the plurality of divided axis-dependent data and the linear combination model.

[0132] Furthermore, it is possible to provide a third data encoding program which further includes a dynamic programming processing step of generating the optimal encoded axis-dependent data by executing the dynamic programming method in the second data encoding program, and which causes a computer to include an optimality evaluation step of evaluating the optimality of the encoded axis-dependent data, a partial division step of dividing the axis-dependent data into a plurality of portions to generate partial axis-dependent data, and an optimization result combination step of generating optimally divided axis-dependent data by expanding and combining the partial axis-dependent data.

[0133] Further, it is possible to provide a fourth coding program for causing a computer to execute the step of generating the optimally divided axis-dependent data based on the reinforcement learning result by the machine learning device in the second data coding program.

[0134] Further, it is possible to provide a fifth data encoding program for causing a computer to perform an approximation error calculation step of calculating an approximation error amount and a step of encoding the approximation error amount to generate an encoded approximation error amount in the first to fourth data encoding programs.

[0135] Further, it is possible to provide a sixth data coding program for causing a computer to perform a step of generating an approximation error amount within a predetermined tolerance by eliminating an approximation error amount exceeding the predetermined tolerance from the approximation error amount, and a step of generating a coded approximation error amount by coding the approximation error amount within the predetermined tolerance in the fifth data coding program.

[0136] It is also possible to provide a seventh data encoding program for causing a computer to execute a step of encoding the coded axis-dependent data in the first to sixth data encoding programs.

[0137] In addition, the present disclosure is not limited to the embodiments described above, and modifications and improvements within a range in which the object of the present disclosure can be achieved are included in the present disclosure.

[0138] In the fourth embodiment described above, the model approximation encoder 41 is configured to include the approximation error calculator 42. However, it may be configured, for example, to combine, through the data decoding device, the model approximation-encoded axis-dependent data encoded by the data encoding device 4 and calculate the approximation error amount by the difference between the decoded axis-dependent data and the original axis-dependent data.

[0139] Furthermore, in the fourth embodiment described above, the configuration including the approximation error calculator 42 is applied to the first embodiment. However, the present invention is not limited to this, and such a configuration may be applied to the second embodiment or the third embodiment. Further, in the sixth embodiment described above, the configuration including the model approximate-coded data encoder 62 is applied to the first embodiment. However, the present invention is not limited to this, and such a configuration may be applied to other embodiments. As described above, the above-described embodiments can be appropriately combined provided that their functions are not impaired.

[0140] In the seventh embodiment described above, the machine learning device 9 is provided separately from the data encoding device 7. However, the present invention is not limited thereto, and a machine learning device may be provided within the data encoding device 7. EXPLANATION OF REFERENCE SYMBOLS 9 1, 2, 3, 4, 5, 6, 7 Data coding device Machine learning device 11, 21, 31, 41, 51, 61 Model proximity encoders 22, 32 axis-dependent data divider 33 dynamic programming processor 34 optimality evaluators after model approximation coding (optimality evaluators) 35 partial divisor of axis-dependent data (partial divisor) 36 Optimization result combiners of partial axis-dependent data (optimization result combiners) 42 Approximation error calculator 43 proximity error encoders 52 Approximation Error Calculator 53 Proximity error eliminator, which eliminates proximity errors that exceed the predetermined tolerance (proximity error eliminator) 54 proximity error encoders 62 model-approximately coded data encoders (coded data encoders) QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 2011-209897

[0003] Cited non-patent literature

[0000] Human-level control through deep reinforcement learning", Volodymyr Mnih1, [online], [searched on January 17, 2017

[0113] http: / / files.davidqiu.com / research / nature14236.pdf

[0113]

Claims

[1] A data encoding device that encodes data, comprising: a model approximate encoder that generates coded axis-dependent data obtained by encoding the axis-dependent data based on a portion of axis-dependent data that depends on coordinate values of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of data of each axis of the industrial machine. [2] The data encoding apparatus according to claim 1, further comprising an axis-dependent data divider that divides the axis-dependent data to generate a plurality of pieces of divided axis-dependent data, wherein the model approximate encoder generates the coded axis-dependent data based on the plurality of pieces of divided axis-dependent data and the linear combination model. [3] A data coding device according to claim 2, wherein the axis-dependent data divider includes a dynamic programming processor that executes dynamic programming to generate optimally divided axis-dependent data, and the dynamic programming processor contains: an optimality evaluator that evaluates the optimality of the coded axis-dependent data; a partial data divider that divides the axis-dependent data into a plurality of sections to generate partial axis-dependent data; and an optimization result combiner that expands and combines the partial axis-dependent data to produce optimally split axis-dependent data. [4] The data encoding apparatus according to claim 2, wherein the axis-dependent data divider generates optimally divided axis-dependent data based on a reinforcement learning result by a machine learning apparatus. [5] Data coding device according to one of claims 1 to 4, wherein the model approximation encoder includes an approximation error calculator that calculates an approximation error amount, and the data encoding device further includes an approximation error encoder that encodes the approximation error amount to generate an encoded approximation error amount. [6] The data encoding apparatus according to claim 5, further comprising an approximation error eliminator that eliminates an approximation error amount exceeding a predetermined tolerance from the approximation error amount, thereby generating an approximation error amount within the predetermined tolerance, wherein the approximation error encoder encodes an approximation error amount within the predetermined tolerance to generate the encoded approximation error amount. [7] A data encoding apparatus according to any one of claims 1 to 6, further comprising an encoded data encoder that encodes the encoded axis-dependent data. [8] A data encoding program that encodes data, the data encoding program causing a computer to execute: a step of generating, based on a portion of axis-dependent data depending on coordinate values of each axis of an industrial machine and a linear combination model approximating the axis-dependent data as a linear combination of data of each axis of the industrial machine, coded axis-dependent data obtained by coding the axis-dependent data.

Citation Information

Patent Citations

  • 2011-209897