ratsgo / embedding

한국어 임베딩 (Sentence Embeddings Using Korean Corpora)
https://ratsgo.github.io/embedding
MIT License
455 stars 130 forks source link

162p에 대한 질문 #39

Closed ohhara79 closed 4 years ago

ohhara79 commented 5 years ago

162p에서 몇가지 질문이 있습니다.

질문1) 수식 4-27에서 f_w(0) 의 0은 vector를 의미하는지 궁금합니다. (혹시 vector를 의미한다면 0를 굵은 글자체로 하는 것이 좋을 것 같습니다.)

질문2) "임의의 상수 C에 대해 max(C+ c g) = g / ||g|| 임이 성립한다고 한다." 에서 식의 좌변은 output이 scalar지만 우변은 vector입니다. 좌변과 우변이 일치해야 될 것 같습니다. 좌변이 max대신에 argmax가 되던가 우변이 C + ||g||가 되어야 될 것 같은데 제 생각이 맞는지 궁금합니다.

질문3) 수식 4-28의 3번째 줄에 보면 argmax안에 c vector가 수식에 포함되어 있지 않은데 argmax에서는 해당 식을 최대화 하는 c vector를 찾는 것처럼 되어 있습니다. invalid한 수식처럼 보이는데 제 생각이 맞는지 궁금합니다. 2번째줄에서 3번째줄의 수식이 어떻게 나오게 되었는지도 궁금합니다.

ratsgo commented 5 years ago

안녕하세요, @ohhara79 님! 부족한 책인데 관심 가져주셔서 감사드립니다. 각각의 질문에 대해서 제 생각을 말씀드리겠습니다. 틀린 점이나 부족한 게 있다면 언제든 추가로 말씀해주셔요.

질문1 전적으로 동의합니다. 영벡터를 의미하는 것이므로 굵은 글자체로 바꾸겠습니다.

질문2 결론부터 말씀드리면 말씀주신 점이 정확하다고 생각합니다. 좌변이 argmax가 되어야 할 것 같습니다. 해당 수식은 논문(A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SEN- TENCE EMBEDDINGS) 표기를 그대로 옮겨왔는데요. 논문은 다음처럼 되어 있습니다.

스크린샷 2019-11-17 오후 5 04 18

이와 관련해 찾아보니 dual norm과 cauchy-schwarz inequality 속성을 활용해 유도하면 다음과 같은 관계가 성립한다고 합니다. 아래 수식 출처는 이곳이고요, 좀 더 찾아보니 프린스턴 대학 강의 자료(7페이지 참조)가 있는 걸 발견했습니다. 참고가 되셨으면 좋겠습니다.

스크린샷 2019-11-17 오후 5 07 51

요컨대 "임의의 상수와 두 벡터 내적 값을 더한 값"을 최대화하는 벡터 c는 g/||g||일 것이므로, 말씀주셨던 것처럼 좌변이 argmax가 되어야 할 것 같습니다. 논문 수식을 그대로 가져와 혼동 드리게 되어서 죄송스럽게 생각합니다.

질문3 질문2에 답해드린 내용을 바탕으로 생각하면 수식 4-28의 마지막 세번째 줄에서 argmax 부분을 빼는게 좋겠습니다.

수식 4-28 관련 참고로 수식 4-28의 결과물이 a / (p(w) + a) v_w / ||v_w||임에 반해 4-29에서는 a / (p(w) + a) v_w가 된 것은 논문 저자들이 normalization을 무시했다고 하는데요. 다음과 같습니다. vector normalization을 생략했다는 점을 책에 추가로 명시하겠습니다.

스크린샷 2019-11-17 오후 5 40 56

덕분에 책이 엄밀해진 느낌입니다. 관심 가져주셔서 진심으로 감사드립니다.