코딩의 미래 - 인공지능이 최고의 코드를 만들어내는 세상이 온다 사람과 프로그래머 12
홍전일 지음 / 로드북 / 2022년 6월
평점 :
장바구니담기





1. 책 소개


이 책은 IT 실용서를 주로 출판하는 로드북에서 나온 책이다. 저자는 현재 프론트엔드 개발자로 일하고 있는 분으로, 오랫동안 개발자로 활동하면서 코딩을 중심으로 쌓아온 생각을 이 책에 정리하고 있다. 


즉, 이 책은 개발자가 쓴 에세이집으로서 코딩에 대한 저자의 생각이 주를 이루고 있으며, 저자가 개발자로 일하면서 경험한 일들에 대한 감상, 읽은 책에 대한 인용 등이 함께 포함되어 있다. 



2. 책의 내용과 장점


총 12개 장(chapter)으로 이루어져 있으며, 각각 '미래 소프트웨어 중심사회', '컴퓨팅의 역사', '하드웨어', '소프트웨어', '플랫폼', '코딩과 생각', '생각의 도구', '책 읽기', '생각과 코딩', '콘텐츠시대', '미래환경', '코딩의 미래' 등의 제목을 달고 있다.


개발자가 저술한 에세이집으로서 이 책의 장점은 다음과 같다.


첫째, '우리 주변의 개발자'가 보고 듣고 경험한 것에 대한 이야기를 담고 있다. IT 서적은 대다수가 특정 프로그램 내지는 컴퓨터 사용법에 대한 설명서이며, 그 밖의 책들은 대개 IT 의 역사, 프로그래밍 관련 에세이 등으로 이루어져 있다. 


여기서 에세이집의 경우 국내에서는 대부분 외국의 유명 프로그래머가 서술한 것이 번역되고 있다. 대표적인 사례가 지금은 프로그래머보다 스타트업 액셀러레이터인 와이컴비네이터(Y Combinator) 창업자로 더 유명한 폴 그레이엄(Paul Graham) 의 책 '해커와 화가' 이다. 


이렇게 외국의 유명 프로그래머가 쓴 에세이집은 읽어볼 만한 가치가 가득한 통찰력을 담고 있지만, 한국의 평범한 독자들이 경험하기 힘든 사례 위주로 서술되어 있어 논리적으로는 이해가 가지만 감성적으로는 마음에 와 닿지 않는 부분도 있다.


그러나 '코딩의 미래'는 IT 회사에서 일하는 한국인 개발자가 쓴 책으로, 대다수 독자의 눈높이에서 쉽게 공감하고 고개를 끄덕거릴 수 있는 내용이 대부분이어서 책을 어렵지 않게 읽어나갈 수 있다.


둘째, 프로그래머가 세상을 관찰하는 방법을 경험할 수 있다. 책을 읽는 독자의 구성은 다양하다. 특히 요즘 같이 코딩 열풍이 불고 있는 시대에는 코딩의 '코' 자도 모르는 문외한이 코딩에 입문하기 위해 이 책을 집은 경우도 많을 것이다. 이러한 독자들은 이 책을 통해, 프로그래머는 어떠한 방식으로 세상을 관찰하고 자신이 관찰한 내용에 대해 어떻게 생각하는지 간접 경험을 할 수 있다.


예를 들어 책의 240쪽에서는 스택오버플로(stack overflow)의 창업자인 조엘 스폴스키(Joel Spolsky)와 제프 앳우드(Jeff Atwood)의 사례를 소개하면서 블로그를 운영하며 자신의 콘텐츠를 쌓아가는 것의 중요성을 설명하고 있다. 많은 IT 개발자 또는 입문자들이 스택오버플로에 대해서는 알고 있어도 그 창업자들이 어떻게 자신의 콘텐츠를 만들었는지는 모를 수 있는데, 이러한 부분을 독자에게 잘 설명하고 있다. 


특히 9장 '생각과 코딩'은 인간의 사고방식과 코딩을 비교하며 서술하고 있는데, 에세이집이 갖는 장점을 가장 잘 살린 부분이라고 생각한다. 프로그래밍 설명서에서는 이러한 설명을 자세하게 전개하기 어렵기 때문에, 저자가 독자들을 위해 알기 쉽게 에세이로 풀어나간 것이 뚜렷한 효과를 발휘한다. 따라서 9장은 이 책의 백미이다. 


