An abnormality detection system for detecting an abnormality of a target machine by a computer, wherein the computer includes a communication unit configured to acquire first data from a first sensor attached to the target machine and second data (D1, RV12, RV12, RV12) from a second sensor (12, 12, 12, 12) attached to the target machine, an arithmetic unit, and a memory unit, whereby the arithmetic unit includes an encoding unit trained to generate latent expressions (LV12, LV12, LV12, LV0) including a predetermined latent expression (LV12, LV12, LV12) for estimating the second data on the basis of the first data and a latent expression able to be used for restoring the first data, a decoding unit trained to restore the first data from the latent expressions (LV12, LV12, LV12, LV0), and an abnormality detection unit configured to detect the abnormality of the target machine on the basis of a restoration error between the first data and the first data restored by the decoding unit, wherein the arithmetic unit further includes a training unit configured to compare the first data output from the first sensor and the first data (D0A) restored by the decoding unit, and calculate the restoration error which is the difference therebetween, wherein the training unit is further configured to compare the second data estimated from the predetermined latent expression (LV12, LV12, LV12) with the second data (RV12, RV12, RV12) measured by the second sensor (12, 12, 12), and calculate an estimation error which is a difference therebetween, wherein the training unit is further configured to adjust parameters of the encoding unit and parameters of the decoding unit such that a total loss of the estimation error and the restoration error is minimized. the computer includes a communication unit configured to acquire first data from a first sensor attached to the target machine and second data (D1, RV12, RV12, RV12) from a second sensor (12, 12, 12, 12) attached to the target machine, an arithmetic unit, and a memory unit, whereby the arithmetic unit includes an encoding unit trained to generate latent expressions (LV12, LV12, LV12, LV0) including a predetermined latent expression (LV12, LV12, LV12) for estimating the second data on the basis of the first data and a latent expression able to be used for restoring the first data, a decoding unit trained to restore the first data from the latent expressions (LV12, LV12, LV12, LV0), and an abnormality detection unit configured to detect the abnormality of the target machine on the basis of a restoration error between the first data and the first data restored by the decoding unit, wherein the arithmetic unit further includes a training unit configured to compare the first data output from the first sensor and the first data (D0A) restored by the decoding unit, and calculate the restoration error which is the difference therebetween, wherein the training unit is further configured to compare the second data estimated from the predetermined latent expression (LV12, LV12, LV12) with the second data (RV12, RV12, RV12) measured by the second sensor (12, 12, 12), and calculate an estimation error which is a difference therebetween, wherein the training unit is further configured to adjust parameters of the encoding unit and parameters of the decoding unit such that a total loss of the estimation error and the restoration error is minimized.