추천의 이유를 묻다: 인과추론으로 더 똑똑한 추천시스템 만들기(1)


  • 해당 포스팅은 추천시스템에 사용되는 인과추론 방법론에 대한 서베이 논문을 가볍게 리뷰한 글입니다.
  • 서베이 논문: A Survey on Causal Inference for Recommendation
  • 인과추론 초보라 제대로 이해하고 썼는지 모르겠네요😂 관련해서 관심 있으신 분들은 언제든 좋은 의견 주시면 감사하겠습니다🙇🏻‍♀️


추천시스템을 보면 한가지 의문이 떠오르죠. 내가 보고 있는 이 콘텐츠가 정말 내 취향이라서 추천된 걸까, 아니면 단순히 많이 클릭된 콘텐츠라서 눈앞에 나타난 걸까?
이런 질문에 답하기 위해 앞으로 몇번의 포스팅을 통해 “A Survey on Causal Inference for Recommendation” 논문을 정리해 보려고 합니다. 이 논문은 추천시스템에 인과추론(casual inference)을 적용해, 단순히 ‘뭘 추천할지’를 넘어 ‘왜 이걸 추천하는지’까지 고민하는 접근 방식을 다루고 있습니다. 논문이 다루는 내용이 방대하기 때문에 한 번에 다루기보다는 여러 포스팅에 걸쳐 나눠서 정리할 계획입니다.
이번 첫번째 포스팅에서는 추천 시스템이 가진 문제점과 인과추론이 왜 필요한지, 그리고 이를 어떻게 적용할 수 있는지 간단히 살펴보려고 합니다.
추천 시스템과 인과추론에 관심이 있다면 함께 읽어보아요! 재밌게 읽어주세요😉


Strengths of Causal Recommendation: Understanding the Why Behind the What

추천시스템은 이제 단순한 패턴 인식을 넘어 사용자의 행동을 더 깊이 이해하는 방향으로 진화하고 있습니다. 기존의 머신러닝 기반 추천시스템이 변수 간의 상관관계(correlation)에만 초점을 맞췄다면, 인과추론(causal inference)을 활용한 추천은 한 발 더 나아가 왜(why)를 설명합니다.💡

먼저 Causal Recommendation의 주요 장점과 이를 추천시스템에 적용했을 때 얻을 수 있는 이점을 살펴보겠습니다.

1. Cause and Effect: Beyond Correlation

대다수의 머신러닝 모델은 변수 간의 관계를 파악할 때 상관관계 분석에 초점을 맞춥니다. 하지만 사용자의 시청 이력, 클릭, 구매와 같은 행동 데이터는 종종 sequential하고 복잡한 영향을 받습니다. 단순한 상관관계만으로는 숨겨진 인사이트를 포착하기 어렵습니다.
➡️ 인과관계를 파악할 필요 있음

  • Sequential Data
    • 예를 들어, 사용자가 특정 콘텐츠를 클릭한 이유는 단순히 그 콘텐츠가 재미있어 보였기 때문일까요? 아니면 그 콘텐츠가 눈에 더 많이 띄었기 때문일까요?
      • 시청 이력에는 노출 빈도, 인기도, 사용자 관심사 등의 다양한 요인이 얽혀 있습니다.
      • 인과추론은 이러한 요인들을 분석하여 데이터 편향을 줄이고, 더 공정하고 정확한 추천을 가능하게 합니다.
  • Controlling for Causality
    • 특정 변수(예: 노출 빈도)가 추천 결과에 미치는 영향을 파악하고 이를 통제하면 추천시스템의 성능을 향상시킬 수 있습니다.


2. What-If Analysis: Exploring Alternate Scenarios

추천시스템의 궁극적인 목표는 사용자가 기대하는 콘텐츠를 제공하는 것입니다. 하지만 이 과정에서 발생하는 질문이 있습니다.
➡️ “만약 다른 콘텐츠를 추천했더라면, 사용자의 반응은 달랐을까?”

인과추론을 활용하면 이러한 가설적인 시나리오를 다룰 수 있습니다.

  • Synthetic Data Generation
    • 관측되지 않은 데이터, 즉 “만약 A 대신 B를 추천했다면?”과 같은 시나리오를 시뮬레이션할 수 있습니다.
      이는 새로운 콘텐츠나 아이템을 테스트하거나, 특정 사용자의 잠재적인 관심사를 탐구할 때 유용합니다.
  • Handling Non-IID Data
    • 추천시스템에서 사용되는 데이터는 유저와 아이템이 다양한 상황에서 등장하기 때문에 독립적이고 동일한 분포(IID)를 따르지 않는 경우가 많습니다.
      • 인과추론은 이러한 비독립성(Non-IID)을 효과적으로 처리할 수 있습니다.
      • 결과적으로, 더 일반화된 추천이 가능합니다.


