Tensor Machine Learning
Tensor Machine Learning refers to a concept of using a multi-dimensional array when learning from big data in a specific way. More general information about a tensor can be found in our article What is a Tensor. This article focusses on the use of tensors in machine learning providing one particular usage example. Our example is in the field of deep learning using a convolutional neural network (CNN) for image data analysis. In our example a CNN is learning one function that maps the input image data x to an output vector y that represents the image label. Given the CNN architecture this one function is indeed a composition of a sequence of simpler functions that are called layers that in turn consists of specific computational elements.
In order to work with frameworks like the Tensorflow Tool we use a three dimensional tensor to encode the inherent spatial structure of the two dimensional image data and given image features. As shown in the illustration above the first two dimensions in our multi-dimensional tensor is height Hl and width Wl to include the spatial dimensions of the image. The third dimension is used to encode the number of feature channels Cl, one for each spatial location. Our illustration example above uses three feature channels for Cl in order to represent the three color channels RGB of a typical colored image. But this is just one example and the encoding of images can be done differently depending on the application domain and data available. Another example is the use of Cl for 200 spectral channels in a hyper-spectral image data analysis task like within remote sensing that is listed in our article on Deep Learning Applications.
When processing data using the tensor in a real learning task we often use several data samples together in a single batch. In orer to enable efficient parallel processing the tensor thus has a fourth dimension Nl that spans multiple data samples in a single batch. The exact number of data samples Nl in such a batch is also called the batch cardinality. The arrow in the illustration above should therefore indicate the starting of the processing through the whole CNN architecture using the computing elements of different layers in order to finally obtain the output vector y as image label in the final layer. Throughout the computing the tensor above will be several times modified and transformed, for instance by obtaining feature maps after convolutions.
Tensor Machine Learning Details
The following video provides more pieces of information about this subject: