but instead of optimizing the cross-entropy cost directly, it uses an auxiliary cost that learns to classify a word as a training word or a noise word [@Gutmann:2010]. This allows it to treat the normalization term as a parameter of the network. BlackOut continues this line of research, using a stochastic version of softmax that explicitly discriminates the target word from the noise words [@Ji:2016].

Variance regularization modifies the training objective to encourage the network to learn an output distribution that is close to a real probability distribution even without explicit normalization [@Shi:2014]. This is useful for example in one-pass speech recognition, where evaluation speed is important but the output does not have to be a valid probability distribution. The model can also be modified to predict the normalization term along with the word probabilities [@Sethy:2015]. NCE objective also encourages the network to learn an approximately normalized distribution, and can also be used without softmax e.g. for speech recognition [@Chen:2015].

Hierarchical Softmax {#sec:hierarchical-softmax}
--------------------

Hierarchical softmax factors the output probabilities into the product of multiple softmax functions. At one extreme, the hierarchy can be a balanced binary tree that is $log_2(N)$ levels deep, where $N$ is the vocabulary size. Each 