3. Discovering Invariant Features

인과추론은 특정 상황에 구애받지 않는 불변의 특징을 탐색합니다.

  • Resilience to Change
    • 예를 들어, 특정 사용자가 클릭을 많이 한 이유가 단순히 그 콘텐츠의 인기도 때문이었다면, 상황이 바뀌었을 때 그 추천은 더 이상 효과적이지 않을 수 있습니다.
    • 반대로, 사용자의 원인적 특징(causal features)에 기반한 추천은 더 높은 재현성을 보입니다.
  • Estimating Recommendation Effectiveness
    • 추천시스템의 효과는 사용자마다 다르게 나타납니다.
      • 어떤 사용자에게는 동일한 추천이 강력한 영향을 미치는 반면, 다른 사용자에게는 무의미할 수 있습니다.
      • 인과추론을 통해 개인화된 추천 효과를 정량화할 수 있습니다.

image



추천 시스템에서의 인과 추론 방법론

추천 시스템에서의 인과 추론(Causal Inference) 접근 방식은 크게 세 가지 주요 방법론으로 나눌 수 있습니다.

1. PO-based Method (Potential Outcome)

이 방법은 “잠재적 결과(Potential Outcome)”라는 개념에 기반합니다.

  • 개체(예: 유저)가 특정 처치(추천 또는 노출)를 받았을 때와 받지 않았을 때의 잠재적 결과(유저 반응)를 비교합니다.
  • 이를 통해 추천의 인과적 효과를 측정하고, 추천 모델의 성능을 평가하거나 최적화하는 데 활용됩니다.
    • 추천 모델의 성능 향상 및 효과 검증
  • 활용 사례: 모델 성능을 측정할 때 관찰되지 않은 데이터에 대한 편향을 완화하거나, 특정 추천 전략이 실제로 사용자 행동에 어떤 영향을 미치는지 검증
    • 예를 들어, 특정 사용자가 음악 추천을 받았을 때 음악을 재생할 가능성과 추천을 받지 않았을 때 재생할 가능성을 비교하여, 추천의 진정한 효과를 추정합니다.


2. SCM-based Method (Structural Causal Model)

구조적 인과 모형(Structural Causal Model)은 그래프 구조를 사용해 변수들 간의 관계를 모델링합니다.

  • 구조적 인과모형으로관찰 가능한 변수와 관찰 불가능한 변수를 동시에 고려하여, 추천 과정에서 발생할 수 있는 불확실성을 고려한 인과 효과를 추정합니다.
  • 이를 통해 추천 과정에서 발생하는 편향 문제를 구조적으로 분석하고 해결할 수 있습니다. (SCM 문제로 변환)
  • 활용 사례: 피드백 루프(Feedback Loop)를 파악하고 제어하여 특정 콘텐츠만 과도하게 추천되는 문제를 해결
    • 예를 들어, 사용자의 시청 이력, 콘텐츠의 인기도, 그리고 노출 빈도를 그래프 상에서 연결하여 어떤 요인이 추천 결과에 가장 큰 영향을 미치는지 분석합니다.


3. General Counterfactuals-based Method

이 방법은 반사실적 시나리오(Counterfactual Scenario)를 가정하여 추천의 효과를 추정합니다.

  • 관찰할 수 없는 상황(예: “다른 콘텐츠를 추천했더라면 사용자가 클릭했을까?”)을 모델링해, 추천 시스템의 편향 문제를 완화하고 공정성을 확보합니다.
  • 활용 사례: 관찰 데이터에 포함되지 않은 사용자 행동을 추정하여 추천 시스템의 다양성과 설명 가능성을 개선
    • 예를 들어, 사용자 A가 듣지 않은 곡을 추천 리스트에 포함했을 경우 해당 곡을 좋아했을 가능성을 계산하거나, 특정 장르의 곡이 지나치게 노출되지 않도록 제어합니다.

image


각 방법에 관하여는 다음 포스팅에서 더 자세히 말씀드리도록 하겠습니다. 투비컨디뉴..⭐️

Reference






© 2020.02. by ysjang0926

Powered by theorydb