Model: ResNet 18, Loss: Cross Entropy, Dataset: CIFAR-10, Batch: 256 상황에서 백프롭 과정을 mat mul로 직접 구현해보는 토이프로젝트 해보고 있는데

256장의 이미지에 대해서 10개 클래스에 대한 softmax값과 정답 클래스 벡터에 대한 오차를 구하는 거니깐 Loss 행렬 자체가 (10, 256) 함수로 출력되는게 맞잖아?

실제로 loss 행렬도 그렇게 뽑힘.


근데 torch CELoss 함수 보니까 출력값이 스칼라값이던데 이거 따로 이유가 있는거임? 

다른 커스텀 loss 함수에서 이거 어떻게 다루는지 보니까 걔네들도 일단 loss 행렬 만들어놓고 전체 매트릭스에 대해서 sum이나 mean때려서 스칼라값 1개로 퉁 쳐놓고 거기서 백프롭 시작하던데

특별한 이유가 있는건지 궁금함.