Learning algorithms need generally the possibility to compare several streams of information. Neural learning architectures hence need a unit, a comparator, able to compare several inputs encoding either internal or external information, like predictions and sensory readings. Without the possibility of comparing the values of prediction to actual sensory inputs reward evaluation and supervised learning would not be possible.