딥러닝/NLP10 [논문] BART 리뷰 요약 분야에서 BERT와 같은 인코더 모델은 원본 텍스트의 일부 문장을 선택하는 추출 요약에서 우수한 성능을 보이지만, 텍스트를 생성해야 하는 생성 요약에는 적합하지 않다. 반면, GPT와 같은 디코더 모델은 텍스트 생성에는 적합하지만, 학습 시 단방향의 정보만을 이용하는 단점이 있다. 이러한 이유로 생성 요약과 같은 태스크에는 인코더와 디코더를 활용한 사전학습된 시퀀스 투 시퀀스 모델을 사용한다. 이러한 모델의 시초가 되는 BART에 대해 알아보자. 0-1. Abstract & Introduction BART는 본질적으로 인코더와 디코더가 있는 트랜스포머 모델이다. 임의의 노이즈 함수로 손상된 텍스트를 인코더에 입력하고 인코더는 주어진 텍스트의 표현을 학습시키고 그 표현을 디코더로 보낸다. 디코더는 인.. 딥러닝/NLP 2023. 3. 24. [논문] GPT-1 리뷰 BERT와 GPT는 각각 Google과 OpenAI에서 만든 자연어 모델이다. BERT는 트랜스포머의 인코더를, GPT는 트랜스포머의 디코더를 분리해 각각 독자적인 모델로 발전시켰고, 이 둘은 현재까지도 자연어 처리 분야를 양분하고 있으며 그 파생 모델들이 뛰어난 활약을 하고 있다. 따라서 LLM 시대의 서막을 연 GPT-1에 대해 알아보고자 한다. Abstract 자연어 이해는 자연어 추론, 질의 응답, 문서 분류 등 광범위한 다양한 작업으로 구성된다. 그러나 레이블이 없는 텍스트 말뭉치는 풍부하지만 특정 작업(target task)을 학습하기 위한 레이블이 지정된 데이터는 부족하여 각각의 태스크에 파인 튜닝을 적절하게 수행하기 어려웠다. 따라서 레이블이 없는 텍스트의 다양한 말뭉치에서 언어 모델을 프.. 딥러닝/NLP 2022. 12. 12. BERT 활용하기 사전 학습된 BERT 모델 탐색 BERT를 처음부터 사전 학습 시키는 것은 계산 비용이 많이 든다. 따라서 사전 학습된 공개 BERT 모델을 다운로드해 사용하는게 효과적이다. 사전 학습된 모델은 BERT-uncased 및 BERT-cased 형식으로도 제공된다. BERT-uncased 에서는 모든 토큰이 소문자이지만 BERT-cased 에서는 토큰에 대해 소문자화를 하지 않은 상태로 학습을 진행한 모델이다. 대소문자를 보존해야 하는 개체명 인식(Named Entity Recognition)과 같은 특정 작업을 수행하는 경우 BERT-cased 모델을 사용해야 한다. 이와 함께 구글은 전체 단어 마스킹(WWM) 방법을 사용해 사전 학습된 BERT 모델도 공개했다. 사전 학습된 모델을 다음 두 가지 방법으로.. 딥러닝/NLP 2022. 11. 19. BERT 정리 Introduce BERT(Bidirectional Encoding Representation from Transformer)는 구글에서 발표한 임베딩 모델이다. 질의 응답, 텍스트 분류, 정보 추출 등과 같은 태스크에서 가장 좋은 성능을 도출해 자연어 처리 분야에 크게 기여해왔다. BERT가 성공한 주된 이유는 문맥이 없는 Word2Vec과 같은 다른 인기 있는 임베딩 모델과 달리 문맥을 고려한 임베딩 모델이기 때문이다. A : He got bit by python B : Python is my favorite programming language A 문장에서 ‘파이썬’이라는 단어는 뱀의 한 종류를 의미하고 B 문장에서는 ‘파이썬’이라는 단어는 프로그래밍 언어를 의미한다. Word2Vec과 같은 임베딩.. 딥러닝/NLP 2022. 11. 15. 한국어 임베딩 - 단어 수준 임베딩 (잠재 의미 분석, GloVe, Swivel) 1. 잠재 의미 분석 잠재 의미 분석(LSA, Latent Semantic Analysis)이란 단어-문서 행렬이나 TF-IDF(Term Frequency-Inverse Document Frequency) 행렬, 단어-문맥 행렬 같은 커다란 행렬에 차원 축소 방법의 일종인 특이값 분해를 수행해 데이터의 차원 수를 줄여 계산 효율성을 키우는 한편 행간에 숨어 있는 잠재 의미를 이끌어내기 위한 방법론이다. 단어-문서 행렬이나 단어-문맥 행렬 등에 특이값 분해를 시행한 뒤, 그 결과로 도출되는 행 벡터들을 단어 임베딩으로 사용할 수 있다. 잠재 의미 분석은 GloVe나 Swivel과 더불어 행렬 분해(matrix factorization) 기반의 기법으로 분류된다. 1.1 PPMI 행렬 단어-문서 행렬, TF.. 딥러닝/NLP 2022. 10. 21. 한국어 임베딩 - 단어 수준 임베딩 (Word2Vec, FastText) 1. Word2Vec Word2Vec은 2013년 구글 연구 팀이 발표한 기법으로 가장 널리 쓰이고 있는 단어 임베딩 모델이다. Word2Vec 기법은 두 개의 논문으로 나누어 발표됐다. Mikolov et al. (2013a)에서는 Skip-Gram과 CBOW라는 모델이 제안됐고, Mikolov et al. (2013b)은 이 두 모델을 근간으로 하되 네거티브 샘플링 등 학습 최적화 기법을 제안하였다. 1.1 모델 기본 구조 Mikolov et al. (2013a)이 제안한 CBOW와 Skip-gram 모델의 기본 구조는 다음 그림과 같다. CBOW는 주변에 있는 문맥 단어(context word)들을 가지고 타깃 단어(target word) 하나를 맞추는 과정에서 학습된다. Skip-gram 모델은 .. 딥러닝/NLP 2022. 10. 20. 한국어 임베딩 - 단어 수준 임베딩 (NPLM) 이 장에서는 다양한 단어 수준 임베딩 모델을 설명한다. NPLM, Word2Vec, FastText 등은 예측(prediction) 기반 모델, LSA, GloVe, Swivel 등은 행렬 분해(matrix factorization) 기반의 기법들이다. 가중 임베딩(Weighted Embedding)은 단어 임베딩을 문장 수준으로 확장하는 방법이다. 1. NPLM Neural Probabilistic Language Model(NPLM)은 단어들의 연쇄가 주어졌을 때 다음 단어가 무엇인지 맞추는 과정에서 분산표상된 단어 벡터들을 만드는 방법론이다. 자연어 처리 분야에서 임베딩 개념을 널리 퍼뜨리는 데 일조한 선구자적 모델로서 임베딩 역사에서 차지하는 역할이 작지 않다. 1.1 NPLM 개요 NPLM은 딥.. 딥러닝/NLP 2022. 10. 3. 한국어 임베딩 - 한국어 전처리 이 장에서는 임베딩 학습을 위한 한국어 데이터의 전처리 과정을 다룬다. 형태소 분석 방법에는 국어학 전문가들이 태깅한 데이터로 학습된 모델로 분석하는 지도 학습(supervised learning) 기법과 우리가 가진 말뭉치의 패턴을 학습한 모델을 적용하는 비지도 학습(unsupervised learning) 기법이 있다. 지도 학습 기반 형태소 분석 품질 좋은 임베딩을 만들기 위해서는 문장이나 단어의 경계를 컴퓨터에 알려줘야 한다. 그렇지 않으면 어휘 집합에 속한 단어 수가 기하급수적으로 늘어나서 연산의 비효율이 발생한다. 특히 한국어는 조사와 어미가 발달한 교착어(agglutinative language)이기 때문에 이러한 처리를 좀 더 섬세히 해줘야 한다. 예를 들어 한국어 동사 [가다]는 다음과 .. 딥러닝/NLP 2022. 9. 24. 한국어 임베딩 - 벡터가 어떻게 의미를 가지게 되는가 자연어 계산과 이해 임베딩은 자연어를 컴퓨터가 처리할 수 있는 숫자들의 나열인 벡터로 바꾼 결과이다. 컴퓨터는 임베딩을 계산/처리해 사람이 알아들을 수 있는 형태의 자연어로 출력한다. 그러면 임베딩에 자연어 의미를 어떻게 함축할 수 있을까. 그 비결은 자연어의 통계적 패턴 정보를 통째로 임베딩에 넣는 것이다. 자연어의 의미는 해당 언어 화자들이 실제 사용하는 일상 언어에서 드러나기 때문이다. 임베딩을 만들 때 쓰는 통계 정보는 크게 세 가지가 있다. 첫째는 문장에 어떤 단어가 (많이) 쓰였는지이고, 둘째는 단어가 어떤 순서로 등장하는지이며, 마지막으로는 문장에 어떤 단어가 같이 나타났는지와 관련된 정보다. 구분 백오브워즈 가정 언어 모델 분포 가정 내용 어떤 단어가 (많이) 쓰였는가 단어가 어떤 순서로 .. 딥러닝/NLP 2022. 9. 19. 한국어 임베딩 - 서론 임베딩이란 자연어 처리 분야에서 임베딩이란, 사람이 쓰는 자연어를 기계가 이해할 수 있는 숫자의 나열인 벡터로 바꾼 결과 혹은 그 일련의 과정 전체를 의미한다. 단어나 문장 각각을 벡터로 변환해 벡터 공간으로 '끼워 넣는다(embed)'는 의미에서 임베딩이라는 이름이 붙었다. 임베딩이라는 개념은 자연어 처리 분야에서 꽤 오래전부터 사용한 것으로 보인다. 하지만 본격적으로 통용되기 시작한 것은 딥러닝의 대부 요슈아 벤지오 연구 팀이「A Neural Probabilistic Language Model」(Bengio et al., 2003)을 발표하고 나서부터다. 임베딩의 역할 임베딩은 다음 역할을 수행할 수 있다. 단어 / 문장 간 관련도 계산 의미적 / 문법적 정보 함축 전이 학습 단어 / 문장 간 관련도.. 딥러닝/NLP 2022. 9. 19. 이전 1 다음 반응형