[크로의 과학과 철학] 인공지능이 열어 놓은 신대륙
상태바
[크로의 과학과 철학] 인공지능이 열어 놓은 신대륙
  • 정연섭 크로의 과학사냥 저자
  • 승인 2021.04.13 11:06
  • 댓글 0
이 기사를 공유합니다

신대륙은 '알파고'로 발견된 인공지능과 빅데이터의 세계
정연섭 크로의 과학사냥 저자
정연섭 크로의 과학사냥 저자

[정연섭 크로의 과학사냥 저자] 신대륙의 발견

아래 그림에서 "당신을 Love합니다"로 멋진 문자의 한글을 훼손했다. 최신 프로그래밍 언어의 특징인 융합을 부각하려 영어를 끼워 넣다 보니 어느 거리에서 본 현수막을 모방한 탓이다. 이 글은 현수막의 사람 대신 소프트웨어(SW)에 대한 사랑이다.

필자는 과학 계산을 위해 SW를 적용했다가 SW을 발판 삼아 여러 과학기술분야를 섭렵하고 있다. 터를 잡아 성벽을 쌓는 대신 이웃 초원으로 이동하는 유목민 체질 탓이다. 덕분에 전산을 정식으로 배운 적은 없지만 1980년의 포트란 언어에서부터 2000년대의 자바 언어까지 대부분 언어를 구사하게 되었다. 프로그램 언어는 말을 옮겨 타듯이 바꿔 탈 수가 있다.

스마트폰 시대가 도래하자 프로그래밍에서 손을 잠시 떼고 SW 설계에 치중했다. 올 초에 SW 개발자의 몸값이 치솟는다는 기사를 보고 퇴직 후에 SW 사업에 도전하고 싶은 욕구가 일고 한동안 소홀했던 스마트폰 앱 개발 기술을 살펴보았다. 앱 개발도구를 다운로드하여 그림의 "당신을 Love합니다"를 바로 찍었다.

언어의 융합
언어의 융합

스마트폰 앱 개발에 HTML과 JavaScript가 여전히 사용되고 있었다. 조금이라도 SW에 관심이 있는 분들은 홈페이지를 구성하는 언어가 HTML임을 안다. HTML로 만든 화면은 정적인데 여기에 동적인 특성을 부여하는 언어가 JavaScript이다.

HTML로 작성된 정적 문장에 JavaScript로 순간순간 변화되는 현재 시간, 주식 시세, 현재 온도를 넣을 수도 있다. 동적 정보 표시는 이해를 돕고 문맥을 강화시켜준다. 한글에 섞인 영어는 눈살을 찌푸리게 하지만 HTML에 섞인 JavaScript는 손가락 클릭 수고를 줄어준다.

필자는 일주일 더 손을 보아 신대륙으로 향할 메이플라워호를 건조했다. 신대륙은 알파고가 이세돌을 이김으로써 발견된 인공지능과 빅데이터의 세계이다. 세계 각 나라는 인공지능이라는 신대륙으로 들떠 있다. 민간 기업들은 SW 코딩 기술만 있으면 황금을 건질 수 있다며 유혹하고, 정부는 SW 교육을 통해 창의적 인재가 될 수 있다며 꼬신다. 30년 SW 개발자는 시류에 편승하여 젊은이를 메이플라워호로 초대할 수만은 없다. 최소한 인공지능과 SW 코딩의 신대륙을 제대로 알려줘야 한다.

창의적 인재

SW 덕에 창의적 인재가 육성되는가? 아니다. 창의적 인재는 SW 교육 없이도 솟아난다. 역사에 이름을 남긴 창의적 인재는 SW 교육을 받지 않았다. 그들은 프로그래밍 언어가 아니라 수학 기호, 일상 언어로 창의적 결과물을 발표했다. 그럼 SW적 창의적 인재는 뭔가? 특징은 제작 능력에 있다.

경제학자(?)는 쌀 때 주식을 사고 비쌀 때 주식을 팔라고 말한다. 이 훈수로 돈을 벌 듯 하지만 당장 문제가 나타난다. 주식이 쌀 때와 비쌀 때를 알 수가 없는 탓이다. SW적 창의적 인재는 목표 달성의 절차를 제시하는 인재이다. SW적 창의적 인재는 예술분야의 창의적 인재들과 유사하다. 예술가들은 말 대신 음표와 붓으로 작품을 남겼다.

