100% found this document useful (2 votes)
159 views54 pages

( 4 ) Sample

Uploaded by

형석김
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
159 views54 pages

( 4 ) Sample

Uploaded by

형석김
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

ARTIFICIAL INTELLIGENCE: A MODERN APPROACH, 4th Edition

by RUSSELL, STUART; NORVIG, PETER published by Pearson Education, Inc.

Copyright ⓒ 2021, 2020, 2003 by Pearson Educations, Inc. All rights reserved.

Authorized translation from the English language edition, entitled 


ARTIFICIAL INTELLIGENCE: A MODERN APPROACH, 4th Edition

No part of this book may be reproduced or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.

KOREAN language edition published by J-pub Co., Ltd. Copyright ⓒ 2021


KOREAN translation rights arranged with PEARSON EDUCATION, Inc., 
through AGENCY ONE, SEOUL KOREA

이 책의 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 (주)제이펍 출판사에 있습니다. 


저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단복제를 금합니다.

인공지능 1: 현대적 접근방식(제4판)


1쇄 발행 2021년 8월 25일

지은이 스튜어트 러셀, 피터 노빅


옮긴이 류 광
펴낸이 장성두
펴낸곳 주식회사 제이펍

출판신고 2009년 11월 10일 제406-2009-000087호


주소 경기도 파주시 회동길 159 3층 3-B호 / 전화 070-8201-9010 / 팩스 02-6280-0405
홈페이지 www.jpub.kr / 원고투고 [email protected] / 독자문의 [email protected] / 교재문의 [email protected]

편집부 김정준, 이민숙, 최병찬, 이주원 / 소통기획부 송찬수, 강민철 / 소통지원부 민지환, 김유미, 김수연
진행 김정준 / 교정 및 교열 오현숙 / 내지디자인 및 편집 조찬영
용지 타라유통 / 인쇄 한길프린테크 / 제본 보경문화사

ISBN 979-11-91600-31-5 (93000)


값 42,000원

※ 이 책은 저작권법에 따라 보호를 받는 저작물이므로 무단 전재와 무단 복제를 금지하며, 


이 책 내용의 전부 또는 일부를 이용하려면 반드시 저작권자와 제이펍의 서면동의를 받아야 합니다.
※ 잘못된 책은 구입하신 서점에서 바꾸어 드립니다.

제이펍은 독자 여러분의 아이디어와 원고 투고를 기다리고 있습니다. 책으로 펴내고자 하는 아이디어나 원고가 있는
분께서는 책의 간단한 개요와 차례, 구성과 저(역)자 약력 등을 메일([email protected])로 보내 주세요.
인공지능 현대적 접근방식 제4판
Artificial Intelligence
A Modern Approach
4th Edition

1
스튜어트 러셀� 피터 노빅 지음 / 류 광 옮김
※ 드리는 말씀
・ 이 책에 기재된 내용을 기반으로 한 운용 결과에 대해 저자, 역자, 소프트웨어 개발자 및 제공자, 제이펍 출판사는 일체의 책임을 지지 않으므로 양해 바랍니다.
・ 주요 용어에 대한 번역은 대학수학회의 수학용어집을 비롯해 관련 학회의 권위 있는 용어집과 위키백과 등을 따랐습니다. 다소 생소한 단어는 원어를 병기하였으며, 
찾아보기에도 수록해 두었음을 알려드립니다. (용어와 관련된 고민은 ‘옮긴이 머리말’에서 이어집니다.)
・ 이 책에 등장하는 각 회사명, 제품명은 일반적으로 각 회사의 등록 상표 또는 상표입니다. 본문 중에는 TM, Ⓒ, Ⓡ 마크 등이 표시되어 있지 않습니다.
・ 이 책은 두 권으로 나누어져 있으며, 1권에서 2권을 언급하거나 2권에서 1권을 언급할 때는 원문자 ‘❶(1권), ❷(2권)’로 표기하였습니다.
・ 이 책에서는 참고문헌을 대괄호([ ])나 소괄호(( ))를 사용하여 [저자, 연도] 식으로 표기하였습니다. 대괄호나 소괄호로 언급된 참고문헌에 대한 정보는 2권에서
찾아볼 수 있습니다(저자와 연도가 동일하나 다른 내용의 참고문헌일 경우 연도에 알파벳을 붙여 차별화했습니다).
 [Korf, 1985a]
・ ‘§’ 기호는 절(section 또는 subsection)을 의미합니다.
・ ‘찾아보기’는 독자들의 효율적인 용어 검색을 위해 PDF로도 제공되며, 제이펍 홈페이지(www.jpub.kr)의 이 책 소개 페이지에서 다운로드할 수 있습니다.
・ 이 책의 원서와 관련된 자료(소스 코드, 그림 등)는 다음의 사이트에서 다운로드할 수 있습니다. 
http://aima.cs.berkeley.edu/

・ 전판인 3판까지는 책의 본문에 실렸던 연습문제가 4판에서는 원서부터가 웹 제공으로 바뀌었으나, 21년 8월 현재까지 완성되지 않은 상태여서 책에 번역하여 
싣지 못한 연습문제 영문 링크를 다음과 같이 알려드립니다. 
https://aimacode.github.io/aima-exercises/ (단축 URL: https://bit.ly/AIprob)

・ 이 책에서 소개한 URL, 연습문제 링크 등은 시간이 지나면 변경될 수 있습니다.


・ 설명의 용이성을 위해서 책에 프린트된 결과가 실제 코드 결과와 상이한 경우가 있습니다.
・ 책의 내용과 관련된 문의 사항은 옮긴이나 출판사로 연락해 주시기 바랍니다.
- 옮긴이: http://occamsrazr.net/book/AiModernApproach4th (단축 URL: https://bit.ly/AI4th)
- 출판사: [email protected]
로이, 고든, 루시, 조지, 아이작에게 ― S.J.R.

크리스, 이사벨라, 줄리엣에게 ― P.N.


차례
• 옮긴이 머리말 ·········································· xv
• 머리말 ···················································· xvii
• 베타리더 후기 ········································ xxii

1권

PART I 인공지능

CHAPTER 1 소개 ∙ 3
1.1 인공지능이란 무엇인가? ·············································································· 4
1.2 인공지능의 기반 학문 ··············································································· 10
1.3 인공지능의 역사 ························································································ 25
1.4 인공지능의 현황 ························································································ 38
1.5 인공지능의 위험과 혜택 ············································································ 43
‣‣ 요약 ······································································································ 47
‣‣ 참고문헌 및 역사적 참고사항 ····························································· 49

CHAPTER 2 지능적 에이전트 ∙ 51


2.1 에이전트와 환경 ························································································ 52
2.2 좋은 행동: 합리성 개념 ············································································ 55
2.3 환경의 본성 ······························································································· 59
2.4 에이전트의 구조 ························································································ 65
‣‣ 요약 ······································································································ 81
‣‣ 참고문헌 및 역사적 참고사항 ····························································· 82

vi 차례
PART II 문제 해결

CHAPTER 3 검색을 통한 문제 해결 ∙ 87
3.1 문제 해결 에이전트 ··················································································· 88
3.2 문제의 예 ··································································································· 92
3.3 검색 알고리즘들 ························································································ 97
3.4 정보 없는 검색 전략 ··············································································· 104
3.5 정보 있는 검색(발견적 검색) 전략들 ····················································· 114
3.6 발견적 함수 ······························································································ 130
‣‣ 요약 ···································································································· 140
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 141

CHAPTER 4 복잡한 환경의 검색 ∙ 147


4.1 국소 검색과 최적화 문제 ········································································ 147
4.2 연속 공간의 국소 검색 ············································································ 157
4.3 비결정론적 동작들을 수반한 검색 ·························································· 161
4.4 부분 관측 가능 환경의 검색 ··································································· 167
4.5 온라인 검색 에이전트와 미지 환경 ························································ 177
‣‣ 요약 ···································································································· 185
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 186

CHAPTER 5 대립 검색과 게임 ∙ 191


5.1 게임 이론 ································································································· 191
5.2 게임의 최적 결정 ····················································································· 194
5.3 발견적 알파베타 트리 검색 ····································································· 203
5.4 몬테카를로 트리 검색 ·············································································· 210
5.5 확률적 게임 ······························································································ 214
5.6 부분 관측 가능 게임 ··············································································· 218
5.7 게임 검색 알고리즘들의 한계 ································································· 224
‣‣ 요약 ···································································································· 226
‣‣ 참고문헌 및 역사적 참고사항 ························································· 227

CHAPTER 6 제약 충족 문제 ∙ 235
6.1 제약 충족 문제의 정의 ············································································ 236
6.2 제약 전파: CSP의 추론 ·········································································· 242
6.3 CSP를 위한 역추적 검색 ······································································· 250

차례 vii
6.4 CSP를 위한 국소 검색 ··········································································· 257
6.5 문제의 구조 ······························································································ 259
‣‣ 요약 ···································································································· 265
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 266

PART III 지식, 추론, 계획 수립

CHAPTER 7 논리적 에이전트 ∙ 273


7.1 지식 기반 에이전트 ················································································· 274
7.2 웜퍼스 세계 ······························································································ 276
7.3 논리 ·········································································································· 280
7.4 명제 논리: 아주 간단한 논리 ································································· 284
7.5 명제 정리 증명 ························································································ 291
7.6 효과적인 명제 모형 점검 ········································································ 304
7.7 명제 논리에 기초한 에이전트 ································································· 310
‣‣ 요약 ···································································································· 322
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 323

CHAPTER 8 1차 논리 ∙ 327
8.1 표현의 재고찰 ·························································································· 327
8.2 1차 논리의 구문과 의미론 ······································································· 333
8.3 1차 논리의 활용 ······················································································· 346
8.4 1차 논리의 지식 공학 ·············································································· 354
‣‣ 요약 ···································································································· 361
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 362

CHAPTER 9 1차 논리의 추론 ∙ 365


9.1 명제 추론 대 1차 추론 ············································································ 365
9.2 단일화와 1차 추론 ··················································································· 368
9.3 순방향 연쇄 ······························································································ 374
9.4 역방향 연쇄 ······························································································ 382
9.5 분해 ·········································································································· 389
‣‣ 요약 ···································································································· 403
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 404

viii 차례
CHAPTER 10 지식 표현 ∙ 409
10.1 온톨로지 공학 ························································································ 410
10.2 범주와 객체 ···························································································· 413
10.3 사건 ········································································································ 420
10.4 정신적 객체와 양상 논리 ······································································ 425
10.5 범주 추론 시스템 ··················································································· 429
10.6 기본 정보를 이용한 추론 ······································································ 434
‣‣ 요약 ·································································································· 440
‣‣ 참고문헌 및 역사적 참고사항 ························································· 441

CHAPTER 11 자동 계획 수립 ∙ 449
11.1 고전적 계획 수립의 정의 ······································································ 450
11.2 고전적 계획 수립을 위한 알고리즘들 ··················································· 455
11.3 계획 수립을 위한 발견적 함수 ····························································· 460
11.4 위계적 계획 수립 ··················································································· 465
11.5 비결정론적 정의역에서의 계획 수립과 실행 ········································ 476
11.6 시간, 일정, 자원 ···················································································· 488
11.7 계획 수립 접근방식들의 분석 ······························································· 493
‣‣ 요약 ·································································································· 494
‣‣ 참고문헌 및 역사적 참고사항 ························································· 495

PART IV 불확실한 지식과 추론

CHAPTER 12 불확실성의 정량화 ∙ 505


12.1 불확실성하에서의 행동 ·········································································· 505
12.2 기본적인 확률 표기법 ············································································ 510
12.3 완전 결합 분포를 이용한 추론 ····························································· 518
12.4 독립성 ····································································································· 522
12.5 베이즈 규칙과 그 용법 ·········································································· 523
12.6 단순 베이즈 모형 ··················································································· 528
12.7 웜퍼스 세계의 재고찰 ············································································ 530
‣‣ 요약 ·································································································· 534
‣‣ 참고문헌 및 역사적 참고사항 ························································· 535

차례 ix
CHAPTER 13 확률적 추론 ∙ 539
13.1 불확실한 문제 영역의 지식 표현 ·························································· 539
13.2 베이즈망의 의미론 ················································································· 542
13.3 베이즈망의 정확 추론 ············································································ 558
13.4 베이즈망의 근사 추론 ············································································ 568
13.5 인과망 ····································································································· 585
‣‣ 요약 ·································································································· 591
‣‣ 참고문헌 및 역사적 참고사항 ························································· 591

CHAPTER 14 시간에 따른 확률적 추론 ∙ 599


14.1 시간과 불확실성 ····················································································· 600
14.2 시간적 모형의 추론 ··············································································· 605
14.3 은닉 마르코프 모형 ··············································································· 615
14.4 칼만 필터 ······························································································· 622
14.5 동적 베이즈망 ························································································ 630
‣‣ 요약 ·································································································· 643
‣‣ 참고문헌 및 역사적 참고사항 ························································· 644

CHAPTER 15 확률적 프로그래밍 ∙ 647


15.1 관계 확률 모형 ······················································································ 648
15.2 열린 모집단 확률 모형 ·········································································· 656
15.3 복잡한 세계의 추적 ··············································································· 665
15.4 확률 모형으로서의 프로그램 ································································· 670
‣‣ 요약 ·································································································· 676
‣‣ 참고문헌 및 역사적 참고사항 ························································· 676

CHAPTER 16 간단한 의사결정 ∙ 683


16.1 불확실성하에서의 믿음과 욕구의 결합 ················································· 684
16.2 효용이론의 기초 ····················································································· 685
16.3 효용 함수 ······························································································· 689
16.4 다중 특성 효용 함수 ············································································· 699
16.5 의사결정망 ······························································································ 705
16.6 정보의 가치 ···························································································· 708
16.7 미지의 선호도 ························································································ 716
‣‣ 요약 ·································································································· 720
‣‣ 참고문헌 및 역사적 참고사항 ························································· 721

