티스토리 뷰

728x90

[ 배우고 느낀 점 ]

 

부제는 '세상을 바꾼 컴퓨터, 소프트웨어의 원천 아이디어 그리고 미래'

 

좋은 책이다.

비전문가를 위해 썼다지만 이 정도 내용을 이렇게 설명할 수 있는 전문가가

몇이나 될 까 싶다.

 

튜링의 자동기계, 만능기계라는 생각이

우리가 손바닥에 놓고 다니는 컴퓨터라는 것으로 어떻게 구현되어 왔는지에 대한 원리 구현의 역사에 대한 설명....

 

특히 섀넌이라는 사람이 발견한 것이 무엇인지 그 의미과 가치를 대중을 위한 서적에 언급되는 것을 많이 못봤다.

저자는 왜 섀넌의 논문이 가치가 있는지, 무엇을 의미하는지 정말 쉽게 썼다.

(물론 근래에 클도드 섀넌 ' 수학적 커뮤니케이션 이론' 이라는 책이 출판은 되었다.

보면 알겠지만 10P 넘게 읽을 수 있는 사람이 몇 명이나 될 까 싶다.)

 

IT나 인지과학이라는 고유하면서도 중첩된 영역에서 전문가들이 책을 많이 낸다

인공지능 자체로 책을 낸 김대식교수보다 이광근교수님이 이 책에서 잠시 언급하는 인공지능에 대한 내용이 차라리 더 고수다워 보인다.

 

- 전달하는 것이 그 분야에 핵심적인 발견 내용이어야 한다.

- 일상적인 비전문가의 두뇌가 이해할 수 있어야 한다.

 

라는 측면에서....

 

저자의 마지막 아래 두 문장은 

그 표현의 정갈함과 숙련도에서 저자가 고수임 보여준다.

 

우리 시대에 대한 일갈이다.

 

" 미래에 나타날 많은 것을 손쉽게 커버하는 방법은 원리에 집중하는 것이다.

근본을 꿰뚫는 시각을 튼튼히 할수록 다양한 응용들의 한계와 가능성을 쉽게 파악할 수 있고, 남들이 미처 보지 못하는 곳을 볼 수 있기 때문이다. "

 

-> 개인적으로 대기업의 CEO나 임원들을 많이 접하면서 시류에 따라 흘러가는 비전과 방향을 제시하는 그들의 얇은 지식에 지치고 놀라울 때가 많다. 얇은 냇가에 홍수가 나 물이 갑자기 불어나면 냇가에 자갈돌길을 쓸면서 잡소리가 많이 나는 법이다. 깊지 않은 경험과 지식에 갑자기 지식이나 역할을 쏟아 부으면 낼 수 밖에 없는 그 입에서는 무식의 잡소리가 심하게 나는 법이다.

 

그저께는 클라우드, 유비쿼터스를 떠들던 자들이

어제는 IoT, 빅 데이터를 떠들더니

오늘은 인공지능과 4차 산업혁명을 떠들어 댄다.......

 

최진석 교수의 '탁월한 사유의 시선'이라는 책이 있다.

책은 순서는 첫째 버려야 하고, 둘째 앞서서 이끌어야 하고, 셋째 홀로 서야 한다고 되어 있다. 둘째 앞서서 이끌다는 장에 '새로 만들다'에서 최교수는 새로운 장르를 시작하는 나라가 선진국이라고 말한다.

 

이렇게 얇고 좁고 천박하고 조잡스럽게 재잘재잘 흘러다는데 

어떤 분야에서 뭘 만들고 이끌 것인가?  

 

"컴퓨터 과학은 머리로 궁리하는 것에 대한 공부 (science of intelligence)이고 그 응용은 인간 지능/본능/현실의 확장이다."

 

--> 90년대 2000년 대만 하더라도 컴퓨터 과학은 대체적로 SW에 대한 것이었다.

