본문 바로가기
[인공지능] Positional Encoding이란? Positional Encoding을 사용하는 이유 📌 기존 Attention 병렬 연산연산 처리를 위와 같이 병렬로 한번에 처리할 경우, 효율적인 연산이 가능했음 [ 🚨 ]기존 RNN 계열의 모델의 경우 시간 순서대로 학습을 진행하기에 상관이 없었으나,Transformer 모델에서 문장을 한번에 처리하자 단어 간의 순서가 반영되지 않는 문제점 발생 언어는 시계열 데이터이기 때문에 문장에서 순서는 해석에 큰 영향을 끼침ex) 나는 고기를 먹었다 ≠ 고기는 나를 먹었다 ➡️ 각 단어 임베딩에 순서가 들어간 정보를 더해줌  📌 Positional Encoding위와 같이 positional embedding 수행 이때, Positional Encoding에는 몇가지 조건이 존재모델의 효율적인 학습을 위해 스케일이 어느정도 범위 내에 있어야 함input .. 2024. 3. 9.
[인공지능] Multi-head Attention이란? Multi-head Attention을 사용하는 이유 📌 Multi-head Attention이란?Query, Key, Value값을 한 번에 계산하지 않고 head 수만큼 나누어 계산 후나중에 Attention Value들을 합치는 메커니즘 즉, 분할 계산 후 합산하여 최종 Attention Value Matrix 생성  📌 Multi-head Attention 예시예를들어 [4 x 4]크기의 문장 임베딩 벡터와 [4 x 8]의 Query, Key, Value가 있을 때,일반적인 Attention 메커니즘은 [4 x 4] * [4 x 8] = [4 x 8]의 Attention Value가 한 번에 도출 그러나 Multi-head Attention 메커니즘은 위와 같은 구조로 계산 (head = 4)즉, head 수가 4개이므로 각 연산 과정이 4분의 .. 2024. 3. 9.
[인공지능] Self Attention이란? Self Attention 핵심 아이디어 및 계산 과정 📌 Self Attention이란?말그대로 자기 자신한테 Attention을 취함it이 가르키는 것이 위의 문장에서 animal인 것 등을 컴퓨터가 알기 쉽도록 하기 위함  📌 Self Attention의 핵심 아이디어Self Attention에서는 Query, Key, Value라는 3가지 변수 존재Query - 의문, Key - 열쇠, Value - 값을 의미물어보고, 키를 통해 최종 값을 얻는다고 생각하면 됨 예를들어, 512호에 들어가 슬리퍼를 가지고 오고자 할 때, “512호 예약자인데 어떻게 들어가나요?”라는 말이 Query, 이에 직원이 준 512호의 열쇠가 Key(Q와 K의 유사도 파악), 512호 내부에 존재하는 슬리퍼가 Value(유사한 만큼 V 가져오기)가 됨 Query, Key,.. 2024. 3. 8.
[인공지능] Attention이란? Attention 메커니즘의 상세 과정 및 사례 📌 기존의 seq2seq의 문제점seq2seq란 인코더 - 디코더 프레임워크로,인코더는 입력으로 input data를 받아 context vector로 변환 및 출력해주는 역할을 수행하며디코더는 반대로 context vector를 받아 output data를 출력해주는 역할을 함 [ 🚨 ]이때, 우리는 정보를 압축하므로써 연산량을 최소화하기 위해마지막 RNN셀에서만의 output인 context vector만을 반영 long-range dependency problem앞쪽의 RNN 셀들의 반영이 힘듦 (정보의 손실 발생)또한 이에 따라 인코더가 안좋은 요약을 할 수록 안좋은 성능을 보임(특히나 문장 길이 자체가 길 때 발생) “문장 내에서 토큰끼리 어느정도 대응되지 않을까?”➡️ context vec.. 2024. 3. 6.