일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 그로스해킹
- BERT
- 서비스기획
- 유데미부트캠프
- 유데미큐레이션
- sql정리
- SQL
- 그래프
- NLU
- 임베딩
- 취업부트캠프
- 특성중요도
- 부트캠프후기
- 토스
- 사이드프로젝트
- NLP
- MatchSum
- 데이터도서
- 서비스기획부트캠프
- 유데미코리아
- pytorch
- 스타터스부트캠프
- 딥러닝
- SLASH22
- AARRR
- 추천시스템
- 알고리즘
- AWS builders
- 스타터스
- 취업부트캠프 5기
- Today
- Total
목록Pre_Onboarding by Wanted(자연어 처리) (17)
다시 이음
안녕하세요. 오늘은 NLP 모델에서 Transformer와 BERT 모델을 기반으로 하는 모델을 알아보려고 합니다. Auto regressive 오리지날 트랜스포머 모델의 decoder를 사용하며, 이전 모든 토큰들을에 대해 다음 토큰을 예측하는 방식으로 대해 사전 학습 됩니다. 간단히 설명하면 input값으로 이전 단어를 model에 넣어 나온 output값을 사용함으로 계속하여 다음 단어를 예측합니다. 1. GPT ( Generative Pre-trained Transformer ) - unsupervised pre-training + supervised Fine-tuning을 사용합니다. - Transformer Decoder로만 구성되었습니다. - BERT와 다르게 attention이 bidire..

안녕하세요. 오늘은 Embedding 시리즈의 3번째 문맥 임베딩에 대해서 알아보도록 하겠습니다. Contextual embedding model Contextual Embedding은 단어를 저차원 (일반적으로 100~500 차원) 공간에서 표현하는 기법입니다. 단, 기존의 전통적 Word Embedding과는 달리, 같은 단어더라도 문맥에 따라 그 표현방법이 바뀔 수 있는 개념의 Embedding입니다. 전통적인 Pre-trained Word Representation(Word2vec)은 한 단어가 가지고 있는 여러가지의 의미를 표현할 수 없었습니다. Contextualized Word Embedding은 같은 단어라도 문맥에 따라 다른 vector를 만들어 냅니다. 대표적으로 ELMo, Bert, ..

개인적으로 논문에서 중요하다고 생각되는 부분을 번역하여 작성하였고 마지막에 전체적으로 정리하는 순서로 진행하겠습니다. 들어가며(Abstract) 현재 지배적인 기술은 인코더와 디코더를 포함하는 합성곱 신경망 혹은 RNN이다. best 퍼포먼스 모델은 attention 메카니즘을 적요하여 인코더와 디코더를 연결한 모델입니다. 기계독해에 있어서 우세하게 병렬화 작업 및 시간 감축을 이뤄냈습니다. 1. Introduction Attention 메커니즘은 다양한 작업에서 강력한 시퀀스 모델링 및 변환 모델의 필수적인 부분이 되었으며, 거리에 관계없이 종속성을 모델링할 수 있습니다. 2. Background 순차적 계산을 줄이는 목표를 위해서 Extended Neural GPU, Byte Net, ConvS2S를..

안녕하세요. Subword (segmentation) Tokenizer 모델에 대해서 알아보려고 합니다. Subword (segmentation) Tokenizer Subword segmentation은 단어 기반 토크나이즈 방식이 갖는 OOV(Out Of Vocabulary) 문제를 해결하는 토크나이즈 방식입니다. 단어 보다 더 작은 단위인 “subword” 단위로 토큰을 분리하는데 이러한 방식은 신조어나 학습 코퍼스에 없던 새로운 단어도 사전에 있는 subword의 조합으로 표현할 수 있다는 장점이 있습니다. 뿐만 아니라 영어는 prefix, suffix가 의미를 가지고 있는 경우가 많습니다. 예를 들면, “fearless”란 단어는 “fear” + “less” subword로 이루어져 있는데 각각의..

코드 위주보다는 순서를 확인하여 'BERT 모델을 Fine_tuning 하는 과정'에 집중하려고 합니다. Process 1. 데이터 불러오기 2. 데이터 전처리 직접 pandas를 사용하여 전처리 혹은 Pytorch Dataset 클래스 사용 3. CustomClassifier 클래스 구현 ( 가중치 freeze, unfreeze ) 사전 학습(pre-trained)된 BERT 모델을 불러와 그 위에 1 hidden layer와 binary classifier layer를 쌓아 fine-tunning 모델을 생성 hidden layer 1개와 output layer(binary classifier layer)를 갖는 CustomClassifier 클래스를 구현 4. Iterator 구현 학습 데이터를 배..

