지능이라는 이름의 게임(14): 집단지능과 블록체인(6)

블록체인의 핵심 요소 기술은 해시 함수(hash function)이다. 해시 함수는 문자 그대로 하나의 함수(function)이다.

함수란 두 변수(독립변수와 종속변수) 사이의 관계를 규정한다. 독립변수의 값이 입력되면, 규정된 규칙에 따라 종속변수의 값이 산출된다. 고등학교에서 배운 간단한 함수  혹은  를 떠올려 보라.

해시 함수는 어떤 길이의 메시지가 입력되어도 동일한 길이의 숫자[해시값(hash value)]을 산출하는 함수 이다. 실제 다양한 해시 함수가 존재할 뿐 아니라 그것의 수학적 전개는 상당히 복잡하기 때문에 그에 대한 설명은 생략하고 바로 해시함수를 실행한다. 비트코인에서 사용되는 해시함수는 SHA-256(Secure Hash Algorithm-256: 샤 256이라고 읽음)인데 아래 그림을 눌러서 열리는 사이트(MIT가 운영하는 블록체인 사이트)에서 시뮬레이션을 해보자. (주석 1)

위 그림에서 Data 칸에 필자가 ‘윤영민’이라고 입력하니 Hash 칸에 복잡한 숫자와 문자가 나타났다. 그것이 ‘윤영민’에 대한 해시값(hash value)[그냥 해시(hash), 다이제스트(digest), 혹은 데이터의 지문(fingerprint)이라고 부름]이다.

(1) Data 칸에 자신의 이름을 넣어보라. 길이는 동일하지만 전혀 다른 숫자와 문자의 배열이 나타날 것이다. 이름을 지우고 아무 파워포인트나 워드 문서를 복사해서 넣어 보라. 아무리 긴 문서를 복사해 넣어도 동일한 길이의 해시가 나타날 것이다. 이것이 해시함수의 첫번째 특성이다. 해시함수는 입력값에 관계없이 항상 동일한 길이의 해시값을 산출한다.   

(2) 이번에는 다시 자신의 이름을 넣어보라. 앞에서 이름을 넣었을 때와 정확히 동일한 해시가 나타날 것이다. 아무리 반복해서 이름을 넣어도 항상 동일한 해시가 나올 것이다. 이것이 해시함수의 두번째 특성이다. 해시함수는 동일한 입력값에 대해 항상 동일한 해시값을 산출한다. 

(3) 이번에는 자신의 이름 뒤에 마침표를 찍고 해시값을 보라. 자신의 이름과 전혀 다른 해시값이 나타났을 것이다. 입력값이 아주 조금만 달라져도 해시의 숫자와 문자의 배열은 완전히 달라진다. 이것이 해시함수의 세번째 특성이다. 입력값이 조금만 변해도 해시값만 보아서는 입력값이 어떻게 변했는가를 전혀 추측할 수 없도록 완전히 다른 해시값이 산출된다.

(4) 이론적으로 해시함수는 소위 해시충돌(hash collision)의 가능성을 안고 있다. 해시함수는 제한된 길이(SHA256은 256 비트)로 된 해시값을 산출하기 때문에 입력값이 무한대로 변화하면 서로 다른 입력값이 동일한 해시값을 가질 수 있는 것이다. 새장의 숫자보다 많은 수의 비둘기를 새장에 넣으면 두 마리 이상의 비둘기가 같은 새장에 들어갈 수밖에 없는 원리이다. 그래서 해시충돌이 없는 해시함수 알고리즘이 계속 새롭게 나오게 된다.    

블록체인은 해시함수를 이용해서 블록과 블록체인을 구성한다. 그렇게 해서 블록과 블록체인에 작은 변화만 생겨도 그것을 탐지할 수 있고 위조와 변조를 예방할 수 있다. (윤영민, 2018-05-13)

(주석 1)

해시 함수를 다양하게 시뮬레이션해보고 싶은 독자에게는 Quick Hash를 추천한다. Quick Hash는 실전용 해싱 소프트웨어이다. 자신의 컴퓨터 환경에 맞는 버전을 다운로드해서 설치하면, 실제로 책 한권의 분량에 해당되는 파일을 해싱해 볼 수 있으며,  MD5, SHA-1, SHA256, SHA512 등 다양한 알고리즘을 적용해서 해싱을 할 수도 있고, 해시함수를 이용해서 두 파일의 동일성을 검사해 볼 수도 있다. 안드로이드용 QuickHash 앱도 있다. 구글 스토어에서 다운로드 받아 스마트폰에서도 시뮬레이션할 수 있다.

지능이라는 이름의 게임(13): 집단지능과 블록체인(5)

비교적 단순한 기술적 요소인 메시 토폴로지(Mesh topology)부터 알아보자.

블록체인은 인터넷 위에서 운영되는 P2P 프로토콜(protocol)이다. P2P(Peer-to-peer) 네트워크는 인터넷 프로토콜(Internet Protocol, IP) 위에서 파일을 검색하고 공유하는 독자적인 프로토콜을 수행한다. P2P 소프트웨어를 설치한 컴퓨터들은 P2P 네트워크의 노드로써 클라이언트(client)도 되고 서버(server)도 된다. 아마도 가장 잘 알려진 P2P 네트워크는, 지금은 사라졌지만 MP3 파일 공유 사이트인 넵스터(Napster)일 것이다.

위 그림에서 보듯이 네트워크를 구성한 노드들(nodes)은 여러가지 방식–토폴로지(topology)라고 부름–으로 연결될 수 있다. 그 중에서 메시 토폴로지는 기본적으로 노드들이 다른 노드를 거치지 않고서도 서로 직접 연결될 수 있는, 소위 완전 접속망(fully-connected network)이다. 물론 부분적으로만 완전접속망인 메시 토폴로지도 있다(아래 그림 참조).

메시 토폴로지 방식의 P2P 프로토콜로서의 블록체인은 몇 가지 특성을 갖고 있다.

1) 블록체인은 분산 원장(ditributed ledger)이다. 거래와 원장에 대해 책임지는 통제나 권위 기구(노드)가 없으며, 모든 노드(참여자)들이 원장을 공유하고 그에 대한 책임을 나누어 갖는다.

2) 네트워크의 참여자는 누구나 네트워크에 존재하는 모든 데이터에 접근할 수 있다.

3) 각 노드는 다른 모든 노드들에게 방송(broadcast)이 가능하다. 네트워크 참여자는 누구나 거래 요청이 담긴 블록에 대해 검증 요구와 검증 결과를 참여자들 모두에게 즉각 알릴 수 있다.

4) 설령 일부 참여자(들)가 네트워크에서 탈퇴하거나 노드로서의 역할을 수행하지 못하더라도 네트워크는 정상적으로 가동된다.

5) 네트워크 참여자들이 데이터에 대해 집단적으로 동의–이 과정을 합의(consensus)라고 부름–해야 정당한 거래로 인정받을 수 있으며, 일단 합의를 거친 거래 기록(블록)은 변경될 수 없다.

한 마디로 메시 토폴로지 기반의 블록체인은 중앙집중적 통제를 대신해서 참여자 모두가 거래에 대한 권한과 책임을 나누어 갖겠다는 사상 그리고 중개자 없이도 신뢰할 수 있는 거래가 가능하다는 사상이 반영된 교환 네트워크이다. (2018-05-13)

지능이라는 이름의 게임(12): 집단지능과 블록체인(4)

Bitcoin에 대한 이미지 검색결과

비트코인(Bitcoin)이 세상에 출현 한 시점이 2009년이니 블록체인(blockchain)은 우리 주위 어딘가에 꽤 오래 존재했던 셈이다. 비트코인이라는 암호화폐(crytocurrency)와 분리해서 블록체인에 대한 논의를 시작하기는 어렵다. 블록체인이라는 테크놀로지가 등장한 후 비트코인이 그것의 응용제품들 중 하나로 발명된 것이 아니라 처음부터 블록체인은 비트코인을 탄생시키는 테크놀로지로 출현했기 때문이다.

비트코인은 하나의 대체 화폐로 고안되었다. 화폐의 생명은 신뢰(turst)에 있다. 화폐는 근본적으로 상품과 서비스를 교환하는 매개체(medium)로 출현했지만 현실에서 화폐는 그런 본원적 기능을 넘어서 가치를 평가, 저장, 그리고 확장하는 수단이 되었다.

화폐 재료는 불쏘시기로 쓰이기에도 작은 종이 조각이거나 크게 쓸모가 없는 금속 조각에 불과하다. 그러나 중앙정부–대개의 경우 중앙은행–가 그것에 찍힌 액면 가격에 해당되는 가치를 보증함으로써 화폐는 한 사회가 지닌 신뢰라는 자본의 금전적 표현이 되었다.

