# Review of Automatic Estimation of Emotions in Speech
## 7 Neural (Machine Learning) Techniques for Emotion Classification of Speech
### Basics of ANNs  
The primary element (or node) of an ANN has action founded on that of biological neurons. The basic ANN is a multi-layer perceptron (MLP), which has layers (sets) of nodes, which each feed outputs as inputs to the nodes of the next layer, and use no feedback. For classification such as SER, training an MLP can be seen as an optimization of the combined placement of hyperplane boundaries for class regions in a representation space that can be very complex [96]. The initial ANN layer obtains its input as a vector of speech waveform samples. Intermediate \"hidden\" layers furnish refined data for use in classification; numbers of nodes vary greatly, and are often chosen empirically.  
In natural neural networks, dendrites in a neuron route electrical signals to succeeding axons; each axon yields a binary output consisting of a brief pulse at the time that the weighted sum of inputs exceeds a threshold. The output of an ANN node (model of a neuron) is specified by an activation function \(y=\varphi(w\cdot x+b)\), where \(w\) is a \(N\)-dimensional weight vector, \(b\) is a scalar bias, \(x\) is a \(N\)-dimensional set of inputs, and \(\varphi(.)\) is a nonlinearity (e.g., sigmoid, rectifier, or tanh) [94]. For each model node, its weight and bias parameters determine the location of a hyperplane in a virtual space; the binary output maps into either side of the hyperplane. For an application such as SER, each ANN node potentially provides some information toward the emotion classification. Huge networks, having millions of parameters, are typically required to attain sufficient system precision for any ANN application such as SER, owing to the large variability of input data.  
To train the parameters of a neural network, initial estimates for node biases and multiplier weights can be chosen randomly (or can be pre-trained using unlabeled data, which are usually more easily obtained). Ensuing training alters these parameters incrementally, during successive training cycles called \"epochs\", using a criterion to minimize a loss (cost) function. Use of a direct criterion such as minimization of accuracy for SER is not feasible, because ANN training requires a differentiable \"loss\", to allow a product chain of derivatives (through the network), as this shows the direction and amount to change parameters at each training iteration, using steepest gradient descent.  
Loss functions provide an approximation of a penalty for SER errors. These functions vary greatly across applications, but a common one is cross-entropy (CE) [88]. CE employs the log-likelihood of training data, which corresponds to minimization of least squares error (i.e., quadratic or L2 norm). CE is also an identification loss, usually with Softmax output units or a variant such as Angular Softmax. Softmax applies an exponential function to elements of its input vector, and normalizes these values by the sum of all the exponentials. This guarantees that the components of the output vector add to 1, and thus are suitable to interpret as a probability distribution.