Loading...
2023. 7. 5. 23:42

word embedding을 하는 또 다른 모델 Glove의 아이디어

1. Glove 입력단어,출력단어가 한 윈도우 내에 동시에 얼마나 나왔는지를 계산하는 co-occurrence matrix를 고려하여 동일한 단어쌍을 반복적으로 학습하는 일을 피하고자했다. 두 벡터의 내적에 이러한 co-occurrence matrix를 고려한 점을 loss function으로 나타내었다. 학습이 Word2Vec보다 빠르고 작은 단어뭉치에도 효과적이라고 알려져있다. Word2Vec은 특정한 입출력 단어 쌍이 자주 등장하는 경우 그들이 자연스럽게 여러번 내적되어 비례하여 유사도가 커지는데 Glove는 중복되는 단어쌍을 미리 계산하여 벌점화하여 중복계산을 줄여 학습이 빠르다는 것이다. 아무튼 두 모델 모두 단어의 embedding vector를 구한다. 성능도 꽤 비슷한것 같다 잘 나온건 W..

2022. 12. 27. 01:17

비전공자도 이해할 수 있는 AI지식 -구글은 어떻게 언어를 숫자로 바꿨는가-

1. Word2Vec, 언어를 숫자로 바꾸다 2013년 구글은 단어의 의미를 벡터로 표현하는 매우 획기적인 방법을 발표합니다. 그 방법의 이름은 Word2Vec으로, 단어를 벡터로 바꾼다는 매우 직관적인 이름입니다. 무엇보다 놀랍도록 정교하게 단어의 의미를 표현해내 많은 이가 깜짝 놀랐습니다. 이처럼 단어를 벡터라는 숫자로 표현하는 것은 단어 각각의 특징을 추출해 수치화하는 것과 비슷합니다. 예를 들어 '단맛', '크기', '둥근 정도'라는 3가지 특징으로 단어 '캐러멜', '호박', '태양'을 표현해보죠. 관련이 전혀 없다면 0.01, 관련이 매우 높다면 0.99까지 가중치를 준다고 해봅시다. 단어 단맛 크기 둥근 정도 캐러멜 0.92 0.06 0.02 호박 0.23 0.29 0.62 태양 0.01 0..

2022. 5. 26. 02:22

범주형 변수를 전처리하는 방법의 모든 것

1. introduction 범주형 변수는 일종의 category를 가진다. 식물의 종이나 자동차 종류나 연속형보다 주의해서 다뤄야 할 수도 있음 보통 문자열로 나타나는데 머신러닝에 입력하기 어려워서 수치형으로 변환해줘야 한다. 2. one hot encoding 해당 변수의 값이 어떤 category에 속하면 1, 아니면 0으로 두는 방법 '그냥 0 아니면 1' 이런게 아니라.. '해당 변수의 VALUE가 어떤 category에 속한다면 1, 그렇지 않으면 0' 위의 그림에서 id 1은 개에 속하므로 개에 1을 주고 고양이에 0을 주어 (1,0)으로 encoding하고 id 2는 고양이에 속하므로 개에 0을 주고 고양이에 1을 주어 (0,1)로 encoding한다 특히 개와 고양이 모두에 속하는 id ..

2022. 2. 15. 18:54

Word2Vec의 2가지 형태 - CBOW와 skip-gram 모델

1. CBOW(continuous bag of words) Word2Vec의 첫번째 방법으로 주변의 단어를 가지고 중심단어를 예측하는 과정이다. ‘I am going to school’이라는 문장에서 window size=2라면 중심단어는 going이고 주변단어는 I,am, to, school CBOW는 주변단어를 모두 써서 중심단어 하나를 예측하는 것 CBOW의 중간에 SUM과정이 있는데 input vector들의 평균을 구하는 과정으로 skip gram과 차이점이다. 근데 논문에서 처음 제시한 모형은 sum을 구하는 것이라고 한다. 그런데 큰 차이는 없는것같다. 그냥 sum보다 평균이 안정적인 느낌이라 변했다고 생각이 든다 -------------------------------------------..

2022. 2. 11. 21:27

text를 embedding시키는 Word2Vec의 성질 이해하기

1. 시각적으로 알아보는 Word2Vec layer의 기본 구성 8개의 단어를 5차원 embedding vector로 만들고 싶다. random하게 초기화시킨 가중치는 여기서 가로 한줄한줄이 단어 세로 한줄한줄은 차원 수백번 학습시키고나서 얻은 가중치는 apple과 orange는 의미상 비슷하다는 것을 알고 있다. 실제 embedding결과도 비슷한 색을 보이고 있다는 것 juice, milk, water도 색이 비슷하다는 것이 보인다. 실제로 이들도 의미상 비슷하다. 고차원의 벡터는 눈으로 확인이 불가능하다. PCA를 통해 2차원으로 축소시켜 시각화한 그림은 의미상 비슷한 벡터들이 모여있긴하다 W1과 W2중 무엇을 embedding vector로 써도 상관없지만 통상적으로는 W1을 embedding v..

2022. 2. 6. 21:55

Word2Vec의 기본 알고리즘

1. idea I study math라는 입력문장을 unique한 단어들의 vocabulary로 변환하면 {‘I’, ‘study’,’math’} 사전의 각 단어는 vocab size만큼 차원을 갖는 one hot vector이다. ‘I’는 [1,0,0] ‘study’는 [0,1,0] ‘math’는 [0,0,1] sliding window라는 기법은 한 단어를 중심으로 앞 뒤로 나타난 단어들과 (중심단어,주변단어) 입출력쌍을 구성하는 기법이다. 이 단어 쌍에서 중심단어를 input으로 두고 주변단어를 output으로 두는 예측 task를 수행하는 2-layer neural network를 구성한다. one hot vector의 차원이 3차원이니 input과 output layer의 차원은 3차원 hidde..