그러나 지금은 알파고가 이세돌을 깨부스고 왓슨이 암전문의사 수준을 넘는 시대이다. 한국의 미래를 위해 창의적 인재, SW교육을 강조하는 꼴을 볼 때 한심하고 걱정스럽다. 이광근교수의 윗 말은 새겨듣고 재해석해야 할 말이다. 통찰과 혜안이 있는 문장이다. 고수만이 던질수 있는 수준의 철학적이고 지능적인 문장이다.

 

최인석교수는 "생각의 높이가 삶의 수준을 결정하고, 결국 세계의 수준을 결정한다고 했다. 따라서 철학이란 자기 스스로의 삶을 결정하는 탁월한 사유의 시선을 갖는 것이며, 이는 궁극적으로 국가의 운명을 결정한다."라고 했다.

 

[ 주요 내용 ]

 

ㅇ 컴퓨터는 '마음의 도구'이고 그 도구를 다루는 방법은 물리적 근육이 아니라 언어다. 언어로 작성된 텍스트를 컴퓨터의 메모리에 실으면 컴퓨터는 그 텍스트가 표현한 일을 해 간다...그래서 할 수 있는 일의 한계가 없어 보인다. 컴퓨터가 읽는 텍스트(SW)는 우리가 무궁무진하게 지어낼 수 있기 때문이다. 그것대로 컴퓨터는 무궁무진한 일을 하기 때문이다.

 

ㅇ 튜링이 revive한 당시 수학계를 내려친 청천벽력은 괴델이 1931년에 증명한 다음과 같은 사실이었다. "기계적인 방식만으론 수학의 모든 사실을 만들어 낼 수 없다."

 

ㅇ 힐베르트....기계적인 방식으로- 자동으로 - 수학의 모든 사실을 술술 만들어 낼 수 있을 것 같다는 꿈, 그래서 수학자들의 고된 짐을 벗을 수 있을 것 같다는 꿈..

 

ㅇ 괴델...'불완정성의 정리'...즉, 기계적인 방식만으로 참인지 거짓인지 판단할 수 없는 명제가 항상 존재한다는 증명이었다.

 

ㅇ 튜링의 증명은 단도직입적이었다. '기계적인 방식'이 뭔지를 곧바로 정의한다. 그리고 그 방식만으론 모든 사실을 만들 수 없음을 증명한다.

 

ㅇ 튜링은 아주 단순한 다섯 종류의 기계 부품을 정의한다....그리고 그 부품들로 만든 기계로 돌릴 수 있는 것만을 '기계적인 방식'이라고 정의한다. 그리고는 이 방식으로는 절대 돌릴 수 없는 계산 문제를 하나 보인다. 그리고 이 문제를 지렛대 삼아 기계적인 방식으로는 참인 사실을 하나도 빠뜨리지 않고 만들어 내는 것이 불가능하다는 결론을 이끌어 낸다.

 

 

ㅇ  테이프는 메모리 칩으로, 테이프에 읽고 쓰는 장치는 메모리 입출력 장치로, 작동규칙표는 중앙처리장치(CPU)로 구현한 것이다. 따라서 실행시키고 싶은 일에 해당하는 기계를 메모리에 표현해 - SW로 만들어 - 넣어주기만 하면 컴퓨터는 그 정의대로 일을 수행한다. 튜링의 보편만능의 기계, 그 실재가 우리 손바닥 위에 놓인 컴퓨터인 것이다.

 

 

 

스위치 A에 1이 흐르면 (닫히면, 내려오면) 오른쪽 끝 결과에 0이 흐르고, A에 0이 흐르면 (열리면, 올라가면) 결과에 1이 흐른다.

 

ㅇ  두 개가 같은 것이라는 발견은 스위치 분야에 날개를 달아주었다. 우선, 스위치 회로를 만든다는 게 뭔지를 이해하게 되었다. 스위치 회로를 만든다는 것은 부울 논리식을 하나 만다는 작업이구나라는 이해다.

 

 

ㅇ  현재 컴퓨터에서 전기를 사용하는 이유는 전기 스위치를 아주 작고 싸게 많이 밀도 있게 만들 수 있기 때문이다. 트랜지스터라 이름 붙은, 작고 싸게 만들 수 있는 전기 스위치가 발명된 덕택이다.

 