안녕하세요. 오늘은 word embedding 모델의 종류를 알아보려고 합니다. 임베딩은 자연어를 컴퓨터가 이해하고, 효율적으로 처리하기 위해서 컴퓨터가 이해할 수 있도록 자연어를 적절히 변환합니다. 1. Embedding 방법 1-1. Sparse Embedding 원-핫 인코딩 방법은 단어 인덱스만 1이고 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법이 있습니다. 이렇게 벡터 또는 행렬(matrix)의 값이 대부분이 0으로 표현되는 방법을 Sparse representation(희소 표현)이라고 합니다. 단점 포함된 단어의 개수 만큼 차원이 확장되기 때문에 고차원으로 형성 ==> 차원의저주(curse of dimensionality) 벡터가 단어의 의미를 표현하지 못합니다. 모든 단어의 유클..

안녕하세요. 오늘은 딥러닝 학습방법에 역전파 방법에서 Pytorch에서 제공하는 Autograd 기능을 설명하려고 합니다. Pytorch의 기본적인 딥러닝 학습방법을 이해하는 데 좋음으로 읽어보면 좋을 것 같습니다. Autograd 공식문서🔥 먼저 Pytorch의 Autograd 기능에 대해 알아보겠습니다. Autograd는 PyTorch의 자동 미분 엔진입니다. Autograd가 어떤 기능을 하는지에 대해서 설명하기 위해서는 기본적인 딥러닝의 학습방법에 대해 간단하게 정리할 필요가 있습니다. 1. 딥러닝은 신경망으로 이루어져있고, 그 신경망은 가중치(weight)+bias(편향)의 매개변수를 텐서(pytorch.tensor)형태로 가지고 있습니다. 2. 딥러닝의 학습은 2단계로 순전파, 역전파가 있습니..
안녕하세요. 오늘은 Pytorch에서 데이터를 전처리하고 배치화 하는 클래스를 제공합니다. Dataset 클래스는 데이터를 전처리하고 dictionary 또는 list 타입으로 변경할 수 있습니다. DataLoader 클래스는 데이터 1. 셔플 2. 배치화 3. 멀티 프로세스 기능을 제공합니다. Dataset 모든 custom dataset 클래스는 Dataset() 클래스를 상속받아야 함. __getitem__()와 __len__() 메소드를 반드시 오버라이딩해야 함. DataLoader 클래스가 배치를 만들 때 Dataset 인스턴스의 __getitem__() 메소드를 사용해 데이터에 접근함 해당 Dataset 클래스는 string sequence 데이터를 tokenize & tensorize한다. ..
안녕하세요. 오늘은 Pytorch에서 모델을 생성하고 배정하는 방법에 대해서 알아보겠습니다. 모델을 정의하는 방법에서 tensorflow와 다른 점이 보여서 그 점을 비교하면서 하면 좋을 것 같습니다. Pytorch - Module 클래스 Model 을 정의할 때에는 Module 클래스를 무조건 상속 받아야합니다. forward() 메소드는 모든 자식클래스에서 반드시 오버라이딩 해야합니다. 공식문서 // https://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module 공식 문서를 통해 메소드를 보면 좋습니다.(eval(), train(), parameters(), state_dict(), to() 등등) class Model(n..

안녕하세요. 오늘은 BERT모델의 구조, 임베딩 개념에 대해서 이해하기 위해서 여러방법으로 임베딩을 설정하는 방법을 설명하려고 합니다. BERT를 활용하는 데 집중할 것이기 때문에 먼저 간단한 이론에서 임베딩 활용 순서대로 보려고합니다.(BERT에 대한 특징 NSP, MLM 같은 내용은 논문을 정리한 내용을 통해 공부를 하면 좋습니다.) BERT 기본적으로 1개의 input_embedding과 12개의 히든레이어(인코더)를 가지고 있는 구조입니다. 위에서 보이듯이 BERT의 임베딩은 단어 임베딩, 문장 임베딩이 가능합니다. 여기서 BERT의 활용을 보기 위해서 빠르게 사전학습된 데이터를 불러옵니다. BERT는 pre_trained 모델이기 때문에 저희는 BertTokenizer, BertModel을 불러..