셋째, 이 책을 쓰는 데 참고한 도서들의 목록이 저자의 설명과 함께 잘 정리되어 있다. 대개의 경우 책에 대한 참고 도서는 기본적인 서지사항 목록만 있는데, 이 책은 저자가 직접 책 읽기의 중요성을 강조하고 있기 때문에 자신이 생각을 형성하는 데 도움이 되었던 책 각각에 대해 직접 설명과 추천사를 덧붙이고 있다. 


그러므로 이 책을 먼저 읽은 후에, 저자가 소개하는 참고 도서를 읽어 나가면 좋은 독서의 길잡이가 될 것이다.






3. 책의 개선을 위한 건의


첫째, '플랫폼' 장에서 서술하고 있는 게임이론에 대한 설명이 다소 부정확하다.


저자는 게임이론을 '상호의존적인 상황에서 어떻게 의사결정을 하면 되는지 전략을 제시하는 이론'으로 정의내린 뒤, 게임 이론에 의하면 게임에 참여만 하는 플레이어보다 게임 룰을 바꿀 수 있는 플레이어가 더 많은 보상을 받게 되며, 플랫폼을 가진 쪽은 게임의 룰을 바꿀 수 있는 플레이어라고 한다. 그리고 이러한 설명을 바탕으로 백화점에는 고객을 더 오래 머무르게 하기 위해 창문과 벽시계가 없다는 것, 구글이 안드로이드 정책을 바꾸면 사용자들까지 모두 영향을 받게 된다는 것을 예시로 들고 있다. 


그러나 이러한 서술이 과연 적절한 것인지는 의문이다. 


먼저 '게임에 참여만 하는 플레이어보다 게임 룰을 바꿀 수 있는 플레이어가 더 많은 보상을 받는다'는 설명에는 주의가 필요하다. 이러한 서술이 게임의 일반적인 특성이지는 않기 때문이다. 이는 게임이론의 전략이라기 보다 그냥 경영학적 관점에서 혁신(innovation)에 가깝다. 


'백화점 - 고객'과 '구글 - 사용자' 의 예시도 주의깊게 살펴 봐야 한다. 각각의 쌍은 그냥 시장이론에서 '공급자-수요자' 의 관계일 뿐이지, 함께 게임에 참여하는 플레이어라고 보기는 어렵다. 백화점이 고객을 오래 머무르게 하기 위해 다양한 방법을 구사하는 것은 경제학의 게임이론이라기보다 역시 경영학에서의 고객 유치 전략에 가깝다.


오히려 소수의 공급자가 과점 체제를 이루고 있는 반도체 생산 시장에서, TSMC와 삼성전자가 각각 상대방을 시장에서 퇴출시키기 위해 '치킨 게임'을 벌이는 상황이 게임이론의 설명에 더욱 적절하다.


게임이론은 경제학 분야에서도 미시경제학에 주로 포함되는데, 다수의 미시경제학 교과서에서는 항공기 생산회사인 '보잉'과 '에어버스'의 경쟁을 게임이론의 주요 사례로 다루고 있다. 


둘째, 사소한 부분을 짚고 넘어가고자 한다. 먼저 112쪽에서는 김정운 전 교수의 책 '에디톨로지' 인용을 통해 마사 매클린톡이 발견한 생리주기 동조화 현상을 '네이처에 실을 만한 과학적 사실'로 설명하고 있다. 여기서 설명이 끝나기 때문에 일부 독자들은 이것이 대단한 발견이라고 생각할지 모른다. 맥클린톡의 연구가 과학 저널의 대명사인 네이처에 실렸던 것도 사실이다. 그러나 생리주기 동조화 현상은 이후 과학적 근거가 부족한 것으로 밝혀져 오늘날 논란이 많은 이론이다. 


저자가 84쪽에서 위키피디아를 소개하고 있으므로, 위키피디아 영어판에서 menstrual synchrony 를 검색해 보자. 그러면 이런 설명이 나온다.


After the initial studies, several papers were published reporting methodological flaws in studies reporting menstrual synchrony including McClintock's study. In addition, other studies were published that failed to find synchrony. The proposed mechanisms have also received scientific criticism. Reviews in 2006 and 2013 concluded that menstrual synchrony likely does not exist.


(초기의 연구 이후, 맥클린톡의 논문을 비롯해 생리주기 동조화 현상을 보고한 연구에는 방법론적 결함이 있다는 내용이 다수 논문에 실렸다. 게다가 동조화 현상을 찾아내는 데 실패했다는 연구도 여럿 등장했다. 생리주기 동조화 현상의 발생구조라고 제시된 내용에 대해서도 과학적 비판이 뒤따랐다. 2006년과 2013년에 출판된 논문에서는 생리주기 동조화 현상이 존재할 가능성은 낮다고 결론을 내렸다.)


