셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에...

61
셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 관한 연구 연세대학교 대학원 컴퓨터과학과

Upload: others

Post on 03-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

셀룰라 오토마타 기반의 진화형

신경망을 이용한 이동로봇

제어에 관한 연구

연세대학교 대학원

컴퓨터과학과

송 금 범

Page 2: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

셀룰라 오토마타 기반의 진화형

신경망을 이용한 이동로봇

제어에 관한 연구

지도 조 성 배 교수

이 논문을 석사 학위논문으로 제출함

1999년 12월 일

연세대학교 대학원

컴퓨터과학과

송 금 범

Page 3: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

송금범의 석사 학위논문을 인준함

심사위원 인

심사위원 인

심사위원 인

연세대학교 대학원

1999년 12월 일

Page 4: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

감사의 글

졸업을 앞두고 있는 지금, 선택의 기로에 서 있을 때마다 제가 어떤 선택을 했었

는지 다시금 되짚어봅니다. 그때 그런 선택을 하지 않았으면 지금은 어떤 모습일까,

그때의 선택에 후회는 없나, 24년 남짓 살아온 동안을 정리해봅니다. 아쉬웠던 일,

즐거웠던 일, 고민했던 일, 감추고 싶었던 일, 안타까워했고 화가 났었던 일들을 생

각합니다. 그 중에서도 2년간의 대학원 생활은 제게 잊을 수 없는 경험을 주었습니

다. 먼저, 지금까지 대학원 석사 과정을 지내면서 아낌없는 배려와 가르침으로 많은

길을 제시해주시고 저의 논문을 지도해주신 조 성배 교수님께 깊은 감사를 드립니

다. 그리고 깊은 학문적 조예와 사랑으로 논문을 지도해주신 양 성봉, 변 혜란 교수

님께 감사의 마음을 전합니다. 그 이외에도 연구실 최고참 승익이형, 짧은 만남이었

지만 많은 도움을 준 동협이형, 좀더 깊은 학문의 세계로 뛰어든 연규형, 지금 회사

에서 열심히 일하고 있을 주영이 누나, 같이 졸업하는 학균이형, 학부 동기인 지행

이, 준현이, 현돈이, 그리고 종호형, 희수, 그리고 제가 맞은 마지막 신입생인 수영이

누나, 윤경이 많은 시간을 함께 동행해온 연구실의 모든 동료들에게 고마움을 전합

니다. 우리 연구실 이외에도 같은 인공지능 분야에서 연구를 수행하면 친해진 사람

들, 각자 다른 곳에서 자기 몫을 다하고 있을 친구들, 저에게 적지 않은 도움을 준

이 모든 사람들에게도 또한 감사의 마음을 전하고싶습니다.

저는 이제 또 다른 인생의 선택의 순간을 맞이하였습니다. 언제나 후회 없는 선택이

기를 바라며 새로운 목표를 향해 출발하고자 합니다.

- 20세기의 마지막을 앞에 두고

Page 5: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

차 례

국문요약 ⅵ

제 1 장 서 론 1

제 2 장 관련연구 3

2.1. 행동기반 이동로봇: Khepera 3

2.2. 이동로봇 제어기의 진화 4

2.3. 셀룰라 오토마타 5

제 3 장 셀룰라 오토 마타 기반의 진화형 신 경망 8

3.1. 신경망의 구조 결정 10

3.1.1. 신경망의 성장 규칙 10

3.1.2. 신경망의 성장과정 12

3.2. 신경망의 신호전달 14

3.2.1. 신경망의 신호전달 규칙 14

3.2.2. 신경망의 신호전달 과정 15

3.3. 신경망의 진화 17

제 4 장 이동로봇 제 어에의 응용 18

4.1. 방법 18

4.2. 실험결과 및 분석 20

i

Page 6: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 5 장 점증적 진화 26

5.1 방법 27

5.2 실험결과 및 분석 31

제 6 장 다중모듈 의 결합 35

6.1. 방법 35

6.2. 실험결과 및 분석 38

제 7 장 결론 및 향후 연구 과제 4 3

참고문헌 45

A B S T RA CT 4 9

ii

Page 7: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 차례

그림 1. Khepera 로봇 및 시뮬레이터 3

그림 2. 셀과 그 이웃의 예들 6

그림 3. 표 1의 규칙들을 적용했을 때 시간에 따른 각각의 셀들의 상태 변화 7

그림 4. 셀룰라 오토마타 기반 신경망의 진화 과정 9

그림 5. 염색체에서 하나의 세그먼트가 갖고 있는 정보 10

그림 6. 신경망이 성장하는 과정 13

그림 7. 신호전달 과정 16

그림 8. 시뮬레이션 환경 19

그림 9. 세대에 따른 적합도의 변화 20

그림 10. 성공한 로봇이 움직인 경로 21

그림 11. 뉴런들의 연결구조 22

그림 12. 입력과 출력의 직접 연결 22

그림 13. 장애물 피하기 23

그림 14. 그림 13 (a )에서 1부터 250 단계까지 각 뉴런의 활성화 값과 실제 바퀴속

도의 변화 24

그림 15. 그림 13 (b )에서 251부터 500 단계까지 각 뉴런의 활성화 값과 실제 바퀴

속도의 변화 25

그림 16. 셀룰라 오토마타 기반 신경망의 점증적 진화과정 27

그림 17. 점증적 진화방법을 위한 시뮬레이션 환경 및 성공한 로봇의 경로 28

그림 18. α=0.5일 때의 코오시 확률분포에 의한 돌연변이의 수 29

그림 19. 점증적 진화방법을 사용하지 않았을 때의 적합도 변화 31

그림 20. 수동방법에서의 적합도 변화 31

그림 21. 각 단계에서의 신경망 구조의 변화 32

그림 22. 최대 개체수를 10개로 제한한 실험의 적합도 변화 32

그림 23. 최대 개체수를 20개로 제한한 실험의 적합도 변화 33

iii

Page 8: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 24. 성공한 로봇의 신경망 구조 33

그림 25. 성공한 개체를 다른 환경에 적용한 결과 34

그림 26. 다중모듈 결합방법을 위한 시뮬레이션 환경 36

그림 27. 아무 것도 없을 때 직진하는 행동 38

그림 28. 세대에 따른 최대 적합도 변화 39

그림 29. 세대에 따른 평균 적합도의 변화 40

그림 30. 성공한 로봇의 경로 40

그림 31. 다양한 형태의 장애물 피하기 41

그림 32. 다중모듈 결합방법의 시뮬레이션 결과 42

iv

Page 9: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

표 차례

표 1. 규칙들의 예 6

표 2. 환경 변수 19

v

Page 10: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

국문요약

자율이동로봇의 센서- 모터 제어기를 구축하는데 있어 로봇의 기계적인 부분과

제어기 부분을 조화시키는 것이나 외부환경과 로봇의 상호작용을 처리하는 것 등

이 가장 큰 문제점이다. 이러한 문제점들을 해결하기 위해서 신경망을 유전자 알

고리즘으로 진화시키거나, 유전자 프로그래밍을 이용하거나, 퍼지 제어기와 유전자

알고리즘을 결합하는 등의 진화적 접근방법이 연구중이다. 진화적인 접근방법은

명확한 설계를 하지 않고도 좋은 성능을 갖는 제어기를 만들어낼 수 있는 가능성

을 갖고 있다. 특히 신경망은 다양한 방법으로 학습이 가능하고, 로봇과 외부환경

과의 상호작용으로 발생하는 잡음에 강하기 때문에 이를 유전자 알고리즘으로 진

화시키는 방법을 많이 이용한다.

본 논문에서는 이러한 연구선상에서 셀룰라 오토마타 기반 신경망인 CAM -

Brain을 이동로봇 제어기로 진화시켰다. 이 모델은 뉴런과 축색돌기 및 수상돌기

로 이루어진 신경망을 셀룰라 오토마타 상에서 만들어낸다. 셀룰라 오토마타는 마

치 우리의 두뇌가 수억개의 간단한 신경 세포들이 서로 연결되어 만들어져 있듯

이, 간단한 규칙들로 복잡한 구조와 기능을 표현할 수 있다. 이러한 특성은 셀룰라

오토마타가 간단한 규칙들에 기반하여 복잡한 신경망을 개발할 수 있는 플랫폼이

될 수 있는 가능성을 보여준다. 게다가, 셀룰라 오토마타의 병렬성은 대규모의 신

경망을 병렬하드웨어에서 빠르게 만들어 낼 수 있도록 한다.

그러나, 제어기를 전통적인 진화방식으로 구축할 때, 제어기가 진화환경에 제한

되거나, 복잡한 문제를 해결하지 못하는 문제점등이 발생할 수 있다. 이러한 문제

점을 해결하기 위한 방법으로 점증적 진화방법과 다중모듈의 결합방법을 제안한

다. 점증적 진화방법은 복잡한 문제를 해결하기 위해 하나의 문제를 쉬운 여러개

의 문제로 나눈 후, 쉬운 문제를 해결한 후 어려운 문제들을 해결하도록 하여 원

하는 문제를 해결하는 것이다. 실험결과 진화의 효율성을 높일 수 있는 방법으로

서의 가능성을 볼 수 있었다. 다중모듈의 결합방법은 하위수준의 기본 행동들을

하도록 진화된 모듈들을 결합함으로써 상위수준의 행동을 하는 방법이다. 실험결

v i

Page 11: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

과 셀룰라 오토마타 기반 신경망 모듈들의 결합을 통해 보다 높은 수준의 행동을

가능하게 함을 알 수 있었다.

핵심되는 말: 이동로봇 제어, CAM - Brain , 셀룰라 오토마타, 신경망, 유전자 알고

리즘, 점증적 진화, 다중모듈 결합

v ii

Page 12: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 1 장 서 론

자율이동로봇의 센서- 모터 제어기를 구축하는데 있어 몇 가지 문제점들이 있

는데, 로봇의 기계적인 부분과 제어기 부분을 조화시키는 것이나 외부환경과 로봇

의 상호작용을 처리하는 것 등 그것이다[Nolf94, H arv93]. 이러한 문제점들을 해결

하기 위해서 이동로봇의 제어기를 진화방식으로 구축하는 연구들이 진행중이다.

대표적인 것으로는 신경망을 유전자 알고리즘으로 진화시키거나, 유전자 프로그래

밍을 이용하거나, 퍼지 제어기와 유전자 알고리즘을 결합하는 방법이 있다. 이러한

진화적인 접근방법은 명확한 설계를 하지 않고도 좋은 성능을 갖는 제어기를 만

들어낼 수 있는 가능성을 갖고 있는데, 특히 신경망은 다양한 방법으로 학습이 가

능하고, 로봇과 외부환경과의 상호작용으로 발생하는 잡음에 강하기 때문에 신경

망을 진화시키는 접근방법이 가장 유용하리라 예상된다[Nolf94].

본 논문에서는 이러한 연구선상에서 셀룰라 오토마타 기반 신경망인 CAM -

Brain [Gari96, Gari99, Ger s96a , Ger s96b , Ger s97, Kork97, N aw a98]을 이동로봇 제

어기로 진화시켰다. 이 모델은 뉴런과 축색돌기 및 수상돌기로 이루어진 신경망을

셀룰라 오토마타 상에서 만들어낸다. 셀룰라 오토마타는 마치 우리의 두뇌가 수억

개의 간단한 신경 세포들이 서로 연결되어 만들어져 있듯이, 간단한 규칙들로 복

잡한 구조와 기능을 표현할 수 있다. 이러한 특성은 셀룰라 오토마타가 간단한 규

칙들에 기반하여 복잡한 신경망을 개발할 수 있는 플랫폼 (plat form )이 될 수 있는

