KalmanNet/KalmanNet_TSP

Given the wrong initial value, the KNet (architecture 1) does not converge

wangz21 opened this issue · 4 comments

Q1: Do I have to give an exact initial value of "m1x_0"? When I try to have the initial value with error, KNet does not converge.
Q2: My state vector is 9-dimensional (x:[9x1]), and the order of magnitude difference between dimensions is large, do I need to change other data normalization methods?The nn.functional.normalize function is used in your source program.

Q1: KalmanNet assumes same distribution during training and inference. If your training dataset has the same distribution of random init value as inference dataset, KalmanNet can deal with this randomness.
Q2: Similar as other Neural Network aided method, to accelerate your training, it's better to normalize your input to similar order of magnitude.

Best,
Xiaoyong

Q1:can you share the code of the KNet(Architecture 1)?
Q2:I want to know the reason why the KalmanNet (Architecture 2) can't achieves the MMSE of the MB KF? the following is the results.
image

Q1: It's under branch "architecure #1" of this "KalmanNet_TSP" repo.
Q2: Probably due to not enough training steps. Try to train for more epoches until KalmanNet converges.