Implementation/Loss
-
[Loss] 크로스 엔트로피Implementation/Loss 2021. 9. 22. 13:07
- Cross Entropy Entropy 는 확률분포 p 가 가지는 정보의 확신도 혹은 정보량을 수치로 표현한 것이며, Cross-Entropy 는 정보 이론에서, 두 확률 분포 p 와 q를 구분하기 위해 필요한 평균 비트 수를 의미한다. # Define data p = [0.10, 0.40, 0.50] q = [0.80, 0.15, 0.05] # Define Entropy def entropy(p): return -sum([p[i] * np.log2(p[i]) for i in range(len(p))]) # Define Cross-Entropy def cross_entropy(p, q): return -sum([p[i] * np.log2(q[i]) for i in range(len(p))]) 정보 이..
-
[Math] Perplexity-Language_ModelImplementation/Loss 2021. 9. 21. 09:32
# Perplexity 문장이 나올 확률이 정규화( root n ) 된 수의 역수 => 각 단어들의 조건부 확률의 곱이 결과값이 되어서 문장이 전체 모델에서 나타날 확률을 의미 => 그러한 확률값들의 평균 혹은 정규화 ( root n ) => 따라서 문장이 모델에서 나타날 확률이 높을 수록, 즉 P(w1, w2, ..., wn) 값이 클수록 전체 값이 커지게 되고, 그 역수인 Perplexity 값은 작아지게 된다. # Chain Rule # N-gram style - 예시는 bigram 이다. # 분기 계수(Branching factor) => 평균적으로 다음단어를 선택할 때 10개 정도의 단어를 고민하고 있다는 의미. 아래 예제의 경우 #참조 : https://wikidocs.net/21697
-
[Math] EntropyImplementation/Loss 2021. 9. 21. 08:49
- 텍스트 모델에서의 모델 성능기준이 되는 Perplexity 개념을 접근하기 위해서 기초가 되는 Entropy - 엔트로피 공식 - 확률 분포에 따른 엔트로피 공식 계산 예제 -0.5 * np.log2(0.5) - 0.5 * np.log2(0.5) = 1 -0.8 * np.log2(0.8) - 0.2 * np.log2(0.2) = 0.7219280948873623 eps = np.finfo(float).eps -1 * np.log2(1) - eps * np.log2(eps) = 1.1546319456101628e-14