In the HTM school videos Matt talks about encoders. In this overview, he lists a number of properties that an SDR created by an encoder should have. One of those properties is that a semantically similar input value should produce a similar output SDR and that a dissimilar input value should produce a dissimilar output SDR.
I don’t understand the reason for requiring semantic similarity - wouldn’t spatial pooling learning happen just as reliably on randomly (but deterministically) generated SDRs?
Oh, I maybe just realized, is it because of the union operation that allows you to match against an incoming input value more quickly than scanning through all the SDR representations that have been seen?