인공생명과 뇌

 

과학사상29호(1999년-여름) : 조성배 (연세대 교수 · 컴퓨터과학) , 범양사 출판부, Page 117~137

 

1. 인공지능과 선택주의

  1) 인공지능

  2) 선택주의

2. 인공생명 기법

  1) 셀룰라 오토마타

  2) 유전자 알고리듬

3. 셀룰라 오토마타상에서 진화된 신경망

  1) 기본 모델

  2) 성장단계

  3) 신호전달 단계

  4) 신경망의 진화

4. 시뮬레이션 : 이동 로봇의 제어

  1) 행동기반 이동 로봇 : 케페라

  2) 실험 1 : 기본 모듈실험

  3) 실험 2 : 모듈 결합실험

5. 토의 및 결론

 

최근 들어 인지과학과 인공지능 분야의 연구성과에 힘입어 뇌의 기본기능을 이해하고 재구축하고자 하는 시도가 활발히 전개되고 있다. 뇌의 정보처리 기능을 실험관찰 방법으로 밝히고자 하는 신경과학, 마음의 정보처리 기능을 역시 실험관찰 방법으로 이해하고자 하는 심리학, 그리고 정보처리 모형의 구성법을 제시하는 컴퓨터 과학을 통합함으로써 뇌와 마음의 작동을 정보과학의 입장에서 해명하고자 하는 접근방식이 현재 가장 기능성이 있다고 생각된다.

이러한 연구는 크게 두 가지 접근방식으로 분류될 수 있는데, 하나는 생물학적인 현실성보다는 데이터의 표현과 처리 알고리듬에 역점을 둔 환원주의 (reductionism) 이고, 다른 하나는 실제 신경계에서 관찰되는 특성을 강조하는 선택주의 (selectionism) 라고 할 수 있다. 전자는 대부분 마음을 정보처리 시스템 중에서도 히히 기호처리 시스템으로 보는 것이다. 이에 반해서 상향식 접근방법을 취하여, 예를 들면 시각피질이나 청각피질의 일부를 추출하고 그것들의 가능한 기능에 대하여 탐구하는 방법도 있다. 이의 기본 아이디어는 각 부분을 깊이 탐구하면서 그 결과들을 통합하여 보다 복잡하고 광범위한 뇌의 기능을 밝히는 것이다. 반면에 후자는 외부의 관찰자나 교사의 간섭 없이 자체적인 진화와 개발과정을 통해서 뇌의 기능을 해명하고 이로부터 조직 내의 기호적인 표현이 만들어지는지 분석하고자 한다.

두 접근방법은 각기 장단점이 있지만 많은 경우에 뇌의 활동은 서로 다른 영역 사이의 정교한 상호작용에 기인하기 때문에, 뇌의 일부를 추출하여 특정 기능을 부여하는 것이 불가능한 경우가 많다. 그런데 뇌는 오랜 시간의 진화를 거쳐서 현재의 복잡한 구조를 형성했다는 점에서, 기본적으로 밝혀진 뇌의 부분적인 기능으로부터 진화적인 방식을 사용하는 선택주의의 방식이 주목을 받고 있다. 이러한 접근 방법으로 일본 ATR 인간정보통신 연구소에서는 CAM-Brain 이라는 인공뇌를 개발하고 있다.1), 2)

이 시스템은 인공생명 개발과정의 모델링 기법인 셀룰라 오토마타에 기반하여 신경망을 만들어내고, 그 구조를 유전자 알고리듬으로 진화시킨 후 이를 통합하는 방법을 취하는 것이다. 인공생명은 공학적인 입장에서는 자연계의 생명체가 갖는 특징적 행동이나 특유의 현상을 컴퓨터 등의 인공물에서 합성하는 것을 목표로 하는 것으로, 자율성과 창조성이 풍부한 모형을 만드는데 적합하다.3)  특히, 셀룰라 오토마타는 간단한 규칙들로 복잡한 현상을 표현할 수 있는 것으로서 복잡한 생물학적 뇌를 표현하기에 적합한 모형으로 기대된다.

이 글에서는 이러한 모형을 소개하고 그 가능성을 탐색해보고자 한다. 더 나아가 이 시스템의 대규모 결합을 통한 인공뇌 개발의 가능성을 타진해보고자 한다. 먼저 1 장에서는 뇌를 구현하기 위한 방법으로서 인공지능과 선택주의를 소개한다. 2 장에서는 기본이 되는 인공생명에 대하여 살펴보고, 3 장에서는 이러한 기법들을 결합하여 만들어낸 신경망에 대해서 알아본다. 4 장에서는 모델의 가능성을 알아보기 위해서 수행했던 시뮬레이션 결과를 보여주고, 마지막으로 5 장에서는 시스템의 대규모 결합을 통한 인공뇌의 개발 가능성에 대해 논의해보고자 한다.

