AI/기술 트렌드

AI가 자기만의 스킬을 만들어가는 방법

2025.11.05 14:00
37
0
0
  • 한눈에 보는 핵심요약
  • Skill Discovery의 개념을 소개했습니다.

안녕하세요. 에디터 느리입니다:>

 

 

슛을 던지는 강이슬 선수. 3점슛을 매우 잘 던지기로 유명하다. 출처: 점프볼

 

농구를 전혀 모르는 사람에게 ‘농구공’을 주고 ‘림 안에 공을 넣으세요’라는 목표를 달성하라고 하면 어떻게 될까요? 처음에는 엉성하게 행동하다가도 점차 어떤 폼과 각도, 힘으로 던져야 골이 들어가는지 학습하게 됩니다. ‘골을 넣는다, 크로스 드리블을 친다, 백패스를 한다, 덩크를 한다’ — 우리는 이런 모든 동작 각각을 하나의 스킬(Skill) 이라고 볼 수 있습니다. 그렇다면 AI는 어떨까요? 아무런 지식 없이 낯선 환경에 떨어진 AI가 스스로 스킬을 정의하고 학습할 수 있을까요? 이 물음에서 시작되는 개념이 바로 Skill Discovery입니다.


Skill Discovery가 등장한 이유

그 이야기를 하기 전 먼저 강화학습(Reinforcement Learning, RL)의 한계부터 짚어야 합니다. 강화학습은 스스로 환경을 탐색하며 배우는 장점을 지녔지만, 희소 보상(Sparse Reward) 문제를 갖고 있습니다.

희소 보상이란 강화학습에서 보상 신호가 매우 드물게 제공되는 상황을 말하는데요. 학습하는 에이전트가 대부분의 상태에서는 보상을 받지 못하고, 특정 조건을 만족했을 때만 보상을 받는 환경입니다.

 

 

목적지까지 가는 길은 매우 긴데 그 과정에서 보상을 하나도 받지 못하면 에이전트는 어떤 행동이 목표 달성에 유리한지 학습하기가 어렵습니다. 탐색(Exploration)이 비효율적이고 학습 속도가 매우 느려지죠. 특히나 장기 목표(Long-horizon Task)에서는 어떤 행동이 보상에 기여했는가를 측정(Credit Assignment)하는 것이 거의 불가능합니다.

이를 해결하기 위한 접근이 바로 계층적 강화학습(Hierarchical Renforcement Leanring, HRL)입니다. HRL은 ‘무엇을 할지’를 결정하는 상위 정책과, 실제 행동을 수행하는 하위 정책으로 나뉩니다. 학습 과정에서 다양한 스킬을 미리 정의하거나 스스로 만들어두고, 상위 정책이 상황에 맞게 스킬을 선택하도록 하는 방식입니다.

그렇다면 이 스킬을 어떻게 찾아야 할까요? 해당 질문에서 비롯된 것이 바로 Skill Discovery입니다. 저희는 그중에서도 이 분야의 첫 신호탄이 된 논문, <Diversity Is All You Need> (Eysenbach et al., 2018)을 함께 살펴보겠습니다.

 

스킬은 최대한 다양해야 한다

다이안(DIAYN)의 기본 전제는 단순합니다. 스킬은 다양할수록 좋다.

왜 그럴까요? 스킬이 적으면 에이전트가 탐색할 행동의 폭이 좁아집니다. 반대로 스킬이 많고 서로 구별된다면, 에이전트는 더 넓은 행동 공간에서 전략을 실험할 수 있습니다. 또한 인간이 “이 스킬을 써라”라고 정해주는 것은 지도학습(Supervised Learning)에 가깝습니다. 다이안 목표는 에이전트가 스스로 다양한 스킬을 찾아내는 것입니다. 인간이 상상하지 못한 방식의 스킬이 탄생할 수도 있으니까요.

그렇다면 스킬이란 무엇일까요? 다이안은 스킬을 특정 목표를 달성하는 것이 아니라 상태(State)의 변화를 만들어내는 능력으로 정의했습니다.

 

 