가능성을 보여준다. 게다가, 셀룰라 오토마타의 병렬성은 대규모의 신경망을 병렬

하드웨어에서 빠르게 만들어 낼 수 있도록 한다[Gari96, Gari99, Ger s96a , Ger s96b ,

Ger s97, Kork97, N aw a98].

그러나, 이동로봇 제어기를 전통적인 진화방식으로 구축할 때, 제어기가 진화환

경에 제한되거나, 복잡한 문제를 해결하지 못하는 문제점등이 발생할 수 있다. 이

것은 기본적으로 이러한 방법이 지역적인 센서값에 의존해 좋은 행동을 찾아내는

반응 시스템 (React iv e sy st em )이기 때문이다. 즉, 로봇이 전체 환경에서 일정한 영

역의 센서값에 반응하여 행동을 결정하고, 이 행동에 따라 새로운 환경에서의 센

1

Page 13: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

서값에 따라 행동을 결정하게 된다. 이러한 점은 전체 환경에 맞는 행동을 하도록

하기 어렵다.

이러한 문제점을 해결하기 위한 방법으로 점증적 진화방법[Harv94, Clif93a ,

Gom e97, P erk96]과 다중모듈의 결합방법[M ata95, Banz97]을 제안한다. 점증적 진

화방법은 복잡한 문제를 해결하기 위해 하나의 문제를 쉬운 여러개의 문제로 나

눈 후, 쉬운 문제를 해결한 후 어려운 문제들을 해결하도록 하여 원하는 문제를

해결하는 것이며, 다중모듈의 결합방법은 하위수준의 기본 행동들을 하도록 진화

된 모듈들을 결합함으로써 상위수준의 행동을 하는 방법이다.

본 논문은 다음과 같이 구성되어 있다. 먼저 2장에서는 본 논문에서 사용한 행

동기반 이동로봇인 Kh epera와 이동로봇 제어에 관한 관련연구들 및 배경이 되는

셀룰라 오토마타에 대해서 살펴보고, 3장에서는 셀룰라 오토마타 기반의 진화형

신경망 (CAM - Brain )에 대해 자세히 알아보고자 한다. 4장에서는 셀룰라 오토마타

기반의 진화형 신경망을 이동로봇 제어에 적용한 방법을 5장과 6장에서는 4장에

서 나타난 문제점을 해결하기 위한 점증적 진화방법과 다중모듈의 결합방법 및

실험결과를 보여주고, 마지막으로 결론 및 향후 연구과제에 대해서 언급하겠다.

2

Page 14: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 2 장 관련연구

2 .1 . 행동기반 이동로봇 : K h epera

Kh epera [이승익97, F lor96, Mich95, N olf94, Nord97]는 이동로봇의 제어에 많이

쓰이고 있는 로봇으로, 그림 1과 같이 주변 장애물과의 거리를 감지할 수 있는8개

의 적외선 감지 센서를 몸체의 전, 후, 좌, 우에 갖고 있으며, 이와 쌍을 이루어 빛

을 감지할 수 있는 8개의 감지 센서를 장착하고 있다. 또한 두 개의 바퀴가 있어

어느 방향으로나 이동이 가능하다. Kh epera 시뮬레이터는 실제 로봇의 행동을 제

어할 수 있도록 설계된 것으로 이를 사용하여 얻은 제어기는 실제 로봇에 쉽게

장착할 수 있도록 설계되었다[Mich95].

이 시뮬레이터는 0∼1023까지의 값을 거리 감지 센서로부터 얻을 수 있으며,

거리 감지 센서의 값이 0인 경우는 아무런 장애물도 감지되지 않은 상태를 의미

하고, 값이 1023인 경우는 장애물이 아주 가까이 있다는 것을 의미한다. 그 사이의

값들은 감지 센서와 장애물 사이의 거리에 대한 정보를 제공한다. 거리감지 센서

와 한 쌍으로 되어 있는 빛 감지 센서는 50∼500까지의 밝기를 감지할 수 있으며

센서값이 50인 경우는 광원에 아주 가까이 있는 경우이다[Mich95].

a ) (b )

그림 1. Khepera 로봇 및 시뮬레이터. (a ) Khepera 로봇. (b ) 센서들의 위치.

3

Page 15: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

2 .2 . 이동로봇 제어기의 진화

이동로봇 제어기를 설계하는데 있어 크게 두 가지의 어려운 점이 있다. 첫째는

로봇의 기계적인 부분과 제어 시스템 사이의 상호작용을 미리 예측할 수 없기 때

문에 두 부분을 조절하는 것이 어렵다는 것이다. 다른 하나는 이동로봇이 외부의

환경과 동적으로 상호작용하기 때문에 적절한 행동을 하도록 제어 시스템을 구축

하기 어렵다는 것이다. 이것은 이전단계에서 움직인 결과에 따라 다음단계의 입력

이 결정되고[Nolf94], 외부환경과의 모든 상호작용을 모두 예측할 수 없기 때문이

다[Harv 93]. 이러한 문제들을 해결하기 위한 방법으로 진화 연산과 같은 자동절차

방법은 내부구조에 대한 자세한 사전지식이 없어도 입 출력 구조만 알면 좋은

성능을 갖는 제어기를 구축할 수 있어 상당히 유용하리라 예상된다[Nolf94]. 따라

서, 이러한 진화방식을 이용한 이동로봇의 제어기 구축에 관한 연구가 최근 활발

히 진행되고 있다.

신경망을 유전자 알고리즘으로 진화시키는 방법은 진화적인 접근방법 중에서

도 유용한 방법이다. Cliff와 Hu sban ds및 H arv ey [Clif93a , Clif93b , Harv 94]는 이러

한 방향으로 깊이 있는 연구를 수행하였다. 그들은 이동로봇 제어기를 구축하는데

있어 인공적인 진화방법이 직접 설계하는 것 보다 더 가능성이 있다고 주장하며,

유전자 알고리즘을 이용하여 재귀 신경망을 간단하지 않은 행동을 할 수 있는 제

어기로 진화시켰다. 또한 시뮬레이션을 통해서 시각기능을 갖는 로봇의 제어기와

시각 감지 조직의 형태를 병행하여 진화시킨 결과를 제시하고 분석하였다.

F lorean o와 M on dada [F lor96]은 실제 로봇의 제어기를 재귀 신경망으로 구축하였

다. 그들의 목표는 적합도 평가 함수에 포함된 제한조건을 줄이고, 환경의 제공하

는 것을 증가시켜 복잡한 행동을 만들어 낼 수 있다는 것을 보여주는 것이다. 이

를 위해 실제 환경에서 유전자 알고리즘을 이용하여 벽과 충돌하지 않고 주어진

환경을 탐색할 수 있는 로봇의 제어기와, 간단한 적합도 평가함수를 이용하여 배

터리 충전행동을 하는 제어기를 구축하였다. W alker와 Min glin o [W alk99]는 시뮬

레이션 환경에서 Khepera 로봇을 효율적으로 탐험할 수 있도록 인공신경망을 진

4

Page 16: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

화시키는데 있어 유전자 알고리즘이 유용함을 보였다.

Koza [Koza92a]가 처음으로 제안한 유전자 프로그래밍 역시 이동로봇 제어기를

진화시키는데 많이 사용되는 방법중 하나이다. Koza와 Rice[Koza92b ]는 유전자

알고리즘으로 자동적으로 생성된 컴퓨터 프로그램이 이동로봇으로 하여금 불규칙

적인 모양의 방안에서 상자를 벽으로 이동시키는 작업을 수행할 수 있음을 보였

다. Ebn er [Ebn e98, Ebne99]등은 대형 이동로봇의 간단한 이동을 위해 계층적인 구

조를 갖는 제어기를 유전자 프로그래밍으로 진화시키고자 하였다. 이를 위해 먼저

컴퓨터 시뮬레이션을 통해 행동기반의 제어기 구조를 진화시켰으며, 그 후 실제

로봇에 적용하였다. Nordin과 Ban zhaf [Nord97, Nord98]등은 적외선 센서를 이용하

는 Khepera 로봇의 제어 알고리즘을 유전자 프로그래밍으로 진화시켰다. 제어 알

고리즘은 어셈블리 프로그램형태로 다양한 길이의 염색체에 저장되어 있으며, 특

히 그들은 실시간 온라인 학습을 위한 일반적인 방법을 보여주었다.

이 승익과 조 성배[이승익97]는 퍼지[Zade65] 논리 제어기를 이동로봇의 제어

기로 진화시켰다. 퍼지 논리 제어기의 파라미터들과, 퍼지 집합과 규칙들을 유전자

코드로 표현하고 유전자 알고리즘으로 진화시켰다. 또한, 몇 개의 기본 규칙들로부

터 로봇의 행동들이 발생되었음을 보여주기 위해 진화된 제어 메커니즘을 분석하

였다.

2 .3 . 셀룰라 오토마타

셀룰라 오토마타[강훈97, Gree93, Guto91, T off87]는 자연의 현상을 계산의 형

태로 나타내고자 하는 것으로 객체를 상호작용하는 오토마타인 셀들 (각 셀은 나름

대로의 규칙을 갖는다)의 집단으로 보고 이 셀들 사이의 상호작용을 나타내는 것

이다. 즉, 셀룰라 오토마타는 동일하게 프로그램된 오토마타, 또는 서로 상호작용

하는 셀의 배열이라고 할 수 있다. 이러한 배열들은 보통 1- D, 2- D, 3- D의 형태

를 갖지만 대부분의 경우 셀들은 간단한 사각형의 격자형태로써 정렬된다. 셀룰라

오토마타는 다음과 같은 몇 가지의 필수적인 특징을 갖는다.

5

Page 17: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

n C nn

n C nn

n n nn C nn n n

n n n nn C n n n n

n n n n

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

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

상태, Cnew : 새로운 셀의 상태.

L C R Cn ew0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 11 1 0 01 1 1 0

상태: 각각의 셀을 구분하는 변수로서 수 또는 성질을 말하며, 어떤 일정한

시간에 유한한 상태들 중에서 하나의 상태를 갖는다.

이웃: 상호작용을 일으키는 셀들의 집합을 말하는데 격자 모양의 셀의 집합

에서는 보통 가장 근접한 셀들이 그 집합에 속하게 된다. 그림 2는 한

셀에 대한 이웃의 예를 보여준다.

프로그램 / 규칙 : 셀의 현재 상태와 그 셀의 이웃 상태에 따라 해당 셀의

다음의 상태를 결정하는 규칙들의 집합이다[강훈97,Gree93].

실제 셀룰라 오토마타를 적용시켜 하나의 패턴이 어떤 식으로 변하는지 보자.

각각의 셀의 상태는 0 또는 1의 값을 갖고, 이웃은 양옆의 인접한 셀로 정한다. 그

리고 적용될 규칙들의 집합은 표 1과 같다. 그림 3은 가운데 한 셀의 상태가 1로

초기화된 상태에서 시간에 따른 상태 변화를 보여준다. 여기서 1로 표시된 셀은

그 셀의 상태가 1 , 빈 셀은 그 셀의 상태가 0 의 값을 가짐을 나타낸다. 셀룰라

6

Page 18: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

오토마타는 또한 자기 조직화, 생물과 비슷한 행동, 열적 특성 등의 특징을 갖는다

[강훈96, Gree93].

T im e 0 1

T im e 1 1 1 1

T im e 2 1 1

T im e 3 1 1 1 1 1 1

T im e 4 1 1 1

T im e 5 1 1 1 1 1 1 1 1 1

T im e 6 1 1 1 1

그림 3. 표 1의 규칙들을 적용했을 때 시간에 따른 각각의 셀들의 상태 변화. 빈

