티스토리 뷰

data 를 load 해 오는 것 까지 했음

다음으로 loss 와 , optimizer 를 정해줄 차례

 

앞에까지는 모델 만들었고, 데이터 불러왔고

다음으로는 

학습 할 때 정해줘야 하는 부분인

 

loss : ( criterion ) nn.BCELoss()

optim = torch.optim.Adam(model.parameters(), lr= 0.0005) //model 은 HelloCNN 우리가 만든 모델 

 

 

---

 

멀티 레이블 분류란,

기존의 softmax 분류와는 달리 여러개의 class 가 동시에 정답이 될 수 있는 것을 의미

기존의 softmax 분류에서는 문장의 class 가 여러 후보 중의 하나에만 해당 할 수 있었는데...

 

> 이진분류 ( 이문제 여러개의 이진분류 )

이진 분류는 항상 이 식을 만족 

   신경망의 마지막 계층은, 2 개의 노드에 softmax 함수를 사용하는 대신!!1  ( 뭔말이야!!1!0

1 개의 노드에 1개의 시그모이드를 사용 -> 이진분류 상황은 항상 다음 수식을 만족

 

이진분류에는 이진 교차 엔트로피 손실 함수

binary cross entropy  loss(BCELoss) 를 사용한다.   

 

( 두 확률분 p q 사이의 차이를 계산하는 데에는 크로스 엔트로피(cross entropy)라는 함수가 사용됩니다. 식은

입니다.

모델이 예측한값과 원래 데이터가 가지고 있는 값의 차이 최소화 하는 세타가 바로 우리가 찾고 싶은 모델 ) 

-> 이진 분류에 특화된 버전 

 

--

 

딥러닝 모델의 손실함수로 '음의 로그도우(negative log-likelihood)' 가 쓰인다.

 

 

딥러닝 모델을 학습시키기 위해 

최대 우도 추정 기법을 쓴다.(Maximum Likelihood Estimation)  

 

주어진 데이터만으로 미지의 최적 모델 파라미터 ( 세타 ) 를 찾아야 한다.

입력값 x 과 파라메타 ( 세타 ) 가 주어졌을 때

 

정답 Y 가 나타날 확률,

즉 우도

를 최대화 하는

세타 가 바로 우리가 찾고 싶은 결과이다.

 

 

다범주 분류를 학습하는 딥러닝 모델의 말단에 다음과 같이 소프트멕스 함수가 적용됨

소프트 멕스 함수를 사용함으로써 확률값으로 계산이 된다. ( 다분류 class 의 경우 )

그 합을 전부 하면 1 의 값이 됨

 

 

loss function 을 사용?

https://ratsgo.github.io/deep%20learning/2017/09/24/loss/

loss 를 구해 loss에 대한 gradient 를 구해서 이를역전파 하는 과정이 딥러닝 학습 

 

 

 

즉 이진분류에 특화된 loss function 이다. ( back propagation 을 할때 이 함수를 통해 도출된 loss 의 gradient 를 줄여주는 방식으로 모델이 학습된다 , 즉 세타가 적용된다는건가 ..?)

 

 

옾티마이저는 언제 사용?

https://gomguard.tistory.com/187

 

( 이전 글에서는 각 층의 출력값 자체를 안정화 하는 학습 방법인 배치 정규화를 다루었다고 한다. )

이번에는 학습식을 개선시키는 방법

 

학습 속도를 빠르고 안정적이게 하는 것을 optimization 이라고 한다.

lr 을 정해 주고, model.parameter 를 넣어준다.!!!

 

학습식을 보면은 

 

각각 어떤 것을고쳐줄것인가에 대해서 ( w 를 줄여주는 방향으로 , w 란 기울기이다. ) 

lr 과 어떤 방향으로 학습할지에 대한 기울기를 정해 줄 수 있는데, 

 

우린 Adam 을 옵티마이저로 사용 

 

 

 

 

+)code 적으로 잘 이해 안되는 부분

 

추론을 실행하기 전에는 반드시 

model.eval() 을 호출하여

드롭아웃 및 배치 정규화를 평가 모드로 설정하여야 합니다.

 

이렇게 하지 않으면 추론 결과가 일관성 없게 출력이 된다

 

학습을 계속 하고 싶으면, model.train() 을 호출해서

학습 모드로 설정해야 한다.

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함