The Deadly Triad

딥러닝으로 비유한 인간관계의 맹점

by 블랑슈

삶의 많은 부분을 Deep Learning으로 비유할 수 있다고 생각한다 (비유는 어려운 것을 쉬운 것에 빗대는 것이므로, 딥러닝보다 훨씬 어려운 문제인 인생살이를 딥러닝에 빗대는 것이 맞다). 그중에서도 특히나 비유가 잘 들어맞는 영역은 인간관계의 영역과 Reinforcement Learning (강화학습)인 것 같다. RL을 모르는 사람에게는 좀 어려울 수 있긴 한데, 아는 사람은 재밌게 읽을 것 같다.


RL이란 무엇일까?

RL은 “게임”을 푸는 학습 방법론이다. 2016년의 알파고도 RL로 만들어졌고, 자율주행차도 RL 알고리즘에 의해 동작하며, 심지어 ChatGPT에도 다소 RL의 요소가 들어간다. RL은 "상태"의 연속에서 AI가 알맞는 "행동"을 고르는 알고리즘이다. 세상이 가질 수 있는 여러 상태가 있고, 각 상태에 대하여 우리가 취할 수 있는 여러 행동들이 있다. 그중 하나를 선택해 행동하면, 그에 의하여 지금 상태가 바뀌고, 보상이 주어진다. 게임의 목적은 끝까지 가장 많은 보상을 획득하는 것이다.


실제로 훈련을 할 때, AI는 게임의 법칙을 모르기 때문에 일단 아무 행동이나 찔러본다. 바둑을 예로 들면 한가운데에도 수를 두어보고, 구석에도 두어보고 하는 식이다. 그렇게 게임을 이기고 지면서 자기 행동에 대해 보상을 받고, 무엇이 좋은 행동이고 무엇이 안 좋은 행동인지 슬슬 익혀나간다. 인간관계라는 훨씬 복잡한 게임도 그렇다. 이것도 일반적인 규칙이란 없기 때문에, 어릴 때부터 이러저러한 행동을 해보고, 어떤 결과가 주어지는지 보면서 아, 마트에서 소리 지르면 안 되는구나, 아, 친구에게 생일선물을 주면 좋아하는구나, 이렇게 학습해 나간다.


그런데 RL은 참 어렵다. 왜냐하면 같은 행동을 해도 어떤 상태에 있었는지에 따라서 완전히 보상이 바뀔 수 있기 때문이다. 만약 자율주행차를 학습하는데, 초록 불인 상태에서 직진하면 +의 보상을 받지만 빨간불에 직진이라면... 모든 상태에서 모든 가능한 행동을 해본다면 완벽하게 학습할 수 있겠지만, 상태의 수가 너무나 많기 때문에 실질적으로 그렇게 하는 것은 불가능하다.


그래서 "Q-함수"라고 부르는 것을 만든다. 이 함수는 지금 속한 상태와 취하고 싶은 행동을 넣으면 보상을 내놓는, 매우 편리한 함수다. 예를 들어서 이 Q 함수에게 현재 바둑판의 상태와 내가 수를 두고 싶은 위치를 알려주면, 이기는 데 얼마나 도움이 될지 알려주는 식이다. 당연히 이 함수를 완벽하게 안다면 웬만한 문제를 풀 수 있을 것이다. 다만 그렇게 할 수는 없기 때문에, 이 함수를 추정하기 위해서 Deep Q-Learning이라는 알고리즘을 쓴다.


RL에서의 죽음의 삼인방

여기서 상당히 무서운 이름이 등장하는데, 바로 RL에서의 "죽음의 삼인방" (Deadly Triad)이다. 이 삼인방 때문에 잘못하면 RL 알고리즘이 아예 이상한 답을 내놓을 수도 있다.


첫 번째는 "Bootstrapping"으로, 추정값을 사용해 또 추정을 하는 것이다. 그러니까 불확실한 값을 사용해 예측을 시행하는 것이라고 할 수 있다. 그리고 맨 처음 값은 사실 랜덤이다. 그래서 이 Bootstrapping을 자주 하다 보면 처음에 랜덤한 값 때문에 실제에서 너무 빗나가버릴 수 있다.


두 번째는 "Off-policy Learning"으로, 실제 데이터를 얻으러 충분히 자주 행동을 하지 않는 것이다. 특정 상태에서 특정 행동을 했을 때의 Q 함숫값이 진짜 맞는지, 직접 가서 그 행동을 함으로 확인을 해줘야 하는데, 상황이 여의치 못하면 그렇게 하지 못하면서 실제와 더욱 멀어질 수 있다.