한정된 창조적 소수가 아니라 모든 사람이 SW 교육을 받아야 할까? 역시 예술교육에 단서가 있다. 사람들은 예술 창작을 위해 교육을 받기도 하지만 예술 감상을 위해서도 교육을 받는다. SW도 제작자와 사용자로 나누어 유사한 원칙을 적용할 수가 있다. 조금 차이가 있다면 예술은 작품에 손대지 말라고 경고를 보내지만 SW는 프로그램에 손을 대라고 권유한다. SW 사용자는 자기 입맛에 맞게 SW를 설정하고 활용할 수 있다.

SW 사용자가 설정보다 조금 더 깊게 손을 대면 SW 제작자 반열에 진입한다. 운전면허를 따듯이 미래에는 대부분 사람들이 제작자 역량을 어느 정도 지니게 되며, 머릿속에 있는 아이디어를 시제품으로 구체화시킬 수 있다. 시제품 평가 후에 전문가를 통해 정식 제품을 생산한다면 시행착오를 줄일 수가 있다.

정부도 SW 교육을 보통 면허 획득에 두어야지 특수 면허 획득에 둘 필요는 없다. 특수 면허를 지닌 창의적 인재를 경시해서 하는 말이 아니다. 창조적 인재는 새로운 먹거리를 발굴하므로 사회의 큰 자산이다. 다만 그들은 인위적 교육환경에서 빚어지지 않으며 어떤 환경 속에서도 스스로 태어난다. 자기 껍질을 깨뜨리고 태어날 때 창의적 인재가 된다. 특권 없는 교육 속에 진정한 창의적 인재는 자란다.

우리가 창의적 인재를 내버려 두려면 역설적으로 창의적 인재를 알아보는 역량을 지녀야 한다. 좋은 미술, 좋은 음악을 판단하는 기준은 널리 알려졌지만 좋은 SW 기준을 말하는 전문가는 별로 없다.

필자의 사건기반 프로그램
필자의 사건기반 프로그램

사건 기반 처리

필자는 1990년도 후반에 Window95용 프로그램을 개발했다. 당시는 절차 기반에서 사건 기반으로 프로그래밍의 패러다임이 전환되는 시기였다. 일부 개발자는 따라 가느라 고생을 했고 일부는 포기했다.

80년대 프로그램은 절차 기반이다. 절차 기반 프로그램은 첫 줄에서부터 차례차례 진행된다. 간혹 점프하는 명령이 있지만 현재 수행 위치는 본인 프로그램을 벗어나지 않는다. 자신이 짠 코드 안에서 지지고 볶으므로 SW 버그가 있더라도 쉽게 찾을 수 있다. 긴 시간 계산하는 과학기술용 프로그램은 아직도 절차 기반 프로그램이 많다.

그러나 90년대 윈도용 프로그램은 사건 기반 처리이다. 사건이란 마우스의 클릭, 통신의 수신, 메뉴의 선택, 창 크기의 조절 등을 말한다. 윈도 운영체제는 사건을 감시하다가 발생 사실을 즉시 외부 프로그램에게도 알려준다. 통보받은 외부의 사건 기반 프로그램은 사건을 무시하든지 적절히 대응한다.

“모든 기관이 머리가 될 필요가 없다”라는 격언이 사건 기반 프로그램을 정확히 설명한다. 머리는 운영체제이고 각 기관은 프로그래머가 짠 사건 기반 프로그램이다. 반면에 모든 기관이 머리처럼 행동하는 프로그램은 절차 기반 프로그램이다. 사건 기반 프로그램이 되기 위해서는 운영체계나 컴퓨터 성능이 좋아야 한다. 최근 대부분 프로그램은 사건 기반으로 개발되고 있다. 

부품과 제품

한 달 전 스마트폰을 바꾸었는데 충전기가 들어 있지 않았다. 잠시 당황했지만 가격을 낮춘 이익이 있고 연계가 완벽하여 제3자에 시장을 개방했다는 의미이다. 모든 제품은 부품의 조합으로 이루어지고 조립되기 위해 연계관계가 정의된다. 물리적 형태를 지닌 부품은 음양 관계가 맞아야 하고 서로 살을 맞대고 있어 부식도 없어야 한다.