비트코인이나 다른 암호화폐의 개발자와 사용자들은 화폐의 생산과 유통을 책임지는 중앙정부(은행) 없이도 충분히 신뢰할만한 통화 시스템을 개발할 수 있다고 믿는다. 암호화폐는, 사용자들 모두가 거래 원장(ledgers)을 공유하고 사용자들의 노력과 암호기술을 결합하여 거래의 위변조를 방지하며 거래의 정당성을 보증해 줌으로써 가치의 교환이 가능한 하나의 통화 시스템이다.  블록체인은 바로 그것을 가능하게 해주는 테크놀로지이다.

블록체인은 아래 표에 보듯이 다섯 가지의 요소 기술(element technologies)로 구성되어 있다. 무엇보다 해시함수(hash function)가 핵심 기술이다. 거래 원장은 블록과 블록체인으로 구성되는데 그것들 내부의 모든 요소들이 해싱(hashing)되어 있다고 해도 과언이 아니다. 또한 원장에 기재되는 거래자 성명은 공개키로 가명화되고(pseudomized), 거래자는 비밀키로 전자서명을 함으로써 개인정보를 보호하고 장부의 위변조를 방지한다.

거래의 정당성을 확인하는 방법으로 작업증명(proof of work)이 사용되는데, 그것은 해싱에 일정한 난이도를 주고 그 해시(hash 혹은 digest)를 산출하는 어떤 값–논스(nonce)–을 찾아내는 작업을 말한다. 암호화폐에 참여하는 모든 사용자들이 원장을 공유하기는 하지만 완전 노드(full nodes)를 제외한 나머지 사용자–경량 노드(lightweight node)라고 부름–들에게는 아주 간단히 요약된 원장–그것이 머클 루트(Merkle Root)이다–만 블록 헤더에 포함시켜 공유된다.

암호화폐에서 노드들(nodes)–사용자들–이 연결되는 방식은 메시 토폴로지(Mesh topology)이다. 메시 토폴로지는 기본적으로 노드들이 상호간에 ‘완전히 연결된(fully connected)’ 네트워크이다.

다음 포스팅에서는 그 요소 기술들을 좀 더 자세히 살펴보자. (2018-05-12)

지능이라는 이름의 게임(11): 집단지능과 블록체인(3)

이번에는 구글의 검색 엔진을 살펴보자. 내부 개발자가 아닌 다음에는 현재 구글의 검색 엔진이 정확히 어떻게 구성되어 있는지를 정확히 알 수 없다. 구글이 검색엔진 알고리즘을 공개하지 않을 뿐 아니라 그것이 지속적으로 변하고 있기 때문이다.

구글의 검색엔진은 2000년 페이지랭크(PageRank) 알고리즘으로 시작한 이후 계속 갱신되어 왔으며 2013년에 허밍버드(Hummingbird) 알고리즘으로 전환된 후에는 큰 틀이 유지되고 있는 것으로 알려졌다. 구글의 발표에 의하면 검색엔진 알고리즘에는 200여 개의 요소가 투입되고 있다. 외부에 알려진 요소로는, 랭크브레인(RankBrain), 페이지랭크(PageRank), 웹사이트 품질, 검색어의 위치(제목/URL), 검색어의 동의어 존재 여부, 서버의 위치, 컨텐츠 발행 날짜 등이 있다. 그 알고리즘은 사용자가 무엇을 원하는지를 추측한 다음, 가장 적합한 정보 순으로, 최대한 신속하게 검색결과가 제시되도록 작동한다.(주석 1)

구글의 검색엔진 알고리즘은 계속 진화해 왔지만 구글의 접근방식을 이해하는 데는 아직도 페이지랭크 알고리즘을 살펴보는 것이 가장 효과적이다. 페이지랭크 알고리즘은 크게 변화되지 않았으며 아직도 구글 검색엔진 알고리즘의 중요한 요소로 남아 있다. 웹페이지의 페이지랭크 (점수)를 계산하는 원리는 아래 식(1)로 간단히 나타낼 수 있다.

웹페이지 A의 페이지랭크 는 기본적으로 웹페이지 A에 링크를 건 웹페이지 B, C, D 등의 페이지랭크[ ]를 합한 것이다. 식(1)에서 나머지 요소들은 그렇게 단순한 합을 점수로 했을 때 발생하는 문제를 해결하기 위해 추가되었다. (주석 2)

이 식을 곰곰히 살펴보면, 해당 검색어(들)를 갖고 있는 웹페이지의 등급—그것도 링크라는 상당히 엉뚱한 기준을 가지고 매긴—이 검색 결과를 제시하는 순서를 결정한다(현재는 페이지랭크 외에도 많은 정보들이 고려되어 최종적인 나열 순위가 결정된다). 한 웹페이지의 페이지랭크는 다른 웹페이지와의 관계(링크 여부)와, 그 웹페이지를 링크한 웹페이지의 영향력(페이지랭크)에 의해 결정된다.

관련 이미지

한 마디로 페이지랭크는 일종의 인기도이다. 웹페이지들이 각 웹페이지를 두고 링크(link)를 거는 방식으로 일종의 인기투표를 한 결과라고 할 수 있다. 이는 구글의 검색 엔진이, 웹사이트들(결국 그것은 운영자들)의 지혜를 기술적으로 취합해서 효율적인 정보검색이라는 사용자들의 ‘공동’ 과제를 해결하는 집단지능임을 의미한다.

IBM의 Chef Watson은 인지적 컴퓨팅(cognitive computing)이라는 방법을 사용해서 요리 아이디어와 요리법이라는 사람들의 일상적인 숙제를 해결해주고 있다. 이 사례도 대단히 흥미 있지만 생략하고 다음 포스팅부터는 블록체인을 살펴보자.

 

주석 1: 구글의 검색엔진이 변해온 과정을 보려면 MOZ 웹사이트의 Google Algorithm Change History를 참조. 랭크브레인 알고리즘에 관해서는 Search Engine Land blog의 FAQ: All about the Google RankBrain algorithm을 참조.  PageRank에 대한 알기 쉽고 상세한 수학적 설명은 코넬대학교가 운영하는 The Mathematics of Web Search에서 찾을 수 있음. 이 사이트는 PageRank를 이해하는데 필요한 선형대수(linear algebra)에 대한 설명도 제공함.

주석2: 는 damping factor인데, “어떤 무작위로 웹서핑을 하는 사람이 현재의 페이지에서 다른 페이지로 가는 링크를 클릭할 확률”이다. 은 모든 웹페이지의 숫자이며, 는 B라는 페이지가 가지고 있는 링크(outbound links)의 총 개수이다. 이 요소들에 대한 쉬운 설명은 ‘조성문의 실리콘밸리 이야기’ 블로그의 “‘쉽게 설명한’ 구글의 페이지랭크 알고리즘”을 참조.

지능이라는 이름의 게임(10): 집단지능과 블록체인(2)

초기에 아마존 웹사이트는 전문가들이 작성한 서평과 추천을 게시했다. 그 서평과 추천은 인기가 있었고 책 판매에 상당한 성과를 가져왔다. 그러나 그런 방식의 효과에 만족할 수 없었던 제프 베조스(Jeff Bezos)는 고객들 자신의 구매 선호를 기반으로 돌아가는 알고리즘을 개발했다. 오래지 않아 알고리즘에 의한 추천은 사람에 의한 추천을 완전히 대체하였다(Mayer-Schönberger & Cukier, 2013).

아마존의  책 추천에는 품목-대-품목 협업 필터링(Item-to-item collaborative filtering)이라는 알고리즘이 사용된다. 그것은 기존의 추천 시스템들이 지니고 있던 여러 가지 한계를 극복한 것이었다(Linden et. al., 2003).

예컨대 전통적인 협업 필터링(traditional collaborative filtering)은, 고객들 사이의 상관성(흔히 코사인 유사도를 사용한다)을 구해둔 다음, 어떤 고객이 웹사이트을 방문하면, 그 고객과 가장 유사한 몇 명의 고객들을 추려서 그들이 가장 많이 구입했거나 선호하는 상품을 추천하는 방식이다. 고객들 사이의 상관성은 고객들의 상품 구매 기록과 상품 평가 기록을 가지고 계산한다. 이 알고리즘은, 규모가 작은 웹사이트에서는 그런대로 잘 작동하지만 고객의 숫자가 1천만 명을 넘고 상품의 종류가 1백만 가지를 넘어서면 막대한 컴퓨팅 비용을 초래하는 여러가지 문제가 대두된다(Linden et. al., 2003: 76-77).

전통적인 협업 필터링처럼 군집 모형(cluster models)도, 웹사이트를 방문한 고객에게 유사 고객들(similar customers)의 선호를 기반으로 상품을 추천한다. 이 알고리즘은, 고객들을 많은 그룹들로 세분해 둔 다음, 새 고객이 방문하면 그를 그 그룹들 중 하나 혹은 몇 개로 분류한다. 그룹들은 군집화 알고리즘이나 비지도학습 알고리즘을 사용해서 생성된다.

