options = trainingOptions('sgdm',...
'MaxEpochs',6, ...
'ValidationData',{XValidation,YValidation},...
'ValidationFrequency',5,...
'ValidationPatience',3, ...
'Verbose',false,...
'Plots','training-progress');
途中からトレーニングデータに過適合して、バリデーションデータの損失が大きくなってるので、
'ValidationPatience'を導入して、ロスが大きくなってしまったら、学習から脱出するようにすれば、まずは精度があがるようになると思います。学習曲線がなまったときの学習短縮のために、この、早期終了(early stopping)が使われることが多いと思いますが、このような過適合に関しても有効だろうと考えられます。
あとは、過適合を抑えるように
'L2Regularization',0.1
とかしてみてはいかがでしょうか。どのようなパラメータで動かしてるかわからないので、具体的な数字がどれくらいはわかりませんが、デフォルトの値が0.0001なのでデフォルトで動かしてるならそれより大きくしてみてはどうでしょうか。