세 번째는 "Function Approximation"으로, 실제 함수가 아니라 "함수 추정"을 하기 때문에 발생한다. 함수 추정을 하게 되면 두 상태 사이의 사소한 차이를 놓치고 두루뭉술하게 넘어가게 되고, 그러면서 중요한 디테일을 포착하지 못해 오류로 이어질 수 있다.


사실 이 죽음의 삼인방 중에서 어느 하나라도 빠지면 안정적인 알고리즘을 만들 수 있지만, 세 가지가 동시에 등장하면 예측하는 값이 완전히 삼천포로 빠져버릴 수 있다. 그래서 RL을 연구하는 사람들은 이 문제를 해결하기 위해서 여러 가지를 시도하는데, 흥미로운 내용이지만 오늘의 주제는 그게 아니니까 넘어가도록 하겠다.


인간관계에서의 죽음의 삼인방

위에서 마치 인간관계를 RL에 비유할 수 있다고 했는데, 인간관계에서의 "예측"을 어렵게 만드는 요소들이 RL의 죽음의 삼인방과 닮아 있는 것 같아서 써본다.


첫 번째는 "자가 편향"으로, 마치 위에서 말한 Bootstrapping과 같다. 나만 그러는지는 몰라도, 한번 편향이 자리 잡히면 같은 행동을 해도 완전히 달라 보인다. 예를 들어 A가 나에게 성적을 얘기하는 것은 자기 자랑으로 느껴지는데, B가 성적을 말해주는 것은 나에 대한 신뢰로 느껴질 수 있다. 그런데 이게 자가회귀적 성질이 있어서, 한번 A를 아니꼽게 보기 시작하거나, B를 호감을 가지고 보기 시작한다면 앞으로는 더욱더 그렇게 보인다. 그런데, 이 관점의 차이를 결정하는 것은 분명 오로지 첫인상은 아니겠지만, 관계가 얕다면 첫인상의 영향이 참 큰 것 같다. 물론 관계가 깊어지면 첫인상의 영향은 줄어들고 이 사람의 실제가 미치는 영향이 커지겠지만, 편향의 영향은 무시하기 어려운 것 같다.


두 번째는 "온라인의 부정확성"으로, 위에서 말한 "Off-policy Learning"과 대응된다. 요즘의 인간관계는 오프라인과 온라인을 항상 병행한다. 2년 반 동안 확실히 느낀 것은, 온라인상의 소통은 마치 확인되지 않은 Q 함숫값처럼 오해의 소지가 (주로 부정적으로) 있다는 것이다. 하지만 모든 사람과 매일 만날 수 있는 것도 아니기 때문에 온라인으로 소통할 일이 훨씬 많고, 그런 확인되지 않은 예측은 계속 떠다니는데, 이를 바탕으로 또 다른 행동을 해야 할 때도 있다. 예를 들어, 어떤 사람이 3일간 내 카톡을 안 보는 것이, 정말로 바빠서인지, 혹은 의도적인 것인지, 온라인 상태에서는 불확실하다. 이런 게 참 난감하게 만드는 부분이다.


세 번째는 "성급한 일반화"로, "Function Approximation"과 같은 맥락이다. 사람의 두뇌는 그렇게까지 복잡하지 못해서, 각 사람들 사이의, 혹은 각 상황 사이의 미묘한 차이를 완전히 캐치할 수 없다. 애초에 주어지는 정보 자체도 불충분하다 (각 상황에서 상대방의 마음이 어땠는지, 우리가 알 방법은 없다). 그렇기 때문에 비슷해 보이는 상황이라면 과거의 케이스를 가져와서 이번에도 이럴 거야, 추정을 할 공산이 크다. 물론 맞을 수도 있지만, 인간관계는 특히나 변수가 너무나 많아서 하나만 잘못되어도 완전히 다른 결과가 발생할 수 있다는 것을 경험적으로 알고 있다. 저번에는 이게 들어맞었는데, 하면서 행동을 했는데 오히려 문제를 키우는 꼴이 날 수 있는 것이다.


이렇게 불확실하고 부정확한 죽음의 삼인방 (사실 말이 삼인방이지, 이것보다 훨씬 더 많은 요소가 난이도를 높일 것이다) 때문에 인간관계는 참 어려운 것 같다. 글을 다 쓰고 나서 생각해 보니, 대 전제가 틀렸을지도 모르겠다. RL을 인간관계에 비유할 생각을 하다니, 인간관계는 (딥러닝 중에서 가장 복잡스러운) RL로도 비유할 수 없는 혼돈의 카오스다. 내가 뭘 "잘" 해서 풀어볼 수 있는 게임이 아니라, 그저 주어지는 대로 해야 할 몫을 하면서, 생각을 오히려 덜 하고 사는 것이 편하다는 결론을 내려본다.

keyword