배경sequence to sequence learning이 성행하던 시기RNN을 대체하기 위해 나타난 의미RNN + attention mechanism 1. Scaled Dot-Product AttentionAttention은 Q, K, V 사용V는 multiple Item, V-> V'로 바꿔주는 수식
Motivation- multiple input이 있을때 현재 상황을 가장 잘 풀어내는 정보들을 취합해서 하나의 숫자로(여저개) 만들어낼 수 있는가?- 현재 번역을 하고 있는데 번역하고 있는 그 단어와 가장 잘 어울리는 단어는 무엇일까?- 과거 기록을 가지고 추천해야한다면, 현재 그 사람의 정보와 가장 잘 어울리는 하나는 무엇일까? 등등 - sequence of information을 blending 해보는건 어떨까?: Attention을 관통하는 개념- 복수개의 데이터를 가지고 있는데 일부분씩을 떼어서 섞었더니 전체적인 데이터 정보가 만들어진다면 blending이라고 말할 수 있지 않을까?? Query Vector가 있고, (우리가 관심있는애)Multiple Vectors가 있음 반응성을 확인해서 ..
Sequence to Sequence란?입력데이터와 출력 데이터 사이에 연관관계를 학습할 수 있다면 (데이터로부터 스스로 학습할 수 있다면) 중간에 있는 것을 sequence 2 sequence learning이라고 한다. input sequence와 output sequence가 있음.input (n)과 output(m) 개수에 따라 여러가지 형태로 표현할 수 있음.번역, 자연어 처리, video tagging, 음성 분석 등등에서 모두 쓰일 수 있다. input, output 개수에 따른 sequence to sequence 분류n == mn != m 에서 m=1 (n to 1): 보통 classificationn != m 에서 m의 출력개수가 계속 달라질 때 (m>1) : 대표적으로 번역 ..
임베딩은 숫자로 되어있다.각 임베딩은 벡터의 길이와 숫자를 결정하는 규칙이 다르다. 임베딩 모델이 사람과 LLM 사이 통역사같은 역할을 함.LLM은 자신의 임베딩 모델을 내장하고 있음. 출처:- https://www.youtube.com/watch?v=A5IU1onjh4c&list=PLgqm0A83muLPAZ-SrHQyUYCEm3zXHx-xH&index=8
GPT, T5, BERT, BART, CTRL: 1세대 언어모델여기서 T는 transformer를 의미함 LLama: 최근 언어모델 Transformer자연어의 세계는 트랜스포머 (2017) 이전과 이후로 나뉨 2017년의 Attention Is All You Need 제목의 논문으로부터 모든것이 시작되었음. attention: 중요한 부분은 더 집중하고 중요하지 않은 부분은 덜 집중하자; 라는 개념에서 시작되었음. 문맥을 잘 이해하는 것이 중요. > 문맥을 이해하기 위해 문장 내에서 어떤 부분에 집중하고 어떤 부분에 덜 집중하면 될지를 해당 논문에서 다룸. With transformers, 'Attention Is All You Need ' for context-understanding즉, 다른 ..
1. torchimport torch # torch importx= 34.0 print(type(x)) # cpu 레벨에 있는 타입 즉, 파이썬 내의 오브젝트 타입이다.# output: y = torch.tensor(x))print(type(y)) # tensor로 바꾸는 순간, 파이썬 내부의 오브젝트 타입이 아닌, pytorch 내의 오브젝트 타입이 됨.# output: 2. list to Tensor- list도 텐서로 매핑됨.- 텐서는 scalar, vector, matrix, n-dimension array를 모두 포함하는 개념이기 때문x = [1,2,3,4]y = torch.tensor(x)print(type(x))# ouput: print(type(y))# output: ..
빈도수를 토대로 단어의 특성값을 뽑아냄ex) feature_vector = {'text':2, 'mining':1, ...} 대상이 되는 말뭉치에 대해 하나의 단어 집합을 구성하고 이 단어 집합을 대상으로 각 문서에 대해 빈도 표시하나의 문서에서 사용한 단어에 비해 사용하지 않은 단어가 훨씬 많기 때문에, 대부분의 특성으 0이 됨. 이를 희소 벡터 (sparse vector)라고 하는데, 이는 저장공간과 연산 측면에서 비효율적이므로 효율적인 처리방법이 필요함. BOW 기반 특성 벡터 추출과정말뭉치 |토큰화, 불용어 제거, 정규화, 품사태깅 | 특성집합 생성 -> 특성 집합-> 특성벡터 생성 -> 특성 벡터
텍스트 전처리 (Text Preprocessing): 주어진 텍스트에서 노이즈와 같이 불필요한 부분을 제거하고, 문장을 표준 단어들로 분리, 각 단어의 품사를 파악하는 것까지 포함되는 사전 작업들 텍스트 전처리 단계1. 정제 (cleaning): 불필요한 노이즈 제거, 불용어 (stopword) 제거2. 토큰화 (Tokenization): 주어진 텍스트를 원하는 단위(토큰)으로 나누는 작업 (i.e., sentence tokenization, work tokenization)3. 정규화: 같은 의미를 가진 동일한 단어임에도 불구하고 다른 형태로 쓰여진 단어들을 통일시켜 표준 단어로 만드는 작업 (i.e., go = goes), 방법에 따라 어간 추출과 표제어 추출로 나뉨.4. 품사 태깅: 단어를 문법적인..