x 차례
CHAPTER 17 복잡한 의사결정 ∙ 727
17.1 순차적 의사결정 문제 ············································································ 727
17.2 MDP를 위한 알고리즘들 ······································································· 740
17.3 강도 문제 ······························································································· 750
17.4 부분 관측 가능 MDP ············································································ 759
17.5 POMDP를 푸는 알고리즘 ····································································· 762
‣‣ 요약 ·································································································· 768
‣‣ 참고문헌 및 역사적 참고사항 ························································· 769

CHAPTER 18 다중 에이전트 의사결정 ∙ 775


18.1 다중 에이전트 환경의 특징 ··································································· 775
18.2 비협력 게임 이론 ··················································································· 783
18.3 협력 게임 이론 ······················································································ 809
18.4 집합적 의사결정 ····················································································· 818
‣‣ 요약 ·································································································· 835
‣‣ 참고문헌 및 역사적 참고사항 ························································· 836

• 찾아보기 ·················································· 843

2권

PART V 기계학습

CHAPTER 19 견본에서 배우는 학습 ∙ 3


19.1 학습의 여러 형태 ······················································································· 4
19.2 지도학습 ····································································································· 6
19.3 결정 트리의 학습 ····················································································· 11
19.4 모형 선택과 최적화 ················································································· 21
19.5 학습 이론 ································································································· 30
19.6 선형 회귀와 분류 ····················································································· 35
19.7 비매개변수 모형 ······················································································· 47
19.8 앙상블 학습 ······························································································ 59
19.9 기계학습 시스템 개발 ·············································································· 69
‣‣ 요약 ···································································································· 81
‣‣ 참고문헌 및 역사적 참고사항 ··························································· 82

차례 xi
CHAPTER 20 확률 모형의 학습 ∙ 89
20.1 통계적 학습 ······························································································ 90
20.2 완전 데이터를 이용한 학습 ····································································· 93
20.3 은닉 변수가 있는 학습: EM 알고리즘 ················································· 109
‣‣ 요약 ·································································································· 119
‣‣ 참고문헌 및 역사적 참고사항 ························································· 120

CHAPTER 21 심층학습 ∙ 125


21.1 단순 순방향 신경망 ··············································································· 127
21.2 심층학습을 위한 계산 그래프 ······························································· 133
21.3 합성곱 신경망 ························································································ 137
21.4 학습 알고리즘 ························································································ 144
21.5 일반화 ····································································································· 148
21.6 순환 신경망 ···························································································· 153
21.7 비지도학습과 전이학습 ·········································································· 157
21.8 응용 ········································································································ 165
‣‣ 요약 ·································································································· 168
‣‣ 참고문헌 및 역사적 참고사항 ························································· 168

CHAPTER 22 강화학습 ∙ 173


22.1 보상 기반 학습 ······················································································ 173
22.2 수동 강화학습 ························································································ 176
22.3 능동 강화학습 ························································································ 183
22.4 강화학습의 일반화 ················································································· 191
22.5 정책 검색 ······························································································· 199
22.6 견습 학습과 역강화학습 ········································································ 202
22.7 강화학습의 응용 ····················································································· 206
‣‣ 요약 ·································································································· 209
‣‣ 참고문헌 및 역사적 참고사항 ························································· 211

PART VI 의사소통, 지각, 행동

CHAPTER 23 자연어 처리 ∙ 217


23.1 언어 모형 ······························································································· 218
23.2 문법 ········································································································ 231
23.3 파싱 ········································································································ 233

xii 차례
23.4 증강 문법 ······························································································· 240
23.5 실제 자연어의 복잡한 사항들 ······························································· 246
23.6 자연어 처리 과제들 ··············································································· 250
‣‣ 요약 ·································································································· 252
‣‣ 참고문헌 및 역사적 참고사항 ························································· 253

CHAPTER 24 자연어 처리를 위한 심층학습 ∙ 259


24.1 단어 내장 ······························································································· 260
24.2 NLP를 위한 순환 신경망 ······································································ 264
24.3 순차열 대 순차열 모형 ·········································································· 268
24.4 트랜스포머 구조 ····················································································· 274
24.5 사전훈련과 전이학습 ·············································································· 277
24.6 현황 ········································································································ 282
‣‣ 요약 ·································································································· 285
‣‣ 참고문헌 및 역사적 참고사항 ························································· 285

CHAPTER 25 컴퓨터 시각 ∙ 289


25.1 소개 ········································································································ 289
25.2 이미지 형성 ···························································································· 291
25.3 단순 이미지 특징 ··················································································· 298
25.4 이미지 분류 ···························································································· 306
25.5 물체 검출 ······························································································· 311
25.6 3차원 세계 ····························································································· 314
25.7 컴퓨터 시각의 용도 ··············································································· 319
‣‣ 요약 ·································································································· 334
‣‣ 참고문헌 및 역사적 참고사항 ························································· 335

CHAPTER 26 로봇공학 ∙ 341


26.1 로봇 ······································································································ 341
26.2 로봇 하드웨어 ······················································································ 342
26.3 로봇공학이 푸는 문제들 ······································································ 347
26.4 로봇 지각 ····························································································· 349
26.5 계획 수립과 제어 ················································································· 357
26.6 불확실한 운동의 계획 ·········································································· 378
26.7 로봇공학의 강화학습 ············································································ 381
26.8 인간과 로봇 ·························································································· 384
26.9 로봇공학의 또 다른 틀 ········································································ 394
26.10 응용 영역 ····························································································· 397
‣‣ 요약 ································································································ 400
‣‣ 참고문헌 및 역사적 참고사항 ······················································· 402

차례 xiii
PART VII 결론

CHAPTER 27 인공지능의 철학, 윤리학, 안전 ∙ 411


27.1 인공지능의 한계 ····················································································· 411
27.2 기계가 정말로 생각할 수 있을까? ······················································· 416
27.3 인공지능의 윤리 ····················································································· 418
‣‣ 요약 ·································································································· 443
‣‣ 참고문헌 및 역사적 참고사항 ························································· 443

CHAPTER 28 인공지능의 미래 ∙ 451


28.1 인공지능의 구성요소 ·············································································· 452
28.2 인공지능 구조 ························································································ 459

APPENDIX A 수학적 배경 ∙ 465


A.1 복잡도 분석과 O( ) 표기법 ··································································· 465
A.2 벡터, 행렬, 선형대수 ············································································· 468
A.3 확률분포 ································································································· 470
‣‣ 참고문헌 및 역사적 참고사항 ························································· 473

APPENDIX B 언어와 알고리즘에 관해 ∙ 475


B.1 BNF를 이용한 언어의 정의 ·································································· 475
B.2 알고리즘 서술에 쓰이는 의사코드 ························································ 476
B.3 온라인 보조 자료 ··················································································· 478

• 참고문헌 ·················································· 479


• 찾아보기 ·················································· 537

xiv 차례



머리

전 세계 1,500여 대학에서 교재로 쓰이는 대표적인 인공지능 교과서를 다시금 번역하게


되어 영광입니다. 2016년에 나온 제3판 번역서는 2010년대의 인공 신경망의 부활과 심층
학습의 눈부신 성과가 반영되지 않은 원서(2009년 출간)를 옮겼다는 점에서 다소 아쉬웠
습니다. 이번 제4판 번역서는 최근 성과를 충실하게 반영한, 2020년에 출간된 원서를 옮긴
것이라 이 분야의 ‘좀 더 통합된 상’을 원하는 여러 독자의 갈증을 해소하는 데 도움이 되리라
믿습니다. 제3판과 제4판의 차이점은 저자 머리말의 “제4판에서 새로운 점들”에 요약되
어 있는데, 다들 짐작하시겠지만 기계학습에 좀 더 무게가 실렸습니다.
제3판 번역서와 마찬가지로, 원서가 대학교재로 쓰이는 전공서적 또는 학술서라는 점
과 인공지능이 2010년대 중반에 어디서 갑자기 나타난 분야가 아니라 다른 여러 학문과 연계
해서 오랫동안 발전해 온 분야라는 점을 고려해서 용어 선택 시 철학, 수학, 논리학, 경제학,
생물학, 신경과학, 제어이론, 컴퓨터 과학(전산학), 언어학, 생물학 등 관련 분야의 학회
용어집과 자료, 논문을 중요하게 참고했습니다. 기존 용어가 문맥과 잘 맞지 않거나 다른
분야의 용어와 충돌하는 경우에는 적절히 변형하거나 취사선택했다는 점도 제3판 번역서와
(2018)과《신경망과
마찬가지입니다. 기계학습과 관련된 장(chapter)들에서는《심층 학습》
(2019),《파이썬으로 배우는 자연어 처리 인 액션》(2020) 등 2010년대 후반에
심층 학습》
제이펍에서 출간한 여러 인공지능 전문서에 쓰인 용어와 어법을 주되게 채용했습니다. 많
은 대학이 원서로 수업을 진행하고 연구자나 현업 개발자들도 영어 반 한국어 반의 문장
으로 의사소통하는 것이 현실이지만, 이 분야의 저변을 확대하고 논의를 심화하려면 용어
와 어법에 관한 고민이 필요할 것입니다. 이 책의 용어와 어법이 그런 노력의 단서가 되
었으면 좋겠습니다.
제3판에 이어 다시금 제게 번역을 맡겨 주신 제이펍 장성두 대표님과 현실적인 제약
으로 다소 서둘러 마무리한 번역 원고를 꼼꼼하고 열정적으로 검토해서 출판 가능한 품질로
끌어올려 주신 김정준 부장님, 길고 복잡하고 수식 많은 원고를 훌륭히 조판하신 조찬영 님을
비롯해 이 책의 출간에 기여한 모든 분께 감사드립니다. 그리고 교정 전문가로서 꼭꼭
숨어 있던 중요한 오타와 오역을 무수히 잡아낸 아내 오현숙에게 감사와 사랑의 마음을
전합니다.

옮긴이 머리말 xv
좋은 번역서를 만들기 위해 많은 분이 힘써 주셨지만, 그래도 여전히 오탈자와 오
역이 남아 있을 것입니다. 제 홈페이지에 이 책의 오탈자와 오역 제보를 위한 공간
(http://occamsrazr.net/book/AiModernApproach4th, 단축 URL: https://bit.ly/
AI4th)을 마련해 두었습니다. 번역에 대한 의견이나 질문도 환영합니다.
재미있게 읽으시길!

옮긴이 류광

xvi 옮긴이 머리말


머리

인공지능(Artificial Intelligence, AI)은 넓은 분야이고, 이 책 또한 두꺼운 책이다. 이 책


에서 우리(저자들)는 논리학, 확률, 연속수학 같은 관련 학문과 지각, 추론, 학습, 동작
같은 주요 개념, 신뢰, 사회적 선 같은 윤리적 문제, 그리고 초소형 전자기기에서 로봇
행성 탐사 차량, 사용자가 수십억 명인 온라인 서비스에 이르는 다양한 응용 방법 등 인
공지능 분야의 전 면모를 다루고자 했다.
이 책의 부제는 ‘현대적 접근방식’이다. 이런 부제를 붙인 것은 우리가 현재의 관점
에서 인공지능을 이야기하기로 했기 때문이다. 이 책은 현재 공통의 틀로 간주되는 것들을
조합하고, 과거의 성과를 오늘날 의미 있는 개념과 용어로 다시 설명한다. 그 결과로 이
책이 덜 중요하게 다루는 하위 분야에 종사하는 분들에게는 심심한 사죄의 말씀을 전한다.

제4판에서 새로운 점들
이번 제4판은 2010년 제3판 이후 인공지능 분야에 생긴 변화를 반영한다.

• 사람이 손으로 짜는 지식 공학보다는 기계학습에 좀 더 무게를 실었다. 기계학습은


가용 데이터와 컴퓨팅 자원이 증가하고 새로운 알고리즘들이 등장한 덕분에 큰 성
공을 거두고 있다.
• 심층학습, 확률적 프로그래밍, 다중 에이전트 시스템을 각각 개별적인 장(챕터)으로
두어서 좀 더 자세히 다룬다.
• 자연어 이해, 로봇공학, 컴퓨터 시각에 관한 장들을 심층학습이 끼친 영향을 반영
해서 수정했다.
• 로봇공학 장에 사람과 상호작용하는 로봇에 관한 내용과 강화학습을 로봇공학에
적용하는 방법에 관한 내용이 추가되었다.
• 이전에는 인공지능의 목표를 사람이 구체적인 효용 정보(목적함수)를 제공한다는
가정하에서 기대 효용을 최대화하려는 시스템을 만드는 것이라고 정의했다. 그러
나 이번 판에서는 목적함수가 고정되어 있으며 인공지능 시스템이 목적함수를 알

머리말 xvii
고 있다고 가정하지 않는다. 대신, 시스템은 자신이 봉사하는 인간의 진짜 목적이
무엇인지 확실하게 알지 못할 수 있다고 가정한다. 시스템은 반드시 자신이 무엇을
최대화할 것인지를 배워야 하며, 목적에 관해 불확실성이 존재하더라도 적절히 작
동해야 한다.
• 인공지능이 사회에 미치는 영향을 좀 더 자세하게 다루었다. 여기에는 윤리, 공정
성, 신뢰, 안정성에 관한 핵심적인 문제들을 고찰한다.
• 각 장 끝의 연습문제들을 온라인 사이트로 옮겼다. 덕분에 강사들의 요구와 이 분
야 및 인공지능 관련 소프트웨어 도구의 발전에 맞게 연습문제들을 계속 추가, 갱
신, 개선할 수 있게 되었다.
• 전체적으로, 책의 약 25%가 완전히 새로운 내용이고 나머지 75%도 이 분야의 좀
더 통합된 상을 제시하기 위해 크게 재작성되었다. 이번 판에서 인용한 문헌의
22%는 2010년 이후에 출판된 것이다.