군집 모형은 전통적인 협업 필터링에 비해 큰 규모의 웹사이트에서도 효율적으로 작동한다. 그러나 이 알고리즘은 전체 고객들의 정보 대신 제한된 수의 그룹들의 정보만으로 추천하기 때문에 추천의 정확성이 떨어지는 문제가 있다(Linden et. at., 2003: 77).

이 알고리즘들과는 달리 검색 기반 방법(search-based methods)은,  어떤 고객의 상품 구매나 평가 기록에 근거해서 유사한 상품을 추천한다. 즉, 고객에게 그가 구매했거나 긍정적으로 평가한 컨텐츠의 동일한 저자, 작가, 감독, 장르 등의 인기 상품을 추천하는 것이다. 이 방식은 고객의 구매나 평가 기록에 포함된 상품이 소수일 때는 잘 작동하지만 그 숫자가 크게 늘어나면 그러한 상품들을 추천하는 것이 현실적으로 불가능해진다(Linden et. al., 2003: 78).

아마존의 품목-대-품목 협업 필터링은 고객들의 경험 데이터를 이용하되, 그것을 상품들 사이의 상관관계로 전환해서 사용한다. 설명을 단순화하기 위해 아마존에 네 권의 책(A,B,C,D)만 있고 사용자가 두 명(사용자 1, 2)만 있다고 하자.

만약 새로운 방문자(사용자 3)가 A라는 책을 보았다면 그에게 어떤 다른 책을 추천하면 좋을까? 아마존의 추천 엔진은 다른 사용자들의 책 탐색 기록 정보를 이용해서 A와 가장 상관성이 높은 책 B와 C를 추천한다.

이 그림은 Software Programming blog의 How does the Amazon recommendation system work?을 손질한 것임.

이 과정을 수학적으로 설명해 보자. <그림 1>에서 사용자 1은 [B, C, B] 순으로 검색했고, 사용자 2는 [C, A, B] 순으로 검색했다. 이 정보를 가지고 품목-대-품목 행렬을 구하면 우측의 상단과 같다. 이 행렬을 가지고 두 벡터(vector) 끼리의 코사인 유사도(Cosine Similarity, CosSim)를 구한다. 아래 식에서처럼 두 벡터의 내적(inner product)을 두 벡터의 노름(norm, 벡터의 크기)의 곱으로 나누어 코사인값을 구하면 된다.

위 식에서 보듯이 두 벡터의 내적은 두 변수값의 곱()의 합이고,  벡터의 노름은 각 변수값의 제곱 합(, )의 양의 제곱근이다.

이렇게 구한 유사도는 –1에서 1까지 값을 갖는다. 코사인 유사도 –1은 두 벡터가 서로 완전히 반대 방향인 경우, 코사인 유사도 1은 두 벡터가 완전히 방향이 같은 경우, 그리고 코사인 유사도 0은 두 벡터가 서로 독립적인 경우를 가리킨다. 정보나 책의 검색에서 빈도가 음의 값을 가질 수 없으므로 코사인 유사도는 0에서 1까지의 값을 갖는다.

위의 경우 아마존의 검색 엔진은 책 A와 코사인 유사도가 가장 큰 책 B와 C를 추천한다. 즉, 아마존 검색 엔진은 사용자가 누구인가에 관계없이 책들의 상관성만 가지고 책을 추천한다.

책들 사이의 상관성은 오프라인에서 이미 계산해 두고 있기 때문에 아마존은  고객들에게 책을 비롯한 수많은 상품들을 더욱 빠르고, 더욱 정확하게 추천할 수 있다. 품목-대-품목 협업 필터링은 고객들의 구매, 클릭, 평가 등의 경험을 취합하여 온라인 상품 구매에서 고객들이 안고 있는 불확실성 문제를 해결하는 집단지능인 것이다.

단시간 내에 전세계 검색 시장의 최강자로 떠오른 구글(Google.com)의 검색엔진도 집단지능의 흥미 있는 사례이다. 다음 포스팅에서는 내친 김에 구글 검색 엔진의 원리도 살펴보자. (윤영민, 2018-05-12)

참고 문헌

Mayer-Schönberger,  Victor, & Kenneth Cukier. 2013. Big Data: A Revolution that will transform how we live, work, and think. Boston: An Eamon Dolan Book.

Linden, Greg, Brent Smith, & Jeremy York. 2003. “Amazon.com Recommendations: Item-to-item collabrative filterning.” IEEE Internet Computing, January-Feburary: 76-80.

인공신경망과 뇌의 뉴런: 정확한 유추가 필요

전산 전문가들이 펴낸 딥러닝(Deep learning)이나 인공신경망(Artificial Neural Network) 저술을 보면 인공신경망을 인간의 신경세포와 비교해서 설명할 때 다소 혼란스러울 때가 있다. 둘 사이의 유추가 정확하지 않기 때문이다.

예컨대 국내 한 전산학자의 최근 저서를 보면 인공 뉴런과 인간 뇌의 뉴런을 다음과 같이 비교해 설명했다.

오창석. 2018. <딥러닝을 위한 인공신경망>. 내하출판사. 41쪽.

우선 입력이 수상돌기에 해당되는 값으로 그려져 있는데,  잘못된 서술이다. 입력은 시냅스-전-뉴런(presynaptic neuron)의 축삭종말(axon terminal)에 도달한 신호(신경 자극)로 보는 편이 훨씬 정확할 것이다. 그것이 축삭종말에서 신경전달물질(neurotransmitter)로 바뀌어 시냅스 틈(synapse cleft)에 분비되고, 그것이 시냅스-후-뉴런(postsynaptic neuron)의 수상돌기의 수용체들(receptors)에 달라 붙어서 시냅스-후-뉴런의 이온 수용체를 여는 것까지가 시냅스(synapse)에 해당된다. 그림에서 연결강도라고 표시된 부분이다. 그런 다음 시냅스-후-뉴런의 수상돌기에서 신경전달물질은 활동전위(action potential)로 바뀌게 되는데 그 부분에 해당되는 과정은 그림에 없다. 그림에 세포체라고 표시된 부분은 축삭(axon)이다. 표시가 잘못 된 것이다. 그리고 그것이 인공 뉴런의 노드에 해당된다. 세포체는 여러 수상돌기로부터 들어온 활동전위를 합산하고 그것이 역치(threshold value)를 넘으면 신호를 전달해야 된다고 판단하고 축삭을 향해서 활동 전위를 발사한다. 그 활동 전위가 위 그림에서 인공 뉴런의 출력에 해당된다. 그림에 ‘축삭돌기’라는 표현이 있는데 영어 이름은 axon terminal로 ‘축삭종말’이라고 쓰는 것이 더 적절하다고 생각되며 그것의 위치도 축삭의 맨 끝 부분(위 그림에서 오른쪽 끝의 T 자 모양)이 맞다.

혼란을 바로 잡기 위해 다시 정리해 설명해 본다. 아래 그림은 한 개의 인공 뉴런이 작동하는 과정을 간략히 모형화한 것이다. 맨 왼쪽의 상자들은 여러 개의 입력값을 나타낸다. 그것들은 각각 다른 가중치(weight)를 지닌 경로를 통해서 노드(node)에 들어온다. 노드에서는 각 입력값과 가중치의 곱이 합산되고, 활성함수를 통해서 나온 값이 역치를 넘으면 산출값을 내놓는다.

artificial neural network에 대한 이미지 검색결과

그런데 이러한 과정을 인간 뇌에서 발생하는 뉴런과 시냅스 사이의 신호 전달에 비교하면 아래 그림과 같다. 위에서 언급했지만 다시 이 그림을 갖고 작동 순서대로 서술한다.

인공뉴런의 입력값()은 시냅스-전-뉴런의 축삭종말(axon terminal)에 활동 전위 형태로 전달되는 신호들의 값(강도)이다. 가중치()는 시냅스 가중치(synaptic weight)에 해당되는데, 그것은 시냅스-전-뉴런의 축삭종말에서 시냅스 틈으로 분비되는 신경전달물질의 양이나 시냅스-후-뉴런의 수상돌기에 형성된 수용체들의 수효(이것은 수용되는 신경전달물질의 양을 결정한다)에 의해 결정된다. 시냅스 후의 값()들은 시냅스-후-뉴런의 수상돌기를 통과되는 신호들의 값(세기)를 나타낸다. 그것들은 세포체(cell body)에서 합산되고, 그 총합(sum)이 역치를 넘으면 신호가 다음 뉴런에 전달되도록 활동 전위(action potential) 형태로 축삭(axon)을 향해 발사된다.

