Patent Publication Number: US-11650565-B2

Title: Machine learning device and thermal displacement compensation device

Description:
This application is based on and claims the benefit of priority from Japanese Patent Application No. 2017-054266, filed on 21 Mar. 2017, the content of which is incorporated herein by reference. 
     BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The present invention relates to a machine learning device and a thermal displacement compensation device used for a machine tool. 
     Related Art 
     One of the main factors of a machining error in a machine tool has been relative thermal displacement caused between a tool and a workpiece by thermal expansion of a machine element in the machine tool. Specific examples of a component in the machine tool include a spindle, a spindle unit, a bed, a column, a work table, and a tool. These components, especially the spindle, are thermally deformed by generation of heat by rotation of the spindle, generation of heat from a spindle drive motor, absorption of heat by a coolant supplied from a coolant supplier to the tool, and absorption of heat by a lubrication oil supplied from a lubrication oil supplier to a spindle bearing, for example. As a result, in some cases, relative thermal displacement is caused between the tool and the workpiece. 
     According to a technique conventionally used in response to this issue, a command value for a numerical controller for control of a machine tool is compensated in consideration of influence by thermal expansion of a spindle caused by various heat sources such as a heat source near the spindle in the machine tool and outside air temperature, thereby increasing machine accuracy (see Patent Document 1, for example).
     Patent Document 1: Japanese Unexamined Patent Application, Publication No. H07-75937   

     SUMMARY OF THE INVENTION 
     However, Patent Document 1 merely mentions installation of multiple temperature sensors as a method of acquiring a characteristic value about the machine tool. Hence, the technique of Patent Document 1 does not ensure highly accurate compensation. 
     Further, it takes time for heat measured by the temperature sensor to be transferred and to cause thermal expansion. Hence, it is required to evaluate time delay for highly accurate compensation, leading to a complicated compensation formula. 
     Additionally, a structure or a member changes depending on the machine on which numerical controllers are to be installed. Hence, an optimum thermal displacement compensation formula is changed in response to a machine type. 
     Additionally, an external heat source is changed by the environment of use such as an ambient heat generation source or the presence of a gateway, for example. This necessitates change in the appropriate location for a temperature sensor, thereby necessitating change in an optimum compensation formula. Further, increasing the number of measurement instruments for locating the temperature sensor at an appropriate position leads to an increase in production cost and maintenance cost. 
     In view of the foregoing circumstances, the present invention is intended to provide a machine learning device and a thermal displacement compensation device capable not only of deriving a highly accurate compensation formula but also achieving highly accurate compensation itself at low cost. 
     (1) A machine learning device according to the present invention is a machine learning device (machine learning device  10 ,  10 A,  10 B described later, for example) that optimizes, by machine learning, a calculation formula used for estimating the thermal displacement of a machine element to be thermally expanded in a machine tool (machine tool  35  described later, for example) based on a measured data group containing temperature data about the machine element and its surroundings and/or operating state data about the machine element. The machine learning device comprises: a measured data acquisition unit (measured data acquisition unit  11  described later, for example) that acquires the measured data group; a thermal displacement acquisition unit (thermal displacement acquisition unit  12  described later, for example) that acquires a thermal displacement actual measured value about the machine element; a storage unit (storage unit  13  described later, for example) that uses the measured data group acquired by the measured data acquisition unit as input data, uses the thermal displacement actual measured value about the machine element acquired by the thermal displacement acquisition unit as a label, and stores the input data and the label in association with each other as teaching data; and a calculation formula learning unit (calculation formula learning unit  14  described later, for example) that performs machine learning based on the measured data group and the thermal displacement actual measured value about the machine element, thereby setting a thermal displacement estimation calculation formula used for calculating the thermal displacement of the machine element based on the measured data group. The calculation formula learning unit sets the thermal displacement estimation calculation formula based on a difference between a thermal displacement estimated value about the machine element calculated by substituting the measured data group in a predetermined period stored as the teaching data in the storage unit into the thermal displacement estimation calculation formula and the thermal displacement actual measured value about the machine element in the predetermined period stored as the label in the storage unit. 
     (2) In the machine learning device described in (1), the measured data acquisition unit (measured data acquisition unit  11  described later, for example) may further acquire a second measured data group by adding measured data to the measured data group and/or by excluding measured data from the measured data group. The measured data acquisition unit may store the second measured data group as input data into the storage unit (storage unit  13  described later, for example). The calculation formula learning unit (calculation formula learning unit  14  described later, for example) may further set a second thermal displacement estimation calculation formula used for calculating the thermal displacement of the machine tool based on the second measured data group. 
     (3) The machine learning device described in (2) may further comprise a contribution determination unit (contribution determination unit  15  described later, for example) that determines a contribution to estimation of the thermal displacement of measured data in the measured data group. The contribution determination unit may determine the contribution of measured data as a contribution calculation target based on a difference between a first error and a second error. The first error is an error between a first thermal displacement estimated value and a thermal displacement actual measured value. The first thermal displacement estimated value is calculated using a first thermal displacement estimation calculation formula set based on a measured data group containing the measured data as a contribution calculation target. The second error is an error between a second thermal displacement estimated value and a thermal displacement actual measured value. The second thermal displacement estimated value is calculated using the second thermal displacement estimation calculation formula set based on the second measured data group from which the measured data as a contribution calculation target has been excluded. 
     (4) The machine learning device described in (3) may further comprise an optimized measured data selection unit (optimized measured data selection unit  16  described later, for example) that selects an optimized measured data group containing a combination of measured data pieces belonging to a measured data group currently acquired and achieving an optimum degree of accuracy using a predetermined number of measured data pieces. The optimized measured data selection unit may select a first measured data group by excluding measured data with the smallest contribution as determined by the contribution determination unit from the measured data group currently acquired. The optimized measured data selection unit may select an (i+1)-th measured data group by excluding measured data with the smallest contribution as determined by the contribution determination unit from an i-th (1≤i) measured data group, and make this selection repeatedly, thereby selecting the optimized measured data group containing the predetermined number of measured data pieces. 
     (5) In the machine learning device described in (1) to (4), the thermal displacement estimation calculation formula may use a first-order lag element in measured data in the measured data group. 
     (6) In the machine learning device described in (1) to (5), the thermal displacement estimation calculation formula may use a time shift element in measured data in the measured data group. 
     (7) In the machine learning device described in (1) to (6), the thermal displacement estimation calculation formula may be set based on machine learning using a neural network. 
     (8) In the machine learning device described in (1) to (6), the calculation formula learning unit (calculation formula learning unit  14  described later, for example) may set the thermal displacement estimation calculation formula based on machine learning using L2 regularization multiple regression analysis. 
     (9) In the machine learning device described in (1) to (6), the calculation formula learning unit (calculation formula learning unit  14  described later, for example) may set the thermal displacement estimation calculation formula using sparse regularization learning. 
     (10) The machine learning device described in (9) may further comprise a detection unit (detection unit  17  described later, for example) that detects measured data in the measured data group that do not contribute to an increase in the accuracy of thermal displacement estimation. The detection unit may detect the measured data based on the thermal displacement estimation calculation formula set by sparse regularization learning. 
     (11) The machine learning device described in (1) to (10) may be incorporated in a controller (controller  30  described later, for example) for the machine tool (machine tool  35  described later, for example). 
     (12) A thermal displacement compensation device according to the present invention comprises: a compensation value calculation unit (compensation value calculation unit  22  described later, for example), where based on the thermal displacement estimation calculation formula set by the machine learning device described in (1) to (11) (machine learning device  10 ,  10 A,  10 B described later, for example), the compensation value calculation unit calculates a compensation value corresponding to the thermal displacement of the machine element calculated from the measured data group; and a compensation unit (compensation unit  24  described later, for example) that compensates the machine position of the machine element based on the compensation value about the machine element calculated by the compensation value calculation unit. 
     (13) The thermal displacement compensation device described in (12) may be incorporated in the controller (controller  30  described later, for example) for the machine tool (machine tool  35  described later, for example). 
     According to the present invention, not only highly accurate derivation of a compensation formula but also highly accurate compensation itself can be achieved at low cost. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a block diagram showing a thermal displacement compensation system according to a first embodiment of the present invention; 
         FIG.  2    is a block diagram showing a machine learning device and a thermal displacement compensation device according to the first embodiment of the present invention in detail; 
         FIG.  3    is a block diagram showing a machine tool and a controller according to the first embodiment of the present invention in detail; 
         FIG.  4    is a flowchart showing the operation of machine learning by the machine learning device according to the first embodiment of the present invention; 
         FIG.  5    is a flowchart showing an example of a neural network used for the machine learning according to the first embodiment of the present invention; 
         FIG.  6 A  is a flowchart showing an example of a neural network used for the machine learning according to the first embodiment of the present invention; 
         FIG.  6 B  is a flowchart showing an example of a neural network used for the machine learning according to the first embodiment of the present invention; 
         FIG.  7    is a flowchart showing the operation of compensation by the thermal displacement compensation device according to the first embodiment of the present invention; 
         FIG.  8    is a block diagram showing a machine learning device according to a second embodiment of the present invention in detail; 
         FIG.  9    is a flowchart showing the operation of contribution determination by the machine learning device according to the second embodiment of the present invention; 
         FIG.  10    is a flowchart showing the operation of optimized measured data group selection by the machine learning device according to the second embodiment of the present invention; 
         FIG.  11    is a block diagram showing a machine learning device according to a third embodiment of the present invention in detail; and 
         FIG.  12    is a flowchart showing the operation of detection of measured data that do not contribute to an increase in accuracy by the machine learning device according to the third embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     First Embodiment 
     A first embodiment of the present invention will be described below based on the drawings.  FIG.  1    is a block diagram showing a thermal displacement compensation system according to this embodiment.  FIG.  2    is a block diagram showing a machine learning device and a thermal displacement compensation device according to this embodiment in detail.  FIG.  3    is a block diagram showing a machine tool and a controller according to this embodiment in detail. 
     &lt;Configuration of Thermal Displacement Compensation System  100 &gt; 
     The configuration of a thermal displacement compensation system  100  according to this embodiment is described first. As shown in  FIG.  1   , the thermal displacement compensation system  100  includes a machine learning device  10 , a thermal displacement compensation device  20 , a controller  30 , a machine tool  35 , and a network  40 . The number of machine learning devices  10 , that of the thermal displacement compensation devices  20 , that of the controllers  30 , and that of the machine tools  35  may be one, or two or more. 
     One controller  30  and one machine tool  35  form a pair and are connected in a manner that allows communication therebetween. Multiple pairs each including one controller  30  and one machine tool  35  may be installed in the same factory or different factories, for example. 
     The machine learning device  10 , the thermal displacement compensation device  20 , the controller  30 , and the machine tool  35  are connected to the network  40  and are allowed to communicate with each other through the network  40 . For example, the network  40  is a local area network (LAN) constructed in a factory, the Internet, a public telephone network, or a combination of these networks. There is no particular limitation on the communication through the network  40  in terms of a specific communication system or in terms of whether the communication is established via wires or without wires. The thermal displacement compensation device  20  and the controller  30  may not be configured to communicate with each other using the network  40  but may be configured to be directly connected through a connection unit. The machine learning device  10  and the controller  30  may be directly connected through a connection unit. 
     The functions of these devices in the thermal displacement compensation system  100  will be described next based on  FIG.  2   . 
       FIG.  2    is a block diagram showing a functional block in each device. All the thermal displacement compensation devices  20  have the same function. Thus, only one thermal displacement compensation device  20  is shown in  FIG.  2   . Likewise, all the controllers  30  have the same function and all the machine tools  35  have the same function. Thus, only one controller  30  and only one machine tool  35  are shown in  FIG.  2   . The network  40  existing between the devices is omitted from  FIG.  2   . 
     As shown in  FIG.  3   , the machine tool  35  performs machining using a spindle to which a cutter is attached and which is rotated by a spindle motor  37 , and a feed axis for feeding the spindle. Specifically, the cutter is rotated by the spindle motor  37  for driving the spindle  36 , and is fed by a feed axis motor  39  for driving the feed axis  38 . While the machine tool  35  is described as a cutting machine in the embodiments, the machine tool  35  is not limited to the cutting machine. 
     As shown in  FIGS.  2  and  3   , the controller  30  feeds a control signal to the machine tool  35 , thereby controlling the machine tool  35  so as to make the machine tool  35  perform the predetermined machining. The controller  30  stores multiple machining programs  31  determined in response to the detail of machining on a workpiece. The controller  30  includes: a program reading and interpretation unit  32  that reads and interprets the machining programs  31 , thereby extracting conditions for machining (the frequency of acceleration or deceleration of the spindle, a spindle speed, cutting load, and cutting time, for example) and outputting position command data, etc. to the thermal displacement compensation device  20 ; a motor control unit  33  that generates an operation command for driving the spindle motor  37  and the feed axis motor  39  in the machine tool  35  based on position command data output from the thermal displacement compensation device  20  resulting from thermal displacement compensation; a motor drive amplifier  34 A that amplifies the operation command and outputs the amplified operation command to the spindle motor  37  in the machine tool  35 ; and a motor drive amplifier  34 B that amplifies the operation command and outputs the amplified operation command to the feed axis motor  39 . The program reading and interpretation unit  32  may extract conditions for machining (the frequency of acceleration or deceleration of the spindle, a spindle speed, cutting load, and cutting time, for example) and output the extracted conditions to the thermal displacement compensation device  20 . Regarding the conditions such as a spindle speed and cutting time, the controller  30  may output information about these conditions obtained in real time from the spindle motor  37  and/or the feed axis motor  39  to the thermal displacement compensation device  20 . For acquisition of measured data, the controller  30  includes multiple terminals for connections to sensors attached to the machine tool  35 . A sensor can be newly connected to the controller  30 , a sensor can be removed from the controller  30 , or the location of a sensor can be changed by inserting or pulling out a cable of the sensor from the terminals. The arrangement of the sensors installed on the machine tool  35  can also be changed. The location change of a sensor can be such that the sensor is removed from the location in the machine tool  35  and the removed sensor is added to a changed location. 
     As shown in  FIG.  2   , the machine learning device  10  learns a thermal displacement estimation calculation formula for the machine tool  35  by machine learning with a teacher. For this learning, the machine learning device  10  includes a measured data acquisition unit  11 , a thermal displacement acquisition unit  12 , a storage unit  13 , and a calculation formula learning unit  14 . 
     The measured data acquisition unit  11  acquires a measured data group from the controller  30 . The measured data mentioned herein may contain temperature data about a machine element in the machine tool  35  and its surroundings measured by a temperature sensor. The measured data may also contain operating state data about a machine element in the machine tool  35 , more specifically, a physical value such as a spindle speed, the flow rate of a coolant to the spindle, or the amount of a lubrication oil to the spindle bearing in the machine tool  35  measured at a place where a temperature sensor cannot be attached, for example. 
     The thermal displacement acquisition unit  12  acquires a thermal displacement actual measured value about a machine element in the machine tool  35  measured with a probe, for example. 
     The storage unit  13  uses the measured data group acquired by the measured data acquisition unit  11  as input data, uses the thermal displacement actual measured value about the machine element acquired by the thermal displacement acquisition unit  12  as a label, and stores the input data and the label in association with each other as teaching data. 
     The calculation formula learning unit  14  performs machine learning based on the measured data group and the thermal displacement actual measured value about the machine element, thereby setting a thermal displacement estimation calculation formula used for calculating the thermal displacement of the machine element based on the measured data group. More specifically, the calculation formula learning unit  14  sets the thermal displacement estimation calculation formula as follows. Due to the presence of multiple independent variables in the measured data group, the calculation formula learning unit  14  performs multiple regression of a generalized linear model. Based on a difference between a thermal displacement estimated value about the machine element calculated by substituting the measured data group in a predetermined period stored as teaching data in the storage unit  13  into the thermal displacement estimation calculation formula to be obtained and the thermal displacement actual measured value about the machine element in the predetermined period stored as a label in the storage unit  13 , the calculation formula learning unit  14  sets the thermal displacement estimation calculation formula so as to minimize this difference by the least-square method, for example. More specifically, on the assumption that measured data (input data) is X 1 , X 2 , . . . , X n , a thermal displacement estimated value about each component forming the machine tool  35  such as a spindle, a bed, or a column is f (X 1 , X 2 , . . . , X n ) (n is a natural number), and a thermal displacement actual measured value is Y L , the calculation formula learning unit  14  sets the thermal displacement estimation calculation formula that minimizes a difference between f (X 1 , X 2 , . . . , X n ) and Y L . 
     As shown in  FIG.  2   , the thermal displacement compensation device  20  includes a compensation value calculation unit  22  as a compensation value calculation means and a compensation unit  24  as a compensation execution means. The compensation value calculation unit  22  calculates a compensation value corresponding to the thermal displacement of the machine element calculated from the measured data group (determination data) based on the thermal displacement estimation calculation formula set by the machine learning device  10 . The compensation unit  24  compensates the machine position of the machine element based on the compensation value about the machine element calculated by the compensation value calculation unit  22 . Alternatively, the compensation unit  24  transmits this compensation value about the machine element to the controller  30 . More specifically, as shown in  FIG.  3   , the compensation unit  24  compensates a condition for machining output from the program reading and interpretation unit  32  of the controller  30  using this compensation value about the machine element, and then outputs position command data to the motor control unit  33 . 
     &lt;Operation of Machine Learning&gt; 
     The operation of machine learning in the thermal displacement compensation system  100  according to this embodiment will be described next.  FIG.  4    is a flowchart showing the operation of the machine learning by the machine learning device  10 . 
     In step S 11 , the measured data acquisition unit  11  of the machine learning device  10  acquires a measured data group from the controller  30 . More specifically, the measured data acquisition unit  11  acquires temperature data about a machine element in the machine tool  35  and its surroundings and/or operating state data. The operating state data may contain a spindle speed, the flow rate of a coolant, and the flow rate of a lubrication oil, for example. The measured data to be acquired may not be data about a temperature itself but may be data about a temperature change, for example. The data about a temperature change to be acquired may be data about a temperature change from an initial temperature or may be data about a temperature change from a previously measured temperature to a currently measured temperature. The operating state data may also contain the amount of heat absorbed by a coolant or the amount of heat absorbed by a lubrication oil. 
     In step S 12 , the thermal displacement acquisition unit  12  of the machine learning device  10  acquires a thermal displacement actual measured value about the machine element in the machine tool  35  measured with a probe, for example. As a specific example, the thermal displacement acquisition unit  12  may measure a component in an X-axis direction, a component in a Y-axis direction, and a component in a Z-axis direction of the thermal displacement, and acquire a group of resultant measured values as the actual measured value. 
     In step S 13 , the storage unit  13  of the machine learning device  10  uses the measured data group acquired by the measured data acquisition unit  11  as input data, uses the thermal displacement actual measured value about the machine element acquired by the thermal displacement acquisition unit  12  as a label, and stores the input data and the label in a pair associated with each other as teaching data. 
     In step S 14 , the calculation formula learning unit  14  of the machine learning device  10  performs machine learning based on the teaching data. Specific exemplary methods of the machine learning will be described later. 
     In step S 15 , the calculation formula learning unit  14  of the machine learning device  10  determines whether to finish the machine learning or to repeat the machine learning. A condition for finishing the machine learning can be determined arbitrarily. If the machining learning is determined to be finished (S 15 : YES), the flow goes to step S 16 . If the machining learning is determined to be repeated (S 15 : NO), the flow returns to step S 11  and the same processing is repeated. 
     In step S 16 , the machine learning device  10  transmits a thermal displacement estimation calculation formula set by the machine learning having been performed before step S 16  to each thermal displacement compensation device  20  through the network  40 . 
     The storage unit  13  of the machine learning device  10  stores the thermal displacement estimation calculation formula. By doing so, if a thermal displacement estimation calculation formula is requested from a newly installed thermal displacement compensation device  20 , the stored thermal displacement estimation calculation formula can be transmitted to this new thermal displacement compensation device  20 . If new teaching data is acquired, further machine learning can be performed with the new teaching data. 
     &lt;Exemplary Method of Machine Learning&gt; 
     As described above, in step S 14  of  FIG.  4   , the calculation formula learning unit  14  performs the machine learning based on the teaching data. Exemplary methods of the machine learning will be described in detail. 
     As a first method, a coefficient that minimizes a square error between a thermal displacement estimated value and a thermal displacement actual measured value can be inferred and set by machine learning using the least-square method. This thermal displacement estimated value is calculated using a thermal displacement estimation calculation formula Y=a 1 X 1 +a 2 X 2 + . . . a n X n  based on multiple regression of a generalized linear model. Here, Y is a thermal displacement estimated value, X 1 , X 2 , . . . , X n  are corresponding measured data values, and a 1 , a 2 , . . . , a n  are coefficients determined by the multiple regression. More specifically, assuming that measured data is X k  and a label is Y L , 
     a group of coefficients a k  is determined that minimizes a total of values about multiple teaching data pieces obtained from the following formula 1. In this formula, k is a natural number, n is any integer, and k≤n.
 