1. 인공지능과 선택주의

1) 인공지능

인공지능은 인지과정을 명시적인 기호로 표현하고, 컴퓨터 프로그램의 형태로 규정하여 테스트하기에 적합한 모형을 다룬다. 여기에는 정보의 표현과 처리가 중요하다. 뇌나 마음의 기능을 실현하는데 필요한 뇌의 하드웨어는 동일함에도 불구하고 뇌와 마음의 모형에 사용되고 있는 표현이나 처리방법이 다른 것은 기억, 사고, 언어의 기능을 중심으로, 마음은 시공간적으로 국소화된 기호를 처리하는 시스템인데 반해서 뇌는 시공간적으로 분산된 정보를 처리하는 시스템에 기반을 두고 있기 때문이다. 초창기에는 컴퓨터의 성능제약으로 '토이월드 (toy world)' 라는 제한된 영역에서 개발되었다. 예를 들면, 위그노라드 (winograd)가 개발한 SHRDLU4)  는 블록의 세계를 자연어 명령어로 조작할 수 있었다. 전체적으로 이러한 접근방식도 크게 발전했지만 시각이나 무제약의 자연언어 처리와 같은 실세계 문제에 대해서는 그다지 성공적인 결과를 내지 못했다.

일부 연구자들은 좀더 강력한 컴퓨터와 대용량의 '지식 베이스' 를 이용하여 이러한 문제를 해결하고자 하기는 하지만. 인지 시스템에서 기호적인 기술을 가능하게 하는 메커니즘을 모형화할 필요성을 인식하게 되었다. 이 분야의 가장 대표적인 연구자로 마 (David Marr) 를 들 수 있는데, 이 사람은 시각 시스템을 영상으로부터 스케치라고 불리는 추상적인 일련의 기술을 통하여 기호적인 기술에까지 도달하는 상향식 이론을 제안했다.5)  즉 뇌를 이해하기 위하여 하드웨어 레벨, 표현과 알고리듬의 레벨, 계산이론의 레벨로 나누고 각각을 이해함에 따라서 다른 레벨이 이해방법을 제약하는 식으로 전체로서의 뇌기능에 대한 적절하고 일관된 이해를 얻고자 하는 방법이다.

민스키 (Marvin Minsky) 는『마음의 사회』에서 마의 이론을 넘어 모든 인지기능이 단순한 컴퓨터의 기능을 하는 독립적인 처리기들이 대규모로 상호작용함으로써 발생한다고 설명했다.6)   전체 마음을 하나의 시스템으로 다룬면에서는 마의 한계를 극복할 수 있었지만 자기조직화나 자체 획득과 같은 메커니즘이 결여되어 있다는 문제가 있다. 하지만 마음의 사회는 단순한 처리기의 병렬적인 배열이라는 면에서 연결주의 시스템과 유사한 점이 있기 때문에 뇌의 기능 모델링을 위해 두 접근방식을 통합할 수 있는 바탕으로 사용될 수 있으리라 기대된다.

2) 선택주의

인공지능으로 대표되는 기능주의 (functionalism) 는 데이터의 표현과 계산에 주로 초점을 맞추고 뇌의 셀 연결과 신호 다이너믹스 및 적응적인 행동을 하도록 뇌를 조직하는 개발과정의 연구를 등한시한다는 면에서 마음이나 뇌를 연구하기 위한 기반으로 부족한 점이 있다. 일부에서는 이러한 특성을 단순히 구현상의 문제로 치부하고 원조를 무시한 성능 제일주의에 빠지기도 한다. 그러나 생물은 역사를 고려한다. 생물체는 종종 현재의 기능을 이해하기 위하여 밝혀져야만 하는 진화적인 과거를 갖는다. 현대 생물학의 기반이 되는 다윈의 이론은 추상적인 계산공간에 치중하는 기능주의의 대안으로서 진화와 조직의 토대를 구성한다.

이러한 상황에서는 뇌신경 시스템에서 보여지는 해부학적인 다양성이 선택과정에 의하여 진화로 만들어진 것이라 이해할 수 잇다. 이를 위한 여러 가지 모델들이 제안되었는데, 그 중에서 뇌기능에 대한 완전한 선택주의이론은 에델만 (Edelman) 이 제안한 뉴런 집단선택 이론 (theory of neuronal group selection <TNGS>)7)   이라고 할 수 있다.

