Using same net and similar data,but MSE is very different.
originalData = Get["https://wolfr.am/lRWRvwBp"];
originalGenerator = <|"EmbeddingLayerInput" -> Rationalize@#[[All, 1]], "Input2" -> #[[All, 2 ;; 13]], "Output" -> #[[All, 14 ;;]]|> &@RandomSample[originalData, #BatchSize] &;
originalGenerator[<|"BatchSize" -> 3|>]
net = NetGraph[{EmbeddingLayer[128, "Input" -> NetEncoder[{"Class", Range[0, Max@data[[All, 1]]]}]], CatenateLayer[], 512, Ramp, 43},{NetPort["EmbeddingLayerInput"] -> 1 -> 2, NetPort["Input2"] -> 2, 2 -> 3 -> 4 -> 5}, "Input2" -> 12]
NetTrain[net, originalGenerator, MeanSquaredLossLayer[],"LossEvolutionPlot", BatchSize -> 300, MaxTrainingRounds -> 200]
INPUTNOTE = Length[originalData];
testData = Transpose[{Join[List /@ originalData[[All, 1]], RandomReal[1, {INPUTNOTE, 12}], 2], RandomReal[1, {INPUTNOTE, 43}]}];
testGenerator = <|"EmbeddingLayerInput" -> Rationalize@#[[All, 1, 1]],"Input2" -> #[[All, 1, 2 ;;]], "Output" -> #[[All, 2]]|> &@RandomSample[testData, #BatchSize] &;
testGenerator[<|"BatchSize" -> 3|>]
NetTrain[net, testGenerator, MeanSquaredLossLayer[], "LossEvolutionPlot", BatchSize -> 300, MaxTrainingRounds -> 200]
So why using similar data but different level of MES loss?