pullwall
Well done! 코딩
pullwall
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • 개발환경 (2)
    • java study (21)
    • 백준 단계별 (51)
    • 알고리즘 (3)
    • AI (43)
    • 클라우드 (3)
      • Kubernetes in Google (3)
    • 논문 (5)
    • 리눅스 (1)
    • AWS (4)
    • 수학 (15)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 수학
  • 백준
  • 알고리즘
  • LLM
  • pytorch
  • 쿠버네티스
  • 정렬
  • 자바
  • Java
  • dataset
  • 단계별
  • Google
  • 백준 단계별
  • AWS
  • 자바독학
  • Kubernetes
  • 논문리뷰
  • Ai
  • 정렬알고리즘
  • 선택정렬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

Softmax를 이용한 다중 분류
AI

Softmax를 이용한 다중 분류

2024. 9. 5. 21:57
728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.

3x100x100 이미지의 삼중 분류룰 해보자. (강아지, 고양이, 소)

 

정답 label은 강아지 : [1, 0, 0] 고양이 : [0, 1, 0] 소 : [0, 0, 1] 과 같이 정할 수 있다. (one-hot encoding)

 

이때 activation function은 확률 분포를 표현해 주기 위해 softmax를 사용한다.

 

https://www.singlestore.com/blog/a-guide-to-softmax-activation-function/

 

softmax는 위와 같이 여러개를 입력으로 받아 확률 분포를 출력한다. (수식에 의해 당연하게 총합은 1이 된다.)

 

그냥 sigmoid를 거쳐 나오게 할 수도 있지만, 합이 1이 되지 않는다는 문제가 있다.

(그래서 sigmoid는 multi-label classification에 사용된다. 강아지하고 고양이하고 같이 있으면 강아지=1 고양이=1 이라고 출력할 수 있으니까)

 

softmax의 각 출력을 $q_1, q_2, q_3$라고 한다면 likelihood는 $q_1^{y_1}q_2^{y_2}q_3^{y_3}$가 된다.

 

이걸 -log 씌우면 loss함수가 된다.

  • $-\log{ q_1^{y_1}q_2^{y_2}q_3^{y_3}  }$

이걸 전개하면

  • $-y_1\log{q_1} -y_2\log{q_2} -y_3\log{q_3} $ = Cross Entropy

 

 

 

 

728x90

'AI' 카테고리의 다른 글

ReLU (Rectified Linear Unit)  (0) 2024.09.06
기울기 소실 (Vanishing Gradient)  (0) 2024.09.06
딥러닝 학습의 본질 (MLE)  (0) 2024.09.05
MSE vs Likelihood (convex한 함수가 loss function으로 사용되는 이유)  (0) 2024.09.05
Sigmoid를 이용한 이진 분류, Logistic Regression  (0) 2024.09.04
    'AI' 카테고리의 다른 글
    • ReLU (Rectified Linear Unit)
    • 기울기 소실 (Vanishing Gradient)
    • 딥러닝 학습의 본질 (MLE)
    • MSE vs Likelihood (convex한 함수가 loss function으로 사용되는 이유)
    pullwall
    pullwall

    티스토리툴바