RN_text representation
·
NLP
이전에 봤던 CBOW는 단순히 Token representation들에 평균을 취한 값으로, 토큰들끼리 서로 연관관계 파악이 불가능함.그럼 어떻게 연관관계 파악? IDEA : 토큰들 사이의 연간 관계를 모델이 학습할 수 있게, 모든 토큰쌍들을 묶어주면 어떨까?\( f_{rel}(x_i, x_j) = \phi(e_i^T W_{left} + e_j^T W_{right}) W \)\( e_i \)와 \( e_j \)는 각각 토큰 \( x_i \)와 \( x_j \)의 임베딩\( W_{left} \)와 \( W_{right} \)는 임베딩 \( e_i \)와 \( e_j \)에 적용되는 가중치 행렬임베딩은 먼저 테이블에서 조회된 후, 각 가중치 행렬과 행렬 곱셈(MatMul)을 수행함.이 곱셈의 결과를 더함\(..
CBOW
·
NLP
CBOW (Continuous Bag of Words) 모델이전에 봤던 Bag of Words, N-gram, TF-IDF의 공통적인 문제점이 있음. 바로 단어가 조금만 달라져도 같은 의미인지 인식하지 못한다는 점 예를 들어, 다음과 같은 단어 벡터들이 있다고 가정해 보자좋다 -> [0, 0, 1, 0, 0, 0]좋아 -> [0, 1, 0, 0, 0, 0]안녕 -> [0, 0, 0, 1, 0, 0]이 경우, '좋다'와 '좋아' 사이의 거리가 '좋아'와 '안녕' 사이의 거리보다 가까워야 하는데, 기존의 Bag of Words 방식에서는 similarity 면에서 모두 동일하게 계산됨.그럼 어떻게?'좋다'와 '좋아'가 가깝다는 것을 모델이 학습하도록 하기 위해서, 토큰의 적당한 인코딩 방법을 뉴럴 네트워크에..
Text Representation_1
·
NLP
자연어 문장을 숫자로 표현?자연어 문장을 표현하려면 단어를 숫자로 표현할 수 있어야함. 그러려면 문장을 단어로 쪼개고, 그 단어를 숫자와 맵핑해야 함ex)오늘따라 해피가 너무 보고싶다단어별로 쪼개기문장을 단어 단위로 쪼개는 방법은 여러 가지가 있는데. 예를 들어, 형태소 분석기를 이용해 토큰화하거나, 간단하게 공백 단위로 토큰화할 수 있음Tokenization예를 들어, 형태소 분석기를 이용해 토큰화하게 된다면 단어 단위로 쪼갤 수 있고, 간단하게 공백 단위로 토큰화할 수 있음적절한 토큰을 나누고 각 토큰에 대해 숫자를 부여해 dictionary 형태로 놔두면 문장들은 숫자의 나열로 표현할 수 있음EX원본 문장: 오늘따라 해피가 너무 보고싶다Tokenization:오늘따라, 해피가, 너무, 보고싶다Ind..
DL_정리4
·
NLP
Training 관련학습의 단위epoch: 데이터셋 전체에 한 번 다보면 1 epoch. 즉, 전체 데이터셋을 한 번 학습하는 단위입니다.step or iteration: gradient update를 하는 매 step을 지칭하는 단위입니다. 한 번의 forward 및 backward pass를 의미parameter: 학습이 되는 값으로, 모델의 가중치나 bias 같은 것들hyper parameter: 학습이 되지 않고 학습 이전에 미리 지정해주는 값임. 예를 들어, epoch 수, learning rate, 등Local minima & Global minimaLocal minima: 로컬하게 봤을떄 최소점. 얘를 극소점Global minima: 전체 구간에서 가장 낮은 점 - 이걸 찾으면 제일 좋은거지..
DL_정리3
·
NLP
모델을 학습하려면?주어진 것:모델: \( f_{\theta}(x) \) (MLP - 다층 퍼셉트론)데이터 세트 \( D \): \(\{(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}), \ldots, (x^{(N)}, y^{(N)})\}\)필요한 구성 요소:모델의 파라미터 \( \theta \)cost 함수Gradient DescentBackpropagationLoss function, Cost function대표적으로 MSE\[ L(\theta) = (f_{\theta}(x) - y)^2 \]샘플당 모델 예측값, ground truth 의 차이Cost 함수는 \[ J(\theta) = \frac{1}{2N} \sum_{i=1}^N (f_{\theta}(x^{(i)}) - y^{(i)..
DL정리_2
·
NLP
MLPNeural Network의 예시로 One Layer Neural Network를 먼저 보면One Layer Neural Network앞서 봤던 로지스틱 회귀(Logistic Regression)는 활성 함수가 시그모이드 함수인 1층 뉴럴 네트워크와 같다고 볼 수 있음.$$ h_{\theta}(x) = \sigma(\theta_0 + \theta_1 x_1 + \theta_2 x_2) $$이를 1층 뉴럴 네트워크로 나타내면, 입력값 \( x_1, x_2 \)에 가중치 \( w_1, w_2 \)를 곱하고, 이를 합산한 값 \( u \)에 시그모이드 함수를 적용하여 출력값 \( y \)를 얻는것.수식으로는 다음과 같이 표현할 수 있음.$$ u = \sum_{i=1}^{N} w_i x_i $$$$ \ph..
DL 정리_1
·
NLP
그림처럼 AI 안에 machine learning,  그 중 뉴럴네트워크를 사용해서 학습하는게 deep learning용어를 정리해보자면Supervised Learning (classification 이나 regression 등)Unsupervised learining (패턴을 찾는거 clustering이나 차원 축소 문제 등) Self Supervised Learning ( word2vec, gpt나 bert 처럼 predictive learning 을 통해 데이터 basis에서 패턴 학습)Reinforcement learning (알파고나 자율주행 등등 강화학습) 이러한 학습방법이 Machine learning 안에 들어있고, 그 중 한 분야가 DL. 고전적인 ML에서 사람의 직관을 사용해 만든 fe..