선택주의는 인지적 분류, 모터제어, 의식 등을 포함한 뇌의 기능을 집단에 기반한 이론으로 설명한다. 이것은 적응행동을 공통적인 진화의 역사와 각 개체의 특정한 경험의 역사로 설명한다. 또한 뇌에서의 자기조직화는 개발과정에서 선험적으로 결정되어 형성된 신경회로의 집단상에서 작동하는 선택으로 설명된다. 물론 여기에서의 선택은 자연선택에서와 같은 재생산이라기보다는 신경회로를 연결하는 시냅스의 연결강도를 변화시키는 것이다. 이러한 방식으로 각 뉴런 집단이 행동에 미치는 영향을 변화시킬 수 있다.

선택의 방법을 사용하면 문제에 대한 객체나 이벤트를 사전에 레이블링할 필요가 없고 오류 피드백 신호를 제공할 교사를 갖고 있지 않아도 된다. 선택주의에서는 신경계에서 정보가 생성되고 처리되는 메커니즘이 정보와 계산이론뿐만 아니라 생물학으로부터 파생된 제약도 만족해야 한다. 이러한 이유에서 선택주의에 기반한 뇌 이론은 추상적인 기능주의 이론에 비해서 쉽게 실험으로 검증할 수 있다는 장점이 있다.

2. 인공생명 기법

최근 들어 선택주의를 기반으로 하는 인공생명이라는 새로운 정보처리 방식이 활발히 연구되고 있다. 이의 궁극적인 목표는 한 마디로 말해서 '생명이란 무엇인가?' 에 대한 답을 찾는 것이라 할 수 있다. 생물학에서 생명을 연구하는 기존의 분석적인 접근방식에서 탈피하여 생명이라고 불릴 수 있는 어떤 것을 구축하는 합성적인 접근방식을 취하는 것이 가장 커다란 차이점이다. 하지만 공학적 관점에서 인공생명은 개별적으로 제안된 두뇌의 가소성이나 개체의 발생, 적응과 진화 등 생물의 특성으로부터 파생된 모형들을 총동원함으로써 정보처리의 새로운 가능성을 모색하고자 하는 것이라 볼 수 있다.3)

즉 인공생명은 실재하는 생물의 정보처리 시스템으로부터 많은 힌트나 개념들을 제공받아 컴퓨터 등의 인공매체에 그것을 생성 구축하는 것이라 볼 수 있다. 일련의 과정에 의해서 실재의 생물로부터 생명의 개념을 추출하고 일반화하여 확장시킴으로써 실제 생물을 관찰하고 분석하는 생물학을 보완하는 기능을 갖는다. 더 나아가 일반화한 생체 정보처리 기구를 컴퓨터 과학이나 제어공학과 같은 다른 분야에 적용시키는 것을 목적으로 하고 있는 것이 인공생명이다. 이 장에서는 인공생명의 시각에서 자연계의 복잡한 현상을 표현하는데 적합한 셀룰라 오토마타 (cellular automata)8)    와 생물의 진화과정을 모방한 진화 알고리듬에 대해 간단히 살펴보고자 한다.

1) 셀룰라 오토마타

셀룰라 오토마타는 자연현상을 계산의 형태로 나타내고자 하는 것으로서 객체를 나름대로 규칙을 갖고 상호작용하는 오토마타인 셀들의 집단으로 보고 이 셀들 사이의 상호작용을 나타내는 것이다.8)  즉 셀룰라 오토마타는 동일하게 프로그램된 오토마타, 또는 서로 상호작용하는 셀의 배열이라고 할 수 잇다. 이러한 배열들은 보통 1- D, 2-D, 3- D의 형태를 갖지만 대부분의 경우 셀들은 간단한 사각형의 격자형태로 정렬된다. 셀룰라 오토마타는 다음과 같은 몇가지 필수적인 특징을 갖는다.

실제 셀룰라 오토마타를 적용시켜 하나의 패턴이 어떤 식으로 변하는지 보자. 각 셀의 상태는 0 또는 1 의 값을 갖고 , 이웃은 양 옆의 인접한 셀로 정한다. 그리고 적용될 규칙들의 집합은 표 1 과 같다. 그림 2 는 가운데 한 셀의 상태가 1 로 초기화된 상태에서 시간에 따른 상태변화를 보여준다. 여기서 회색의 셀은 그 셀의 상태가 1, 흰색의 셀은 그 셀의 상태가 0 의 값을 가짐을 나타낸다. 셀룰라 오토마타는 자기조직화, 생물과 비슷한 행동, 열적 특성등의 특징을 갖는다.8), 9)

그림 1  셀과 그 이웃의 예들. C : 셀, n : 이웃.

 

표 1  규칙들의 예.
L : 왼쪽 이웃 셀의 상태, R : 오른쪽 이웃 셀의 상태, C : 셀의 상태, Cnew : 새로운 셀의 상태.

L C R

Cnew

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

1

1

0

1

1

0

0