일상에서 자칫 지나칠 수 있는 현상에 대해 질문을 던져보는 것이 중요하다는 서술에는 이의를 제기할 생각이 없지만, 그 사례가 다소 적절하지 않아 보인다.


그 밖에, 119쪽에는 경제학의 기본 모델로 '이상적인 인간'을 서술하고 있는데, 경제학계에서는 '합리적(rational) 인간' 내지는 '경제적 인간(homo economicus)'이라는 용어를 일반적으로 쓴다. 자신의 선호체계를 정확하게 알고 그에 따라 효용 극대화를 위해 행동하는 사람을 일반적으로 경제학에서 '합리적 인간'이라고 한다.


 




4. 총평


우리 곁에서 활동하는 개발자는 '이러한 눈으로 세상을 바라보며 이러한 생각을 하는구나' 라는 점을 알게 해주는 책이다. 평이한 서술로 이루어져 있어 부담없이 읽어나갈 수 있으며, 저자가 평소 독서를 통해 수집한 다양한 사례가 책을 읽는 재미를 배가한다. 


IT 입문자들이 읽으면 많은 도움이 될 책이며, 어느 정도 IT 업계에 경험이 있는 독자도 자신의 생각을 정리하고 다른 개발자와 비교하는 측면에서 읽어볼 가치가 있다.


저자와 출판사가 이 책의 장점을 잘 살려 앞으로도 더 좋은 IT 에세이집을 낼 수 있기를 바란다.


※ 이 서평은 출판사가 증정한 도서를 읽고 작성한 것입니다.


※ 블로그 리뷰 주소는 다음과 같습니다.


https://thereader.tistory.com/13



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
영국 주간지 스터디 : 테크 비즈니스 편 - 구글부터 넷플릭스까지 빅테크 트렌드를 원문 그대로 읽는다 영국 주간지 스터디
정병선 지음 / 길벗이지톡 / 2022년 3월
평점 :
장바구니담기


수준 높은 영어로 유명한 영국 시사 주간지 The Economist 의 기사 20건을 원문과 함께 해설한 책이다. 책 한 권으로 상당히 많은 분량을 공부할 수 있다는 장점이 있다. 더 자세한 리뷰는 아래 링크에서 참고 바람.
https://thereader.tistory.com/12

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
모두의 딥러닝 - 누구나 쉽게 이해하는 딥러닝 [별책(책속의 책/84쪽), 동영상 강의], 개정3판 모두의 시리즈
조태호 지음 / 길벗 / 2022년 3월
평점 :
구판절판


딥러닝을 입문하기 위한 코딩 내용뿐 아니라, 딥러닝 기술을 구성하는 각 요소들의 개발 배경 등까지 해설하고 있어 초보자의 탄탄한 이해를 돕는 책이다. 자세한 리뷰는 다음의 링크에서. https://thereader.tistory.com/2

댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
인공지능은 게임을 어떻게 움직이는가?
미야케 요이치로 지음, 안동현 옮김 / 이지스퍼블리싱 / 2022년 6월
평점 :
장바구니담기


스타크래프트와 심시티에 사용된 인공지능 기술이 궁금하다면 이 책을 보면 된다. 게임에 큰 흥미가 없더라도, 인공지능의 구체적인 기술과 알고리즘 등에 대해 알기 쉽게 해설한 교양서가 필요하다면, 역시 이 책을 보면 된다. 자세한 리뷰는 다음의 링크에서. https://thereader.tistory.com/9

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
인공지능은 게임을 어떻게 움직이는가?
미야케 요이치로 지음, 안동현 옮김 / 이지스퍼블리싱 / 2022년 6월
평점 :
장바구니담기







1. 들어가며


이지스퍼블리싱은 Do it! 프로그래밍 시리즈로 유명한 IT 실용서 전문 출판사이다. 주로 엑셀, 포토샵, 파이썬, 자바 등 특정 컴퓨터 프로그램이나 프로그래밍 언어의 활용법을 출간하는데, 이번에 낸 '인공지능은 게임을 어떻게 움직이는가?' 는 일종의 교양서에 가깝다.


직관적인 제목에서 알 수 있듯이, 이 책의 내용은 전략 게임(strategy game) 을 구동하는 인공지능 기술을 설명하는 것이다.


업계에서 통용되는 전략 게임의 명확한 정의는 아직 없지만, 저자는 다음과 같은 4가지 특징을 통해 전략 게임을 다른 게임과 구분 짓는다.


