'2010/04'에 해당되는 글 1건

  1. 2010/04/29 요즈음 관심갖는 것들과 근황
2010/04/29 02:20
크리에이티브 커먼즈 라이선스
Creative Commons License
대량의 슈퍼 초 노가다가 생겼었다는 슬픈....

어쨌든

요새 관심갖는 것들 대표적인 몇가지만

1. 실시간 처리가 가능한 진화연산

- 진화연산을 조금이라도 해본 사람은 알겠지만, 진화연산이라는 작업 자체가 원하는 결과를 얻기위해 엄청난 반복 연산을 요구한다. 덕분에 매 순간순간 환경이 바뀌거나 매우 짧은 순간에 결과를 도출해야 하는 작업에는 사용할 수 가 없다. 그렇기 때문에 진화연산을 연구하는 사람들이 진화연산을 실시간으로 적용할 수 있는 방법이 있지 않을까? 하다가 나온 방법들이 Rapid Convergence 라고 불리는 기법들이다. 
- 여기서의 목표는 말그대로 얼마나 빠르게 사용 가능한 해를 찾아내느냐에 있다. 기존의 기법들에 선택압을 조절하여 무진장 빠르게 해를 찾는 것과는 다르다. 이때의 해는 거의 대부분이 지역적인 최적해이지만, Rapid Convergence 기법들의 목표는 이러한 지역적 최적해중 에서도 그나마 더 나은 것들, 혹은 완전히 전역적 최적값을 찾는것을 목표로 한다.
- 하지만 곰곰히 생각해보면 그것을 평가하는 일 또한 대단히 어렵다. 기존에 존재하는 이러한 반복적인 형태의 알고리즘에서 최적해를 찾아가는 속도를 증가시키는 것과 이것에 대한 차이, 그리고 어떻게 판별하는 것이 올바른 판별법이 될것인가에 대한 것 등등.. 아직은 좀 문제가 많다고 생각할 수 있다.
- 이번에 EvoStar 2010 Conference 에서 로봇에 대해 Rapid Convergence 는 아니지만, 기존에 있던 결과값을 군집으로 재구성하여 사용하는 형태로 실시간 적용하는 알고리즘이 발표되었다고 한다.

2. NEAT(NeuroEvolution of Augmenting Topologies)

- NEAT 는 신경망을 진화적인 기법으로 구축하는 것으로서, 기존의 신경망과 달리 학습데이터가 없어도 된다. 진화적인 기법이기 때문에 적합도 함수를 정의하면 그만이고, 여기서 학습 데이터가 없어도 된다는 것은 기존의 신경망을 진화시키는 기법들이 학습 데이터와의 오차를 통해 Weight 를 조절하는 방법을 취하고 있지만, NEAT 는 적합도 함수를 전혀 다른 형태로 정의해도 신경망을 구축할 수 있다는 것이다.
- 이건 상당히 큰 발전이라 할 수 있는데, 신경망이 갖고 있는 적응적인 특성은 다른 알고리즘과 차별화 되지만 학습 데이터를 구축하기 까다롭다는 문제가 있었다. 그리고 이런것들이 있다 하더라도 구조나 파라미터를 전부 최적화 한다는 것이 상당히 피곤한 일이 었는데, 이걸 진화적인 기법으로 자동으로 튜닝하여 발전한다는 것이다. 하지만 역시 진화적인 기법의 가장 큰 단점이 이 안에도 내포되어 있는데, 지역적 최적점에 도달할 확률도 그만큼 높다는 것이다. 그래서 기존의 신경망을 학습시키는 방법과 적절히 조화를 시키면 상당히 좋은 결과가 나온다. (실험해보니 오우 만세 lol

3. GPGPU(General Purpose on Graphics Processor Units, 틀렸을수도... -_-)

- 이건 뭐 워낙 유명해서 딱히 설명할 필요도 없다.
- 다루는 알고리즘들이 대부분 반복적인 연산을 취하다보니 GPU 를 적용하면 속도가 참말로 아름답게 빨라진다. 몇가지 테스트한 코드가 있긴 한데, 최적화도 덜되고 좀 부끄러워서 공개를 못하고 있다. 언젠가는 뭐 공개할 거 같지만;;; 어쨌든! 효과는 진짜 아름다움.

4. 진화연산을 위한 진화연산

- 최고로 관심있는 분야. 진짜 Best of Best
- 3년전부터 생각하던건데, 그땐 실력이 모자라 이걸 어떻게하면 좋을까 라는 막연한 생각 뿐이었지만 스페인에서 이미 시도한 바가 있다. (3년전에 시도 했으면 거의 동시에 결과가 나왔을텐데... )
- 하지만 그들이 한 것도 단점이 있고, 내가 하려는 바와는 약간 다르기 때문에 도전해볼만 하다라고 생각한다.

5. Central Pattern Generator

- CPG 가 갖는 의미는 상당하다. CPG 모델 자체에 Feedback이 나타나있진 않지만, 단순히 보행에 관련된 보행 신호 발생기로서의 CPG 의 의미는 다른 그 어떤 수학적 모델보다 아름답지 않을까? 기존에 많이 사용되는 제어기법이나 I.K. 를 계산하여 자취를 따라가는 방식들이 갖는 의미와는 또 다른 의미를 갖는다.
- 결국 휴머노이드가 진짜 인간과 같은 보행을 해야한다고 생각하면 인간이 걷는 방식과 동일한 방식으로 걸어야 될 것 같은데, 인간이 CPG 를 이용해서 보행을 하니 CPG야 말로 보행 알고리즘에 대한 가장 기본적인 시작이 되어야하지 않을까 싶다.
- 그러나 역시 해외에서도 시도하고 있지만, 아직까지 올바른 모델을 만들어내기 어려운 부분이 인간이 갖고 있는 보행에 대한 특성을 어떻게 수식적으로 반영하는가 이다. 그중에서도 특히 영상정보를 보행에 반영하는 부분은 거의 이루어지지 않고 있다고 봐도 된다. 물론 영상 정보에서 이동해야할 경로를 얻어내고 이를 수정하는 것은 많이 이루어지고 있지만, 영상 정보 자체가 2차원의 정보이기 때문에 이것만 가지고 보행에 대한 불균일성을 모두 해결하지는 못한다.
- CPG 자체에 대한 관심도 높지만, 개인적으로는 CPG 라는 기법 자체에 어떠한 형태의 기법을 도입해야 인간이 갖는 영상정보의 반영형태가 이루어질지... 이것이 가장 큰 관심사이다.

정말 몇달간 포스팅 자체를 생각하지 못할만큼 뭔가 이상한 정신세계의 트러블이 있었다.
뭐가 그리 바쁜건 아닌데... 딱히 바쁘지 않은것도 아니고...
아니다.. 바쁜가? -_-;;;;

어쨌든.
세상엔 참 신기한게 많다는 이상한 결론.
저작자 표시 비영리 동일 조건 변경 허락
Posted by SHHyun