소뇌 모델 관절 제어기(CMAC)은 운동 제어와 협응에 관여하는 뇌 영역인 소뇌의 구조와 기능에서 영감을 얻은 인공 신경망의 한 유형이다. 1970년대에 개발된 CMAC은 연속 입력 벡터를 분산된 국소 조정 표현을 통해 출력 값으로 매핑하는 함수 근사를 수행하는 연상 기억의 한 형태이다. 이는 빠른 학습과 적응이 요구되는 로봇 팔 조작과 같은 실시간 제어 응용 분야에 특히 적합하다.
CMAC은 각 입력 차원을 겹치는 수용 필드 집합으로 양자화하여 작동한다. 각 입력 점은 이러한 필드의 작은 부분 집합을 활성화하며, 네트워크의 출력은 활성화된 필드와 연관된 가중치의 합으로 계산된다. 이 설계는 국소 일반화를 제공한다. 유사한 입력은 겹치는 필드를 활성화하여 유사한 출력을 생성하는 반면, 먼 입력은 필드를 공유하지 않아 간섭을 방지한다. 학습 규칙은 일반적으로 단순한 경사 하강법 또는 최소 평균 제곱 업데이트이며, 이는 다층 퍼셉트론에 비해 훈련을 빠르고 계산 비용이 저렴하게 만든다.
역사적 발전
CMAC은 1975년 제임스 알버스가 국립 표준국(현재 국립 표준 기술 연구소)에서 근무하던 중에 도입되었다. 알버스는 Mathematical Biosciences 저널에 게재한 일련의 논문에서 자세히 설명한 소뇌 기능의 계산 효율적인 모델에 대한 필요성에 동기를 부여받았다. 그의 연구는 데이비드 마르와 제임스 브린들리의 초기 소뇌 학습 이론에 기반을 두었지만, 알버스의 핵심 기여는 하드웨어나 소프트웨어로 구현할 수 있는 실용적인 알고리즘 공식화였다. "관절 제어기"라는 이름은 부드럽고 정확한 움직임이 필수적인 로봇 조작기의 관절 제어에 원래 의도된 용도를 반영한다.
구조 및 작동
CMAC은 입력 계층, 개념 매핑 계층, 물리적 메모리 계층, 출력 계층의 여러 계층으로 구성된다. 입력 계층은 연속 값 신호를 수신한 다음 이산 상태로 양자화한다. 개념 매핑 계층은 해시 함수를 사용하여 메모리 요구 사항을 줄이면서 각 양자화된 입력을 가상 메모리 공간의 활성 주소 집합에 할당한다. 물리적 메모리 계층은 가중치 값을 저장하며, 출력은 활성 주소의 가중치 합이다.
입력당 활성 주소 수(종종 C로 표시)는 일반화 폭을 결정한다. C가 클수록 더 넓은 일반화를 제공하지만 해상도는 더 거칠어지고, C가 작을수록 더 미세한 식별을 제공한다. 해상도는 각 차원의 양자화 단계 크기에 의해서도 제어된다. 실제로 CMAC은 종종 해시 체계를 사용하여 큰 개념 공간을 더 작은 물리적 메모리에 매핑하며, 이는 충돌을 유발할 수 있지만 일반적으로 제어 작업에는 허용 가능하다.
학습 및 적응
CMAC을 훈련하려면 입력-출력 쌍을 제시하고 활성 주소의 가중치를 조정해야 한다. 표준 업데이트 규칙은 다음과 같다.
Δw = α * (목표 - 출력) / C
여기서 α는 학습률, 목표는 원하는 출력, 출력은 현재 예측이다. 이 규칙은 정규화된 최소 평균 제곱 알고리즘과 동일하다. 샘플당 가중치의 작은 부분만 업데이트되므로 노이즈가 있는 데이터에서도 학습이 빠르고 안정적이다. CMAC은 각 가중치가 해당 필드를 활성화하는 입력에 의해서만 영향을 받기 때문에 파국적 간섭을 겪지 않는다.
한 가지 한계는 입력 차원에 따라 가중치 수가 기하급수적으로 증가할 수 있다는 점이지만, 해싱이 이를 완화한다. 고차원 문제의 경우 Deep learning 네트워크와 같은 다른 아키텍처가 선호될 수 있지만, CMAC은 저차원에서 중간 차원의 제어 작업에 여전히 경쟁력이 있다.
응용 분야
CMAC은 로봇 공학 및 제어 시스템에 널리 적용되었다. 초기 용도로는 산업용 로봇 팔의 관절 제어가 포함되어 부드러운 궤적 추적을 제공했다. 또한 항공기 비행 제어 및 엔진 관리와 같은 비선형 시스템의 적응 제어에도 사용되었다. 1990년대와 2000년대에는 연구자들이 역진자 균형 잡기 및 이동 로봇 탐색과 같은 작업을 위해 CMAC을 Reinforcement learning 기술과 통합했다.
최근에는 CMAC이 신호 처리 및 패턴 인식과 같은 분야에서 틈새 응용 분야를 찾았지만 Deep learning 방법에 크게 가려졌다. 그러나 낮은 계산 비용과 간단한 하드웨어 구현으로 인해 임베디드 시스템 및 실시간 응용 분야, 특히 대기 시간이 중요한 Tesla 스타일 제어 루프나 Intuitive Surgical 로봇 수술 시스템에 매력적이다.
다른 모델과의 비교
Neural network 모델(예: 다층 퍼셉트론 또는 Transformer (architecture) 기반 아키텍처)과 달리 CMAC은 비모수적이고 국소 가중치가 적용된 모델이다. 은닉 계층을 통한 역전파나 경사 계산이 필요하지 않으므로 아날로그 또는 디지털 하드웨어로 구현하기가 더 쉽다. 메모리 사용량은 예측 가능하며 훈련은 온라인 방식이므로 변화하는 환경에 지속적으로 적응할 수 있다.
그러나 CMAC은 이미지나 텍스트와 같은 고차원 구조화 데이터에 대한 딥 네트워크의 표현력이 부족하다. 입력 공간이 상대적으로 저차원이고 근사할 함수가 매끄러운 문제에 가장 적합하다. Artificial intelligence 및 Machine learning의 더 넓은 맥락에서 CMAC은 고전적인 방법으로 간주되지만 제어 공학 및 로봇 공학 교육에서 여전히 유용한 도구로 남아 있다.
같이 보기
- Neural network
- Machine learning
- Robotics
- control-theory
참고 문헌
- Albus, J. S. (1975). A new approach to manipulator control: The cerebellar model articulation controller (CMAC). Journal of Dynamic Systems, Measurement, and Control, 97(3), 220-227.
- Miller, W. T., Glanz, F. H., & Kraft, L. G. (1990). CMAC: An associative neural network alternative to backpropagation. Proceedings of the IEEE, 78(10), 1561-1567.
- Brown, M., & Harris, C. (1994). Neurofuzzy Adaptive Modelling and Control. Prentice Hall.