ㅇ 성인 한 명의 뇌에는 약 10의 18승 개의 스위치가 있다. 성인 뇌 하나에 약 1,000억 (10의 11승)개의 뉴런이 있고, 뉴런마다 많게는 만 개의 지점에서 다른 뉴런과 연결되어 있고, 각 연결지점 (시냅스)마다 수천 개의 스위치가 있다고 한다. 10의 18승은 얼마나 큰 수 일까? 현대 물리학에서 우주의 나이를 초로 계산하면 10의 17승 ~ 10의 18승 초 사이라고 한다. 또, 지구상의 모래 알갱이 개수는 약 7.5 * 10의 18승 개 정도라고 한다. 7~8명 정도의 뇌 안에 지구상의 모든 모래알 수만큼의 스위치가 있는 거다.

 

ㅇ 일하는 방도는 알고리즘에 대한 탐구고, 표현하는 방식은 언어에 대한 탐구다. 어떤 알고리즘으로 SW가 일을 하도록 해야 좋은지, 어떤 언어로 SW를 표현하는 게 좋은지...

 

ㅇ 알고리즘이란 SW(튜링기계)로 만드는 문제 푸는 방도다.

 

ㅇ 알고리즘의 실행 비용(복잡도)에서 우리의 관심은 입력의 크기에 따라 비용이 어떻게 증가하는지이다....비용의 단위는 시간이나 메모리이다.

 

 

 

ㅇ  컴퓨터로 풀 수 있는 문제들이 전체 집합일 때.....

     현실적인 비용으로 풀 수 있는 문제들 (P)

     아닐 것 같은데 아직 모르겠는 문제들 (NP)

 

ㅇ P =/ NP 라는 전제 아래 어떤 문제가 P 바깥에 있는지 (어려운 문제인지) 판단하는 방법이 있을까?

 

ㅇ 통밥을 동원하는 알고리즘이 그렇다. 통밥 알고리즘은 선택의 기로에서 절대적으로 옳은 선택을 찾겠다고 시간을 소모하지 않는다. 직관에 기대 통밥으로 선택하고 지체없이 진행한다.

 

ㅇ 컴퓨터로 불가능한 문제들은 당연히 있다. 멈춤 문제가 그랬다.  SW(튜링 기계)의 개수는 자연수의 개수만큼 있다.

 

ㅇ 멈춤 문제를 푸는 SW는 불가능하다. 가능하다면 모순이다.

 

ㅇ 다항 정수방정식을 푸는 SW도 불가능하다.

 

ㅇ 양자 컴퓨터는 실험실에서 실현되고 있는 미래다. 전기 스위치 대신에 원자 내부의 양자를 이용해서 튜링의 컴퓨터를 구현할 수 있다.....하지만 양자 현상을 이용한다고 해도 튜링이 정의한 기계적인 계산의 범주 바깥의 것을 계산해 낼 수 있는 건 아니다. 속도를 빠르게 하고 메모리 소모를 알뜰하게 할 수 있을 뿐이다.

 

ㅇ 컴퓨터에서 이용하는 양자 현상은 세 가지다. 겹쳐있기와 얽혀 있기와 확률진폰

 

 

 

양자 알고리즘은 양자 세계에서 계산하기 때문에 확률적일 수 밖에 없다. 항상 답을 내는 알고리즘이 될 수 없고 매우매우 높은 확률로 늘 답을 내는 알고리즘이다. 양자 알고리즘은 해답 후보들을 양자에 중첩 시켜서 한꺼번에 연산을 적용하면서 효율을 높이기 때문이다. 즉, 필요한 연산을 끝내도, 원하는 답은 다른 후보들과 양자 안에 늘 겹쳐있기 때문이다. 단지 그 원하는 답은 다른 후보보다 매우 높은 확률진폭을 가지고 있기 때문에 연산을 끝내고 양자를 관찰하면 매우 높은 확률로 그 답이 나타날 뿐이다.

 

