[Pytorch] L1-loss, L2-loss, KLD-loss 역전파
L1 loss 역전파 및 언제 사용, 기대효과 L2 loss 역전파 및 언제 사용, 기대효과 + L1-loss의 미분값이 어떻게 업데이트 되는가? 딥러닝에서 학습되는 가중치 Weight는 다음과 같이 업데이트 됩니다. W = W - learning_rate * gradient_of_loss_with_respect_to_W 그렇기 떄문에, L1-loss로 인한 미분값 1 or -1의 값은 weight의 학습 뱡향을 바꾸게 됩니다. 예를 들어, 예측값 = 0.5, 정답값 = 0.7일 경우에 L1-loss의 gradient는 0.5-0.7 < 0 이므로, -1의 값이 됩니다. 이를, 가중치 업데이트에 반영하면, W = W + learning_rate * gradient_others (#others는 다른 lo..
2023. 7. 20.
python 1차원 리스트 다중 인덱싱 하기
1차원 리스트에서 원하는 인덱스 순서대로 재정렬하는 코드입니다. 정렬할 인덱스를 리스트로 구하고 -> multi_index, 정렬할 리스트를 2차원으로 만들어서 각 행마다 multi_index를 수행하여 재정렬, 다시 1차원으로 변환후 리스트로 전환. # 1차원 리스트or배열 다중 인덱싱하여 재정렬하기. import numpy as np import random random.seed(7) # random seed 고정 x = [5, 6, 7, 8] multi_index = list(range(len(x))) # [0,1,2,3] random.shuffle(multi_index) # [3,1,0,2] x = np.array(x) x = np.reshape(x, (len(x), -1)) # 2차원 변환 x ..
2023. 7. 16.