• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

CrossEntropyLoss 질문입니다.

22.02.06 00:32 작성 조회수 164

0

좋은 강의 감사드립니다.

강의 중 궁금한 내용이 있어 질문 드려요!

강의 6분40초에서 loss 계산 부분이 궁금합니다

criterion = nn.CrossEntropyLoss() # CrossEntropyLoss는 softmax 계산까지 포함되어 있으므로 모델의 마지막 output node에 별도의 활성화 함수를 사용하지 않아도 된다.

 

outputs = net(inputs) # 예측값 산출 
loss = criterion(outputs, labels) 

 

criterion을 위와 같이 정의하고 loss를 계산을 하는데, outputs은 10개짜리 벡터가 되고, labels은 그냥 숫자 값인데 이게 CrossEntropyLoss()로 계산이 가능하다고 설명이 해주셨습니다.

같은 타입의 형식이어야 가능할것 같은데 왜 가능한건지 이해가 되질 않네요.

 

답변 1

답변을 작성해보세요.

0

안녕하세요.

파이토치에서 크로스 엔트로피에 해당하는 criterion(A, B)에서  A의 크기를 (배치 크기)x(클래스 수), B의 크기를 (배치 크기)로 입력 받도록 정의하였습니다. 즉, 입력 형식을 맞춰 주셔야만 사용이 가능하다는 말입니다. 생각하고 계신 계산 과정은 내부에서 자동으로 처리해 주는 것이므로 걱정 안 하셔도 되요 :)

열공하세요!

네, 빠르게 답변 주셔서 감사힙니다!ㅎㅎ