이 책의 개요
이 책을 관통하는 주된 주제는 지능적 에이전트(intelligent agent)라는 개념이다. 이 책은
인공지능이라는 것을 환경으로부터 지각(percept)을 받고 동작을 수행하는 에이전트에
대한 연구로 정의한다. 그러한 각 에이전트는 일련의 지각들을 동작들에 대응시키는 하
나의 함수를 구현한다. 이 책은 그러한 함수를 표현하는 다양한 방식, 이를테면 반사 에
이전트, 실시간 계획 수립기, 결정이론적 시스템, 심층학습 시스템을 논의한다. 이 책은
학습을 경쟁력 있는 시스템을 구축하는 방법이라는 측면과 그리고 설계자의 포괄 범위
를 미지의 환경으로까지 확장하는 수단이라는 측면으로 살펴본다. 이 책은 로봇공학과
컴퓨터 시각을 개별적으로 정의된 문제가 아니라 목표 달성 과정 중 제기되는 문제로 취
급한다. 이 책은 적절한 에이전트 설계를 결정할 때 과제 환경의 중요성을 강조한다.
이 책의 주된 목표는 지난 70년간의 인공지능 연구와 지난 수백 년간의 관련 연구
에서 나온 착안(idea)들을 독자에게 전달하는 것이다. 그런 착안들을, 정밀함을 유지하면
서도 너무 형식적이지 않은 방식으로 제시하고자 노력했다. 핵심 착안을 구체적으로 이
해하는 데 도움이 되는 수학 공식과 의사코드 알고리즘들도 제시한다. 부록 A는 관련
수학 개념과 표기법을, 부록 B는 이 책에 쓰이는 의사코드의 문법을 소개한다.
이 책은 기본적으로 대학 학부생용 강좌(들)의 교과서로 쓰일 것을 염두에 두고 저
술한 것이다. 이 책은 총 28장으로 되어 있으며, 각 장은 대략 한 주(week)의 강의 분량
이다. 따라서 책 전체를 떼려면 두 학기가 걸릴 것이다. 강사와 학생의 관심사에 맞는 장
들을 선택해서 한 학기 과정을 만드는 것도 가능할 것이다. 이 책을 대학원생 수준의 강
좌에 사용할 수도 있고(필요하다면 참고문헌 부분에 제시된 몇몇 1차 출전들을 추가해

xviii 머리말
서), 독학서 또는 참고자료로 사용할 수도 있다.
책 전반에서 중요한 사항을 여백에 삼각형 아이콘으로 표시해 두었다. 새로운 용어
새로운 용어 를 처음 정의할 때도 여백에 해당 용어를 표시해 두었다. 그 용어가 이후에 주요하게 쓰
일 때는 굵은 글씨로 표시하되, 여백에는 표시하지 않았다. 책 끝에는 방대한 참고문헌
과 상세한 찾아보기가 있다.
이 책의 학습에 필요한 사전 조건은 컴퓨터 과학의 기본 개념들(알고리즘, 자료구
조, 복잡도)을 학부 2학년 수준으로 이해하고 있어야 한다는 것뿐이다. 몇몇 주제에 대해
서는 학부 1학년 수준의 미적분학과 선형대수 지식이 도움이 된다.

온라인 자료
원서 출판사가 관리하는 pearsonhighered.com/cs-resources 또는 저자들이 관리
하는 aima.cs.berkeley.edu는 다음과 같은 보충 자료를 온라인으로 제공한다.

• 연습문제, 프로그래밍 프로젝트, 연구 프로젝트들. 각 장 끝에 있던 것들이 이제는 온


라인으로 옮겨졌다. 본문에서는 연습문제를 ‘연습문제 ’ 같은 이름으로 지칭
한다. 웹사이트에 연습문제를 이름이나 장으로 찾는 방법이 나와 있다.
• 이 책의 알고리즘들을 파이썬, 자바, 또는 기타 프로그래밍 언어로 구현한 예제 코드
(현재는 github.com/aimacode에 있다).
• 이 책을 교재로 사용하는 학교들(1,500개 이상)의 목록. 해당 온라인 강좌 자료와 강의
계획표로의 링크가 있는 항목들도 많다.
• 인공지능에 관한 유용한 내용을 담은 웹사이트 · 웹 페이지들(800개 이상)의 소개와 링크
• 학생과 강사를 위한 보충 자료와 링크들
• 책의 오류(아마 있을 것이다)를 보고하는 방법
• 강의용 슬라이드나 기타 자료

앞표지에 대해
앞표지는 1997년에   프로그램이 체스 세계 챔피언 게리 카스파로프Garry
Kasparov
를 물리친 체스 시합에서 승리를 결정지은 제6국의 마지막 국면을 표현한 것이다.
흑을 플레이한 카스파로프가 패배를 인정함으로써, 이 시합은 컴퓨터가 세계 챔피언을
이긴 최초의 사건으로 기록되었다. 상단에 카스파로프의 사진이 나와 있다. 사진 오른쪽

머리말 xix
은 전 바둑 세계 챔피언 이세돌과 딥마인드의  프로그램이 벌인 역사적인 바
둑 시합 중 제2국의 결정적인 국면이다. 의 제37수는 수 세기 동안 이어진 바
둑 정석을 위반했으며, 당시 인간 전문가들은 이를 실착으로 간주했지만 복기 후에 이것
이 승리의 한 수였음이 밝여졌다. 왼쪽 위는 Boston Dynamics 사가 만든 인간형 로봇
Atlas이다. 세계 최초의 컴퓨터 프로그래머인 에이다 러블레이스Ada Lovelace
와 기초 연구
로 인공지능을 정의한 앨런 튜링 사이에 자율주행차가 주변 환경을 감지하는 모습이 묘
사되어 있다. 체스판 제일 아래에는 화성 탐사 로버(Mars Exploration Rover)와 아리스토
텔레스의 흉상이 있다. 더 아래 왼쪽의 저자 이름들 뒤로 아리스토텔레스의 동물론(De
Motu Animalium)에 나온 계획 수립 알고리즘이 보인다. 체스판 전체에 깔린 것은 UN 포
괄적 핵실험 금지 조약 기구가 지진 신호에서 핵 폭발을 감지하는 데 사용하는 확률적
프로그래밍 모형의 코드이다.
이미지 제공: Stan Honda/Getty(카스파로프), Library of Congress(베이즈), NASA(화
성 탐사 로버), National Museum of Rome(아리스토텔레스), Peter Norvig(책), Ian Parker
(버클리 풍경), Shutterstock(아시모와 체스 기물들), Time Life/Getty(셰이키와 튜링).

감사의 글
이 책을 만드는 데 전 세계의 많은 이가 참여했다. 600명이 넘는 사람이 이 책의 일부를
읽고 개선안을 제시했다. 모든 참여자의 명단이 aima.cs.berkeley.edu/ack.html에
있다. 우리는 이분들 모두에게 감사한다. 지면의 한계로 여기서는 특히나 중요한 기여자
몇 명만 나열한다. 우선, 다음은 글을 기여한 저자들이다.

• 주디아 펄Judea Pearl


(§13.5 인과망)
Vikash Mansinghka
• 비카슈 마싱카 (§15.4 확률 모형으로서의 프로그램)
Michael Wooldridge
• 마이클 울드리지 (제18장 다중 에이전트 의사결정)
Ian Goodfellow
• 이안 굿펠로 (제21장 심층학습)
Jacob Devlin
• 제이콥 데블린 과 메이윙 창Mei-Wing Chang(제24장 자연어 처리를 위한 심층학습)
• 지텐드라 말릭Jitendra Malik
과 데이비드 포사이스David Forsyth
(제25장 컴퓨터 시각)
Anca Dragan
• 앙카 드라간 (제26장 로봇공학)

그리고 다음은 주요 직무를 수행한 사람들이다.

• 신시아 융Cynthia Yeung


과 말리카 캔터Malika Cantor
(프로젝트 관리)
Julie Sussman Tom Galloway
• 줄리 서스먼 과 톰 갤러웨이 (교정 및 교열)

xx 머리말
• 오마리 스티븐스Omari Stephens
(삽화)
Tracy Johnson
• 트레이시 존슨 (편집)
Erin Ault
• 에린 올트 와 로즈 커넌Rose Kernan
(표지 및 색상 변환)
Nalin Chhibber Sam Goto
• 날린 치버 , 샘 고토 , 레이몬드 드 라카제Raymond de Lacaze
, 라비 모한
Ravi Mohan Ciaran O’Reilly Amit Patel
, 키어런 오라일리 , 아미트 파텔 , 라고미르 라디프Dragomir
Radiv
, 사마그라 샴라Samagra Sharma
(온라인 코드 개발 및 멘토링)
• 구글 Summer of Code 학생들(온라인 코드 개발)

저자 스튜어트 러셀은 끝없는 인내와 무한한 지혜를 보여준 그의 아내 셰플롯에게


감사한다. 그는 로이, 고든, 루시, 조지, 아이작이 어서 커서 그토록 오랫동안 책에 매달
린 자신을 용서하고 이 책을 읽게 되길 희망한다. 항상 그렇듯이, RUG(Russell’s
Unusual Group of Students; 러셀의 특별한 학생 그룹)는 이상할 정도로 도움이 되었다.
저자 피터 노빅은 이 일을 시작하게 한 부모님(토르스텐과 게르다)께, 그리고 책을
쓰는 오랜 시간과 다시 쓰는 그보다 오랜 시간 동안 그를 격려하고 참아준 그의 아내(크
리스)와 자식들(벨라와 줄리엣), 동료들, 상사, 그리고 친구들에게 감사한다.

머리말 xxi




후기

강미희
인공지능, 양자컴퓨터 등이 한창 화두가 되고 있는 이때, 인공지능의 4판이 나온다고 하여 무
척 반가웠습니다. 이 책은 인공지능이 무엇인지에 대한 정의부터 지금까지 연구되어온 인공지
능의 주요한 내용이 포함된 책인 만큼 방대한 내용을 다루고 있습니다. 인공지능을 공부하는
사람들에게 아주 유용한 책이 될 것 같습니다.

송헌(루닛)
인공지능을 하나의 학문으로서 공부하고 싶으신 분들에게 좋은 길잡이가 되어줄 책입니다. 다
양한 관점에서 인공지능을 바라보며 그에 대한 해석과 앞으로 어떠한 방향으로 공부를 더 해
나갈 수 있을지를 제시해주며, 수식도 많지 않으면서 용어 대부분과 설명을 굉장히 엄밀하게
정의하고 있습니다. 다만, 그만큼 도구로서가 아닌 학문으로서 인공지능을 처음 접하시는 분들
에게는 다소 어려운 내용이 될 수 있습니다.

이동욱(한국 오라클)
수학과 통계학에 대한 전공자 수준의 지식이 없다면 매우 어려운 책이지만, 다 이해하지 못해
도 끝까지 읽다 보면 한 파트, 한 파트마다 새로운 무언가를 배울 수 있는 책입니다.

이석곤(엔컴)
인공지능을 정말 제대로 공부하고 싶다면 주저 없이 이 책을 강력히 추천합니다. 인공지능의
처음과 끝이 모두 있다고 할 수 있을 정도로 방대한 내용을 다루고 있습니다. 복잡한 내용을
명확한 서술과 다양한 예제와 비유로 쉽게 설명하려는 노력이 돋보이며, 깊고 넓은 수준의 내
용을 다루고 있어 입문자와 인공지능 현업 담당자 모두에게 도움이 되리라 생각합니다.

xxii 베타리더 후기
정욱재(당근마켓)
이 책은 인공지능을 배우는 데 필요한 다양한 지식을 담고 있습니다. 전통적인 인공지능 이론
부터 최신 알고리즘까지 모두 다루고 있습니다. 분명한 것은, 처음 접하는 분들에게는 다소 어
려울 수 있지만, 인공지능의 정석 같은 입문서이면서 끝까지 읽어볼 충분한 가치가 있는 좋은
책이라는 점입니다.

조원양(스마트사운드)
이 책은 지능적인 에이전트라는 키워드를 가지고 인공지능의 아주 광범위한 분야를 다루고 있습
니다. 인공지능의 밑바닥 기초부터 넓은 범위까지 공부를 하고 싶다면 도전해볼 만한 책입니다.

제이펍은 책에 대한 애정과 기술에 대한 열정이 뜨거운 베타리더의 도움으로


출간되는 모든 IT 전문서에 사전 검증을 시행하고 있습니다.

베타리더 후기 xxiii
Artificial
ArtificialIntelligence:
Intelligence A
A Modern Approach, 4th
Modern Approach, 4th Edition
Edition

I
PART

인공지능
CHAPTER 1 소개
CHAPTER 2 지능적 에이전트
소개

이번 장에서는 인공지능이 대단히 가치 있는 연구 주제인 이유를 설명하고, 인공지능이


과연 무엇인지 정의한다. 인공지능을 미리 정확하게 정의해 두면 이후의 논의가 수월할
것이다.

현생 인류를 가리켜 ‘현명한 사람’이라는 뜻의 호모 사피엔스Homo sapiens라고 부르는데, 이는


