티스토리 뷰
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 function 이다. ( back propagation 을 할때 이 함수를 통해 도출된 loss 의 gradient 를 줄여주는 방식으로 모델이 학습된다 , 즉 세타가 적용된다는건가 ..?)
옾티마이저는 언제 사용?
https://gomguard.tistory.com/187
( 이전 글에서는 각 층의 출력값 자체를 안정화 하는 학습 방법인 배치 정규화를 다루었다고 한다. )
이번에는 학습식을 개선시키는 방법
학습 속도를 빠르고 안정적이게 하는 것을 optimization 이라고 한다.
lr 을 정해 주고, model.parameter 를 넣어준다.!!!
학습식을 보면은
각각 어떤 것을고쳐줄것인가에 대해서 ( w 를 줄여주는 방향으로 , w 란 기울기이다. )
lr 과 어떤 방향으로 학습할지에 대한 기울기를 정해 줄 수 있는데,
우린 Adam 을 옵티마이저로 사용
+)code 적으로 잘 이해 안되는 부분
추론을 실행하기 전에는 반드시
model.eval() 을 호출하여
드롭아웃 및 배치 정규화를 평가 모드로 설정하여야 합니다.
이렇게 하지 않으면 추론 결과가 일관성 없게 출력이 된다
학습을 계속 하고 싶으면, model.train() 을 호출해서
학습 모드로 설정해야 한다.
'Python 으로 배우는 머신러닝' 카테고리의 다른 글
10 강 정리 , CNN (0) | 2020.07.13 |
---|---|
09 강 정리, softmax classifier (0) | 2020.07.13 |
08강 정리 ( Data Loader ) (0) | 2020.07.12 |
Day 5 ) 캠프 다섯째 날, Team project ( lug 이미지 분류 ) (0) | 2020.07.10 |
Day 4 ) 캠프 넷째날, 실습 (0) | 2020.07.09 |