책 소개
2022년 대한민국학술원 우수학술도서 선정도서
요약
1980년대 중반, 언어를 분석하기 위해 말뭉치와 데이터 기반 기술을 많이 사용하면서 자연어 처리는 중대한 변화를 겪었다. 그 이후 자연어 처리에서 통계 기법을 사용하는 방법은 많은 발전이 있었다. 자연어 처리에 대한 베이지안 접근 방식은 1990년대 후반에서 2000년대 초반에 본격적으로 발전하기 시작했다. 빈도주의적 접근 방식의 단점을 개선하고 특히 통계적 학습이 제대로 수행되지 않는 비지도학습 환경에서 많은 부분을 보완했다.
이 책에서는 자연어 처리의 베이지안 학습에 관련된 연구를 할 때 이를 이해하는 데 필요한 방법과 알고리즘을 다룬다. 이러한 알고리즘은 대부분 머신러닝과 통계에서 차용되고 부분적으로 자연어 처리 방법을 참고한다. 마코프 체인, 몬테카를로 샘플링 및 변분 추론, 베이지안 추정, 비모수 모델링과 같은 추론 기법을 다룬다. 또한 사전분포, 켤레 및 생성 모델링과 같은 기본적인 베이지안 통계 개념도 함께 다룬다. 마지막으로 문법 모델링, 신경망 및 표현학습과 같은 자연어 처리의 기본 모델링 기술과 베이지안을 활용한 분석도 다룬다.
이 책의 구성
1장은 베이즈 자연어 처리와 관련된 확률과 통계에 대한 내용을 다룬다. 랜덤변수, 랜덤변수 간의 독립성, 조건부 독립성 랜덤변수 기댓값 등과 같은 기본적 개념을 다룬다. 또한 베이즈 통계학과 빈도주의 통계학이 어떻게 다른지 간략하게 설명한다. 컴퓨터 과학이나 통계학의 기본적인 지식이 있다면 1장을 건너뛰고 봐도 좋다.
2장에서는 2가지 예시(잠재 디리클레 할당 모델과 베이즈 텍스트 회귀 분석)를 활용해 자연어 처리에서 베이즈 분석을 소개하고, 이 책의 주제에 대한 높은 수준의 개요를 설명한다.
3장은 베이즈 통계 모델링에서 중요한 구성 요소인 사전분포를 다룬다. 특히 디리클레분포, 사전분포에 대한 정보가 없는 경우, 정규분포 등과 같이 베이즈 자연어 처리에 자주 사용되는 사전분포에 대한 내용을 논한다.
4장은 사후분포 요약을 통해 빈도주의적 통계와 베이즈 통계를 종합하는 아이디어에 대해 다룬다. 또한 베이즈에 관한 개념을 유지한 상태로, 일련의 매개변수에 대한 점 추정치를 계산하는 접근법을 상세하게 설명한다.
5장은 베이즈 통계학의 주요 추론법 중 하나인 마르코프 체인 몬테 카를로(Markov Chain Monte Carolo)를 설명한다. 깁스 샘플링과 메트로폴리스-헤이스팅스 샘플링(Metropolis-Hastings sampling)과 같은 베이즈 자연어 처리에서 흔하게 다루는 샘플링 알고리즘(sampling algorithm)을 자세하게 알려준다.
6장에서는 베이즈 자연어 처리에서 또 다른 중요한 추론법으로 여겨지는 변분추론을 다룬다. 평균-장 변분추론과 변분 기댓값 최대화 알고리즘을 설명한다.
7장은 베이즈 자연어 처리에서 가장 중요한 모델링 기법인 비모수적 모델링에 대해 설명한다. 또한 디리클레 프로세스(Dirichlet Process)와 피트만-요 프로세스(Pitman-Yor process)와 같은 비모수 모델을 살펴본다.
8장에서는 확률론적 문맥 자유 문법과 동시성 문법과 같은 자연어 처리 기본 언어 모델을 다고, 이러한 언어 모델을 어댑터 문법, 계층적 디리클레 프로세스, PCFG(Probabilistic Context-Free Grammars) 등과 연관지어 베이즈 내용을 바탕으로 설명한다.
또한 책의 뒷부분에는 이 책을 읽기 위해 필요한 배경 정보를 제공하는 두 개의 부록이 포함돼 있다. 5개 이상의 문제가 각 장마다 포함돼 있어 수업 교재로 활용할 수도 있다. 특히 자연어 처리에서 베이즈 분석에 대한 강의를 할 수 있을 것이다. 예를 들어 베이즈 자연어 처리에 대한 강의를 4번 정도 한다면, 3장부터 7장을 각각 하나의 강의로 엮을 수 있다. 또한 8장의 어댑터 문법 또는 베이즈 PCFG 등과 같은 개별 주제들은 각 강의마다 예시로 제공할 수 있다.
상세 이미지
목차
목차
- 1장. 머리말
- 1.1 확률 측정: 확률측도, 확률함수
- 1.2 무작위 변수
- 1.2.1 연속과 이산 확률 변수
- 1.2.2 다중랜덤변수의 결합확률분포
- 1.3 조건부분포
- 1.3.1 베이즈 정리
- 1.3.2 독립 그리고 조건부 독립 랜덤변수
- 1.3.3 교환 가능한 랜덤변수
- 1.4 랜덤변수 기댓값
- 1.5 모델
- 1.5.1 모수 대 비모수 모델
- 1.5.2 모델로부터 추론
- 1.5.3 생성 모델
- 1.5.4 모델의 독립 가정
- 1.5.5 방향성 그래프 모델
- 1.6 시나리오 데이터로부터 학습
- 1.7 베이즈와 빈도주의 철학
- 1.8 요약
- 1.9 연습 문제
- 2장. 개요
- 2.1 개요: 베이지안 통계학과 NLP의 접점
- 2.2 첫 번째 연습 문제: 잠재 디리클레 할당 모델
- 2.2.1 디리클레분포
- 2.2.2 추론
- 2.2.3 요약 정리
- 2.3 두 번째 연습 문제: 베이지안 텍스트 회귀
- 2.4 결론과 요약
- 2.5 연습 문제
- 3장. 사전확률분포
- 3.1 켤레사전분포
- 3.1.1 켤레사전확률과 정규화 상수
- 3.1.2 잠재변수모델의 켤레사전확률 활용
- 3.1.3 켤레사전확률분포의 혼합
- 3.1.4 재정규화된 켤레분포
- 3.1.5 논의: 결합되거나 결합되지 않는다?
- 3.1.6 요약
- 3.2 다항분포와 카테고리분포에 대한 사전확률
- 3.2.1 디리클레분포 리뷰
- 3.2.2 로지스틱정규분포
- 3.2.3 논의
- 3.2.4 요약
- 3.3 비 - 정보성 사전확률분포
- 3.3.1 UNIFORM AND IMPROPER PRIORS
- 3.3.2 Jeffreys Prior
- 3.3.3 DISCUSSION
- 3.4 CONJUGACY AND EXPONENTIAL MODELS
- 3.5 모델이 갖는 다중 파라미터
- 3.6 구조적 사전확률분포
- 3.7 결론 및 정리
- 3.8 연습 문제
- 4장. 베이즈 추정
- 4.1 잠재변수를 통해 배워 볼 두 가지 관점
- 4.2 베이지안 점 추정
- 4.2.1 최대 사후확률 추정 방법
- 4.2.2 최대사후확률방법에 따른 사후확률분포 근사
- 4.2.3 결정이론 점 추정치
- 4.2.4 정리
- 4.3 실험적 베이즈 정리
- 4.4 사후확률분포의 점근적 행동
- 4.5 요약
- 4.6 연습 문제
- 5장. 샘플링(표집) 방법
- 5.1 MCMC 알고리즘: 개요
- 5.2 MCMC 추론을 위한 자연어 처리 모델 구조
- 5.2.1 잠재변수 분할법
- 5.3 깁스 샘플링
- 5.3.1 축소된 깁스 샘플링
- 5.3.2 연산자 관점
- 5.3.3 깁스 샘플러 병렬화
- 5.3.4 요약
- 5.4 메트로폴리스 - 헤이스팅스 알고리즘
- 5.4.1 메트로폴리스 - 헤이스팅스의 변형
- 5.5 분할 샘플링
- 5.5.1 보조변수 샘플링
- 5.5.2 자연어 처리에서 분할 샘플링과 보조변수 샘플링 사용법
- 5.6 시뮬레이션 어닐링
- 5.7 MCMC 알고리즘의 수렴
- 5.8 마르코프 체인: 기본 이론
- 5.9 MCMC 영역에 포함되지 않는 샘플링 알고리즘
- 5.10 몬테카를로 적분
- 5.11 논의
- 5.11.1 분포 측정 대 샘플링
- 5.11.2 내포 MCMC 샘플링
- 5.11.3 MCMC 샘플러의 실행 시간
- 5.11.4 파티클 필터링
- 5.12 결론과 요약
- 5.13 연습 문제
- 6장. 변분 추론
- 6.1 주변 로그우도에 대한 변분 경계
- 6.2 평균장 근사법
- 6.3 평균장 변분 추론 알고리즘
- 6.3.1 디리클레 - 다항변분 추론
- 6.3.2 기댓값 - 최대화 알고리즘과의 관계
- 6.4 변분 추론을 활용한 경험적 베이즈 방법
- 6.5 토의
- 6.5.1 추론 알고리즘 초기 설정
- 6.5.2 수렴 진단
- 6.5.3 디코딩을 위한 변분 추론
- 6.5.4 KL 발산 최소화를 위한 변분 추론
- 6.5.5 온라인 변분 추론
- 6.6 요약
- 6.7 연습 문제
- 7장. 비모수적 사전분포
- 7.1 디리클레 프로세스: 3가지 관점
- 7.1.1 막대 절단 프로세스
- 7.1.2 중국집 프로세스
- 7.2 디리클레 프로세스 혼합 모형
- 7.2.1 디리클레 프로세스 혼합 모형 기반 추론
- 7.2.2 혼합 모형들의 극한 디리클레 프로세스
- 7.3 계층적 디리클레 프로세스
- 7.4 피트만 - 요르 프로세스
- 7.4.1 언어 모델링을 위한 피트만 - 요르 프로세스
- 7.4.2 피트만 - 요르 프로세스의 멱법칙 성질
- 7.5 토의
- 7.5.1 가우시안 프로세스
- 7.5.2 인디언 뷔페 프로세스
- 7.5.3 내포 중국집 프로세스
- 7.5.4 거리 - 종속 중국집 프로세스
- 7.5.5 시퀀스 메모이저
- 7.6 요약
- 7.7 연습 문제
- 8장. 베이지안 문법 모델
- 8.1 베이지안 히든 마르코프 모델
- 8.1.1 무한 상태 공간에서의 히든 마르코프 모델
- 8.2 확률적 문맥 자유 문법
- 8.2.1 다항의 모음으로 구성된 PCFG
- 8.2.2 PCFG를 위한 기본적인 추론 알고리즘
- 8.2.3 PCFG 관점의 히든 마르코프 모델
- 8.3 베이지안 확률적 문맥 자유 문법
- 8.3.1 PCFG에 대한 사전분포
- 8.3.2 베이지안 PCFG를 활용한 몬테카를로 추론
- 8.3.3 베이지안 PCFG를 활용한 변분 추론
- 8.4 어댑터 문법
- 8.4.1 피트만 - 요르 어댑터 문법
- 8.4.2 막대 절단 관점의 PYAG
- 8.4.3 PYAG를 활용한 추론
- 8.5 계층적 디리클레 프로세스 PCFGS
- 8.5.1 HDP - PCFG 모델로 확장
- 8.6 종속적 문법
- 8.6.1 상태 분할 비모수적 종속 모델
- 8.7 동시발생적 문법
- 8.8 다중 언어 학습
- 8.8.1 품사 태깅
- 8.8.2 문법 유도
- 8.9 더 읽어보기
- 8.10 요약
- 8.11 연습 문제
- 9장. 특성 표현 학습과 신경망
- 9.1 신경망 및 특성 표현 학습: 왜 지금인가?
- 9.2 단어 임베딩
- 9.2.1 단어 임베딩을 위한 스킵 - 그램 모델
- 9.2.2 베이지안 스킵 - 그램 단어 임베딩
- 9.2.3 토의
- 9.3 신경망
- 9.3.1 빈도론자 추정 및 역전파 알고리즘
- 9.3.2 신경망 가중치에 대한 사전분포
- 9.4 현대 NLP에서의 신경망 활용도
- 9.4.1 Recurrent and Recursive 신경망
- 9.4.2 경사도 소멸 및 폭발 문제
- 9.4.3 신경망 기반 인코더 - 디코더 모델
- 9.4.4 Convolutional Neural Networks(CNN)
- 9.5 신경망 조정
- 9.5.1 정칙화
- 9.5.2 초매개변수 조정
- 9.6 신경망을 통한 생성 모델링
- 9.6.1 변분 오토인코더
- 9.6.2 생성 적대 신경망
- 9.7 결론
- 9.8 연습 문제
- 맺음말
- 부록 A. 기본 개념
- 부록 B. 분포 카탈로그