지능 사람에게 지능知能(intelligence)이 아주 중요하기 때문이다. 수천 년 동안 인류는 사람이 어떻
게 생각하고 행동하는가를, 다시 말해 단지 유기물 덩어리일 뿐인 인간의 뇌가 어떻게 자신
보다 훨씬 큰 세상을 인식하고, 이해하고, 예측하고 조작할 수 있는지를 이해하려 노력했
인공지능 다. 인공지능(artificial intelligence, AI)이라는 분야는 지능을 이해하는 것뿐만 아니라 지
능적인 실체, 그러니까 아주 다양한 새로운 환경에서 효과적이고 안전하게 행동하는 방
법을 계산해 낼 수 있는 기계를 실제로 구축(build)하는 문제까지 고려한다.
인공지능은 관련 설문 조사들에서 가장 흥미롭고 빠르게 성장하는 분야 중 하나에
오를 때가 많으며, 실제로 인공지능 분야는 매년 수조 달러의 수익을 거두고 있다. 인공
지능 전문가 카이 푸 리Kai-Fu Lee는 인공지능의 영향력이 “인류 역사의 그 어떤 것보다도
클 것”이라고 예측한다. 그러면서도 인공지능 분야의 지적 최전선(intellectual frontiers)은
넓게 열려 있다. 물리학 같은 유서 깊은 과학 분야의 학생이라면 최고의 발상들을 이미
갈릴레오나 뉴턴, 퀴리, 아인슈타인 등이 차지했다고 생각하겠지만, 인공지능 분야에는
전문 연구자의 개척을 기다리는 방대한 영역이 남아 있다.
현재 인공지능은 일반적인 분야(학습, 추론, 인지 등)에서부터 구체적인 분야(체스
두기, 수학 정리 증명, 시詩 쓰기, 자동차 운전하기, 질병 진단 등)에 이르기까지 대단히

3
다양한 하위 분야를 포괄한다. 인공지능은 모든 지적 과제에 연관된다. 그런 만큼 진정
으로 보편적인 분야라 할 수 있다.

1.1 인공지능이란 무엇인가?


앞에서 인공지능이 얼마나 흥미로운 분야인지 이야기했다. 그런데 인공지능이 과연 무엇
인지는 아직 이야기하지 않았다. 역사적으로 연구자들은 다양한 버전의 인공지능을 추구
합리성 했다. 지능이라는 것을 인간적인 수행 능력을 기준으로 정의한 연구자들도 있고 합리성
(rationality)이라는 추상적이고 공식적인 기준을 선호한 연구자들도 있었는데, 여기서 합
리성은 간단히 말하면 “옳은 일을 하는 것”이다. 연구 대상 자체도 다양한데, 어떤 연구
자는 지능을 내부적인 사고 과정(thought process)과 추론(reasoning)의 속성으로 간주하
는 반면 어떤 연구자는 외부적인 특성인 지능적 행동(behavior)에 초점을 둔다.1
인간적 대 합리적,2 사고 대 행동이라는 두 차원의 조합에서 총 네 가지 접근방식이
나오는데, 네 접근방식 각각에 지지자들과 연구 활동이 있었다. 이들의 연구 방법은 당
연히 서로 다르다. 인간과 비슷한 지능을 추구하는 사람들은 심리학과 관련된 실험 과학
분야에 속해야 마땅하다고 생각한다. 여기에는 인간의 실제 행동 방식과 사고 과정에 관
한 관찰과 가설이 관여한다. 한편 합리주의자 접근방식에는 수학과 공학의 조합이 관여
하며, 통계학, 제어이론, 경제학과도 연관된다. 이러한 여러 집단이 서로 헐뜯기도 하고
돕기도 하면서 인공지능 분야를 발전시켰다. 그럼 네 가지 접근방식을 좀 더 자세히 살
펴보자.

1.1.1 인간적 행동: 튜링 검사 접근방식


튜링 검사 앨런 튜링Alan Turing이 제안한(Turing, 1950) 튜링 검사(Turing test)는 “기계가 생각할 수
있는가?”라는 질문의 철학적 모호함을 피하는 하나의 사고 실험으로 고안되었다. 인간
조사자가 글로 쓴 질문에 대해 컴퓨터가 글로 답을 했을 때, 만일 그 답이 컴퓨터가 제
출한 것인지 아니면 인간이 제출한 것인지 인간 조사자가 구분하지 못한다면 그 컴퓨터
는 튜링 검사를 통과한 것이다. 제27장에서는 이 검사를 좀 더 자세히 설명하고, 이 검
사를 통과한 컴퓨터가 정말로 지능적인지도 논의한다. 일단 지금은 엄격히 적용된 검사

1 일반 대중은 종종 ‘인공지능’과 ‘기계학습’을 혼동한다. 기계학습(machine learning)은 경험에 기초해서 성


과를 개선하는 능력을 연구하는 인공지능의 한 분야이다. 기계학습 방법을 이용해서 경쟁력을 얻는 인공
지능 시스템도 있지만 그렇지 않은 시스템도 있다.
2 ‘인간적’과 ‘합리적’을 대치한다고 해서, 인간이 사전적인 의미(감정적으로 불안정하거나 제정신이 아니라
는 뜻의)에서 ‘비합리적’이라는 것은 아니다. 단지 우리 인간의 결정이 항상 수학적으로 완벽하지는 않다
는 것일 뿐이다.

4 CHAPTER 1 소개
를 통과할 수 있도록 컴퓨터를 프로그래밍하려면 많은 작업이 필요하다는 점만 짚고 넘
어가자. 그런 컴퓨터는 다음과 같은 능력을 갖추어야 한다.

자연어 처리 • 인간의 언어로 성공적인 의사소통을 위한 자연어 처리(natural language processing)


지식 표현 • 알고 있는 또는 들은 것을 저장하기 위한 지식 표현(knowledge representation)
자동 추론 • 저장된 정보를 이용해서 질문에 답하고 새로운 결론을 도출하기 위한 자동 추론
(automated reasoning)
기계학습 • 새로운 상황에 적응하고 패턴들을 외삽(extrapolation)하기 위한 기계학습(machine learning)

튜링은 지능을 시연하기 위해 반드시 사람을 물리적(육체적)으로 흉내낼 필요는 없다고


생각했다. 그러나 다른 연구자들은 실제 세상에서 사람이 사물과 상호작용해야 하는 완
완전 튜링 검사 전 튜링 검사(total Turing Test)를 제안했다. 완전 튜링 검사를 통과하려면 컴퓨터는 다
음과 같은 능력을 갖추어야 한다.

컴퓨터 시각 • 세상을 인식하기 위한 컴퓨터 시각(computer vision)과 음성 인식(speech recognition)


로봇공학 • 물체를 조작하고 이동하기 위한 로봇공학(robotics) 능력

자연어 처리에서 로봇공학까지 이 여섯 분야가 인공지능의 대부분을 구성한다. 그렇긴


하지만 인공지능 연구자들이 튜링 검사를 통과하기 위해 들인 노력은 많지 않다. 연구자
들은 지능의 바탕 원리를 연구하는 것이 더 중요하다고 믿었기 때문이다. ‘인공 비행飛行’
이라는 과제는 공학자들과 발명가들이 새를 흉내 내길 그만두고, 대신 풍동風洞을 활용하고
공기역학을 배우기 시작한 덕분에 완수된 것이다. 공기역학 교과서에 그 분야의 목표가
“다른 비둘기들이 속을 정도로 비둘기처럼 날아다니는 기계를 만드는 것”이라고 나와
있지는 않다.

1.1.2 인간적 사고: 인지 모형화 접근방식


프로그램이 사람처럼 생각하는지 아닌지를 판정하려면, 사람이 어떤 식으로 생각하는지
알아야 한다. 인간의 사고 과정을 파악하는 방법은 크게 다음 세 가지이다.

내성법 • 내성법內省法(introspection) — 연구자가 스스로의 사고를 파악하는 것


심리학 실험 • 심리학 실험 — 행동 중인 인간을 관찰하는 것
뇌 영상 촬영 • 뇌 영상 촬영 — 행동 중인 뇌를 관찰하는 것

이런 방법들로 정신(mind)에 관해 충분히 정밀한 이론을 얻었다면, 그 이론을 하나의 컴


퓨터 프로그램으로 표현할 수 있다. 만일 프로그램의 입출력 행동이 그에 대응되는 인간
행동과 부합한다면, 그것은 프로그램의 일부 메커니즘이 인간적으로 작동한다는 증거일
것이다.

1.1 인공지능이란 무엇인가? 5


예를 들어 ‘범용 문제 해결기’라는 뜻의 GPS(General Problem Solver; Newell 및
Simon, 1961)를 개발한 앨런 뉴얼Allen Newell과 허버트 사이먼Herbert Simon은 자신의 프로그
램이 문제를 정확하게 풀었다는 자체만으로 만족하지는 않았다. 그들은 프로그램의 추론
단계들의 순서와 타이밍을 같은 문제를 푸는 인간 피실험자의 것들과 비교하는 데 더 많
인지과학 은 관심을 두었다. 여러 분야에 걸친 학문인 인지과학(cognitive science)은 인공지능의
컴퓨터 모형과 심리학의 실험 기법들을 조합해서 인간 정신에 관한 정밀하고 검증 가능
한 이론들을 구축한다.
인지과학은 그 자체로 매혹적인 분야로, 여러 권의 교과서와 적어도 한 권의 백과사
전(Wilson 및 Keil, 1999)이 나와 있을 정도이다. 이 책에서는 인공지능 기법들과 인간의
인식 능력의 유사성 및 차이점을 종종 언급한다. 그러나 실제 인지과학은 필연적으로 실
제 인간 또는 동물의 실험적 조사에 기초한다. 이 책은 독자가 실험에 사용할 수 있는
것이 컴퓨터뿐이라고 가정하므로, 인간 또는 동물에 대한 실험은 다루지 않는다.
인공지능의 초창기에는 접근방식들을 혼동하는 때도 있었다. 어떤 알고리즘이 어떤
과제에 대해 좋은 성과를 냈으므로, 따라서 그 알고리즘이 인간적 성과에 좋은 모형이라
고 주장하는(또는 좋은 모형이므로 좋은 성과를 내리라고 주장하는) 저자도 있었다. 요
즘 저자들은 두 종류의 주장을 분리한다. 이러한 분리 덕분에 인공지능과 인지과학 모두
좀 더 빠르게 발전할 수 있었다. 이 두 분야는 계속해서 서로를 풍요롭게 만들고 있다.
가장 두드러진 예는 컴퓨터 시각에서 신경 생리학적 증거를 계산 모형을 통합한 것이다.
최근에는 뇌 영상 촬영 방법과 기계학습을 이용한 자료 분석(데이터 분석) 기법의 조합
덕분에 초보적이나마 “마음을 읽는” 능력, 그러니까 사람의 속마음을 확인하는 능력을
갖춘 시스템도 등장했다. 이러한 능력은 인간의 인지가 작동하는 방식에 관해 더 많은
통찰을 제공할 것이다.

1.1.3 합리적 사고: ‘사고의 법칙’ 접근방식


그리스 철학자 아리스토텔레스는 ‘올바른 사고(right thinking)’, 즉 반박할 수 없는 추론
삼단논법 과정의 성문화를 시도한 최초의 사람 중 하나이다. 그의 삼단논법은 옳은 전제가 주어진
다면 항상 옳은 결론을 내는 논증 구조를 위한 패턴을 제공했다. 전형적인 예는 “소크라
테스는 사람이다”, “모든 사람은 죽는다”에서 출발해서 “소크라테스는 죽는다”라는 결론
으로 이어진다(이 예는 아리스토텔레스가 아니라 섹스투스 엠피리쿠스가 제시한 것일 가
능성이 크다). 이러한 사고의 법칙(law of thought)들이 정신의 작동을 관장한다고 간주
논리학 한 학자들의 연구에 의해 논리학(logic)이라고 부르는 분야가 만들어졌다.
19세기 논리학자들은 세상 모든 종류의 대상과 그들 사이의 관계에 관한 명제를 엄
밀하게 표현하는 표기법을 개발했다. (반면 통상적인 산술 표기법은 오직 수數에 관한 명
제에만 적용된다.) 1965년에 이르러서는 논리학 표기법으로 서술된 그 어떤 문제도 원칙
적으로 풀 수 있는 프로그램이 만들어졌다. (단, 만일 해가 존재하지 않으면 프로그램은

6 CHAPTER 1 소개
논리주의자 무한 루프에 빠질 수 있다.) 인공지능 분야에 존재하는 소위 논리주의자(logicist)의 전통
은 지능적 시스템을 생성하는 것과 비슷한 프로그램을 구축하길 희망한다.
전통적인 의미에서의 논리학에는 세계에 관한 확실한 지식이 필요하다. 그러나 현실
에서 그런 지식을 갖출 수 있을 때는 그리 많지 않다. 예를 들어 정치나 전쟁의 법칙을
체스 규칙이나 수학의 산술 법칙처럼 확실하게 알 수는 없다. 이러한 간극을 메우는 것
확률론 이 확률론(probability theory)이다. 확률론 덕분에 불확실한 정보로도 엄밀한 추론이 가능
하다. 원칙적으로, 확률론을 이용하면 합리적 사고의 상세한 모형을 구축할 수 있다. 즉,
원본(raw) 감각 정보에서 출발해서 세상의 작동 방식을 이해하는 단계로 나아가고, 그에
기초해서 미래를 예측할 수 있게 되는 것이다. 그렇지만 확률론이 지능적 행동을 산출하
지는 않는다. 지능적 행동을 위해서는 합리적 행동에 관한 이론이 필요하다. 합리적 사
고만으로는 부족하다.

1.1.4 합리적 행동: 합리적 에이전트 접근방식


