NLP17 [NLP] Huggingface hub에 모델 공유하기 1. 라이브러리 설치 pip install transformers brew install git-lfs brew install huggingface-cli 2. 라이브러리 설치 여부 확인 pip list | grep transformers git-lfs version huggingface-cli 3. huggingface에 로그인 huggingface-cli login 'write' permission의 access token 사용 Access Tokens 권한의 범위 https://huggingface.co/docs/hub/security-tokens read: tokens with this role can only be used to provide read access to repositories y.. 2023. 5. 5. [NLP] BERT basic 1. BERT 모델 소개 학습 코퍼스 데이터 BooksCorpus (800M words) English Wikipedia (2,500M words without lists, tables and headers) 30,000 token vocabulary 데이터의 tokenizing WordPiece tokenizing He likes playing → He likes play ##ing 입력 문장을 tokenizing하고, 그 token들로 ‘token sequence’를 만들어 학습에 사용 모델 Pre-Training Masked LM 일부 token을 masking한 후, masking된 token을 예측하는 방식으로 학습 전체 token의 15%를 선택하여, 그 중 80%는 [MASK] token으로.. 2023. 5. 5. [NLP Paper] Attention Is All You Need 본 포스팅은 논문 Attention Is All You Need를 읽고 요약한 글입니다. https://arxiv.org/abs/1706.03762 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new arxiv.org Abstract 기존의 지배적인 seque.. 2023. 4. 8. [NLP] Beam Search 1 Greedy Decoding Greedy Decoding seq2seq model의 decoder의 각 time step마다 가장 높은 확률값을 가지는 단어 하나만을 output으로 return하는 방식 ‘단어’ → 문장 전체에 대한 확률을 고려하는 것이 아니라, 각 time step에서의 단어에 대한 확률만을 고려함 ‘하나’ → 한 번 결정된 output을 취소할 수 없어, 한 번 잘못된 output을 생성하면 잘못 생성한대로 그 이후 time step에 계속하여 영향을 미치게 됨 2 Exhaustive Search Exhaustive Search 가능한 모든 경우의 수를 고려하여 최적해를 찾는 방식 Exhaustive Search의 작동 방식 vocabulary size가 V이고, time ste.. 2023. 4. 3. [NLP] Seq2Seq with Attention 1 Sequence to Sequence Problem 1.1 sequence 단어들의 나열 (=문장, 문단 ..) 1.2 sequence to sequence 하나의 sequence를 다른 sequence로 바꾸는 것 ex Machine Translation: 제 이름은 지은이고, 저는 학생입니다. → My name is Jieun and I am a student. Summarization: 긴 text → 짧은 text Dialog: 이전 대화 → 이후 대화 2 Seq2Seq Model (= Encoder-Decoder Architecture) 2.1 Seq2seq 시계열 데이터를 input으로 받아 다른 시계열 데이터들로 변환할 때 사용 2.2 Encoder-Decoder 구조 : Many to .. 2023. 4. 3. [NLP] Sequential Model Sequential Model Sequence Data Sequence Data: 시점에 따라 달라지는 데이터 과거 데이터가 현재 데이터의 처리에 있어서 도움이 되는 경우 순서가 중요한 데이터 ex. 자연어 처리. 시계열 데이터. 영상 처리. 주식 Sequantial data는 길이가 일정하지 않음 = model에 입력될 input data의 size가 일정하지 않음→ input data의 size에 상관 없이 동작이 가능한 model을 필요로 함 2 Sequential Model Autoregressive model 이전 n개의 data에만 dependeant하도록 만들어진 model Markov model (1차 Autoregressive model) joint distribution을 쉽게 표현할 .. 2023. 4. 3. [NLP] Word Embedding Word Embedding 희소 표현과 밀집 표현 희소 표현 Sparse Representation: 벡터 또는 행렬(matrix)의 값이 대부분이 0으로 표현되는 방법 ex. One-Hot Vector 밀집 표현 Dense Representation: 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춤에 따라 차원이 조밀해진 벡터 워드 임베딩 Word Embedding: 단어를 밀집 벡터로 표현하는 방법 임베딩 벡터 Embedding Vector: 임베딩 과정을 통해 나온 결과 1 word2vec word2vec 의미상의 유사도를 반영하여 단어의 의미를 벡터 공간에 임베딩하는 것 Input Data: One Hot Encoding Vector Input → Hidden: Embedding Ve.. 2023. 4. 3. [NLP] RNN은 왜 활성화함수로 tanh를 사용할까? 결론적으로는 RNN이 가지는 vanishing gradient 문제를 예방하는데 tanh가 그나마 가장 적절하기 때문이다. tanh가 어떻게 RNN의 vanishing gradient 문제를 예방할 수 있는지 알아보기 위해 sigmoid와 tanh의 미분값을 비교해보자. sigmoid tanh sigmoid와 tanh의 미분값을 살펴보면, sigmoid와 tanh 모두 0과 1 사이의 미분값을 가지지만 tanh의 미분 최댓값이 sigmoid에 비해 상대적으로 더 크다는 것을 확인할 수 있다. gradient vanishing은 0에 가까운 값을 연쇄적으로 곱하는 경우에 그 가능성이 더욱 커지기 때문에, gradient vanishing에 있어 미분값이 상대적으로 더 큰 tanh가 sigmoid보다 이점을.. 2023. 4. 2. 이전 1 2 다음