본문 바로가기

AI

(12)
SELF-ATTENTION DOES NOT NEED O(n2) MEMORY Abstract 일반적으로 self-attention은 시퀀스 길이에 비례하는 제곱수의 메모리를 필요로 한다 하지만 이 논문에서 제안하는 Attention을 대체할 수 있는 알고리즘을 통해서 시퀀스 길이에 따라 고정된 양의 메모리O(1)만 필요로 하고 더 확장하면 로그 함수에 비례하는 메모리(O(logn))만을 필요로 한다. 또한, 이 알고리즘은 메모리 효율적인 방식으로 함수를 미분하는 방법도 제공합니다 Problem Standard Self attention Query 특정 요소에 주목해야 하는 정도를 결정 Key 주목해야 할 요소 Value 요소에 연관된 정보 연산 과정은 Q와 K 사이의 alignment score를 계산하고 그 score를 사용해서 value에 가중치로 사용을 한다. 가중치를 생성..
Chatbot - 검색 기반 모델? 생성 모델? 검색 기반 모델 미리 정해진 응답들의 데이터를 사용해서 input과 문맥에 기반하여 적절한 응답을 경험적인 방법으로 선택합니다. 룰 기반 매칭 만큼 단순하고 고정된 집합에서 응답을 선택합니다 장점과 단점 문법적 오류가 없지만 적절한 응답이 존재하지 않는 경우에는 처리할 수 없습니다. 생성모델 미리 정해둔 응답에 의존하지 않고 전형적으로 기계 번역 기술에 기반을 둡니다. 장점과 단점 문법적 오류가 있을 수 있지만 자연스럽고 사람 같이 문장을 생성합니다. 하지만 데이터 셋의 양이 많이 필요하고 비용과 시간이 많이 소요됩니다. 도전 과제 문맥 병합 인격의 일관성 챗봇 챗봇의 목적은 사람과 대화를 하는 것이 목적인 모델입니다. 보통은 Sequence to Sequence의 구조로 되어 있습니다. Encoder는..
번역의 흐름 규칙 기반 기계 번역(RBMT, Rule-Based Machine Translation) 경우의 수를 직접 정의해주는 방식입니다. 수많은 규칙들은 모두 언어학을 기반으로 합니다. 한계 규칙에 없는 문장이 들어올 경우 번역이 불가능합니다. 유연성이 떨어지며, 무엇보다 모든 규칙을 정의하는 과정이 복잡하고 오랜 시간이 필요합니다. 위의 기계 번역은 한계가 존재하고 더 유연하게 번역해낼 수 있는 방법이 필요했습니다. 그래서 IBM에서 1988년에 통계적 기계 번역을 선보입니다. 통계적 기계 번역 수많은 데이터로부터 통계적 확률을 구해 번역을 진행합니다. 통계적 언어 모델을 기반으로 동작합니다. 조건부 확률 조건부 확률은 아래와 같은 관계를 갖습니다. 4개의 확률이 조건부 확률의 관계를 가진다고 가정했을 때 아..
Scikit-Learn Machine Learning - 머신 러닝을 알아보자 머신러닝 알고리즘 종류 지도 학습 (Supervised Learning) 비지도 학습(Unsupervised Learning) 강화 학습 (Reinforcement Learning) 지도 학습 지도 학습은 사례들을 기반으로 예측을 수행한다. 이미 분류된 학습용 데이터를 가지고 훈련을 하고, 학습용 데이터를 바탕으로 일반화된 모델을 가지고 새로운 사례를 예측한다. Classification binary classification multi-class classification Regression 연속 값 예측 Forecasting 과거 및 현재 데이터를 기반으로 미래 예측 준지도 학습 지도 학습은 데이터 분류 작업에 비용과 시간이 많이 든다. 따라서 미분류 사례와 함께 소량의 분류 데이터를 사용한다. 비지..
Recurrent Neural Network 분포 가설과 분산 표현 Embedding Recurrent layer RNN LSTM 자연어 처리의 큰 흐름 RNN 순차적인 데이터 처리에 적합한 모델 장기 의존성 문제 기울기 소실 문제 LSTM 등장 RNN 한계 극복 기억 문제 개선 장기 의존성 처리 능력 계산 비용이 많이 든다 병렬 처리가 어렵다 GNU 등장 LSTM보다 더 간단한 구조로 복잡성이 줄어든다 Transformer self-Attention 메커니즘 병렬 처리 가능 RNN과 LSTM 단점을 극복 시퀀스에 대한 장기 의존성을 처리 분포 가설과 분산 Sparse representation 벡터의 특정 차원에 단어 혹은 의미를 직접 매핑하는 방식 해당 데이터에서 실제로 중요한 정보가 있는 일부 요소만을 표현하고 나머지 요소는 0으로 표현하는 ..
A Review of Generalized Zero-Shot Learning Methods https://arxiv.org/pdf/2011.08641.pdf Abstract(요약) 일반화된 zero-shot learning은 Output classes가 지도 학습하는 동안 학습되지 않은 조건 아래 데이터를 분류하기 위해서 모델을 훈련하는 것이 목표이다. 이 task를 수행하기 위해서 seen 한 source와 unseen한 target class 사이의 의미 정보를 사용해서 두 classes 간의 격차를 해소하려 한다. 이것이 소개된 후부터 많은 GZSL 모델이 공식화 되어왔다. 이번 리뷰 논문에서 우리는 GZSL에 대한 포괄적인 평가를 나타내려한다. 우리는 문제들과 아직 남아 있는 도전적이 과제들을 포함해서 GZSL의 개요를 제공하고, GZSL을 위한 계층적 범주를 소개한다. 그리고 각 범주..
Seq2Seq(시퀀스 투 시퀀스) Seq2Seq 모델은 번역, 요약과 같이 시퀸스(sequence) Seq2Seq 모델은 번역, 요약과 같이 시퀸스(sequence) RNN 기반 모델 '시퀸스를 받아들이는 부분'과 '시퀸스를 출력하는 부분'을 분리한다 기계 번역, 챗봇, 요약, 질의응답 등의 작업에서 널리 사용한다. Language Model 단어의 시퀀스를 보고 다음 단어에 확률을 할당한다 n-1개의 단어 시퀀스 W1,⋯ ,Wn−1w1​,⋯,wn−1​가 주어졌을 때, n번째 단어 wn​ 으로 무엇이 올지를 예측하는 확률 모델이다. Statstic Language Model 단어 시퀀스에 대한 확률분포(probability distribution)이다 context-dependent 성격 - 학습 데이터에 민감하다 이점 언어모델의 불확실..
EDA를 왜 해야 할까? EDA 왜 해야 할까요? 데이터를 다양한 각도에서 관찰하고 이해를 위해서이다 데이터를 잘 이해한다는 개념은 생각보다 중요하다. 그래서 도메인을 이해하는 것이 중요한 이유기도 하다. 데이터 접근에 대한 첫 시작을 잘못하면 그 데이터를 가지고 해결하려는 문제 알고리즘도 모두 쓸모가 없어진다 이때 다양한 분석을 통해서 가설을 도출할 수도 있다 필요한 것은 데이터를 잘 읽고 잘 듣는 능력 = 이해관계자의 말을 이해하는 능력 → 무의식적인 너무 주관적인 판단은 배제한다 exploratory data analysis의 약어이다. 탐색적으로 데이터 분석한다는 의미이다. Scaling 머신 러닝을 위한 데이터 세트를 정제할 때 스케일이 다르다면? 머신러닝은 데이터 기반으로 패턴을 인식하기 때문에 편향이 생길 수 있다...