에이전트 에이전트(agent; 대리자)는 그냥 뭔가를 수행하는 어떤 것이다. (agent라는 영어 단어는
“~를 하다”를 뜻하는 라틴어 agere에서 비롯되었다.) 물론 모든 컴퓨터 프로그램은 뭔가
를 수행하지만, 컴퓨터 에이전트에는 좀 더 많은 것이 요구된다. 컴퓨터 에이전트는 자
율적으로 작동하고, 자신의 환경을 인지하고, 장기간 행동을 유지하고, 변화에 적응하고,
합리적 에이전트 목표를 만들고 추구해야 한다. 합리적 에이전트(rational agent; 또는 이성적 에이전트)는
최상의 결과를(불확실성이 존재할 경우에는 기대할 수 있는 최상의 결과를) 내도록 행동
하는 에이전트이다.
인공지능에 대한 ‘사고의 법칙’ 접근방식은 정확한 추론(inference)을역주1 강조한다. 3

종종 정확한 추론은 합리적 에이전트의 일부이다. 이는, 주어진 행동이 최선이라는 결론


을 연역적으로 추론한 후 그 결론에 따라 행동하는 것이 합리적 행동의 한 방법이기 때
문이다. 그러나 추론이 관여한다고는 말할 수 없지만 그래도 합리적으로 행동하는 방법
들이 존재한다. 예를 들어 뜨거운 난로에서 손을 급하게 떼는 것은 생각 없이 하는 반사
행동이지만, 대부분은 심사숙고를 거쳐서 하는 느린 행동보다 훨씬 성공적이다.
튜링 검사의 통과에 필요한 모든 능력은 에이전트가 합리적으로 행동하는 데에도
유용하다. 지식 표현과 추론 능력이 있는 에이전트는 좋은 결정을 내릴 수 있다. 사람이
복잡한 사회에서 생활하려면 이해 가능한 문장을 자연어로 만들어 낼 수 있어야 한다.
또한 학습 능력은 단지 학식을 위해서만이 아니라, 효과적인 행동을 산출하는(특히, 생소
한 환경을 접했을 때) 능력을 향상하기 위해서도 필요하다.
인공지능에 대한 합리적 에이전트 접근방식이 다른 접근방식들보다 나은 점은 두

역주1
적어도 이 번역서에서 reasoning과 inference을 구분하는 것은 큰 의미가 없다고 판단해서 둘 다 ‘추론’으
로 옮기기로 한다. 단, 한 문단 안에 reasoning과 inference가 같이 등장하는 경우에는 후자를 ‘추리’로 옮
긴다.

1.1 인공지능이란 무엇인가? 7


가지이다. 첫째로, 이 접근방식은 ‘사고의 법칙’ 접근방식보다 좀 더 일반적이다. 이는
정확한 추론 외에도 합리성을 달성하는 메커니즘들이 있기 때문이다. 둘째로, 이 접근방
식은 과학의 발전을 좀 더 잘 받아들인다. 합리성의 기준은 수학적으로 잘 정의되어 있
으며, 완전히 일반적이다. 이 접근방식에서는 흔히 그러한 기준에서 출발해서 적절한(그
런 기준을 달성할 수 있을 만한) 에이전트 설계를 끌어내곤 한다. 사람의 행동 방식이나
사고 과정을 흉내내는 것이 목표라면 이런 역방향 작업은 대체로 불가능하다.
이상의 이유로, 인공지능 분야의 역사 전반에서 주로 쓰인 것은 합리적 에이전트 접
근방식이다. 초창기 몇십 년 동안은 연구자들이 논리적 토대 위에서 합리적 에이전트들
을 구축하고 특정한 목표를 달성하기 위한 유한한 계획들을 수립했다. 그 후에는 확률론
과 기계학습에 기초한 방법들이 등장해서 불확실한 상황에서도 최선의 결과를 얻는 결
정을 내릴 수 있는 에이전트들이 만들어졌다. 간단히 말하면, 인공지능 분야는 옳은 일을
옳은 일을 하는 하는(do the right thing) 에이전트의 연구와 구축에 초점을 두어왔다. ‘옳은 일’이 무엇인지
는 우리가 에이전트에 제공하는 구체적인 목적(objective)에 따라 다르다. 이러한 일반적
표준 모형 인 패러다임이 대단히 보편적이기 때문에, 이를 표준 모형(standard model)이라고 불러도
좋을 것이다. 이 패러다임은 인공지능뿐만 아니라 비용 함수를 최소화하는 제어기
(controller)를 다루는 제어이론 분야와 총 보상이 최대가 되는 정책을 다루는 경영과학
(operations research) 분야, 손실 함수가 최소가 되는 결정 규칙을 다루는 통계학, 의사결
정자가 효용 또는 사회적 부의 어떤 측도를 최대화하는 문제를 다루는 경제학에서도 흔
히 볼 수 있다.
그런데 복잡한 환경에서는 완벽한 합리성(항상 정확히 최적의 행동을 취하는 것)을
달성하기가 불가능하다는 점을 고려해서 이 표준 모형을 수정할 필요가 있다. 제5장과
제한된 합리성 제17장에서는 제한된 합리성(limited rationality) 문제, 즉 모든 계산을 충분히 수행할 시
간이 없는 상황에서 적절하게 행동하는 문제를 명시적으로 다룬다. 그러나 이론 분석을
위해서는 완벽한 합리성이 여전히 좋은 출발점일 때가 많다.

1.1.5 이로운 기계
표준 모형은 초창기부터 인공지능 연구의 유용한 지침으로 작용했지만, 장기적으로 볼
때는 딱 맞는 모형이 아닐 수도 있다. 이유는, 표준 모형은 우리 인간이 기계(컴퓨터)에
게 목적을 완전히 상세하게 알려줄 수 있다는 가정을 깔고 있기 때문이다.
체스나 최단 경로 계산 같은 인위적으로 정의된 과제에서는 과제 자체에 목적이 정
의되어 있으며, 따라서 표준 모형을 적용할 수 있다. 그러나 현실 세계로 들어갈수록 목
적을 완전하고 정확하게 명시하기가 점점 더 어려워진다. 예를 들어 자율주행차를 설계
한다면 목적지에 안전하게 도착하는 것을 목적으로 삼을 것이다. 그러나 차를 몰고 가다
보면 다른 운전자의 부주의나 기계 고장 등의 이유로 운전자가 부상을 입을 가능성이 있
으므로, 안전을 궁극의 목적으로 삼는다면 그냥 차고를 떠나지 않는 것이 정답일 것이

8 CHAPTER 1 소개
다. 목적지로 나아가는 것과 부상 위험을 야기하는 것 사이에는 절충 관계가 존재한다.
적절한 절충점을 어떻게 찾아야 할까? 더 나아가서, 다른 운전자들을 화나게 할 만한 행
동을 자율주행차에게 어느 정도나 허용해야 할까? 승객이 흔들리지 않도록 자율주행차
가 가속이나 방향 조정, 제동을 어느 정도나 조정하게 해야 할까? 이런 종류의 질문은
선험적으로는 답하기 어렵다. 이런 질문들은 인간 ‒ 로봇 상호작용이라는 좀 더 일반적인
영역(자율주행차는 이 영역의 한 사례이다)에서 특히나 골치 아픈 문제이다.
우리가 정말로 원하는 것과 우리가 기계에게 제공하는 목적을 잘 조화시키는 문제
가치 정렬 문제 를 가리켜 가치 정렬 문제(value alignment problem)라고 부른다. 우리가 기계에게 주입
하는 가치 또는 목적은 반드시 인간이 추구하는 가치 또는 목적과 부합해야 한다. 인공
지능 시스템을 연구실이나 시뮬레이터 안에서 개발할 때는(이 분야의 역사 대부분에서
실제로 그렇게 해왔다), 목적을 부정확하게 명시해서 문제가 생겨도 쉽게 고칠 수 있다.
그냥 시스템을 재설정하고, 목적을 수정하고, 다시 시도하면 된다. 그러나 현실 세계에
실제로 배치되는 능력 있는 지능형 시스템들을 만들어 내는 쪽으로 이 분야가 발전함에
따라 그런 접근방식이 불가능해지고 있다. 목적이 잘못 명시된 시스템을 실무에 배치하
면 바람직하지 못한 결과가 발생한다. 더 나아가서, 그 시스템이 지능적일수록 결과가
더욱 나빠진다.
겉으로는 별 문제 없어 보이는 체스의 예로 돌아가서, 체스판의 틀을 벗어나서 추론
하고 행동할 정도로 컴퓨터가 지능적이면 어떤 일이 생길지 생각해 보자. 그런 경우 컴
퓨터는 상대방을 홀리거나 협박해서, 또는 관중에게 뇌물을 주어 소음을 발생하게 해서
상대방이 집중하지 못하게 만드는 등의 책략으로 자신의 승리 확률을 높이려 할 수도 있
다.3 심지어, 컴퓨팅 자원을 훔쳐서 자신의 계산에 사용하려 들 수도 있다. 이런 행동을
“비지능적”이거나 “미친” 행동이라고 말할 수는 없다. 이는 단지 컴퓨터에게 승리를 유일한
목적으로 알려준 것에서 비롯된 논리적인 결과일 뿐이다.
어떤 고정된 목적을 추구하는 기계가 잘못 행동할 만한 모든 방법을 미리 예측하는
것은 불가능하다. 따라서 표준 모형은 부적합하다고 생각하는 것이 합리적이다. 기계 자
신의 목적을 추구하기 때문에 지능적이라고 간주되는 기계는 바람직하지 않다. 우리가
원하는 것은 우리 인간의 목적을 추구하는 기계이다. 표준 모형으로 우리의 목적을 기계
에 완벽하게 전달하지 못한다면, 새로운 어떤 틀이 필요하다. 그 틀은 기계가 우리의 목
적을 추구하되, 그 목적이 구체적으로 무엇인지를 기계가 확실히 알지 못하는 형태이어야
할 것이다. 인간의 목적을 자신이 완전하게 알지 못한다는 점을 아는 기계는 조심스럽게
행동하고, 허락을 구하고, 관측을 통해서 우리의 선호도(preference)를 더 배우고, 우리에
이롭다는 점을 게 통제권을 넘기려 할 것이다. 정리하자면, 우리가 원하는 것은 인간에게 이롭다는 점을
증명할 수 있는
증명할 수 있는(provably beneficial) 에이전트이다. 이 주제는 §1.5에서 좀 더 논의하겠다.

3 체스에 관한 초창기 서적 중 하나에서 루이 로페스(Ruy Lopez)는 “항상 햇빛이 상대방 눈에 비치도록 체


스판을 배치하라”(Ruy Lopez, 1561)라고 썼다.

1.1 인공지능이란 무엇인가? 9


1.2 인공지능의 기반 학문
이번 절에서는 인공지능에 착안과 관점, 기법을 제공한 다른 학문 분야의 역사를 간략히
서술한다. 여타의 역사와 마찬가지로, 이번 절은 주요 인물, 사건, 착안 중 소수의 일부
에만 초점을 둔다. 즉, 여기에 나오지 않는다고 중요하지 않다는 뜻은 아니다. 각 역사는
일련의 질문을 중심으로 구성된다. 이 질문들이 해당 분야가 해결하고자 한 모든 것은
아니며, 또한 이 분야들이 오직 인공지능을 위해 연구된 것도 아님을 주의하기 바란다.

1.2.1 철학
• 형식적 규칙들을 이용해서 유효한 결론을 이끌어낼 수 있는가?
• 물리적인 뇌에서 어떻게 정신이 창발하는가?
• 지식은 어디에서 오는가?
• 지식은 어떻게 행동으로 이어지는가?

이 책 앞표지에 흉상이 나와 있는 아리스토텔레스(기원전 384–322)는 정신의 이성적 부


분을 관장하는 일단의 법칙들을 정밀하게 공식화하고자 시도한 최초의 인물이다. 그는
초기 전제가 주어졌을 때 원칙적으로 결론을 기계적으로 만들어 낼 수 있는 적절한 추론
을 위한 삼단논법의 비공식적 체계를 개발했다.
라몬 율Ramon Llull(c. 1232 ‒ c. 1315)은 하나의 추론 체계를 고안해서는 위대한 기예(The
Great Art)라는 뜻의 Ars Magna라는 제목으로 발표했다(Llull, 1305). 율은 실제 기계 장치
를 이용해서 그의 체계를 구현하려 노력했는데, 회전하면 서로 다른 순열들이 되는 일단
의 종이 바퀴들로 이루어진 장치였다.
1500년경 레오나르도 다빈치(1452–1519)는 기계적 계산기를 설계만 하고 실제로 만
들지는 않았다. 최근의 재구축에 의하면 그 설계는 실현 가능한 것이었다. 알려진 최초
의 계산 기계는 1623년경에 독일 과학자 빌헬름 시카르트Wilhelm Schickard(1592–1635)가 만
들었다. 1642년에는 블레즈 파스칼Blaise Pascal(1623–1662)이 파스칼린Pascaline을 만들었는
데, 그는 “이 산술 기계는 동물의 모든 행동보다 사고에 더 가까워 보이는 결과를 낸다”
라고 썼다. 고트프리트 빌헬름 라이프니츠Gottfried Wilhelm Leibniz(1646–1716)는 수가 아니라
개념에 대한 연산을 수행하도록 고안된 기계 장치를 만들었으나, 그 작용 범위는 상당히
제한적이었다. 토머스 홉스(1588 ‒ 1679)는 1651년 그의 책 리바이어던Leviathan에서 생각하
는 기계의 개념을 제안하면서(그는 그런 기계를 ‘인공동물’이라고 불렀다), “심장이란 용
수철에 불과하고, 신경들은 다수의 끈, 관절은 여러 톱니바퀴일 뿐”이라고 주장했다. 또
한 그는 추론이 수치 계산과 비슷하다면서 “‘이성(reason)’은 그저 ‘추산(reckoning)’, 즉
덧셈과 뺄셈일 뿐이다”라고 주장했다.
그런데 정신이 적어도 부분적으로는 논리적 규칙에 따라 작동한다고 주장하고 그런

