Natural Language Processing with PyTorch
  • 소개글
  • 서문
  • Index
  • 딥러닝을 활용한 자연어 처리 개요
    • 자연어 처리란 무엇일까?
    • 딥러닝 소개
    • 왜 자연어 처리는 어려울까?
    • 무엇이 한국어 자연어 처리를 더욱 어렵게 만들까?
    • 자연어 처리의 최근 추세
  • 기초 수학
    • 서문
    • 랜덤 변수와 확률 분포
    • 쉬어가기: 몬티 홀 문제
    • 기대값과 샘플링
    • Maximum Likelihood Estimation
    • 정보 이론
    • 쉬어가기: MSE 손실 함수와 확률 분포 함수
    • 마치며
  • Hello 파이토치
    • 딥러닝을 시작하기 전에
    • 설치 방법
    • 짧은 튜토리얼
    • 쉬어가기: 윈도우즈 개발 환경 구축
  • 전처리
    • 전처리란
    • 코퍼스 수집
    • 코퍼스 정제
    • 분절
    • 병렬 코퍼스 정렬
    • 서브워드 분절
    • 분절 복원
    • 토치텍스트
  • 유사성과 모호성
    • 단어의 의미
    • One-hot 인코딩
    • 시소러스를 활용한 단어 의미 파악
    • 특징
    • 특징 추출하기: TF-IDF
    • 특징 벡터 만들기
    • 특징 유사도 구하기
    • 단어 중의성 해소
    • Selectional Preference
    • 마치며
  • 단어 임베딩
    • 들어가며
    • 차원 축소
    • 흔한 오해 1
    • Word2Vec
    • GloVe
    • Word2Vec 예제
    • 마치며
  • 시퀀스 모델링
    • 들어가며
    • Recurrent Neural Network
    • Long Short Term Memory
    • Gated Recurrent Unit
    • 그래디언트 클리핑
    • 마치며
  • 텍스트 분류
    • 들어가기
    • 나이브 베이즈를 활용하기
    • 흔한 오해 2
    • RNN을 활용하기
    • CNN을 활용하기
    • 쉬어가기: 멀티 레이블 분류
    • 마치며
  • 언어 모델링
    • 들어가며
    • n-gram
    • 언어 모델의 평가 방법
    • SRILM을 활용한 n-gram 실습
    • NNLM
    • 언어 모델의 활용
    • 마치며
  • 신경망 기계번역
    • 들어가며
    • Sequence-to-Sequence
    • Attention
    • Input Feeding
    • 자기회귀 속성과 Teacher Forcing 훈련 방법
    • 탐색(추론)
    • 성능 평가
    • 마치며
  • 신경망 기계번역 심화 주제
    • 다국어 신경망 번역
    • 단일 언어 코퍼스를 활용하기
    • 트랜스포머
    • 마치며
  • 강화학습을 활용한 자연어 생성
    • 들어가며
    • 강화학습 기초
    • 정책 기반 강화학습
    • 자연어 생성에 강화학습 적용하기
    • 강화학습을 활용한 지도학습
    • 강화학습을 활용한 비지도학습
    • 마치며
  • 듀얼리티 활용
    • 들어가며
    • 듀얼리티를 활용한 지도학습
    • 듀얼리티를 활용한 비지도학습
    • 쉬어가기: Back-translation을 재해석하기
    • 마치며
  • NMT 시스템 구축
    • 파이프라인
    • 구글의 NMT
    • 에딘버러 대학의 NMT
    • MS의 NMT
  • 전이학습
    • 전이학습이란?
    • 기존의 사전 훈련 방식
    • ELMo
    • BERT
    • GPT-2
    • XLNet
    • 마치며
  • 이 책을 마치며
  • 참고문헌
Powered by GitBook
On this page
  1. 신경망 기계번역 심화 주제

마치며

11장에서는 지난 장에서 다룬 번역의 성능을 더 향상시키는 방법들을 다루었습니다. 신경망은 데이터가 많을수록 그 성능이 향상됩니다. 따라서 번역과 같은 seq2seq를 활용한 문제를 풀 때, 훈련 데이터인 병렬 코퍼스parallel corpus가 많으면 많을수록 좋습니다. 하지만 병렬 코퍼스는 수집이 매우 어렵고 제한적입니다.

이런 제한적인 상황에서 단일 언어 코퍼스monolingual corpus를 활용하여 번역의 성능을 향상 시키는 방법에 대해서도 다루었습니다. 단일 언어 코퍼스를 활용한 성능 향상은 매우 큰 연구 주제이며 앞으로 소개할 장들에서도 중점적으로 다루어질 예정이니, 기술의 발전에 대해주목하면 재미있게 읽을 수 있을 것입니다.

또한 트랜스포머라는 모델 구조를 소개함으로써, 우리는 seq2seq가 다양하게 구현 가능함을 알 수 있었습니다. 특히 트랜스포머는 어텐션만을 사용해 seq2seq를 구현함으로써, 속도와 성능의 두 마리 토끼를 모두 잡은 훌륭한 사례입니다. 트랜스포머는 이런 장점 때문에 현재 자연어 처리 및 자연어 생성에서 매우 중요하게 쓰이고 있으며, 앞으로도 그 역할이 더욱 기대됩니다.

비록 번역에 국한하여 설명했지만, 시퀀스 데이터를 입력으로 받아서 다른 도메인의 시퀀스 데이터로 출력하는 문제에 대해서도 대부분 적용할 수 있을 것입니다. 독자 여러분도 자신이 풀고자 하는 문제에 대해 어떻게 적용할 수 있을지 고민하며 읽는다면 훨씬 더 도움이 될 것 같습니다.

Previous트랜스포머Next강화학습을 활용한 자연어 생성

Last updated 5 years ago