어제 티스토리가 모바일로 들어가지길래
글도 못 쓰는 줄 알았는데
블로그 링크 옆에 글쓰기 버튼으로 접근이 되네;;
이미 하루가 지났으니 간략하게
어제 일을 정리해보자면
level 2 팀 회의를 하였고
이전 기수의 최종 프로젝트를 정리하였고
또 Transformer 부스트캠프 강좌를 수강하였다.
코딩 테스트 준비 채널 운영이나
level 2 팀 회의 및 프로젝트 준비나
diffusion study 스터디의 운영 미 일정 관리와 같은
책임감을 느끼는 활동들이 있는데
그 활동들이 착착 착착 진행되가는 느낌이라
매우 고무적이고 또 매우 뿌듯하다.
더 수준 높은 활동이 되도록 더 노력해야지 후후...
아, 그리고 코딩 테스트 문제는 하나 둘 풀고 있지만
관성적으로 풀고 있을 뿐이지
스스로의 수준을 높이고 있지는 않다는 느낌을 받았다.
활동들이 많아지고 우선 순위가 뒤로 밀리다 보니까 그렇게 된 것 같지만
다시 마음을 다잡아야지.
많은 분들께 도움되는 것도 좋지만 나 또한 발전해야 한다.
어제의 학습 내용을 정리하면서 마무리하겠다.
오늘도 화이팅이다!!!
Transformer
Query - 주어진 vector들 중에 어느 vector를 선별적으로 가져올지의 기준이 되는 vector
Key - 쿼리 벡터와 내적이 되어 유사도가 구해지는 재료 vector
Value - 가중치를 실제로 적용해서 가중 평균이 구해지는 재료 vector
각 역할에 따라 vector가 다른 형태로 변환할 수 있게 해주는 linear transformation matrix이
각각 따로 정의가 되어 있음.
같은 vector 내에서 세 가지 역할이 공유되는 제한적 형태가 아니라,
같은 vector 에서도 역할에 따라 다른 vector로 변환될 수 있는 확장된 형태로 사용됨
dk - 확률 분포를 고르게 만들어주기 위해서, 한 쪽에 치우치지 않게 만들고자, 분산을 일정하게 유지시켜줌으로써 학습 안정화
- softmax 값이 어느 한 쪽으로 치우쳐질 경우 gradient vanishing 문제 가능성
Layer Normalization, 학습 안정화, 성능 향상
Positional Encoding, attention
각 순서를 규정할 수 있는, 각 순서를 특정지을 수 있는, unique한, 지문과도 같은,
그래서 서로 다른 순서 간에 구별이 되는 특정한 상수 vector를 각 순서에 등장하는 word 입력 vector에 더해주는 것이고요
이것을 저희가 positional encoding이라 합니다.
이 위치에 따라 구별할 수 있는 vector를 이런 sine과 cosine 등으로 이루어진 어떤 주기함수를 사용하고,
그 주기를 서로 다른 주기를 써서 여러 sin 함수를 만든 후, 거기서 발생된 어떤 특정 x 값에서의 함수값을 모아서 위치를 나타내는 vector로 사용하게 됩니다.
이 순서를 구분하지 못한다는 self attention 모듈의 기본적인 한계점을
이렇게 위치 별로 서로 다른 vector가 더해지도록 함으로써
위치가 달라지면 결국 출력 encoding vector가 달라지도록 하는 방식으로 순서라는 정보를 Transformer 모델이 다룰 수 있도록 하였습니다.
masking은 attention을 모두가 모두를 다 보도록 허용한 후, 후처리적으로 보지 말아야 되는 뒤에서 나오는 단어에 대한 attention 가중치를 0으로 만들어주고 이후 value vector와 가중 평균을 내는 방식으로 attention을 변형한 방식
아래는 참고 자료:
'느린 일지 > 부스트캠프 AI Tech 4기' 카테고리의 다른 글
[학습 일지 / day 23] 보폭 맞추기 (0) | 2022.10.19 |
---|---|
[학습 일지 / day 22] 집중력 (2) | 2022.10.18 |
[학습 일지 / day 20] 새로움 (3) | 2022.10.15 |
[학습 일지 / day19] 미뤄둔 것 (0) | 2022.10.13 |
[학습 일지 / day18] 발표 (0) | 2022.10.12 |