Tae Hyun Kim (Lowell)

PNN

2분 읽기 #recsys#factor-models#product-network

정의

PNN (Qu et al., 2016)은 embedding layer와 DNN hidden layer 사이에 product layer를 도입하여, feature embedding 간의 interaction을 명시적으로 포착한 후 DNN으로 전달하는 CTR 예측 모델이다.

Product Layer

Embedding vector ei\mathbf{e}_i들 사이의 pairwise interaction을 product 연산으로 계산:

lp={g(ei,ej)}i,j,lz=[e1,e2,,en]\mathbf{l}_p = \{g(\mathbf{e}_i, \mathbf{e}_j)\}_{i,j}, \quad \mathbf{l}_z = [\mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n]

Product layer의 output은 linear signal lz\mathbf{l}_z와 product signal lp\mathbf{l}_p의 결합이다:

a(1)=ReLU(Wzlz+Wplp+b)\mathbf{a}^{(1)} = \text{ReLU}(\mathbf{W}_z \mathbf{l}_z + \mathbf{W}_p \mathbf{l}_p + \mathbf{b})

Variants

Product 연산 g(,)g(\cdot, \cdot)의 정의에 따라 세 가지 변형이 존재한다:

VariantProduct 연산복잡도특성
IPNNInner product: g(ei,ej)=ei,ejg(\mathbf{e}_i, \mathbf{e}_j) = \langle \mathbf{e}_i, \mathbf{e}_j \rangleO(n2)O(n^2)Scalar output; FM과 유사한 interaction
OPNNOuter product: g(ei,ej)=eiejTg(\mathbf{e}_i, \mathbf{e}_j) = \mathbf{e}_i \mathbf{e}_j^TO(n2k2)O(n^2 k^2)Matrix output; 더 풍부한 interaction, 높은 비용
PNN*Inner + Outer product 결합O(n2k2)O(n^2 k^2)Hybrid; 두 방식의 장점 결합

여기서 nn은 field 수, kk는 embedding 차원이다.

직관적 이해

DNN에 embedding을 그냥 concatenate하여 넣으면, feature 간의 interaction을 네트워크가 암묵적으로 학습해야 한다. PNN은 embedding 쌍들의 product를 미리 계산하여 DNN에 “힌트”로 제공한다.

비유하자면, 두 재료의 궁합을 요리사가 직접 판단하게 하는 대신(DNN), 미리 재료 조합을 시식하여 궁합 점수를 함께 제공하는(product layer) 것이다. 요리사는 이 정보를 활용하여 더 나은 결정을 내릴 수 있다.

장단점

장점:

  • Pre-training 불필요 — end-to-end 학습 가능 (FNN 대비 장점)
  • Product layer가 feature interaction을 명시적으로 포착
  • IPNN은 FM과 유사한 interaction을 DNN과 결합

단점:

  • Low-order interaction(order-1, 2) 무시: Product layer의 출력이 DNN을 거치면서 원래의 low-order signal이 왜곡될 수 있음. FM처럼 low-order를 직접 output에 반영하지 않음
  • OPNN 계산 비용: Outer product는 O(n2k2)O(n^2 k^2)로 feature 수와 embedding 차원이 커지면 비효율적
  • Product layer의 pairwise 계산이 field 수 nn에 quadratic하게 증가

관련 개념

  • DeepFM - FM(low-order) + DNN(high-order) 병렬 결합; PNN이 놓치는 low-order를 보완
  • Factorization Machine - IPNN의 inner product가 FM의 2차 interaction과 유사
  • Wide and Deep - Wide(memorization) + Deep(generalization) 병렬; PNN과 다른 설계 철학
  • FNN - FM pre-training + DNN; PNN은 pre-training 없이 product layer로 대체

참고 논문

  • Qu, Y., et al. (2016). Product-based neural networks for user response prediction. ICDM 2016. — PNN 원논문
  • guoDeepFMFactorizationMachineBased2017 - DeepFM; PNN의 한계(low-order 부재)를 FM 결합으로 해결

연결 그래프