강화학습이 일어나는 경우 인공뉴런에서는 역전파(backpropagation)의 방법으로 가중치들이 조정되고 더 정확한 산출값을 내놓게 된다. 인간 뇌에서는 만약 동일한 자극이 반복적으로 전달되거나 보상예측오류(reward prediction error)가 발생할 경우, 동일한 자극에 대해 신경전달물질이 더 많이 분비되거나 수상돌기에 더 많은 수용체가 형성되어  더 효율적으로 신경전달물질을 수용하는 방식으로 시냅스 가중치가 변화된다.

전산 서적들에서 이러한 유추가 보다 정확히 사용되어야 할 것으로 생각된다. (윤영민, 2018-04-23)

SF 영화 속 인공두뇌, 과연 개발될 수 있을까?

ex machina brain에 대한 이미지 검색결과
영화 Ex Machina에서 AI인 엑스 마키나의 머리에 들어갈 인공두뇌를 보여주는 장면.

인간의 두뇌가 지구상의 어떤 물체보다도 복잡하다는데 이견을 달 사람은 없을 것이다. 과학자들은 아직 두뇌와 지능을 완전히 이해하지도 못하고 있고, 그것을 인공적으로 구현하는 도전은 더 더욱 낮은 수준에 머물러 있다.

인공 지능(Artificial Intellegence)은 인공신경망(Artificial Neural Network)이나 심층 신경망(Deep Neural Network)처럼 소프트웨어적으로 구현되고 있지만, 수십년 이내에 엑스 마키나처럼 인간에 버금가거나 인간보다 뛰어난 지능을 가진 AI 로봇, 혹은 영화 트랜센던스(Transcendence)에서처럼 인간의 두뇌-지능이 업로드된 슈퍼컴이 출현할 가능성은 별로 높아 보이지 않는다.

transcendence에 대한 이미지 검색결과
영화 ‘트랜센던스(Transcendence)’에서 과학자 윌(조니 뎁 연)의 뇌가 슈퍼컴에 업로드되는 장면.

인공신경망 같은 소프트웨어가 실제로 구현되는 현재의 폰 노이만 방식의 컴퓨터는 인간 두뇌와는 비교가 우습게 느껴질 정도로 낮은 기술 수준이다. 슈퍼컴이라는 고성능 컴퓨터라고 별로 다르지 않다. 성능이 현저히 떨어지고, 유연성도 없으며, 덩치도 무지하게 크고, 어마어마하게 많은 전기를 사용하며, 작동 과정에서 열도 많이 발생한다. 그 때문에 트랜지스터 집적 기술, 배터리 기술 개발, 신소재 개발 등에 엄청난 재원이 투입되고 있지만 그러한 발전 방향에 대해 회의적인 시각도 만만치 않다.

그래서 대안으로 추구되어온 방향 중 하나가 인공두뇌(artificial brain)의 개발이다. 인공 지능이 계산, 학습, 기억, 의사결정, 예측 등과 같은 두뇌의 기능을 소프트웨어적으로 모방하려는 노력이라면, 인공두뇌는, 최대한 인간 두뇌와 닯은 물체를 제작하여 거기에서 지능이 스스로 발현되게 하려는 시도이다.

인공두뇌 연구자들은 두뇌-지능의 핵심을 뉴런(neuron)과 시냅스(synapse)의 결합으로 본다. 학습, 기억, 종합, 판단, 예측 등과 같은 지능이 뉴런과 시냅스의 결합으로 이루어진다고 믿기 때문이다.  다시 말해 인공두뇌(artificial brain)이란 인공뉴런(artifical neuron)과 인공시냅스(artificial synapse)로 구성된 물체이다.

스위스의 과학자들이 개발한 인공 뉴런의 모습.

2015년 스위스의 Karolinska Institutet의 과학자들은 인간의 유기적 뉴런과 연결되어 작동할 수 있는 인공 뉴런을 개발했다고 발표했다. 그들의 발표에 따르면 그 인공뉴런에는 바이오센서(amperometric biosensors)와 유기 전자 이온 펌프(organic electronic ion pumps)가 부착되어 있어, 한쪽 끝에서 인간 뉴런으로부터 화학적 신호를 받으면 그것을 전기적 신호로 바꾸어 전달할 수 있으며, 다른 끝에서 그것을 다시 화학물질로 바꾸어 다른 뉴런에게 신호를 보낼 수 있는 기능을 갖추었다고 한다(Simon, et. al., 2015; Wenz, 2015). 문제는 위 사진에서 보다시피 생물체의 뉴런에 비해 아직 크기가 너무 크다는 것이다.

금년(2018년) 1월 Science Advances지에 더욱 획기적인 연구가 발표되었다. 미국의 국립표준연구소(NIST)의 연구팀은 인간의 뇌처럼 학습을 할 수 있는 인공두뇌를 구현했다고 발표했다(Schneider, et. al., 2018). 그 인공두뇌 속의 시냅스는 인간 두뇌의 시냅스처럼 시냅스 가중치가 바뀔 수 있는 가소성(plasticity)을 갖고 있다.

쉬나이더 박사 연구팀은 조셉슨 접합(Josephson Junction)에 자성을 지닌 나노입자들(magnetic nanoclusters)을 절연체(barrier)로 사용하였다. 아래 그림에서 보듯이 연구팀은, SFQ(Single Flux Quantum) 초전도체(superconduct)로 시냅스 전 뉴런을  만들고,  SQID(Superconducting Quantum Interference Device) 초전도체로 시냅스 후 뉴런을 구성하였다.

출처: Schneider, et. al.(2018)

이 인공뉴런에서 획기적인 점은 절연체(JJ synapse)가 마치 인간 두뇌의 시냅스처럼 작동한다는 사실이다. 첫째, 시냅스 전 뉴런에서 일정한 역치(threshold value) 이상의 전류가 흘러들어오면 전류가 절연체를 통과해서 시냅스 후 뉴런으로 흐르며, 둘째, 절연체에 전류 펄스를 반복해서 가하면 자기장(magnetic field)이 형성되고 그 영향으로 나노입자들이 점차 한 방향으로 정렬되면서 전류의 역치가 낮아진다는 것이다. 인간두뇌에서 뉴런의 수상돌기에 들어오는 자극이 강하면 신호가 다음 뉴런으로 전달되고, 동일한 자극이 수상돌기에 반복적으로 들어오면 시냅스 전 뉴런의 (축삭 종말의) 신경전달물질의 분비량이 늘거나 시냅스 후 뉴런의 (수상돌기에) 이온 수용체의 수효가 늘어서 시냅스 가중치(synaptic weight)가 커지는 현상과 유사한 모습이다.

이 인공두뇌는 초전도체로 구성되어 극저온에서 저항없이 전류가 흐르기 때문에 매우 효율적으로 전기 신호를 전달할 수 있다. 그 인공두뇌는 초당 10억회의 전기신호를 전달할 수 있으며(인간두뇌는 초당 50회 정도를 전달), 그 작동에 아주 소량의 에너지만사용된다.  그리고 그 인공시냅스의 직경은 10 마이크로미터(10만분의 1미터)에 불과하다. 한 마디로 인간의 뇌보다 빠르고 효율적으로 작동하는 인공두뇌의 개발 가능성이 열린 것이다(Reardon, 2018).

그러나 리어돈(Reardon, 2018)이 지적하듯이, 복잡한 컴퓨팅을 위해서는 수백만 개의 인공시냅스가 필요할턴데, 과연 인공두뇌의 규모가 그렇게까지 확대될 수 있을 지 아직 미지수이고,  그 인공시냅스들이 절대 영도(섭씨 – 273.15도)에 가까운 극저온에서 작동하기 때문에 액체 헬륨을 사용해서 냉각되어야 하는데, 그럴려면 스마트폰처럼 소형으로 구현되기 어렵다는 문제를 안고 있기도 하다.

artificial brain에 대한 이미지 검색결과

이 두 가지의 획기적인 연구만 보더라도 인간의 뇌에 비견될 수 있는 인공 두뇌가 개발되기까지는 많은 장애가 극복되어야 할 것임이 분명하다. 그리고 앞으로 얼마나 더 많은 시간이 소요될 지 누구도 알 수 없다.

1980년대 후반 절대 영도보다 상당히 높은 온도에서 초전도체가 되는 물질들이 속속 발견되면서 조셉슨 효과를 이용한 ‘초전도체 컴퓨터’가 10년 이내 발명되지 않을까 하는 기대가 있었다(김두희, 1988). 그러나 그 후 30여 년이 흘렀지만 아직 초전도체 컴퓨터가 출현했다는 소식은 없다. 위에서 소개한 미 국립표준연구소 연구팀의 발견이 초전도체 기반의 신경컴퓨터–즉, 인공두뇌–의 등장을 크게 앞당길 지도 모르겠다.

그러나 인공두뇌을 보기 위해서는 최소한 또 한 세대는 기다려야 하지 않을까. SF 영화에서 보는 로봇에 장착될만한 인공두뇌가 제작되려면 과학자들은 이미 지나온 길보다 앞으로 훨씬 더 먼 길을 가야할 것이기 때문이다. (윤영민 2018-04-22)

데이터를 다시 생각한다(1): 공학적 관점

지난 10여 년 사이 발생한 가장 뚜렷한 사회변화 중 하나는 인류에게 대단히 낯선, 데이터 기반 사회(Data-based society)가 출현하고 있다는 사실이다. 고 Peter Drucker가 예견했던 지식사회도, 필자를 포함해 수많은 학자들이 설파한 정보사회도, 마뉴엘 카스텔(Manuel Castells)이 전망한 네트워크사회도 아닌 데이터 기반 사회–그냥 짧게 줄여서 데이터 사회(data society)라고 부르자–가 등장하고 있는 것이다.

Related image

앞 포스팅들에서 길게 논의했던 새로운 개념의 “지능(intelligence)”도 근본적으로는 데이터 사회의 한 측면이다. 인간, 사회조직, 자연, 심지어 우주에 관한 데이터의 폭발적 증가는 인류가 지금까지 경험해 보지 못한 새로운 모습의 사회를 탄생시키고 있다. 지능이 개인과 조직, 그리고 사회가 생존하는 데 있어 가장 중요한 생존 요인 중 하나가 된 것이 바로 데이터 때문이다.

이제 데이터(data)에 관해 얘기해 보자. 데이터를 제대로 규정하지 않고 데이터 사회를 논할 수는 없지 않겠는가.

데이터에 대한 정의는 학문 영역에 따라 상당히 다르다. 그것은 데이터를 전혀 다른 대상으로 간주하기 때문이라기보다 서로 다른 맥락에서 데이터를 바라보기 때문이거나 데이터의 서로 다른 측면을 분석하기 때문일 것이다. 데이터를 크게 공학적 관점과 인문/사회과학적 관점으로 나누어 살펴보자.

공학 중 데이터에 관해 가장 정교한 규정을 제시하는 분야는 경영정보학(MIS)이 아닐까 싶다. 경영정보학은 데이터가 핵심인 데이터베이스(D/B), 정보시스템(IS), 지식관리시스템(KMS), ERP(Enterprise Resource Planning), 데이터 마이닝(data mining), BI(Bussiness Intelligence) 등을 모두 다루어야 하기 때문일 것이다. 경영정보학에 의한 규정은 인접분야인 컴퓨터과학(computer science), 문헌정보학(library and information science), 교육공학(educational technology) 등과 공유된다.

경영정보학에서는 크게 세 가지 서로 다른 데이터 프레임워크(혹은 이론)가 제시되었다. 그중 가장 오랫동안, 그리고 가장 널리 수용되는 데이터 프레임워크는 가치 사슬 모형(value chain model), 흔히 DIKW 계층 모형이라고 알려진 것이다.

Image result

이 모형에서 데이터(data)는, 통상 가공되지 않은 상태의, 객체(objects)나 사건(events)에 대한 묘사(description) 혹은 사실(facts)을 의미하며, 정보(information)는 데이터를 가공한(processed: 분류, 요약, 혹은 이전되었다는 의미) 것으로, 맥락이 부여된(contextualized) 데이터이다. 따라서 데이터와 달리 정보는 의미(meaning)를 가지며, 특정한 용도에 유용하다. 또한 정보가 체계적으로 조직되면(organized) 지식(knowledge)이 되고, 지식이 고도로 추상화되면 지혜(wisdom)이 된다.

이 피라미드의 상부로 올라갈수록 가치(value)가 상승하는 것으로 간주된다. 이 때문에 이 모형은 가치 사슬 모형이라고 불린다.

이 피라미드 모형은 나름대로 유용하다. 데이터-정보-지식-지혜의 관계에 대해 최소한의 가이드라인이 되어주며, 나아가 연구자들에게, 지식, 정보, 데이터 중 어떤 것을 다루더라도 다른 두 가지와의 관계를 고려해야 하고, 앎(knowing)에 관한 어떤 모형도 이 세 가지 사이의 관계에 대해 명쾌한 해석 혹은 입장을 포함하고 있어야 함을 알려준다(Kettinger and Li, 2010).

지혜는 지식과 특별히 구분되지 않거나, 지나치게 추상적이기 때문에 실무 차원에서는 논외로 하는 경우가 많다. 예컨대 “이웃을 사랑하라” 혹은 “타인에게 자비를 베풀라”는 훌륭한 지혜이겠지만 현실 비즈니스에서 적용되기는 어렵지 않겠는가.

Related image

이 모형의 약점은 핵심 개념인 데이터, 정보, 지식 사이의 상관관계가 명백하지 않다는 사실이다. 특히 데이터와 정보, 그리고 정보와 지식의 개념적 관계가 애매하여, 연구자들 사이에 해석이 분분하다(Alavi and Leidner, 2001).

Tuomi (1999)는 가치 사슬 모형을 거꾸로 뒤집어 놓은 구체화 모형(materialization model)을 제안했다. 가치 사슬 모형과는 반대로 데이터는 정보로부터, 정보는 지식으로부터 생성된다는 인식이다. 지식이 데이터와 정보에 대한 인식의 출발점이라는 것이다. 이 모형의 가장 중요한 특징은 지식이 데이터와 정보로부터가 아니라 다른 원천으로부터 생성된다는 인식이다. Tuomi에 의하면, 노나카 이쿠지로(Nonaka Ikuziro)가 말하는 암묵적 지식(tacit knowledge)과 명시적 지식(explicit knowledge) 사이의 다이내믹한 상호작용은 지식이 생성되는 한 가지 방식이다.

잠재적 지식이 개념적으로 명료하게 표현되고(articulated), 구조화되면(sturctured), 지식은 정보가 되며(그렇다면 정보는 다름 아닌 명시적 지식!), 그렇게 만들어진 구조에 데이터를 수집해서 집어넣어 정보를 구체적으로 표현할 수 있다(아래 그림을 참조).

이 과정을 구체적인 사례를 갖고 보면 아래 그림과 같다. 보일-샤를의 법칙과 아보가드로의 법칙이라는 화학적 지식을 결합하여 이상기체 상태방정식(PV = nRT)를 도출하면 그것이 정보이다. 그리고 그 정보를 응용하면 체온계를 만들 수 있다. 그 체온계로 체온을 재면, 체온이 의미를 지닌 숫자–예컨대 36.5도–로 구체화되어 표현된다.이 과정에 의하면, 정보란 데이터에 의미를 추가해서 생성되는 것이 아니라, 지식으로부터 도출된다. 그리고 정보를 구조화하면 의미를 지닌 데이터가 창출될 수 있다.

세 번째로 소개할 데이터-정보-지식 프레임워크는 상호작용 모형(interactive model)이다. 이것은 정보가 지식과 데이터의 상호작용에 의해 생성된다는 발상으로 지식 기반의 정보이론(knowledge-based theory of information, KBI)이라고 불린다((Kettinger and Li, 2010). 이 모형의 핵심적인 인식은, 정보는 데이터와 지식의 결합 함수이며, 낮은 수준의 정보는 높은 수준의 정보를 생산하는 데 투입으로 사용된다(information is the joint function of data and knowledge, and lower level information is used as input to produce higher-level information)이다.

이 모형에서도 지식이 대단히 중요한 위치를 차지하고 있다. 지식은 구성물 사이의 관계에 대한 정당화된 진실한 믿음(justified true belief of the relationship between constructs)이다.

이 명제는 네 가지 의미를 내포하고 있다. 1) 지식은 믿음(belief)이다. 그런데 그 믿음은 추가적인 증거에 의해 일반화되거나(generalizable) 검증될 수 있는(verifiable) 것이어야 한다. 2) 지식은 진실이거나, 어떤 상황에서 진실에 접근해야 하며, 그리하여 실질적 목적을 위해서 의문의 여지가 없는 것으로 받아들여져야 한다. 3) 지식의 진실성은, 자격을 갖춘 엘리트(전문가, 권위자)에 의해 정당화되거나 인정되어야 한다. 이점이 지식을 정당화되지 못한 믿음과 구별시켜준다. 4) 지식은, 수단-목적 짝(mean-end pairs), 조건-행동 짝(condition-action)과 같이 구성물 사이의 관계(relationship between constructs)에 대한 믿음이다. 지식의 가장 흔한 형식은 IF-THEN 짝이다(사회학, 통계학에서는 가설 형식이라고 부름). 지식은 지식틀(knowledge frames), 지식지도(knowledge maps), 시맨틱 네트워크(semantic networks) 등과 같은 형식을 취할 수도 있다.

