私はpython言語で書かれたkerasを用いて、画像分類を行っていますが、学習と判別がどのように行われているのか、仕組みが分かりません。
例えば、MNISTのデータセットをDLし、モデルを構築後、下記のコードを入力したとします。訓練データが54000枚、validation splitの値を0.1に設定しバリデーションデータが6000枚あります。

model.compile(
loss='categorical_crossentropy', optimizer=Adam(), metrics=['accuracy'])
history = model.fit(
x=x_train, y=y_train, batch_size=n_batch,
epochs=n_t,validation_split=0.1, verbose=2, shuffle=True)
# loss(訓練データの損失), acc(訓練データの正解率), al_loss(バリデーションセットの損失), val_acc(バリデーションセットの正解率)

上記のように、fitメソッドを用いることによって

Train on 54000 samples, validate on 6000 samples
Epoch 1/10
- 2s - loss: 0.0349 - acc: 0.9892 - val_loss: 0.0286 - val_acc: 0.9912

と結果が出たとします。ここでのlossとaccuracyについて、以下の2つの疑問についてお答えいただきたいです。

①epoch1/10の場合、訓練データ54000枚を1度だけ分類器の全層を通して54000枚分の特徴量を抽出し、学習済みのモデルを作成した後、訓練データとバリデーションデータを判別し、全枚数における正解の枚数を正答率として表しているのでしょうか。学習時だけ分類器の全ての層を通しているのか、判別時も同様に分類器を通るのか分かりません。

②学習モデルについては、畳み込み層で、教師付きの訓練データ画像一枚一枚の画像から特徴量を抽出して、全訓練画像からの特徴マップを作成し、その後flattenによって各特徴マップを1次元配列に平滑化し、全結合層によって、その1次元の特徴量を各クラスに分配して、各クラスの特徴量を保持するという認識でいますが、合っていますでしょうか。学習だけそういう特徴量を抽出するのか、判別でもそういう過程を経ているのか、イマイチ理解できませんので、ご教授頂けるか、有益なサイトおよび本など紹介いただけたら幸いです。

2つとも同じような質問ですが、独学に頼らざるを得ない環境のため、ご教授頂けたら幸いです。。。