ㅇ 튜링기계면 SW를 표현하기에 충분한 언어이긴 하다. 튜링기계의 규칙표가 SW를 표현하는 언어로선 충분한 것이다. 왜냐하면 하나의 SW는 하나의 튜링기계이고, SW를 만드는 것은 튜링기계를 만드는 것이기 때문이다. 그 튜링기계가 컴퓨터(보편만능의 튜링기계)의 메모리에 올라오면, 컴퓨터는 그 튜링기계의 작동을 그대로 실행하게 된다.

 

ㅇ 현대 물리학에서 손으로 풀 수 있는 방정식은 전체의 약 5% 미만일 것이라고 한다. 대부분의 경우, 수리적인 방식으로 풀 수 있는 방법이 없다. 컴퓨터 계산을 통해서 방정식 해답의 근사치를 계산하는 수밖에 없다.

 

ㅇ 사람이 새로운 지식을 만드는 방법은 대체로 세 가지다. 모두 알고 있는 사실에서 새로운 지식을 이끌어낸다. 그 지식은 확실한 지식이거나 불확실하지만 그럴듯한 추측이다.

 

1) 디덕(deduction, 반드시 이끌기) : 'A이면 B다' (A => B)가 사실이고 A가 사실이면, B가 사실이다. 이런 유추가 디덕이다. 사실로부터 의심의 여지가 없는 사실을 유도한다. 틀림없는 사실이 만들어진다.

 

2) 앱덕(abduction, 원인 짐작하기): 'A이면 B다' (A => B)가 사실이고 B가 사실이면 아마도 A가 사실이다. 이런 유추를 앱덕이라고 한다. 추측이다. 확실한 것일 수는 없다. A가 아닌 다른 이유 때문에 B가 사실일 수 있기 때문이다.....드러난 현상들로부터 가장 그럴들한 원인을 이끌어 내기... 나를 쳐다 보는 여자...음 나를 좋아하는군....

 

3) 인덕(induction, 짐작해서 이끌기): 지금까지 관찰한 바, A일 때마다 B가 사실이면, 아마도 'A이면 B다' (A=>B)가 사실이다. 이렇게 일반화해서 추측하는 것을 인덕이라고 한다. 가늠뿐이다. 확실하지는 않다. 미래에 A이지만 B가 사실이 아닌 경우도 가능하기 때문이다....(-1,1) (1,1) (2,4), (4, 16)....이라면 아...앞 수의 제곱함수인가라고 추측.....일반화 과정....

 

기계 학습은 앱덕과 인덕에 대한 것이다. '아마도'가 낀다. 틀릴 수 있는 여지가 있다. 관찰한 데이터를 가지고 원인을 유추하거나 일반화하지만, 확실한 사실일 수는 없다.

 

ㅇ 일상에서 흔히 하는 짐작들이 모두 앱덕의 범주에 속한다......앱덕은 관찰로부터 원인을 가늠하게 하는 것이고, 여러 원인 중에 가장 가능성이 높은 원인을 찾는다. 원인 후보들마다 진짜 원인이었을 가능성을 가늠해서 결론을 내린다. 결과에서 원인을 가늠하는 기술이다.

 

ㅇ 인덕은 특수에서 보편으로 건너뛰는 것.....추측....요즘 구글을 포함해서 대부분의 자연어 자동번역 서비스가 이러한 기계 학습 기술을 이용한다.

 

ㅇ 모든 기계 학습에는 두 가지 허들이 있다. 이 허들을 넘는 기계 학습 방법을 찾아 나서야 한다. 자연의 오묘한 현상이랄까. 이 현상을 넘지 못하고 유추하는 지식은 너무 오차가 커서 쓸모가 없어진다. 

 

첫 번째 허들은 기계 학습에 필요한 데이터는 항상 부족하다는 사실이다. 학습을 더 잘하기 위해서 데이터를 여러 면에서 관찰하기로 하면 할수록 학습에 필요한 데이터의 개수는 기하급수적으로 늘어난다....부족한 데이터를 가지고도 똑똑하게 기계 학습하는 것이 관건이다.

 