데이터는 객체나 사건에 관한 서술이나 측정값이다. 그것은 통상 객체나 사건의 속성(attributes of objects or events)들을 측정하는, 상호연관된 데이터 항목들의 집합(a set of interrelated data items)을 말한다.

S1: A 형 부품 17개가 남아 있다.

S2: 비가 내리고 있다.

이 두 진술은 ‘there-is(~있다)’ 유형으로, 어떤 존재하는 객체나 사건에 대한 사실(facts)에 관한 진술로 데이터이다. 데이터는 상황에 관한 선결조건(pre-conditions) 혹은 투입 값(input values)을 규정하고, 그것을 기반으로, 그 상황에서의 의사결정 혹은 행동의 선택을 가능하게 하는 정보가 생산된다. 그러나 데이터만으로는 행동이나 의사결정에 요청되는 정보를 낳을 수 없다.

정보는 지식 프레임워크를 토대로 데이터로부터 생산된 의미(meaning)이다. 지식 프레임워크는 목적 지향적 행동들을 위한 조건적인 준비의 상태의 선택과 결합되어 있다(Information is the meaning produced from data based on a knowledge framework that is associated with the selection of the state of conditional readiness for goal-directed activities).

이 규정은 의미(meaning)가 정보의 본질적 속성이라는 정보시스템 연구의 전통적인 관점을 반영하고 있다. 메시지의 의미를, 조건적 준비의 상태에 대해 수신자가 지닌 범위에 대한 선택적 기능이라고 볼 수 있다. 정보에 의해 선택, 판단, 혹은 불확실성 감소가 일어난다는 것이다.

예를 가지고 살펴보자. 위의 S1 데이터 명제와 관련된 아래와 같은 지식 명제를 생각할 수 있을 것이다.

S3:  만약 A형의 부품의 재고가 20개 이하이면, 부품 부족을 방지하기 위해 A형의 부품을 주문해야 한다.

지식 S3가 데이터 S1을 만나면, “A형 부품을 적어도 3개 이상 주문해야 한다”는 정보가 생성된다.

이 기본 모형은 좀 더 확대될 수 있다. 비와 외출에 관해서 두 가지 이론이 있다고 하자. 하나는 “S4: 비가 내리면 외출을 삼가한다.”, 그리고 다른 하나는 “S5: 비가 내리면 우산을 갖고 나간다.”라고 하자. 이 이론들이 S2(비가 내리고 있다)라는 데이터를 만나면, 그것이 이론 S4와 결합할 경우, “외출을 하지 않는다”라는 정보가 도출된다. 반면에, 이론 S5와 결합할 경우, “우산을 갖고 나간다”라는 정보가 도출된다. 동일한 데이터라도 적용되는 지식에 따라서 정보가 달라짐을 알 수 있다(아래 그림 참조).

KBI 이론에 따르면, 데이터가 정보의 주요 원천이기는 하지만, 정보는 또다른 원천으로부터도 생성된다. 그것은 다른 사람이 갖고 있는 정보(other people’s information)이다. 그런데 다른 사람의 정보는 이미 그 사람의 지식과 데이터의 결합에 의해 생성된 것이다.

이 모형은 데이터로부터의 정보가 생산되기 위해서는 지식을 필요로 하며, 지식이 변하면 정보도 달라짐을 시사한다. 가설적 수준의 이론이지만 대단히 흥미있는 모형이다. 이 모형은 다음에 소개할 사회과학적 관점과도 잘 어울리는 장점을 갖고 있다. (윤영민, 2018-03-05).

<참고문헌>

Alavi, M and Leidner DE (2001). “Knowledge management and knowledge management system: conceptual foundations and research issues.” MIS Quarterly 25(1): 107-136.

Kettinger, William J and Yuan Li (2010). “The infological equation extended: towards conceptual clarity in the relationship between data, information and knowledge,” European Journal of Information Systems, 19(4): 409-421.

Tuomi, I (1999). “Data is more than knowledge: implications of the reversed knowledge hierarchy for knowledge management and organizational memory.” Journal of Management Information Systems 16(3): 103-177.

지능이라는 이름의 게임(8): ‘창조주’가 되고 싶은 인간

인간에게 마지막 남은 미지의 영역은 아마도 생명일 것이다. 생존의 관점에서두뇌-지능은 생명과 가장 근접해 있는 영역이다. 두뇌-지능을 해독하면 인간(인간 대신 A.I.일지도 모른다)은 결국 생명이라는 수수께끼마저 완벽하게 풀어버릴 지도 모른다. 그것이 언제쯤일 지는 누구도 정확히 예측할 수 없겠지만 말이다. 아직 초보적인 수준이지만 인류는 이미 지능적인 기계(intelligent machines) 만들기 경쟁을 시작했다. 연구소와 기업들이 기계학습(machine learning) 혹은 인공지능(A.I.)을 응용한 상품 개발에 질주하고 있다. 스마트폰, 자동차, 스피커, 세탁기, 청소기, 가사 로봇 등등. 아마도 원하던 그렇지 않던 그 경주의 종착역은 ‘창조주(creator)’ 게임이 되지 않을까 생각된다. 지능, 두뇌, 생명의 창조 말이다.

최근에 발표된 Tie-Jun Huang 북경대 교수의 논문, “Imitating the Brain with Neurocomputer”(Internation Journal of Automation and Computing, 2017/10)는 정확히 그 지점을 건드리고 있다. 이 논문을 참고하면서 인공지능(artificial intelligence), 인공두뇌(artificial brain), 그리고 인공 생명(artificial life)에 대해 생각해 보자.

Image result for artificial intelligence, artificial brain, artificial life
출전: http://news.mit.edu/2009/ai-overview-1207

Huang 교수는 컴퓨터과학이 자율적(autonomous)이며 범용인(general) 인공지능–그의 표현으로 Artificial General Intelligence, AGI–을 추구한다고 전제한다. 그의 주장이, A.I.에게 결코 자율성을 부여해서는 안된다는 이대열 교수의 주장과 출발부터 충돌하는 것이다. 그리고 AGI를 구현하기 위해서는 지능(intelligence)의 모사가 아니라 두뇌(brain)의 모사에 연구를 집중해야 한다고 역설한다.

그의 주장에 따르면, 현재 득세하고 있는 기계학습(machine learning), 인공신경망(artificial neural network), 그리고 인공 지능(artificial intelligence)은 70여 년 전부터 지금까지 컴퓨터과학의 대세가 되어온 폰노이만(Von Neumann) 컴퓨터라는 패러다임 내에 있다.

1945년 존 폰노이만(John von Neuman)은 “First Draft of a Report on the EDVAC”이라는 논문 초고를 몇몇 지인들에게 돌렸다. 그 글에는 그 후 70년 이상 컴퓨터의 구조를 규정하는 설계가 제시되어 있었다. 폰 노이만이 논란의 여지없는 천재이기는 하지만 아마도 그 저술이 세상에 가장 커다란 영향을 미친 초고 논문이 될 것이라고는 꿈에도 상상하지 못했으리라.

폰 노이만 구조는 중앙처리장치(CPU), 저장장치(memory), 연결 통로(bus), 입출력 장치(I/O)로 구성된다. CPU는 데이터와 명령(instructions, 곧 소프트웨어)를 메모리로부터 불러내어 연산을 수행한다. 데이터와 소프트웨어는 동일한 메모리에 저장되고 동일한 버스로 이동한다.그 글에서 폰 노이만은 자신이 고등동물 두뇌의 작동 원리를 모방하여 컴퓨터의 구조를 설계하고 있음을 분명히 밝히고 있다. 특히 신경세포와 시냅스의 작동 원리를 단순화하여 진공관을 이용한 디지털 컴퓨터 설계에 적용하고 있음을 논문 곳곳에서 서술하고 있다(초고의 원문을 보려면 다음을 클릭: edvac.pdf).

폰 노이만은 복잡하고 지루한 수학 연산을 인간 대신 수행해 줄 기계를 구상했다. 폰 노이만의 설계에 따라 탄생한 디지털 컴퓨터는 지난 70여 년 동안 CPU와 메모리 칩이 진공관에서 트랜지스터 집적으로 바뀌고 데이터와 소프트웨어의 버스가 구분되었으며, 엄청난 컴퓨팅 파워와 처리 속도를 구가하게 되었고, 다양한 소프트웨어의 발달로 수학 연산을 넘어 문자, 이미지, 심지어 동영상까지 처리하고, 소형화를 거듭하고 있으며, 유무선 통신네트워크를 통해 컴퓨터는 물론이고 스마트폰을 비롯한 온갖 정보기기들이 연결되면서 놀라운 변신을 해왔다. 그러나 그럼에도 불구하고 놀랍게도 그것들에는 아직 기본적으로 폰 노이만의 설계가 유지되고 있다.

