Attention is all you need 논문으로 큰 주목을 받은 Transformer에 대해 심층적으로 알아봅니다. 트랜스포머에 사용된 다양한 기술들도(포지셔널 인코딩, 멀티 헤드 어텐션, 셀프 어텐션, 레이블 스무딩, 레지듀얼 커넥션) 쉬운 예제와 함께 알아봅니다. 제가 만든 모든 머신러닝 관련 영상은 아래 재생목록에서 쉽게 찾으실 수 있습니다. • 머신러닝
안녕하세요. 먼저 좋은 강의자료 정말 감사합니다. 논문으로는 쉽게 이해되지 않았는데 한글로 명료하게 정리된 자료가 있어서 정말 좋은 것 같네요. 다름이 아니고, 학교 수업 중에 Transformer 논문에 대한 발표를 하게 되었는데요. 이 영상의 전체적인 흐름이 다른 분들이 이해하기에 정말 좋은 것 같아서 설명하는 순서를 참고해서 발표를 해도 괜찮을 지 여쭤보고 싶습니다! 감사합니다.
아주 예리하고 좋은 질문이라 생각합니다. 파이썬이 익숙하시면 딕셔너리 자료구조로 이해해보는게 가장 쉬울 것 같습니다. (빨강, [255,0,0]), (녹색,[0,255,0]) 으로 예를 들면, key에 해당하는 빨강과 녹색은 워드 임베딩일뿐, rgb값은 가지고 있지 않습니다. 만약 우리가 모델을 잘 학습시켜서 value를 출력할 경우 value는 rgb값을 가질수도 있다는 장점이 있습니다. 키와 밸류가 동일해도 모델이 잘 학습될 수도 있지만, 밸류가 워드 임베딩 자체가 아닌 다른 것이어야할 때 밸류를 따로 가지는게 도움이 될 것으로 보입니다.
제대로 이해하시고 계십니다. 본인 자신이 어텐션 스코어가 가장 높아요. 위 그림은 멀티 헤드 어텐션 중 it을 다른 연관 단어에 매칭한 한 개의 어텐션일 뿐이고, 영상에서 다루지 않은 다른 어텐션 레이어를 보시면 it이 it에 어텐션이 가장 많은 것을 확인하실 수 있어요.
어텐션 레이어 이후 토큰은 여러 단어의 어텐션이 결합된 벡터가 되고, 이 벡터는 5본 연속 더 어텐션 레이어를 통과되면서 단어 그자체가 아닌 어텐션을 통과한 여러단어들이 고려된 하나의 벡터가 됩니다. 그리고 멀티 헤드 어텐션을 통해 다른 관점에서의 여러 관점으로 해석된 벡터가 합쳐집니다. 그리고 어텐션 역시 학습 과정을 통해 최적화되기 때문에 상황에 따라 자기 자신 뿐 아니라 어떤 다른 단어에 더 큰 어텐션을 줘야할 지 모델이 스스로 학습합니다.
6개의 encoder가 가중치를 서로 공유하지 않고 따로 학습이 되고, 마지막 6번째 encoder layer의 출력값이 최종 transformer의 입력값이 된다고 하셧는데요. encoder가 서로 가중치를 공유하지 않는데 6개의 encoder를 학습시키는게 어떤 의미가 있나요?? 어차피 마지막 하나 encoder의 출력값만 사용하는데 그럴꺼면 애초에 하나의 encoder만 사용하면 되지 않나요?
안녕하세요! 항상 감사히 보고있습니다. 공부하다가 해결하지 못한 의문점이 있어 질문을 남겨봅니다... 첫째는,, Scaled-Dot product에서 쿼리와 키를 내적해서 similarity를 구한다고 보았는데, qk^t/|q||k|와 같이 정규화를 하지 않아도 되는 이유가 있는 것인가요? 단순 내적이라면 벡터의 magnitude에 따라서 값이 들쑥날쑥하여 유사도를 제대로 알 수 없을 것이라는 생각이 들어서요ㅠ 또 하나는 포지셔널 인코딩에서 왜 concat이 아닌 addition일까 하는 부분입니다. 물론 인풋과 아웃풋의 shape을 맞춰야 한다는 것은 알겠지만, 워드 임베딩을 거치고 난 후 포지션값을 더 해버리면 모델 입장에서 이게 위치정보가 더해서 늘어난것인지 아니면 애초부터 그렇게 임베딩된 것인지 어떻게 구분할 수 있냐는 점이 혼란스러웠습니다. 이에 대해 설명이 있으시다면 정말 감사하겠습니다ㅠㅠ!
안녕하세요! Q, K, V가 아직 이해가 잘 안되어서 질문 드립니다.. Q는 그냥 질문, K는 질문에 대한 정답, V는 실제 단어에 대한 값(?) 정도로 이해하고 있는데.. 그렇다면 Q, K, V는 같은 문장이라면 한 단어에 대해서 항상 일정한 값을 가지나요? 어떻게 벡터가 산정되는지 궁금합니다..
질문 있어요. 1. multi-head attention이 언어의 모호함을 인코딩과 디코딩을 통해서 도와준다는 건 이해했습니다. Jay 아저씨 글 읽고 왔는데요. 여기서 additional matrix WO 가 뭔가요? 8개의 self attention 으로 각각 key query 그리고 value 매트릭스가 나와 z 매트릭스를 8개 concatenate 시켜서 WO 에 곱해준다는데 좀 헷갈려서요. 10:45 쯤에 역전파 말씀하시는데 설마 back propagation 말씀하시는 건가요? 그럼 WO가 러닝으로 옵티마이징 되는 웨이트란 소린데 아저씨 글에 따르면 activation function이 softmax같구요. 맞나요? 인코딩이랑 디코딩 제가 이해한 거는 query 는 "난 널 사랑해"의 백터 모양이구 key 는 "I love you" 의 백터 모양으로 알았는데 (만약 맞다면) value 는 뭔가요? 2. Backpropagation 을 통해 positional encoding이 손실 된다는 말 그리고 그걸 막기 위해 residual connection이 어떻게 사용되는지 이해가 안되요... ㅜㅜ 3. 마지막으로 decoding 의 첫번째 레이어인 masked multi-attention (related to masking future position) 이 이해가 안갑니다. 인투이티브하게 설명 부탁드려요. 정말 감사드립니다. Jay 아저씨 글 출처: jalammar.github.io/illustrated-transformer/
WO는 최초 입력벡터와 동일한 shape로 변형하기 위한 매트릭스입니다. Softmax는 가장 마지막 레이어에만 존재합니다. WO는 softmax를 사용하지 않습니다. Value는 해당하는 목적에 맞는 의미를 가진 벡터입니다. Key가 단어 자체의 임베딩이라면 value는 목적에 맞는 벡터입니다. 레지듀얼은 곱셈이 아닌 덧셈이기 때문에 역전파에 영향을 받지 않습니다. 마스크 어텐션 레이어는 현재 가진 정보만을 활용하기 위해 미래의 값을 계산에 포함 안하기 위한 과정입니다. 감사합니다.
안녕하세요. 좋은 강의 자료로 설명을 해주셔서 이해가 정말 잘 됐습니다. 혹시 질문을 드리자면 5:42 에 보면 '학습데이터 중 가장 긴 문장보다 더 긴 문장이 실제 운용중에 들어와도 에러 없이 상대적인 Encoding의 값을 줄 수 있다' 라는 말이 이해가 잘 되지 않아서요. 추가 설명 해주실 수 있는지요? 혹시 Positional Encoding이 -1에서 1로 상대적인 값(정규화?) 을 취하기 때문에 가능하다는 것인지 문의드립니다.
layer 1 Decoder의 attention의 key, val weight는 layer 1 Encoder의 key, val weight인가요? (query weight만 자체적으로 재 학습하고요? 이것 역시 각 layer별로 새로운 query weight인것이죠?) 다시 말해, layer 2 decoder의 key, val weight는 layer 1이 아닌 layer 2 encoder의 key val weight인건가요?
@@TheEasyoung 빠른 답변 매우 감사합니다. 그렇다면, 13분 34초에서 decoder의 multi head attention에서 decoder의 input을 query로 보고, encoder 의 최종 출력물을 key, value로 보신다고 하였는데요, 그럼 저 두개의 entity(key, value)는 encoder의 뭐가 되는 걸까요? encoder의 최종 출력물은 각 word들의 embedding 된 벡터이자, 문장 embedding matrix 아닌가요? 그리고 최종 결과물은 하나로 생각되어 재질문 드립니다 ^^
@@jaegyunkim279 인코더의 k, v는 디코더에서 보낸 쿼리에 각각의 단어마다 얼마만큼의 어텐션을 줄 것인 지 결정하는 데 사용됩니다. k, v, q는 각 레이어에 있는 파라미터(weight)입니다. 인코더의 최종 출력물은 셀프 어텐션이 적용된 각 단어의 임베딩으로 보셔도 됩니다.
영상 중 몇초 정도의 슬라이드에서 질문 주신 건지 알려주시면 더 정확히 답변 가능합니다. 다만 트랜스포머에서 다음셀에 현재 셀의 아웃풋을 전달하지 않습니다. 트랜스포머의 장점이지 특징이 모든 셀이 한번에 계산되는 거구요, 모든 셀은 동시에 k,q,v 행렬을 사용해 계산됩니다.
갓민석.... 그는 신인가....?
공부하는데 큰 도움이 됩니다. 좋은 영상 감사합니다 :)
이런 좋은 채널을 왜 이제야 알았을까요 기가막힌 설명에 무릎을 탁치고 갑니다 설명진짜잘해주십니다... 감사합니다 많은 도움 됐습니다!
딕션 플로우 모두 너무 좋네요. 목걸이 드리겠습니다.
감사합니다
한국어로 이런 강의를 들을 수 있어 무한 감사드립니다.
시각화와 설명의 수준이 대단하십니다.. 정말 감사합니다.
해외 자료도 많이 찾아봤지만 가장 직관적이고 이해가 잘됐습니다. 덕분입니다
항상 감사합니다
와... 설명 미쳤네요... 몇시간동안 검색해도 이해가 잘 안됐는데 덕분에 이해도가 높아졌습니다.
항상 감사합니다.
자연어 강의를 순삭 중입니다.
정말 잘 만드셨습니다. 고맙습니다.
그동안 뜬구름같았던 내용이 시각화되어지니 속이 다 시원하네요
한국어 강의가 있을 줄은 생각도 못했습니다. 좋은 자료 만들어주셔셔 정말 감사합니다
좋아요 다섯 번쯤 누르고 싶었어요. 좋은 영상 감사합니다!
ㅠㅠ감사합니다 선생님 덕분에 딥러닝 공부가 재밌어졌어요.
다시 강의 시청중인데 정말 잘만드신 강의네요. 강의 중간중간에 시간 많이 공들인 티가 납니다. 정말 감사합니다!
어려운 내용을 정말 이해하기 쉽게 설명해 주시네요. 영상도 짧아서 감동입니다~ ^^
Bert 에 대한 소개도 한번 부탁드립니다.
오늘 드디어 BERT 나왔네요. ㅋㅋㅋ
감사합니다. 복 받을실거예요.
와우 킹민석... 존경합니다 너무나 깔끔한 설명...감사합니다
감사합니다. 사랑합니다.
진짜 엄청나고 소중한 영상입니다. 감사합니다!
갓민석님 감사합니다. 무지한 중생들을 일깨워 주셔서
정말 너무 깔끔한 설명이네요! 덕분에 이해했습니다 ㅎㅎ
잘 봤습니다. 설명을 위해 만들어진 예시 그림 덕분에 너무 좋았습니다.
잘 정리해주셨네요 감사합니다
좋은 강의 감사합니다. 쏙쏙 이해가 됩니다.
설명을 너무 잘하셔요 감사합니다
올려주신 이전 영상들을 보고나니 더욱 잘 이해됩니다.
공부하는데 너무 많은 도움주신 최고의 참조영상이네요! 감사합니다.
덕분에 치킨 먹으면서 잘 보고 갑니다. 감사합니다.
쉽게 이해됬습니다!! 너무너무 감사합니다
설명을 너무 잘해주셔서 감사합니다
좋은 강의영상 감사합니다 ㅎ
transformer.. 강의를 들어도 어렵네요 ㅠㅠ 두어번 더 들어야겠습니다.
여러 개념이 많이 있어서 그럴거예요, 화이팅입니다!
감사합니다. 공부하는데 많은 도움 되고 있습니다.
영상 너무 좋아용
그저 감사합니다
항상 감사드립니다!
고맙습니다.
안녕하세요. 먼저 좋은 강의자료 정말 감사합니다. 논문으로는 쉽게 이해되지 않았는데 한글로 명료하게 정리된 자료가 있어서 정말 좋은 것 같네요. 다름이 아니고, 학교 수업 중에 Transformer 논문에 대한 발표를 하게 되었는데요. 이 영상의 전체적인 흐름이 다른 분들이 이해하기에 정말 좋은 것 같아서 설명하는 순서를 참고해서 발표를 해도 괜찮을 지 여쭤보고 싶습니다! 감사합니다.
네 괜찮습니다. 성공적인 발표 되세요! 감사합니다.
네 괜찮습니다. 성공적인 발표 되세요! 감사합니다.
감사합니다.~! 큼 도움이 되었습니다.
정말 큰 도움 되었습니다
훌륭한 리뷰 감사합니다
정말 도움이 되네요~!
정말 많이 도움이 됐습니다
이야... 그림 진짜 죽이네요! 어떻게 그려야 이해가 잘 될지 정말 고민 많이하셨을 것 같습니다.
감사합니다
정말 감사합니다~~~
value에 대한 개념이 이해가 안돼서요.. value를 쓰는 이유가 뭔가요? 8:30 에 보면 value 대신 기존 embedding (relevant key에 해당하는)에 softmax값을 곱해줘도 비슷한 결과가 나올 것 같아서요. 감사합니다!
아주 예리하고 좋은 질문이라 생각합니다. 파이썬이 익숙하시면 딕셔너리 자료구조로 이해해보는게 가장 쉬울 것 같습니다. (빨강, [255,0,0]), (녹색,[0,255,0]) 으로 예를 들면, key에 해당하는 빨강과 녹색은 워드 임베딩일뿐, rgb값은 가지고 있지 않습니다. 만약 우리가 모델을 잘 학습시켜서 value를 출력할 경우 value는 rgb값을 가질수도 있다는 장점이 있습니다. 키와 밸류가 동일해도 모델이 잘 학습될 수도 있지만, 밸류가 워드 임베딩 자체가 아닌 다른 것이어야할 때 밸류를 따로 가지는게 도움이 될 것으로 보입니다.
@@TheEasyoung이해완료 간삼다
11:37 이 부분에서 인코더 레이어는 왜 가중치를 공유하지 않는 걸까요?
가중치를 공유하면 성능 향상에 기여할 수 있을까요?
LSTM의 stateful=True(현재 학습된 상태가 다음 학습 시 초기 상태로 전달된다는 것을 의미)기능처럼 비슷한 옵션이 있을까요?
항상 공부하는데 많은 도움 받고 갑니다! 논문 직접 리딩하기 전에 영상 보고 리딩하니 편하게 이해되네요 감사합니다
잘 보고 갑니다
감사합니다! 다른 동영상도 만들어 주세요~!
RNN은 재귀적 , 트랜스포머는 병렬적으로 한방에. 따라서 학습이 빠름.
강의 잘 들었습니다. 한가지 궁금한 게.. 어탠션은 매커니즘을 사용하면 항상 자기 자신과의 연관성이 가장 높아서 자신과의 어탠션 점수가 항상 큰 거 아닌가요? 9:30부분 그림에서 it은 it과 가장 큰 연관성을 보일 것 같은데 이건 왜 그런건가요?
제대로 이해하시고 계십니다. 본인 자신이 어텐션 스코어가 가장 높아요. 위 그림은 멀티 헤드 어텐션 중 it을 다른 연관 단어에 매칭한 한 개의 어텐션일 뿐이고, 영상에서 다루지 않은 다른 어텐션 레이어를 보시면 it이 it에 어텐션이 가장 많은 것을 확인하실 수 있어요.
@@TheEasyoung 그렇다면 계속해서 자기 자신에 대한 어탠션 값이 항상 높게 나온다면 다른 단어 간에 연관성은 어떻게 도출될 수 있나요? 여러 번의 멀티헤드어탠션을 통해 다양한 관점으로 어탠션을 구한다고 하셨는데..이 부분이 아직 잘 이해가 안 갑니다!
어텐션 레이어 이후 토큰은 여러 단어의 어텐션이 결합된 벡터가 되고, 이 벡터는 5본 연속 더 어텐션 레이어를 통과되면서 단어 그자체가 아닌 어텐션을 통과한 여러단어들이 고려된 하나의 벡터가 됩니다. 그리고 멀티 헤드 어텐션을 통해 다른 관점에서의 여러 관점으로 해석된 벡터가 합쳐집니다. 그리고 어텐션 역시 학습 과정을 통해 최적화되기 때문에 상황에 따라 자기 자신 뿐 아니라 어떤 다른 단어에 더 큰 어텐션을 줘야할 지 모델이 스스로 학습합니다.
@@TheEasyoung 아하...이제 서서히 이해가 되는 것 같습니다..ㅎ 자세한 설명과 강의 정말 감사드립니다 :)
Best of the Best!
much obliged
성능도 좋고 학습속도도 빠르다.
강의 너무 잘 들었습니다 허민석님!! 혹시 강의 보고 공부한 내용 블로그에 정리해도 될까요?😢😢
네 출처 넣어주시고 블로그에 정리해주세요. 감사합니다
@@TheEasyoung 넵 감사합니다!!
6개의 encoder가 가중치를 서로 공유하지 않고 따로 학습이 되고, 마지막 6번째 encoder layer의 출력값이 최종 transformer의 입력값이 된다고 하셧는데요. encoder가 서로 가중치를 공유하지 않는데 6개의 encoder를 학습시키는게 어떤 의미가 있나요?? 어차피 마지막 하나 encoder의 출력값만 사용하는데 그럴꺼면 애초에 하나의 encoder만 사용하면 되지 않나요?
RNN 에서도 여러 RNN셀을 스택하여 사용하기도 합니다. 인코더 하나를 쓰는 것보다 여러개를 통과시켜 최종값을 사용하는 게 계산량이 많이 필요한 작업에 효율적일 수 있습니다.
안녕하세요! 항상 감사히 보고있습니다. 공부하다가 해결하지 못한 의문점이 있어 질문을 남겨봅니다...
첫째는,, Scaled-Dot product에서 쿼리와 키를 내적해서 similarity를 구한다고 보았는데, qk^t/|q||k|와 같이 정규화를 하지 않아도 되는 이유가 있는 것인가요?
단순 내적이라면 벡터의 magnitude에 따라서 값이 들쑥날쑥하여 유사도를 제대로 알 수 없을 것이라는 생각이 들어서요ㅠ
또 하나는 포지셔널 인코딩에서 왜 concat이 아닌 addition일까 하는 부분입니다. 물론 인풋과 아웃풋의 shape을 맞춰야 한다는 것은 알겠지만, 워드 임베딩을 거치고 난 후 포지션값을 더 해버리면 모델 입장에서 이게 위치정보가 더해서 늘어난것인지 아니면 애초부터 그렇게 임베딩된 것인지 어떻게 구분할 수 있냐는 점이 혼란스러웠습니다.
이에 대해 설명이 있으시다면 정말 감사하겠습니다ㅠㅠ!
감사합니다!!!!!!!
안녕하세요! Q, K, V가 아직 이해가 잘 안되어서 질문 드립니다.. Q는 그냥 질문, K는 질문에 대한 정답, V는 실제 단어에 대한 값(?) 정도로 이해하고 있는데.. 그렇다면 Q, K, V는 같은 문장이라면 한 단어에 대해서 항상 일정한 값을 가지나요? 어떻게 벡터가 산정되는지 궁금합니다..
트랜스포머는 포지셔널 인코딩으로 RNN의 재귀적 학습방식을 없앴다.
질문 있어요.
1. multi-head attention이 언어의 모호함을 인코딩과 디코딩을 통해서 도와준다는 건 이해했습니다. Jay 아저씨 글 읽고 왔는데요. 여기서 additional matrix WO 가 뭔가요? 8개의 self attention 으로 각각 key query 그리고 value 매트릭스가 나와 z 매트릭스를 8개 concatenate 시켜서 WO 에 곱해준다는데 좀 헷갈려서요. 10:45 쯤에 역전파 말씀하시는데 설마 back propagation 말씀하시는 건가요? 그럼 WO가 러닝으로 옵티마이징 되는 웨이트란 소린데 아저씨 글에 따르면 activation function이 softmax같구요. 맞나요? 인코딩이랑 디코딩 제가 이해한 거는 query 는 "난 널 사랑해"의 백터 모양이구 key 는 "I love you" 의 백터 모양으로 알았는데 (만약 맞다면) value 는 뭔가요?
2. Backpropagation 을 통해 positional encoding이 손실 된다는 말 그리고 그걸 막기 위해 residual connection이 어떻게 사용되는지 이해가 안되요... ㅜㅜ
3. 마지막으로 decoding 의 첫번째 레이어인 masked multi-attention (related to masking future position) 이 이해가 안갑니다. 인투이티브하게 설명 부탁드려요.
정말 감사드립니다.
Jay 아저씨 글 출처: jalammar.github.io/illustrated-transformer/
WO는 최초 입력벡터와 동일한 shape로 변형하기 위한 매트릭스입니다. Softmax는 가장 마지막 레이어에만 존재합니다. WO는 softmax를 사용하지 않습니다. Value는 해당하는 목적에 맞는 의미를 가진 벡터입니다. Key가 단어 자체의 임베딩이라면 value는 목적에 맞는 벡터입니다. 레지듀얼은 곱셈이 아닌 덧셈이기 때문에 역전파에 영향을 받지 않습니다. 마스크 어텐션 레이어는 현재 가진 정보만을 활용하기 위해 미래의 값을 계산에 포함 안하기 위한 과정입니다. 감사합니다.
안녕하세요. 좋은 강의 자료로 설명을 해주셔서 이해가 정말 잘 됐습니다. 혹시 질문을 드리자면 5:42 에 보면 '학습데이터 중 가장 긴 문장보다 더 긴 문장이 실제 운용중에 들어와도 에러 없이 상대적인 Encoding의 값을 줄 수 있다' 라는 말이 이해가 잘 되지 않아서요. 추가 설명 해주실 수 있는지요? 혹시 Positional Encoding이 -1에서 1로 상대적인 값(정규화?) 을 취하기 때문에 가능하다는 것인지 문의드립니다.
positional encodiong을 함으로써 학습데이터보다 더 긴 테스트 데이터가 들어와도 인코딩이 잘된다는 말을 하는것 같네요! (뇌피셜) 그러니까 실제 인퍼런스 할때에 학습데이터(문장)보다 더 긴 문장이 모델에 들어갔을때도 인코딩이 잘 된다고 말하는것 같아요
layer 1 Decoder의 attention의 key, val weight는 layer 1 Encoder의 key, val weight인가요? (query weight만 자체적으로 재 학습하고요? 이것 역시 각 layer별로 새로운 query weight인것이죠?)
다시 말해, layer 2 decoder의 key, val weight는 layer 1이 아닌 layer 2 encoder의 key val weight인건가요?
레이어마다 고유의 weight를 갖고 있습니다. Layer2 decoder와 layer2 encoder의 key, value, query 역시 동일하지 않습니다. 감사합니다.
@@TheEasyoung 빠른 답변 매우 감사합니다.
그렇다면, 13분 34초에서 decoder의 multi head attention에서 decoder의 input을 query로 보고, encoder 의 최종 출력물을 key, value로 보신다고 하였는데요,
그럼 저 두개의 entity(key, value)는 encoder의 뭐가 되는 걸까요? encoder의 최종 출력물은 각 word들의 embedding 된 벡터이자, 문장 embedding matrix 아닌가요? 그리고 최종 결과물은 하나로 생각되어 재질문 드립니다 ^^
@@jaegyunkim279 인코더의 k, v는 디코더에서 보낸 쿼리에 각각의 단어마다 얼마만큼의 어텐션을 줄 것인 지 결정하는 데 사용됩니다. k, v, q는 각 레이어에 있는 파라미터(weight)입니다. 인코더의 최종 출력물은 셀프 어텐션이 적용된 각 단어의 임베딩으로 보셔도 됩니다.
Minsuk Heo 허민석 감사합니다만 여전히 이해가 안되는 부분이 있는데요.
디코더에서 보낸 q에 인코더에서의 k를 적용하여 어텐션을 계산하고 인코더의 v를 이용하여 최종적인 임베딩을 구하는 거라면, 인코더의 kv는 디코더에서 공유가 되는것 아닌가요?
아 그런 의미에서는 공유되는 게 맞습니다. 디코더 내부에 보시면 두개의 어텐션 레이어가 있습니다. 하나는 셀프 어텐션이고 (인코더 k,v를 공유하지 않음), 다른 하나는 이해하시고 계신 인코더의 k,v에 의존하는 어텐션 레이어입니다.
어텐션 모델은 옛날의 HMM(히든 마코프모델)의 데이타 학습버전이다. 라는 표현이 있던데..어찌 생각하시나요?
글쎄요. 어텐션은 트랜스포머가 사용하는 하나의 메카니즘이고 그 메카니즘의 변수를 학습합니다. 제가 따로 HMM과 비교해서 연구해본 일은 없습니다. 감사합니다.
와.......와.........와.........
이 슬라이드를 참고해 공부하고 싶은데 드롭박스에는 이 슬라이드가 없는 것 같습니다ㅜㅜ 어디서 볼 수 있을까요?
.key 파일 없나요? 맥에서 만들어서 .key 파일로 저장되어 있을 겁니다.
안녕하세요 좋은 영상감사합니다.!
질문이 하나 있는데 혹시 encoder 에서의 outputs 과 다음 cell 에 넘겨주는 states 값은 같은 값인거죠 ?!
영상 중 몇초 정도의 슬라이드에서 질문 주신 건지 알려주시면 더 정확히 답변 가능합니다. 다만 트랜스포머에서 다음셀에 현재 셀의 아웃풋을 전달하지 않습니다. 트랜스포머의 장점이지 특징이 모든 셀이 한번에 계산되는 거구요, 모든 셀은 동시에 k,q,v 행렬을 사용해 계산됩니다.
이게 3년전...?!!
딥러닝의 특성은 초병렬성, 비선형성, 그리고 전이성 이라고 생각됩니다.신경망의 1차 비선형 혁명은 활성함수.신경망의 2차 비선형 혁명은 콘볼루션.신경망의 2.1차 비선형 혁명은 어텐션.
9:57 무슨 문장이라고 하신건가요? 계속 들어봤는데 모르겠네요ㅜㅜ
'사람의 문장은~' 이라고 하신 거 같습니다
6:30 에 나오는 Wq, Wk, Wv는 모두 다른 가중치로 보는게 맞는건가요?
네. 각각 다른 가중치입니다.
@@TheEasyoung 감사합니다 :)
13:18
구조 자체 이해하는 데는 어떤 영상보다 너무 너무 도움이 되었어요. 이 영상보다 약간의 low level 디테일에 대해서는 여기서 같이 보니까 이해가 잘 됐어요 !! czcams.com/video/tstbZXNCfLY/video.html
알찬 강의 감사합니다 선생님! 근데 발음이 너무 새여 ... 아무튼 고마워요
피드백 고마워요!
감사합니다!!!!!