어느 팀에서 1년간 Node.js 로 작업을 하고나서 다시 python으로 돌아 갔다는 을 보고나서는 그럴 수 있다고 생각했다. nodejs에서 사용하는 Javascript는 기존의 Javascript와 설계 방식이 다르다. 모든 곳에서 비동기적인 상황을 고려해야한다. 정확히는 I/O가 일어나는 함수의 경우에서 비동기적인 처리를 고려해야한다.


Nodejs는 구글의 자바스크립트 엔진인 V8이 JIT 컴파일러를 도입하면서 괜찮은 성능을 제공하였기 때문에 가능한 프레임웍이었다. 그리고, 최대한 동기적인 작업을 설계에서 배제시켰고, 그에 따라 nodejs 생태계는 비동기 철학에 맞춰 확장이 되었다.


처음 nodejs가 나왔을 때 비동기적인 설계를 편하게 구현할 수 있는 자바스크립트의 문법적 기능으로는 closure 밖에는 없었던 것 같다. 지금은 co-routine을 구현하기 위한 generator가 들어가고, Promise가 들어가면서 지금과는 다른 설계방식이 앞으로는 유행하지 않을까 한다.


Nodejs는 javascript라는 것이 특징이 아니다. javascript가 클라이언트에서 사용되다가 비로소 서버에서도 사용되는 것에 열광할 일이 아니라는 것이다. 마이크로소프트의 ASP가 VB만이 아닌 Javascript로도 제공됐었다는 사실을 아시려나 모르겠다. npm 마저도 특징이 아니다. 요샌 다 패키지 매니저는 기본이지 않은가. Nodejs의 매력은 "비동기적인 설계를 강제"한 것에 있다. 만약, python이든, java든 php든 심지어 C++이라할지라도 비동기적인 함수로만 패키지의 생태계가 만들어진다면, 아마 열광할 요소가 있을 것이다. 그러나 전통강자가 있으니 아마 쉽지는 않을 것이다.



의식의 확장.


1인 회사가 가능한 이유를 잘 생각해보면, 두 가지에 근거한다.


1. 사회의 분업화

2. 단순 노동의 자동화


분업화된 사회는 일을 공정으로 나누고, 각 공정에 전문가 혹은 숙련공을 만들어냈기 때문이다. 하나의 조직에서 분업화가 이루어진 이후에는 아웃소싱이라는 방법을 통해 외부에서 전문적인 기능을 제공하는 방향으로 진화하였다. 1인 회사의 필수 요소는 하나의 회사를 지원하기 위한 외부 회사가 존재하기 때문이다.

기계에 의한 단순노동의 자동화는 한 사람이 처리해야하는 일을 필수적인 부분에 집중할 수 있게 했다. 자동화의 최전방에 있는 온라인서비스가 있기 때문에 가능해졌다. 이런 사회적인 현상은 비가역적이다. 웬만해서는 다시 원래의 불편한 사회로 돌아가지 않을 것이다.


1인회사를 만든다는 것은 내 전문기술에 대한 자부심에서 시작하는 것이며, 둘 이상의 커뮤니케이션 비용에서 오는 위험을 최대한 감수하고, 초기 이익을 최대한 재투자를 하는데 부담없이 하려는 것이다. 이런 1인 회사의 한계점은 내가 할 수 있는 전문영역에서의 만족할만한 품질에 대해서는 누군가에게 의존할 수 없는 지점에 있다. 말 그대로 내가 둘이었으면 하는 마음이 드는 때가 그 한계라는 것이다. 내가 할 수 있는 세무 대리를 지원해주는 회사, 디자인을 지원하는 회사, 온라인 마케팅 등등 모든 전문영역은 내가 할 일을 제외한 나머지 회사들의 지원에서 가능한 것이고, 그렇게 다 외부로 떼어냈을 때, 남는 것은 나만 할 수 있는 영역에 대한 한계를 실감하는 것이다.


나와 같은 지능을 갖는 누군가를 또 만든다는 것은 어려운 일이다. 하지만, 내가 하는 지적인 판단의 일부를 복제하는 일은 이제 조금씩 가능해질 것이다. 그런 것이 가능한 영역을 도와주는 어시스턴트 프로그램을 쉽게 구할 수 있을 것이며, 사람들의 우려처럼 직업이 바로 없어진다거나 새로운 직업이 바로 등장하지는 않을 것이다. 엑셀과 이메일이 회사에서 일하는 방식을 바꾸는데도 사회가 수용하는데 10년은 더 걸렸다. 그 동안 직업군은 천천히 변했고, 사람들의 기술은 천천이 이관되어 갔다. 어떤 산업군은 빨리 도입될 것이며, 어떤 산업군은 느릴것이다. 지능의 확장을 도입하는 것은 어떤 식으로든 이루어질 것이며, 그것은 지금의 우리가 사용하는 기술과 크게 다르지 않은 방식으로 시작한다.


