자율 주행 자동차는 수년 동안 엄격한 명령 체계를 따르는 데 시간을 보냈습니다. 엔지니어들은 수천 개의 if-then 문을 작성했습니다. 보행자가 길을 건너면 브레이크를 밟는다. 신호등이 빨간색으로 바뀌면 멈춘다. 차선이 굽어지면 조향한다. 이러한 방식은 세상이 예상대로만 움직일 때는 효과적이지만, 실제 주행은 훨씬 더 복잡하고 무질서합니다. 규칙서만으로는 진흙투성이의 뒷길, 표지판 없는 교차로, 혹은 교통 흐름 사이를 누비는 자전거 운전자를 모두 대응할 수 없습니다. 환경이 변하면 엄격한 명령 체계는 무너집니다. 우리는 단순히 체크리스트를 따르는 것이 아니라, 무엇이 좋은 운전인지 학습하는 시스템이 필요합니다.
하드코딩된 규칙을 넘어
전통적인 자율 주행 시스템은 명시적인 프로그래밍에 의존합니다. 이러한 시스템은 창고 바닥, 전용 차선, 예측 가능한 날씨와 같은 폐쇄된 환경에서는 잘 작동합니다. 하지만 공공 도로에서는 동일한 논리가 무너지는 경우가 많습니다.
손으로 쓴 표지판이 있고, 고깔(콘)이 제멋대로 흩어져 있으며, 수신호 요원이 차량을 안내하는 공사 구간을 상상해 보십시오. 규칙 기반 시스템은 명확한 교통 신호를 원하지만, 눈앞에 보이는 것은 혼돈뿐입니다. '주황색 조끼를 입고 왼쪽으로 수신호를 보내는 사람'에 대한 구체적인 규칙이 없다면, 자동차는 멈춰버리거나 잘못된 판단을 내립니다. 인간 운전자는 단순히 픽셀을 보는 것이 아니라 의도와 맥락을 해석하기 때문에 이를 즉각적으로 처리합니다. 우리는 상황을 읽습니다. 기계에게 이와 똑같은 능력을 가르치려면 근본적으로 다른 접근 방식이 필요합니다.
관찰을 통한 학습: 역강화학습 (Inverse Reinforcement Learning)
여기서 역강화학습(Inverse Reinforcement Learning)이 판도를 바꿉니다. 표준 강화학습에서는 AI에게 목표와 보상 함수(reward function)를 제공합니다. 목적지에 빨리 도착하면 점수를 얻고, 연석을 들이받으면 점수를 잃는 식입니다. 에이전트는 점수를 극대화하는 정책(policy)을 발견할 때까지 시행착오를 거듭합니다. 하지만 운전은 단순히 효율성의 문제가 아닙니다. 안락함, 안전, 법규 준수, 그리고 사회적 관습에 관한 것입니다. '신중하면서도 유능한 인간처럼 운전하라'는 명령을 수학적인 보상으로 작성하는 것은 거의 불가능에 가깝습니다.
역강화학습은 이 문제를 뒤집습니다. AI에게 목표를 건네주는 대신, 예시를 보여주는 것입니다. 알고리즘은 수 시간 분량의 인간 운전 영상을 관찰합니다. 인간이 언제 속도를 줄이는지, 언제 미리 차선을 변경하는지, 혹은 합류하는 트럭에 어떻게 양보하는지를 관찰합니다. 단순히 정확한 조향 각도를 암기하는 것이 아니라, 그 이유를 추론하기 위해 역으로 계산합니다. 도로 상황이 법적으로 문제가 없더라도, 보도 근처에 아이가 서 있기 때문에 운전자가 속도를 줄였을 수도 있습니다. AI는 여기서 '횡단보도가 없더라도 보행자와의 거리가 중요하다'는 숨겨진 보상을 추출해 냅니다.
인간을 이미 최적화 문제를 해결한 전문가로 취급함으로써, 알고리즘은 그 전문가가 최소화하려는 비용 함수(cost function)를 찾아냅니다. 급정거보다는 부드러운 제동을, 코너를 가로지르기보다는 차선 중앙 유지를 선호하는 것과 같은 근본적인 선호도를 시스템이 이해하고 나면, 이를 일반화할 수 있습니다. 낯선 도시의 새로운 도로를 마주하더라도, 좋은 운전자가 그 생소한 환경에서 무엇을 중요하게 여길지 대략적으로 알 수 있게 됩니다.
의사 결정: 심층 Q-네트워크 (Deep Q-Networks)
보상을 이해하는 것은 절반의 성공일 뿐입니다. 자동차는 여전히 행동해야 합니다. 심층 Q-네트워크(Deep Q-Networks)는 감각 데이터를 처리하여 최선의 행동을 선택함으로써 의사 결정을 수행합니다.
고전적인 Q-러닝(Q-learning)은 수십 년 동안 존재해 왔습니다. 에이전트는 특정 상태에서 특정 행동을 취했을 때의 가치를 학습합니다. 문제는 실제 주행 상태가 사실상 무한하다는 점입니다. 카메라 영상은 단순한 그리드 월드(grid world)가 아닙니다. 초당 60프레임으로 변하는 수백만 개의 픽셀과 라이다 포인트 클라우드, 속도 측정값, GPS 벡터가 결합된 복잡한 데이터입니다.
심층 Q-네트워크는 신경망을 함수 근사기(function approximator)로 사용하여 이 문제를 해결합니다. 네트워크는 가공되지 않은 감각 데이터를 입력받아 왼쪽 조향, 부드러운 제동, 가속, 경로 유지 등 가능한 모든 행동에 대한 예측값을 출력합니다. 모든 시나리오에 대한 룩업 테이블(lookup table)을 저장하는 대신, 네트워크는 일반화합니다. 비 오는 밤의 어두운 형체가 맑은 날 학습했던 것처럼 주차된 차량일 가능성이 높다는 것을 인식하고, '가속' 행동에 낮은 값을 부여합니다.
학습에는 경험 재현(experience replay)이 포함됩니다. 시스템은 과거 주행의 순간들, 성공적인 차선 변경, 충돌할 뻔한 상황, 부드러운 감속 등을 저장한 다음, 이를 무작위로 샘플링하여 네트워크를 업데이트합니다. 이는 해로운 상관관계를 끊고 학습을 안정화합니다. 수천 시간의 시뮬레이션을 거치며 네트워크는 어떤 행동이 안전한 주행으로 이어지고, 어떤 행동이 문제를 일으키는지 학습합니다.
종합하기
어느 한 방법만으로는 유능한 운전자를 만들 수 없습니다. 의사 결정 엔진이 없는 역강화학습(Inverse Reinforcement Learning)은 그저 관찰자에 불과합니다. 인간이 부드러운 주행을 중시한다는 것은 알지만, 직접 핸들을 잡을 수는 없습니다. 잘 설계된 보상 함수가 없는 심층 Q-네트워크(Deep Q-Network)는 잘못된 것을 최적화합니다. 충돌을 완벽하게 피하기 위해 제자리에서 뱅글뱅글 도는 것이 높은 점수를 얻는 방법임을 깨닫고, 아무 데도 가지 않으면서 점수만 높게 올릴 수도 있습니다.
이 둘이 결합되면 강력한 루프가 형성됩니다. 역강화학습은 인간 전문가를 관찰하여 현실 세계의 우선순위를 포착하는 보상 함수를 추출합니다. 그러면 심층 Q-네트워크는 해당 보상 함수를 사용하여 실시간 센서 데이터를 처리하고 행동을 선택하며 시행착오를 통해 스스로를 학습시킵니다. AI는 관찰뿐만 아니라 연습을 통해서도 복잡한 행동을 학습합니다.
고속도로 합류 상황을 가정해 봅시다. 역강화학습 구성 요소는 인간 운전자가 속도 맞추기와 차간 거리 수용 사이의 균형을 맞춘다는 것을 추론해 냈습니다. 심층 Q-네트워크는 이 미묘한 비용 신호를 전달받아 시뮬레이션에서 만 번의 합류 연습을 수행합니다. 언제 속도를 높여야 하는지, 언제 뒤로 물러나야 하는지, 그리고 언제 차간 거리가 너무 좁은지를 학습합니다. 그 결과는 단순히 기록된 인간의 움직임을 따라 하는 앵무새가 아닙니다. 이는 논리를 내재화하여 도로가 젖어 있거나 차간 거리가 평소보다 좁을 때도 적응할 수 있는 시스템입니다.
