강화 학습 기술은 머신러닝 기술들 중 상대적으로 일상 생활에 적용하기 어려운 기술이었다.
하지만 최근 다양한 분야에 강화 학습이 적용됨에 따라, 기계가 새로운 길을 탐색하고 이를 인간에게 제시하는 역할을 수행하고 있다.
강화 학습(Reinforcement Learning, RL)은 에이전트가 시행착오를 통해 학습하는 방식으로, 인간의 학습 과정과 유사하다는 점에서 큰 관심을 받고 있다.
RL의 기본 개념은 단순하다. 에이전트는 주어진 환경과 상호작용하며, 특정 행동을 취할 때마다 보상이나 처벌을 받는다.
이 과정을 반복하면서 에이전트는 최대의 보상을 얻을 수 있는 전략을 학습한다.
RL의 주요 구성 요소들은 다음과 같다.
학습하고 결정을 내리는 주체
에이전트가 상호작용하는 세계
현재 상황에 대한 정보
에이전트가 취할 수 있는 선택
각 행동에 대한 피드백
RL을 통해 우리는 이론적 가능성을 실험하고 현실화할 수 있으며, RL이 갖는 주요 이점들은 다음과 같다.
실세계의 많은 문제들은 명확한 해답이 없고, 변수가 많다. RL은 이런 복잡한 상황에서 최적의 해결책을 찾는 데 탁월하다.
RL 시스템은 환경 변화에 따라 지속적으로 학습하고 적응할 수 있어, 동적인 환경에 적합하다.
많은 산업 분야에서 RL을 통한 자동화로 효율성을 크게 높일 수 있다.
RL 알고리즘은 때로 인간이 미처 생각하지 못한 해결책을 제시하여 새로운 관점을 제공할 수 있다.
성공적인 RL 응용은 비용 절감, 생산성 향상 등 경제적 가치를 창출할 수 있다.
딥마인드라는 회사는 이미 전략 게임에서 강화학습이 얼마나 성공적인 결과를 내놓을 수 있는지 잘 보여주고 있다.
바둑에 비해 실시간 전략 게임은 강화 학습의 난이도가 훨씬 높다. 이에 대해 '스타크래프트' 게임을 예시로 들어보자.
에이전트 : AlphaStar 자체
환경 : 스타크래프트 2 게임 자체가 주어진 환경
상태 : 게임 내 모든 유닛의 위치, 자원 상태, 적의 행동, ... 동적으로 변하는 모든 상태들을 포함
행동 : 게임 내 가능한 모든 명령
보상 : 게임의 승패, 자원 획득, 유닛 파괴 등에 따른 보상 및 처벌
스타크래프트는 상대방의 모든 행동을 볼 수 없다. 이는 바둑에서 모든 돌의 위치를 항상 볼 수 있는 것과는 대조적이다.
바둑은 턴제 게임인 반면, 스타크래프트는 실시간으로 진행된다. 이는 AI가 매 순간 빠르게 결정을 해야하는 것을 의미한다.
스타크래프트에서는 많은 유닛을 개별적으로 통제해야하며, 각 유닛마다 다양한 행동이 가능하다.
게임에서 승리하기 위해서는 장기적인 경제 관리와 전략, 즉각적인 전투 전술을 모두 고려해야 한다.
카메라 위치 조정, 유닛 선택, 건물 배치, 생산 명령 등 다양한 조작을 동시에 수행해야 한다. 이는 단순히 돌을 놓는 바둑과는 차원이 다른 조작 난이도이다.
위와 같은 에시들 말고도 스타크래프트 게임에는 다양한 복잡성이 존재하지만, AlphaStar는 인간과 완벽하게 동일한 환경에서 스타크래프트 2 최상위 등급의 인간 플레이어를 능가하는 성과를 보여주었다.
이는 강화 학습이 매우 복잡하고 동적인 환경에서도 효과적으로 적용될 수 있음을 보여주는 사례이다.
Tesla의 경우 논문이나 공개 보고서를 통해 자세한 알고리즘을 공개하고 있지는 않지만, 몇몇 인터뷰와 자료들을 토대로 실세계 환경에서 강화학습을 적용하고 있다고 추측할 수 있다.
에이전트 : Optimus 로봇 자체가 에이전트에 해당
환경 : 로봇이 작업을 수행하는 실제 물리적 공간. 이는 실세계이므로, 동적이며 불확실성을 포함한다.
상태 : 로봇의 관절 각도, 엔드 이펙터의 위치, 물체의 위치와 방향, 카메라 이미지 등이 포함. Optimus는 다양한 센서를 통해 이 정보들을 얻는다.
행동 : 로봇 관절의 움직임, 개폐 등 물체를 집어 올리기 위해 필요한 모든 동작이 행동에 해당
보상 : 작업의 성공 여부, 효율성, 안전성 등이 보상으로 작용할 수 있다.
에너지 관리 분야, 특히 스마트 그리드와 강화학습을 접목한 연구 사례가 매우 많다.
예를 들어, 구글-딥마인드의 데이터 센터 냉각 최적화 프로젝트는 강화학습을 에너지 절약 분야에 적용한 대표적인 사례이다.
딥마인드가 에너지 문제를 바라보는 형태는 다음과 같다.
RL이 고려하는 상태는 다음과 같다.
냉각수 온도
응축기 물 온도
외부 기온
데이터 센터 내부 온도
서버 부하
...
RL의 행동은 다음과 같다.
냉각기 온도 설정
냉각탑 팬 속도 설정
냉각수 펌프 유량 조절
응축기 물 펌프 유량 조절
...
즉, 에이전트는 현재 상태를 관찰하고 이를 바탕으로 최적의 행동을 선택한다. 그 결과로 나타나는 에너지 효율성과 시스템 안정성을 보상으로 받아 지속적으로 학습하며, 이 과정을 통해 다양한 상태에 대해 최적의 냉각 전략을 수립하게 된다.
최근에는 파운데이션 모델(특히 LLM)과 강화학습이 결합하여 매우 혁신적인 AI 시스템이 만들어지고 있다
강화학습과 파운데이션 모델을 결합할 경우 더욱 유연하고 적응력 있는 AI 시스템을 만들어낼 수 있으며, 복잡한 실세계의 문제 해결에 크게 기여할 수 있다.
특히 자연어 처리, 로보틱스, 자율 주행 등의 분야에서 혁신적인 발전을 이끌 것으로 예상된다.
이는 LLM의 출력을 개선하기 위해 강화학습을 활용한 시도이다. 이는 인간 또는 AI의 피드백을 바탕으로 모델의 응답을 조정하여 모델이 더 안전하고, 유용하며, 윤리적인 응답을 하도록 한다.
대부분의 강화학습은 확실한 환경과 보상이 존재한다. 하지만 언어 학습의 경우, 어떤 말이 좋은 말인지 판단하는 기준이 뚜렷하지 않다.
이를 해결하기 위해 GPT-3의 저자들은 인간의 선호도를 학습한 reward model을 구성하여 강화 학습에 활용하는 방법을 제시한다.
인간 평가자들은 언어 모델의 여러 응답들에 대한 선호도를 평가하고, 이 평가 데이터를 통해 reward model을 학습시킨다.
reward model은 응답의 품질을 예측할 수 있으며, 언어 모델이 생성한 응답에 대해 평가한다.
reward modeld의 평가를 보상으로 활용하여 언어 모델을 강화학습 기반으로 최적화할 수 있다.
이는 명시적인 규칙 없이도 인간의 복잡한 선호도를 학습에 반영할 수 있도록 하였다.
또한 reward model을 활용한 대규모 강화학습이 가능해지므로, 언어 모델의 응답을 효과적으로 조정할 수 있다는 점을 시사하였다.
이 접근법은 강화학습을 범용 AI를 개발하는 데 활용하는 것이다.
예를 들어, NIDIA의 'Eureka' 프로젝트를 살펴보자.
이 프로젝트는 LLM을 활용하여 강화학습의 보상 함수(reward function)를 자동으로 설계하는 접근 방식을 제안하였다.
보상함수는 강화학습의 가장 핵심적인 부분이며, 이는 주로 전문가에 의해 설계된다.
이와 대조적으로 Eureka 프로젝트는 다음과 같은 과정을 거친다.
LLM을 사용하여 주어진 작업에 대한 보상 함수를 Python 코드 형태로 생성한다.
LLM에게 작업에 설명을 입력으로 제공하며, LLM이 생성한 초기 보상 함수를 사용해 강화학습을 진행 및 평가한다.
이 평가 결과를 바탕으로 LLM은 보상 함수를 개선하며, 이 과정을 반복하여 최적의 보상 함수를 찾아낼 수 있다.
이 프로젝트는 강화학습의 적용 범위를 크게 확장할 수 있는 가능성을 제시하였으며, LLM과 강화 학습의 결합이 AI 시스템 개발에 새로운 패러다임을 제시할 수 있음을 보여주었다.