두 번째 허들은 학습과정이 주어진 데이터에 너무 딱 맞춰지지 말아야 한다는 것이다. 결과가 오히려 좋지 않다. 그렇게 만들어진 지식이 오히려 진실과 멀어지는 경우가 많다. 알려진 입력에는 정답을 내지만 미래에 만나게 될 생소한 입력에는 좋지 않은 출력을 내게 된다.....학과 커리귤럼에 너무 딱 맞춰진 학생, 학과 성적이 완벽한 예술학도가 나중에 훌륭한 예술가로 크기 못하는.....

 

ㅇ 학습하는 샘플이 많아지면 진실함수에 가까워지는 확률이 점점 커지는 실용적인 (다항 복잡도의) 방법이어야 한다는 기준...

 

앱덕(abduction)이나 인덕(induction)과정으로 생성하는 지식은 대용량의 컴퓨터와 대용량의 데이터 없이는 불가능했다.

 

ㅇ 서로가 서로에게 남기는 추천이나 평가가 고스란히 데이터가 되어 미더운 정도를 가늠해 준다. 앱덕(abdcution)과정이다.

 

ㅇ 약 500조 개의 연결점에서 서로 만나고 있는 1,000억 개 뉴런의 연결구조.....규모 면에서 인간 유전자 염기서열 30억 개보다 1만배 이상 크고, 형태 면에서도 단순한 1차원 실이 아니라 3차원의 구조물이다..

 

ㅇ 파편들을 종합해서 큰 그림을 파악하는 것이 각 분야 전문가가 하는 일이다. 새로 발표되는 파편지식들(논문들)을 모두 파악해서 전체 그림을 머릿속에 그려가는 작업.....big machanism 프로젝트.....컴퓨터가 동원되어 계속 많아지는 파편화된 사실들을 모두 이해해서 전체 시스템의 작동 기제를 자동으로 유추해주는 프로젝트.....

 

일단 암 관련 의학 및 생물학 논문들을 목표로 하고 있다. 쏟아지는 논문들을 컴퓨터가 이해해서 거대한 생명 시스템의 작동기제(인과관계)를 유추하고 그 시스템을 시뮬레이션 하면서 미래를 예측하거나 현재 상황을 이해하는 것을 도울 것이다.

 

ㅇ 의생물학에서 시작하고 있지만, 컴퓨터는 결국 과학하는 방법을 바꿀 것이다. 쏟아지는 파편지식들을 종합해서 전체 그림을 그려내는 것은 컴퓨터의 몫.....

 

컴퓨터와 팀워크를 이뤄 거대한 시스템에 대한 새로운 지식을 발굴하는 것...이것이 컴퓨터가 만드는 과학하는 미래의 또 다른 단면....

 

ㅇ 1948년,,,, 클로드 쌔넌....정보이론의 탄생....논문 제목은 '통신의 수리이론'이었고 1948년 7월과 10월 두 번에 걸쳐 발표된 논문....

 

ㅇ 부울이 정의했던 논리연산이 스위치 회뢰와 똑같이 대응된다는 것이 바로 섀넌의 석사 논문 (1937년)이었다....

 

통신의 한계는 물리가 아니고 메시지가 가진 정보량이다. 통신 중 잡음은 어쩔 수 없지만 극복할 수 있는 방법은 있다. 그 방법은 HW(통신 채널의 물리적인 성질)에 있지 않고 SW(메세지에 있는 정보)에 있다. 통신의 주인공이 물리에서 정보로 바뀌는 혁명이었다.

 

ㅇ 섀넌과 튜링......디지털 문명을 이끈 동시대 청년들.....튜링은 자동계산이란 무엇인지를 정의했고, 섀넌은 통신이란 무엇인지를 정의했다. 튜링은 컴퓨터를 디자인했고 섀넌은 통신을 디자인했다. 튜링은 컴퓨터의 한계를 규명했고 섀넌은 통신의 한계를 규명했다.

 

