[딥러닝 자연어처리] Word2Vec

  Рет қаралды 54,085

Minsuk Heo 허민석

Minsuk Heo 허민석

Күн бұрын

Пікірлер: 86
@최윤철-y3c
@최윤철-y3c 2 жыл бұрын
실제 코드와 출력으로 보여주시니까 이해가 너무 잘네요. 감사합니다.
@인생맨토
@인생맨토 5 жыл бұрын
설명 너무 좋아요 감사합니다 . 한번에 이해했습니다.
@선택-f5j
@선택-f5j 3 жыл бұрын
와우.. 제가본 word2vec 정리중에 제일 깔끔합니다!! 잘보고 갑니다~
@clark87
@clark87 5 жыл бұрын
다시 들어봐도 너무 너무 명확한 설명 이네요. 감사합니다
@peterchanahad8619
@peterchanahad8619 2 жыл бұрын
여러번 읽고 배워도 흐릿했는데 설명이 쉽고 명확해요 감사합니다
@TOpCoder100
@TOpCoder100 5 жыл бұрын
When you don't understand a single word in Chinese, but you watch the slides and finally it comes so easy. Thank you, sir! Next time, English pleaze =)
@TheEasyoung
@TheEasyoung 5 жыл бұрын
Here is English version if same video. Thanks! kzbin.info/www/bejne/bGXUhJp3a5uDY5o
@mybloodyvalentine2316
@mybloodyvalentine2316 4 жыл бұрын
It's korean..
@changgun_film5003
@changgun_film5003 3 жыл бұрын
Korean man
@자연어천재만재
@자연어천재만재 2 жыл бұрын
깔끔. DONE. 너무 잘 들었습니다!
@albertkim1718
@albertkim1718 4 жыл бұрын
넘 쉽게 이해했어요. 감사합니다 ~~
@jaehyeong.a
@jaehyeong.a 6 жыл бұрын
아 word2vec을 이렇게 깔끔하게 설명하시네요. 항상 원리가 이해가 잘안됬는데 감사합니다!
@hankj2678
@hankj2678 5 жыл бұрын
와... 교수님보다 설명 더 잘하시네요 교수님이신가..??
@uiandwe
@uiandwe 6 жыл бұрын
크!!!! 정말 감사합니다!! 이제서야 이해가 가네요.
@Jun-id8db
@Jun-id8db 5 жыл бұрын
논문을 아무리 읽어도잘 몰랐던 부분을 정말 잘 설명해놓으셨네요 정말 감사합니다!
@alfl8867
@alfl8867 4 жыл бұрын
처음이라 어렵지만 계속 봐야겠어영
@직장인디제잉
@직장인디제잉 6 жыл бұрын
감사합니다. 쉽게 설명해 주셔서요 ^^
@clark87
@clark87 5 жыл бұрын
한국어로 이런 강의가 있다니 감사합니다
@中井貴一-i9b
@中井貴一-i9b 3 жыл бұрын
와 진짜 혜자 영상이네요 고맙습니다
@OhucYYXuQdai
@OhucYYXuQdai 4 жыл бұрын
좋은 강의 감사합니다 덕분에 이해되었습니다!
@HIChoi-q8e
@HIChoi-q8e 6 жыл бұрын
영상 잘보고 갑니다! 설명 정말 깔끔하네요
@jgkim4124
@jgkim4124 6 жыл бұрын
누구에게 설명할때 딱 이렇게만 설명하면 되겠군요 ㅎㅎ 감사합니다.
@TheEasyoung
@TheEasyoung 6 жыл бұрын
김지광 감사합니다 ^^
@appleWhisky43
@appleWhisky43 6 жыл бұрын
매우 깔끔하고 좋은 설명이셨습니다 ㅎㅎ 잘보고갑니다
@ksong5589
@ksong5589 6 жыл бұрын
굉장히 직관적이고 좋습니다 감사해요
@gunlee2527
@gunlee2527 3 ай бұрын
코드 실습까지 보니 이해가 더 잘 되는 것 같습니다. 한가지만 질문을...ㅎㅎ 하나의 input이 2개의 정답(왼쪽+오른쪽 단어)을 가지게 되는데 이걸 그냥 tensorflow로 돌려버리면 hidden layer가 하나로 딱 떨어지는게 좀 궁금합니다. input 단어가 왼쪽과 오른쪽 단어로 가기 위한 중간점으로 자동으로 학습하게 되는 걸까요?
@TheEasyoung
@TheEasyoung 3 ай бұрын
Batch와 gradient descending 할 때의 파라미터들의 값에 따라 파라미터 변경값이 달라집니다. 따라서 현재 단어로부터 한칸씩 같은 거리의 단어라도 다른 유사도를 같게 됩니다.
@brink9205
@brink9205 6 жыл бұрын
감사합니다! 잘보았습니다!
@Ken-lr6pn
@Ken-lr6pn 5 жыл бұрын
정말 감사합니다 좋아요 백개 누르고 싶네요!
@999nilbog
@999nilbog 4 жыл бұрын
you are very good man, I love this
@Sanghyun_Ryoo
@Sanghyun_Ryoo 3 жыл бұрын
감사합니다
@changgun_film5003
@changgun_film5003 4 жыл бұрын
설명 좋네요! Word2vec으로 구한 embedding은 forward , backpropagation을 완료한 후에 얻게 되는 거 맞나요?ㅎ 즉 embedding 값을 구하기 위한 NN라고 볼수있나요?
@TheEasyoung
@TheEasyoung 4 жыл бұрын
네 맞습니다 ^^
@beom-d7x
@beom-d7x 2 жыл бұрын
설명이 잘 된 것 같아요!! 감사합니다! 그런데 실습에서 word vector in 2d chart 가기 전에 'set' type is unordered라는 에러가 뜨는데 그 원인에 대해서 혹시 아시나요?
@2an1k0
@2an1k0 2 жыл бұрын
words = list(words)로 words를 set에서 list로 바꿔주시면 됩니다
@dogthatman_9979
@dogthatman_9979 2 жыл бұрын
너무 도움이 많이 되었습니다!! 그런데, word vector in table 부분의 코드를 실행하게 되면 'set' type is unordered라고 뜨게 되는데 이거에 대해서 피드백 해주실수 있습니까? ㅜㅜ
@2an1k0
@2an1k0 2 жыл бұрын
words = list(words)로 words를 set에서 list로 바꿔주시면 됩니다
@pngng9999
@pngng9999 10 ай бұрын
안녕하세요. 오늘은 word3vec에 대해서 한 번 알아보도록 하겠습니다. 딥러닝 모델에 텍스트를 인풋으로 넣을 수가 있을까요? 못합니다. 하지만 숫자는 넣을 수가 있죠. 이 자연어 처리에서 보통 인풋들은 이 텍스트인데 이 텍스트를 숫자로 변환하는 과정을 바로 인코딩이라고 합니다. 예를 들어서 "thank you"랑 "love you"가 있을 때 단어는 thank, you, love가 있죠? thank를 0, you를 1, love를 2로 인코딩할 수가 있습니다. 단순하죠. 하지만 가장 사랑받는 방법은 바로 이 원 핫 인코딩입니다. 단어가 3개가 있으니까 삼차원 벡터로 벡터를 만들어 주시고 각각 thank는 1 0 0, you는 0 1 0, love는 0 0 1 처럼 독립적인 벡터를 만들어 주는 방법을 바로 원 핫 인코딩이라고 해요. 하지만 여기에 문제가 있죠. 원 핫 인코딩은 유사도가 없습니다. 어, 단어 간의 유사한 단어가 있잖아요? 뭐, 고맙다하고 사랑한다는 고맙다하고 미워한다 보다 조금 더 가까운 관계에 있어야겠죠. 이러한 관계를 원 핫 인코딩으로는 표현을 할 수가 없습니다. 자 이 벡터 스페이스에서 유사도는 보통 유클리디안 디스턴스의 ...
@cbt0949
@cbt0949 Жыл бұрын
강의가 많은 도움이 되었습니다. 허나 궁금한게 하나 있습니다. Embedding 은 첫번째 레이어층의 weights들로 구성되어있는데 왜 두번째 레이어의 weights (Hidden layer - output layer)는 안 쓰는건가요?
@seungminlee8751
@seungminlee8751 4 жыл бұрын
안녕하세요, 강의 잘 보고있습니다. 한가지 궁금한 점이 있는데 답변해주시면 너무 감사하겠습니다. 히든 레이어의 가중치들(임베딩된 값)이 각 단어들간의 유사도라고 판단되는 이유가 궁금합니다. 원핫인코딩이므로 각각의 가중치가 타겟 단어를 의미한다는 것은 이해가 갔으나, 그 결과로 나온 embedding 값이 유사도로 판단되는건 소프트맥스 함수 처리의 결과인가요? 예를 들어 man의 임베딩값이 [1,1], king의 임베딩값이 [1,2], queen의 임베딩값이 [5,4]인 결과에서 man과 king이 유사하다라는 결론이 나오는 이유가 궁금합니다.
@TheEasyoung
@TheEasyoung 4 жыл бұрын
Word2vec의 목적함수가 입력 단어와 정답간의 거리를 줄이는 것이기 때문에, 가중치를 입력에 곱한 값은 입력값과 정답간의 거리가 최소화되는 공간에 위치한 벡터가 됩니다. 따라서 입력값이 비슷한 단어라면 보다 가까운 거리에 위치하게 됩니다. 물론 이해하신 그대로 원 핫 인코딩이라 가중치는 그저 룩업 테이블처럼 활용됩니다.
@seungminlee8751
@seungminlee8751 4 жыл бұрын
@@TheEasyoung 감사합니다. 결국 소프트맥스 함수에 대한 이해를 더 충분히 해야겠네요!
@yejuahn884
@yejuahn884 3 жыл бұрын
감사합니다:)
@ilnyun
@ilnyun Жыл бұрын
워드임베딩 개념이 잘 이해되지 않고 있었는데 이 영상 보고 확실히 이해됐습니다! 쉽고 명쾌한 강의 정말 감사합니다~^^
@김재용-n7d
@김재용-n7d 2 жыл бұрын
그런데 히든 층에는 히든 유닛이 있어야하는 거 아닌가요? 가중치는 층과 층 사이에 있고.. 저렇게 표현하는 방법도 있나요?
@TheEasyoung
@TheEasyoung 2 жыл бұрын
같은 개념을 어떻게 그리느냐의 차이인 것 같습니다.
@joetokki
@joetokki 4 жыл бұрын
최고
@heejuneAhn
@heejuneAhn 4 жыл бұрын
이거 수학적으로 보았을 때 Auto-encoder와 비슷한 개념 아닙니까? 선형 모델에서 Latent space이구요.
@TheEasyoung
@TheEasyoung 4 жыл бұрын
네 오토인코더와 비슷한 구조입니다.
@Ken-lr6pn
@Ken-lr6pn 5 жыл бұрын
궁금한 점이 있는데 word2vec training 과정에서 (king, brave), (king, man) 두 상황이 있습니다. king이 input일 때의 w1, w2값은 brave, man 각 두 단어가 target일 때 전부 잘 맞출 수 있는 w값으로 학습되는 것인가요?
@TheEasyoung
@TheEasyoung 5 жыл бұрын
네 맞습니다. 상대적으로 다른 단어보다 두 단어로 맞출 확률이 올라갑니다.
@nick6267
@nick6267 3 жыл бұрын
embedding의 값은 어떤 원리로 구현되는지는 알 수 없나여?
@TheEasyoung
@TheEasyoung 3 жыл бұрын
Word2vec의 임베딩 값은 현재 단어의 임베딩을 주변에 위치한 단어와 유사한 임베딩으로 만드는 과정으로 구현됩니다.
@bayesianlee6447
@bayesianlee6447 5 жыл бұрын
단연 최고.
@changgun_film5003
@changgun_film5003 3 жыл бұрын
안녕하세요 혹시 code에서 word2int 에서 boy 가 왜 index 5 이고 girl 이 3 이고.... 이렇게 되나요???
@히히-k4k
@히히-k4k 6 жыл бұрын
좋은 자료 감사합니다ㅜㅜㅜㅜ 덕분에 프로젝트 진행하는데 도움이 많이 되었어요 ! 혹시 PPT 슬라이드도 공유해주실수 있나요?
@TheEasyoung
@TheEasyoung 6 жыл бұрын
Seohui Park 안녕하세요, 아쉽게도 ppt 공유할 수가 없어요. 괜찮으시다면 출처와 함께 캡쳐하셔서 쓰셔도 되요.
@nineone1902
@nineone1902 6 жыл бұрын
감사합니다 ㅎㅎ
@구독자-t8m
@구독자-t8m 6 жыл бұрын
좋아요!!!!!!!!!!!!!!
@ToTheYoutube
@ToTheYoutube 5 жыл бұрын
왜 corpus에 문장으로 리스트형으로 나눴는지 알 수 있을까요? 문장으로 분석하는게 더 효율?이 좋나요? 문단으로 하는 것과 차이점이 있는지 궁금합니다.
@ToTheYoutube
@ToTheYoutube 5 жыл бұрын
문장으로 나누는 이유는 원-핫 인코딩의 단점이 단어의 개수가 늘어날수록, 벡터를 저장하기 위해 필요한 공간이 계속 늘어나기 때문이다. 열심히 공부하고 있습니다! .... 아닌 것 같은데 원 핫 인코딩엔 입력이 'words'가 들어가니까 단어(len(words)) 수만큼 벡터가 형성된다.----고등학생 입장에서 피상적으로 공부하니까 헷갈리네요. 하핫 빈틈들을 메꾸기 위해 노력하겠습니다!! 감사합니다
@ToTheYoutube
@ToTheYoutube 5 жыл бұрын
one-hot-Dim이 dimesion을 말하니까 차원 수 만큼 단어가 들어간다는 뜻이 내포되었었군요
@TheEasyoung
@TheEasyoung 5 жыл бұрын
문단으로 해도 되요. 제가 예제를 문장 단위로 보여드려서 코드도 문장 단위로 만들었습니다. 재밌게 공부하시는 모습 보기 너무 좋아요!
@ToTheYoutube
@ToTheYoutube 5 жыл бұрын
@@TheEasyoung 감사합니다!!
@cnplastic
@cnplastic 6 жыл бұрын
embbeding_dim 변수의 값이 커지면 어떤 변화가 생기나요 ??
@TheEasyoung
@TheEasyoung 6 жыл бұрын
이태일 embbeding_dim을 2로 설정한 이유는 2차원으로 단어 임베딩을 만들어서 2차원 그래프 상에 시각화하기 위해서였습니다. 크기를 1로 설정할 경우 직선 상에서 단어의 유사도를 확인할 수 있습니다. embbeding_dim을 더 크게 설정하셔도 되지만, 보통 현재 가지고 있는 단어의 숫자보다 적게 설정하셔야 유사도를 더 잘 형성하실 수 있습니다. 이유는 현재 단어만큼의 embeddding_dim을 살정할 경우 one hot encoding과 벡터의 크기가 같기 때문이죠. 감사합니다.
@cnplastic
@cnplastic 6 жыл бұрын
정말 존경합니다. 강의 보면서 많이 배우고 있습니다. 임베딩 디멘션을 현재 100으로 설정하여 진행중입니다.(원핫 디멘션은 3만이상) . 임베딩 디멘션 100을 pca 하는것과 애초에 2로 설정하여 plot하는것의 차이는 무엇인가요? 그리고 임베딩 디멘션이 100일때와 임베딩 디멘션이 2일경우의 차이는 무엇인가요? 계산량은 많아질것 같은데 그것 이외에는 없나요?
@TheEasyoung
@TheEasyoung 6 жыл бұрын
이태일 pca는 비선형성이 없고, word2vec 은 비선형성이 있습니다. 100차원을 2차원으로 pca로 줄일 시 선형성에만 의존하여 정보 손실이 더 있을 수도 있지만 저라면 100차원으로 word2vec 을 만들고, 시각화할 때만 pca로 2차원으로 만들어 사용할 것 같습니다. 왜냐하면 100차원 백터가 2차원 보다 훨씬 많은 정보를 가지고 있을 것으로 사료되기 때문에 실제 사용 시에는 100차원, 시각화 ㅅ에만 따로 2차원으로 사용하는 게 맞는 것 같습니다. 참고로, Pca대신 오토인코더를 사용하시면 비선형으로 100차원을 2차원으로 축소도 가능하십니다.
@cnplastic
@cnplastic 6 жыл бұрын
강의보면서 너무 많이 배웠습니다. 혹시 메일주소라도 알려주실 수 없나요?? 너무 만나뵙고싶습니다. 이번 2월에 미국에 가는데 너무 가슴벅찬 경험이 될 것 같습니다.
@TheEasyoung
@TheEasyoung 6 жыл бұрын
이태일 괜찮습니다. 미국 오셔서 좋은 경험 추억 많이 만드세요!
@brink9205
@brink9205 6 жыл бұрын
엇 혹시 기존에 있던 문장 분류 영상은 지우신건가요? ㅠㅠㅠ
@TheEasyoung
@TheEasyoung 6 жыл бұрын
이수화 네 사정상 최근 업로드된 비디오들을 지웠어요. 사정이 나아지면 다시 업로드 생각하고 있어요. 불편을 드려 죄송해요!
@홍길동-j8t5t
@홍길동-j8t5t 6 жыл бұрын
들으니까 더 어려워졌습니다;; 이걸 CBOW로 표현하면 어떻게 되는지?
@TheEasyoung
@TheEasyoung 6 жыл бұрын
홍길동 학습데이터를 만드는 원리만 달라진다고 보시면 됩니다. 해당단어의 주변 이웃으로 타겟을 설정하는 대신 주변 이웃에 해당하는 단어를 타겟으로 설정하시면 됩니다.
@홍길동-j8t5t
@홍길동-j8t5t 6 жыл бұрын
@@TheEasyoung cbow의 과정에 대해 알아보던 중인데 수학식에는 어두워서 제가 이해한 바로는 단어들을 one hot encoding -> 전체단어의수 (V) X N(벡터 크기 ) 를 가중치 행렬로 평균값을 구한후 히든 레이어로 이동한후 아웃풋레이어로 이동할대 NXV 가중치 행렬(앞과는 다른 행렬) 을 구한후 아웃풋레이어에서 소프트맥스로 0~1사이의 값으로 하고 총합이 1로 되게 한후 원핫인코딩 (타겟 단어) 와 확률로 비교해야하는데 이때 손실함수 기울기하강법으로 오류를 줄이고 역전파로 히든레이어와 인풋레이어에서 계산하면서 조정하고 마지막 결과값을 타겟 단어와 비교하며 확률 예측하는 게 맞나요?? 좀 횡설수설했는데 계속 관련 글을 봐도 헷갈리네요
@TheEasyoung
@TheEasyoung 6 жыл бұрын
홍길동 지금 설명하신 부분은 cbow나 skip gram이나 동일합니다. 이 동영상과 같은 흐름으로 학습되고 히든레이어의 각 행이 바로 워드 임베딩을 얻으실 수 있습니다. Cbow와 skipgram의 차이는 학습 데이터를 생성하는 방법의 차이라고 보시면 될 것 같습니다.
@홍길동-j8t5t
@홍길동-j8t5t 6 жыл бұрын
@@TheEasyoung 답변 감사합니다 . 다른 글에서 HIDDEN 레이어를 PROJECTION 레이러 라고 바꿔말하기도 하는데 CBOW를 예로 들면 원핫인코딩의 값을 행렬로 [100000, 010000, 001000] 와 같이 하기에 PROJECT한다고 하는 건가요??
@TheEasyoung
@TheEasyoung 6 жыл бұрын
홍길동 제가 글쓴이가 아니라 확답이 어려우나, 제가 이해하기로는 one hot vector를 x라 할 경우, activation(wx+b)한 위치로 x가 벡터 공간상의 다른 위치로 이동하게 되어 프로젝션이라 말한거라 생각되네요. 프로젝션된 x들이 히든레이어의 결과값들이고 프로젝션된 x들을 xp라 할 경우, xp는 유사도를 지닌 벡터들이 됩니다.
@hisokaallui1695
@hisokaallui1695 4 жыл бұрын
It's so good and easy to understand even I don't understand Korean enough to communicate. I really want to share this in my language ( Thai) May I ask for your permission to use your clips to re-upload with my own language description and always have reference to yours. Anyway if not allowed I can understand your point. ( but I will so pleased if you allow :) ) Looking forward to your response! BR 😊
@TheEasyoung
@TheEasyoung 4 жыл бұрын
Here is English version. kzbin.info/www/bejne/bGXUhJp3a5uDY5o Citing and have reference to my video should be enough and I am fine with this condition. Thanks for watching and asking.
@hisokaallui1695
@hisokaallui1695 4 жыл бұрын
@@TheEasyoung Thank you so much ❤️
@Berony1004
@Berony1004 7 ай бұрын
감사합니다
@Rex-lk9ed
@Rex-lk9ed 3 жыл бұрын
감사합니다!!!!
[딥러닝 기계번역] 시퀀스 투 시퀀스 + 어텐션 모델
11:22
Minsuk Heo 허민석
Рет қаралды 37 М.
[딥러닝 자연어처리] BERT 이해하기
13:48
Minsuk Heo 허민석
Рет қаралды 42 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
조롱을 견딜 수 없다면​ 인생은 바뀌지 않습니다​
22:07
워드 임베딩
7:39
코드없는 프로그래밍
Рет қаралды 1,5 М.
Large Language Models explained briefly
8:48
3Blue1Brown
Рет қаралды 891 М.
예술의 경지, 딥러닝 시계열 예측 모델
12:31
텐서플로우가 뭔가요? (설치없이 머신러닝 사용해보기)
13:06
얄팍한 코딩사전
Рет қаралды 73 М.
How AI Got a Reality Check
8:53
Bloomberg Originals
Рет қаралды 20 М.
[Deep Learning 101] Word2Vec 쉬운 예제로 개념잡기
14:17