I also figured out why I had to multiply by a -1 and then multiply the
two networks. I'm not so much multiplying by a -1 but initializing my
network to be all -1's at first. The difference is that -1 is "off".
'0' is kinda ambiguous. Then when I multiply the contribution matrices
against the individual matrices I'm essentially turning different
neurons off and on (since a -1 * 1 will essentially flip the sign).
Code critiques are welcome on this one. I'm pretty happy with it
considering it's just a couple hours work.