2) 유전자 알고리듬

인공생명은 실재하는 생물의 정보처리 시스템으로부터 많은 개념을 제공받아 컴퓨터 등의 인공매체에 그것을 생성 구축하는 것이라 할 수 있다.3)   홀랜드 (Holland) 가 제안한 유전자 알고리듬 역시 자연 생태계에서 자연선택과 자연발생의 기계적인 과정에 기반한 것으로 볼 수 있는데, 주로 집단에 기반한 최적화를 위한 기법의 하나로 사용되고 있다.

일반적으로 간단한 유전자 알고리듬은 독립적인 개체들의 집단을 생성하고 세 가지의 연산자 (선택, 돌연변이, 교차) 를 통해 개체들을 진화시킨다.10)  선택은 자연선택의 인공적 형태로의 변환이라 할 수 있는데, 집단에서 주어진 환경에 좀더 적합한 개체들이 선택되어 다음 세대에까지 살아남을 수 있도록 한다. 교차는 선택된 개체들에서 임의로 두 개체를 선택하여 두 개체의 염색체 중 일부분을 교환하는 것이다. 돌연변이 연산자는 임의로 선택된 개체의 염색체 중 일부분을 바꿔준다. 유전자 연산자는 개체들의 염색체를 복사하거나 일부분을 다른 개체와 교환하는 등 매우 간단하나 좋은 탐색 메커니즘을 갖는다.

3. 셀룰라 오토마타상에서 진화된 신경망

앞에서 소개한 셀룰라 오토마타와 유전자 알고리듬에 기반하여 단순화된 뇌 모델이라 할 수 있는 신경망을 어떻게 구축할 수 있는지 알아보자.

1) 기본 모델

셀룰라 오토마타는 위에서 언급했던 것처럼 상태, 이웃, 프로그램으로 이루어져 있다. 이 모델에서 각 셀들은 뉴런, 축색돌기, 수상돌기, 여백 중 하나의 상태를 갖는다. 여백 셀은 신경망이 동작할 때 신호를 주고받을 수 없다. 축색돌기 셀을 뉴런에서 출발한 신호를 주위의 이웃 셀로 보내는 역할을 한다. 수상돌기는 주위의 이웃 셀로부터 신호를 모아 뉴런에게 전달하는 역할을 한다. 마지막으로 뉴런 셀은 수상돌기로부터 받은 신호를 누적시켰다가 그 값이 역치보다 크면 주위의 축색돌기 셀로 신호를 보내는 역할을 한다.

서로 상호작용을 일으키는 이웃은 2 차원 셀룰라 오토마타 공간에서 각 셀을 둘러싸고 있는 동, 서, 남, 북의 네 방향에 위치하고 있는 셀이다. 이때 공간이 3 차원으로 확대되면 위와 아래가 첨가된다. 각 셀의 상태는 염색체에 의해 결정된 규칙과 이웃 셀의 상태에 따라 결정된다. 염색체는 셀의 개수와 같은 세그먼트의 수를 갖는데, 각 세그먼트는 하나의 셀에 대응한다. 하나의 세그먼트는 그 셀의 상태가 뉴런이 될 수 있는지 없는지를 결정하고, 그 셀이 신호를 받았을 때 어느 방향으로 신호를 내보낼지 그 방향을 결정한다. 그림 3 은 염색체에서 하나의 세그먼트가 갖는 정보를 보여주고 있다.

2) 성장단계

성장단계에서는 셀룰라 오토마타 공간에 있는 셀들이 뉴런, 축색돌기, 수상돌기, 여백 중에서 하나의 상태를 갖는 신경구조가 만들어지는데 그 과정은 다음과 같다.

 1) 셀룰라 오토마타 공간의 모든 셀을 여백 상태로 초기화한다. 먼저 염색체에 따라 뉴런 시드를 심는다. 이때 초기에 염색체가 없을 경우에는 임의로 설정한다.

 2) 1)의 과정에서 여백 셀에서 뉴런 상태로 변한 셀은 자신에 대응되는 염색체에 의해 결정된 방향으로 축색돌기의 성장신호를 보내고, 나머지 방향으로는 수상돌기의 성장신호를 보낸다. 축색돌기의 성장신호는 이 신호를 받은 여백 셀의 상태를 축색돌기로 변화시킬 수 있는 능력이 있으며, 수상돌기의 성장신호 역시 같은 능력이 있다.

 3) 성장신호를 받은 여백 셀은 그 종류에 따라 수상돌기와 축색돌기로 상태가 변한다. 이때 같은 순간에 다른 성장신호를 또 받거나, 같은 성장신호를 두 번 받으면 상태가 변하지 않는다. 상태가 변한 여백 셀은 자신의 염색체에 대응하는 각 방향 비트의 값을 참조하여 자신이 받은 성장신호를 보낸다.

 4) 다른 여백 셀이 다시 위의 3)번 과정에서 보낸 성장신호를 받게 되면 3)과 같은 과정을 되풀이한다. 이때 한 번 그 상태가 결정된 셀은 더 이상 상태가 변하지 않는다. 그렇게 때문에 3)번 과정이 되풀이되고 셀의 상태변화가 더 이상 일어나지 않으면 성장단계를 멈춘다. 2)

