A data generation system, comprising: a first obtainer configured to obtain a plurality of first learning datasets, each of the plurality of first learning datasets including a combination of a first sample of image data including a first feature and a first label indicating a type of the first feature; a second obtainer configured to obtain a plurality of second learning datasets, each of the plurality of second learning datasets including a combination of a second sample of the image data including a second feature different from the first feature and a second label indicating a type of the second feature; a first trainer configured to train a first learning model including a first generator through machine learning using the obtained plurality of first learning datasets, the training the first learning model through machine learning including training the first generator to generate, from the first label, a pseudo sample fitting the first sample for each of the plurality of first learning datasets, wherein the first label indicates a type of a product; a second trainer configured to train a second learning model including a second generator through machine learning using the obtained plurality of second learning datasets, the training the second learning model through machine learning including training the second generator to generate, from the second label, a pseudo sample fitting the second sample for each of the plurality of second learning datasets, wherein the second label indicates a defect type; a first generation unit configured to generate a first pseudo sample including the first feature by providing a first input value corresponding to the first label to the trained first generator; a second generation unit configured to generate a second pseudo sample including the second feature by providing a second input value corresponding to the second label to the trained second generator; and a data synthesizer configured to generate a new sample of the image data by synthesizing the generated second pseudo sample with the generated first pseudo sample, the new sample showing the product and a defect of the specified type; wherein the new sample is used as a training sample to train a machine learning model for detecting a defect in a product image captured with a camera. a first obtainer configured to obtain a plurality of first learning datasets, each of the plurality of first learning datasets including a combination of a first sample of image data including a first feature and a first label indicating a type of the first feature; a second obtainer configured to obtain a plurality of second learning datasets, each of the plurality of second learning datasets including a combination of a second sample of the image data including a second feature different from the first feature and a second label indicating a type of the second feature; a first trainer configured to train a first learning model including a first generator through machine learning using the obtained plurality of first learning datasets, the training the first learning model through machine learning including training the first generator to generate, from the first label, a pseudo sample fitting the first sample for each of the plurality of first learning datasets, wherein the first label indicates a type of a product; a second trainer configured to train a second learning model including a second generator through machine learning using the obtained plurality of second learning datasets, the training the second learning model through machine learning including training the second generator to generate, from the second label, a pseudo sample fitting the second sample for each of the plurality of second learning datasets, wherein the second label indicates a defect type; a first generation unit configured to generate a first pseudo sample including the first feature by providing a first input value corresponding to the first label to the trained first generator; a second generation unit configured to generate a second pseudo sample including the second feature by providing a second input value corresponding to the second label to the trained second generator; and a data synthesizer configured to generate a new sample of the image data by synthesizing the generated second pseudo sample with the generated first pseudo sample, the new sample showing the product and a defect of the specified type; wherein the new sample is used as a training sample to train a machine learning model for detecting a defect in a product image captured with a camera.