1. An artificial neural network implemented on a data processing system for analyzing input data to recognize an action therein, the input data being a 3-dimensional input tensor having D channels, D being a natural number greater than 1, the artificial neural network comprising: D spatial transformer neural network modules, wherein each spatial transformer module is configured to receive the input tensor, generate a first and a second spatial transformation using only one of the D channels, generate a first and a second attention window respectively corresponding to the first and the second spatial transformation, transform a first and a second region of each of the D channels of the input tensor corresponding to the first and the second attention window to a first and a second output patch for that channel, the first and the second output patches for all D channels respectively forming a first and a second patch sequence, wherein each spatial transformer module is further configured to output a set of first transformation parameters of the first spatial transformation, wherein different ones of the D spatial transformer modules are configured to use different ones of the D channels of the input tensor to generate their first and second spatial transformations; a first and a second convolutional neural network (CNN), the first CNN being configured to receive as input a concatenation of the D first patch sequences generated by the D spatial transformer modules and to generate a first CNN output, the second CNN being configured to receive as input a concatenation of the D second patch sequences generated by the D spatial transformer modules and to generate a second CNN output; and a classification neural network, configured to receive as input a concatenation of the first CNN output, the second CNN output, and the D sets of first transformation parameters outputted by the D spatial transformer modules, and to generate a predicted action class.