Thanks for the answer!

I still think something is wrong with this correlation checker. I even used this function to randomize the weights a few times, and I got the same correlation error:

def add_random_noise(weights, noise_level=0.01): noise = np.random.uniform(-noise_level, noise_level, size=weights.shape) return weights + noise

I am pretty sure it's impossible to have 90% correlation in this case.