▼ 영상 외 자료들 / 정보 공유 cafe.naver.com/imcommit *프로그래밍 학습 전 적성에 맞는지 확인하고 싶다면?* codingvillainkor.github.io/studying_python/ 영상 animation은 3Blue1Brown의 open source 라이브러리 manim을 사용하였습니다. 본 영상 소스를 만든 코드는 github.com/CodingVillainKor/manim-kor 에서 확인할 수 있습니다. 이번 영상은 Attention과 Transformer 시리즈 영상을 종합한 영상입니다
수주 동안 attention과 transformer이 동작원리(Q, K, V)를 찾아헤맸는데 오늘 바로 여기서 발견했네요. 얼마 안된 알고리즘이라 그런진 몰라도 제대로 설명해논 유튭영상이 씨가 말랐습니다. 이 분 채소 천재이고 transformer에 의한 기계번역의 본질을 꿰뚫은 분입니다. 영상 강추추추입니다!!!
전체적인 설명과 중간중간 디테일한 내용까지 너무 도움 많이 됩니다, 감사합니다. 다만 영상 앞부분에 있는 query와 특히 key, value에 대해서 조금 더 설명해주실 수 있을까요. 입력문장을 잘게 쪼개는 토큰화라던가, 중간쯤 가면 key는 query에 있는 토큰을 제외한 다른 토큰들을 의미하는것 같은데 맞을까요.
영상 잘 보았습니다만, 한가지 질문을 드려도 될런지요? Transformer에서는 결국 어떤 파라미터를 조정하여 결과값에 fitting을 하는 걸까요? CNN, RNN에서는 input~output사이에 존재하는 수많은 W(weight)들을 조정하는 과정을 역전파, 경사하강법 등을 통해 보여주는데요, Transformer는 Attention 설명에 집중하느라 이 부분 설명해논 영상이 거의 없는 것 같습니다. Self-attention 수행할 때 embedding vector간 내적(단어간 유사도를 구하기 위해)을 구하는 게 핵심인데 이 말인 즉, 각 단어별 embedding vector가 이미 유의미한 형태를 띄고 있는 건지요? 예를 들어 input 문장 중에 나오는 animal과 it이 이미 서로 유사해서 내적하면 드러나게 되는 것인지...이해하기가 참 어렵네요. ㅜㅜ 미리 감사합니다.
좋은 질문이라고 생각합니다. 영상에 그 부분 설명이 없네요. 나중에 한 번 다뤄보겠습니다. 질문해주셔서 감사드립니다. 잘 전달이 될지는 모르겠지만 글로 먼저 전달드리면, 1. 영상의 설명대로 query와 key의 내적(-> softmax)이 value의 weighted-sum의 weight로 사용됩니다. 2. query vector와 key vector, 그리고 value vector는 모두 각자 linear network를 거쳐나온 vector입니다. 해당 linear network들을 각각 W_q, W_k, W_v라고 하겠습니다. 3. W_q, W_k는 입력으로 받은 vector가 각자(each other)와 관련된 것들끼리 내적값이 높아지도록, 즉, 내적에만 특화되도록 학습됩니다 4. W_v는 weighted sum으로써 attention의 output입니다. 따라서 W_v가 모델의 task와 관련된 정보를 갖고 있습니다 따라서 Attention도 Weight(W_q, W_k, W_v)가 있으며 CNN, RNN과 마찬가지로 역전파, 경사하강법으로 학습됩니다
어텐션스코어들을 소프트맥스시킨것들을 v 벡터들에 대한 웨이팅으로 이해는 할수 있으나 이 웨이팅들은 다른 선형변환과정에 숨어있는 웨이팅이나 바이어스 파라미터처럼 백프로퍼게이션으로 업데이트되는 파라미터들이 아니라 고정된 파라미터들임. 대신 q,k,v 를 만들어낼때 쓰는 wq,wq,wv의 웨이트들이 업데이트됨. 트랜스포머 개념은 어텐션뿐아니라 크로스어텐션, 인코딩/디코딩, 포지셔널 인코딩 개념들이 모두 다 쉽지 않습니다.
▼ 영상 외 자료들 / 정보 공유
cafe.naver.com/imcommit
*프로그래밍 학습 전 적성에 맞는지 확인하고 싶다면?* codingvillainkor.github.io/studying_python/
영상 animation은 3Blue1Brown의 open source 라이브러리 manim을 사용하였습니다.
본 영상 소스를 만든 코드는 github.com/CodingVillainKor/manim-kor 에서 확인할 수 있습니다.
이번 영상은 Attention과 Transformer 시리즈 영상을 종합한 영상입니다
수주 동안 attention과 transformer이 동작원리(Q, K, V)를 찾아헤맸는데 오늘 바로 여기서 발견했네요.
얼마 안된 알고리즘이라 그런진 몰라도 제대로 설명해논 유튭영상이 씨가 말랐습니다.
이 분 채소 천재이고 transformer에 의한 기계번역의 본질을 꿰뚫은 분입니다.
영상 강추추추입니다!!!
얼마 안됐다고 하기엔...
안녕하세요 매일 아침 일찍 출근해서 논문 공부하고 있습니다.
이번 주까지는 임커밋님 Transformer 영상으로 기초 잡으려고 합니다.
감사합니다.
오늘도 복습하러 왔습니다.
잘 들었습니다.
좋은 영상 감사합니다 덕분에 기말 트랜스포머 외부지문 날로 먹었어요
와 이집 잘하네
앞으로 좀 많이 올려주십쇼 딥러닝 장님 눈좀 뜨게 ㅠㅠ
Transformer에 대해서 가장 이해하기 쉽게 설명한 영상입니다! 다른 좋은 자료도 기대할께요!
고생이 많으십니다
영상 너무 멋집니다 이해가게 설명도 잘 되어있어서 도움이 많이 되었습니다 구독 박고 갑니다!
정말 유익하게 잘 보았습니다.
다른 모델들도 차근차근 꾸준히 살펴볼게요. 감사합니다.
한국어 자료 중에 이 영상만 한게 없는 것 같네요 ! 잘 봤습니다 :)
와우우우우 !!! 대박 영상 너무 멋져요 ~~~
편집 너무 재밌어요!! 3부작 끝까지 봤는데 이해가 쏙쏙되네요 ㅎㅎㅎ 감사합니다☺
알기 쉽게 설명한 영상 감사합니다.
뜨끈한 순대국밥과 함게 잘 보겠습니다. 영상 감사해요!
3brown 첨봤을때의 감동을 여기서 느낌.. 영상 퀄도 퀄인데 전달력이 미치신거같아요 정말 잘 이해했어요 감사합니다
옛날에 봤을 때에도 진짜 설명 잘하신다고 느꼈는데, 다시봐도 설명 정말 잘하시네요. 딕션도 좋으시고.. 정말 감사합니다.
덕분에 전체적인 흐름이 이해되었어요 정말 유용합니당!! 좋은 영상 많이 만들어주세요=)
쉬운 설명 너무 감사드려요!!! 감동했어요
트랜스포머 이해못하겠어서 봤더니, 아주 기깔나네요
정말 잘 정리된 개념이네요. 잘 보았습니다.
집중력 떨어질 때 쯤 "아 퇴사 하고 싶다"에서 정신 번쩍 들게 해주시네요...
지금 20퍼센트정도 보고있는데 설명이나 애니매이션 퀄리티 개쩔고 이사람 천재인가? 생각했는데 애니메이션 라이브러리가있군요 완전신기하네요 ㄷㄷ
까막눈인데 뭔지 느낌이 옵니다..감사합니다❤❤
영상 퀄 너무 좋아요 잘봤습니다.
최고의 설명입니다🎉
감사합니다. 많은 도움이 되었습니다!
강의 정말 너무 좋아요.굉장히 큰 도움이 됐습니다. 감사합니다!!
아 굉장히 좋은 자료인데... 시청수가.. 더 알려져야합니다
진짜 너무 감사드립니다. 영상 정말 잘봤습니다.
너무 설명잘하시는데 비전 트랜스포머도 설명해주시면 정말 감사하겠습니다!
어우 맛있어 ㅋㅋ
든든하게 잘 먹었습니다~^_^
엄청납니다
최고입니다....
감사합니다....... 은인이십니다....
24:04 여기서 한 번에 밀어넣는다는게, Batch를 한 문장에서 Decoder에 입력하는 단어를 하나씩 늘려가는 형태로 정한다는 건가요?
질문이 중의적이어서 정확한 의미는 모르겠으나 제 설명에서 batch와 관련된 설명은 없습니다. 영상의 설명은 Decoder의 입력에 전체 문장이 들어가며, 이 입력은 batch와 관련해서는 한 샘플입니다
@@임커밋 감사합니다! 여러 영상이랑 글들 참고하며 관련 개념들 정리하고 있는데 뼈대를 잡는데에 정말 큰 도움이 되고 있습니다.
도움이 많이 됩니다. 감사합니다.
오랜만에 다시 복습하러 왔습니다...!
영상 최고예요!!!!!!! ❤
내일아침에 봐야지 ㅎㅎ
전체적인 설명과 중간중간 디테일한 내용까지 너무 도움 많이 됩니다, 감사합니다. 다만 영상 앞부분에 있는 query와 특히 key, value에 대해서 조금 더 설명해주실 수 있을까요. 입력문장을 잘게 쪼개는 토큰화라던가, 중간쯤 가면 key는 query에 있는 토큰을 제외한 다른 토큰들을 의미하는것 같은데 맞을까요.
설명이 다른 영어 유튜브 동영상들과 비교해서도 상당히 좋네요. 근데 포지셔널 인코딩이나 포지셔널 임베딩 부분은 보충설명을 추가해도 좋을듯.
진짜 너무 머시썽
이해 너무 잘됩니다악
혹시 영상을 어떤 프로그램으로 만드시는제 물어봐도 될까요??ㅜ
설명란에 설명되어있습니다.
3b1b의 오픈소스 리이브러리인 manim을 사용하신다네요
@@kdh8219아 휴대폰으로 보다보니 댓글만 보았네요 알려주셔서 감사합니다.!
key도 그 토큰이고, value도 그 토큰일건데 굳이 따로 하는 이유가 뭘까요?
영상 잘 보았습니다만, 한가지 질문을 드려도 될런지요?
Transformer에서는 결국 어떤 파라미터를 조정하여 결과값에 fitting을 하는 걸까요?
CNN, RNN에서는 input~output사이에 존재하는 수많은 W(weight)들을 조정하는 과정을 역전파, 경사하강법 등을 통해 보여주는데요,
Transformer는 Attention 설명에 집중하느라 이 부분 설명해논 영상이 거의 없는 것 같습니다.
Self-attention 수행할 때 embedding vector간 내적(단어간 유사도를 구하기 위해)을 구하는 게 핵심인데
이 말인 즉, 각 단어별 embedding vector가 이미 유의미한 형태를 띄고 있는 건지요?
예를 들어 input 문장 중에 나오는 animal과 it이 이미 서로 유사해서 내적하면 드러나게 되는 것인지...이해하기가 참 어렵네요. ㅜㅜ
미리 감사합니다.
좋은 질문이라고 생각합니다. 영상에 그 부분 설명이 없네요. 나중에 한 번 다뤄보겠습니다. 질문해주셔서 감사드립니다.
잘 전달이 될지는 모르겠지만 글로 먼저 전달드리면,
1. 영상의 설명대로 query와 key의 내적(-> softmax)이 value의 weighted-sum의 weight로 사용됩니다.
2. query vector와 key vector, 그리고 value vector는 모두 각자 linear network를 거쳐나온 vector입니다. 해당 linear network들을 각각 W_q, W_k, W_v라고 하겠습니다.
3. W_q, W_k는 입력으로 받은 vector가 각자(each other)와 관련된 것들끼리 내적값이 높아지도록, 즉, 내적에만 특화되도록 학습됩니다
4. W_v는 weighted sum으로써 attention의 output입니다. 따라서 W_v가 모델의 task와 관련된 정보를 갖고 있습니다
따라서 Attention도 Weight(W_q, W_k, W_v)가 있으며 CNN, RNN과 마찬가지로 역전파, 경사하강법으로 학습됩니다
@@임커밋 답변 감사드립니다. (But, 아직 이해가 다 다르지 못한 상태입니다. ㅜㅜ)
후속 영상을 준비하신다면, 몇 cycle에 결친 학습과정을 통해 W들이 조정되면서 번역이 바로 잡아지는 과정을 보여주신다면 초심자들의 이해에 더없이 좋을 것 같습니다.
어텐션스코어들을 소프트맥스시킨것들을 v 벡터들에 대한 웨이팅으로 이해는 할수 있으나 이 웨이팅들은 다른 선형변환과정에 숨어있는 웨이팅이나 바이어스 파라미터처럼 백프로퍼게이션으로 업데이트되는 파라미터들이 아니라 고정된 파라미터들임. 대신 q,k,v 를 만들어낼때 쓰는 wq,wq,wv의 웨이트들이 업데이트됨. 트랜스포머 개념은 어텐션뿐아니라 크로스어텐션, 인코딩/디코딩, 포지셔널 인코딩 개념들이 모두 다 쉽지 않습니다.
형 고마워
17:51
9:31
지린다 형
와 존나 개쩐다 개잘이해했어요
16:34
엑 브랜딩 바꾸셧네요
이집설명잘하네~
왜 점점 텐션이 떨어져요...ㅠㅠ