10 CHAPTER 1 소개
규칙들 일부를 흉내 내는 물리적 시스템을 구축하는 것과 정신 자체가 바로 그런 물리적
시스템이라고 주장하는 것은 다른 문제이다. 정신과 물질의 구분 및 그로부터 비롯되는
문제들을 처음으로 명확하게 논의한 이는 르네 데카르트René Descartes(1596–1650)이다. 정
신을 순수하게 물리적으로 이해하는 것에 관련된 문제점 하나는, 그런 모형에는 자유 의
지가 포함될 여지가 거의 없다는 점이다. 만일 정신이 전적으로 물리 법칙에 의해 운영
된다면, 자유 의지는 그저 바위가 지구의 중심을 향해 떨어지기로 “결정하는” 것보다 나
이원론 을 것이 없다. 데카르트는 이원론(dualism)의 주창자이기도 했다. 그는 사람의 정신(또는
영혼이나 마음)에는 자연에서 벗어난, 물리 법칙으로부터 자유로운 부분이 있다는 믿음
을 유지했다. 반면 동물에는 그러한 이원론적 속성이 없으므로 기계처럼 다룰 수 있다고
생각했다.
유물론 이원론의 한 대안은 유물론(materialism)이다. 유물론은 물리 법칙들에 따른 두뇌의
작용이 정신을 구성한다고 주장한다. 자유 의지는 선택하는 개체에게 주어지는 여러 가
물리주의 능한 선택 사항들을 인식하는 한 방법일 뿐이다. 물리주의(physicalism)라는 용어와 자연
자연주의
주의(naturalism)라는 용어도 초자연적인 관점과 대조되는 이러한 관점을 서술하는 데 쓰
인다.
지식을 조작하는 물리적 정신이 있다고 할 때, 그다음 문제는 지식의 근원을 확립하
는 것이다. 프랜시스 베이컨Francis Bacon(1561–1626)의 노붐 오르가눔Novum Organum 4에서 시
경험주의 작된 경험주의(empiricism) 운동은 존 로크John Locke(1632–1704)의 다음과 같은 견해로 특
징지을 수 있다: “애초에 감각에 없었던 것은 오성(이해)에도 없다.”
데이비드 흄David Hume(1711–1776)은 인간 본성에 관한 논고(A Treatise of Human
귀납법 Nature; Hume, 1739)에서, 지금은 귀납법(induction)이라고 부르는 원리를 제안했다. 즉,
일반적인 규칙은 그 요소들 사이의 반복적인 연관성을 노출함으로써 얻을 수 있다는 것
이다.
비트겐슈타인Ludwig Wittgenstein(1889–1951)과 버트런드 러셀Bertrand Russell(1872–1970)의
연구에 기초해서, 빈 학파(1920년대와 1930년대에 비엔나에서 교류한 일단의 철학자들
논리 실증주의 과 수학자들)는 논리 실증주의(logical positivism) 교리를 만들어 냈다(Sigmund, 2017).
관측 문장 이 교리는 궁극적으로 모든 지식을 감각적 입력에 대응되는 관측 문장(observation sentence)
들과 연관된 논리적 이론들로 특징지을 수 있다고 주장한다. 따라서 논리 실증주의는 합
리주의와 경험주의의 결합이라 할 수 있다.
입증 이론 루돌프 카르납Rudolf Carnap(1891–1970)과 칼 헴펠Carl Hempel(1905–1997)의 입증 이론
(confirmation theory)은 확신도 또는 믿음의 정도를 정량화함으로써 경험으로부터의 지식
획득을 분석하려 했다. 여기서 믿음의 정도는 주어진 논리 명제와 그것을 입증 또는 반증
하는 관측들의 관계에 따라 명제에 부여하는 수치이다. 카르납의 책 The Logical Structure
of the World(Carnap, 1928)은 기초적 경험에서 지식을 추출하는 계산 절차를 명시적으로
정의했다. 아마도 이는 계산 과정으로서의 정신에 관한 최초의 이론일 것이다.

4 ‘사고의 도구’라는 뜻의 노붐 오르가눔은 아리스토텔레스의 오르가논(Organon)의 개정판에 해당한다.

1.2 인공지능의 기반 학문 11
정신의 철학적 묘사의 최종 요소는 지식과 행동의 관계이다. 이 문제가 인공지능에
아주 중요한 이유는, 지능에는 추론뿐만 아니라 행동도 필요하기 때문이다. 더 나아가서,
정당화할 수 있는(즉, 합리적인) 동작을 수행하는 에이전트를 만드는 방법을 이해하려면
행동들이 어떻게 정당화되는지 이해해야 한다.
아리스토텔레스는 행동들이 목표와 행동의 결과에 관한 지식 사이의 논리적 연결에
의해 정당화된다고 주장했다(동물운동론(De Motu Animalium)에서). (다음 인용구의 마지
막 부분의 그리스어 원문이 이 책 앞표지에 나온다.)

그렇다면, 생각이 어떨 때는 행동(action)과 함께하고 어떨 때는 그렇지 않은


것은 왜이며, 어떨 때는 동작(motion)과 함께하고 어떨 때는 그렇지 않은 것은
왜인가? 변하지 않는 물체에 관한 추론과 추리의 경우에도 같은 일이 벌어지는
것으로 보인다. 그러나 그 경우 목적은 사변적 명제이다 ... 반면 지금 경우 두
전제로부터 비롯된 결론은 하나의 행동이다. ... 나는 [내 몸을] 덮을 옷이 필요
하다; 망토는 덮을 옷이다. 나는 망토가 필요하다. 필요한 것은 만들어야 한다;
나는 망토가 필요하다. 나는 망토를 만들어야 한다. 그리고 “나는 망토를 만들
어야 한다”라는 결론은 하나의 행동이다.

니코마코스 윤리학(Nicomachean Ethics; Book III. 3, 1112b)에서 아리스토텔레스는 이 주


제를 좀 더 설명하면서 일종의 알고리즘 하나를 제시한다.

우리가 숙고하는 것은 목적이 아니라 수단이다. 치료할 것인지 아닌지를 의사가


숙고하지는 않듯이 ... 설득할 것인지 아닌지를 연사가 숙고하지는 않듯이 ... 그
들은 목적을 당연한 것으로 여기고, 어떤 수단으로 그 목적을 어떻게 달성할 것
인지, 그럼으로써 최선의 결과를 쉽게 얻을 수 있을 것인지 고려한다. 그들은 수
단으로 목적을 달성할 수 있을 때만 그 목적을 어떻게 달성할 것인지, 그리고 구
체적으로 어떤 수단을 사용할 것인지 고려한다. 그러한 과정을 제1원인(first
cause)에 도달할 때까지 반복한다. ... 그리고 분석의 마지막 요인은 그다음 분석
의 첫 요인이 되곤 한다. 만일 불가능에 부딪히면, 이를테면 돈이 필요한 데 돈
을 구하지 못한다면, 검색을 포기한다. 그러나 가능해 보이는 일이라면 시도한다.

아리스토텔레스의 이 알고리즘을 2천3백 년 후에 뉴월과 사이먼이 자신들의 GPS 프로


그램에서 구현했다. 요즘은 그런 프로그램을 탐욕적 회귀 계획 시스템(greedy regression
planning system; 제11장 참고)이라고 부른다. 인공지능 이론 연구의 처음 몇십 년은 고
정된 목표들을 달성하기 위한 논리적 계획 수립에 기초한 방법들이 지배적이었다.
목표를 달성하는 행동들만 고찰하는 접근방식이 유용할 때가 많지만, 적용이 불가
능할 때도 있다. 예를 들어 하나의 목표를 달성하는 방법이 여러 개라면, 그중 하나를 선
택하는 방법이 필요하다. 좀 더 중요하게는, 주어진 목표를 확실하게 달성하는 것이 불
가능하지만, 그래도 뭔가 행동을 취할 필요가 있을 때도 있다. 앙투완 아르노Antoine Arnauld

12 CHAPTER 1 소개
는 도박의 합리적 결정을 분석하면서, 결과의 금전적 기대 가치를 최대화하는 정량적 공
식 하나를 제시했다(Arnauld, 1662). 그후 다니엘 베르누이Daniel Bernoulli는 결과의 내재적
효용 이고 주관적인 가치를 반영하는, 효용(utility)이라는 좀 더 일반적인 개념을 소개했다. 제
16장에서 설명하겠지만, 불확실성 하의 합리적 의사결정에 관한 현대적인 개념에는 기대
효용의 최대화가 관여한다.
윤리와 공공 정책의 측면에서, 의사결정자는 반드시 개인 대중의 이해를 고려해야
한다. 제러미 벤담Jeremy Bentham과 존 스튜어트 밀John Stuart Mill은 효용 최대화에 기초한 합
공리주의 리적 결정을 인간 활동의 모든 권역에 적용해야 한다는 공리주의(utilitarianism)를 주창
했다(Bentham, 1823; Mill, 1863). 그러한 권역에는 다수의 개인을 대신한 공공 정책 결
결과주의 정도 포함된다. 공리주의는 결과주의(consequentialism), 즉 무엇이 옳고 그른지는 행동의
기대 결과에 따라 결정된다는 개념의 일종이다.
의무론적 윤리 반면 임마누엘 칸트는 1785년 규칙 기반(rule-based) 또는 의무론적 윤리(deontological
ethic)의 이론을 제안했는데, 이 이론에서 “옳은 일”은 행위의 결과로 결정되는 것이 아
니라 허용 가능한 행위를 관장하는 보편적인 사회 법칙들(이를테면 “거짓말하지 말라”나
“살인하지 말라”)로 결정된다. 따라서, 공리주의자는 기대되는 선이 악을 능가한다면 선
의의 거짓말을 할 수 있지만, 칸트주의자는 그럴 수 없다(애초에 거짓말은 잘못된 일이
므로). 밀은 규칙의 가치를 인식하긴 했지만, 규칙을 결과를 추론하는 제1원리들에서 조
합된 효율적인 의사결정 절차들로 간주했다. 현대적인 인공지능 시스템들 다수는 바로
그런 접근방식을 적용한다.

1.2.2 수학
• 유효한 결론을 이끌어내는 공식적인 규칙들은 무엇인가?
• 계산할 수 있는 것은 무엇인가?
• 불확실한 정보로 어떻게 추론을 진행할 것인가?

철학자들이 인공지능의 근본 착안 몇 가지를 확립하긴 했지만, 인공지능이 공식적인 과


학(formal science)으로 도약하려면 논리와 확률을 수학적으로 공식화할 필요가 있었으
며, 계산(computation) 자체를 다루는 새로운 수학 분야의 도입이 필요했다.
형식 논리 형식 논리(formal logic)라는 개념은 고대 그리스와 인도, 중국의 철학자들로까지 거
슬러 올라가겠지만, 진정한 수학적 발전은 조지 부울George Boole(1815–1864)의 연구에서
시작되었다. 그는 흔히 부울 논리(Boolean logic)라고 하는 명제 논리의 세부사항을 밝혀
냈다(Boole, 1847). 1897년에 고틀로프 프레게Gottlob Frege(1848–1925)가 객체(object)와 관
계를 포함시켜서 부울의 논리학을 좀 더 확장했다. 그것이 오늘날 쓰이는 1차 논리(first–
order logic)이다.5 1차 논리는 초기 AI 연구에서 중심 역할을 했을 뿐만 아니라, 잠시 후

5 프레게가 제안한 1차 논리 표기법(텍스트적 특징과 기하학적 특징의 난해한 조합)은 결국 대중화되지 못했다.

1.2 인공지능의 기반 학문 13
ARTIFICIAL INTELLIGENCE: A MODERN APPROACH, 4th Edition
by RUSSELL, STUART; NORVIG, PETER published by Pearson Education, Inc.

Copyright ⓒ 2021, 2020, 2003 by Pearson Educations, Inc. All rights reserved.

Authorized translation from the English language edition, entitled 


ARTIFICIAL INTELLIGENCE: A MODERN APPROACH, 4th Edition

No part of this book may be reproduced or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.

KOREAN language edition published by J-pub Co., Ltd. Copyright ⓒ 2021


KOREAN translation rights arranged with PEARSON EDUCATION, Inc., 
through AGENCY ONE, SEOUL KOREA

이 책의 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 (주)제이펍 출판사에 있습니다. 


저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단복제를 금합니다.

인공지능 2: 현대적 접근방식(제4판)


1쇄 발행 2021년 8월 25일

지은이 스튜어트 러셀, 피터 노빅


옮긴이 류 광
펴낸이 장성두
펴낸곳 주식회사 제이펍

출판신고 2009년 11월 10일 제406-2009-000087호


주소 경기도 파주시 회동길 159 3층 3-B호 / 전화 070-8201-9010 / 팩스 02-6280-0405
홈페이지 www.jpub.kr / 원고투고 [email protected] / 독자문의 [email protected] / 교재문의 [email protected]

편집부 김정준, 이민숙, 최병찬, 이주원 / 소통기획부 송찬수, 강민철 / 소통지원부 민지환, 김유미, 김수연
진행 김정준 / 교정 및 교열 오현숙 / 내지디자인 및 편집 조찬영
용지 타라유통 / 인쇄 한길프린테크 / 제본 보경문화사

ISBN 979-11-91600-32-2 (93000)


값 38,000원

※ 이 책은 저작권법에 따라 보호를 받는 저작물이므로 무단 전재와 무단 복제를 금지하며, 


이 책 내용의 전부 또는 일부를 이용하려면 반드시 저작권자와 제이펍의 서면동의를 받아야 합니다.
※ 잘못된 책은 구입하신 서점에서 바꾸어 드립니다.