애매했던 대상 (섀넌은 '정보량', 튜링은 '기계적인 계산')을 과감하게 정의했다. 그리고 그 정의가 받아들일 만하다고 설득한다. 그런 후 그 정의로부터 논리적으로 엄격하게 사실들 (섀넌은 메시지 전달의 한계, 튜링은 기계적인 계산의 한계)을 유도한다. 세상을 바꾼 두 논문이 같은 패턴이다.

 

ㅇ 두 논문의 핵심은 정의다. 정보량과 기계적인 계산이 뭔지를 정의하기

 

ㅇ 통신의 주인공이 메시지가 가진 정보량이라는 혁신적인 주장은, 메시지의 정보량이 뭐냐는 정의에서부터 시작한다. 섀넌은 메세지의 정보량을 정의하고 그 정의가 적절하다고 설득한 후, 온전한 소통을 가능하게 하는 핵심 정리 두 개를 도출한다.

 

ㅇ 섀넌의 정보량은 메시지의 의미에 대한 것이 아니고 겉모습에 대한 것이다. 객관적인 양으로 정의할 수 있는 대상이 속내용이긴 힘들다....

 

섀넌의 정보량을 정의하는 관점은 이렇다. 잦은 것은 정보량이 적고 드문 것은 정보량이 많다. 자주 쓰는 건 예측하기 쉽기 때문이다....정보가 많은 것 = 예측하기 힘든 드문 경우....자주 보이고 드물게 보이는 차이, 이 차이가 없으면 예측이 어렵다...

 

ㅇ 섀넌이 찾은 메시지의 정보량 H는

분별이 있다는 뜻이고, 분별이 있다는 건 무질서가 그 만큼 적은 것이다. 반면에 메시지에 불필요한 글자가 없으면 정보량은 크다. 불필요한 글자가 없다는 것 모두가 필요하다는 것이니, 필요와 불필요의 분별을 둘 수 없다는 것이다. 무질서가 그만큼 큰 것이다.

 

ㅇ 예를 들어 메시지 전달의 속도를 높이려면 통신채널 주파수를 올리고, 통신 중에 끼어들 수 있는 잡음을 극복하려면 메시지 신호의 강도를 높이는 것으로 해결하려는 상식.......하지만 메시지 강도를 올리면 잡음도 같이 강해질 뿐이었다.

 

ㅇ 섀넌은 기존 상식을 뛰어넘는 답을 낸다. 통신의 한계는 그런 물리적인데 있지 않고 전달하려는 메시지가 가지는 정보량에 있다는 패러다임의 전환이었다.

 

- 채널 용량: 메시지가 통과하는 수도관의 지름이라고 상상하자.

 

어떤 잡음에서도 온전히 통신할 수 있는 방법. HW(채널 매체)에 있지 않고 SW(메세지 자체)에 있다. 메시지에 있는 정보를 표현하는 방법만 잘 찾으면 된다라는 복음. 온전한 통신의 열쇠는 메세지 바깥의 물리적인 신호에 있지 않고 메세지 안의 정보에 있다는 복음. 적절한 정의에서 출발해서 엄밀하게 도출해 낸 놀라운 결과였다.

 

메세지를 표현하는 (인코딩하는) 방법을 찾으면 되는 것이다.

 

ㅇ 인코딩이란 이 심벌을 저 심벌로 표현하는 것....소리를 디지털로 인코딩. 아날로그 소리를 0과 1로 인코딩. 그림을 디지털로 인코딩. 아날로그 그림을 0과 1로 인코딩...

 

미래에 나타날 많은 것을 손쉽게 커버하는 방법은 원리에 집중하는 것이다. 근본을 꿰뚫는 시각을 튼튼히 할수록 다양한 응용들의 한계와 가능성을 쉽게 파악할 수 있고, 남들이 미처 보지 못하는 곳을 볼 수 있기 때문이다.

 

ㅇ 컴퓨터 과학은 머리로 궁리하느는 것에 대한 공부 (science of intelligence)이고 그 응용은 인간 지능/본능/현실의 확장이다.

댓글