셀: 셀의 상태가 0 , 1: 셀의 상태가 1 .

7

Page 19: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 3 장 셀룰라 오토마타 기반의 진화형 신경망

셀룰라 오토마타 기반의 진화형 신경망인 CAM - Brain의 기본 목표는 대규모의

뉴런으로 구성된 인공두뇌를 개발하는 것으로, 이 시스템은 셀룰라 오토마타에 기

반을 두어 뉴런들의 성장과 그들간의 신호전달을 조절한다. 특히 셀룰라 오토마타

의 특성상 병렬 하드웨어에서의 처리가 가능하기 때문에 엄청나게 빠른 속도로

진화시키는 것이 가능한데, 대표적인 것이 AT R 연구소와 MIT 의 CBM (CA M -

Brain M achin e)이다.

CBM은 F P GA (F ield Program m able Gat e Array )에 기반한 프로그램이 가능하

도록 한 논리 디바이스로, 셀룰라 오토마타에 기반한 신경망 모듈을 전자의 속도

로 성장·진화시키고 수만개의 모듈로 이루어진 인공두뇌의 상태를 실시간에 변

경시킬 수 있다[Gari99]. 이러한 CBM은 수백개의 뉴런으로 이루어진 기존의 신경

망에 비해 엄청나게 많은 뉴런으로 이루어진 신경망을 매우 빠른 속도로 개발할

수 있게 한다.

CBM을 실제문제에 적용하기 위한 연구는 아직 부족한데, 두 개의 이진수를

입력받아 크기를 비교하는 비교기 (Comparat or )와, 일정한 클락 (Clock )수만큼 0과

1을 내보내는 타이머 (T im er ), 사인 (Sin e)곡선을 만들어내는 등의 시뮬레이션 결과

가 있다[Naw a98]. 최근에는 CBM을 인공두뇌 개발의 가능성을 보이기 위해

Robokon eko"라고 불리는 애완용 로봇고양이를 제어하는 문제에 적용하는 연구를

수행하고있다[Gari99].

이 신경망은 간단한 규칙들의 결합으로 복잡한 현상을 표현할 수 있는 셀룰라

오토마타의 장점을 이용한 모델로, 셀룰라 오토마타의 구성요소에 신경망의 구조

를 결정하는 염색체를 적용시켜 하나의 신경망을 만들어낸다[Gari96, Ger s97]. 이

러한 방법은 몇 개 규칙들의 조합으로 복잡한 신경망을 만들어 낼 수 있도록 한

다. 즉, 셀룰라 오토마타 공간에서 염색체로 표현된 신경망의 구조가 유전자 알고

리즘을 통해서 진화되어 최적의 구조를 찾아 낼 수 있다. 그림 4는 이러한 과정을

순서도의 형태로 보여주고 있다.

8

Page 20: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 4. 셀룰라 오토마타 기반 신경망의 진화 과정.

이 모델은 셀룰라 오토마타의 상태, 주변, 규칙과 각 셀에 대응되는 염색체의

정보에 따라 여백, 뉴런, 축색돌기, 수상돌기로 이루어진 신경망을 만들어낸다. 이

때 각 셀은 그 상태에 따라 다음과 같은 역할을 한다.

여백 : 셀의 상태가 여백이면 빈 공간을 나타내며, 어떤 신호도 이 셀을 통

과할 수 없다.

뉴런 : 이 셀은 주위의 수상돌기 셀로부터 신호를 모으고 그 값이 어떤 역치

값에 도달하면 주위의 축색돌기 셀로 신호를 보낸다.

축색돌기 : 뉴런 셀로부터 받은 신호를 주위로 전달한다.

수상돌기 : 주위의 셀로부터 신호를 수집하여 뉴런으로 보낸다.

셀룰라 오토마타 공간에서 하나의 셀과 상호 작용을 일으키는 주변의 셀은 2

차원 공간에서는 동, 서, 남, 북 4방향의 인접한 셀이 되고, 3차원일 때는 위와 아

래를 추가하여 6방향의 인접한 셀이 된다. 각 셀은 자신과, 주변의 상태, 그리고

대응되는 염색체의 정보에 따라 자신의 상태가 결정되고, 주변 셀의 상태를 변화

시키는 규칙이 결정된다. 이때 염색체의 정보는 셀룰라 오토마타 공간내의 모든

셀들의 상태를 결정하는 역할을 하여 하나의 신경망 구조를 결정한다.

9

Page 21: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

3 .1 . 신경망의 구조 결정

앞에서도 언급했듯이 하나의 신경망은 뉴런과 축색돌기, 수상돌기로 이루어져

있다. 수상돌기는 신호를 수집하여 뉴런으로 보내고, 뉴런은 축색돌기로 축색돌기

는 다시 주변으로 신호를 전달하여 뉴런들 사이에 신호전달이 이루어지며, 모든

수상돌기와 축색돌기는 뉴런에 종속되어 있다. 따라서, 여백으로 초기화된 셀룰라

오토마타 공간에서 먼저 뉴런들을 만든 다음, 각 뉴런에 종속된 축색돌기와 수상

돌기를 만들어야 한다. 단순히 셀룰라 오토마타의 규칙을 이용해서는 의도대로 신

경망을 만들어 낼 수 없기 때문에 여기에 염색체 정보를 더하여 신경망을 만든다.

그림 5와 같이 염색체는 셀룰라 오토마타 공간의 모든 셀만큼의 세그먼트를 갖고,

하나의 세그먼트는 각 셀에 대한 정보를 갖고 있다.

그림 5. 염색체에서 하나의 세그먼트가 갖고 있는 정보 (NS : N euron S eed, E :

East , W : W est , S : S outh , N : North , T : T op, B : Bot t om ).

3 .1 .1 . 신 경망 의 성 장 규 칙

주어진 셀룰라 오토마타 공간에 신경망을 성장시키는 규칙을 좀더 자세히 알

아보자. 먼저 주어진 공간을 여백상태로 초기화시키고, 적절한 수의 뉴런을 만든

후, 각 뉴런에서 수상돌기와 축색돌기들을 성장시키면 뉴런들의 축색돌기와 수상

돌기가 연결되어 하나의 신경망이 완성될 것이다. 이 과정은 크게 3개의 규칙으로

이루어져 있는데, 뉴런을 만드는 규칙, 뉴런에서 수상돌기와 축색돌기가 만들어지

는 규칙, 수상돌기와 축색돌기로부터 수상돌기와 축색돌기가 만들어지는 규칙이

10

Page 22: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

있다. 여기에서는 일반적인 셀룰라 오토마타와는 달리 한번 상태가 변한 셀은 다

른 상태로 변할 수 없다는 규칙이 있다. 이는 셀룰라 오토마타의 특성상 셀들의

상태가 수렴하지 못하고, 진동할 가능성이 있기 때문에 하나의 신경망이 완성되기

위한 조건이다.

셀룰라 오토마타 공간에서 어떤 셀들이 뉴런이 될 것인가를 결정해야 하는데,

이 역할을 하는 것이 염색체 세그먼트의 NS 비트이다 (그림 5 참조). 각 셀에 대

응하는 NS 비트의 값이 1' 이면 그 셀은 뉴런이 된다. 초기 염색체가 만들어질

때 뉴런의 수가 전체 공간에서 차지하는 비율이 일정부분 이하가 되도록 각 셀의

NS 비트 값을 조정한다.

뉴런이 만들어진 다음에는 이 뉴런으로부터 수상돌기와 축색돌기가 성장하는

규칙이 적용된다. 3차원 공간에서 하나의 뉴런은 모두 6개의 이웃 셀이 존재하며,

각 이웃 셀은 축색돌기 또는 수상돌기가 되는데, 그 결정은 뉴런 셀의 염색체 세

그먼트에 의해 결정된다.

뉴런 셀의 염색체 세그먼트 값 (각 세그먼트는 1 바이트)을 V c 라고 했을 때 D

는 다음과 같이 결정된다.

(1)D = V c M OD 6 : 3차원공간일때

V c M OD 4 : 2차원공간일때

3차원일 때 D 값은 0부터 5까지 모두 6개의 값을 갖고, 이는 어떤 이웃 셀이 축

색돌기가 될 것인가를 결정한다. 즉 D =0 일 때는 뉴런 셀의 동쪽 (D =1 일 때는 서

쪽, D =2 일 때는 남쪽......)에 있는 이웃 셀과 그 반대 방향에 있는 서쪽 셀이 축색

돌기가 된다(이때 반대방향의 셀은 억제성 축색돌기가 된다). 축색돌기가 된 셀들

이외의 셀들은 모두 수상돌기로 변한다. 이렇게 함으로써 뉴런에 종속된 축색돌기

와 수상돌기가 만들어진다.

여백 셀이 축색돌기와 수상돌기로 변하는 기본 규칙은 이웃에 축색돌기가 존

재하면 축색돌기로 변하고, 수상돌기가 존재하면 수상돌기로 변하는 것이다. 그러

나, 이렇게 간단한 규칙은 주위의 모든 여백 셀이 축색돌기 혹은 수상돌기로 변하

11

Page 23: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

게 하기 때문에 많은 수의 축색돌기와 수상돌기가 생긴다. 이는, 자신의 이웃에 축

색돌기와 수상돌기가 모두 존재하는 경우는 물론, 서로 다른 뉴런에서 자란 축색

돌기 혹은 수상돌기가 존재하는 경우에 자신의 셀 상태의 결정을 곤란하게 한다.

따라서, 축색돌기나 수상돌기의 셀의 수가 적절히 유지되도록 하고, 충돌이 일어나

는 경우를 위해 염색체와 새로운 규칙이 추가된다.

기본 규칙을 통해 축색돌기를 이웃에 둔 여백 셀은 기본적으로 축색돌기가 되

지만, 염색체의 정보에 의해 그 규칙이 조절되는데, 염색체 세그먼트의 방향비트가

그 역할을 한다 (그림 5 참조). 이웃에 있는 축색돌기의 방향비트의 값에 따라 자

신이 축색돌기가 될지 결정한다. 만약 축색돌기의 E 비트의 값이 1일 때 동쪽에

(W 비트의 값이 1이면 서쪽, S 비트의 값이 1이면 남쪽......)이웃한 여백 셀이 축

색돌기로 변한다. 물론 충돌이 일어날 경우에는 (두 개 이상의 축색돌기 또는 수

상돌기로부터 영향을 받을 때) 그대로 여백 셀로 남게 한다. 수상돌기 역시 축색

돌기와 같은 규칙을 통해서 성장해 나간다.

3 .1 .2 . 신 경망 의 성 장과 정

앞 절에서는 염색체를 통해 셀의 상태를 결정하는 규칙을 알아보았다. 이 절에

서는 이러한 규칙들이 어떻게 적용되어 셀룰라 오토마타 공간에 뉴런과 축색돌기

및 수상돌기로 이루어진 신경망의 구조를 만들어 낼 수 있는지 살펴보자. 셀룰라

오토마타 공간의 염색체에 의해 결정된 뉴런은 주위의 셀에 영향을 미쳐 여백 셀

이 축색돌기 셀이 되거나 수상돌기 셀이 된다. 이러한 변화는 다시 주위의 셀에

영향을 미쳐 점점 신경망이 성장하게 된다. 이러한 성장 단계의 세부적인 과정은

다음과 같다.

단계 1: 먼저 염색체를 임의로 생성한 후 각 세그먼트의 N S 비트를 0으로 하

여 모든 셀을 여백 상태로 만든다. 그 후 적절한 수의 뉴런을 만들기

위해 주어진 확률로 NS 비트를 1로 하여 셀룰라 오토마타 공간에 뉴

12

Page 24: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

런을 심는다(그림 6 (a ) 참조).