그림4는 염색체에 이해 결정된 신호전달 방향에 의해 성장단계에서 성장하는 과정을 보여주고 있다. 그림 4 (a) 는 여백으로 초기화된 공간에 뉴런을 심은 상태를, (b) 는 그 뉴런 셀로부터 나온 성장신호가 뉴런 주위의 여백 셀을 수상돌기나 축색돌기로 성장시킨 상태를 보여주고 있다. 그림 4 (c) 는 셀의 상태 변화가 더 이상 일어나지 않고 하나의 신경망이 완성된 모습을 보여주고 있다.

3) 신호전달 단계

신호전달 단계는 성장단계에서 만들어진 신경망에 입력을 주어 결과를 얻어내는 과정을 말한다. 이때 뉴런 셀만이 외부로부터 신호를 입력받을 수 있고 신호를 외부로 내보낼 수 있으며, 초기에 신호를 받아들이는 입력 셀과 신호를 내보내는 출력 셀의 위치를 결정한다. 외부의 신호를 입력받은 후 다시 신호를 내보내기까지의 과정은 다음과 같다.

 1) 입력으로 정해진 셀의 상태가 뉴런이면 그 뉴런은 외부로부터 신호를 입력받아 계속 누적시킨다.

 2) 누적된 값이 역치값보다 크면 두 방향의 축색돌기 셀로 각각 '1' 과 '-1' 을 보낸다.

 3) 신호를 받은 축색돌기는 자신이 신호를 받았던 방향을 뺀 나머지 방향의 인접한 셀로 그 신호값을 보낸다. 이런 과정이 반복되어 축색돌기는 계속 인접한 셀로 신호를 보낸다.

 4) 이 때 다른 뉴런에 종속된 수상돌기 셀들이 3)에서 보낸 신호를 받게 되면, 그 수상돌기는 신호를 수집하여 자신이 속한 새로운 뉴런 셀로 보낸다.

 5) 4)에서 수상돌기로부터 신호를 받은 뉴런 셀은 위의 2)와 같은 과정을 거쳐 주위로 다시 신호를 보낸다. 이런 과정이 반복되면서 결국 입력 뉴런에서 보내진 신호가 여러 뉴런들을 거치면서 출력 뉴런에 도달한다.2)

그림 5 는 뉴런, 축색돌기, 수상돌기가 형성되었을 때의 신호전달 과정을 보여주고 있다. 그림 5 를 보면 흥분성 축색돌기로 성장한 셀에게는 흥분신호 (+) 를 보내고 억제성 축색돌기로 성장한 셀에게는 억제신호 (-) 를 보낸다. 수상돌기 셀은 주위의 셀에게서 신호를 수집하여 뉴런에게 보내고, 축색돌기는 뉴런에게서 받은 신호를 주위의 셀로 보낸다.

4) 신경망의 진화

성장단계를 거쳐 완성된 신경망은 신호전달 단계를 통해 주어진 문제에 적용된다. 신호전달 단계에서 신경망에 입력을 주고 출력값을 얻은 후 문제에 적용시키면 적합도를 얻을 수 있다. 이에 유전자 알고리듬을 적용시켜 최적의 신경망을 찾는데, 유전자 연산자로는 선택과 교차, 돌연변이를 사용한다. 선택은 가장 간단한 방법으로 전체 집단의 반을 적합도가 큰 개체부터 선택한 후 이를 복제하여 새로운 집단을 만들어낸다. 교차는 임의로 두 개체를 선택하여 일점교차의 방법으로 염색체의 일부분을 교환한다. 이때 염색체의 길이를 일정하게 유지하기 위해서 교차가 이루어지는 위치는 동일해야 한다. 돌연변이는 염색체의 세그먼트 단위로 이루어지며 새로운 세그먼트로 바꾸어 신경망의 구조를 변경시킨다.

4. 시뮬레이션 : 이동 로봇의 제어

이동 로봇의 제어기를 진화방식으로 구축하고자 하는 연구는 최근 활발히 진행되고 있는데, 유전자 알고리듬을 이용하여 신경망을 진화시키는 방법이나,11)  유전자 프로그래밍 기법을 이용하는 방법,12)  그리고 퍼지 제어기와 유전자 알고리듬을 복합적으로 적용하는 방법13)  등이 대표적이다.