지적인 판단을 도와주는 확장이 일어나는 순간이 그 시작이된다.

기대반, 우려반.

놀라운 시점을 살고 있다.





회상, recall. 반사행동.

자극이 들어 오면, 자극에 대한 반응이 일어난다.

인간을 신경의 다발이라고 가정한다면, 그 수준은 신경의 물리적인 자극에서부터 신경계의 2차, 3차 층위에 해당하는 추상적인 층위까지 모두 회상이라는 반응이 일어난다.

여기에는 측정되지 않은 무작위성(randomness)가 자극과 섞이면서 비슷하지만 조금씩 다른 결과를 만들어낸다.

그 결과는 다시 신경계의 연결 강도(weight)를 조절하거나, 혹은 기억이라는 과정으로 다음 회상의 재료가 된다.


그 신경다발 구조체가 얼마나 복잡해야 인간다운 수준이 될까?

혹은 어느 수준이 되어야 인간과 무리없는 상호작용을 할 수 있을까?

혹은 인간이 집중한다면 어느정도 상호작용은 할 수 있는 수준은 이뤄낼 최소 값은 존재할까?


염두에서 떠나지 않는다.

"나는 옳다"라고 종종 되뇌인다. 내가 옳은 것은 마치 이것과 같다. 식물에 물을 주면 자란다. 그건 식물이라는 생명이 작동하는 방식이 그러하기 때문이다. 식물이 자라는 방식은 옳고 그름의 문제가 아니라 그냥 그 자체로 옳은 것이다. 미묘한 뉘앙스라 생각되기는 하지만, 나는 다른 적절한 표현을 찾지 못했다. 아니, 옳다라고 표현하는 것이 그리 나쁜 표현이 아니며, 내가 느끼는 느낌을 잘 표현한다고 생각한다.


내가 옳다는 것을 전제하지 않으면, 지금의 나를 살아갈 수가 없다. 중요한 것은 "지금" 이 시점에서의 내가 사는 방식이 그러하다는 것이다. 지금 내가 옳지 않으면, 그릇작동한다면, 그것은 내 존재의 작동방식이 부정되는 것이며, 그것은 이미 내가 아니다.


옳다는 전제, 제대로 작동하고 있다는 전제하에 단지 스스로를 해석할 뿐이다. 그것이 도덕적으로는 그를지라도, 생물학적, 자연적으로는 옳다. 그렇게 형성되어온 가치관 대로 판단하는 것이 지극히 자연스러운 것이기 때문이다.



시간이 더 가기전에 알파고가 던져준 생각들을 정리해야할 것 같다.


난 스포츠에 관심없기 때문에, 국가대표 대항전이라도 보지 않는다. 이세돌에 관심은 있지만, 바둑을 잘 모르기에 바둑 소식을 따라가지도 않을뿐더러, 그의 경기를 찾아 보는 것도 하지 않는다. 하지만, 이번 경기만큼은 이세돌이아니었어도 봤을 것은, 인공지능이 전개하는 수에 대한 평가를 듣고 싶어서였다. 그리고, 몬테카를로 기법에서 어떤 발전을 이뤄서 만들었을까를 고민하고 싶어서였다.


완전 계산 불가능성의 영역에서 최대한 휴리스틱한 판단을 내리는 것. 게임의 규칙은 행동의 바운더리를 규정한다. 바운더리가 없는 게임에 대한 혹은 바운더리가 확장되는 게임에 대한 판단에서 과연 인간이 정한 규칙외에 최적의 결정을 내리는 것은 어떻게 가능할까를 고민해보는 것은 꽤 괜찮은 자극아닌가?


그런면에서 중간단계로 바둑은 게임의 규칙이 다른 것보다 훨씬 바운더리가 큰 (그러나 확장은 되지 않은) 게임이다.


직관이란 모든 수를 다 계산하지 않고 그간의 경험에의한 패턴을 통해 내리는 결정을 표현할 때 쓰는 말이다. 수학 문제를 풀 때도 직관을 사용하려면, 수많은 패턴의 문제를 풀어봤을 때 가능한 것이며, 그런 직관의 사용은 인간이 어떤 일을 수행하든 사용되는 방법이다. 게임에서의 직관이란 그동안의 학습패턴에 의해 행동을 선택하는 것일 뿐이다.