단계 2: 1단계에서 뉴런으로 상태가 변한 셀의 이웃 셀은 앞절의 규칙에 의해

축색돌기나 수상돌기로 그 상태가 변한다 (그림 6 (b ) 참조).

단계 3: 2단계에서 상태가 변한 축색돌기와 수상돌기 셀들의 이웃 셀들은 앞절

의 규칙에 의해 그 상태가 다시 축색돌기 혹은 수상돌기로 변한다.

단계 4: 모든 여백 셀이 3단계와 같은 과정을 되풀이한다. 이러한 과정이 반복

되면서 여백 셀들이 점차 축색돌기나 수상돌기로 그 상태가 변하게 되

고, 상태변화가 더 이상 일어나지 않게 되어 하나의 신경망을 얻을 수

있다(그림 6 (c ) 참조).

(a ) (b ) (c )

그림 6. 신경망이 성장하는 과정. (a ) 규칙 1에 의한 뉴런의 위치 결정, 검은색 화

살표: 염색체에 의해 결정된 신호전달 방향: D =0, 뉴런 셀의 위치: (x 2 , y 2 ). (b ) 규

칙 2에 의해 동쪽과 서쪽에 있는 여백 셀은 축색돌기가 되고, 그 이외의 방향에

셀들은 수상돌기 셀이 됨. (c ) 규칙 3에 의해 셀 상태가 변하면서 신경망이 성장

하는 모습.

그림 6은 4 4 크기의 2차원 셀룰라 오토마타 공간에서 신경망이 성장하는 과

정을 보여준다. 그림 4에서 빗금이 있는 셀은 여백이며, 그 안의 검은색 화살표는

염색체에 의해서 결정된 신호전달 방향이다. 그림 6 (a )는 여백으로 초기화된 공간

에 뉴런을 심는 과정을 보여주고 있는데, 이 경우 뉴런의 위치는 (x 2 ,y 2 )에 있는 셀

이다. 그림 6 (b )는 뉴런 셀의 D 값이 0이므로, 동쪽과 서쪽에 있는 여백 셀은 축색

13

Page 25: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

돌기가 되고, 그 이외의 방향에 셀들은 수상돌기 셀이 된 상태를 보여주고 있다.

그림 6 (c )는 셀 상태가 변하면서 신경망이 성장하는 모습을 보여주고 있다.

하나의 뉴런에서 수상돌기는 신호를 모아 자신이 속한 뉴런에게 보내고, 축색

돌기는 자신이 속한 뉴런에서 받은 신호를 내보낸다. 이를 위해서 신경망의 구조

가 결정될 때 각 셀은 어느 방향의 주변 셀로부터 영향을 받았는지 기억하고 있

어야한다.

3 .2 . 신경망의 신호전달

염색체에 의해 하나의 신경망이 완성된 후 이를 문제에 적용시키기 위해서는

주어진 신경망에 신호를 입력하여 결과를 얻어내야 한다. 이때 입력과 출력은 격

자형 셀룰라 오토마타 공간의 특정한 위치에 있는 셀을 통해 이루어진다. 외부로

부터 신호를 받거나 내보낼 수 있는 것은 뉴런이기 때문에, 원하는 결과를 얻기

위해서는 입력과 출력으로 결정된 셀이 뉴런 상태를 가져야 한다. 그렇지만, 유전

자 알고리즘을 사용하면 입력과 출력 셀의 상태를 인위적으로 뉴런으로 결정하지

않아도, 외부와의 신호전달이 잘 이루어지도록 자연스럽게 결정된다. 입력과 출력

이 정해지면 외부로부터 신호를 받아들이고 내보는데, 그 기본 개념은 실제 생물

의 신경세포의 그것과 같다.

3 .2 .1 . 신 경망 의 신 호전 달 규 칙

여기에서 사용되는 규칙들은 앞에서 설며한 성장규칙과는 다른데, 신경망의 성

장이 멈춘 다음 적용된다. 3차원 공간에서의 이웃은 마찬가지로 동, 서, 남, 북, 위,

아래의 여섯 방향에 인접한 셀이 된다. 뉴런과 축색돌기, 수상돌기, 여백 등의 변

하지 않는 상태들과, 신호를 주고받기 위해 필요한 수가 상태가 되는데 그 규칙은

다음과 같다.

뉴런은 이웃의 수상돌기 셀들의 신호를 받아들여 누적시킨다. 만약 그 값이 일

14

Page 26: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

정한 역치값보다 크면 축색돌기로 신호를 내 보내게 된다. 즉, 뉴런 셀의 상태는

자신에게 종속된 이웃 수상돌기 셀들의 상태의 합이 된다. 이 뉴런 셀의 상태가

어떤 역치값보다 크면 주변의 축색돌기 셀들에게 신호를 보낼 수 있는 상태가 되

고, 셀의 상태 값은 0이 된다.

이웃에 뉴런이 있을 경우에 축색돌기는 이웃의 뉴런 셀의 상태에 영향을 받는

데, 뉴런 셀의 상태가 역치값보다 크고, 자신이 흥분성 축색돌기면 1, 억제성 축색

돌기면 - 1이 된다. 이웃에 축색돌기 셀이 있는 경우에 성장규칙에서 보면 모든 상

태변화는 이웃 셀 중에서 오직 하나의 축색돌기 셀에 영향을 받기 때문에, 축색돌

기 셀은 이웃의 축색돌기 셀에 종속되어 있다. 따라서, 이 셀은 상태는 바로 자신

이 속한 축색돌기의 셀의 상태와 같게 된다.

수상돌기 셀도 마찬가지로 성장규칙에서 보면 모든 상태변화는 이웃 셀 중에

서 오직 하나의 수상돌기나 뉴런 셀에 영향을 받기 때문에, 이웃의 수상돌기 셀이

나 뉴런 셀에 종속되어 있다. 수상돌기 셀은 신호를 수집하는 역할을 하는데 이웃

의 셀들 중에서, 축색돌기 셀과, 자신에게 종속된 수상돌기 셀의 상태 값을 합한

값이 상태가 된다. 이때 수상돌기 셀이 가질 수 있는 값은 - 1에서 2로 그 합이 - 1

보다 작으면 - 1, 2보다 크면 2가 된다.

3 .2 .2 . 신 경망 의 신 호전 달 과 정

앞 절에서의 기본 규칙들이 다음과 같은 과정을 거쳐 각 뉴런들간의 신호 전

달이 일어난다.

단계 1: 입력으로 정해진 셀의 상태가 뉴런이면 외부로부터 신호를 받아 계속

누적시킨다.

단계 2: 뉴런 셀의 누적된 값이 역치값보다 크면 이웃의 흥분성 축색돌기 셀은

상태가 +1이 되고 억제성 축색돌기 셀은 - 1이 되며, 뉴런의 상태는 0

이 된다.

15

Page 27: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 7. 신호전달 과정.

단계 3: 이렇게 신호를 받은(상태가 +1 또는 - 1로 변한) 축색돌기는 자신에게

신호를 보낸 쪽을 제외한 나머지 방향의 인접한 셀에 영향을 미쳐 이

웃 셀들의 상태를 변화시킨다. 이러한 과정이 반복되어 축색돌기는 계

속 인접한 셀로 신호를 보낸다.

단계 4: 이때 다른 뉴런에 종속된 수상돌기 셀들이 축색돌기 셀에 인접해 있으

면, 그 수상돌기 셀은 축색돌기가 보낸 신호를 받아 상태가 변하고, 그

신호가 수상돌기들을 통해 뉴런에까지 전달된다.

단계 5: 4단계에서 수상돌기로부터 신호를 받은 뉴런 셀은 2단계의 과정을 거

쳐 다시 주위의 축색돌기의 상태를 변화시킨다. 이러한 과정이 반복되

면서 입력 뉴런으로 보내진 신호가 이웃 셀들의 상태를 변화시키고,

이렇게 변화된 셀은 다시 다른 뉴런들의 상태를 변화시켜, 결국 출력

뉴런에까지 도달한다.

이러한 과정으로 출력을 얻어 적합도를 계산하는데, 계산하는 방법은 주어진 문제

에 따라 달라진다. 그림 7은 앞에서 설명한 규칙들의 조합으로 뉴런과 축색돌기

16

Page 28: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

및 수상돌기가 형성되었을 때 어떻게 신호가 전달되는지 개념적으로 보여주고 있

다. 여기에서 흥분성 축색돌기로 성장한 셀에게는 흥분신호 (+1)를 보내고 억제성

축색돌기로 성장한 셀에게는 억제신호 ( - 1)를 보낸다. 수상돌기 셀은 주위의 셀에

게서 신호를 수집하여 뉴런으로 보내고, 축색돌기는 뉴런으로부터 받은 신호를 주

위의 셀로 보낸다.

3 .3 . 신경망의 진화

유전자 알고리즘은 생태계에서 자연 선택과 자연 발생의 기계적인 과정에 기

반한 것인데 최적화를 위한 기법의 하나로 사용되고 있다[조성배97]. 일반적으로,

간단한 유전자 알고리즘은 독립적인 개체들의 집단을 생성하고 세 가지의 연산자

(선택, 돌연변이, 교차)를 통해 개체들을 진화시킨다[Gold89]. 선택은 자연 선택의

인공적 형태로의 변환이라 할 수 있는데, 집단에서 주어진 환경에 좀더 적합한 개

체들이 선택되어 다음 세대에까지 살아 남을 수 있다. 교차는 선택된 개체들에서

임의로 두 개체를 선택하여 그 중 일부분을 교환하는 것이다. 돌연변이 연산자는

임의로 선택된 개체의 염색체중 일부분을 바꿔준다.

제시된 모델은 최적의 신경망을 찾기 위해 유전자 알고리즘을 사용하며, 유전

자 연산자는 선택과 돌연변이, 교차를 사용한다. 선택으로는 가장 간단한 방법중의

하나로 전체 집단에서 가장 적합도가 큰 개체부터 반을 선택한 후 이를 복제하여

전체 집단을 만들어 낸다. 교차는 새로운 집단에서 두개의 개체를 선택한 후 일점

교차 방법을 사용하여 두 염색체의 일부분을 교환한다. 이때, 항상 같은 길이의 염

색체 길이를 유지하기 위해서 선택된 두개의 개체는 같은 점에서 교차가 일어난

다. 돌연변이는 염색체의 비트 스트링 중에서 하나의 셀 정보를 담고있는 세그먼

트 단위로 이루어져 신경망의 구조를 변형시킨다. 유전자 연산자를 통해 우수한

개체들로부터 새로운 집단을 생성하고, 이를 다시 신경망으로 만든 후 주어진 문

제에 적용하여 다시 적합도를 결정한다.

17

Page 29: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 4 장 이동로봇 제어에의 응용

이 장에서는 행동기반 이동로봇인 Khepera 로봇을 간단한 문제에 적용한 결과

를 보여주겠다. 셀룰라 오토마타 기반의 신경망을 이동로봇을 제어기로 구축하기

위해서는 몇 단계의 작업이 더 필요하다. 먼저, 성장 단계를 거쳐 구성된 신경망에

이동로봇으로부터 얻은 센서값을 입력하여 신호전달 단계를 통해 출력을 얻어낸

다. 이 출력을 다시 이동로봇으로 보내 로봇을 움직이게 하여 적합도를 계산한다.

적합도와 유전자 연산자를 통해 로봇이 잘 움직일 수 있도록 진화된다.

4 .1 . 방법

주어진 신경망을 로봇의 제어기로 진화시키는데 있어 두 가지의 문제점이 있

다. 하나는, 주어진 신경망이 로봇의 센서 값에 민감하게 반응할 수 없기 때문에