1) 행동기반 이동 로봇 : 케페라

케페라 (Khepera) 로봇은 그림 6 (a) 와 같이 주변 장애물과의 거리를 감지할 수 있는 여덟 개의 적외선 감지 센서를 몸체의 전, 후, 좌, 우에 갖고 있으며, 이와 쌍을 이루어 빛을 감지할 수 있는 여덟 개의 감지 센서를 장착하고 있다. 또한 두 개의 바퀴가 있어 어느 방향으로나 이동이 가능하다. 그림 6 (b) 의 케페라 시뮬레이터는 실제 로봇의 행동을 제어할 수 있도록 설계된 것으로, 이를 사용하여 얻은 제어기는 실제 로봇에 쉽게 장착할 수 있도록 설계되었다.14)

그림 6  케페라. (a) 실제 로봇, (b) 시뮬레이터.

이 시뮬레이터는 0 ~ 1023 까지의 값을 거리 감지센서로부터 얻을 수 있으며, 거리 감지 센서의 값이 0 인 경우는 아무런 장애물도 감지되지 않은 상태를 의미하고, 값이 1023 인 경우는 장애물이 아주 가까이 있다는 것을 의미한다. 그 사이의 값들은 감지센서와 장애물 사이의 거리에 대한 정보를 제공한다. 거리 감지센서와 한 쌍으로 되어 있는 빛 감지센서는 50 ~500 까지의 밝기를 감지할 수 있으며 센서값이 50 인 경우는 광원에 아주 가까이 있는 경우이다. 여기에서는 편의상 거리 감지센서로부터의 입력만을 사용한다. 또 바퀴는 좌, 우 모두 -10 에서 10 까지 속력을 낼 수 있다.14)

2) 실험 1 : 기본 모듈실험

주어진 모델인 셀룰라 오토마타 기반의 진화 신경망을 이동 로봇 에이전트의 제어에 이용하기 위해서는 다음과 같은 과정이 필요하다. 먼저 성장단계를 통해 하나의 신경망을 완성시킨다. 그 후 로봇 시뮬레이터로부터 얻은 센서값을 신경망에 입력한다. 그러면 신경망은 입력받은 신호를 신호전달 단계를 통해 출력 셀까지 보낸다. 출력 셀의 결과값을 다시 로봇 시뮬레이터로 보내 로봇을 움직인다. 이 때 로봇의 움직인 정도에 따라 적합도를 계산한다. 이 적합도는 진화된 신경망에 적용되고 유전자 연산자가 적용된다. 이 유전자 연산자를 통해 로봇이 좀더 잘 움직일 수 있도록 신경망이 진화한다.

그림 7 은 실험한 환경과 로봇이 이 환경에 잘 적응할 수 있도록 진화된 제어기의 결과를 보여주고 잇다. 즉 로봇이 벽과 충돌하지 않고 한 바퀴 회전해 다시 제자리로 돌아오는 로봇의 경로를 보여주고 있다. 그림 7 (a) 는 7 × 7 × 7 크기의 셀 공간에서 진화시킨 로봇의 경로이고, (b) 는 5 × 5 × 5 셀 공간에서 진화시킨 로봇의 경로를 보여주고 있다. 그림 7 에서 보면 알 수 있듯이 7 × 7 × 7 크기의 셀 공간에서 진화시킨 로봇이 5 × 5 × 5 셀 공간에서 진화시킨 로봇보다 부드럽게 움직인다. 그러나 5 × 5 × 5 셀 공간에서 진화시킨 로봇 제어기는 크기가 작고 뉴런의 수 또한 적어서 분석이 용이할 수 있다.

그림 8  진화된 신경망의 구조. 2, 10 : 출력, 3, 4, 5, 6 : 입력.

그림 8은 진화된 신경망 구조를 보여주고 있는데, 실선은 흥분연결을 점선은 억제연결을 나타내고 화살표의 방향은 신호전달의 방향을 가리킨다. 이 신경망의 구조는 각 뉴런들의 활성화 값을 추적하여 알 수 있었다. 진화된 신경망에서 뉴런 수는 12 개이지만 이 중 8 과 11, 12는 실제 신호 전달에 참여하지 않기 때문에 제외시켰다. 뉴런 2 와 10 은 출력 뉴런으로 로봇의 왼쪽과 오른쪽 바퀴의 속도를 출력한다. 뉴런 3 은 앞쪽, 뉴런 5 와 6 은 왼쪽, 뉴런 4 는 오른쪽 센서의 값을 받아들이는 입력 뉴런들이다.

그림 9  입력과 출력 뉴런의 직접 연결.

