교차 네트워크(Cross Network)

HanJu Han·2025년 1월 4일
0

추천 시스템

목록 보기
38/49

교차 네트워크(Cross Network)의 수식:


1. 교차 피쳐(Cross Feature)란?

교차 피쳐는 두 개 이상의 입력 특성(feature)을 조합하여 생성된 새로운 특성입니다. 예를 들어:

  • country * bananas: 국가와 바나나 소비량의 상호작용
  • bananas * cookbooks: 바나나 소비량과 요리책 소유량의 상호작용

이러한 교차 피쳐는 모델이 단순한 선형 관계뿐만 아니라, 복잡한 비선형 관계도 학습할 수 있도록 돕습니다.


2. 교차 네트워크의 수식 분석

교차 네트워크의 수식은 다음과 같습니다:

이 수식은 교차 피쳐를 학습하는 데 중요한 역할을 합니다. 아래에서 각 부분을 분석해 보겠습니다.

2.1 ( W_l \cdot x_l + b_l )

  • ( W_l ): 학습 가능한 가중치 행렬
  • ( x_l ): 현재 레이어의 출력
  • ( b_l ): 학습 가능한 편향 벡터
  • 이 부분은 선형 변환을 수행합니다. 즉, 현재 레이어의 출력 ( x_l )을 새로운 공간으로 매핑합니다.

2.2 ( x_0 \cdot (W_l \cdot x_l + b_l) )

  • ( x_0 ): 입력 특성 (초기 입력)
  • ( \cdot ): 요소별 곱(element-wise product)
  • 이 부분은 입력 특성 ( x_0 )과 선형 변환 결과를 조합하여 교차 피쳐를 생성합니다.
  • 예: country * bananas, bananas * cookbooks와 같은 교차 피쳐를 생성합니다.

2.3 ( + x_l )

  • ( x_l ): 현재 레이어의 출력
  • 이 부분은 잔차 연결(residual connection)을 구현합니다.
  • 잔차 연결은 입력 특성의 정보를 보존하여, 모델이 더 깊게 쌓일 때도 안정적으로 학습할 수 있도록 돕습니다.

3. 교차 피쳐 학습 과정

교차 네트워크는 여러 레이어를 쌓아 고차원 상호작용을 학습합니다. 아래는 교차 피쳐가 어떻게 학습되는지 예시를 통해 설명합니다.

입력 데이터

  • country = 0.5
  • bananas = 0.75
  • cookbooks = 0.3

교차 네트워크 계산

  1. 첫 번째 교차 네트워크 레이어:

    • 입력: ( x_0 = [0.5, 0.75, 0.3] )
    • 계산:
      [
      x_1 = x_0 \cdot (W_0 \cdot x_0 + b_0) + x_0
      ]
    • 결과: ( x_1 = [0.55, 0.82, 0.35] ) (가정)
  2. 두 번째 교차 네트워크 레이어:

    • 입력: ( x_0 = [0.5, 0.75, 0.3] ) (원본 입력)
    • 이전 레이어 출력: ( x_1 = [0.55, 0.82, 0.35] )
    • 계산:
      [
      x_2 = x_0 \cdot (W_1 \cdot x_1 + b_1) + x_1
      ]
    • 결과: ( x_2 = [0.6, 0.9, 0.4] ) (가정)

4. 교차 피쳐 학습의 의미

4.1 명시적 교차 피쳐 생성

  • 교차 네트워크는 입력 특성 간의 교차 피쳐를 명시적으로 생성합니다.
  • 예: country * bananas, bananas * cookbooks와 같은 교차 피쳐를 학습합니다.

4.2 고차원 상호작용 학습

  • 여러 교차 네트워크 레이어를 쌓으면 고차원 상호작용도 학습할 수 있습니다.
  • 예: country * bananas * cookbooks와 같은 3차 상호작용도 학습할 수 있습니다.

4.3 효율적인 계산

  • 교차 네트워크는 효율적인 수식을 사용하여 교차 피쳐를 계산합니다.
  • 모든 가능한 교차 피쳐를 명시적으로 생성하지 않아도 됩니다.

5. 결론

교차 네트워크의 수식:
[
x_{l+1} = x_0 \cdot (W_l \cdot x_l + b_l) + x_l
]
은 입력 특성 간의 교차 피쳐를 명시적으로 학습하는 데 사용됩니다. 이를 통해 모델은 특성 간의 복잡한 상호작용을 직접적으로 학습할 수 있으며, 고차원 상호작용도 캡처할 수 있습니다. 이는 추천 시스템, 회귀 문제 등 다양한 머신러닝 작업에서 모델의 성능을 향상시키는 데 도움이 됩니다.


구체적 설명

*피쳐 차원은 늘어나지 않지만 선형 변환과 곱을 통해 교차 피쳐를 만드는 듯한 효과를 주는 것

profile
시리즈를 기반으로 작성하였습니다.

0개의 댓글