[Formula 1]
 
( Y   L   −Y )=( Y   L −Σ k=1   n   a   k   X   k ) 2   (1)
 
     According to the first method, not normal multiple regression analysis but multiple regression analysis giving consideration to an L2 regularization term is feasible. Specifically, a coefficient that minimizes a value obtained by adding the L2 regularization term to a square error between a thermal displacement estimated value calculated using the thermal displacement estimation calculation formula Y=a 1 X 1 +a 2 X 2 + . . . a n X n  and a thermal displacement actual measured value can be inferred and set by machine learning. Like in the foregoing case, Y is a thermal displacement estimated value, X 1 , X 2 , . . . , X n  are corresponding measured data values, and a 1 , a 2 , . . . , a n  are coefficients determined by the multiple regression giving consideration to the L2 regularization term. More specifically, assuming that measured data is X k  and a label is Y L , 
     a group of coefficients a k  is determined that minimizes a total of values about multiple teaching data pieces obtained from the following formula 2. In this formula, n is a natural number and means the number of measurement points of teaching data used for learning. Further, λ is a hyperparameter, which is a parameter that is set in advance before machine learning begins.
 
[Formula 2]
 
( Y   L   −Y ) 2 +Σ k=1   n ( a   k ) 2 =( Y   L −Σ k=1   n   X   k ) 2 +λΣ k=1   n ( a   k ) 2   (2)
 
     According to the first method, sparse regularization is feasible. For example, multiple regression analysis giving consideration to an L1 regularization term is feasible. More specifically, assuming that measured data is X k  and a label is Y L , 
     a group of coefficients a k  is determined that minimizes a total of values about multiple teaching data pieces obtained from the following formula 3. In this formula, n is a natural number and means the number of measurement points of teaching data used for learning. Further, λ is a hyperparameter, which is a parameter that is set in advance before machine learning begins. Setting λ at a larger value achieves the effect of increasing the number of terms in which a k  is zero.
 
