原因特定のためにいくつか確認させてください。
・データセットのキャッシュ(データセットCSVファイルと同じフォルダに作成される.cacheで始まるフォルダ)の削除をお試しいただけますか?
・それでも動作しない場合、1層のニューラルネットワーク(Input、Affine(4)、Softmax、CategoricaCrossEntropy)では正しく学習できるかどうかご確認いただけますでしょうか?
・出力4ニューロン+Softmax+CrossEntorpyということで、出力yは0~3の整数ということで合っていますでしょうか?
NaNが発生する原因は、SigmoidレイヤーとBinaryCrossEntropyの間に挿入されたAffineレイヤーです。
Affineレイヤーは負の値を出力しますが、BinaryCrossEntropyレイヤーは負の値を扱うことができません。
最後のAffine_3レイヤーを除き、Affine_2のOutShapeを1にすると正しく学習できる可能性があります。