• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

손실함수 교차엔트로피 함수

21.07.30 19:32 작성 조회수 565

0

1.여기서 정답값의 원핫벡터중에서 y1과y3가 같은데 같은 데이터가 들어왔다고 생각하면 될까요?

2.  다음 과정은 이진 교차엔트로피 사용 할때 사용되는 인공신경망 예제입니다. 이 과정은 이해 되지만 다중분류 과정에서 인공신경망이 어떻게 구성되는 지 상상해보려도 상상이 가지않습니다. 

예를들어 정답 원핫벡터yn= (x,y,z)에 대한 feature값들이 인풋값들에 들어가서 yn에 대한 예측값 yn햇값이 나온다음 둘이 내적을 합니다. 여기까지 좋습니다. 그런데 저가 궁금한것은 이 과정을  아웃풋의 예측값이 하나 있는 인공신경망으로 구성할수 있나요?  

-------------------------------------------

이 그림과 관련된거 같은데 이해가 가질 않네요.

답변 3

·

답변을 작성해보세요.

0

1) 클래스의 종류개수가 예측값의 벡터의 차원개수랑 같다는것을 이해하였습니다.

-> 맞습니다! 

2) 즉 출력값의 원핫벡터의 노드개수랑 같은 거겠지요?

-> 원핫 벡터는 0과 1로 표현된 벡터입니다. 따라서 실제값이 원핫 벡터로 표현 되고 출력값은 원 핫 벡터는 아니고 원핫 벡터랑 크기가 같은 벡터가 되는 것은 맞습니다 :)

3) 마지막으로 질문드리고 싶은것은 밑에그림에서 출력층에 3개의 y가 나오는데 각각의 값이 예측값 하나의 원핫벡터의 노드를 표시하는것인지 아니면 3개의 예측값인지 헷갈립니다. 

-> 맞습니다. 예시 그림에서는 6개의 피쳐를 갖는 하나의 입력 데이터가 들어와서 크기가 3인 벡터 하나를 출력하는 것입니다. 즉, 데이터 하나당 크기가 3인 벡터 하나를 출력하는 것입니다. 따라서 입력데이터를 받을 때마다 위 그림의 연산을 시행해야 하는 것입니다. 하지만  그 것이 불편하니 실제로는 배치 형태로 묶인 입력 데이터들을 한 꺼번에 행렬 계산을 하는 것입니다!

4) 저의 생각에는 n개의 특성을 인풋에 받고 m개의 클래스를 예측하는 그림으로 보이는데 저가 이해한것이 맞나요?

3)에서 말씀 드렸듯이 맞습니다. :)

0

답변 감사드립니다. 

클래스의 종류개수가 예측값의 벡터의 차원개수랑 같다는것을 이해하였습니다. 즉 출력값의 원핫벡터의 노드개수랑 같은 거겠지요?

마지막으로 질문드리고 싶은것은 밑에그림에서 출력층에 3개의 y가 나오는데 각각의 값이 예측값 하나의 원핫벡터의 노드를 표시하는것인지 아니면 3개의 예측값인지 헷갈립니다. 

저의 생각에는 n개의 특성을 인풋에 받고 m개의 클래스를 예측하는 그림으로 보이는데 저가 이해한것이 맞나요?

0

1. 클래스가 같은 다른 데이터라고 보시면 됩니다! 문제가 개, 고양이, 호랑이를 분류하는 문제라고 하면 여러 장의 개, 고양이, 호랑이 사진들이 있겠죠? 즉, 위 계산에서 순서대로 호랑이, 고양이, 호랑이, 개의 이미지에 대한 연산을 했다고 보시면 됩니다. 

2. 다중 분류를 할 때는 클래스의 개수만큼 출력층의 노드 개수가 결정 된다고 보시면 됩니다.

다만 이진 분류에서는 노드가 2개일 필요가 없는게 노드가 하나여도 2개의 정답을 표현할 수 있는 것이고요.

3개 이상부터는 클래스의 개수만큼 출력층의 노드 개수를 정해주시면 됩니다. 예를 들어 질문1에서 캡쳐하신 부분이 클래스가 3개인 문제이고요. 출력층의 노드 개수가 3개이기 때문에 모든 답이 크기가 3인 벡터 형태로 나오는 것입니다. 

마지막으로 다중분류도 출력층의 노드 개수를 하나로 구성할 수 있는지를 물어 보셨는데요. 구조적으로 가능합니다. 나오는 출력값을 원핫 벡터가 아닌 라벨과 직접 비교를 하여 연산 되는 손실 함수를 만들면 됩니다. 다시 말해서 크로스 엔트로피 함수는 사용할 수 없겠죠. 따라서 다중분류 문제에 출력값을 하나만 나오게 하는 것은 일반적인 방식은 아닙니다.

열공하세요!