센서 값의 크기에 따라 입력영역의 크기를 다르게 하였다. 다른 하나는 셀룰라 오

토마타의 특성상 실제 입력 셀에 들어온 신호가 출력 셀까지 도달하기까지는 얼

마간의 단계가 필요하다. 이로 인해 실제 신호전달 단계를 필요한 만큼 더 실행하

였다. 이는 로봇이 상황에 따라 적절히 움직이는데 많은 도움을 준다.

구현한 시스템은 C++언어로 프로그램 되었으며, 실험은 Sun Ultr a Sparc에서

실행되었다. Khepera 로봇의 센서들 중에서 빛 감지 센서는 사용하지 않았으며, 8

개의 거리 감지 센서 중에서 앞의 2개 (그림 1(b )의 2번과 3번 위치)와 좌우의 2개

(그림 1(b )의 0번과 5번 위치)의 센서만을 이용하였다. 각각의 센서는 0 ∼ 1023까

지의 값을 받아들이지만, 원활한 신경망의 동작을 위해서 32 ∼ 0의 값을 갖도록

역으로 스케일링하여 사용하였다.

센서값은 정육면체 셀룰라 오토마타공간의 4개 옆면에서 받아들이며, 출력은

정육면체 셀룰라 오토마타 공간의 윗면과 아래 면에 있는 가운데 셀에서 얻는다.

로봇 바퀴의 속도는 - 10에서 10까지 가능하나, 이 실험에서는 신경망의 출력값이

0보다 크면 5, 작으면 - 5, 같으면 0이 되도록 하였다. 먼저 초기에 100개의 염색

18

Page 30: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

체를 임의로 만들어 진화시켜가며 로봇을 구동시켰다. 최대 10000번의 센서 샘플

링 시간동안 수행시키면서 각 개체의 적합도를 계산하였다. 다음의 표 2는 실험에

사용된 환경변수를 보여주고 있다.

표 2. 환경 변수.

셀룰라 오토마타 공간의 크기 5x5x5

집단의 크기 100

뉴런의 비율 5%

교차율 0.3

돌연변이율 0.05

뉴런의 역치값 -16, 15

그림 8. 시뮬레이션 환경.

로봇의 학습에 중요한 적합도 측정은 시작위치 (S )에서 최종위치(F )까지 중심점

(O )에서 얼마나 많은 각도로 움직였나를 갖고 계산했다.

(2)적합도 = S OF2

이런 적합도의 부여는 그림 8의 환경에서 로봇이 시계방향으로 회전하도록 유도

하며, 로봇이 한 바퀴를 회전하면 적합도가 1.0이 되어 움직임을 멈추게 된다. 로

봇이 벽에 충돌하면 움직임을 멈추고 그 위치에서의 적합도가 염색체의 진화에

19

Page 31: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

사용된다. 이러한 방식에서는 어떠한 움직임에 대한 지식(좌회전, 우회전, 충돌 회

피 등)도 들어있지 않으므로 주어진 문제에 대한 신경구조의 적절한 진화 가능성

을 볼 수 있다.

4 .2 . 실험결과 및 분석

그림 9는 세대에 따른 적합도의 변화를 보여주고 있다. 초기의 적합도는 낮지

만 곧 좋은 적합도를 갖는 로봇이 나타나고, 21세대 이후에는 계속 적합도가 1인

로봇이 나타나고 있다. 16세대정도에 갑자기 최고 적합도가 낮아지는데 이는 실제

환경과 비슷하게 하기 위해 시뮬레이터가 센서값과 모터 값에 잡음을 넣는데 그

로 인해 신경망이 잘못된 입력을 받았기 때문이다. 이러한 과정을 반복하면서 잡

음에 약한 개체는 점점 사라지고, 강한 개체들이 더 많이 살아 남는다.

그림 9. 세대에 따른 적합도의 변화.

그림 10은 로봇이 장애물과 충돌하지 않고 한바퀴 회전하여 시작점에 도달하

는 경로를 보여주고 있다. 그림 11은 셀룰라 오토마타 공간에서 만들어진 신경망

에서 각 뉴런의 연결 구조를 보여준다. 그림 11에서 실선은 흥분성 연결, 점선은

20

Page 32: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

억제성 연결을 나타낸다. 모두 12개의 뉴런이 생성되었는데, 이중 8과 11, 12 번은

아무런 역할을 하지 않았다. 2와 10은 출력 뉴런인데 2는 왼쪽, 10은 오른쪽 바퀴

의 속도와 연결되어 있다. 또한 뉴런 3, 4, 5, 6은 입력 뉴런으로 3은 앞쪽 센서, 5

와 6은 왼쪽 센서, 4는 오른쪽 센서에서 입력을 받아들인다.

그림 10. 성공한 로봇이 움직인 경로.

그림 11의 신경망 구조를 좀더 자세히 살펴보면 왼쪽 바퀴의 속도를 내는 2번

뉴런에 직접 영향을 미치는 것은 4번 뉴런으로 오른쪽 센서의 값이다. 또한, 오른

쪽 바퀴의 속도를 내는 10번 뉴런은 5번 뉴런의 왼쪽 센서값과 7번 뉴런의 값에

직접 영향을 받는다. 이중에서도 특히 입력 뉴런인 4번과 5번, 그리고 출력 뉴런인

2번과 10번의 연결은 매우 중요한 역할을 한다. 그림 12는 입력과 출력 뉴런의 직

접 연결을 보여주고 있다. 이와 같은 교차형태의 연결은 실제 동물의 신경구조를

모델링한 Brait enberg의 연구[Brai84]에서도 발견할 수 있는 것으로, 진화 알고리

즘의 타당성을 입증하기 위한 좋은 예라 하겠다.

그림 12와 같은 연결구조는 좌회전과 우회전시 중요한 역할을 한다. 왼쪽에 장

애물이 없어 왼쪽 센서의 값이 크게 되어 왼쪽 센서와 연결된 5번 뉴런의 값이

커지고, 이와 흥분성으로 연결된 10번 뉴런으로 계속 흥분성 신호를 보내게 된다.

결국 10번 뉴런의 값이 0보다 커지게 되어 양수값을 출력한다. 따라서, 오른쪽 바

퀴의 속도가 +5가 된다. 반면에, 오른쪽에 장애물이 있어 오른쪽 센서의 값이 작

아지면 오른쪽 센서와 연결된 4번 뉴런에 계속 작은 값이 들어가게 되어 이와 연

결된 2번 뉴런에게 신호를 전달하지 못한다. 결국 신호를 받지 못한 2번 뉴런은

21

Page 33: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

어떠한 신호도 출력할 수 없어 왼쪽 바퀴의 속도는 0이 된다. 이는 장애물이 없는

왼쪽으로 좌회전을 하도록 한다.

그림 11. 뉴런들의 연결구조. 실선: 흥분성 연결, 점선: 억제성 연결, 입력: 3(앞쪽

센서), 4 (오른쪽 센서), 5와 6 (왼쪽 센서), 2(왼쪽 바퀴의 출력), 10(오른쪽 바퀴의

출력).

그림 12. 입력과 출력의 직접 연결.

우회전 역시 위와 반대의 과정, 즉 왼쪽 센서(5번 뉴런)의 값이 낮아지면, 연결

된 오른쪽 바퀴(10번 뉴런)의 값은 낮아지고, 오른쪽 센서(4번 뉴런)의 값이 높게

22

Page 34: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

되면 연결된 왼쪽 바퀴(2번 뉴런)의 속도가 높아지는 과정을 통해 우회전을 한다.

그림 13(a )는 장애물과의 충돌을 피하기 위해 좌회전하는 모습을 보여주고 있

다. 그림 14는 그림 13 (a )까지의 단계 (1에서 250번째까지의 단계)에서 각 뉴런의

값과, 뉴런 2번과 10번을 통한 실제 바퀴속도를 보여준다. 이 그림을 살펴보면, 약

97단계까지는 직진하는 행동을 하다가 97단계에서부터 200단계까지 좌회전이 이

루어지고 나머지 250단계까지 다시 직진 행동을 한다.

(a ) (b )

그림 13. 장애물 피하기. (a ) 250번째 단계 (좌회전), (b ) 500번째 단계 (우회전).

그림 13 (b )는 로봇이 우회전으로 장애물을 피하는 과정을 보여주고, 그림 15는

각 뉴런의 활성화 값과 바퀴의 속도 변화를 보여주고 있다. 그림 13에서 알 수 있

듯이 초기에는 로봇의 왼쪽과 오른쪽에 장애물이 없기 때문에, 뉴런 4와 5가 높은

활성화 값을 갖고, 뉴런 2와 10에 계속해서 흥분성 신호를 보내어 양수를 출력한

다. 따라서 로봇은 계속 직진을 하고 있다. 약 370단계에 이르러서는 로봇의 오른

쪽에는 장애물이 없어 뉴런 4는 높은 활성화 값을 갖지만, 왼쪽에 가깝게 장애물

이 있기 때문에 뉴런 5는 낮은 활성화 값을 갖는다. 따라서, 뉴런 2는 뉴런 4로부

터 계속 흥분성 신호를 받아 양수를 출력하지만, 그림 15를 보면 뉴런 10의 활성

화 값이 감소하여 음수값이 출력된다. 때문에 오른쪽의 바퀴 속도는 - 5가 된다.

뉴런 10의 활성화 값이 감소하는 것은 두 가지의 원인이 복합적으로 일어나기

때문이다. 하나는 왼쪽 센서가 장애물과 가까이 있기 때문에 뉴런 5로 들어오는

23

Page 35: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

값이 매우 작아 역치값에 미치지 못하므로 뉴런 10으로 흥분성 신호를 보낼 수

없기 때문이다. 다른 하나의 이유는 뉴런 10을 억제시키는 뉴런 7이 흥분하기 때

문이다. 이는 뉴런 7을 억제시키는 뉴런 3이 앞쪽의 장애물로 인해 낮은 활성화

값으로 인해 뉴런 7을 억제할 수 없기 때문이다. 결국 왼쪽 바퀴의 속도는 5가 되

고, 오른쪽 바퀴의 속도는 - 5가 되어 로봇이 우회전을 한다. 이러한 분석을 통해

로봇이 좌회전과 우회전 그리고 직진을 통하여 벽과 충돌하지 않고 잘 움직일 수

있도록 제어기가 진화되었음을 알 수 있다.

그림 14. 그림 13 (a )에서 1부터 250 단계까지 각 뉴런의 활성화 값과 실제 바퀴속

도의 변화.

24

Page 36: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 15. 그림 13 (b )에서 251부터 500 단계까지 각 뉴런의 활성화 값과 실제 바퀴

속도의 변화.

25

Page 37: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 5 장 점증적 진화

넓은 탐색공간에서 적절한 해결점을 찾는 것은 어려운 문제이기 때문에 기존

의 진화 방법은 복잡하고 일반적인 문제를 해결하기 위해서는 많은 시간을 필요

로 한다. 하지만, 해결점을 찾기 위해 복잡한 문제를 좀더 쉬운 문제들로 나누어

탐색공간을 줄이면서 해결한다면 좀더 효율적인 탐색이 가능할 것이다. 즉, 우리가

해결하고자 하는 문제 t가 있을 때, 이 문제를 해결하기 위해 t보다 쉬운 문제 t '

를 만들고, 다시 t '를 해결하기 위해 좀더 쉬운 문제 t"를 만든다. 이제 문제 t를

해결하기 위해서는 먼지 문제 t"를 해결하기 위해 전체집단을 진화시키고, 이 집

단을 다시 좀더 어려운 문제인 t '에서 진화시키고, 마지막으로 문제 t를 해결해 나

가는 방식으로 한다면, 좀더 효율적으로 문제를 해결할 수 있을 것이다.

