분류 전체보기 310

[GAN] Generative Adversarial Networks(GAN) - (StarGAN, fusionGAN)

GAN Generative Adversarial Networks(GAN)은 Vision 분야를 접해본 사람이라면 한 번쯤은 들어봤을 단어이다. GAN을 한국어로 번역하면 '대립쌍(Adversarial) 구조를 사용하는 생성모델'이라고 할 수 있다. 말그대로 서로 다른 대립쌍 Generator와 Discriminator를 만들어낸다. Generator(생성자)는 새로운 데이터를 계속해서 생성하고, Discriminator(구분자)는 생성된 데이터가 진짜인지 가짜인지 계속해서 구별한다. 굿펠로우에서는 Generator를 위조 지폐범, Discriminator를 위조지폐를 구분하는 경찰에 비유했다. Generator는 Random noise를 받아서 Traning set과 비슷한 데이터를 생성해 Discrim..

Deep Learning/GAN 2021.09.08

[CS224N] ConvNets for NLP

해당 강의에서는 CNNs을 다루기 전 RNN의 단점에 대해서 먼저 다룬다. RNN은 Prefix(접두사) context를 모두 포함하게 되며 Piece of sentence로 나누지 못한다는 단점이 있고, Sequence to Sequence의 모델을 살펴볼때 앞 단 Encoder부분의 RNN에서 Decoder로 보내주는 과정의 Last hidden state는 Last token에 영향을 많이 받게 된다. 또한 단어의 길이가 길어지면 정보의 손실이 발생할 수 있다는 것이 큰 문제이다. GRU나 LSTM 등 모델을 사용하거나 Encoder 부분에 Attention을 사용해 문제를 보완하곤 했다. CNNs CNNs 에서는 특정 길이로 Sub-sequence로 분할한 후 Feature를 추출하는 과정으로 접..

[CS224N] Machine Translation (MT), Attention

Contents Machine Translation(MT)는 1950년대부터 연구를 진행해왔다. 이당시에는 주로 Bilingual dictionary를 활용한 Rule-based의 번역 시스템을 사용했고, 1990s~2010s에는 서로 다른 두 언어의 Parallel 데이터로부터 확률 모델을 구축하는 Statistical Machine Translation이 주를 이루었고 2014이후부터 현재까지는 Neural Machine Translation 이 주로 연구되고 있다. Statistical Machine Translation SMT는 주어진 parallel 데이터로부터 확률 모델(Probabilistic Model) 을 구축하는 것이 핵심이다. 프랑스어를 영어로 번역하는 경우를 예로 들어보자. 프랑스 ..

[CS224N] Language Model (n-gram, NNLM, RNN)