인공신경망을 사용하든, 마르코프 체인을 사용하든, 유전알고리즘을 사용하든 그 학습 결과의 내부에 형성된 데이터를 해석할 수 있는 방법은 없다(있나? 내가알기론 없..) 인간도 알 수 없는 학습된 내부 데이터. 중요한 것은 학습에 사용된 패턴과 정답셋, 학습한 순서, 그리고 시스템의 초기값정도이다.


난, 뭘하고 싶은 것일까?


시스템 콜들의 나열을 어플리케이션 프로그램이라 보면, 인공지능은 적절한 순서를 찾는 것으로 원하는 기능을 스스로 할 수 있는 S/W를 만들 수 있는 것일까? 어떤 것을 기계라하고, 어떤 것을 영혼이라할 수 있을까 (공각기동대의 표현을 빌어서 하자면 말이다)


의사 결정이라는 것은 최상위 레이어에서일어나는 일이며, 하위로 내려오면 정확한 기능을 해야한다. "어제 찍은 사진들의 파일을 장소별로 분류해"라는 최상위 의사결정이 있을 때, 가장하위에서는 파일의 날짜와 Geo tag를 추출하는 것, 장소별 디렉토리를 만드는 것, 파일을 이동하는 것이며, 중간에서는 어제 날짜를 판단해야하고, 장소들의 유사 군집을 분류하는 작업이 들어가야한다. 하위 명령은 정확한 기능으로 시스템콜이 존재한다. 그 시스템콜을 적절한 순서로 나열하기 위한 방법으로서의 중간 레벨이 존재하고, 그 중간레벨은 최상위 의사결정에 복무한다. 이런 작업을 매일 한다면, 이 전체 기능이 하위 기능으로 높은 의사결정에 부속이 될 수 있다(예를 들어 "여행 리포트를 작성해"라든지).


위 작업에서 학습이라는 인공지능의 요소가 작용해야하는 것이 어떤 것일까? 아니, 과연 정답셋을 고려한 피드백이 가능하기는 한 것일까?


훔.



'연속적이다'라는 말은 모든 점에서 양방향 변화의 수학적 미분값이 같다고 표현할 수 있다. 인간의 의식(감성과 이성을 포함하여)이 측정가능한 모든 영역에 대하여 1계 미분에 대하여 연속성을 갖는다면 그 주위 의식과 조화(?)로운 생활(?)을 유지할 수 있다.

어떤 의식들이 조화로운 생활을 유지하고 있다면, 측정가능한 모든 영역에 대하여 도함수의 각 점의 극한값에 대한 함수값이 같다. 내가 어제의 나와 같은 존재라면, 내가 생활하는 영역에서 주위와의 관계에 대해 특이점이 존재하지 않고 모든 점에서 양방향 미분값을 일치시키면된다.


조니뎁이 연기한 트랜센던스에서 의식이 컴퓨터 안으로 옮겨질 때를 그렇게 해석할 수 있다. 영화의 그런 모티브는 참 좋으나, 양자컴퓨팅까지도 봐줄만하지만, 나노 공학이나 바이러스가 나올때 급격히 몰입감이 떨어진 것은, 내가 알고 있는 지식의 관점에서 볼 때, 그 미분값에 불연속성이 존재하기 때문이다.


P.S. 그나저나, 케이트 마라(Kate Mara)는 악역인지 선역인지 구별안가는 배역에 적합한 외모인 것 같다. (매력적이다) 케이트 마라는 마션에서도 나오더만. 관심이 가는 배우.

말할 때, 어떤 주제로든 어떤 깊이로든 내 한계까지 드나들 수 있는 상대는 놓치면 안되는 것이다.


그런 친구를 잃어간다면, 그것이 슬픈일일뿐.

목소리를 내는데 사용되는 근육과 그 kinetics에 관심이 계속 있다. 언젠간 잉여로울 때, 시뮬레이션을 해보고 싶은 생각이 있다만, 그 때가 언제가 될지는 모르겠다.

오늘도 한참을 Oral muscle 자료들 보고, 의학 동영상들을 보니 다시 도전하고 싶은 마음이 생기더라.... 만. 언제나 실행할까는 나도 미지수. 얘기를 나눌 수 있는 사람이 있다면 좋겠네.


이해와 익숙함.


