»
S
I
D
E
B
A
R
«
1. 피드백이란?(Introducing Feedback)
February 24th, 2014 by Wegra Lee

이 글은 한국의 소프트웨어 개발자에게 피드백 제어(Feedback Control)란 개념을 소개하고자 Phillip Janert의 글을 번역한 것이다.


1부 – 피드백이란
2부 – 피드백 원칙
3부 – 피드백이 필요한 이유
4부 – 피드백은 다르다
5부 – 피드백 컨트롤러
6부 – 피드백 컨트롤러 튜닝
7부 – 자가적응과 피드백은 다르다


피드백이란 미세한 조정을 지속적으로 가하여 복잡한 시스템을 이상적인 상태로 유지한다는 아주 간단한 개념이다.

이 개념은 뻔해 보이면서도 알쏭달쏭하다. 뻔한 측면을 먼저 보자. 시스템의 동작을 감시하면서 어딘가 이상해지면 그 반대 방향으로 되돌린다. 바로 시스템 운영자가 하는 일과 같다. 예를 들어 자동차를 운전할 때 우리는 차선을 유지하기 위해 쉼 없이 핸들을 (미세하게) 조정한다. 제한 속도나 차간 거리 유지를 위해서도 브레이크와 액셀러레이터를 수시로 밟게 된다.

반면, 이 기술을 기계에 가르치기란 여간 어려운 게 아니다. 자동차의 정속 주행장치(Cruise Control)가 바로 피드백에 기반해 동작하는 대표적인 예다(목표 속도와 실제 속도의 차이에 따라 액셀러레이터를 계속 조절한다.) 하지만 이는 필수 부품도 아니고 실생활에선 오히려 방해될 때도 있다. 왜 그럴까?

문제는 바로 목표값과의 차이를 알더라도 얼마 만큼의 변화를 주어야 하는지 결정하기가 어렵다는 데 있다. 계속해서 차의 정속 주행장치를 생각해보자. 실제 속도가 목표 속도보다 시속 5km 느리다. 액셀러레이터를 어느 강도로 밟아야 할까? 수초 안에 속도 차이를 없애기에 충분한 강도여야 한다. 그렇다고 너무 강하게 밟으면 승객은 마치 범퍼카를 탄듯한 경험을 맛볼 것이다. 반대로 변화가 너무 작다면 상당히 긴 시간 동안 속도 차가 줄지 않을 테니, 자동 속도 제어라는 이름을 달기에 부끄러울 것이다.

힘을 잘 조절해야 한다. 여기에는 차의 무게, 목표 속도, 엔진의 힘 등의 외부 요소도 함께 고려되어야 한다.

이 모두의 균형을 맞추는 작업(제어 시스템에서 튜닝이라 부르는 과정)은 꽤나 어려운 일이고, 피드백 시스템의 원리를 제대로 이해하지 못한다면 거의 불가능할 수도 있다. 좋은 소식은 지금껏 이와 같은 문제를 풀지 못한 사례는 없다. 나쁜 소식은 이를 실제 시스템에 적용하기는 언제나 쉽지 않은 도전이란 사실이다.

이어지는 글에서는 피드백 원칙과 피드백 루프(loop)와 컨트롤러의 원리를 소개하고, 컴퓨터 시스템에 피드백 원칙을 응용할 수 있는 분야가 무엇인지 알아보고, 잘 작동하는 피드백 시스템을 만드는 기법을 이야기할 것이다. 기대하시라!


»  Substance: WordPress   »  Style: Ahren Ahimsa