1) 장소(필드)가 있고 그 장소를 조감하는 시점이 있다.

2) 캐릭터 또는 그 집단이 있으며, 조감 시점에서 플레이어가 지시를 내릴 수 있다.

3) 지시를 받은 캐릭터 또는 그 집단은 지시한 대로, 또는 목적을 수행하고자 자율적으로 행동한다.

4) 승리 조건이나 달성 목표가 있다.


우리에게 가장 익숙한 디지털 전략 게임의 예는 블리자드 사에서 출시한 '스타크래프트'일 것이다. 테란, 저그, 프로토스 세 종족이 벌이는 전투를 다루고 있는 스타크래프트는 한국의 게임 문화, 더 나아가 인터넷 문화의 발전에 큰 영향을 미쳤다. 즉, 전략 게임은 뭔가 고상하고 복잡해 보이는 그 이름과는 달리, 많은 이들이 오늘날 가장 친숙하게 즐기는 게임의 형태라 할 수 있다

이 책은 바로 이런 전략 게임의 화려한 화면을 구현하기 위해 투입된 인공지능 기술을 소개한다.







2. 책의 구성과 내용


전체 8개 장으로 짜여 있으며, 각각의 주요 내용은 다음과 같다. 



1) 전략 게임과 인공지능 살펴보기


이 장에서는 전략 게임을 총 4종류로 구분하고 전략 게임 속 인공지능 기술의 역할을 간단하게 개관한다.


2) 전략 게임과 인공지능은 어떤 관계일까?


전략 게임의 정의를 내리고 주요 요소 3가지를 소개한 뒤, 전략게임에서 시간과 공간이 중요한 까닭, 그리고 간단한 게임의 예를 들어 인공지능을 통해 게임에서 해결해야 하는 과제를 설명한다.


이 과제들은 목적에 따라 유닛 편성하기, 목적지로 유닛 출격시키기, 장애물을 피하면서 진격하기, 적과 맞닥뜨리고 전투 시작하기 등 플레이어가 게임을 통해 달성해야 하는 다양한 세부 과제들이다. 이 과제들이 성취됨으로써 승리 또는 패배라는 특정한 결과에 도달할 수 있다.


3) 게임 AI 간단히 살펴보기


디지털 게임에서 플레이어의 경험을 메타 AI, 캐릭터 AI, 공간 AI 의 3가지로 나누어 설명한다. 또한 공간 정보 추출을 위한 AI 기술을 설명하는데, 전략게임이 대부분 특정한 공간에서 유닛들이 수행하는 행동에 따라 진행된다는 점에서 이 부분을 이해하는 것이 중요하다.


4) 지휘관으로서의 인공지능


여기서부터는 본격적으로 AI 기술에 대한 설명이 시작된다. 전략게임은 플레이어가 일종의 지휘관으로서 멤버에게 명령을 내림으로써 진행된다. 이에 따라 팀, 시간, 그리고 공간의 3가지 계층화를 동기화하게 된다. 


또한 이 장에서는 건설, 정찰, 경로검색, 무리제어, 스티어링 등 스타크래프트 등 전략게임에서 구체적으로 수행되는 알고리즘이 설명되고 있다. 역시 책의 후반부까지 내용을 이해하기 위해서는 이 부분을 이해하는 것이 중요하다.


5) 플레이어와 인공지능이 함께 만드는 세계


이 장에서는 플레이어가 세계를 시뮬레이션하는 전략 게임을 살펴본다. 대표적인 예로는 우리나라에서도 큰 인기를 끈 또다른 게임인 '심시티'가 있다. 


시뮬레이션 전략 게임에서는 그리드 맵을 겹쳐 자기 발전하는 세계를 구현하는 방법을 이해해야 한다. 또한 자원, 유닛, 맵 등의 계층 내에서 게임의 캐릭터인 에이전트들이 활동하게 되는 스크립트에 대한 설명이 이어진다.


이어서 지형 연결, 대상의 영향 범위, 계층적 지형 표현 등 전략게임의 3가지 세계 표현이 등장한다. 전략 게임에서는 장소에 큰 의미가 있어서, 그 지형을 분석하여야 인공지능이 공간을 이용해 플레이하는 데 도움이 되기 때문이다.


6) 학습하고 성장하는 인공지능


이 장에서는 육성 전략 게임을 살펴 본다. 플레이어가 팀의 리더나 매니저가 되어 AI 캐릭터 집단을 관리하고 능력을 향상시키는 게임을 말한다. 


