A disadvantage of the offline technique above is that it is offline: the predictor does not adapt to the specific text file it sees. This limitation is not essential, however. It is straight-forward to construct an online variant of the approach. With the online variant, the predictor continues to learn during compression. The online variant proceeds like this: Both the sender and the receiver start with exactly the same initial predictor. Whenever the sender sees a new character, it encodes it using its current predictor. The code is sent to the receiver who decodes it. Both the sender and the receiver use exactly the same learning protocol to modify their weights. This implies that the modified weights need not be sent from the sender to the receiver and do not have to be taken into account to compute the average compression ratio. Of course, the online method promises higher compression ratios than the offline method.
The main disadvantage of both online and offline variants, however, is their computational complexity. The current offline implementation is clearly slower than conventional standard techniques, by about three orders of magnitude (but no attempt was made to optimize the code with respect to speed). And the complexity of the online method is even worse (the exact slow-down factor depends on the precise nature of the learning protocol, of course). For this reason, especially the promising online variants can be recommended only if special neural net hardware is available. Note, however, that there are many commercial data compression applications which rely on specialized electronic chips.
Among the methods presented in this paper, perhaps the most interesting way of using neural predictors for redundancy reduction is the one described in the next section.