버츄얼유튜버

카스미자와미유가 쓰레기통에서 줏은 머신러닝 관련 글

두원공대88학번뚜뚜 2022. 4. 2. 00:57
model.compile(optimizer = Adam(lr = 1e-5), loss = dice_coef_loss,
              metrics = [dice_coef])
              
----------------------------------------------------------------------
results = model.fit(X, y, validation_split = 0.1, batch_size = 4, epochs = 20)

 

1. 매개변수 갱신(via SGD)

SGD: 확률적 경사하강법(Stochastic Gradient Descent)

시그모이드가 아니다.

 

W <- W - (lr)*dL/dW

즉, 갱신할 가중치 매개변수를, 매개변수 - (손실함수에 대한 W(현 매개변수의 편미분))로 바꾸는것.

이 때, 실제로 이게 값이 클 수 있으니 여기에 lr(learning rate)를 곱한다.

 

 

https://teddylee777.github.io/tensorflow/keras-metic-%EC%BB%A4%EC%8A%A4%ED%85%80

def dice_coef(y_true, y_pred): #정답과 예측값을 이용한 계산
    y_true_f = K.flatten(y_true)
    y_pred_f = K.flatten(y_pred)
    intersection = K.sum(y_true_f * y_pred_f)
    return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)

def dice_coef_loss(y_true, y_pred): # 손실함수는, metrics(평가지표)의 단순한 음수
    return 1-dice_coef(y_true, y_pred)

2. 평가함수(metrics)

loss = dice_coef라고 되어있다. 알아서 y_true와 y_pred를 y와 X라고 알아차리는듯?

IoU처럼, 2*|A*B|/(|A| + |B|), 이때 분자와 분모에 smooth가 들어가게됨

즉, y_pred와 y_true가 완전히 같으면 1이 출력, 완전히 다르면 0이 출력됨.

따라서, 이것을 토대로 평가를 한 다음에,

 

3. 손실함수(loss)

이것의 음수가 곧 손실함수가 된다. 이를 1에서 빼는 과정이 있으므로,

즉, 손실함수는 완전히 같으면 1-1 = 0을, 완전히 다르면 1-0 = 1을 출력한다.

해당 코드 원본은 그냥 -dice_coef라 되어있는데, 오류인 것인지, 내가 무언가를 발견하지 못한것인지는 모르겠다.

# metrics는, 손실함수와 평가지표를 에포크(epoch)마다 계산한 것을 그려주는데, 손실함수의 추이와 평가지표의 추이를 비교해보면서
# 모델이 과대적합(overfit) 또는 과소적합(underfit)되고 있는지 여부를 확인

https://eehoeskrap.tistory.com/145

 

[Deep Learning] 4. 신경망 학습 (손실함수, 미니배치)

이전 Deep Learning 포스팅 [Deep Learning] 1. 단층 퍼셉트론과 다층 퍼셉트론 [Deep Learning] 2. 신경망 (Sigmoid, ReLU) [Deep Learning] 3. 출력층 (항등함수, 소프트맥스함수) 저번 포스팅에서는 출력층의..

eehoeskrap.tistory.com

IoU나 dice_coef에 대한 손실함수는 아래 링크에서

https://medium.com/ai-salon/understanding-dice-loss-for-crisp-boundary-detection-bb30c2e5f62b

 

Understanding Dice Loss for Crisp Boundary Detection

A Far Better Alternative to Cross Entropy Loss for Boundary Detection Tasks in Computer Vision

medium.com