폰 노이만은 스스로 그렇게 표현하기도 했지만 생물의 신경세포 시스템을 유추(analogy)적으로 사용해서 컴퓨터를 만들었다. 즉, 그는 신경세포 시스템을 추상화시켜 도출한 몇 가지 원리를 가져다 사용했을 뿐 신경세포 시스템을 물리적으로 모사하려고 생각하지는 않았다. 사실 당시로서는 인간 두뇌에 대한 지식도 짧았고, 그것을 구현해 줄 기술도 거의 존재하지 않았기 때문에 놀라운 일이 아니다.

Image result for neurocomputer
출전: https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_neural_networks.htm

그런데 Huang 교수는 물론이고 인공 두뇌(인공 지능과 혼동하지 말 것)를 연구하는 학자와 전문가들은, 폰 노이만과 앨런 튜링(Alan Turing)에서 출발한 컴퓨터와 인공지능에 대한 연구가 잘못된 방향을 걷고 있다고 생각한다. 그들이 제기하는 비판의 근거는 무엇보다 그들이 인간 두뇌가 어떻게 지능을 생산하는 지를 완전히 이해하지 못하고 있다는 것이다. 만약 그런 방식으로 AGI(그것은 strong AI라고 부르기도 함)를 발명하려면 인간 두뇌와 지능을 완전히 해독해야 하는데, 그것은 1백년 내 실현되기 어려울 것이라는 주장이다. “지능을 만들기(making intelligence)” 위해 먼저 “지능을 이해하기(understanding intelligence)”는 크게 잘못된 접근이라는 것이다. 전자가 후자보다 더 쉬운 작업인데, 후자를 먼저해야 한다면, 그것은 어려운 작업을 먼저 해결한 다음 쉬운 작업을 해결하겠다는 논리적 오류에 빠지는 일이라는 비판이다. 그는 심지어 그러한 접근이 말 앞에 수레를 연결하는 것만큼이나 잘못되었다고 지적한다.

대안으로 그는 모방주의(imitationalism)를 주창한다. 리버스 엔지니어링(reverse engineering)을 통해서 인간 두뇌의 물리적 구조를 밝히고 그것을 모방한 기계를 만들어 가자는 주장이다. 그것은 현실적으로 가능할 뿐 아니라 궁극적으로 인간 두뇌-지능을 이해하는 지름길이기도 하다고 역설한다.

그는 인간 두뇌의 생물학적 신경세포 시스템과 동일한, 혹은 그것과 최대한으로 유사한 물리적 구조를 지닌 컴퓨터를 개발하는 것이 모방주의 접근의 핵심 과업이라고 주장한다.  그 물리적 모방 엔지니어링(physical imitation engineering)의 목표는 신경세포와 시냅스의 기능을 모사할 수 있는 초소형 기기를 개발하여, 궁극적으로 아주 소규모의 물리적 공간과 적은 전력 소모라는 조건 아래에서 인간 두뇌급의 신경망 시스템을 구축하는 것이다. 그것은 신경 컴퓨터(neuromorphic computer, 간략히 neurocomputer)라고 불리는데, 그것에 대한 연구와 개발이 이미 상당히 진척되었다고 한다.

Image result for truenorth chip
출전: https://www.slideshare.net/SamMbc/ibm-truenorth

그에 의하면, 2008년 미국의 DARPA(Defence Advanced Research Projects Agency)는, 1kW의 전력만을 사용하면서(인간 두뇌는 약 30 와트의 전기를 사용함) 인간 두뇌의 신경세포와 같은 수준의 능력을 지닌 전자 기기를 개발하도록 IBM과 몇 개의 대학에 1억달러의 연구기금을 제공하였고, 2013년 유럽은 1억 유로 이상을 투입하여 정보기술과 생명과학을 결합하는 인간두뇌 프로그램을 시작하였으며, 같은 해에 미국의 오바마 대통령은 12년 내에 인간 두뇌의 역동적 지도를 그리겠다는 BRAIN Initiative에 45억 달러가 투입될 것이라고 발표했었다.

실제적인 성과도 가시화되어서, 2014년 8월 Science 지에, IBM은 1백만개의 (인공) 신경세포와 2억5천6백만개의 (인공) 시냅스로 구성된 트루노스(TrueNorth)라는 신경칩(neuromorphic chip)의 개발에 성공했다고 발표했다. 또한 2015년 독일의 하이델베르크 대학은 20만개의 신경세포와 5천만개의 시냅스를 8인치 웨이퍼에 집적하는데 성공했다. 신경컴퓨터는 300억개 이상의 신경세포와 3조개 이상의 시냅스로 구성된 인간 두뇌에 비하면 아직 유아적 수준에도 미치지 못하지만 신경컴퓨터 연구자와 개발자들은 인공신경망이나 인공지능에 비해 신경컴퓨터가 훨씬 빨리 AGI를 구현하게 될 것이라고 믿는다.

출전: http://www.scinexx.de/diaschau-117.html

신경컴퓨터 연구자들의 대전제는 기능(function)이 구조(structure)에서 나온다는 명제이다. 그것은 인간 두뇌의 신경세포와 시냅스와 최대한으로 유사한 물리적 구조를 지닌 지능적 기기–즉, 신경컴퓨터–를 개발하면 인간 두뇌급의 지능이 그것으로부터 창발되고(emerging) 성장할 수 있으리라는 믿음이다.

인공생명(artificial life, A-life)은 인공지능이나 인공두뇌와는 크게 다른 수준의 게임이다. 그것은 신경세포(neuron)가 아니라 신경세포의 세포핵(nucleus) 내부에 존재하는 RNA, DNA, 그리고 단백질을 스스로 창조하는 RNA를 인공적으로 만드는 도전이다. 그것은 생명을 모방하는 객체를 만드는 일일 수도 있고, 진짜 생명체를 창조하는 일일 수도 있다. 인공생명 연구의 아버지라고 불리는 존 폰 노이만–컴퓨터의 구조를 창안한 바로 그 폰 노이만–은 인공생명 연구에도 관심을 가졌다. 그가 일찍 세상을 떠나지 않았다면 인공생명에 대한 연구가 더 일찍 발달했을 지도 모르겠다.

Related image
출전: http://www.maxxtexx.de/dna-dient-als-erfahrungs-speicher-fuer-nachkommen/

폰 노이만은 생명의 핵심이 자기복제(self-reproduction)에 있다고 이해했다. 그의 정의에 따르면 오늘날 자기복제가 가능한 컴퓨터 바이러스는 하나의 인공생명이라고 말할 수 있을 것이다. 그러나 엄밀히 말하자면 그것은 진짜 생명이 아니라 생명의 흉내내기에 지나지 않는다. 물론 그것만으로도 인류를 위협할 정도이지만 인공적으로 창조된 생명체와는 거리가 아주 멀다. RNA, DNA, 단백질 등으로 구성된 세포핵을 지닌 생명체인 인간이 세상을 인식하고, 자신을 의식하며, 성장하고 진화하고, 자신을 재생산하는 위대한 모습을 생각해 보라.

Image result for great human beings
출전: https://hubpages.com/education/inspiringpeople

인공생명의 연구와 개발은 아직 인공지능은 말할 것도 없고 인공 두뇌의 연구에 비할 바가 아닐 정도로 낮은 수준이다. 그러나 향후 20~30년 후 기술적 특이점(singularity)–기계의 두뇌가 인간의 두뇌를 넘어서는 시점–을 지나고 나면 인공지능, 인공 두뇌 그리고 인공생명에 대한 연구는 인간 자신이 아니라 A.I.나 인공두뇌에 맡겨질 지도 모른다. 그렇게 되면 인공 생명, 나아가 생명의 창조의 시기가 크게 앞당겨질 지도 모를 일이다. 바로 그 시점이, 인간이 진정한 창조주로 등극하는 순간이다!

그런데, 그런데…. 과연 그것이 인류에게 축복일까 저주일까? 페이크 뉴스(fake news) 정도로 크게 흔들리는 인간 문명이 과연 인공지능, 인공두뇌, 그리고 인공생명을 사회적으로 감당할 수 있을까? 다음에는 이 문제를 생각해 보자. (윤영민, 2018-02-26)

<참고 문헌>

Huang,  Tie-Jun. 2017. “Imitating the Brain with Neurocomputer”, Internation Journal of Automation and Computing 14(5). Pp.520-531.

von Neumann, John (ed. by Michael D. Godfrey). 1945. “First Draft of a Report on the EDVAC.”  http://history-computer.com/Library/edvac.pdf

빅데이터, 상관관계, 예측….거품?

%eb%b9%85%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%8a%94%ea%b1%b0%ed%92%88%ec%9d%b4%eb%8b%a4

결론부터 말하겠다. 우리나라에서 ‘빅데이터’는 시작부터 거품이었다. 그러나  ‘빅데이터’를 둘러싼 온갖 거품을 걷어내고 나더라도 기존의 계량적 사회과학 페러다임에 대해 ‘빅데이터’로 불리는 새로운 데이터 환경이 제기하는 도전은 여전히 유효하다.

