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일차 후기
트랜스포머의 내부동작이 어떻게 되는지 이해할수있는 시간이였다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.