SW도 부품에 해당되는 모듈로 구성되어 있다. 물리적 제품의 부품 수에 비해 SW의 모듈 수는 다양해 제3자의 모듈을 그대로 사용하기 어렵다. 깎아내고 메꿔야 겨우 모듈로 역할을 한다. 기하학적 배치뿐만 아니라 통신 프로토콜도 맞추어야 한다. 한번 만들어진 소프트웨어 모듈을 별로 손대지 않고 재사용하는 방향으로 프로그램 언어들이 진보되고 있다.

양희은의 "이루어질 수 없는 사랑"이 기타에 입문했다는 징표가 되듯이 모니터에 나타난 "Hello World!"가 특정 프로그램 언어에 입문했다는 상징이 된다. 이 간단한 인사도 모든 SW 모듈들이 제대로 작동해야 나타날 수가 있다.

계문강목과속종

1990년 사건 기반 프로그래밍을 정복하고 포효하려는 순간 객체지향이라는 산이 진로를 가로막았다. 객체지향은 C++ 언어에서 널리 알려졌는데 현재 대부분 언어가 지원하고 있다. 객체지향 개념은 언어마다 미묘한 차이가 있지만 대체로 상속 개념에서 출발한다. 상속은 자식이 부모를 닮는다는 의미로 자식의 고유한 특징을 명시하지 않으면 자식은 부모처럼 행동한다고 간주한다.

'그 아버지에 그 아들'이라는 속담은 객체지향 개념에 들어오기 전부터 널리 알려진 원칙이다. 스웨덴의 식물학자 린넨은 상속의 성질을 더 일반화하여 '계문강목과속종'이라는 식물분류 체계를 만들었다. 시간을 거슬러 올라가면 아리스토텔레스가 상속 개념으로 자연현상을 해석했다. 아리스토텔레스는 삼단논법 창시자로 기억되지만 객체지향 개시자로 칭송되어야 한다.

프로그래머는 중복을 극도로 싫어한다. 한 사람에 전화번호가 둘이면 난감하듯이 중복은 SW 버그의 원인이다. 만사를 제쳐 놓고 중복 연락처를 우선 정리하듯이 SW 코딩에 앞서 중복을 불허하는 프로그램 언어를 골라내면 객체지향 언어가 남는다.   

분할과 정복

인생이 무엇인지 묻는 사람들이 간혹 있다. 긴 인생도 결국 하루 삶의 연속이다. 하루에 충실했다면 인생이 부끄러울 이유가 없다. 사회에 어떤 역할을 할 것인지 묻는 사람들이 간혹 있다. 사회는 복잡하고 넓지만 나와 내 이웃의 연장에 불과하다. 나와 내 마을만 잘 가꾸면 사회는 천국이 될 수밖에 없다. 그래서 대학에서 '수신제가치국평천하'를 이야기한다.
 
인생은 하루, 사회는 마을로 분할된다. 하루를 정복하고 마을을 정복하면 인생과 세상을 얻을 수 있다. 과학도 마찬가지이다. 한 입자와 1촌 입자들과의 관계만으로 자연현상 전체가 해석된다. SW의 거대하고 복잡한 문제도 분할을 통해 정복된다.

고장 대비  

생로병사는 생물에게만 적용되지 않는다. 조직, 국가에게도 적용되고 무생물에게도 적용된다. 변화하지 않는 것은 없다. SW가 장착된 제품도 생로병사의 과정을 겪는다.

인간을 육체와 정신으로 구분하듯이 기기도 물리적 기기와 논리적 코드로 구분한다. 물리적 기기는 불량이거나 노화되어 고장이 일어나지만 논리적 코드는 세월의 영향을 받지 않는다. 물리적인 부분은 고장이란 표현을 하고 논리적 코드인 소프트웨어는 버그(Bug)라는 용어를 사용한다.

SW는 논리적 Bug가 없어야 하지만 물리적 부품의 고장에도 대비하는 프로그래밍을 해야 한다. 하드디스크가 고장 나고 마우스가 움직이지 않을 수도 있다. 이동 중에 와이파이(WIFI)가 변경될 수도 있다. 통계에 따르면 고장을 대비하여 프로그래밍을 하면 코딩 비용이 400%는 올라간다.
 
소프트웨어 설계자나 개발자는 예상되는 주요 고장에 대해 일일이 우회 방안을 제시한다. 그렇지만 완벽하지 못해 컴퓨터는 먹통이 되고 옛날 윈도에서는 뜻 모를 하얀 글자가 박힌 파란 창이 나타나곤 했다. 최신 프로그램 언어는 예외처리 방식을 개선하여 막다른 골목에 봉착하면 더 이상 진행을 멈추고 사용자에게 처분을 맡기는 전략을 채택한다.