다이안은 위와 같은 정책을 학습합니다. 여기서 s는 상태(State), a는 행동(Action), z는 스킬(Latent Variable)입니다. 행동이 한번 수행되는 기본 동작이라면 스킬은 이런 행동을 묶은 것이죠. 예를 들어 ‘문 열기’라는 스킬이 있다면 우리는 그것을 ‘문 앞으로 이동’과 ‘손잡이 잡기’, ‘당기기’라는 행동으로 나눌 수 있습니다. 정책은 상태와 스킬이 주어졌을 때 어떤 행동을 할지 결정합니다. 같은 상태 s라도 스킬 z가 달라지면 행동이 달라지는 것이죠. 여기서 스킬을 잠재 변수(Latent Variable)로 표현한 이유는, 스킬이 명시적으로 구분되지 않고 잠재 공간 안에서 암묵적으로 학습되기 때문입니다.

다이안의 학습 목표는 “보상 없이 스킬의 다양성과 구분 가능성”을 극대화하는 것입니다. 이를 위해 상호정보량(Mutual Information)이라는 개념을 도입합니다.

 

 

상호정보량은 두 확률 변수 X와 Y가 얼마나 많은 정보를 공유하는가를 나타내는 값입니다. 여기서 엔트로피(Entropy) H(X)는 확률 변수 X의 불확실성을 정량적으로 표현한 것입니다. 값이 높을수록 X를 예측하기 어렵다는 뜻이죠. H(X|Y)는 Y를 알고 있을 때 X의 불확실성을 나타냅니다. 만약 이 값이 작다면, Y가 X를 예측하는데 도움이 된다는 뜻입니다. 결국 상호정보량 I(X;Y)는 Y를 알았을 때 X의 불확실성이 얼마나 줄어드는가를 측정한 값입니다. 이 값이 클수록 두 변수는 더 밀접하게 관련되어 있습니다. 이 개념을 상태와 스킬에 적용하면 다음과 같은 형태가 됩니다.

 

 

즉, 어떤 상태 분포 S를 보면, “아, 이런 상태를 만드는 건 스킬 z1 밖에 없어!”라고 구별할 수 있어야 한다는 뜻입니다. 이를 통해 다이안은 보상 없이도 다양한 행동 패턴을 학습할 수 있습니다.

내재적 보상함수

이런 궁금증이 생길 수도 있습니다.

“인간이 보상을 명시적으로 줄 수 없다면, 목적을 이루기 위해 어떻게 보상함수를 설계했을까?”

결론부터 이야기하자면 다이안에서는 환경보상을 전혀 주지 않았습니다. 그렇게 된다면 우리가 의도하는 “최대한 다양한 스킬”을 찾을 수 없을 테니까요. 다이안의 전체 알고리즘을 보며 알아봅시다.

 

DAIYN Algorithm 출처: <Diversity Is All You Need> (Eysenbach et al., 2018)

 

먼저 학습 초기에 균등분포 p(z) 안에서 스킬 z를 하나 뽑습니다. 한 에피소드가 흘러갈 동안 z는 고정됩니다. 하나의 에피소드는 하나의 스킬을 실행하는 과정인 것이죠. 예를 들어 가장 위에 있는 파란색 네모는 스킬 정책(Skill Policy)입니다. 이 정책은 스킬 z와 현재 상태 s를 입력 받아 행동 a를 결정합니다. 우리는 이 정책을 “스킬에 따라 선택하는 행동이 달라지도록” 학습해야 합니다. 여기서 파라미터 θ는 학습 대상입니다. 환경(Environment)은 강화학습 환경으로, 행동 a_t가 주어졌을 때 다음 상태 s_(t+1)를 반환합니다. 그럼 맨 아래에 있는 판별기(Discriminator)가 s_(t+1)이 어떤 스킬 z에 의해 생성되었는지를 추정합니다. 이때 판별기의 목적은 스킬 간 구분 가능성(Discriminability)을 높이는 것입니다. 여기서 파라미터 Φ도 학습 대상입니다.

다이안은 보상 함수를 다음과 같이 정의했습니다. 실제로 환경에서 받는 것이 아니라 모델 내에서 주는 것이기 때문에 이것을 **내재적 보상(Intrinsic Reward)**라고 합니다.

 

 

