모두의 인공지능 기초
예전에.. 제가 대학생이던 라떼 시절, 번역기를 사용해서 영어 과제를 제출했다면 아마도 F를 맞았을 겁니다. 당시의 번역기는 규칙 기반으로 번역을 했기 때문에, 모든 단어들을 자른 후 (phasing) 각 단어를 주로 가장 빈도수가 높은 단어로 교체하는 방식이었습니다. 이 방식은 명사는 어느 정도 잘 맞는데요, 문제는 서술어에서 발생합니다. 위의 사례를 보면
'돈을 썼다.'
라는 문구를 번역할 때 '돈'은 money로 번역을 잘하지만 '썼다.'라는 서술어의 경우 수많은 동사 중 주로 잘 사용하는 write으로 바꾸어버렸죠. 그랬더니 돈을 쓰는 위조 지폐범(?)이 되어버렸습니다. -_-;
다행히도 사람들은 저 방식의 문제점을 파악하고 대안을 마련하기 시작했습니다. 자연어의 번역은 규칙 기반에서 통계 기반, 통계기반에서 신경망 기반으로 바뀌어 갔습니다. 사람들이
'돈을 썼다.'
고 할 때 '돈'과 '썼다'라는 문구가 같이 나오는 글들을 조사를 해보면 대부분 소비하다라는 뜻을 가진 spend를 주로 사용하는 것을 알 수 있죠. 따라서 통계 기반으로 번역 프로그램을 만들면서 'I spent the money.'라는 자연스러운 번역이 만들어지게 됩니다.
'수학의 아름다움'이라는 책의 2장 내용인 '자연어 처리의 진화 - 규칙에서 통계로'를 보면 번역기의 역사가 어떻게 변화되었는지 상세하게 알 수 있습니다. (단, 책의 내용이 조금 어려우므로.. 학생들보단 교사들에게 권할만합니다.)
지난 시간에 인공지능의 특성에 대해서 살펴봤습니다. 인공지능의 다양한 특성이 SW에 적용되면 어떤 속성이 중요한 역할을 할까요?
① 데이터 속에서 일정한 규칙을 찾아내는 것 = 학습
② 기존 정보를 통해 새로운 정보를 만들어 내는 것 = 추론
③ 학습한 알고리즘을 기반으로 비슷한 새로운 데이터에 대한 결과 예측 = 예측
이었죠. 이와 같은 특성이 일상으로 들어오기 시작했습니다. 냉장고에서도 사용자가 주로 먹는 음식과 소비 패턴, 그 과정을 통해 새로운 정보를 생성하고 예측할 수 있게 되겠죠?
냉장고 뿐만이 아니라 TV, 핸드폰, 웹브라우저 등에도 인공지능이 적용되면서 학습, 추천, 개인화 서비스 등이 적용됩니다. 세탁기에도 인공지능이 적용이 된다고 하는데.. 예전에는 세탁 시간을 알아서 해주는 자동화 정도였지만 이제는 옷감을 분석해서 알아서 모드를 적용해주는 정도라고 하네요.
그런데
'이 기계는 AI가 적용되었는가?' / '아닌가?'
에 대해서 OX로 판단을 해서는 곤란할 때가 많습니다. 우리는 개발자가 아니기 때문에 어떤 부분에 인공지능이 적용되었는지 정확히 파악할 수 없고, 인공지능의 개념의 범위도 굉장히 넓거든요. 따라서 이 기술이 인공지능이다, 아니다를 판단하는 걸 목표로 하지 않고, 인공지능을 활용하면 무엇이 좋은지를 살펴보기로 합니다.
일단 인공지능이 정말 적용이 된 사례를 중심으로 이야기를 풀어나갔는데요, 2020년 1월 EBS에서 방영된 '우리 아이, AI 네이티브입니까?' 영상 중 인공지능을 활용한 스카프 기계를 한 번 살펴볼까요?
이 기계에서는 사진을 찍어서 컴퓨터로 보내면 인공지능이 패턴을 연구해 프로그래밍을 해줘서 자동으로 스카프를 만들어줍니다. 신기할 따름이지만..
"어떻게 이게 가능할까?"
라는 질문을 던진 후
"만약 뜨개질의 전문가라면 어떻게 할 것 같니?"
라고 다시 질문을 합니다. 아마도 전체적인 스카프를 파악하고, 부분으로 나누겠죠. 무늬가 바뀌는 타이밍에서는 어떻게 하면 될 것 같다는 방법이 떠오르지 않겠어요? 인공지능도 전체를 부분으로 나누고 기존의 학습된 내용을 바탕으로 연결을 하면 방법을 예측할 수 있을 것 같아요.
SW가 AI를 만나지 않으면 기존에 정해진 방법 외에는 할 수가 없죠. 그러나 SW가 AI를 만나면 지식을 활용하거나 학습을 통해 새로운 방법을 찾아갑니다. 위의 뜨개질 인공지능 머신은 학습 기반 인공지능 소프트웨어라고 할 수 있습니다.
반면 위의 영상에 나오는 레스토랑의 경우 미리 입력해놓은 미슐렝 쉐프의 레시피를 활용합니다. 입력된 레시피대로만 음식을 만드는 것이 아니라 사용자가 고른 식재료를 레시피에 적용합니다. 그래서 새로운 요리법을 인공지능이 코딩을 통해 구현합니다. 기존의 지식을 활용해 방법을 찾는 지식 기반의 인공지능 소프트웨어라고 할 수 있겠죠.
마지막으로 인간과 인공지능의 특징에 대해서 체크하는 내용을 띄워놓고 질문을 던져봅니다. 어떤게 사람이고 어떤게 인공지능의 특징일까요?
'새로운 것을 만드는 창작 능력'은 사람에 가깝다고 할 수 있겠죠. 그러나 영원히 그럴까요? '문자를 인식하고 이해할 수 있는 능력'은 예전에는 사람의 영역이었지만 이제는 인공지능이 훨씬 더 잘합니다. 따라서 딱 부러지게 어디가 정답이라고 말하는 것은 옳지 않은 것 같아요.
I단원의 1장에서는 인공지능에 대한 개념과 특징, 그리고 SW와 만났을 때 기존과 달라진 부분에 대해서 살펴보는 내용이었습니다. 큰 코끼리에 대한 큰 윤곽만 살펴보는 정도의 개론이죠. 코가 길구나, 귀가 크구나, 다리가 굵구나 정도랄까요? 코끼리도 멀리서 보면 비슷하지만 자세히 살펴보면 각 종마다 특징이 있듯 인공지능도 마찬가지입니다. 뭐가 더 복잡하고 더 공부할게 많다고 비교하는 건 무의미하지만, 적어도 인공지능이 생각보다 많은 부분에서 개발되어 있다는 것만 잘 알아도 충분하다고 할 수 있겠습니다.
그러면 다음 글에서는 'I-2. 인공지능의 발전과 사회 변화'에 대해서 살펴보도록 하겠습니다!