제어기의 구조를 보면 입력 뉴런에서 출력 뉴런이 직접 연결되어 있는 것을 볼 수 있다. (그림 9). 이는 로봇이 좌회전 혹은 우회전할 때 중요한 역할을 한다. 뉴런 5 가 높은 활성화 값을 갖는다면 (센서값을 역으로 스케일링했기 때문에 이는 외쪽에 장애물이 없음을 의미한다) 뉴런 10 은 양수를 출력으로 내보낸다 (뉴런 5 가 흥분 신호를 보내기 때문). 뉴런 4가 작은 활성화 값을 갖는다면 (오른쪽에 장애물 감지) 뉴런 2 (외쪽 바퀴) 는 아무 출력도 내지 한한다. (뉴런 5 가 어떤 신호도 보낼 수 없기 때문이다). 그런데 각 출력 뉴런이 양수를 출력하면 바퀴 속도가 5, 음수이면 -5, 0 이면 바퀴 속도 역시 0 이 된다. 따라서 위의 경우 로봇은 좌회전하게 된다. 우회적 역시 비슷한 과정을 거친다.

3) 실험 2 : 모듈 결합실험

실험 1의 결과로 하나의 신경망 모듈이 진화를 통해 주어진 문제를 풀 수 있음을 알았다. 그러나 하나의 모듈로 구성된 제어기로는 복잡한 행동을 하도록 진화시키기 어렵다. 이러한 문제를 해결하기 위한 방법으로 간단한 행동을 하는 모듈들을 결합하는 것을 생각할 수 있다. 즉 '직진하기', '장애물 회피하기', '물체 찾기' 등의 간단한 행동을 하도록 만들어진 모듈들을 결합함으로써 상위 수준의 복잡한 행동을 할 수 있는 제어기를 만들어낼 수 있다.15), 16), 17)

이러한 방법의 타당성은 동물 행동학 등의 생물학에서 그 근거를 얻을 수 있다. 즉 생물의 두뇌 역시 각 기능을 담당하는 모듈들의 상호작용으로 그 기능을 한다.18)  이 이론적 근거는 기능적으로 분화된 모듈의 결합으로 인공 두뇌를 개발할 수 있다는 가능성을 제공한다. 그것에 바탕해서 실험 2 는 실험 1 을 확대하여 주어진 모델이 간단한 기능을 하도록 진화시킨 다음, 그 모듈들을 결합하여 얻어진 행동으로 그 가능성을 보이고자 한다.

본 논문에서는 다음과 같은 네 개의 기본행동으로 이루어진 모듈들을 결합하여 이동 로봇 제어에 적용했다.

이러한 기본행동들은 그림 10 과 같은 일반적인 환경에서 계속 움직여 나가기 위해 필요하다. 즉 주어진 환경에서 살아남기 위해서는 배터리가 방전되기 전에 배터리 충전영역에 도착하여 배터리를 충전해야 한다.

그림 10  시뮬레이션 환경.

그림 11  시뮬레이션 결과.

여기에서는 간단하게 IF-THEN 규칙을 이용하여 기본행동들을 결합했다. 이 방법은 현재 로봇의 센서값을 통해 판단한 상황에 따라 필요한 모듈을 작동시켜 적절한 행동을 하도록 한다. 그림 11 은 실험결과를 보여주는 것으로 로봇의 위치를 달리했을 때 로봇의 경로를 보여주고 있다. 로봇은 움직이면서 부딪히는 상황과 주어진 규칙에 따라 최적의 모듈이 실행되어 적절히 움직이는 것을 볼 수 있다.

5. 토의 및 결론

여기에서 설명한 시스템은 셀룰라 오토마타에 기반을 두어 뉴런들의 성장과 그들간의 신호전달을 수행한다. 하나의 모듈을 이동 로봇 제어기로 진화시켜 나름대로 좋은 결과를 얻을 수 있었으며, 이 모델의 진화 가능성을 보였다. 더 나아가 주어진 모델에 간단한 기능을 갖도록 진화시킨 후, 각 모듈들의 결합을 통해 좀더 복잡한 행동을 만들어낼 수 있음을 보였다. 이러한 결과는 주어진 모델이 타당하다는 것과 이러한 모델을 기반으로 하는 인공두뇌의 가능성을 보여준다.

