본문 바로가기
  • GDSC Ewha Tech Team Blog

3-2기 스터디/NLP 입문9

[8주차] 딥러닝을 이용한 자연어처리 입문 Chap.16 Transformer 내용 및 사진 출처: WikiDocs 딥러닝을 이용한 자연어 처리 입문(https://wikidocs.net/book/2155) 1. 기존의 seq2seq 모델의 한계 - seq2seq 모델: encoder(입력 시퀀스를 하나의 벡터로 압축)-decoder 구조(압축된 벡터를 통해서 출력 시퀀스 생성) - 입력 시퀀스의 정보가 일부 손실 -> 해결책으로 attention 등장 - 이 때, attention을 RNN의 보정을 위한 용도가 아닌 attention만으로 encoder&decoder를 생성하면? 2. Transformer의 주요 하이퍼파라미터 - d_model: Transformer의 인코더와 디코더에서의 정해진 입력과 출력의 크기 의미, 임베딩 벡터의 차원, 각 인코더와 디코더가 다음 층의 인.. 2022. 5. 30.
[6주차] NLP Chapter 7. RNN을 사용한 문장 생성 - 8. 어텐션 이 포스트는 "밑바닥부터 시작하는 딥러닝2 - 파이썬으로 직접 구현하며 배우는 순환 신경망과 자연어 처리 (한빛미디어, 사이토 고키 지음)" 책을 기반으로 공부해서 정리한 내용이다. Chapter7: RNN을 사용한 문장 생성 7.1 언어 모델을 사용한 문장 생성 언어 모델: 지금까지 주어진 단어들에서 다음에 출현하는 단어의 확률분포를 출력 다음 단어를 생성하기 위해서는? - 결정적 방법: 확률이 가장 높은 단어를 선택 - 확률적 방법: 각 후보 단어의 확률에 맞게 선택 -> 매번 선택되는 단어가 달라질 수 있음 이렇게 학습된 단어의 정렬 패턴을 이용해(학습이 끝난 가중치를 통해) 새로운 문장을 생성하는 것이 가능 더 좋은 언어 모델로 더 자연스러운 문장을 생성 7.2 seq2seq 시계열 데이터 ex).. 2022. 5. 30.
[9주차] 딥러닝을 이용한 자연어처리 입문 Chap.17 BERT BERT 트랜스포머는 단어의 위치 정보를 얻기 위해서 각 단어의 임베딩 벡터에 위치 정보들을 더하여 모델의 입력으로 사용하는데, 이를 포지셔널 인코딩(positional encoding)이라고 합니다. 마스크드 언어 모델은 입력 텍스트의 단어 집합의 15%의 단어를 랜덤으로 마스킹(Masking)합니다. 그리고 인공 신경망에게 이렇게 마스킹 된 단어들을(Masked words) 예측하도록 합니다. 80%의 단어들은 [MASK]로 변경한다.Ex) The man went to the store → The man went to the [MASK] 10%의 단어들은 랜덤으로 단어가 변경된다.Ex) The man went to the store → The man went to the dog 10%의 단어들은 동일.. 2022. 5. 30.
[7주차] 딥러닝을 이용한 자연어처리 입문 Chap.2 텍스트 전처리 데이터 전처리 정제(cleaning) : 갖고 있는 코퍼스로부터 노이즈 데이터를 제거한다. 불용어 제거 불용어(stopword) : I, my, me, over, 조사, 접미사 같은 단어들은 문장에서는 자주 등장하지만 실제 의미 분석을 하는데는 거의 기여하는 바가 없는 경우 등장 빈도가 적은 단어 제거 길이가 짧은 단어 제거 노이즈 데이터(noise data)는 자연어가 아니면서 아무 의미도 갖지 않는 글자들(특수 문자 등)을 의미하기도 하지만, 분석하고자 하는 목적에 맞지 않는 불필요 단어들을 노이즈 데이터라고 하기도 합니다. 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어준다. 표기가 다른 단어들을 통합하는 방법인 어간 추출(stemming)과 표제어 추.. 2022. 5. 30.
[5주차] NLP Chapter 5.2 RNN이란 ~ 6. 게이트가 추가된 RNN 5.3. RNN 구현 Time RNN Truncated BPTT 방식을 적용하여 T개씩 처리 5.4. 시계열 데이터 처리 계층 구현 RNNLM (RNN Language Model) RNN을 사용한 언어 모델 *Time Softmax with Loss 계층에서는 데이터 1개당 평균 손실을 구함 5.5. RNNLM 학습과 평가 Perplexity : $L = -{1\over N}\sum\sum t \cdot logy \; , \quad perplexity=e^L$ 확률의 역수로, 다음에 취할 수 있는 선택사항의 수(작을수록 좋음), 기하평균 분기 수 RNNLM 학습 미니배치를 순차적으로 만들기 모델의 순전파, 역전파 호출 optimizer로 가중치 갱신 perplexity 구하기 Chapter6. 게이트가 .. 2022. 5. 2.
[4주차] NLP Chapter 4. word2vec 속도 개선 ~ 5.2 RNN이란 이 포스트는 "밑바닥부터 시작하는 딥러닝2 - 파이썬으로 직접 구현하며 배우는 순환 신경망과 자연어 처리 (한빛미디어, 사이토 고키 지음)" 책을 기반으로 공부해서 정리한 내용이다. Chapter4: word2vec 속도 개선 4.1 word2vec 개선(1) & 4.2 word2vec 개선(2) 앞 장에서 구현한 간단한 word2vec의 CBOW 모델의 문제점: 말뭉치 크기가 많이 크다면 그에 따라 계산량도 굉장히 많아진다 (아래와 같은 예시) 입력층의 원핫 표현과 가중치 W_in의 곱 계산 단어 임베딩 or 단어의 분산 표현 (통계기반기법-> distributional representation, 신경망 추론기반기법 -> distributed representation) - 순전파 & 역전파 - 미니.. 2022. 5. 2.