q는 판별기 모델로, 지금 상태를 봤을 때 어떤 스킬이 실행 중인지 맞히는 것이 목표입니다. 만약 판별기가 정확히 맞출 수 있다면 스킬별로 생성된 상태 분포가 잘 구분된다는 것을 의미하고 그에 따라 높은 보상을 얻게 됩니다. 사실 다이안의 이론적 목표는 실제 확률 분포 p(z|s)를 이용해 상호정보량 I를 최대화하는 것이지만, 실제 환경에서 p(z|s)를 알 수는 없습니다. 때문에 이를 대신하여 판별기 q를 학습시키는 것입니다.

반면 p는 스킬의 사전 확률 분포, 즉 스킬 z가 선택될 확률을 의미합니다. -log p(z)는 정보이론적 정규화(Information-theoretic regularization) 항으로 작동합니다. 정보이론에서 이는 희귀한 사건일수록 더 큰 정보량을 가진다는 원리를 반영합니다. 자주 발생하는 스킬(확률이 높은 스킬)은 정보량이 적고, 거의 사용되지 않는 스킬(확률이 낮은 스킬)은 더 큰 정보량을 가집니다. 때문에 이 항을 보상에 포함시키면 다양한 스킬이 시도되도록 유도함과 동시에 특정 스킬의 과도한 사용을 방지해 모든 스킬이 균등하게 선택되도록 유지할 수 있죠.

왼쪽으로 뛰는 개미

다이안의 실험 결과는 단순하지만 인상적입니다. 아무런 외부 보상 없이도 에이전트는 다양한 행동 패턴을 스스로 찾아냈습니다. 예를 들어, 네 발 달린 로봇 에이전트(Ant-v1)는 어떤 스킬로는 시계 방향으로, 다른 스킬로는 반시계 방향으로 움직이는 법을 배웠습니다. 또 하나의 스킬은 제자리에서 회전하거나, 특정 방향으로 뛰어가기도 했죠.

 

Ant skills: 여러 방향으로 뛰어가거나 걸어가는 모습 출처: <Diversity Is All You Need> (Eysenbach et al., 2018)

 

이 모든 행동은 보상 없이도 서로 다른 상태 분포를 만들어내도록 학습된 결과입니다. 즉, 에이전트는 스스로 차별화된 행동을 목표로 한 셈입니다. 여기서 그들이 발견한 스킬 중 몇몇은 특 목표를 달성하는데 전혀 소용이 없을 수도 있습니다. 중요한 점은 그렇게 만들어낸 스킬들은 이후 다른 목표를 달성하는데 사용될 가능성이 있다는 것이죠. 어떤 목표를 이해 어떤 스킬이 필요할지 모르니, 이렇게 최대한 다양하게 만들어둔 것입니다.

스스로 다양한 스킬을 탐구하는 AI

다이안의 접근은 완벽하지 않습니다. ‘상태 그 자체’로 스킬을 구분하기 때문에 시간적 연속성(Temporal consistency)이나 환경의 동역학(Dynamics)을 충분히 고려하지 못합니다. 단지 서로 다른 위치에 도달하는 것만으로도 스킬이 구분될 수 있는데, 이 경우 실제로는 비슷한 움직임이라도 서로 다른 스킬로 분류될 수 있죠. 이를 보안하기 위해 한 연구(Sharma et al., 2019)는 **상태 자체가 아닌 ‘상태가 어떻게 변했는가’**에 초점을 맞춥니다. 또한 최근에는 이렇게 학습된 스킬들을 어떻게 조합하거나 계층적으로 재활용할 수 있을지(Skill Composition, Skill Reuse)에 대한 연구도 활발합니다.

Skill Discovery는 AI가 외부의 보상 없이 스스로 행동의 의미를 발견한다는 점에서 큰 전환점이었습니다. 다이안은 단순히 다양한 행동을 만들어내자는 실험에서 출발했지만 그 결과, AI가 스스로 목표를 설정할 수 있는 가능성을 보여줬습니다. 보상이 없는 세계에서도 학습이 일어나고, 그 속에서 AI는 자신만의 방식으로 세계를 이해합니다. 인간이 단지 호기심에 이끌려 무언가를 시도하고 배우듯, AI도 ‘탐구 그 자체’를 학습 동기로 삼을 수 있는 것이 아닐까요?

 

 

#AI #Skill discovery
이 콘텐츠가 도움이 되셨나요?
이 글에 대한 의견을 남겨주세요!
서로의 생각을 공유할수록 인사이트가 커집니다.

    추천 콘텐츠