점증적 진화의 방법을 정리하면, 해결하고자 하는 문제 t가 있을 때, 이를 t에

서 파생된 n개의 문제 {t1 , t2 , t3 , ..., tn }로 나누어 해결한다. 이때 t i 는 0 < i n 인

모든 i 에 대해서 t i +1 보다 쉬운 문제다. 문제 t를 해결하기 위해서는 먼저 집단을

t1 문제에서 진화시킨 후, 다시 t2 문제에서 진화시킨다. 이와 같은 방법으로 결국,

해결하고자 하는 문제인 tn을 해결할 수 있다[Gom e97]. 그림 16은 셀룰라 오토마

타 기반 신경망의 점증적 진화의 과정을 보여주고 있다.

본 논문에서는 점증적 진화의 방법을 이용하여 여러 환경에서 장애물과 충돌

하지 않고 잘 움직일 수 있는 신경망 제어기를 구축하고자 한다. 아무리 복잡한

환경이라도 직진, 우회전, 좌회전 등의 움직임으로 벽과 충돌하지 않고 움직일 수

있기 때문에 본 논문에서는 이러한 기본 행동을 위한 환경에서 점증적으로 진화

시키고, 최종적으로 진화된 신경망을 복잡한 일반적인 환경에 적용하여 그 유용성

을 입증하고자 한다.

26

Page 38: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 16. 셀룰라 오토마타 기반 신경망의 점증적 진화과정.

5 .1 . 방법

기본적인 실험환경은 4장의 실험과 같다. 같은 Kh epera 시뮬레이터를 사용했

으며 센서 입력방법과 출력방법은 동일하다. 다만, 전체 집단을 50개로 하였으며,

좀더 잡음에 강한 안정된 개체를 얻기 위해 하나의 개체에 대해 4번의 실험을 하

였다.

그림 17은 본 연구에서 사용된 점증적 진화를 위한 환경 및 각 단계에서 성공

한 로봇의 경로를 보여주고 있다. 그림 17 (a )는 벽이 없을 때 직진을 유도하는 환

경이고 그림 17b )는 벽이 있을 때 직진을 유도한다. 그림 17 (c)와 (d ) 및 (e )는 우

회전을, 그림 17 (f)와 (g )는 좌회전을 유도하는 환경이라 할 수 있다. 실제 로봇이

움직이는 데 있어 직각으로 굽어진 환경에 잘 적응하지 못하는 경향이 있어 좀더

효율적으로 진화시키기 위해 좌회전과 우회전 환경을 두서너 단계로 나누었다.

27

Page 39: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

(a ) (b ) (c ) (d )

(e ) (f) (g )

그림 17. 점증적 진화방법을 위한 시뮬레이션 환경 및 성공한 로봇의 경로.

각 단계에서 적합도 측정은 로봇의 위치가 목표지점과 거리가 얼마나 가까운

가와 로봇이 직진 행동을 얼마나 많이 하였는가로 측정하였다.

(3)적합도 = ( 50 / D ) * ( 1S

S

i = 0V i )

D : 로봇과 목표지점과의 거리

S : 로봇이 멈출때까지 움직인 횟수

V i = ( i번째 단계에서 바퀴 속도에 따른 값)

이런 적합도 값은 로봇이 벽과 부딪히지 않고 목표지점에 가까이 갈수록, 직진을

할수록, 빨리 목표지점에 도달할 수록 높게 된다. 한 개체의 적합도는 네번의 실험

을 거쳐 평균으로 결정된다.

점증적 진화방법을 이용할 때 한 단계에서 진화가 끝난 후 어떻게 다음 단계

에서 사용할 집단을 만드는가 하는 문제는 중요하다. 가장 쉬운 방법은 성공한 개

체중 적절한 것을 선택하여 전체집단으로 복제하고 돌연변이시켜 새로운 집단을

28

Page 40: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

생성하는 것이다. 그러나, 이러한 수동방법은 이전단계에서 성공한 개체의 좋은 성

질을 그대로 가질 수 있는 반면에 전체 집단이 한 개체에 너무 의존하는 문제점

이 있다.

Gom ez와 Miikkulainen [Gom e97]은 점증적 진화에 유전자 알고리즘의 지역극소

문제를 해결하기 위한 델타코딩[M ath94] 방법을 도입하여 문제를 해결하였다. 본

논문에서는 이러한 방법을 도입, 변형시켜 각 단계에서 성공한 개체를 하나만 선

택하지 않고, 적합도의 크기에 따라 여러개를 선택한 후, 이들로부터 새로운 집단

을 생성하는 자동방법을 제안한다. 새로운 개체를 만들 때는 선택한 개체를 코오

시 확률분포에 따라 돌연변이 횟수를 조정함으로써 공간상에서 염색체들이 적절

히 분포되도록 하였다. 본 논문에서 사용한 코오시 확률분포는 다음과 같다.

(4)f (x) =( 2 + x 2)

여기에서 는 원주율이고, f는 구간안에 50%의 확률로 값을 갖는다. 코오시

확률분포는 가운데에 집중되어 있으면서도 양끝에도 값을 갖고 있기 때문에 공간

상에서 염색체들이 적절한 분포를 갖도록 한다. 즉, 공간상에 최고 적합도를 갖는

근처에 많은 개체를 갖게 하여 좀더 나은 개체를 탐색하도록 하고, 또 약간 벗어

난 곳에서도 분포하도록 하여 개체의 다양성을 더해준다. 그림 18은 식 (4)에서

값이 0.5일 때의 확률분포를 보여주고 있다. 본 실험에서는 그림 18과 같은 확률

분포를 이용하여 돌연변이의 횟수를 결정한다.

그림 18. =0.5일 때의 코오시 확률분포에 의한 돌연변이의 수.

29

돌연변이의 횟수

확률

Page 41: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

5 .2 . 실험결과 및 분석

시뮬레이션 방법은 먼저 직진을 유도하는 환경에서 제어기를 진화시킨 후 성

공한 개체의 염색체를 이용해 새로운 집단을 생성한 후, 직진과 우회전을 필요로

하는 환경에서 진화시킨다. 이 환경에서 성공한 개체는 다시 직진, 우회전, 좌회전

을 필요로 하는 환경에서 진화시킨다. 이러한 방법은 유전자 알고리즘에서 탐색할

공간을 축소시켜 가며 제어기를 만들어 내는 것으로 좀더 효율적인 진화를 이루

어 낼 수 있으리라 기대된다.

한 단계에서 다음단계로 넘어갈 때는 위에서 언급한 수동 및 자동방법으로 새

로운 집단을 생성한다. 그러나, 자동방법에서 이전 단계에서 성공한 개체 중에서

몇 개의 개체를 선택할 것인가의 문제는 여전히 남아있다. 각 단계에서 성공한 개

체의 수는 일정치 않은데 너무 많으면 공간상에서 성공한 개체를 적절히 분포시

켜 가장 좋은 개체를 찾는다는 초기 목적에 맞지 않으므로 최대 수를 10개와 20

개로 제한하였다.

그림 19는 점증적 진화방법을 사용하지 않고, 그림 17 (g )환경에서 진화시켰을

때의 적합도의 변화를 보여주며, 그림 20은 수동방법을 사용했을 경우 적합도의

변화를 보여주고 있다. 특히 그림 21은 수동방법을 사용했을 경우 각 단계에서 신

경망의 구조가 어떻게 변하고 있는지를 보여주고 있다. 그림 21(a )는 그림 17 (a )의

환경, 21(b )는 17 (b )의 환경, 21(c )는 17 (d )의 환경, 21(d )는 17 (g )의 환경에서 진화

가 성공적으로 끝났을 때의 신경망의 구조를 보여주고 있다. 여기에서 그림 17 (c),

(e )와 (f )의 환경은 이전단계에서 진화된 신경망으로 해결 가능하였으며, 각 단계

에서 신경망의 구조가 점점 복잡해짐을 알 수 있다.

그림 22는 자동방법을 사용하고 선택하는 개체의 최대수를 10개로 제한하였을

경우 각 단계별 적합도의 변화를 보여주고 있다. 그림 23은 자동방법을 사용하고

선택하는 개체의 최대수를 20개로 제한하였을 경우 적합도의 변화를 보여주고 있

다. 그림 24는 위의 두 실험에서 성공한 로봇의 신경망의 구조를 보여주고 있다.

30

Page 42: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 19. 점증적 진화방법을 사용하지 않았을 때의 적합도 변화.

그림 20. 수동방법에서의 적합도 변화.

실험결과, 점증적 진화의 방법을 사용하지 않았을 경우 (그림 19 참조) 100세대

가까이 지나도 성공한 개체를 찾을 수 없었지만, 점증적 진화의 방법을 사용하였

을 경우(그림 20과 22 및 23 참조) 성공한 개체를 얻을 수 있었다. 또한 수동방법

(그림 20 참조)보다 자동방법 (그림 22와 23 참조)으로 더 빨리 성공한 개체를 찾

을 수 있었다. 그림 25는 성공적으로 진화된 개체를 좀더 어려운 환경에 적용시켰

을 때의 결과를 보여주고 있다. 본 연구에서 제시된 점증적 진화의 방법으로 생성

된 개체가 직진과 좌회전 및 우회전의 행동이 필요한 환경에서는 어느 정도 적응

성이 있음을 알 수 있다.

31

Page 43: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

(a ) (b )

(c ) (d )

그림 21. 각 단계에서의 신경망 구조의 변화.

그림 22. 최대 개체수를 10개로 제한한 실험의 적합도 변화.

32

Page 44: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 23. 최대 개체수를 20개로 제한한 실험의 적합도 변화.

(a ) (b )

그림 24. 성공한 로봇의 신경망 구조. 실선: 흥분성 연결, 점선: 억제성 연결. (a )

최대 개체수를 10개로 제한한 실험. (b ) 최대 개체수를 20개로 제한한 실험.

33

Page 45: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

(a ) (b )

그림 25. 성공한 개체를 다른 환경에 적용한 결과.

34

Page 46: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 6 장 다중모듈의 결합

앞장의 연구에서는 하나의 모듈로 이루어진 제어기를 생성해내는 방법에 대해

연구하였다. 그러나 하나의 모듈로 구성된 제어기로는 복잡한 행동을 하도록 진화

시키기 어렵다. 이러한 문제를 해결하기 위한 방법으로 간단한 행동을 하는 모듈

들을 결합하는 방법이 있다. 즉, 직진하기, 장애물 회피하기, 물체 찾기, 집

으로 돌아오기, 물체 내려놓기 등의 간단한 행동을 하도록 만들어진 모듈들을

결합함으로써 주어진 환경에서 물체를 찾아 집에 쌓아두어라 는 식의 상위수준의

복잡한 행동을 할 수 있는 제어기를 만들어 낼 수 있다.

이는 복잡한 기계학습 문제를 모듈형 셀룰라 오토마타 기반 신경망의 통합을

통하여 해결하는 방법으로 셀룰라 오토마타 기반의 진화형 신경망들의 결합 방법

연구의 일환인데, 각각 다른 기능을 갖도록 진화된 신경망의 결합으로 적응 행동

을 하는 신경망을 만들어낼 수 있다. 본 논문에서는 하나의 상위수준 행동을 위하

여 4개의 기본행동을 정의하고, 각 행동들을 셀룰라 오토마타 기반 신경망을 이용

하거나 프로그래밍을 이용하여 구축하였다. 그리고, 이러한 기본행동들을 규칙을

기반으로 결합하면 초기에 의도한 상위수준의 행동을 구현할 수 있으리라 기대된

다.

6 .1 . 방법

본 논문에서는 다음과 같은 4개의 기본행동으로 이루어진 모듈들을 결합하여

