책 이미지

책 정보
· 분류 : 국내도서 > 과학 > 공학 > 공학 일반
· ISBN : 9791189722111
· 쪽수 : 380쪽
· 출판일 : 2019-10-04
책 소개
목차
서문 | 뭐든 다 하는 로봇을 만들자! _ 이야기의 시작
1장 | 로봇 귀를 구하러 두더지 마을로! _ 말을 듣고 판별하는 능력
- 음성과 음소
- 기계의 음성 인식과 학습
- 인간의 듣기 능력 습득 과정
- 꼭 인간과 똑같아야 할까?
2장 | 카멜레온 마을에 대화하는 로봇이 있대! _ 대화를 나누는 능력
- 튜링 테스트
- 인간과 대화하는 기계의 현재 수준
- 어중간한 대화와 어중간한 이해
- ‘참-거짓’을 무시할 수는 없을 텐데
3장 | 어떤 질문에도 척척 대답하는 로봇을 찾아 개미 마을로! _ 질문에 바르게 대답하는 능력
- 질문에 답하는 기계
- 언어의 세계에서만 이루어지는 한정된 이해
4장 | 올빼미 마을의 로봇 눈 기술을 알아내야 해! _ 말과 바깥 세계를 연결하는 능력
- 기계의 영상 인식
- 인공 신경망 엿보기
- 인공 신경망이란?
- 이미지·영상 표현력의 한계
- 외부 정보와 문장의 참-거짓 관계
5장 | 게으른 족제비들 결국 대형 사고를 치다! _ 문장 사이의 논리적 관계를 이해하는 능력1
- 논리란 무엇인가?
- 추론과 뜻 이해
- 논리적인 사고를 방해하는 것
- 함의 관계 인식
6장 | 족제비들은 과연 1,000개의 문제를 풀 수 있을까? _ 문장 사이의 논리적 관계를 이해하는 능력2
- 추론 패턴에 문장 적용하기
- 문장끼리 얼마나 닮았는지부터
7장 | 기계용 사전을 찾아 담비 마을로! _ 단어의 뜻을 아는 능력
- 과연 가능할까
- 단어 뜻을 자동으로 알게 하기
- 기계를 위한 문맥 정보
- 구와 문장을 벡터화하다
8장 | 족제비들, 뭐든 다 하는 로봇 드디어 완성? _ 화자의 의도를 추측하는 능력
- 뜻과 의도
- 모호성 해소
- 대화 함축
- 의도 전달의 어려움
9장 | 그 후의 족제비들 _ 말을 알아듣는 로봇, 일단 여기까지
- 말을 알아듣게 하기 위한 일곱 단계
- 그 너머에 인간이 있다
저자 후기
미주
그 밖의 참고 문헌
리뷰
책속에서
“물고기들이 이런 로봇을 만들었다니……”
다들 동요를 감추지 못하네요. 그때 한 족제비가 말했어요.
“있잖아, 이걸 개량해서 더 대단한 로봇을 만들어 보면 어떨까? 물고기가 육지를 걷는 것보다 훨씬 더 어마어마한 일을 해낼 수 있는 로봇을 만들자.”
족제비들은 다들 좋은 아이디어라고 생각했어요. 특히 물고기들 것보다 훨씬 더 대단한 로봇을 만들자는 말이 마음에 든 모양이에요.
“그럼 어떤 로봇을 만들까? 이 로봇은 물고기를 태우기 위한 거니까 족제비가 탈 만한 로봇을 만들어 볼까?”
농부 족제비가 의견을 냅니다.
“그런 거 만들어서 얻다 쓰게? 그보다는 밭일할 줄 아는 로봇을 만들자. 밭을 갈라고 말하면 갈아 주고, 오이를 수확하라고 말하면 수확해 주는 로봇은 어때?”
보따리장수 족제비가 끼어드네요.
“밭일만 하면 쓰나? 판매까지 직접 해야지. 판매도 아주 잘하는 로봇이 좋겠어. 돈이 많아 보이는 동물에게는 더 비싸게 팔 줄 아는 로봇 말이야.”
다른 업종에 종사하는 족제비들도 제각기 의견을 내놓았어요.
“족제비 주민 센터 일도 힘드니까 로봇이 주민 센터 일도 꼭 대신 해 주면 좋겠어. 세금도 걷고, 마을 축제도 기획하고.”
“족제비 마을 초등학교에도 교사가 부족해. 로봇이 교사 업무까지 할 줄 안다면 도움이 되겠어.”
그렇게 이야기를 나누는 동안 의견들이 정리되기 시작합니다.
“그러니까 원하는 걸 말만 하면 알아서 척척 다 해 주는 로봇, 그게 가장 좋겠구나.”
“그럼 우리가 하는 말은 뭐든 다 알아듣고, 뭐든 다 할 줄 아는 로봇을 많이 만들자. 그러면 그 로봇들에게 뭐든지 시킬 수 있으니까!”
“좋아. 그렇게 하면 아무도 일 안 해도 되겠다.”
족제비들은 이 황홀한 계획이 얼마나 멋진지 감탄하고 또 감탄했습니다. 그런 로봇이 만들어지기만 한다면 족제비들은 왕처럼 살 수 있게 될 테니까요.
족제비 마을의 어마어마한 로봇 만들기 계획은 이렇게 시작되었답니다. 그런데 여러분, 이런 이야기를 어디선가 들어본 적이 있지 않나요? 내가 하는 말은 뭐든지 알아듣고, 뭐든지 할 줄 아는 로봇. 그런 로봇이 만들어질지도 모른다는 이야기, 그렇게 되면 우리 인간의 생활은 어떻게 변할 것인가 하는 이야기들 말이에요. 요즘 세상엔 이런 이야기가 넘쳐나고 있지요.
로봇 기술이 발달하고 로봇의 두뇌인 인공지능 기술이 발전해 가면서 로봇이 할 수 있는 일도 점차 확장되고 있습니다. 앞으로도 더더욱 확장되어 갈 것은 불을 보듯 뻔한 일이죠. 그런데 ‘내가 무슨 말을 하든지 다 이해하고, 무엇이든 다 할 줄 아는 로봇’이란 게 정말 있을 수 있을까요? 이와 관련해서 우리는 말을 이해하는 것과 그 의미를 이해하는 것이 어떤 일인지를 생각해 볼 필요가 있습니다.
- <뭐든 다 하는 로봇을 만들자!> 중
족제비들 중 한 마리가 “그럼 내가 말해 볼게. 무슨 말을 하지? 좋아, ‘나는 밥이 좋아. 흰밥.’”이라고 하자 두더지 귀의 모니터에 다음과 같은 표기가 뜹니다.
나/ 는바비/ 조아흰/ 밥.
나는/ 바비/ 조아/ 흰밥.
나는/ 밥이/ 좋아/ 흰밥.
장사의 달인 두더지: “자, 보세요. 똑똑히 알아들었죠! 게다가 단어를 분절해서 찾아내고 맞춤법대로 표기하고 있잖아요. 즉, 어떤 단어로 이야기했는지 알아듣는 겁니다.”
족제비들: “흠, 그게 그렇게 대단한 일인가요?”
장사의 달인 두더지: “아, 여러분, 이게 진~짜 진짜~! 어려운 일입니다. 애초에 같은 말소리라고 생각하며 발음하더라도 실제 나오는 소리는 엄청 다르거든요. 정확하게 알아들으려면 그런 차이를 잘 무시해야 돼요. 예를 들면 ‘밥이’를 맞춤법을 무시하고 ‘바비’로 쓰면 첫째 ‘ㅂ’과 둘째 ‘ㅂ’, 그리고 ‘흰밥’의 받침 ‘ㅂ’은 전부 다른 소리거든요.”
족제비들: “정말요?”
장사의 달인 두더지: “‘바비’의 첫째 ‘ㅂ’은 성대가 울리지 않는 소리이고, 둘째 ‘ㅂ’은 성대가 울리는 소리지요. 그래서 영어 화자들은 첫째 ‘ㅂ’을 ‘p’로 알아듣고, 둘째 ‘ㅂ’은 ‘b’라고 주장합니다. 게다가 ‘흰밥’처럼, 받침 ‘ㅂ’으로 발음을 그냥 끝내면 받침 ‘ㅂ’은 앞의 두 ‘ㅂ’과 달리 소리 길을 딱 막아 버린 채 끝내 버리기 때문에 이 또한 전혀 다른 소리입니다. 여기 나온 세 ‘ㅂ’이 전부 같은 소리라고 인식하는 것은 한국어 화자뿐이에요. 그런데 기계는 아무런 조정 작업이 없으면 일단 전부 다른 소리로 받아들이지요.”
족제비들이 다시 발음하면서 정신을 집중해 보니, 정말 두더지 말이 맞았어요. 세 가지 ‘ㅂ’이 모두 소리가 달랐지요.
장사의 달인 두더지: “자, 아시겠습니까? 발음 시스템이 달라요. 그러니까 이것들은 목소리로서 전부 다 다른 거죠. 하지만 우리는 그 차이를 무시하고 모두 ‘ㅂ’으로 인식하고 있어요. 그게 언어의 묘미인데요, 문제는 기계에도 이걸 알려 줘야 한다는 거예요. 그렇지만 모든 차이를 모조리 무시하게 해선 안 돼요. 예를 들어 ‘ㅁ’과 ‘ㅂ’ 받침을 혼동하면 안 되잖습니까? 그러면 ‘나는 바비 좋아’가 아니라 ‘나는 바미 좋아’가 되니까 전혀 다른 뜻이 되어 버리죠. 무시해야 하는 차이는 무시하되, 무시해서는 안 되는 차이는 무시하지 않는 것, 그 미묘함을 구분하는 게 참 어렵단 말이죠.”
족제비들: “흐~음.”
장사의 달인 두더지: “그뿐이 아니에요. ‘좋아’는 실제로 ‘조아’로 발음하지, ‘조하’로 발음하지 않잖아요. 그러니까 ‘좋다’라는 단어는 ‘조아, 조타, 조코’처럼 때와 장소에 따라 다른 형태로 나타난다는 것도 알게 해야 합니다. 게다가 맞춤법에 맞게 ‘바비’를 ‘밥이’로 다시 써야 합니다. 어때요, 이 정도면!”
족제비들: “아하! 대~단하네요.”
장사의 달인 두더지: “자, 손님들! 마음껏 더 시험해 보세요! 날이면 날마다 오는 기회가 아니니까요!”
- <로봇 귀를 구하러 두더지 마을로!> 중
기계가 사람 말을 듣고 이해하는 기술 중 대표적인 것이 음성 인식 기술입니다. 이것은 입력된 음성을 ‘문자열’이나 ‘단어 열’로 바꾸는 기술입니다. 앞선 에피소드에서 장사의 달인 두더지가 보여 준 것처럼 음성을 입력하면 “나는 밥이 좋아. 흰밥.”과 같이 올바른 문자열(단어 열)을 출력해 내는 일이 이 기술의 목표입니다. 기계는 어떻게 이런 일을 할까요? 이를 이해하려면 먼저 컴퓨터에게 소리란 무엇인지를 알 필요가 있습니다.
우리가 잘 알고 있는 컴퓨터는 기본적으로 숫자를 다루는 기계입니다. 요즘 컴퓨터는 문자나 이미지, 동영상 등도 다룰 줄 알기 때문에 이른바 계산기와는 제법 거리가 멀어 보입니다. 하지만 실제로 컴퓨터가 조작하는 것은 ‘숫자’, 보다 정확히 말하면 ‘숫자로 변환 가능한 전기 신호’입니다. 우리가 평소 쓰는 숫자는 ‘54’나 ‘137’처럼 십진법으로 표시되지만, 컴퓨터가 사용하는 이진법이라는 방법을 쓰면 ‘110110’이나 ‘10001001’처럼 숫자 1과 0만으로 모든 수를 표시할 수 있습니다. 여기에 전류의 on/off나 전압의 높고 낮음 등을 대응시키면 전기 신호로 나타내 보일 수 있습니다. 우리가 컴퓨터에서 다루는 문자나 이미지, 동영상 등은 컴퓨터 내부에서 이렇게 숫자로 표현되고 있습니다.
앞서 소리란 진동으로 생겨나는 파장이라고 설명했지요? 기계는 말소리를 입력하면 해당 소리가 가진 파장의 특징을 ‘숫자의 조합’으로 나타냅니다. 그래야만 말소리를 컴퓨터에서 다룰 수 있기 때문입니다.
숫자로 표현된 음성을 기계가 적절한 음소에 연결할 수 있도록 하는 기술 중에 대표적인 것이 바로 기계 학습(machine learning)입니다. ‘학습’이라고 하면 많은 분이 학교에서 선생님의 수업을 받거나, 책상에 앉아 문제집을 풀며 공부하는 모습을 떠올리실 겁니다. 그러나 기계가 하는 공부는 그러한 상상 속 모습과는 상당히 다릅니다.
우선 기계 학습의 목적은 간단히 말하면 ‘함수를 구하는 일’입니다. 여기서 말하는 함수는 여러분이 수학 시간에 배운 그 함수와 같은 함수입니다. 아마도 많은 분이 좌표 위에 그려진 직선과 곡선, y=f(x)와 같은 수식을 떠올리실 텐데, 함수에서 중요한 것은 ‘수를 입력하면 수 하나를 출력하는 일’입니다. 수식 y=f(x)에서 x는 ‘입력되는 수’, y는 ‘출력되는 수’를 나타냅니다.
함수를 구하는 일과 지금 다루는 주제인 ‘음성을 음소로 연결하는 일’의 연관성은 어떻게 찾을 수 있을까요? 그 열쇠는 앞서 설명했던 다양한 데이터를 숫자로 표현하는 데 있습니다. 음성과 음소를 숫자로 표현하면 ‘음성을 음소로 연결하는 일’은 ‘음성(을 나타내는 숫자)을 입력하면 그에 대응하는 음소(를 나타내는 숫자)를 출력하는 함수를 구하는 일’로 치환할 수 있습니다. 즉 x라는 음성을 입력하면 y라는 음소를 바르게 출력하는 y=f(x) 함수를 구할 수 있게 되지요.
그럼 어떻게 기계 학습을 통해 그런 함수가 구해질까요? 여기에서는 기계에 주어지는 학습 데이터(training data)를 단서로 들 수 있습니다. 음성을 음소로 연결하는 과제를 예로 들어 볼까요? 학습 데이터란 해당 음성 예제에 연결되어야 할 음소의 정보를 붙인 자료를 말합니다. 달리 말하면 “이 음성은 어떤 음소에 연결해야 할까?”라는 ‘예제’에 “이 음소입니다.”라는 ‘정답’을 붙인 자료라고 볼 수 있겠지요. 기계는 이렇게 ‘정답이 붙은 예제’를 받아 옳은 답을 내기 위한 함수를 도출합니다. 기계 학습이 잘 이루어지면 처음 보는 문제 중 정답이 첨부되지 않은 문제에도 높은 확률로 옳은 답을 내는 함수를 얻을 수 있게 됩니다.
- <로봇 귀를 구하러 두더지 마을로!>, 기계의 음성 인식과 학습 중