Contents Language Model 이란? 단어의 시퀀스에 대해서 얼마나 자연스러운 문장인지를 확률을 통해 예측하는 모델이며, 주어진 단어의 시퀀스에 대해 다음에 나타날 단어가 어떤 것인지를 예측하는 작업을 Language Modeling이라고 한다. 기계번역, 음성인식, 자동완성 등 여러 분야에 사용될 수 있다. w1,w2,,wtn+1,,wt1,wt,,wT1,wT P(w1,,wT)=P(w1)×P(w2|w1)××P(wT|wT1,,w1) $\underset{t=1}{\overset{T}{\prod}}P(w_t|w_{t-1..

[CS224N] Parsing

Parsing 이란? parsing은 각 문장의 문법적인 구성 또는 구문을 분석하는 과정이다. Constituency Parsing은 문장의 구조를 파악하는 것이 주목적이고, Dependency Parsing은 단어간 관계를 파악하는 것이 주목적이다. Constituency Parsing Constituency Parsing은 구 구문분석이라고도 불리며, 문장을 중첩된 성분으로 나누어 문장의 구조를 파악하며, 영어와 같이 어순이 비교적 고정적인 언어에서 주로 사용된다. 아래 예시를 보면 첫 번째로 John이라는 주어(N)와 hit the ball이라는 동사구(VP)로 나눌 수 있고, 동사구는 다시 hit라는 동사(V)와 The ball이라는 명사구(NP)로 나눌 수 있고, the(D)와 ball(N)로 ..

[CS224N] Named Entity Recognition(NER)

NER 개체명 인식은 문장에서 Location, Person, Organization 등 개체명Named Entity를 분류하는 방법론이다. 개체명 인식을 하기 위해서는 그 전에 전처리 과정을 해주어야 한다. input으로 text가 들어오면 sentence단위로 split을 해주는 과정이 필요하고, 그 후 tokenizing을 거치고 pos tagging을 해준 후 Named entity recognition을 진행할 수 있다. 아래와 같이 '우리', '아버지', '가방', '에', '들어간', '다' 로 토큰화 되었다고 해보자. 일반적으로 '가방'이라는 단어를 location으로 판단할 수는 없지만 NER에서는 문맥을 보고 결정하기 때문에 아래의 경우 '가방'을 Location으로 개체명을..

[Recommender System] Metrics

추천시스템에서는 어떤 평가함수가 있을까? 우리는 평가함수에 대해서 다양하게 알고 있어야 한다. 왜냐하면 평가함수는 도메인이나 목적에 따라서 다른 평가함수를 적용해서 사용해야 해당 추천시스템이 제대로 적용되고 있는지 알 수 있기 때문이다. 1. 내가 추천해준 영화를 고객이 보았는가? 2. 내가 추천해준 영화를 고객이 높은 점수로 평점을 주었는가? 1번의 경우에는 실제 영화를 해당 고객이 시청했다면 성공으로 볼 수 있지만 2번의 경우에는 실제 고객의 만족도까지 높아야 되기 때문에 고객의 만족도까지 고려해서 평가한 것이다. 기사의 경우 기사를 확인하고 체류시간에 따라 평가할 수 있다. Accuracy - 정확도는 여러 예측 모델에서 가장 많이 쓰이는 평가지표 중 하나이며, 추천시스템에서는 내가 추천해준 영화를..

[Recommender System] Neighborhood based method(CF)

K-Neighborhood based method(KNN)은 k개의 군집으로 clustering을 하는 머신러닝 기법 중 하나이다. 추천시스템에서 KNN이라 함은 Explicit Data 즉, 유저가 자신의 선호도를 직접 표현한 데이터를 가지고 새로 유입된 사용자 혹은 상품에 대해서 선호도를 예측하는 기법이라고 볼 수 있다. User Based Collaborative Filtering 사용자 간 유사도를 측정해 사용자가 아이템에 해당하는 평점을 직접 입력하지 않더라도, 해당 사용자와 유사한 사용자의 평점을 가지고 사용자에 대한 아이템의 선호도를 예측하는 기법이다. 주로 코사인 유사도, 피어슨 유사도를 사용하여 유사도를 계산하여 측정한다. 주의해야할 점은 해당 사용자가 측정한 평점에 bias가 들어갈 수..

[Bayesian] Gaussian process

edwith 최성준님의 강의를 참고했다. Gaussian process 왜 우리는 가우시안 분포를 사용할까? 가우시안 분포는 σμ 두가지 변수만 알면 분포를 찾을 수 있기 때문이다. 그리고 중심극한정리(CLT)가 성립하기 때문에 가장 많이 사용한다고 할 수 있다. 가우시안 분포는 다음과 같이 표현한다. univariate Gaussian distribution f(x)=12πσexp(12(xμ)2) central limit theorem : Let X1,X2,... be independent and identically distributed with $\mathbb{E}(X_{i}) ..

[Recommender System] TF-IDF

TF-IDF 라는 개념에 들어가기 앞서 우리가 알아야할 개념들을 먼저 짚고 넘어가자. 점점 기술이 발전해가면서 텍스트에 대한 중요도가 높아지고 있다. 블로그, 의료 기록, 민원 등 다양한 곳에서 우리는 텍스트를 접해볼 수 있다. 우리는 이런 텍스트들을 비즈니스에 활용하기 위해 노력하는 단계이다. 흔히 텍스트를 '비구조' 데이터라고 한다. 일반적인 데이터가 갖추어야 할 구조를 가지고 있지 않음을 뜻하며 텍스트 데이터는 각 데이터마다 길이도, 구조도 다르다. 맞춤법을 틀리는 경우도 있을 것이고, 단어를 섞고 축약하는 경우도 발생할 수 있다. 그리고 동일한 단어라고 하더라도 사용하는 분야에 따라 그 의미가 전혀 다른 경우가 발생할 수 도 있다. 또, 문맥을 파악하지 않으면 해당 단어가 어떤 뜻인지 파악하기가 ..

반응형