[Formula 3]
 
( Y   L   −Y ) 2 +λΣ k=1   n   |a   k |=( Y   L −Σ k=1   n   a   k   X   k ) 2 +λΣ k=1   n   |a   k |  (3)
 
     Here, L2 regularization and L1 regularization are used as exemplary regularizations. However, the regularizations are given as examples and not limited to the above. 
     According to the first method, a first-order lag element in measured data or a time shift element in the measured data is usable as input data for implementation of the aforementioned machine learning. More specifically, assuming that a thermal displacement estimated value at time t is Y(t) and a measured value from a sensor X k  at the time t is X k (t), a thermal displacement estimation calculation formula using a first-order lag element in measured data is expressed as follows:
 
[Formula 4]
 
 Y ( t )=Σ k=1   n   a   k (Σ τ=0   T     k     X   k ( t−τΔt   k ) e   −b     k     τΔ     k   )  (4)
 
In this way, a coefficient a k , a coefficient b k , and a coefficient T k  are determined by machine learning. In this formula, Δt k  is sampling time of a measured value from the sensor X k .
 
     Assuming that a thermal displacement estimated value at the time t is Y(t) and a measured value from the sensor X k  at the time t is X k (t), a thermal displacement estimation formula using a time shift element in the measured data is expressed as follows:
 