이동로봇 제어에 적용하였다. 좀더 복잡한 행동을 위해 배터리를 추가하였는데, 이

는 로봇이 움직일 때마다 배터리가 1만큼 감소하도록 시뮬레이션 하였다.

배터리 충전하기: 로봇이 배터리 충전영역에 도착하면 배터리가 충전된다.

직진하기: 주위에 아무 것도 존재하지 않을 경우 직진한다.

빛 따라가기: 빛이 가장 강한 쪽으로 움직인다.

35

Page 47: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 26. 다중모듈 결합방법을 위한 시뮬레이션 환경.

장애물 회피하기: 로봇의 주위에 장애물이 있을 때 장애물을 피한다.

이러한 기본 행동들은 그림 26와 같은 환경에서 계속 움직여나가기 위해 필요

하다. 즉, 주어진 환경에서 살아남기 위해서는 배터리가 방전되기 전에 배터리 충

전 영역에 도착하여 배터리를 충전해야 한다. 이러한 기본행동들은 모두 앞의 실

험과 마찬가지로 Khepera 시뮬레이터에서 수행되었으며, 기본적인 환경변수 역시

유효하다.

모듈들의 결합을 통해 상위 수준의 행동을 만들어내는 것의 타당성은 생물학

의 연구결과에서 엿볼 수 있다[M at a95]. 본 논문에서는 IF - T HEN 규칙을 이용하

여 기본행동들을 결합하였다. 이 방법은 현재 로봇의 센서값을 통해 판단한 상황

에 따라 필요한 모듈을 작동시켜 적절한 행동을 하도록 한다. 본 연구에서 사용한

규칙은 다음과 같다.

IF (배터리 충전 영역)

배터리 충전하기 모듈 실행

36

Page 48: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

ELSE IF (배터리 < ) AND (빛 감지 센서의 최소값 )

IF (거리 감지 센서의 최대값 1)

빛 따라가기 모듈 실행

ELSE

장애물 회피하기 모듈 실행

ELSE IF (거리 감지 센서의 최대값 2 )

직진하기 모듈 실행

ELSE

장애물 회피하기 모듈 실행

이와 같은 규칙은 매우 간단하며 명확하여 각 모듈의 동작과정을 잘 살펴볼 수

있다. 이러한 규칙이 실제로 적용되기 위해서는 다음과 같은 상수들이 결정되어야

한다.

: 배터리 감지 센서의 값이 보다 작으면 배터리 충전필요.

1, 2 : 거리감지 센서의 값이 1 , 2보다 크면 장애물로 인지.

: 빛 감지 센서의 값이 보다 작으면 빛으로 인지.

이러한 상수들의 값에 따라 로봇의 행동이 매우 달라진다. 가령 값이 커지면 배

터리 충전영역의 주변에서만 맴돌고, 그 값이 작아지면 배터리 충전영역에 도달하

기 전에 배터리를 다 소진할 것이다. 또한, 값이 커지면 로봇이 벽과 충돌하는

회수가 늘어나며, 값이 너무 작으면 배터리 충전영역에서 멀리 떨어진 곳에서

는 그 위치를 알 수 없을 것이다.

37

Page 49: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

6 .2 . 실험결과 및 분석

본 실험은 Khepera 시뮬레이터를 수정하여 사용하였으며, 4개의 기본행동을

수행하는 모듈은 2종류가 있다. 배터리 충전하기와 직진하기 모듈은 프로그램을

통해 만들어졌고 나머지 빛 따라가기와 장애물 회피하기 행동은 CAM - Brain 모듈

을 진화시켜 구현하였다.

배터리 충전하기 행동은 신경망을 통해서 만들어지지 않았는데, 이는 이 행동

자체가 매우 간단하기 때문이다. 기본 알고리즘은 배터리 충전영역 (그림 26 참

조)에 에이전트가 도달하면 배터리가 충전되고 그 이외의 지역에서는 배터리가 충

전되지 않는 다는 것이다. 배터리 충전영역인가 아닌가의 판별은 여러 가지가 있

을 수 있지만 여기에서는 거리를 갖고 측정하였다. 그러나, 실제 환경에서는 로봇

의 위치를 좌표로 표시하기 어렵기 때문에 다른 방법을 사용해야 하는데 바닥을

감지할 수 있는 센서를 장착함으로써 해결할 수 있을 것이다[F lor96].

주위에 아무런 장애물이 없을 때 하는 행동으로 무조건 직진을 하도록 만들어

졌다. 이 행동 자체는 매운 간단하기 때문에 신경망을 진화시켜 만들지 않고 단순

히 로봇 바퀴의 속도를 직접 조정하여 만들어 내었다. 그림 27는 완성된 방법을

이용하여 만든 제어기를 로봇에 적용했을 때의 실제 경로를 보여주고 있다.

그림 27. 아무 것도 없을 때 직진하는 행동.

빛 따라가기 행동은 빛이 가장 강한 방향으로 움직이도록 제어기를 진화시켰

다. 빛은 배터리 충전영역이 있는 것을 알려주기 때문에 빛을 따라가는 행동은 매

우 중요한 행동이다. 이를 위해 Khepera 시뮬레이터의 빛 감지 센서의 값을 입력

38

Page 50: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

으로 사용했으며, 적합도는 매우 간단한 방법으로 주었다.

(5)적합도 = S * ( 1 - V) *( c * 목표지점과의거리)

S : 두 바퀴 속력의 평균

V : 두 바퀴 속도의 차

c : 1 (벽과의 충돌이 없을때)

1/ 2 (벽과의 충돌이 있을때)

이러한 적합도는 직진과 빠른 속력 그리고 빛과의 거리가 가까워질수록 그 값이

커진다. 따라서 진화된 제어기는 빛이 강한지점으로 빨리 움직일 수 있을 것이다.

하나의 개체당 로봇의 방향을 달리하면서 4번을 실험하고 그 평균을 적합도로 정

하였다.

그림 28은 각 세대에 따른 최대 적합도의 변화를 그림 29는 적합도의 평균을

보여준다. 그림 30은 완성된 제어기의 경로를 보여주고 있다. 그림 30(a )는 로봇의

방향이 0도일 때 (b )는 90도 일 때 (c )는 180도 일 때 (d )는 270도 일 때 움직이는

로봇의 경로를 보여주고 있다.

그림 28. 세대에 따른 최대 적합도 변화.

39

Page 51: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

그림 29. 세대에 따른 평균 적합도의 변화.

(a ) 0도 방향 (b ) 90도 방향

(c) 180도 방향 (d) 270도 방향

그림 30. 성공한 로봇의 경로.

40

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41

Page 52: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

장애물이 나타났을 때 그 장애물을 피하는 행동은 매우 어렵고 복잡한 행동이

다. 이러한 행동을 만들어 내기 위해서 점증적 진화의 방법을 사용하였다. 이러한

방법을 통하면 좀더 효율적이고, 일반적인 제어기를 만들 수 있다. 이는 앞의 점증

적 진화에서 그 가능성을 보여 주었는데 장애물 회피하기 행동을 만들기 위하여

이 결과를 이용하였다. 그림 31은 진화된 제어기가 어떻게 다양한 형태의 장애물

을 피하는 것을 보여준다.

(a ) (b ) (c )

그림 31. 다양한 형태의 장애물 피하기.

결합은 IF - T HEN 규칙을 이용하였다. 위에서 설명한 알고리즘을 이용하여 4개

의 기본 행동들을 결합함으로써 좀더 복잡한 행동을 만들어 낼 수 있다. 우선 로

봇으로부터 센서값을 받아 어떤 모듈을 선택할 것인가를 앞 절의 알고리즘에 의

해 결정한다. 선택된 기본행동이 실행된 후 다시 센서값을 받아 어떤 행동이 선택

될 것인가를 결정한다. 이러한 과정이 반복되면서 로봇이 움직인다.

그림 31은 주어진 환경에서 로봇이 움직이는 경로를 보여주고 있다. 시작 위치

에 따라 로봇이 움직이는 경로가 다르고, 능력 역시 다르다. 배터리는 로봇이 한번

움직일 때마다 1씩 줄고, 한번 충전하면 배터리는 2500이 된다. 따라서 약 2500번

로봇이 움직일 수 있다. 는 최대 배터리 양의 2/ 3, 1은 200, 2는 250으로 정하

였다. 그림 32의 (a ), (b ), (c )는 로봇의 위치를 여러 가지로 변화시켰을 때 로봇의

경로를 보여주고 있다. 그림 32(a )는 약 5000번의 단계, 그림 32(b )는 약 10000번

의 단계, 그림 32(c)는 14000번의 단계를 움직였다.

41

Page 53: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

(a) (b)

(c)

그림 32. 다중모듈 결합방법의 시뮬레이션 결과.

42

Page 54: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

제 7 장 결론 및 향후 연구과제

본 논문에서는 최종적으로 인공두뇌의 개발을 목표로 하는 셀룰라 오토마타

기반의 진화형 신경망에 대해서 알아보고, 이의 유용성을 보이기 위해서 이동로봇

의 제어에 적용하여 보았다. 시뮬레이션 결과, 간단한 환경에서 진화된 이동로봇의

제어기가 주어진 문제를 잘 해결할 수 있음을 보였다. 특히 진화된 제어기를 분석

하여 뉴런들과 그 연결이 어떻게 이루어져 있으며, 어떠한 역할을 하는지 밝혀내

고자 하였다. 그 결과 좌회전과 우회전 행동을 만들어 내는데 결정적인 역할을 하

는 구조가 있음을 알 수 있었다.

그러나, 실험한 환경이 간단하기 때문에 이 신경망의 문제 해결 능력이라든지,

진화 가능성을 가늠하기에는 부족하다. 따라서, 복잡한 문제를 해결하기 위해 점증

적 진화방법과 다중모듈 결합 방법을 제시하였다. 점증적 진화방법을 이용한 실험

결과 기존의 진화방법보다 주어진 문제를 빨리 해결할 수 있음을 보았고 이를 다

른 환경에 적용시켜서 좋은 결과를 얻을 수 있었다. 또한 각 단계별 신경망의 구

조 변화를 살펴봄으로써 그 구조가 점점 복잡해짐으로써 더 어려운 문제를 해결

할 수 있음을 보였다.

다중모듈 결합방법은 간단한 행동들을 하도록 진화되거나 프로그램된 모듈들

을 결합하여 복잡한 환경에서의 이동로봇 제어에 적용하여 보았다. 실제로 복잡한

환경에 적응하는 이동로봇 제어기를 만들어내는 것은 어려운 문제이다. 따라서, 본

연구에서는 간단한 행동을 하도록 만들어진 여러개의 모듈들을 IF - T HEN 규칙을

이용하여 결합하여 그 결과를 보여주었다. 이 방법은 간단하지만 상수 값들을 조

정하면서 좀더 좋은 규칙을 찾을 수 있었고, 아직 미흡하지만 어느 정도 만족할

만한 결과를 얻을 수 있었다. 결과적으로 본 논문은 진화된 셀룰라 오토마타 기반

신경망 모듈들의 결합 가능성을 보여주었다.

그러나, 인공두뇌의 개발이라는 입장에서 셀룰라 오토마타 기반의 진화형 신경

망에 대한 더 많은 연구가 필요하다. 본 논문에서는 셀룰라 오토마타 기반의 신경

망 모듈들의 결합 가능성을 보여주었지만, 대규모의 모듈들을 결합할 수 있는 방

43

Page 55: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

법을 찾아야 하고, 그 가능성을 검사해 보아야 할 것이다. 또 다른 문제는 본 논문

의 연구는 제어의 문제에 국한되어 있으나, 실제 생물학적 두뇌의 또 다른 중요한