신기술 접목

앞으로도 각 분야에 인공지능이 적용될 텐데 어린 아이 같은 질문을 해보자. 인공지능을 적용하는 사람은 해당분야 전문가인가, 인공지능 전산전문가인가? 

정답은 문제의 난이도에 따라 다르다. 알바고 개발자인 허사비스는 이세돌에게 9점은 깔아야 하지만 인공지능이라는 SW를 통해 이세돌을 몰아붙였다. 허사비스가 바둑의 규칙을 정확히 알고 이에 따라 인공지능을 개발했기 때문이다. 규칙이 잘 정의된 후에 난이도가 높은 문제는 전산전문가가 유리하다.
 
그럼 해당 주제 전문가의 역할은 사라지는가? 그럴 리가 없다. 해당 주제 전문가는 문제를 정확히 정의할 수는 있는 능력자이다. 규칙이 단순한 바둑을 누구나 이해하지만 과학기술적 문제는 규칙 발굴 자체가 쉽지 않다. 전문가는 자연현상에서 규칙을 발견하려 온갖 기법을 적용한다. 규칙이 발견됐지만 해답이 밝혀지지 않은 일부 문제는 인공지능 전문가와 협업이 필요하다.

신속한 반응

HTML은 인터넷을 통해 정보를 전달하고 표현하는 탁월한 언어지만 모니터에 표시해야 할 항목이 많아지면 버벅거린다. 그래서 페북은 친구 수를 5천 명으로 한정시켜고 시간 지연을 해소하기 위해 React라는 가속 기술을 개발했다. React 기술을 적용하면 반응 지연이 친구 수의 1차식에 비례하지만, 적용하지 않으면 친구 수의 3차식에 비례한다. 알고리듬이 세제곱에 비례하여 반응한다면 프로그래머는 당장 쓰레기통에 던져 버린다. React 기술은 공개되어 많은 앱과 웹이 React 기술을 채용한다.

전산뿐만 아니라 수학도 빠른 알고리듬을 찾으려 이론을 발전시켜 왔다. 내가 뮌헨, 런던, 오슬로, 파리, 로마, 아테네를 여행하는 최소 경로를 찾아야 한다면 우리는 빠른 문제를 풀고 있는 중이다. 누가 순서를 지정하면 여행 거리를 계산할 수 있지만 그 경로가 정말 최단 거리인지는 확신하기 어렵다. 경우의 수가 많은 탓이다. 속도 문제는 현대 문명에도 널려 있다. 비대칭 암호는 공개키와 비밀키의 쌍으로 구성되는데 공개키를 알려주어도 비밀키를 결코 유추할 수가 없다. 이는 정수를 쉽게 소인수 분해하는 방법이 없기 때문이다.

큐빅을 흩트리기는 쉬워도 다시 맞추기는 어렵듯이 시간이 걸리는 문제는 해답은 찾기 어렵지만 일단 누가 해답이라고 제시를 하면 검증이 쉬운 비대칭적 특징이 있다.

알파고가 이세돌을 이기기 전까지 바둑도 해답을 찾기 어려운 문제로 여겼다. 우주의 별만큼 경우의 수가 많으므로 컴퓨터가 계산을 하지 못한다고 단정했다. 그렇지만 인공지능이 이 예측을 깼다. 최근에는 양자컴퓨터가 비대칭적 문제를 깰 수 있다며 기대받고 있다. 일반화된 비대칭 문제는 막대한 상금이 걸린 밀레니엄 수학 문제의 하나이다.

이제까지 신대륙으로 향해할 메이플라워호에 적용된 기술과 신대륙을 현황을 살펴보았다.  SW 코딩으로 들어가면 기교를 더 배우겠지만 이 글을 이해했다면 선원이 될 자격이 있다. 자 이제 당신이 떠날지 말지 결정할 시간이다.

● '크로의 과학사냥' 저자인 정연섭 연구원은 서울대 화학 석사 후에 LG화학연구소, 한국전력연구원 거쳐 한국수력원자력 중앙연구원에 재직하고 있다. 50여 편 발표 논문, 10여 건의 특허를 등록했다. 원전 설계 및 수출로 한국원자력학회 기술상, 산자부 표창을 받았다. '크로의 과학사냥'을 저술했다.

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.