제이펍은 독자 여러분의 아이디어와 원고 투고를 기다리고 있습니다. 책으로 펴내고자 하는 아이디어나 원고가 있는
분께서는 책의 간단한 개요와 차례, 구성과 저(역)자 약력 등을 메일([email protected])로 보내 주세요.
인공지능 현대적 접근방식 제4판
Artificial Intelligence
A Modern Approach
4th Edition

2
스튜어트 러셀� 피터 노빅 지음 / 류 광 옮김




후기

강찬석(LG전자)
‘인공지능 바이블’이라고 불리는 AIMA의 최신판으로서, 3판에서 담지 못했던 딥러닝 관
련 내용과 최근 논문들을 추가하여 소개하고 있습니다. 내용 전개에 포함되어 있는 의사코
드나 공식에 대한 증명이 처음 접하는 사람에게는 어려울 수도 있으나, 다양한 분야에 적
용되어 있는 인공지능의 기술과 동작 원리에 대한 이해를 학습하는 데 있어서 최고의 책이
아닐까 생각합니다.

김용현(Microsoft MVP)
이 책《인공지능: 현대적 접근방식(제4판)》은 최신 내용이 반영된 개정판으로, 인공지능과
관련된 모든 내용을 함축적으로 망라해 담고 있어 출간된 도서 중 가장 통찰력 있고 가장
포괄적인 교과서입니다. 인공지능의 각 분야를 현대적 시각을 통해 조망하며 접근하면서
수많은 전문가들의 연구와 아이디어를 정갈하게 정돈하여 전달하고 있습니다.

사지원(뉴빌리티)
인공지능이란 학문은 매우 방대하고 넓은 분야입니다. 딥러닝과 머신러닝뿐만 아니라 다른
인공지능에 무엇이 있고, 또 어떤 기술인지 관심이 있다면 참고할 만한 책입니다. 과거
3판에 비해, 특히 딥러닝과 관련된 내용과 최신 동향까지 정리되어 있습니다. 단, 가볍게
읽고 지나갈 수 있는 책은 아닙니다. 높은 난이도를 자랑하지만 이 책을 견뎌낸다면 보
상은 확실합니다.

신진규
인공지능의 시작부터 현재까지의 모든 것을 집약한 책입니다. 깊이 있는 설명과 예시를
통해 인공지능의 과거, 현재, 미래에 대해 통찰을 제시하고 있습니다.

xxii 베타리더 후기
양성모(현대오토에버)
이 책은 인공지능 분야에 관련된 넓고 깊은 이야기들을 담고 있습니다. 수많은 대학에서
교재로 활용되는 책인 만큼, 상세한 설명과 예시를 통해 처음 접하는 분야의 이론들도 부담
없이 읽을 수 있었던 것 같습니다. 이런 멋진 책을 접할 수 있었다는 것에 감사합니다.

이문환(LG CNS)
이 책은 Perceptron, BERT에 대해서 설명하지 않습니다. 숲에서 원하는 나무를 걸러내는
Random Forest 모델이 어떤 가설을 바탕으로 증명되는지, 그리고 Majority Voting을 증
명하는 내용 등이 설명되어 있습니다. 학교의 인공지능 수업과 이 책을 통해 저는 어떤
이론과 가설들이 인공지능 개념 구현에 어떻게 녹아들어 있는지에 대해 흥미 진지하게
탐구하고 있습니다. 어느 순간 여러분들도 무릎을 탁 치며 “이게 이거였군!”하는 날이 올
겁니다.

이주형(구글)
머신러닝의 개념과 원리를 기초부터 잘 정리해 놓은, 그야말로 ‘교과서’라고 생각합니다.
피상적인 이해와 어플리케이션 적용을 위한 테크닉에 치중되어 있는 요즈음의 머신러닝
교재들과 비교해 볼 때, 학문으로서 이 분야를 연구하고 발전시켜 나갈 목적이라면 정리를
위해 더욱 중요한 책입니다.

한상곤(부산대학교 소프트웨어교육센터)
대학원 시절에 인공지능을 학습할 때 정말 많은 도움을 받았던 교재가 개정 및 번역되어
출간되었습니다. 개정 4판은 딥러닝과 머신러닝 관련 부분이 추가되었고, 번역도 훌륭하게
잘 되었습니다. 신규 개발자와 연구자들에게 기존의 축적된 내용에 대한 좋은 길잡이가
될 것이고, 기존 개발자와 연구자에게는 믿을 수 있는 참고서가 될 듯합니다.

제이펍은 책에 대한 애정과 기술에 대한 열정이 뜨거운 베타리더의 도움으로


출간되는 모든 IT 전문서에 사전 검증을 시행하고 있습니다.

베타리더 후기 xxiii
Artificial
ArtificialIntelligence:
Intelligence A
A Modern Approach, 4th
Modern Approach, 4th Edition
Edition

V
PART

기계학습
C H A P T E R 19 견본에서 배우는 학습
C H A P T E R 20 확률 모형의 학습
C H A P T E R 21 심층학습
C H A P T E R 22 강화학습
견본에서 배우는 학습

이번 장에서는 과거 경험과 미래에 관한 예측을 부지런히 연구해서 자신의 행동을 개


선할 수 있는 에이전트를 설명한다.

학습 세계를 관측한 후 자신의 성능을 개선하는 에이전트는 학습(learning)하는 에이전트이다.


학습은 쇼핑 목록을 받아 적는 등 사소한 것에서부터 알베르트 아인슈타인이 우주에 관
한 새로운 이론을 추론할 때처럼 심오한 것에 이르기까지 다양하다. 학습하는 에이전트
기계학습 가 기계일 때의 학습을 기계학습(machine learning)이라고 부른다. 기계학습에서 컴퓨터
는 어떤 데이터를 관측하고, 그 데이터에 기반해서 하나의 모형(model)을 구축한다. 여기
서 ‘모형’은 세계에 관한 가설(hypothesis)이기도 하고 문제들을 해결하기 위한 소프트웨
어 모듈이기도 하다.
그런데 기계가 왜 학습을 해야 할까? 설계자가 처음부터 프로그램을 제대로 만들면
되지 않을까? 기계학습이 필요한 주된 이유는 두 가지이다. 첫째로, 설계자가 미래의 모
든 가능한 상황을 예측할 수는 없다. 예를 들어 미로를 통과하는 로봇은 처음 보는 미로
의 배치를 반드시 스스로 배워야 한다. 주가 예측 프로그램은 반드시 조건들이 폭등에서
폭락으로 변할 때 적응하는 방법을 배워야 한다. 둘째로, 설계자가 해법 자체를 프로그
램으로 구현하는 방법을 파악할 수 없는 경우가 있다. 대부분의 사람은 가족의 얼굴을
알아보는 데 능숙하지만, 그런 일은 무의식적으로 일어나는 일이다. 따라서 최고의 프로
그래머라도 기계학습 알고리즘 없이는 컴퓨터가 얼굴을 인식하도록 프로그램할 수 없다.
이번 장에는 기계학습의 이론에 관한 논의(§19.1에서 §19.5까지)와 기계학습 시스템
구축 관련 실용적인 조언(§19.9) 사이에 결정 트리(§19.3), 선형 모형(§19.6), 최근접 이웃

3
같은 비매개변수 모형(§19.7), 무작위 숲(랜덤 포레스트random forest
) 같은 앙상블 모형
(§19.8) 등 다양한 부류의 모형들에 관한 논의가 섞여 있다.

19.1 학습의 여러 형태
에이전트 프로그램을 구성하는 어떤 요소라도 기계학습으로 개선할 수 있다. 다음은 그
러한 개선의 종류 및 개선에 쓰이는 기법에 영향을 미치는 주요 요인 세 가지이다.

• 학습을 통해 개선할 구성요소.


• 에이전트가 이미 알고 있는 사전 지식. 에이전트가 구축할 모형에 영향을 미친다.
• 학습 데이터와 그에 대한 피드백.

제2장에서 여러 가지 에이전트 설계를 설명했다. 그러한 에이전트들의 구성요소(component)


로는 다음과 같은 것들이 있다.

1. 현재 상태의 조건들에서 동작들로의 직접적인 사상(mapping).


2. 지각열(percept sequence; §2.1)로부터 세계의 유관 속성들을 추론하는 수단.
3. 세계가 진화하는 방식에 관한, 그리고 에이전트가 취할 수 있는 동작들의 결과에
관한 정보.
4. 세계 상태의 바람직함을 나타내는 효용 정보.
5. 동작의 바람직함을 나타내는 동작 가치 정보.
6. 가장 바람직한 상태를 서술하는 목표 정보.
7. 시스템 개선을 위한 프로그램 생성기, 비평자, 학습 요소.

이 구성요소들 모두 학습을 통해 개선할 수 있다. 예를 들어 사람 운전자를 보고 배우는


자율주행차를 생각해 보자. 운전자가 차에 제동을 걸 때마다 에이전트는 차에 제동을 걸
어야 하는 상황에 관한 조건–동작 규칙(구성요소 1) 하나를 배울 것이다. 여러 카메라 이
미지를 보여 주고 거기에 버스가 있다고 말해 주면 에이전트는 버스를 인식하는 법을 배
우게 된다(구성요소 2). 어떤 동작을 시도하고 그 결과를 관측함으로써, 이를테면 빗길에
서 브레이크 페달을 강하게 밟아 봄으로써, 에이전트는 동작의 효과를 배우게 된다(구성
요소 3). 또한, 목적지에 도착하는 동안 차가 많이 흔들려서 고생한 승객이 불평했다면
에이전트는 자신의 전체적인 효용 함수의 유용한 요소 하나를 배울 수 있다(구성요소 4).
기계학습 기술은 소프트웨어 공학의 표준적인 한 부분으로 자리잡았다. 소프트웨어
시스템 구축시 개발자가 그 시스템을 하나의 인공지능 에이전트라고 생각하지 않더라도,
시스템의 구성요소들을 기계학습 기술을 이용해서 개선하는 것이 가능하다. 예를 들어
중력 렌즈 기반 은하계 이미지 분석 소프트웨어의 속도를 기계학습 모형을 이용해서

4 CHAPTER 19 견본에서 배우는 학습


1000만 배 증가한 사례(Hezaveh 외, 2017)와 데이터센터 냉각을 위한 에너지 소비량을
또 다른 기계학습 모형을 이용해서 40% 감소한 사례(Gao, 2014)가 있다. 튜링상 수상자
데이비드 패터슨David Patterson과 구글 인공지능 책임자 제프 딘Jeff Dean은 기계학습 덕분에
컴퓨터 아키텍처의 ‘황금기’가 시작되었다고 선언했다(Dean 외, 2018).
이전 장들에서 원자적 표현에 기초한 모형, 분해된 표현에 기초한 모형, 그리고 논
리 또는 확률에 기초한 관계 모형 등 에이전트 구성요소의 여러 모형을 살펴보았다. 그
모든 모형에 대해 학습 알고리즘이 고안되었다.
사전 지식 이번 장은 에이전트에 사전 지식(prior knowledge)이 거의 없다고 가정한다. 즉, 에
이전트는 거의 무無에서 시작해서 데이터로부터 배운다. §21.7.2에서는 한 문제 영역의
지식을 다른 문제 영역으로 전달함으로써 더 적은 데이터로 더 빨리 학습할 수 있는 전
이학습(transfer learning)을 고찰한다. 반면 시스템 설계자는 사전 지식이 있어서 문제를
적절히 파악하고 효과적인 학습을 위한 모형 프레임워크를 선택한다고 가정한다.
구체적인 관측들에서 출발해서 일반적인 규칙으로 나아가는 추론 방식을 귀납
(induction)이라고 부른다. 살면서 매일 해가 뜨는 것을 보아 온 우리는 내일도 해가 뜰
것이라고 생각하는데, 그것이 귀납의 예이다. 이와는 반대 방향의 추론이 제7장에서 살
펴본 연역(deduction)이다. 귀납으로 얻은 결론은 틀릴 수 있지만, 전제가 옳은 한 연역으
로 얻은 결론은 반드시 참이다.
이번 장에서는 입력이 분해된 표현인 문제들, 구체적으로는 입력이 특성값들의 벡
터인 문제들에 초점을 둔다. 물론 모든 문제의 입력이 분해된 표현은 아니다. 원자적 표
현이나 관계적 표현을 비롯해 그 어떤 자료구조도 가능하다.
출력이 유한한 개수의 값들(이를테면 맑음/흐림/비 또는 참/거짓) 중 하나인 학습 문
분류 제를 분류(classification) 문제라고 부른다. 그 값이 수치(내일 기온 등; 정수일 수도 있고
회귀 실수일 수도 있다)인 학습 문제는 회귀(regression)라고 부른다(사실 이 용어는 다소 모호
하다1).
피드백 입력에 피드백feedback이 연관될 수도 있다. 피드백의 유무와 성격에 따라 학습이 다
음 세 가지로 나뉜다.

지도학습 • 지도학습(supervised learning)에서 에이전트는 입력–출력 쌍들을 관측하고 입력을


출력으로 사상하는 함수를 배운다. 예를 들어 물체 인식 학습에서 입력은 카메라
이미지이고 출력은 그 이미지에 담긴 사물의 이름(버스, 행인 등)이다. 이런 출력을
‘분류명’ 또는 ‘이름표(label)’이라고 부른다. 이런 데이터로부터 에이전트는 새 이
미지가 주어졌을 때 그에 해당하는 분류명을 출력하는 함수를 배운다. 차량 제동

1 함수 근사(function approximation)나 수치 예측(numeric prediction)이 더 나은 이름일 것이다. 이 용어는