고급 수학이나 물리학을 하다보면, 이것은 이해하는 것이 아니라 익숙해지는 것일 뿐이라는 생각이 들 때가 있다. 그저 단순하게 익숙해지면 의심하는 법을 잊게 된다. 아무리 미분적분이라도, 푸리에 변환이라도, 처음엔 이해가 가지 않는다. 그 상태로 어설프게 문제를 풀어 본다. 또 풀어 본다. 그러다보면 자연스럽게 이해되는 경험을 하게 된다. 이해되는 것일까 익숙해지는 것일까? 익숙해지면 이해되었다는 신경을 건드리는 것 아닐까? 미분적분이 아니라 선형대수, 동역학, 양자역학이 오더래도 비슷한 방식으로 지식을 쌓아 올라간다. 비단 수학,과학뿐이랴, 세상의 어떤 배움도 이해와 익숙함으로 구별한다면, 그 용어들이 주는 깊은 성찰 보다 용어들로 만들어진 거대한 논리 체계에 그저익숙해질 뿐이다.


처음 이론을 제안한 사람은 정교하게 (혹은 익숙한 표현을 빌어) 자세하게 설명을 한다. 그러나 학습자들은 그 이론을 어떻게 제안할 수있었을지 의구심을 갖는 것보다는 논리 자체를 이해하는데 급급하게 된다. 그러다보면 그 이론이 없던 시절과 그 이론 이후에 생기는 변화에 대한 것은 감지하지 못한 채 최종 산출물만 알게 되는 것이다.


익숙함을 굳이 이해에서 출발할 필요도 없다. 이해 없이 익숙해지는 것이 인간이 태어나서 학습하는 기본 방식이니까. 익숙함이란 무지와 앎 사이 어디쯤에서 시작하는 것이다. 그 시작은 완전 새로운 것이 아닌 그 동안 알아왔던 다른 앎 패턴에서 건너와 시작하는 것이다.


내가 만들 지식 체계는 이런 구조를 띄고 있어야하지 않을까?




자본주의 사회속에 기거하면서, 어떻게든 살아야하고 사는 문제에 시간을 들이다보면, 정작 집중하고 싶은 우주와 인간의 내면에 대해 소홀하기 쉽다. 틈틈이 우주와 인간의 문제 혹은 그것에 기반을 둔 현실의 문제에 천착하고 있긴 하다. 그런 두 종류의 시간 사용이 긴장 상태를 이루고 그 상태를 참을 수 없어 해 오다가 이제는 무덤덤하게 그 긴장 속에서 시간을 충실히 사용하려고 한다. 충실히 사용한다는 것은 이런 긴장 상태에 있을 때를 돌아보건데 쓰잘데기 없이 해결되지 않는 상태로 빠지지 않는 것, 그 상태에 대한 푸념을 다른 이에게 전하지 않는 것, 그저 그 모든 것을 관조하며 돌아보는 것으로, 그러한 것이 '나'라는 생각을 하고, 받아들이기로 한다.


세상을 바라보는 시각이 어느 하나에 고착되는 것이 두려워, 나는 자유인이다 선언해왔다. 그것은 내가 나를 둘러싼 환경 속에서 마음대로 할 수 있다는 것이 아닌(실제로는 행동하지 못하는 것이 많다는 것을 안다. 그러나 그것조차 노력할 것이다) 판단의 기준에 대한 자유를 말한다. 다른 이 아니 정확히는 내 것이 아닌, 나에게 주어진 시각으로 세상을 이해하는 것을 구속으로 보고, 내가 판단의 주인이 되는 그런 자유를 말한다. 그러나 그런 자유를 이용하는 것에는 늘 조심스럽고, 유혹적이기까지 하다. 어쩌겠나, 난 급진적이지 않고, 조심스러운 사람인데.


2016년은 지금 12월과 크게 다르지 않을 것으로 생각된다. 그러나 모를 일이다. 2015년도 2014년에 생각하는 그런 해는 아니었으니까. 더 이상 새해를 계획하지 않는다. 그저 달릴 뿐이다. 살아낼 뿐이다. 순간순간 선택할 뿐이다. 여전히 우주와 인간에 대해 고민할 것이고, 그러다보면 미래를 받아들이겠지. 나는 어디에서 왔는가, 나는 무엇인가, 나는 어디로 가는가. 삶의 고갱이를 그저 붙잡고 그로 연역된 생활을 할 뿐이다. 의식의 타히티에서 그저 그렇게.

+ Recent posts