I am struggling with the initializer overloads for the CNTK model. There are several initializers: NormalInitializer, XavierInitializer, GlorotUniformInitializer, etc.
I get that, but I do not unterstand the overloads they are having. For instance, GlorotUniformInitializer has the following overloads:
public static CNTKDictionary GlorotUniformInitializer();
public static CNTKDictionary GlorotUniformInitializer(double scale);
public static CNTKDictionary GlorotUniformInitializer(double scale, int outputRank);
public static CNTKDictionary GlorotUniformInitializer(double scale, int outputRank, int filterRank);
public static CNTKDictionary GlorotUniformInitializer(double scale, int outputRank, int filterRank, uint seed);
seed and scale are clear for me, but I do not understand output and filter rank.
What are the semantics behind outputRank or filterRank?