자연어 처리를 위한 AI 모델의 핵심 기술과 활용법에 대해서 다룬다. N-gram으로 접근하는 전통적인 모델 방식의 한계를 설명하고, AI 모델이 그 문제를 어떻게 해결할 수 있는지 설명한다. 어텐션 네트워크의 배경과 핵심 원리를 자세하게 설명하고 있고, 이 구조를 통해서 트랜스포머나 BERT 등의 구조를 설명한다. 또한 자연어 처리에 있어서 메타학습 방법도 간략하게 소개한다.
Contents
1장 다음 단어는요? 언어 모델
__1.1. 언어 모델은 확률 게임
__1.2. N-gram 언어 모델
____1.2.1. 텍스트 전처리
____1.2.2. 제로 카운트 해결하기
____1.2.3. N-gram 모델 학습하기
____1.2.4. N-gram 언어 모델의 한계
__1.3. Word2Vec 기반의 언어 모델
__1.4. RNN 기반의 언어 모델
__1.4.1. RNN의 구조
__1.4.2. GRU 언어 모델 구현하기
__1.4.3. GRU 언어 모델로 문장 생성하기
2장 집중해 보자! 어텐션
__2.1. 하나의 벡터로 모든 정보를 담는 RNN
__2.2. 왜 어텐션(Attention)하지 않지?
__2.3. 어떻게 어텐션(Attention)하지?
____2.3.1. 묻고 참고하고 답하기
____2.3.2. 어텐션 계산해 보기
____2.3.3. 어텐션 구현하기
____2.3.4 모델링 학습하기
3장 안녕, 트랜스포머
__3.1. 트랜스포머의 구조
__3.2. 트랜스포머 구현하기
____3.2.1. 인코더
__3.3. Why Transformer
__3.4. 트랜스포머 학습 결과
____3.4.1. Perplexity(PPL)
____3.4.2. BLEU 스코어
4장 중간부터 학습하자! 사전학습과 파인튜닝
__4.1. 사전학습과 Fine-Tuning
__4.2. BERT
____4.2.1. BERT의 모델 구조와 이해하기
____4.2.2. BERT 모델의 입력 이해하기
____4.2.3. 사전학습 이해하기
____4.2.4. Masked Language Model(MLM)
____4.2.5. Next Sentence Prediction(NSP)
____4.2.6. 사전학습을 위한 데이터셋 준비와 Self-supervised Learning
____4.2.7. 사전학습 파헤치기
____4.2.8. 사전학습 정리하기
____4.2.9. Fine-Tuning 이해하기
____4.2.10. 텍스트 분류 모델로 파인튜닝하기
____4.2.11. 질의응답 모델로 파인튜닝하기
__4.3. GPT
____4.3.1. GPT의 사전학습
____4.3.2. Masked Self-Attention
__4.4. RoBERTa
____4.4.1. 정적 또는 동적 마스킹 전략
____4.4.2. NSP 전략
____4.4.3. 배치 사이즈와 데이터셋 크기
__4.5. ALBERT
____4.5.1. Factorized Embedding Parameterization
____4.5.2. Cross-layer Parameter Sharing
____4.5.3. Sentence Order Prediction(SOP)
____4.5.4. ALBERT 정리
__4.6. ELECTRA
____4.6.1. 학습 구조
____4.6.2. RTD
__4.7. DistilBERT
____4.7.1. 지식 증류
____4.7.2. DistilBERT의 구조와 성능 비교
__4.8. BigBird
____4.8.1. 전체 문장에 대한 어텐션, 글로벌 어텐션
____4.8.2. 가까운 단어에만 집중하기, 로컬 어텐션
____4.8.3. 임의의 토큰에 대한 어텐션, 랜덤 어텐션
____4.8.4. 토큰 길이에 따른 연산량 비교
__4.9. 리포머
____4.9.1. 트랜스포머 구조의 문제점
____4.9.2. LSH 어텐션
____4.9.3. Reversible 트랜스포머
__4.10. GLUE 데이터셋
____4.10.1. CoLA
____4.10.2. SST-2 데이터셋
____4.10.3. MRPC
____4.10.4. QQP
____4.10.5. STS-B
____4.10.6. MNLI
____4.10.7. QNLI
____4.10.8. RTE
____4.10.9. WNLI
____4.10.10. GLUE 데이터셋의 평가 지표
5장 어떻게 배우지? 메타러닝
__5.1. 학습을 위한 학습, 메타러닝
__5.2. 메타러닝을 이용한 Amazon 리뷰 감정 분류 학습하기
____5.2.1. 데이터셋과 데이터로더 만들기
__5.3. GPT2에서의 메타러닝
____5.3.1. GPT2를 학습하기 위한 접근 방법
____5.3.2. GPT2의 학습 데이터셋과 멀티태스크
____5.3.3. GPT2 성능 평가 결과
____5.3.4. GP2를 통한 문장 생성
____5.3.5. GPT2를 이용한 퓨샷 러닝
부록. 양자화
__1.1. 양자화에 대한 수학적인 이해와 코드 구현
__1.2. 양자화된 행렬을 이용한 행렬 곱셈과 덧셈
__1.3. 동적 양자화와 정적 양자화
__1.4. BERT 양자화하기
Author
이진기
안랩의 보안 관제 엔지니어로 IT 업계에 발을 들였다. 그러던 중 2015년에 데이터 분석을 공부하기 위해 영국의 워릭대학교(The University of Warwick)로 석사 유학을 떠났다. 석사 취득 후에는 안랩에서 보안 관제를 위한 머신러닝/AI 서비스를 연구하고 개발했다. 현재는 포스코ICT의 AI기술그룹에서 컴퓨터 비전 프로젝트를 연구하고 있다.
안랩의 보안 관제 엔지니어로 IT 업계에 발을 들였다. 그러던 중 2015년에 데이터 분석을 공부하기 위해 영국의 워릭대학교(The University of Warwick)로 석사 유학을 떠났다. 석사 취득 후에는 안랩에서 보안 관제를 위한 머신러닝/AI 서비스를 연구하고 개발했다. 현재는 포스코ICT의 AI기술그룹에서 컴퓨터 비전 프로젝트를 연구하고 있다.