# Introduction¶

Machine learning is a robust solution to mimic human’s estimations and predictions for complex data problems [B46]. Convolutional neural network (CNN) [B27] is an efficient and universal algorithm in the family of machine learning for image processing. It processes the feature of image pattern, rather than the value of each pixel as with classical methods. Its accuracy and efficiency for image recognition and classification have been proved from various applications [B36], [B26], [B14], [B33]. The specially designed architecture of CNN also works for supervised transformation of image style [B15].

Convolutional neural network (CNN) [B27] is a branch of Artificial Neural Network (ANN), which is also known as Multilayer Perceptron (MLP). As it allows the computational model to learn representations of data with multiple levels of abstraction, it also belongs to the popular families of “Deep learning” [B29]. As the same idea of ANN and “Deep learning”, CNN is the process to build a function *f* between the input data *X* and output data *Y* (*f: X –> Y* ). The function *f* does not, like the traditional formulas, represent the data relations with simple mathematical operators and symbols. It is a composition of multiple layers of weights (*W* ) with activation functions (*K* ). The CNNs we present for this article are supervised learning, which we fit the *W* for specific input and output data (*X –> Y* ). After that, this *f* can be used to predict the future data with the same rule of the fitting data.