반응형

분류 전체보기 164

Factorization Machine 논문 리뷰

Abstract Factorization machine은 SVM과 Factorization Model의 장점을 합친 모델 FM 예시 : Matrix Factorization, Parallel factor analysis, specialized model(SVD ++, PITF or FPMC) SVM : 큰 데이터에서 support vector를 찾아서 support vector를 기준으로 데이터를 classification/regression 일반적으로 머신러닝에서 자주 쓰이는 알고리즘 Real valued Feature Vector를 활용한 General Predictor FM은 classification/regression 등 다양한 문제들을 general하게 풀 수있는 모델 Factorization..

GPT-3 학습 방법 - Context Learning

Context Learning 대부분의 PLM은 사전학습 이후에 파인튜닝을 통해 Task를 학습하는데 파인튜닝 없이 PLM만으로 동작이 가능할까? parameter update (back -prop)없이 feed - forward 만을 통해 학습 수행 Few shot example을 주고 학습을 하고 Query를 받고 결과를 산출 Context Learning 정의 각 time - step의 hidden representation은 해당 step 까지의 정보가 담겨 있음 비록 파라미터 업데이트는 없지만 , 이것을 학습의 일환으로 볼수 있지 않을까? 이전의 정보가 잘 인코딩 되어 있다면, 이후에 이 정보를 바탕으로 추론을 수행 할 수 있을 것이라는 원리 Few shot learning (finetuning..

Matrix Factorization 적용 - SGD , ALS

Matrix Factorization R을 X와 Y로 나누고 분해한 X와 Y를 곱해서 실제 빈 공간에 어떤 평점이겠구나 하는 예측을 하는 f 를 찾는 과정 User - item matrix는 sparse 할 수 밖에 없음 , 채워져있는 관측 데이터를 사용해서 비어있는 것들을 채워 넣는 것이 주 개념 임의의 차원 수 f는 직접 정한다 R(원래 rating matrix) 와 R`(예측 matrix) 가 서로 유사하도록 학습하는 과정 관측된 데이터만 사용 True rating - predicted rating 으로 근사값을 추론하는 문제라고도 설명 가능 predicted rating을 이용한 matrix completion 문제 (stochastic) Gradient Descent, Alternating Le..

Latent Factor model

Latent Factor Model 사용자/아이템 특성을 벡터로 간략화(요약) 하는 모델링 사용자/아이템 특성 간 복잡한 관계를 학습 하고 factor로 나타내는 방법 사용자와 아이템이 같은 vector 공간에 표현되고, 같은 벡터 공간에 사용자와 아이템이 가까우면 유사, 멀리 떨어져 있으면 유사 하지않은 것으로 판단 Singular Value Decomposition (SVD) 쉽게 말해서 우리가 가진 행렬을 분해 -> 유저 / 아이템의 rating matrix를 분해하겠다는 뜻 분해를 함으로서 얻을 수 있는 vector 값이 있는데 이것을 -> latent vector로 이해 행렬 U는 user와 latent factor간의 관계 , 행렬 V는 item과 latent factor간의 관계 Latent..

Association Rules + FP Growth

Association Rule - 데이터 속에서 상호 연관 관계를 찾을 수 있다. - 기존 데이터를 기반으로 Association rule (연관규칙) 을 만드는 것 1.정의 minimum support 와 minimum confidence 값을 넘는 Rule을 찾는 과정 데이터에서 흥미로운 관계를 찾는 Rule-based 기법 특정 measure를 통해 interestingness를 평가하여 strong rules를 찾는 과정 2. association rule의 support(지지도) 데이터 관계 설정을 위해 아이템이 동시에 발생할 확률 전체 데이터 중 규칙(A,B)를 포함하는 데이터 비율 (A,B 동시 구매) 0과 1사이의 값이고 1에 가까울수록 A와 B의 관계가 중요하고 0에 가까우면 중요하지 않..

멀티 모달 입력

문제 일반적으로 모델에 대한 입력은 숫자 또는 카테고리, 이미지 또는 자유 형식 텍스트로 표현할 수 있다. 많은 모델이 보통 특정한 입력 유형에 대해서만 정의되어 있는데 예를 들어 Resnet -50과 같은 표준 이미지 분류 모델은 이미지 이외의 입력을 처리 할 수 없다. 멀티 모달 입력의 필요성을 이해하기 위해, 교통 법규 위반 카메라를 가정해보면 모델은 이미지 데이터와 이미지 포착 시점(시간,요일,날씨) 에 대한 일부 메타 데이터를 모두 처리해야한다. 이런 문제는 입력 중 하나가 자유 형식 텍스트인 구조화 된 데이터 모델을 학습할 떄도 발생, 수치와 달리 이미지와 텍스트는 모델에 직접 input으로 넣을 수 없음 (보통 임베딩 디자인 패턴 사용) ex) - 레스토랑 리뷰 평점 예측 1. 리뷰 텍스트 ..

Embedding layer와 Embedding Vector의 Output 차이 정리

Word Embedding Vector Skip - gram : 주변 단어가 비슷한 단어일수록 비슷한 임베딩 값을 갖도록 학습 Word2vec 하이퍼파라미터의 설정 값에 따라 각자 단어들 사이가 의미하는 벡터 값이 달라 질 여지가 많음 특수한 상황을 제외하고(product2vec 같은 것을 구현할 때 사용), 실제 NLP에서 드물게 활용됨 딥러닝은 END TO END를 지향하므로 중간 산출물을(embedding vector) 단독으로 쓰이는 것이 쉽지 않음 Embedding Layer 무작위로 특정 차원으로 입력 벡터들을 뿌린 후 학습을 통해 가중치들을 조정해 나가는 방식 즉, 단어 사이의 관계를 반영하는 방법이 아님 원핫 인코딩 된 이산 샘플의 벡터를 받아, 연속 벡터로 변환 높은 차원의 벡터를 효율적..

Deep Learning 2023.02.14

ALBERT 개념 정리

ALBERT A Lite BERT for Self - supervised Learning of Language Representations 1) Embedding Matrix Factorization Embedding layer의 차원을 줄이고 이를 hidden_size로 복원하는 linear layer 추가 2) Cross-layer parameter sharing 버트는 보통 12개나 24개 정도의 layer를 쓰는데 각 layer마다 weigth parmaeter 가 따로 있는데 layer 가 늘 수록 wp 가 늘어나는게 일반 적인데 알버트는 해당 layer의 wp를 서로서로 공유함 Attention과 FFN layer 의 파라미터를 공유 , 즉 공유되는 파라미터의 layer는 반복 사용됨 3) S..

From Seq2Seq to Transformer

Encoder - sequence를 하나의 context vector로 압축 Decoder - Context vector를 condition으로 받는 조건부 언어모델 Generator - 디코더의 hidden state를 softmax를 통해 multinoulli 분포로 변환 seq2seq 가 attention이 추가가 안된 시기들이 있음 (굉장히 짧은 시기) attention 직관적인 설명 query를 날려서 key에 매칭을 하고 query와 key 비슷한 정도 대로 정보를 취합 -> 디코더는 인코더에 필요한 정보들을 요청하여 검색해서 필요한 정보를 취해오는 것 서로 다른 길이의 시퀀스들이 배치로 묶일 경우, pad가 빈 칸에 할당 됨 -> 이에 따라 pad에 attention weight가 할당 될 ..

Pytorch 코드 컨셉

파이 토치 기본 스타일 - 모듈 클래스로 신경망 생성 - 데이터셋 클래스로 데이터를 불러와 학습 * 모듈 클래스로 신경망 만들기 __init__() -> 신경망 구성요소 정의 forward() -> 신경망 동작 정의 1. 파이 토치가 제공하는 모듈을 불러와 __init__()함수 안에 정의 Class Net(nn.module): def __init__ (self): # 신경망 구성요소 정의 2. forward() 함수에 신경망의 동작을 정의(__init__()함수에서 정의한 모듈을 연결하거나 필요한 연산등을 정의) def forward(self, input): #신경망의 동작 정의 return output * 데이터셋 클래스로 데이터를 불러와 학습하기 1. __init__함수는 학습에 사용할 데이터를 불..

반응형
반응형