Blank bias
--blank_bias subtracts a constant from the blank logit before the softmax at
decode time, for both the greedy and the beam decoder. Positive values penalise
blank, so the model emits more words. It is exactly a shift of the joint
network’s output bias for the blank class. With --fuzzy_topk_logits, the bias is
applied after the top32 reduction, as on the board: if blank is not among the
returned top32 values its logit is the minimum returned logit, and the bias is
subtracted from that. Under --eos_decoding blank, which
folds EOS into blank, the EOS logit is shifted too.
This helps because the RNN-T loss sums over all alignments, but greedy decoding takes the argmax in each lattice cell. A model can therefore score a good loss and still delete words. The bias corrects that.
Tuning at the end of training
At the last training step, before the final validation, the dev set is decoded
greedily once for each value in --blank_bias_grid (default
0.0 0.25 ... 1.5). The value with the lowest error rate is used for the final
validation and stored as blank_bias in every checkpoint saved from then on.
It is also copied into the hardware checkpoint, which leaves the weights
unchanged, and load_hw_checkpoint returns it as Checkpoint.blank_bias. Pass --blank_bias_grid with no values to skip tuning.
Checkpoint averaging carries the value into the
averaged checkpoint.
Inference server
The CAIMAN-ASR server reads the stored blank_bias from the hardware checkpoint and applies it to greedy decoding only.
The beam decoder ignores it, and there is no flag to override it.
Validation
With --decoder greedy, val.sh decodes at the checkpoint’s stored value
unless you pass --blank_bias. Beam search does not pick up the stored value,
because beam wants a smaller bias than greedy. Pass --blank_bias to set one
for beam. Checkpoints without a stored value decode at 0.0.
The bias is subtracted before the logits are divided by --temperature, so a
value tuned under greedy decoding, which uses temperature 1.0, does not carry
over to other temperatures.