[Deep Learning 101] 트랜스포머, 스텝 바이 스텝

Поділитися
Вставка
  • Опубліковано 8 вер 2024
  • 안녕하세요, 여러분! 이번 영상에서는 트랜스포머 모델에 대해 다뤄보겠습니다. 트랜스포머 모델은 현대 딥러닝의 방향에 큰 영향을 미친 중요한 모델입니다. 이런 중요한 모델을 복잡한 수식이나 추상적인 설명 대신, 각 단계와 모듈이 어떻게 작동하는지를 실제로 풀어가며 눈으로 확인할 수 있도록 준비했습니다. 또한, 중요한 개념들을 직관적으로 이해할 수 있도록 추가 설명도 포함했습니다. 트랜스포머가 어렵고 멀게 느껴지셨다면, 이번 영상을 통해 트랜스포머 내부에서 일어나는 연산 과정을 이해하는 데 도움이 되실 것입니다.
    #트랜스포머 #딥러닝 #자연어처리 #AI #인공지능 #머신러닝 #DeepLearning #Transformer #자기어텐션 #SelfAttention #NLP #강의 #기초강의

КОМЕНТАРІ • 35

  • @user-xz2oy8bn8k
    @user-xz2oy8bn8k Місяць тому +2

    와 진짜 수많은 설명영상들을 봤지만 이 영상이 원탑 같습니다.
    단순히 모델의 층을 수학적으로 쭉 나열하는게 아니라 구체적인 수치와 동작 방식을 통해 그 실질적인 역할까지 가늠하게 만듭니다!
    친절한 영상 감사합니다!

    • @phdshinAI
      @phdshinAI  Місяць тому

      네 시청해주시고 힘이되는 응원해주셔서 감사합니다. 앞으로도 유익한 영상 많이 올리도록 노력하겠습니다. 많은 시청 부탁드려요. 감사합니다!

  • @yeonthug3549
    @yeonthug3549 Місяць тому +1

    굉장히 이해하기 쉽게 잘만들어주셨습니다. 많은 사람들이 봤으면 좋겠네요.

    • @phdshinAI
      @phdshinAI  Місяць тому

      넵 시청 감사드립니다! 주변에 필요하신분들께 알려주시면 감사하겠습니다!😀

  • @Dddd-d5k
    @Dddd-d5k 3 місяці тому +1

    너무 감사합니다. 큰 틀을 잡는데 도움이 많이 됐어요 앞으로도 좋은 강의들 많이 부탁드려요!!!

    • @phdshinAI
      @phdshinAI  3 місяці тому

      네 시청해주셔서 감사합니다. 도움이 되셨다니 저도 보람이 있습니다.ㅎㅎ 많은 시청 부탁드립니다!

  • @user-fe3ky3bu8u
    @user-fe3ky3bu8u 3 місяці тому +1

    선생님 우연한 기회로 채널을 접하게 되었는데, 항상 수치적인 예시를 들어주어서 이해가 정말 잘 되고 정말 많은 도움 받고 있습니다! 앞으로도 좋은 영상 많이 부탁드립니다. 정말 감사합니다 !! :)

    • @phdshinAI
      @phdshinAI  3 місяці тому

      도움이 되신다니 저도 영상 올리는 보람이 느껴집니다. 앞으로도 많은 시청 부탁드려요. 주변에도 많이 소개해주세요. 감사합니다!

  • @user-kimnaver
    @user-kimnaver 3 місяці тому +1

    정말 항상 감사합니다. 영상 보고 감이 진짜 잘 잡힙니다.
    정말 존경합니다 박사님

    • @user-kimnaver
      @user-kimnaver 3 місяці тому +1

      근데 Deep Learning 101의 101은 무슨 뜻인가요?

    • @phdshinAI
      @phdshinAI  3 місяці тому +1

      네 도움이 되셨다니 저도 기쁩니다! 응원해주셔서 감사합니다 저도 힘이납니다 ㅎㅎ

    • @phdshinAI
      @phdshinAI  3 місяці тому +1

      아 그리고 101이라는 말은 원래 학부 수준의 개론서를 뜻합니다 건축학개론 = Architecture 101 이렇게 되듯이 말이죠. 그런뜻에서 출발해서 기초를 가르치는 과정이나 차근차근 가르쳐주는 설명을 비유하여 “어떤과목 101”이라는 말을 쓰기도 합니다. 그래서 여기도 그렇게 플리 이름을 붙여봤습니다..😊

  • @diarkim
    @diarkim 3 місяці тому +1

    감사합니다~

    • @phdshinAI
      @phdshinAI  3 місяці тому

      시청해 주셔서 감사드립니다.

  • @jooonmantv
    @jooonmantv 3 місяці тому +1

    좋은 영상 감사합니다~

    • @phdshinAI
      @phdshinAI  3 місяці тому

      저도 감사합니다! 앞으로도 많은 시청 부탁드립니다😊

  • @bopark1783
    @bopark1783 3 місяці тому +2

    감사합니닷!!!!!!!!!!

    • @phdshinAI
      @phdshinAI  3 місяці тому

      앗 네 시청해주셔서 감사합니다!

  • @user-hd8fo3kj8o
    @user-hd8fo3kj8o 3 місяці тому +2

    강화학습 PP0에 대한 강의도 부탁드립니다. 늘, 자세한 강의 감사드립니다.

    • @phdshinAI
      @phdshinAI  3 місяці тому +1

      네 시청해주셔서 감사드립니다~ 강화학습은 하려고 생각하고는 있습니다 그러나 기본적인 핵심 개념위주로 PPO나 q-learning 등을 두루 다루도록 하겠습니다. 지금 제가 먼저 다루어야할 모델들이 많아서 인내를 갖고 조금만 기다려주세요. 감사합니다!

    • @user-hd8fo3kj8o
      @user-hd8fo3kj8o 3 місяці тому +2

      @@phdshinAI 먼저 다루어야 할 모델들도, 기쁘게 천천히 공부하면서 시청하도록 하겠습니다. 영상 모두 기본적인 핵심 개념 위주로 다루어 주셔서 늘, 진심으로 감사드립니다.^^

    • @phdshinAI
      @phdshinAI  3 місяці тому +1

      앗 네 감사합니다!!

  • @user-lp1zp5rl9d
    @user-lp1zp5rl9d 3 місяці тому +1

    이번 주에 딱 트랜스포머 공부했는데 복습해야겠네요.
    트랜스포머는 한 번 공부해서는 이해 안되는 듯요..
    감사합니다.

    • @phdshinAI
      @phdshinAI  3 місяці тому

      화이팅입니다! 앞으로도 많은 시청 부탁드립니다. 감사합니다!

  • @user-td6xi7jg8c
    @user-td6xi7jg8c 3 місяці тому +1

    이 모델을 논문도 여러번 보고 코드도 여러번 실행해봤지만 쉽진않네요 ㅋㅋ😂

    • @phdshinAI
      @phdshinAI  3 місяці тому

      네..ㅠㅠ 저도 피상적이지 않게 하지만 최대한 쉽게 풀어보려고 노력했는데ㅠ 결코 쉬운 모델은 아닌거같습니다ㅠ

  • @user-vq1to6qg2c
    @user-vq1to6qg2c Місяць тому +3

    16:16
    Q,k,v 행렬윽 만들기위해 곱하는 6x6 행렬은 어떻게 정해지나요?

    • @phdshinAI
      @phdshinAI  Місяць тому +1

      네 안녕하세요. 6x6 행렬은 일종의 가중치처럼, 처음에는 랜덤하게 주어진다고 보시면 됩니다. 감사합니다~

  • @KungYaTube
    @KungYaTube 26 днів тому +2

    7분 34초에 왜 갑자기 6x6행렬이 생성되는지 이해가 안됩니다 추가 설명 부탁드려도 될까요?

    • @phdshinAI
      @phdshinAI  24 дні тому

      네 안녕하세요 6x6 행렬은 일종의 가중치 값들처럼 셀프어텐션 값을 학습을 통해 구할수 있도록 주어지는 내부 값입니다. 저 행렬이 학습가능한 행렬로써 트랜스포머의 핵심 레이어중 하나입니다 ☺️

  • @spring_e_na
    @spring_e_na Місяць тому +1

    안녕하세요~ 강의 너무 잘 보고있습니다!
    혹시 입력 임베딩이 하는 역할이 잘 이해가 가지 않는데, 조금 더 자세히 설명해주실 수 있나요??
    전체 단어들을 길이가 6인 밀집벡터로 압축시키는건 알겠는데, 그게 각 단어들인 [5, 8, 9]랑은 어떤 연관이 있는지 잘 모르겠어서요ㅠㅜㅠ

    • @phdshinAI
      @phdshinAI  Місяць тому +2

      네 시청해주셔서 감사합니다. 질문도 아주 좋은 질문입니다. 가장 쉽게 생각하자면 일종의 전화번호부같은 (요즘도 그런게 있는지는 모르겠지만, 예전에는 공중전화부스나 집에도 다 하나씩 있었다는..) 것으로 생각하시면 될것 같아요. 전체 단어들을 길이가 6인 밀집벡터로 압축시키는 것을 안다고 하셨는데, 그럼 사실 다 아시는 거에요. 예를들어, 전체 단어길이가 11, 그리고 길이가 6인 밀집벡터라면, 다음 명령어로 랜덤 벡터 행렬을 만들수 있어요. np.random.rand(11,6). 그렇죠? 그러면 행이 11, 그리고 열이 6개인 0과 1사이의 랜덤값으로 이루어진 행렬이 나오겠지요? 이 한줄 코드가 전체 단어들을 길이가 6인 밀집벡터로 압축시키는 것이며 이 코드 결과물 그 자체가 그냥 단어임베딩이에요. 그러면 5번 단어를 고르려면, 그냥 이 단어임베딩 (행렬)에서 5번째 행에 해당하는 길이 6인 벡터 하나를 선택하여 리턴하는 것이죠. 8번 단어는 8번째 행에 해당하는 벡터를 리턴하는 것이구요. 단어임베딩의 목표가 단어를 딥러닝 모델이 알아먹도록 숫자로 바꾸는 것인데, 정수보다는 소수가, 일차원 숫자 보다는 다차원의 벡터가 더 유리하니 그렇게 바꾸는 것 뿐이에요. 차원을 높일 때, 가장 안겹치고 단어와 단어의 뚜렷한 구분을 두게 하는 방법중 하나가 one-hot 인코딩이에요. 그런데 아시다시피 one-hot인코딩은 메모리낭비가 너무 심하기 때문에, 단어임베딩 방식으로 단어들을 처리하게 된 것입니다. 단어임베딩 같은 경우는, one-hot 인코딩 처럼 뚜렷한 구분이 되지는 않더라도, 단어행렬 벡터의 크기가 one-hot보다 작아서 상위 모델에서 더 복잡한 처리를 할 수 있게 하는 장점이 있지요. 좋은 질문 감사드려요~!

    • @spring_e_na
      @spring_e_na Місяць тому +1

      @@phdshinAI 헉 자세히 설명해주셔서 너무 감사합니다ㅠ 제가 잘못 이해하고 있었던거 같아요 이제 제대로 이해했습니다!!!
      이제 입력이 언어로 들어가는건 올려주신 강의 덕분에 너무 쉽고 빠르게 이해하고 있는데요, 찾아보니까 vision transformer(ViT)도 있더라구요?! 만약 강의를 계획하고 계시다면 꼭 듣고싶습니다!!
      항상 감사드리며 오늘도 좋은 하루 되세요~☺️

  • @junec1031
    @junec1031 24 дні тому

    트랜스포머가 영어->한국어 번역을 한다면, 인코더의 입력은 영어고 디코더 출력은 한국어일텐데 그러면 인코더는 영어에 대한 어텐션을 구하고 디코더는 한국어에 대한 어텐션을 구할거라고 보입니다. 이런 상황에서 디코더 부분에서 인코더의 Q/V 를 가져와서 디코더의 K 와 합치는데 문제는 이러면 Q/V는 영어에 대한 어텐션이고 K는 한국어에 대한 어텐션인데 이렇게 다른 언어의 내용을 가져와서 합치는건데 이게 맞나요? 이렇게 다른것끼리 합쳐도 잘 결합되나요?

    • @phdshinAI
      @phdshinAI  23 дні тому

      네 잘 보신대로 영어는 영어대로 셀프 어텐션이 학습이 되고 한국어는 한국어대로 되는것이 맞습니다 그런데 그 두 문장이 연결이 되서 학습이 되는 이유는 트랜스포머 학습 과정이 (영문장, 한어문장)이렇게 쌍으로 pair가 되어 강제적으로 그 둘을 엮어서 학습을 시키기 때문입니다. 그럴경우 역전파와 경사하강법의 콜라보로 두 언어체계의 어텐선이 서로 연결이 되고 그렇게 계속 학습할 경우 pair 쌍들에 대한 관계성을 학습하게 됩니다. 이게 트랜스포머 학습의 중요한 포인트입니다. 그래서 이렇게 두 언어쌍 혹은 챗봇의 경우라면 질문-답변 쌍 처럼 쌍으로 잘 매치가 된 방대한 양의 데이터를 구축하는 것이 트랜스포머 계열의 언어모델의 학습에서는 필수적입니다. 이 부분이 현재 언어모델의 강점이자 단점이 될수도 있겠지요. 인간의 경우는 외국어를 제외한 모국어의 경우는 물론 질문과 대답같은 문장쌍을 학습하는 경우도 있지만 대부분의 경우는 자연스런 대화와 읽기를 통해 대답할 말을 자연스럽게 찾게 되는데 이런부분이 아마 다음 단계의 언어모델이 갖는 기능이 되지 않을까 합니다. 좋은 질문 감사합니다