An Elman network is a three-layer network with the addition of a set of "context units" (u in the illustration). This recurrent network model can maintain a context state, allowing it to perform tasks such as sequence-prediction. The middle (hidden) layer is connected to these context units fixed with a weight of one. At each time step, the input is feed-forward and a learning rule is applied. The fixed back-connections save a copy of the previous values of the hidden units in the context units .