Sequence Models/2주차

The problem of bias of word embeddings 인공지능 모델은 텍스트의 정보를 그대로 학습하기 때문에, 텍스트에 녹아 있는 편향적인 내용을 그대로 반영할 수도 있습니다. 가장 대표적인 예시는 위와 같이 성과 관련된 것으로, 남-여 : 프로그래머-주부 / 의사-간호사 등으로 구분하게 된 모델이 있었습니다. 사실 실제 사회상을 잘 반영하는 것으로 볼 수도 있지만, 악의적으로 편향된 학습을 하게 된 모델이 미칠 영향은 생각보다 클 수 있습니다. 인공지능에 대한 신뢰도가 높아질수록 의사결정에 더 큰 영향력이 행사될 수 있기 때문이죠. (참고로 여기서 언급하는 bias는 딥러닝 모델에서 흔히 언급되는 variance-bias와 의미상 차이가 있습니다) Addressing bias in wo..
Sentiment classification problem Sequence Model로 처리할 수 있는 대표적 태스크 중 하나인 sentiment classification(감성/감정 분류)입니다. 입력(X)을 문장으로 받고, 각 문장이 어떤 평점에 해당하는지를 정답(Y)으로 삼는 구조입니다. Simple sentiment classification model 따라서 단어(토큰)마다 임베딩을 추출하여 평균을 구하고, 여기에 softmax를 적용하여 예측값을 구합니다. 만약 한 문장 내에 감성에 영향을 줄 수 있는 표현이 여러 번 등장하는 경우(예시에서는 good), 평균값에 이 vector의 값이 제일 많이 반영될 것입니다. RNN for sentiment classification 위에서 설명한 것을 ..
GloVe (global vectors for word representatoin) 굉장히 직관적이고 간단한 방식으로 유명한 GloVe 모델입니다. context i, target j의 관계에서, context가 주어졌을 때 target이 몇 번 등장했는지를 Xij 변수에 담습니다. 설정한 조건들에 따라서 Xij, Xji의 값이 같을 수 있습니다. Model 모델의 학습 방향은 당연히 손실 함수를 최소화하는 것입니다. i, j가 각각 target, context를 의미한다는 점을 고려해 본다면, 예측한 확률에서 각 target의 등장 횟수를 log를 취해 빼는 방식입니다. 가중치 인자에 해당하는 f는 this, is, of, a와 같이 자주 등장하지만 그 의미는 약한 stopwords에게는 적은 가중치를..
Defining a new learning problem skip-gram 모델은 위처럼 context 하나에 대해 target을 random sampling 하는 방식입니다. 위 예시에서는 k 변수를 4로 설정하여 실제 target을 제외한 후보를 네 개 추출한 것을 볼 수 있습니다. 만약 데이터셋이 작은 경우라면 이 k의 값을 키워 여러 개의 단어를 추출해보는 것이 좋습니다. 반대로 데이터셋이 크다면 k의 값을 줄이는 것이 효율적입니다. 결국 context - word 쌍을 input X로 주고, target y를 output으로 두어서 모델이 학습하게 됩니다. Model 위 소프트맥스 함수는, context와 target 쌍이 주어졌을 때, 예측 결과가 실제 target이었을 확률을 구하는 것입니다..
Skip-grams 이번에는 Word2Vec 모델 중 하나인 skip-gram에 대해 다룹니다. 지금까지는 target 단어를 기준으로 context를 어떻게 설정하는지에 대해 주로 이야기했습니다. 하지만 여기서는 orange라는 하나의 context를 기준으로 랜덤하게(5개의 단어 +- 범위 내에서) target을 설정한 것을 볼 수 있습니다. Model context에 따른 target을 설정하는 방법이 조금 다르다는 점을 제외한 나머지 과정은 동일합니다. context의 one-hot vector를 통해 embedding matrix에서 해당 column을 추출합니다. 여기에 softmax를 적용해 어떤 단어가 될지(vocab에 포함된 단어 중)를 예측하여 y hat을 구합니다. 이때 context..
Neural language model 지난 시간까지 배웠던 word embedding이 어떤 식으로 모델 학습에 이용되는지를 나타내고 있습니다. 1. 각 단어(토큰)를 대상으로 vocab에서 숫자를 꺼내어 one-hot vector를 생성합니다. 2. 이를 이용하여 embedding matrix에서 매칭되는 column을 추출합니다. 3. 추출된 column을 중첩하여 input으로 이용합니다. 4. 모델 학습은 이렇게 만든 input에 대한 weight & bias, 그리고 softmax를 통해 추출한 확률을 구할 때의 weight & bias로 진행됩니다. Other context/target pairs target, 즉 예측하고자 하는 단어의 주변 문맥을 어디까지 설정하는가도 중요한 문제입니다. ..
chanmuzi
'Sequence Models/2주차' 카테고리의 글 목록