아마존(amazon.com)을 가지고 이야기를 시작하자.  아마존은 추천 엔진(recommendation engine)이라는 기술-문화적 아이템을 세상에 내놓았다. 그렇다고 아마존이 사업 초기부터 추천 엔진을 사용하지는 않았다. 처음에 아마존 웹사이트는 전문가들이 작성한 서평(추천)을 게시했다. 그 서평은 인기가 있었고 책 판매에 상당한 효과를 가져왔다. 하지만 그 성과에 만족하지 않았던 아마존의 CEO 제프 베조스(Jeff Bezos)는 고객들 자신의 구매 선호를 기반으로 책을 추천하면 어떨까 상상했다. 그렇게 해서 아마존의 책 추천 엔진이 개발되었다. 오래지 않아 알고리즘에 의한 책 추천은 전문가에 의한 책 추천을 완전히 대체하였으며, 아마존의 성공에 자극을 받은 대형 인터넷 쇼핑 사이트들도 앞다투어 추천 시스템을 도입하였다.

아마존의 추천 엔진은 품목-대-품목 협업 필터링(Item-to-item collaborative filtering)이라는 알고리즘을 사용한다. 설명을 단순화하기 위해 아마존에 네 권의 책(A,B,C,D)만 있고 사용자가 두 명(User 1, 2)만 있다고 하자. 만약 새로운 사용자(User 3)가 A라는 책을 보았다면 그에게 어떤 다른 책을 추천하면 좋을까? 아마존의 추천 엔진은 기존 사용자들(User 1, 2)의 책 탐색 기록 정보를 이용해서 A와 가장 상관성이 높은 책들을 추천한다(아래 그림 참조).

recommendation_flow_i2i3
이 그림은 Software Programming blog의 How does the Amazon recommendation system work?에서 가져왔음. https://kunuk.wordpress.com/2012/03/04/how-does-the-amazon- recommendation-system-work-analyze-the-algorithm-and-make-a-prototype-that-visualizes-the-algorithm/

이 과정을 수학적으로 설명하면, <그림 1>에서 User 1은 [B, C, B] 순으로 검색했고, User 2는 [C, A, B] 순으로 검색했다. 이 정보를 가지고 품목-대-품목 행렬을 구하면 우측의 상단과 같다. 이 행렬을 가지고 두 벡터(vector) 끼리의 코사인 유사도(Cosine Similarity, CosSim)를 구한다. 아래 식(1)에서처럼 두 벡터의 내적(inner product)을 두 벡터의 노름(norm, 벡터의 크기)의 곱으로 나누어 코사인값을 구하면 된다.

이렇게 구한 유사도는 –1에서 1까지 값을 갖는다. 코사인 유사도 –1은 두 벡터가 서로 완전히 반대 방향인 경우, 코사인 유사도 1은 두 벡터가 완전히 방향이 같은 경우, 그리고 코사인 유사도 0은 두 벡터가 서로 독립적인 경우를 가리킨다. 정보나 책 검색에서 빈도가 음의 값을 가질 수 없으므로 코사인 유사도는 0에서 1까지의 값을 갖는다.

굳이 코사인 유사도를 구하는 공식을 가져온 이유는 그것이 상관성 척도임을 보여주기 위해서이다. 사회과학에서 사용하는 피어슨 상관(Pearson correlation)은 아래와 같은 식으로 구할 수 있다.

식(1)과 식(2) 를 비교해 보면 가 로, 는 로 대치되었을 뿐임을 알 수 있다. 결국, 이 된다. 각 벡터의 평균을 뺀 값으로 계산된 유사도가 피어슨 상관이다(O’Conner, 2012).

아마존 추천엔진의 사례는 다섯 가지를 시사한다.

첫째, 인과성의 발견이 더 이상 사회과학의 금과옥조가 될 수 없다. 당연히 세상을 이해하려면 인과성의 발견이 계속되어야 한다. 그것은 사회과학자에 주어진 사명이다.  그러나 오직 인과성이라는 창을 통해서만 세상을 이해하고 사회현상(심지어 자연현상)을 예측할 수 있다는 주장은 사회과학자들의 아집과 환상에 불과하다.

아마존이 인터넷 비즈니스 초기에 도입한 전문가 서평(추천)은 인과관계에 근거한 비즈니스 모형이라고 할 수 있다.  만약 책 추천을 위한 인과 모형을 만든다면, 그것은 고객의 개인 속성(나이, 학력, 전공 분야, 직업, 성별, 혼인상태, 취미 등)과 외부 요인(전문가 서평, 광고 등)으로 구성되었을 것이다.  아마존은 상관 모형을 택해서 전혀 다른 길을 갔다.  그리고 상관관계 기반의 추천 시스템은 아마존의 사업 성공에 크게 기여하였다.

둘째, 아마존의 추천 엔진은 ‘빅데이터'(양, 속도, 형태의 어느 기준으로도 봐도 빅데이터임에 틀림없다)에 의존하고 있다. 위에 든 예는 4권의 책과 3명의 고객만을 가정했지만, 현실에서는  4백만권의 책과 3천만명의 고객일지도 모른다. 그렇게 되면 품목-대-품목 행렬이 얼마나 크겠는가. 그리고 요즘 아마존은 심지어 고객들의 클릭 데이터까지 실시간으로 책 추천에 반영하려고 하고 있다. 아마존에게 있어 ‘빅데이터’는 거품이 아니라 가장 중대한 사업 문제를 해결하는 열쇠이다.

셋째, ‘빅데이터’는 대단히 실용적인 동기에서 출발했다. 아마존은 개별 사용자의 관심이나 선호에 대해 예측함으로써 서비스 사용자가 안게 되는 정보과잉(information overloading)의 문제를 풀려고 했다. 아마존은 사용자가 책을 찾는데 시간과 노력을 많이 투입할 수 없다는 가정 아래 데이터 분석을 통해서 사용자에게 가장 적합한 책을 선별해서 제시하려고 했다. 한 마디로 ‘빅데이터’에서는 과학적 발견(설명)보다는 실용성(예측)이 우선적인 목표가 되어왔다. 아마존의 사례는 상관관계 기반의 추천 모형이 사업 목적에 매우 잘 부합되도록 작동하고 있음을 보여준다.

넷째, 사람이 아니라 컴퓨터 알고리즘이 고객에게 상품을 추천한다. 빅데이터 덕분에(혹은 빅데이터 때문에) 데이터의 수집, 처리, 분석을 이제 사람 뿐만 아니라 컴퓨터가 수행하는 시대가 되었다. ‘빅데이터’의 진화 방향은 분명하다. 언젠가 데이터의 수집, 처리, 분석, 대응이 거의 모두 자동화될 것이다. 이미 상품 추천, 검색, 번역 등의 온라인 서비스 뿐 아니라 무인자동차 같은 오프라인 제품까지 모두 ‘빅데이터’를 활용하고 있지 않는가.

다섯째, ‘빅데이터’에서는 ‘예측(prediction)’이라는 개념이 상당히 다른 의미로 사용된다. 전통적으로 예측은 대체로 거시적 현상에 대한 전망(forecasting)이나 시나리오를 의미했다. 빅데이터 시대에 예측은 아주 미시적인 개인(individuals) 단위까지 행해진다.  즉, 선거, 스포츠 경기, 도박, 증권시장 등에 대해 전망할 뿐 아니라 고객 개인의 선호, 욕망, 태도, 행동 등에 대해서도 예견한다. ‘예측’은 그렇게 넒은 의미를 지니고 있으며, 예측이 이루어지는 기반도 인과관계를 넘어서 시계열 패턴, 상관관계, 베이즈(Bayes) 추론 등으로 확대되고 있다.   

우리 사회에서 ‘빅데이터’는 상당부분 거품이었음에 분명하다(그점에 관해서는 내가 다른 곳에서 논의하였다. ‘유행의 함정’ 참조). 그러나 그럼에도 불구하고 거품을 걷어내고 나면 거기에는 놀라운 진실이 발견된다. 그것은 전통적인 사회과학자들을 무척 불편하게 만들 진실이다. 현재 진행되고 있는 데이터 환경의 변화는 사회과학에게는 대지진 격이다. <빅데이터는 거품이다>라는 섣부른 비판으로 비껴갈 수 없는 흐름이다. 신중하게 대처하지 않으면 실증 사회과학은 존재 기반의 대부분을 잃게 될 지도 모른다. (윤영민, 2016/10/21)

<참고문헌>

O’Conner, Brendan. 2012. “Cosine Similarity, Pearson Correlation, and OLS Coefficients.” AI and Social Science (blog).  https://brenocon.com/blog/2012/03/cosine-similarity-pearson-correlation-and-ols-coefficients/