인공두뇌 개발의 가능성에 더 큰 힘을 실어주는 것을 셀룰라 오토마타의 특성이다. 셀룰라 오토마타는 병렬 하드웨어에서의 처리가 가능하기 때문에 엄청나게 빠른 속도로 작동 가능한데, 대표적인 예가 MIT의 CAM-8 머신19)   과 ATR의 CBM이다. 주어진 모델 역시 셀룰라 오토마타에 기반한 신경망으로 병렬 하드웨어에서 빠른 진화가 가능하기 때문에, 수백만의 뉴런으로 이루어진 신경망을 매우 빠른 시간 안에 만들어낼 수 있다. CBM은 초당 1500 억 개의 셀룰라 오토마타 셀들을 변경하여 약 1 초에 하나의 신경망 모듈을 진화시킬 수 있다. 이 정도의 속도라면 현실적으로 수만 개의 진화된 신경망 모듈을 인간이 정의한 인공두뇌 구조에 맞도록 결합시킬 수 있을 것이기 때문에, '두뇌 구축 (Brain Building)' 이라는 새로운 연구분야를 만들 수 있으리라 기대한다.

대충 계산해보면 CBM을 이용하여 신경망 모듈을 진화시키는 '진화공학자' 가 모듈 하나의 적합도 함수, 즉 모듈의 입력신호, 목표 출력신호, 다른 모듈들과의 입출력 등의 명세를 생각해내는데 30 분 정도가 소요된다면, 네 명이 2 년 내에 3 만 2000 개의 모듈로 이루어진 인공두뇌를 설계할 수 있을 것이다. 만일 좀더 커다란 인공두뇌를 2 년 내에 구축하고자 한다면 120 명이 필요할 것이다. 이와 같이 계층적인 팀은 반드시 지리적으로 한곳에 있을 필요가 없이 인터넷을 통해 관리될 수도 있을 것이다. 만일 인공두뇌가 성공적으로 작동하게 되어 재미있는 애완용 로봇이나 간단한 가정용 청소로봇 등이 만들어진다면, 새로운 인공두뇌에 기반한 컴퓨터 산업이 가능하게 될 것이라 기대된다.

참고문헌

1. Hugo de Garis, "CZM-Brain : ATR's Billion Neuron Artifitial Brain Project : A Tree Year Progress Report , "Proc. Int. Conf. on Evolutionary Computation, (Nagoya : May, 1996) .

2. Michael Korkin, Hugo de Garis, Felix Gers and Hitoshi Hemmi, "CBM (CAM-BRAIN MACHINE) : A Hardware Tool Which Evolves a Neural Net Module in a Fraction of a Second and Runs a Million Neuron Artficial Brain in Real time, "Proc. Genetic Programming Conference (Stanford : July, 1997).

3. 조성배, 「인공생명의 개오」, 『전자공학회지』, 제 23 권, 제 3 호, 1997, pp.280 ~ 289

4. T. Winograd, Understanding (san Francisco : Freeman, 1982).

6. M. Minsky, The society of Mind, New York : Simon & Schuster, 1985.

7. G. M. Edelman, Neural Darwinism : The Theory of Neuronal Group Selection  (New York : Basic book, 1987).

8. 강훈, 「Cellular automata」, 『전자공학회지』, 제 23 권, 제 3 호, 1997, pp. 290 ~ 301

9. D. G. Green, "Cellular Automata," http://www.csu.edu.au/complex_system/tutorial1.html, 1993.

10. D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning (Addison-Wesley Publishing Company, 1989).

11. 이승익 · 조성배, 「행동기반 로봇의 퍼지 제어기 셀계를 위한 진화형 접근 방식」『정보과학회 논문지』(B) , 제24권, 제12호, 1997, pp. 1400 ~ 1407.

12. D. Floreano and F. Mondada, "Evolution of Homing Navigation in a Real Mobile Robot," IEEE Trans. System, Man, and Cybernatics, Vol. 26, No. 3, June, 1996, pp 396 ~ 407.

13. P. Nordin and W. Banzhaf, "Real Time Control of a Khepera Robot Using Genetic Programming," Cybernetics and Control, Vol. 26, no. 3, 1997, pp. 533~ 561

14. O. Michel, Khepera Simulator Version 1.0 User Manua, 1995.

15. M. J. Mataric, "Designing and Understanding Adaptive Group Behavior," Adaptive Behavior, Vol. 4, No. 1, 1995, pp. 51 ~ 80.

16. W. Banzhaf, P. Nordin and m. Olmer, "Generating Adaptive Behavior Using Function Regression within Genetic Programming and  a Real Robot," Int. Conf. on Genetic Programming, 1997, pp. 35 ~ 43

17. T. Tyrrell, "An Evaluation of Maes' s Bottom-up Mechanism for Behavior Selection," Adaptive Behavior, Vol. 2, 1994, pp. 307 ~ 348.

18. S. -B. Cho, "Thalamocortical Aspects of Consciousness from the perspective of an Engineer," http://www.phil.vt.edu/assc/newman/cho.html.

19. T. Toffoli and N. Margolus, Cellular automata machines : A New Environment for Modeling (Cambridge : Massachusetts, The MIT Press, 1987).