[Formula 5]
 
 Y ( t )=Σ k=1   n Σ τ=0   T     k     a   kτ   X   k ( t−τΔt   k )  (5)
 
     In this way, a coefficient a k , and a coefficient T k  are determined by machine learning. In this formula, Δt k  is sampling time of a measured value from the sensor X k . 
     Various regularization terms such as an L1 regularization term and an L2 regularization term may be added to learning while a first-order lag element in measured data or a time shift element in the measured data is used. In this case, regularization terms corresponding to various parameters such as a k , a kτ , b k , and T k  are added. 
     As a second method, machine learning using a known neural network is feasible. For example, a single-layer neural network such as that shown in  FIG.  5    is usable. Referring to  FIG.  5   , a spindle thermal displacement estimated value is determined based on temperature data A, temperature data B, temperature data C, and operating state data A. Further, a feed axis thermal displacement estimated value is determined based on temperature data B, temperature data D, and operating state data B. However, this is not the only case but is given as an example. 
     Multi-layer neural networks such as those shown in  FIGS.  6 A and  6 B  are also usable. In particular, a recurrent neural network such as that shown in  FIG.  6 A  is used effectively in which an output from an intermediate layer is simultaneously input to the intermediate layer. Further, a time-delay feed-forward neural network such as that shown in  FIG.  6 B  is also used effectively in which history data pieces covering a predetermined period of time from the past to the present including temperature data A t , temperature data At-1 , and temperature data At-2 , for example, are used simultaneously as input values. Data to be input to the neural network may be the foregoing time shift element in measured data (a first-order lag element in the measured data and/or a time shift element in the measured data). For learning using the neural network, various regularization terms such as an L2 regularization term, for example, may be added to the learning. Only one intermediate layer is shown in each of  FIGS.  6 A and  6 B . However, this is not the only number of intermediate layers, and any number of intermediate layers can be set. Referring to  FIG.  6 A , the temperature data A, the temperature data B, and the operating state data A are input, and a spindle thermal displacement estimated value and a feed axis thermal displacement estimated value are output. However, this is not the only case but is given as an example. Referring to  FIG.  6 B , the temperature data A t , temperature data At-1 , and temperature data At-2  are input, and a spindle thermal displacement estimated value and a feed axis thermal displacement estimated value are output. However, this is not the only case but is given as an example. 
     &lt;Operation of Compensation&gt; 
     The operation of compensation in the thermal displacement compensation system  100  according to this embodiment will be described next.  FIG.  7    is a flowchart showing the operation of the compensation by the thermal displacement compensation device  20 . 
     In step S 21 , based on a thermal displacement estimation calculation formula set by the machine learning device  10 , the compensation value calculation unit  22  calculates a compensation value corresponding to the thermal displacement of a machine element calculated from a measured data group. 
     In step S 22 , the compensation unit  24  compensates the machine position of the machine element based on the compensation value about the machine element calculated by the compensation value calculation unit  22 , thereby offsetting the thermal displacement. Unlike the illustration in  FIG.  7   , the compensation unit  24  may transmit the compensation value about the machine element to the controller  30  in step S 22 . More specifically, the compensation unit  24  may compensate a coordinate position output from the program reading and interpretation unit  32  of the controller  30  using this compensation value about the machine element, and then output position command data to the motor control unit  33 . Alternatively, the compensation unit  24  may compensate the machining programs  31  in advance using this compensation value, and then execute the resultant machining programs  31 . 
     &lt;Effect Achieved by First Embodiment&gt; 
     As described above, in this embodiment, the machine learning device  10  is capable of optimizing a thermal displacement estimation calculation formula by machine learning used for estimating the thermal displacement of a machine element to be thermally expanded in the machine tool  35  based on a measured data group containing temperature data about the machine element and its surroundings and/or operating state data about the machine element. 
     Temperature change at each point where measured data is to be acquired is delayed by heat transfer. Then, the temperature change is reflected in thermal displacement. Thus, the machine learning technique allowing for the delay is effective. 
     A thermal displacement estimation calculation formula and a compensation formula based on the thermal displacement estimation calculation formula can be provided with increased accuracy by means of tuning in response to the operating environment of the machine tool  35  or the type of the machine tool  35 . 
     Second Embodiment 
     A second embodiment of the present invention will be described below based on the drawings.  FIG.  8    is a block diagram showing a machine learning device according to this embodiment in detail.  FIG.  9    is a flowchart showing the operation of contribution determination by the machine learning device according to this embodiment.  FIG.  10    is a flowchart showing the operation of optimized measured data group selection by the machine learning device according to this embodiment. 
     &lt;Configuration of Thermal Displacement Compensation System  100 A&gt; 
     As shown in  FIG.  8   , a thermal displacement compensation system  100 A according to the second embodiment differs from the thermal displacement compensation system  100  according to the first embodiment in that a machine learning device  10 A according to the second embodiment includes a contribution determination unit  15  and an optimized measured data selection unit  16  in addition to the components of the machine learning device  10  according to the first embodiment. The other structures of the second embodiment are basically the same as the aforementioned structures of the first embodiment. Thus, common members are identified by the same signs and will not be described below. 
     The contribution determination unit  15  determines a contribution to estimation of the thermal displacement of each measured data in a measured data group. More specifically, the contribution determination unit  15  determines the contribution of measured data as a contribution calculation target based on a difference between a first error (absolute value) and a second error (absolute value). The first error is an error between a first thermal displacement estimated value and a thermal displacement actual measured value. The first thermal displacement estimated value is calculated using a first thermal displacement estimation calculation formula set by machine learning based on a first measured data group containing the measured data as a contribution calculation target. The second error is an error between a second thermal displacement estimated value and a thermal displacement actual measured value. The second thermal displacement estimated value is calculated using a second thermal displacement estimation calculation formula set by machine learning based on a second measured data group from which the measured data as a contribution calculation target has been excluded. More specifically, the contribution of the measured data as a contribution calculation target can be determined to be larger with a larger difference between the first error and the second error. A difference between the first error and the second error is preferably determined based on a group of the first errors and a group of the second errors corresponding to multiple groups of teaching data. In this case, an average or a maximum of differences between the first errors and the second errors is usable, for example. 
     The optimized measured data selection unit  16  selects an optimized measured data group containing a combination of a predetermined number of measured data pieces belonging to a measured data group currently acquired and from which measured data of a small contribution has been excluded, for example. “The number of measured data pieces” mentioned herein means the number of types of measured data pieces differing between sensors used for obtaining the measured data pieces, for example. More specifically, the optimized measured data selection unit  16  selects a first measured data group by excluding measured data with the smallest contribution as determined by the contribution determination unit  15  from the measured data group currently acquired. Next, the optimized measured data selection unit  16  selects an (i+1)-th measured data group by excluding measured data with the smallest contribution as determined by the contribution determination unit  15  from an i-th (1≤i) measured data group. The optimized measured data selection unit  16  makes this selection repeatedly to select the optimized measured data group containing the predetermined number of measured data pieces. Here, i is a natural number. 
     &lt;Operation of Contribution Determination&gt; 
     The operation of determining the contribution of measured data in a measured data group by the machine learning device  10 A will be described next.  FIG.  9    is a flowchart showing the operation of the contribution determination by the machine learning device  10 A. 
     In step S 31 , the calculation formula learning unit  14  sets the first thermal displacement estimation calculation formula based on the first measured data group containing all measured data pieces and a thermal displacement actual measured value by following the flow illustrated in  FIG.  4   . 
     In step S 32 , the contribution determination unit  15  calculates a first thermal displacement estimated value using the first thermal displacement estimation calculation formula. 
     In step S 33 , the contribution determination unit  15  calculates the first error (absolute value) showing an error between the first thermal displacement estimated value and the thermal displacement actual measured value. 
     In step S 34 , the calculation formula learning unit  14  sets the second thermal displacement estimation calculation formula based on the second measured data group from which measured data as a contribution calculation target has been excluded and a thermal displacement actual measured value by following the flow illustrated in  FIG.  4   . 
     In step S 35 , the contribution determination unit  15  calculates the second thermal displacement estimated value using the second thermal displacement estimation calculation formula. 
     In step S 36 , the contribution determination unit  15  calculates the second error (absolute value) showing an error between the second thermal displacement estimated value and the thermal displacement actual measured value. 
     Steps S 31  to S 36  may be executed in parallel as shown in  FIG.  9   , or may be executed continuously. 
     In step S 37 , the contribution determination unit  15  determines the contribution of the measured data as a contribution calculation target based on a difference between the first error and the second error. More specifically, the contribution of the measured data as a contribution calculation target can be determined to be larger with a larger difference between the first error and the second error. 
     &lt;Operation of Optimized Measured Data Group Selection&gt; 
     Described next is the operation by the machine learning device  10 A for selecting an optimized measured data group containing a predetermined number of measured data pieces by excluding measured data of a small contribution.  FIG.  10    is a flowchart showing the operation of the optimized measured data group selection by the machine learning device  10 A. 
     In step S 41 , the optimized measured data selection unit  16  sets the number of measured data pieces to be ultimately used. 
     The number of measured data pieces to be ultimately used is set to be smaller than the original number of measured data pieces. 
     In step S 42 , the contribution determination unit  15  determines the contribution of each measured data forming a measured data group currently acquired by following the flow illustrated in  FIG.  9   . 
     In step S 43 , the optimized measured data selection unit  16  excludes measured data with the smallest contribution from the measured data group currently acquired, and then determines the resultant measured data group to be the “first measured data group.” 
     In step S 44 , the optimized measured data selection unit  16  sets an initial value 1 for i. 
     In step S 45 , the optimized measured data selection unit  16  selects an i-th measured data group. 
     In step S 46 , the contribution determination unit  15  determines the contribution of each measured data forming the i-th measured data group by following the flow illustrated in  FIG.  9   . 
     In step S 47 , the optimized measured data selection unit  16  excludes measured data with the smallest contribution from the i-th measured data group, and then determines the resultant measured data group to be the “(i+1)-th measured data group.” 
     In step S 48 , the optimized measured data selection unit  16  determines whether the number of measured data pieces in the “(i+1)-th measured data group” is equal to the number of measured data pieces set in step S 41 . If this number of measured data pieces is equal to the originally set number (S 48 : YES), the flow is finished. Specifically, the “(i+1)-th measured data group” at the finish of the process in step S 48  becomes functional as an optimized measured data group. If the determined number of measured data pieces is not equal to the originally set number (S 48 : NO), the flow goes to step S 49 . 
     In step S 49 , the optimized measured data selection unit  16  increments i by one. Then, the flow returns to step S 45 . 
     &lt;Effect Achieved by Second Embodiment&gt; 
     As described above, in addition to the effect achieved by the first embodiment, the second embodiment achieves streamlining of a measured data group by excluding measured data of a small contribution from the measured data group. 
     As described above, the sensors connected to the terminals of the controller  30  are removable. Thus, a sensor that contributes little to accuracy increase may be removed or the position of this sensor may be changed. By doing so, compensation can be made with a high degree of accuracy using sensors of a reduced number. The reduction in the number of sensors leads to cost reduction or ease of maintenance. In particular, highly accurate compensation can be realized with sensors of a reduced number by providing a large number of sensors and acquiring measured data in advance, then calculating contributions by making automatic analysis by machine learning, and removing a sensor of a small contribution. 
     Third Embodiment 
     A third embodiment of the present invention will be described below based on the drawings.  FIG.  11    is a block diagram showing a machine learning device according to this embodiment in detail.  FIG.  12    is a flowchart showing the operation of detection of measured data that do not contribute to accuracy increase by the machine learning device according to this embodiment. 
     &lt;Configuration of Thermal Displacement Compensation System  100 B&gt; 
     As shown in  FIG.  11   , a thermal displacement compensation system  100 B according to the third embodiment differs from the thermal displacement compensation system  100  according to the first embodiment in that a machine learning device  10 B includes a detection unit  17  in addition to the components of the machine learning device  10 . The other structures of the third embodiment are basically the same as the aforementioned structures of the first embodiment. Thus, common members are identified by the same signs and will not be described below. The third embodiment is to detect measured data that do not contribute to accuracy increase by using sparse regularization learning. 
     The detection unit  17  detects measured data that do not contribute to increase in the accuracy of thermal displacement estimation based on a thermal displacement estimation formula set by the sparse regularization learning. 
     &lt;Operation of Detection&gt; 
     The operation of determining the contribution of measured data in a measured data group by the machine learning device  10 B will be described next.  FIG.  12    is a flowchart showing the operation of the contribution determination by the machine learning device  10 B. 
     In step S 51 , the measured data acquisition unit  11  of the machine learning device  10 B acquires a measured data group from the controller  30 . More specifically, the measured data acquisition unit  11  acquires temperature data about a machine element in the machine tool  35  and its surroundings and/or operating state data about the machine tool  35 . 
     In step S 52 , the thermal displacement acquisition unit  12  of the machine learning device  10 B acquires a thermal displacement actual measured value about the machine element in the machine tool  35  measured with an eddy-current sensor, for example. As a specific example, the thermal displacement acquisition unit  12  may measure a component in an X-axis direction, a component in a Y-axis direction, and a component in a Z-axis direction of the thermal displacement, and acquire a group of resultant measured values as the actual measured value. 
     In step S 53 , the storage unit  13  of the machine learning device  10 B uses the measured data group acquired by the measured data acquisition unit  11  as input data, uses the thermal displacement actual measured value about the machine element acquired by the thermal displacement acquisition unit  12  as a label, and stores the input data and the label in a pair associated with each other as teaching data. 
     In step S 54 , the calculation formula learning unit  14  of the machine learning device  10 B performs machine learning through sparse regularization using the teaching data. 
     In step S 55 , the detection unit  17  detects measured data X k  to make a coefficient a k  zero. By doing so, the detection unit  17  detects the measured data that do not contribute to increase in the accuracy of thermal displacement estimation based on a thermal displacement estimation formula set by the sparse regularization learning. 
     The machine learning device  10 A according to the second embodiment can optimize a measured data group by using the detection unit  17  in combination with the optimized measured data selection unit  16  instead of the contribution determination unit  15 . More specifically, the detection unit  17  detects measured data that do not contribute to increase in the accuracy of thermal displacement estimation such as measured data to make the coefficient a k  zero. The optimized measured data selection unit  16  excludes the measured data that do not contribute to increase in the accuracy of thermal displacement estimation from a measured data group currently acquired. By doing so, a streamlined measured data group can be selected. 
     &lt;Effect Achieved by Third Embodiment&gt; 
     As described above, the third embodiment achieves an effect comparable to that achieved by the second embodiment. 
     Other Embodiments 
     While the foregoing embodiments are preferred embodiments of the present invention, these embodiments do not limit the scope of the present invention. The present invention is feasible as embodiments to which various changes are added within a range not deviating from the substance of the present invention. 
     [First Modification] 
     In the embodiments, a thermal displacement estimation calculation formula is described as a polynomial formulated based on multiple regression of a generalized linear model. However, this is not the only case but the thermal displacement estimation calculation formula may be formulated based on multiple regression of a non-linear model. 
     [Second Modification] 
     The techniques in the foregoing embodiments are to optimize a measured data group by deleting measured data. However, this is not the only case but the measured data group may be optimized by adding measured data. More specifically, if the degree of accuracy of a thermal displacement estimation calculation formula set as a result of machine learning is less than a threshold, measured data may be added. Further, after certain measured data is deleted, different measured data may be added. In particular, if a sensor is added by a maintenance operator or an end user of a machine tool, the accuracy of thermal displacement compensation is increased by means of automatic tuning of a compensation formula based on a thermal displacement estimation calculation formula. In order to increase the accuracy of thermal displacement compensation, for example, machine learning may be performed using a measured data group obtained by changing the position of a temperature sensor, for example. In this case, a determination can also be made as to whether accuracy is increased by evaluating a difference between an error between a thermal displacement estimated value calculated using a thermal displacement estimation formula obtained after the position change and a thermal displacement actual measured value, and an error between a thermal displacement estimated value calculated using a thermal displacement compensation formula obtained based on machine learning using a measured data group before the position change and a thermal displacement actual measured value. 
     [Third Modification] 
     In the foregoing embodiments, the machine tool  35  is described as a cutting machine. However, the machine tool  35  is not limited to the cutting machine. The machine tool  35  may also be a wire discharge machine or a laser machine, for example. 
     [Fourth Modification] 
     The controller  30  may be configured to include the thermal displacement compensation device  20 . The controller  30  may alternatively be configured to include the machine learning device  10 ,  10 A, or  10 B. 
     [Fifth Modification] 
     Each of the machine learning devices  10 ,  10 A, and  10 B in the foregoing embodiments may be configured as a computer system including a CPU. In this case, the CPU reads a program from a storage unit such as a ROM, for example, and follows the read program, thereby causing the computer to function as the measured data acquisition unit  11 , the thermal displacement acquisition unit  12 , the storage unit  13 , the calculation formula learning unit  14 , the contribution determination unit  15 , the optimized measured data selection unit  16 , and the detection unit  17 . 
     EXPLANATION OF REFERENCE NUMERALS 
     
         
           10   10 A  10 B Machine learning device 
           11  Measured data acquisition unit 
           12  Thermal displacement acquisition unit 
           13  Storage unit 
           14  Calculation formula learning unit 
           15  Contribution determination unit 
           16  Optimized measured data selection unit 
           17  Detection unit 
           20  Thermal displacement compensation device 
           22  Compensation value calculation unit 
           24  Compensation unit 
           30  Controller 
           35  Machine tool 
           40  Network 
           100   100 A  100 B Thermal displacement compensation system