2024년 패스트 캠퍼스 챌린지

패스트캠퍼스 환급챌린지 17일차 미션 (2월 17일) : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기

조이쓰 2024. 2. 17. 20:10

강의 내용 Review


📍배운내용📍

  • Transformer 
  • 추천시스템 평가지표 실습

👉강의내용👈

Transformer 

  • 어텐션이 어떻게 시퀀스의 정보를 파악하는 지, 장기 의존성 문제 해결 방법
  • 쿼리 키 벨류를 딕셔너리를 통해 살펴봄
  • Attention is all you need: 인코더와 디코더로 구성됨 
  • 다중 인코더와 다중 디코더를 쌓여있는 아키텍쳐 
  • 병렬적으로 처리가 가능해서 효율성이 높음 
  • 트랜스포머 기반의 모델의 파라미터 수가 계속 늘어나고 있음 
  • 자연어 처리, 시계열 , 테불러 데이터, 이미지등에서 모두 사용됨
  • RNN없이 어텐션 만으로 seq2seq를 처리 하는 개념 
  • 토큰으로 쪼개진 단어마다 룩업 임베딩 테이블을 통해 임베딩 벡터를 조회함
  • 위치 임베딩: RNN은 순차적인 입력이 필요한데 트랜스포머는 병렬적으로 처리하겠다는 아이디어
  • 포지셔널 인코딩을 통해 512차원의 임베딩을 더해서 위치정보를 더함 
  • 512차원이 논문에서 선정한 임베딩 크기 
  • 짝수 : sin함수  홀수 : cos함수 
  • 셀프어텐션: 바닐라 어텐션과는 다른, 스스로를 어텐션하겠다는 개념
  •  각각의 토큰의 임베딩으로 각각의 가중치를 곱해서 쿼리, 키 , 벨루를 구함 
  • 쿼리가 주워지면 키와 유사도를 계산하는 어텐션 스코어가 나옴 
  • 쿼리와 키값을 보고 가중치 많큼 벨류를 가져옴
  • input시퀀스 내에서 어떻게 스스로 어텐션을 해야지 더 좋은 표현을 만들수있을까?
  • 마지막에 유사도를 기반으로 벨류를 반영해서 최종 값을 얻어냄
  • 셀프어텐션: 유사도를 구하는 과정으로 시작함, 각각의 쿼리 키 벨류 메트릭스가 구해짐
  • 쿼리, 키 메트릭스를 트랜스포즈 해서 내적값을 구함, 하나의 엘리먼트가 내적값으로 구해짐 
  • 행렬로 처리했을때 한번에 효율적으로 계산가능 
  • 각각의 엘리멘트가 얼마나 참조하는가? 
  • 크기가 커지는 것을 막기 위해 스케일링 과정을 적용함 
  • 어텐션을 구하면 멀티 헤드 어텐션을 제안함 
  • 히든 디멘젼을 나눠서 넣음 90차원이면 30차원씩 나눔(어텐션 헤드가 3게일때)
  • 어텐션 메트릭스를 최종적으로 컨캔해서 사용 
  • 디코더 파트는 시퀀스가 들어가는데, 이미 나온것을 볼수있지만 아직 나오지 않는 부분은 어텐션 스코어에  마스킹을 함 
  • 다음 토큰을 모사하는 방법으로 표현 가능 

 

공부사진 


 

 

17일차 후기


트랜스포머의 내부동작이 어떻게 되는지 이해할수있는 시간이였다. 

 

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/48sS29N