분류 전체보기
-
자연어 처리를 위한 언어 모델의 학습과 평가NLP/3주차 2021. 9. 24. 14:11
Language Modeling 주어진 문맥을 활용해 다음에 나타날 단어를 예측 P("오늘은 비가 온다") = P("오늘은") * P("비가"|"오늘은") * P("온다"|"오늘은 비가") 양방향 언어 모델링 ELMo(Embeddings from Language Models)에서 소개 순방향과 역방향으로 언어 모델링을 진행하고, 얻어진 양방향 embedding을 사용 언어 모델을 범용적으로 사용하여 모든 task에서 성능 향상을 이끌어냄 → LM의 가능성에 주목 → BERT의 등장 언어 모델의 평가 GLUE 벤치마크 (General Language Understanding Evaluation) Quora Question Pairs (QQP, 문장 유사도 평가) Question NLI (QNLI, 자연어 ..
-
캐글 팁NLP/3주차 2021. 9. 23. 14:00
유명 대회 플랫폼 캐글 데이콘 카카오 아레나 Why Kaggle? 실력을 인정받기 위해 성장을 위해 - 공유 문화 덕분에 배우기 좋다 캐글 대회 종류 Featured - 상업적 목적의 예측 대회 Reaserch - 연구 목적의 대회 Getting Started & Playground - 초심자를 위한 학습용 대회 Analytics - 데이터 분석 목적의 대회 Recruitment - 리크루팅 목적의 대회 대회 제출 방식 General Competition (리소스 제약 x) - submission.csv 파일만 제출 Code Competition (리소스 제약 o) - 캐글 노트북에서 코드를 실행시켜 제출을 해야함 대회를 위한 Pipeline 캐글 대회 우승을 위해 필요한 것 파이프라인의 효율적 반복 G..
-
Hugging Face LibraryNLP/2주차 2021. 9. 17. 18:06
설치 !pip install transformers Pipeline API 사용 1) Pipeline 이란? 가장 기본적인 object이며, task에 맞는 가장 적합한 pretrained model을 선택하여 classifier object가 생성될 때 다운되고 캐시된다. The pipelines are a great and easy way to use models for inference. These pipelines are objects that abstract most of the complex code from the library, offering a simple API dedicated to several tasks, including Named Entity Recognition, Maske..
-
NLP 모델 정리NLP/2주차 2021. 9. 16. 16:20
GPT-2 큰 트랜스포머 LM Trained on 40GB text (큰 데이터) - Reddit의 데이터 이용, 위키피디아는 이용 x Downstream task를 zero-shot setting에서 가능하게 함 QA - CoQA dataset에서 55 F1 score Summarization - CNN, Daily Mail dataset 번역 BPE 사용 GPT-1 과 다른점 Layer Norm을 각각의 하위 Block의 Input으로 이동 마지막 self-attention 이후에 Normalization Layer 추가 모델 깊이에 따른 Residual Path의 누적에 관한 부분의 초기화 방법 변경 ($ 1 / \sqrt{n} $, n은 number of residual layer) Context..
-
Pre-TokenizationNLP/2주차 2021. 9. 15. 15:53
Word / Character / Subword Word Out-Of-Vocabulary(OOV)가 성능을 많이 저하시킴 → Character Based 등장 Character Long sequence Low performance → 하나의 글자가 표현해야하는 representation이 너무 많음 Subword → subword 방식을 사용하는 것이 좋다 BPE(Byte Pair Encoding) - statistical method WordPiece - merge a pair that maximizes the likelihood of the training data once added to the vocab Unigram - starts from pretokenized words and the mos..
-
GPT & BERTNLP/2주차 2021. 9. 15. 12:05
최근 트렌드 Transformer 모델과 self-attention block이 sequence encoder decoder로 주로 사용됨 깊게 쌓은 transformer를 이용하여 NLP task를 많이 발전시킴 nlp뿐만 아니라 추천 시스템, 신약 개발, CV에도 사용되는 추세 다만, 여전히 NLG를 위해서는 토큰 부터 시작해서 순차적으로 단어를 하나씩 생성해야함 (greedy decoding) GPT-1 Special token을 이용해 transfer learning시 효율적으로 학습 성능이 아주 좋은 디코더 적은 양의 데이터로도 높은 분류 성능 Task specific한 구조가 필요하지 않다 Classification: extract token을 linear transformation 하여 감정..
-
4. NMT를 위한 전처리NLP/1주차 2021. 9. 10. 10:53
번역 데이터셋은 source, target으로 이루어져 있고(한->영 번역인 경우 source: 한국어 문장 target:영어 문장) 하나의 문장을 여러 단어로 분리하고, 각 단어를 index로 바꿔주는 word2idx dict가 필요하다 => 동일한 단어는 동일한 인덱스로 번역 모델에서 target 문장의 시작과 끝을 알리는 sos 토큰과 eos 토큰이 추가된다. Bucketing 주어진 문장의 길이에 따라 데이터를 그룹화하여 패딩을 적용. 모델의 학습 시간을 단축할 수 있다. bucketing을 적용하지 않는 경우 batch별 pad token의 개수가 늘어나 학습시 더 많은 시간 소요.
-
3. Seq2Seq & Beam searchNLP/1주차 2021. 9. 8. 15:15
sequence of word를 input으로 받아서 sequence of words를 출력한다. 인코더 디코더로 구성 고정된 길이로 인코딩해서 정보의 유실이 일어나는 문제가 존재 attention으로 해결 (최종 hidden state만 쓰는 것이 아닌, 중간의 hidden state를 모두 사용) Teacher Forcing 방식: 올바른 정보를 매 time step마다 넣어준다. 학습이 조금 더 빠르다 attention solves bottleneck problem, vanishing gradient problem, and provides interpretability Greedy Decoding: 현재 timestep에서 가장 좋아보이는 단어 선택 -> 중간에 잘못된 단어가 생성되면 되돌릴 수 없..