1886년에 프랜시스 골턴(Francis Galton)이 쓴, 평균으로의 회귀(regression to the mean)라는 개념(예를 들
어 키 큰 부모의 자식들은 평균보다 클 가능성이 크지만, 부모만큼 크지는 않다)에 관한 영향력 있는 논문
[Galton, 1886]에서 기인한다. 논문에는 골턴이 ‘regression line(회귀선)’이라고 부른 그래프가 나왔는데, 논
문의 독자들은 ‘regression’이라는 단어를 평균으로의 회귀라는 주제와 연관시는 대신 함수 근사를 위한 통
계학적 기법과 연관시켰다.

19.1 학습의 여러 형태 5
동작을 학습할 때(구성요소 1의 학습) 입력은 현재 상태(차의 빠르기와 방향, 도로
상태 등)이고 출력은 제동 거리(stopping distance)이다. 출력값을 에이전트가 자신
의 지각(관측 이후의)에서 직접 구할 수 있는 경우에는 환경이 교사이다. 그런 설
정에서 에이전트는 상태들을 제동 거리로 사상하는 함수를 배운다.
비지도학습 • 비지도학습(unsupervised learning)에서 에이전트는 명시적인 피드백 없이 입력에서
패턴을 배운다. 가장 흔한 비지도학습 과제는 군집화(clustering), 즉 입력 견본
(example)들에서 잠재적으로 유용한 군집들을 검출하는 것이다. 예를 들어 인터넷
에서 구한 수백만 장의 이미지를 관측한 컴퓨터 시각 시스템은 영어 사용자가
‘cat(고양이)’라고 부를 만한 비슷한 이미지들의 커다란 군집을 식별할 수 있다.
강화학습 • 강화학습(reinforcement learning)에서 에이전트는 일련의 강화(보상 또는 징벌)들로
부터 배운다. 예를 들어 체스 게임의 끝에서 에이전트에게 이겼는지(보상) 졌는지
(징벌)을 알려주면, 에이전트는 그때까지의 동작 중 그 결과에 가장 책임이 큰 동
작을 알아내고 그에 기초해서 다음 번에는 좀 더 큰 보상을 얻도록 자신의 행동
방식을 변경한다.

19.2 지도학습
지도학습의 과제를 좀 더 엄밀하게 정의하면 다음과 같다.
훈련 집합
 개의 견본 입력–출력 쌍들로 이루어진 훈련 집합(training set)
        …     

이 주어지며, 각 쌍이 미지의 함수    로 생성된다고 할 때, 진 함수(true


function)  를 근사하는 함수 를 구한다.

함수 를 세계에 관한 가설(hypothesis)이라고 부른다. 이 함수는 모든 가능한 가설 함수


가설 공간 로 이루어진 가설 공간(hypothesis space) 에서 뽑은 것이다. 가설 공간은 이를테면 차
수가 3인 모든 다항식의 집합이거나 JavaScript 함수들의 집합, 또는 3-SAT 부울 논리
공식들의 집합일 수 있다.
모형 부류 문맥에 따라서는 이 를 데이터의 모형이라고 부르기도 한다. 이 모형은 모형 부류
(model class) 의 일원이다. 또는, 함수 부류(function class) 에서 뽑은 하나의 함수라
실측값 고 말할 수도 있다. 출력   는 실측값(ground truth)이라고 부른다. 이것은 모형이 예측하
고자 하는 변수의 실제 값이다.
가설 공간을 어떻게 선택해야 할까? 데이터를 생성한 과정에 관해 어떤 사전 지식이
탐색적 자료 있다면 그것을 활용해야 할 것이다. 사전 지식이 없다면 탐색적 자료 분석(exploratory
분석

6 CHAPTER 19 견본에서 배우는 학습


data analysis)을 수행하는 것도 한 방법이다. 탐색적 자료 분석은 통계적 검정과 시각화
(히스토그램, 산점도, 상자 그림)를 이용해 데이터를 조사해서 데이터를 파악하고 적절한
가설 공간에 관한 힌트를 얻는 것을 말한다. 아니면 그냥 여러 가설 공간을 시험해서 제
일 나은 것을 택할 수도 있다.
가설 공간을 선택한다면, 거기서 좋은 가설을 찾아야 한다. 추구할 만한 좋은 가설
일관 가설 로 일관 가설(consistent hypothesis; 또는 일치 가설, 무모순 가설)이 있다. 훈련 집합의
각   에 대해       인 가설 를 일관 가설이라고 부른다. 그런데 출력이 연속값일
때는 실측값과 정확히 같은 출력값이 나오리라고 기대하기 힘들다. 그런 경우에는 각
  가   에 가까운 (‘가깝다’의 구체적인 정의는 §19.4.2에 나온다) 최적 적합 함수
(best-fit function)를 찾아봐야 한다.
가설을 평가할 때 중요한 것은 훈련 집합에 대해 얼마나 좋은 성과를 내느냐가 아
니라 미지의 입력(아직 보지 못한 입력)에 대해 얼마나 좋은 성과를 내느냐이다. 이를 위
시험 집합 해, 또 다른     쌍들로 이루어진 두 번째 표본을 시험 집합(test set)으로 두고 시험
집합으로 모형(가설)을 평가한다. 가설이 시험 집합의 결과들을 정확히 예측할 때, 이를
일반화 두고 가설이 잘 일반화(generalization)되었다고 말한다.
도해 19.1은 학습 알고리즘이 배우는 함수 가 가설 공간 에 따라, 그리고 훈련
집합에 따라 달라짐을 보여준다. 윗줄의 네 그래프는   평면의 자료점(data point)
13개로 이루어진 한 데이터 집합으로 학습한 결과이고, 아랫줄의 네 그래프는 그와는 다
른 자료점 13개로 이루어진 데이터 집합을 사용한 것이다. 두 데이터 집합 모두 동일한
미지의 함수   를 나타낸다. 각 열은 다음 네 가지 가설 공간의 최적 적합 가설이다.

도해 19.1 데이터에 잘 적합하는 가설 찾기. 위: 데이터 집합 1로 훈련한 네 가지 가설 공간들의 최적 적합


함수 그래프들. 아래: 같은 네 함수를 약간 다른 데이터 집합(동일한  함수에서 표집한)로 훈련했을
때의 그래프들.

19.2 지도학습 7
• 1열: 직선, 즉         형태의 함수. 자료점들과 일치하는 가설(일관 가
설)에 해당하는 직선은 없다.
• 2열:           형태의 정현파(sinusoidal) 함수. 일관 가설은 아니지
만 그래도 두 데이터 집합 모두에 아주 잘 적합한다. 역주1 2

• 3열: 조각별 선형 함수(piecewise-linear function). 한 자료점에서 그 다음 자료점으


로 직선 선분이 연결된 형태이다. 이런 함수는 항상 자료점들과 일치한다.
• 4열: 12차 다항식      
     . 이들은 일관 가설이다. 서로 다른 자료점이
13개일 때 그 점들에 완벽하게 적합되는 12차 다항식을 구하는 것은 항상 가능하
다. 그러나 일관 가설이라고 해서 반드시 좋은 가설인 것은 아니다.

가설 공간을 분석하는 한 가지 방법은 가설 공간이 가진 편향(훈련 데이터 집합과


는 무관하게)과 분산(서로 다른 훈련 집합들에 대한)을 살펴보는 것이다.
편향 다소 느슨하게 말하자면, 편향(bias)은 가설의 예측이 기댓값과 벗어나는 경향(여러
훈련 집합들로 평균했을 때의)이다. 이러한 편향은 가설 공간 자체의 제약에서 비롯할
때가 많다. 예를 들어 선형(일차) 함수들로 이루어진 가설 공간은 함수가 반드시 직선 형
태이어야 한다는 제약이 있으며, 이로부터 강한 편향이 나타난다. 선형 함수로는 기울어
진 하나의 직선에서 벗어난 데이터 패턴을 표현할 수 없다. 데이터에서 패턴을 발견하지
과소적합 못한 가설을 가리켜 과소적합(underfitting)되었다고 말한다. 반면 조각별 선형 함수는 편
향이 낮다. 애초에 함수의 형태 자체가 데이터에서 도출된 것이기 때문이다.
분산 분산(variance)은 훈련 데이터 안의 변동 때문에 가설의 예측이 달라지는 정도를 뜻
한다. 도해 19.1의 윗줄과 아랫줄은 모두 동일한    함수에서 추출한 두 데이터 집합
을 나타낸다. 그러나 두 데이터 집합은 약간 차이가 난다. 처음 세 열에서는 데이터 집합
들의 작은 차이가 가설의 작은 차이로 반영되었다. 이는 분산이 작은 경우이다. 그러나
4열의 12차 다항식은 분산이 크다. 축 양 끝에서 두 그래프가 아주 다르다는 점에 주
목하자. 두 다항식 중 적어도 하나는 진(true) 함수  를 제대로 근사하지 못했음이
틀림 없다. 훈련에 사용된 특정 데이터 집합에 너무 주의를 기울이는 함수를 가리켜 데
과대적합 이터에 과대적합(overfitting)되었다고 말한다. 과대적합된 함수는 미지의 데이터에 대해
나쁜 성과를 내게 된다.
편향 ‒ 분산 절충 편향과 분산은 절충 관계(trade-off)일 때가 많다. 더 복잡하고 편향이 작은 가설은 훈
련 데이터에 더 잘 적합되지만, 더 단순하고 분산이 작은 가설은 일반화가 더 잘 된다.
1933년에 알베르트 아인슈타인은 “모든 이론의 지고의 목표는, 더 줄일 수 없는 기본 요소
들을 최대한 단순하게, 그리고 더 적게 만드는 것이다. 단, 단일한 경험 데이터의 적절한
표현을 포기하지 않는 한에서 그렇게 해야 한다.”라고 말했다. 다른 말로 하면 아인슈타인

역주1
역주 “A가 B에 적합하다” 형태의 일반적인 용법과는 달리, 기계학습(그리고 통계학, 제어이론 등의 관련
분야)에서는 “적합하다”가 “A를 B에 적합시킨다”나 “A가 B에 잘 적합한다”처럼 어떤 동작 또는 상태 변
화를 나타내는 술어로도 쓰인다.

8 CHAPTER 19 견본에서 배우는 학습


은 데이터와 부합하는 가장 간단한 가설을 선택하라고 추천한 셈이다. 이 원리는 14세기
영국 철학자 오컴의 윌리엄(William of Ockham)2으로까지 거슬러 올라간다. “꼭 필요한 것
이 아니면 (개체의) 중복성을 허용하지 말아야 한다”라는 그의 원리를 오컴의 면도날
(Ockham’s razor)이라고 부르는데, 이는 그 원리가 미심쩍은 설명을 “깎아 내기” 때문이다.
그러나 간단함을 정의하기란 쉽지 않다. 매개변수가 두 개인 다항식이 매개변수가
13개인 다항식보다 간단한 것은 명백하다. 이러한 직관을 §19.3.4에서 좀 더 정밀하게
정의해 볼 것이다. 그렇지만, 제21장에서 보겠지만 대단히 복잡한 심층 신경망 모형이
아주 잘 일반화될 때가 많다. 복잡한 심층 신경망 중에는 매개변수가 수십억 개인 것도
있다. 따라서 매개변수 개수 자체는 모형의 적합도를 잘 말해주는 수치가 아니다. 어쩌면
우리가 모형 부류에 대해 추구해야 할 것은 ‘단순함’이 아니라 ‘적절함(appropriateness)’
일지도 모른다. 이 문제는 §19.4.1에서 살펴본다.
도해 19.1에서 최고의 가설이 무엇인지는 확실치 않다. 데이터에 관해 우리가 아는
것이 있다면 선택이 좀 더 수월할 것이다. 예를 들어 자료점들이 어떤 웹사이트의 일일
방문자 수이고 방문 시간대에 따라 방문자 수가 주기적으로 증가 · 감소한다는 점을 안다
면 정현파 함수가 바람직할 것이다. 그렇지만 그런 순환마디가 없고 잡음이 많다는 점을
알고 있다면 선형 함수가 나을 것이다.
경우에 따라서는 분석자가 주어진 가설이 가능하냐 불가능하냐 뿐만 아니라 얼마나
가능하냐까지도 파악해야 할 때가 있다. 지도학습은 주어진 데이터에 대해 가장 그럴듯
한 가설을 선택함으로써 수행된다. 그런 가설을  로 표기하고 다음과 같이 정의된다.

     .
∈

베이즈 정리에 따르면 이는 다음과 동치이다.

       .


∈

이런 정의가 있으면, 이를테면 매끄러운 1차 또는 2차 다항식에 대한 사전 확률  가


높지만 크고 뾰족한 첨두(spike)들이 많은 12차 다항식에 대한 사전 확률은 낮다는 등으
로 가설을 평가할 수 있다. 이상하게 생긴 함수라도 데이터 자체가 정말로 그런 패턴을
가지고 있다면 허용할 수밖에 없지만, 그래도 그런 함수는 사전 확률이 낮으므로 그렇지
않은 함수보다 덜 선호된다.
그런데 를 모든 컴퓨터 프로그램의 집합 또는 모든 튜링 기계의 집합으로 두면 안
될까? 그렇게 하는 것이 바람직하지 않은 이유는, 가설 공간의 표현력과 그 공간에서 좋은
가설을 찾는 과정의 계산 복잡도가 절충 관계이기 때문이다. 예를 들어 직선을 데이터에 적
합시키는 것은 쉬운 계산이지만 고차 다항식을 적합시키는 것은 그보다 어렵고, 튜링 기
계를 적합시키는 것은 일반적으로 결정 불가능한 문제이다. 간단한 가설 공간을 선호해야

2 종종 “Occam”이라고 잘못 표기하는 경우가 있다.

19.2 지도학습 9

You might also like