기능인 인식문제에 대한 연구도 필요하다.

44

Page 56: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

참고문헌

[강훈97] 강 훈, Cellu lar aut om at a , 전자공학회지, 제23권, 제3호, pp . 290- 301,

1997.

[조성배97] 조 성배, 인공생명의 개요, 전자공학회지, 제23권, 제3호, pp . 280- 289,

1997.

[이승익97] 이 승익, 조 성배, 행동기반 로봇의 퍼지 제어기 설계를 위한 진화형

접근방식, 정보과학회 논문지 (B ), 제24권, 제12호, pp . 1400- 1407, 1997년

12월.

[Banz97] W . Banzhaf, P . Nordin , an d M . Olm er , Generating adapt iv e behavior

u sin g fun ct ion regression w ithin g en etic program m in g and a real

Robot , I n t. Conf . on Genet ic P rog ram m ing , pp . 35- 43, 1997.

[Brai84] V . Braitenberg . V ehicles : E xp erim en ts in Sy n the tic P sy chology , MIT

Press , 1984.

[Clif93a] D. T . Cliff , I. H arv ey an d P . Hu sbands , Increm ental ev olution of

neural netw ork architectures for adaptiv e behaviour , P roc. of the F irs t

E urop ean Sy mp os ium on A rtif icial N eural N etw orks (E SA N N 93) ,

pp.39- 44, Bru ssels, Belgium , 1993.

[Clif93b] D. T . Cliff, P . Hu sbands and I. Harv ey , Analy sis of ev olv ed

sen sory - m ot or controller s , P roc. of the 2nd E urop ean Conf erence on

A rt if icial L if e (E CA L 93) , pp .192- 204, 1993.

[Ebn e98] M . Ebner , Ev olut ion of a control ar chit ecture for a m obile robot .

P roc. of the 2nd I nt. Conf . on E v olvable Sy s tem s : F rom B iology to

H ardware (I CE S 98) , Lau sanne , S w itzerland, pp. 303- 310, 1998.

[Ebn e99] M . Ebner and A . Zell, Ev olvin g a behav ior - ba sed control archit ecture

- F rom sim ulat ion s to the real w orld , P roc. of the Genet ic and

E v olutionary Comp utat ion Conf ., pp . 1009- 1014, Orlan do, U SA , 1999.

45

Page 57: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

[F lor96] D. F lorean o an d F . M on dada , Ev olut ion of h om in g navig at ion in a

real m obile robot , I E E E T rans. Sy s tem s , M an, and Cy berne t ics ,

Vol.26, No.3, pp . 396- 407, June 1996.

[Gari96] H . de Garis , CA M - Brain : AT R ' s billion neuron artificial brain

project , P roc. of I n t. Conf . on E v olutionary Comp utat ion , pp . 886- 891,

Nag oy a , Japan , M ay 1996.

[Gari99] H . de Garis and 조 성배, CAM - Brain :AT R의 인공두뇌 프로젝트, 정

보과학회지, 제17권, 제5호, pp . 20- 26, 1999.

[Ger s96a] F . Ger s , H . de Garis , CAM - Brain : A new m odel for A T R ' s

cellu lar aut om at a based art ificial brain project , P roc. of I n t. Conf . on

E v olvable Sy s tem s , T sukuba , Japan , October 1996.

[Ger s96b] F . Ger s an d H . de Garis , P orting a cellu lar autom ata based art ificial

brain to MIT ' s cellu lar autom at a m achin e ‘CAM - 8’, P roc. of

S EA L '96 , pp . 321- 330, T aejeon , Korea , Nov em ber 1996.

[Ger s97] F . Ger s , H . de Garis an d M . Korkin , CoDi- 1Bit : A sim plified cellu lar

autom ata based neuron m odel, P roc. of A rt if icial E v olut ion Conf .,

Nim es , F ran ce, Oct ober 1997.

[Gold89] D. E . Goldb erg , Gen etic A lg or ithm s in S earch, Op tim iz ation, and

M achine L earn ing , A ddison - W esley Publishing Com pany , 1989.

[Gom e97] F . Gom ez an d R. Miikkulain en , Increm ental evolution of complex

general behavior , A dap tiv e B ehav ior , Vol. 5 Is sue 3- 4, pp 317- 342,

1997.

[Gree93] D. G. Green , Cellular aut om at a , http :/ / lif e.cs u.ed u.au/ comp lex/

tu torials/ tutorial1.htm l, 1993.

[Guto91] H . Gut ow itz, edit or , Cellu lar autom at a : T h eory an d ex perim ent ,

P hy s ica D , Vol. 45, Nos . 1- 3, 1991.

46

Page 58: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

[H arv93] I. H arv ey , P . Hu sb ands and D. Cliff , Is su es in ev olution ary robot ics ,

Proc . of the S econd Int . Conf. on Simulation of A dapt iv e Beh avior

(SA B92), pp . 364- 373, Cam bridg e MA , 1993.

[H arv94] I. H arv ey , P . Hu sb ands and D. Cliff , S eeing the light : Artificial

evolution , r eal v ision , P roc. of 3rd I nt. Conf . on SA B 94 , pp . 392- 401,

1994.

[Kork97] M . Korkin , H . de Garis , F . Ger s an d H . H em m i, CBM (CAM - BRAIN

MA CHINE ) : A h ardw are t ool w hich ev olv es a neural net m odule in

a fraction of a second an d run s a m illion neuron artificial brain in real

t im e, P roc. of Gene t ic P rog ram m ing Conf erence , Stanford , USA ,

July , 1997.

[Koza92a] J .R . Koza , Gen et ic P rog ram m ing : On T he P rog ram m ing of

Comp uters by M eans of N atural S elect ion , MIT Press , Cam bridge ,

M assachu set t s , 1992.

[Koza92b] J . R . Koza , an d J . P . Rice, Aut om atic program m in g of robot s u sing

genet ic programm ing , P roc. of the 10th N ational Conf . on A rt if icial

I n tellig ence , pp . 194- 201, 1992.

[M at a95] M . J . M ataric, Designing an d under st an ding adapt iv e group

beh avior , A dap t iv e B ehav ior , V ol. 4, N o.1, pp . 51- 80, 1995.

[M ath94] K . E . M athias and L . D. W hit ley , Initial perform ance comparison s for

the delta coding algorithm , P roc. of I E E E Conf . on E v olutionary

Comp utation , Vol. 1, pp . 433- 438, 1994.

[Mich95] O. Michel, K hep era S im ulator V ers ion 1.0 Us er M an ual, 1995.

[Naw a98] N . E . N aw a, H . de Garis , F . Ger s , an d M . Korkin , AT R ' s

CAM - Brain M achine (CBM ) simulation result s an d represent at ion

is su es , P roc. of Gene t ic P rog ram m ing Conf ., U SA , July 1998.

47

Page 59: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

[Nolf94] S . N olfi, D. F lorean o, O. Miglino an d F . M on dada , H ow t o ev olv e

autonom ou s rob ot s : differ ent approach es in ev olut ionary robotics ,

P roc. of the I n t. Conf . on A rt if icial L if e I V . pp . 190- 197, 1994

[Nord97] P . Nordin an d W . Ban zh af, Real t im e control of a kh epera robot

u sin g g en etic program m ing , Con trol and Cy bern e t ics , V ol. 26, No. 3,

pp . 533- 561, 1997.

[Nord98] P . Nordin , W . Ban zhaf and M . Bram eier , Ev olution of a w orld m odel

for a m iniature Robot u sing g enet ic program m in g , R obot ics and

A uton om ous Sy s tem s , V ol. 25, pp . 105- 116, 1998.

[P erk96] S . P erkin s and G. H ay es , Robot shaping - principles , m ethods and

architectures , W orkshop on L earning in R obots and A nim als, at

A I SB '96 , Univer sity of Su ssex , UK , April, 1996.

[T off87] T . T offoli an d N . M arg olu s , Cellular A utom ata M achines : A N ew

E nv ironm en t f or M od eling , MIT Press , Cam bridg e, M a ssachu set t s ,

1987.

[W alk99] R. W alker an d O. Miglino, Sim ulat in g ex plorat ory beh avior in

ev olving artificial neural n et w ork s , P roc. of the Gen etic and

E v olutionary Comp utat ion Conf erence (Gecco99) , pp . 122- 1428, 1999.

[Zade65] L.A . Zadeh , F u zzy set s ," I nf orm ation and Control, Vol. 8, pp .

338- 353, 1965.

48

Page 60: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

A B S T RA CT

A S tu dy on A pply in g E v olv e d N eural N et w ork s

b a s e d on Ce llu lar A ut om at a to M obile Rob ot Contro l

Geum - Beom S on g

Com puter S cien ce Departm ent

T he Gradu ate S chool

Yon sei Univ er sity

T here are som e difficult ies t o con struct a sen sory - m ot or controller for an

autonom ou s m obile robot such as coordinat in g the m echanics and control

sy stem part s of the robot , an d m anagin g inter action w ith ext ern al

environm ent s . T o rem edy th e short com in g s there hav e been m any stu dies of

con structing a m obile robot controller by ev olut ion ary approaches , su ch as

ev olving neural net w ork by gen et ic algorithm , u sin g g enetic program m in g , an d

combinin g fu zzy controller w ith gen et ic alg orithm , becau se they hav e the

possibility of autom atic con struct ion of the controller w ith out ex plicit design . In

part icular , ev olv in g neural n etw ork s is the m ost prom isin g w ay for this

problem : Neural netw ork s can easily ex ploit v ariou s form s of learning durin g

life - tim e and they are resist ant t o noise that is m as siv ely present ed in

in t er act ion bet w een robot an d environm ent s .

In this paper , w e ev olv e the CAM - Brain , neural net w ork s ba sed on cellular

autom ata , to control an aut on om ou s m obile robot . CA M - Brain m odel dev elops

neural net w ork s com posed of n euron s , ax on s and dendrit es on cellular

autom ata . Cellu lar aut om at a can represent complicat ed structures an d fun ction s

49

Page 61: 셀룰라 오토마타 기반의 진화형 신경망을 이용한 이동로봇 제어에 …sclab.yonsei.ac.kr/publications/Papers/thesis/gbsong.pdf · 장애물 피하기 23 그림

w ith simple rules a s a biological brain com posed of billion s of sim ple n erv e

cells does . T his indicat es that th e cellular aut om ata m ight be a g ood platform

of com plex n eural netw ork s dev eloped b ased on sim ple rules . M oreov er , due t o

the features of cellu lar aut om ata it is pos sib le t o ev olv e en orm ou s neural

netw ork s v ery quickly on parallel h ardw are.

H ow ev er , this t radition al ev olution ary m ethod cann ot be easily u sed t o

obtain th e controller for com plex and g eneral b ehavior s . W e propose t w o

m ethods for a sen sory - m ot or controller to do complex beh avior s w ith neural

netw ork s b ased on cellular aut om at a . One is in crem ent ally ev olving the

controller by st ar ting w ith sim pler environm ent needed sim ple beh avior an d

gradu ally m aking it m ore complex and g en eral for com plex beh avior s .

Ex perim ent al r esult s of this m ethod show the pot ential as a t echniqu e for

im proving efficiency of ev olution ary process . T h e other is com bining sev eral

m odules ev olv ed or program m ed to do sim ple behavior by a rule - based

approach . Experim ental r esult s of th is m ethod sh ow th e fea sib ility of

in t egrat ion of m ult i- m odules ev olv ed neural n etw ork s based on CA .

Key w ords : M obile Robot Control, CAM - Brain , Cellular Aut om at a ,

Neural Net w ork s , Genet ic Alg orithm , In crem ent al Ev olut ion ,

Multi - m odules Int egration

50