여기서는 기존에 AI 와 관련하여 익숙하게 느껴지는 유전 알고리즘, 신경망, 퍼셉트론, 결정 트리 등의 용어들이 등장한다.


'시티 컨퀘스트'와 같은 게임을 일컫는 '타워 디펜스형 게임'은 경로 주변에 자동 공격을 하는 타워를 두고 경로를 따라오는 적을 방어하는 게임이다. 


적이 오는 경로는 정해졌으므로 적이 왔을 때 포대가 어떻게 움직일지를 정해 두어야 하는데, 이러한 게임을 개발할 때 어려운 점은 게임 설계에 대한 검증이다. 이는 인간인 개발자나 플레이어가 검증하는 것보다는, 일관된 결과를 얻어내기 위해 인공지능을 통한 자동 플레이 검증이 선호된다.


그런데 타워는 종류가 다양하고 설치 방법도 수많은 조합이 있으므로, 마치 유전자가 생명체에서 조합되는 것과 유사하게 움직이는 알고리즘을 칭하는 '유전 알고리즘'을 통해 검증한다 .


또한 실시간 전략으로 캐릭터를 학습시키는 게임에서는 신경망 기술이 사용되며, 퍼셉트론이나 결정 트리를 이용하여 효용 기반 의사결정을 학습시킬 수 있다. 


즉, 인공지능은 전략 게임에서 학습과 진화를 발생시킴으로써 플레이어가 끊임없이 새로운 환경에서 게임을 즐길 수 있게 한다. 이것이 전략 게임에서 AI 의 아주 중요한 역할이다.


7) 전략 게임의 학술 연구


제6장까지의 내용이 AI 기술이 구체적으로 게임에 응용되는 예를 다루었다면, 제7장은 전략게임이 실제 AI 기술의 학술적 연구에 사용된 예를 다루고 있다. 예를 들어, '알파고'의 개발사로 우리에게도 잘 알려진 '딥마인드'는 블리자드와 협력하여 스타크래프트2를 연구하였다. 그리고 이를 통해 기계 학습에 필요한 파이썬 기반 API 인 PySC2를 개발했다.


또한 이 장에서는 알파고에서도 사용된 몬테카를로 트리 탐색까지 설명하고 있다. 이처럼 다양한 예를 통해 일반적인 교양서의 수준을 뛰어넘는 학술적 내용을 개괄적으로 다룬다.


8) 전략 게임 AI의 일반이론


마지막 장인 제8장에서는 전략 게임의 개별적인 예를 넘어 일반적으로 다양한 분야에서 적용할 수 있는 기초 이론을 제시한다. 시계열적 사고방식, 시간과 공간의 계층화, 상위 인공지능과 하위 인공지능 등 다양한 개념을 설명함으로써 인공지능의 개념에 대한 이해를 돕는다.






3. 나오며


이 책은 맨 끝의 '찾아보기'까지 정확하게 300페이지 분량으로 구성돼 있다. 이 한정된 분량 안에서 다룰 수 있는 내용은 거의 다 다루었다고 생각이 될 정도로 내용의 밀도가 아주 높은 책이다.


보통 일본인 저자가 쓴 교양서는 추상적인 내용보다는 구체적인 현실의 예를 들어 알기 쉽게 설명하는 경우가 많은데, '인공지능은 게임을 어떻게 움직이는가' 역시 그러한 장점에 충실한 책이다. 


다만 그만큼 일반적인 독자들에게는 낯설게 느껴질 수 있는 인공지능 개념이 끊임없이 등장하므로, 집중하면서 배운 내용을 정리해 가며 읽어야 끝까지 책을 독파할 수 있을 것으로 보인다. 


책의 앞부분에 독자의 이해를 돕기 위한 '주요 용어 정리'가 있는데, 간단한 설명을 추구한 것으로 보이지만 각 용어당 한 줄짜리 해설은 다소 부족한 느낌이 든다. 아직까지는 전략게임의 인공지능 관련 용어가 대중화되지 않았으므로, 개정판이 나온다면 이 부분의 설명을 좀 더 보강하는 것도 바람직할 것으로 생각한다.


책의 주요 소재는 전략게임이지만, 이는 인공지능에 대한 설명을 더 구체적으로 하기 위해 채택한 것에 불과할 뿐, 인공지능 교양서 내지는 개론서로 손색이 없는 책이다. 



* 이 리뷰는 출판사의 이벤트를 통해 책을 증정받고 쓴 것입니다.


** 이 리뷰는 아래 블로그 주소에서도 볼 수 있습니다.


https://thereader.tistory.com/9





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo