분류 전체보기 87

Focal Loss

Object Detection에서 Background / Foreground Class의 불균형 문제를 로스 함수로 해결하기 위해 제안된 focal loss 이걸 클래스 분균형이 심한 일반 분류 문제에도 적용할 수 있을 것 같아서 살펴보았다.. 핵심 아이디어는 다음과 같다. 모델 입장에서 쉽다고 판단하는 example에 대해서 모델의 출력 확률(confidence) Pt가 높게 나올테니 (1-Pt)^gamma를 CE에 추가해줌으로써 높은 확신에 대해 패널티를 주는 방법 반대로 어려워하고 있는 example에 대해선 Pt가 낮게 나올테니 (1-Pt)^gamma가 상대적으로 높게 나올 것! gamma가 높을 수록 (1-Pt)가 작을 수록 더 작아진다 (확신이 높은 example은 패널티를 더 받음) 일반적인..

Classification에서 CrossEntropy를 Loss 함수로 쓰는 이유?

아래 포스트에서 리그레션에서 왜 MSE를 쓰는지 MLE 관점에서 살펴보았다. Regression에서 MSE를 Loss 함수로 쓰는 이유? 이전에 아래 글에서 Likelihood & MLE에 대한 정리를 했었는데, 분류 문제에 대한 설명은 되지만, 리그레션 문제에 대한 설명을 하려 할 때 감이 잘 오지 않는다. Likelihood & MLE(최대 우도 추정) 1 Likeliho aimaster.tistory.com 그렇다면 분류 문제는 왜 CrossEntropy를 쓸까? 물론 정보이론 관점에선 CrossEntropy가 분포 P를 기준으로 분포 Q의 정보량의 평균을 측정하는 수단이기 때문에 이를 이용해서 두 확률 분포(뉴럴넷 출력)를 일치시키는 방향으로 학습하기 위함이라고 해석할 수 있지만, 여기선 확률적인..

DL&ML/concept 2021.04.13

Posterior, Likelihood, Prior

베이즈 정리를 구성하는 Posterior, Likelihood, Prior가 헷갈리는 이유는 각각을 구분하는 기준을 아직 모르기 때문이다. 우선 셋을 구분하기 위해선 문제 해결을 위해 구하고자 하는 대상, 주어진 대상(관측 값)이 뭔지 알아야 한다. 즉, 구하는 대상, 주어진 대상이 바뀌면 저 셋도 바뀌게 된다. Posterior 관측 값이 주어졌을 때, 구하고자 하는 대상이 나올 확률 Likelihood 구하고자 하는 대상이 정해졌다고 가정할 때, 주어진 대상이 나올 확률 Prior 구하고자 하는 대상 자체에 대한 확률 예를 들어, 주어진 대상 = 학습 데이터이고 구하는 대상 = 모델 파라미터면 Posterior = P(w|D) Likelihood = P(D|w) Prior = P(w) 인 것이다. M..

DL&ML/concept 2021.04.12

TACRED dataset 관계 분류 태스크

nlp.stanford.edu/projects/tacred/ Stanford TACRED Homepage Introduction TACRED is a large-scale relation extraction dataset with 106,264 examples built over newswire and web text from the corpus used in the yearly TAC Knowledge Base Population (TAC KBP) challenges. Examples in TACRED cover 41 relation types as use nlp.stanford.edu TACRED TACRED라는 관계 추출(분류) 데이터셋이 있다. 최근에 와이프 실험을 도와주다가 다루게 된 데이터셋 ..

Regression에서 MSE를 Loss 함수로 쓰는 이유?

이전에 아래 글에서 Likelihood & MLE에 대한 정리를 했었는데, 분류 문제에 대한 설명은 되지만, 리그레션 문제에 대한 설명을 하려 할 때 감이 잘 오지 않는다. Likelihood & MLE(최대 우도 추정) 1 Likelihood & Maximum Likelihood Estimation(MLE) Likelihood(우도; 가능도)란? 어떤 모델(파라미터;확률분포)과 데이터가 주어졌을 때, 이 모델이 데이터를 얼마나 잘 설명하는지? 수치화 할 수 있는 척도이다... aimaster.tistory.com 이번엔 Regression에서 MSE를 Loss 함수로 쓰는 이유를 정리하려 한다. (결론 부터 말하면, 리그레션 모델의 출력을 가우시안 분포의 평균 값으로 가정하고 MLE를 했을 때, Lik..

DL&ML/concept 2021.04.11

Optimizers (momentum, RMSProp, Adam, AdamW)

기본적인 옵티마이저들에 대해서 정리해 놓자. 아래와 같은 흐름으로 옵티마이저의 발전 흐름을 정리할 수 있다. SGD SGD는 미니배치에 대해 그래디언트를 구함으로써 학습이 빠르다는 장점이 있다. 배치를 다 보면 아무래도 메모리가 부족하고, 계산에 시간이 오래 걸리니... 그렇다고해서 수렴이 빠르다고 할 수는 없다. SGD의 문제점 로컬 미니마를 벗어나기 힘들고 갖힐 경우 수렴이 느림 스텝사이즈가 모든 파라미터에 대해 똑같음 (상수 러닝레잇을 곱해줌) 어떤 weight은 많이 업데이트 되었고, 어떤 weight에 대해선 그렇지 않다면 각 weight 별로 스텝이 달라져야하지 않을까? 크게 두 가지 문제점을 해결하는 방향으로 옵티마이저가 발전해왔다. Momentum 기울기의 움직임에 대해 관성을 부여해서 로..

DL&ML/concept 2021.04.11

Seq2Seq, Auto Regressive, Attention, Teacher Forcing, Input Feeding

최근에 번역 모델을 직접 구현해보면서 공부하게 된 구조 seq2seq. 개념만 알고 직접 구현해본 적은 없어서 굳이 호기심을 가지고 해본 것인데, 새롭게 배운 것이 꽤 있다. 이해하기 위해선 RNN이나, LSTM 등이 대충 어떻게 생겨먹었는지 정도는 알아야 함. seq2seq, *Auto Regressive 뭐, 대략 아래와 같은 구조로 이루어져있다. 인코더 및 디코더 블럭은 RNN 계열의 모델로 구성 되며, 여러 레이어로 쌓아서 쓰기도 한다. 번역 모델을 생각해봤을 때, 인코더에 문장을 구성하는 단어 토큰을 입력으로 넣어 마지막 타임 스텝의 히든 스테이트 값을 뽑으면 문장의 정보가 함축 되어 있을 것이라고 기대할 수 있다. (압축 & 해제, 오토 인코더 느낌 ; latent space 어딘가로 위치 시..

DL&ML/concept 2021.04.07