KR102203252B1 - Method and system for collaborative filtering based on generative adversarial networks - Google Patents

Method and system for collaborative filtering based on generative adversarial networks Download PDF

Info

Publication number
KR102203252B1
KR102203252B1 KR1020180125104A KR20180125104A KR102203252B1 KR 102203252 B1 KR102203252 B1 KR 102203252B1 KR 1020180125104 A KR1020180125104 A KR 1020180125104A KR 20180125104 A KR20180125104 A KR 20180125104A KR 102203252 B1 KR102203252 B1 KR 102203252B1
Authority
KR
South Korea
Prior art keywords
model
vector
item
user
gan
Prior art date
Application number
KR1020180125104A
Other languages
Korean (ko)
Other versions
KR20200046189A (en
Inventor
김상욱
채동규
강진수
이정태
Original Assignee
네이버 주식회사
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사, 한양대학교 산학협력단 filed Critical 네이버 주식회사
Priority to KR1020180125104A priority Critical patent/KR102203252B1/en
Publication of KR20200046189A publication Critical patent/KR20200046189A/en
Application granted granted Critical
Publication of KR102203252B1 publication Critical patent/KR102203252B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Abstract

GAN(generative adversarial network)에 기반한 협업 필터링을 위한 방법 및 시스템이 개시된다. GAN에 기반한 협업 필터링 방법은, 아이템에 대하여 실제 값 벡터 단위(real-valued vector-wise)로 상기 GAN의 생성 모델(generative model)과 판별 모델(discriminative model)을 트레이닝하는 단계; 및 상기 트레이닝된 생성 모델과 판별 모델을 이용하여 사용자에게 개인화된 아이템 목록을 추천하는 단계를 포함한다.A method and system for collaborative filtering based on a generative adversarial network (GAN) are disclosed. The GAN-based collaborative filtering method includes: training a generative model and a discriminative model of the GAN in real-valued vector-wise for an item; And recommending a personalized item list to a user using the trained generation model and the discrimination model.

Description

생성적 적대 신경망에 기반한 협업 필터링을 위한 방법 및 시스템{METHOD AND SYSTEM FOR COLLABORATIVE FILTERING BASED ON GENERATIVE ADVERSARIAL NETWORKS}Method and system for collaborative filtering based on generative adversarial neural networks {METHOD AND SYSTEM FOR COLLABORATIVE FILTERING BASED ON GENERATIVE ADVERSARIAL NETWORKS}

아래의 설명은 생성적 적대 신경망(generative adversarial network, 이하 GAN) 기반의 협업 필터링 기술에 관한 것이다.The following description relates to a collaborative filtering technology based on a generative adversarial network (GAN).

협업 필터링(collaborative filtering, 이하 CF)은 추천 시스템에서 가장 널리 사용되는 방법 중 하나이다.Collaborative filtering (hereinafter CF) is one of the most widely used methods in recommendation systems.

예컨대, 한국 등록특허공보 제10-1030653호(등록일 2011년 04월 14일)에는 추천 대상 사용자 와 다른 사용자의 각 사용자 선호도 정보 엔트로피 간의 관계를 가중치로 하여 상기 추천 대상 사용자와 다른 사용자 간의 유사도를 보정함으로써 선호도 예측의 정확성이 개선된 협업 필터링 추천 기술이 개시되어 있다.For example, Korean Patent Publication No. 10-1030653 (registration date April 14, 2011) corrects the similarity between the recommendation target user and other users by using the relationship between the recommendation target user and the entropy of each user preference information of another user as a weight. By doing so, a collaborative filtering recommendation technology in which the accuracy of prediction of preference is improved is disclosed.

CF는 사용자의 이전 선호도 기록을 수집함으로써 사용자에게 개인화된 아이템 리스트를 제공하는 것을 목표로 한다. 사용자의 선호도 이력은 일반적으로 열이 사용자에 해당하고, 행이 아이템에 해당하며, 값이 아이템에 대한 사용자의 선호도에 해당하는 희소(sparse) 행렬 형태로 표현된다. 여기서, 사용자의 선호도(또는 피드백)는 1에서 5까지의 등급으로 제공되거나(명시적), 구매 또는 클릭과 같은 단항(unary) 방식으로 제공될 수 있다(암시적).The CF aims to provide the user with a personalized list of items by collecting the user's previous preference records. In general, the user's preference history is expressed in the form of a sparse matrix in which a column corresponds to a user, a row corresponds to an item, and a value corresponds to the user's preference for the item. Here, the user's preference (or feedback) may be provided with a rating of 1 to 5 (explicit), or may be provided in an unary manner such as purchase or click (implicit).

많은 CF 방법들 중에서 아이템에 대한 사용자의 과거 선호도 패턴 학습 모델을 구축하는 모델 기반 CF 방법이 가장 성공적이라고 알려져 있다. 가장 널리 사용되는 모델 기반 CF 방법들 중 일부는 사용자와 아이템의 잠재된 특징 사이의 선형 상호 작용(linear interactions)을 학습하는 행렬 인수 분해(matrix factorization, MF)를 기반으로 한다.Among many CF methods, the model-based CF method, which builds a model for learning patterns of users' past preferences for items, is known to be the most successful. Some of the most widely used model-based CF methods are based on matrix factorization (MF), which learns linear interactions between the user and the latent features of an item.

최근 심층 신경망 기반의 CF 방법들이 최근 주목 받고 있다. 사용자와 아이템 간 잠재적인 요인의 비선형 상호 작용을 발견하고 임의의 연속 함수를 근사하는 DNN의 능력으로 인하여 DNN 기반 CF 모델은 등급 예측 및 top-N 추천 작업 모두에 대한 강력한 성과를 가진다.Recently, deep neural network-based CF methods have recently attracted attention. Due to the DNN's ability to discover nonlinear interactions of potential factors between users and items and approximate arbitrary continuous functions, the DNN-based CF model has strong performance in both grade prediction and top-N recommendation work.

GAN은 주어진 데이터의 분포에 대한 모방을 학습하는 DNN 중 하나에 해당된다. GAN은 다음과 같은 두 가지 모델로 구성된다: 하나는 생성 모델(이하, 'G'라 한다)이고, 다른 하나는 판별 모델(이하, 'D'라 한다)이다. 학습하는 동안, G는 사실적인 (그러나 가짜인) 데이터를 생성하여 D로 전달한다. D는 데이터가 G가 아닌 실측 자료(ground truth)에 대한 가능성을 평가한다. 트레이닝 과정은 G와 D 사이의 최소극대화(minimax) 게임이다: D가 가짜 데이터들로부터 실측 자료를 정확하게 구별하려고 시도하는 동안 G는 오류율(즉, fool)을 증가시키려고 노력한다. 이러한 적대적 과정의 결과로서, G는 적어도 인간의 눈에 진본인 것으로 보이는 사진과 같은 현실적인 데이터를 생성하는 방법을 학습한다.GAN is one of the DNNs that learn to mimic the distribution of the given data. The GAN consists of two models: one is the generative model (hereinafter referred to as'G') and the other is the discriminant model (hereinafter referred to as'D'). During training, G generates realistic (but fake) data and passes it to D. D evaluates the likelihood of the data being ground truth, not G. The training process is a minimax game between G and D: G tries to increase the error rate (i.e., fool) while D tries to accurately distinguish the actual data from the fake data. As a result of this hostile process, G learns how to generate realistic data, such as photographs, that at least appear to be authentic to the human eye.

상기한 GAN은 이미지 생성 분야에서 가장 활발히 연구되고 있으나, 추천 시스템 분야에 적용하는 연구는 미미한 실정이다.The above-described GAN is being studied most actively in the field of image generation, but the research applied to the field of recommendation system is insignificant.

추천에 대한 높은 정확성을 제공하는 GAN 기반 협업 필터링 프레임 워크를 제공할 수 있다.It is possible to provide a GAN-based collaborative filtering framework that provides high accuracy for recommendations.

GAN 기반 협업 필터링 방법에 사용된 벡터 단위(vector-wise) 적대적 트레이닝의 새로운 방향을 제시할 수 있다.A new direction of vector-wise hostile training used in the GAN-based collaborative filtering method can be proposed.

GAN(generative adversarial network)에 기반한 협업 필터링 방법에 있어서, 아이템에 대하여 실제 값 벡터 단위(real-valued vector-wise)로 상기 GAN의 생성 모델(generative model)과 판별 모델(discriminative model)을 트레이닝하는 단계; 및 상기 트레이닝된 생성 모델과 판별 모델을 이용하여 사용자에게 개인화된 아이템 목록을 추천하는 단계를 포함하는 GAN에 기반한 협업 필터링 방법을 제공한다.In a collaborative filtering method based on a generative adversarial network (GAN), training a generative model and a discriminative model of the GAN in real-valued vector-wise for an item ; And it provides a GAN-based collaborative filtering method comprising the step of recommending a personalized item list to the user by using the trained generation model and the discrimination model.

일 측면에 따르면, 상기 생성 모델은 실수 값으로 구성된 구매 벡터를 생성하고, 상기 판별 모델은 주어진 구매 벡터가 실측 자료(ground truth)에 해당되는 실제 구매 벡터인지 혹은 상기 생성 모델에서 생성된 구매 벡터인지 판별할 수 있다.According to one aspect, the generation model generates a purchase vector composed of real values, and the discrimination model is whether a given purchase vector is an actual purchase vector corresponding to ground truth or a purchase vector generated from the generation model. Can be identified.

다른 측면에 따르면, 실수 값 벡터로서 사용자 특정 조건 벡터와 랜덤 노이즈 벡터가 주어지면, 상기 생성 모델은 n-차원의 구매 벡터를 생성하고, 상기 판별 모델은 상기 사용자 특정 조건 벡터에 의해 조절되어 상기 생성된 구매 벡터를 해당 사용자의 실제 구매 벡터와 구별하도록 트레이닝될 수 있다.According to another aspect, when a user-specific condition vector and a random noise vector are given as real value vectors, the generation model generates an n-dimensional purchase vector, and the discrimination model is adjusted by the user-specific condition vector to generate the It can be trained to distinguish the obtained purchase vector from the actual purchase vector of the corresponding user.

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 상기 생성 모델이 각 아이템을 사용자가 구입했는지 여부를 특정하는 n-차원 표시기 벡터를 이용하여 상기 생성 모델의 출력인 상기 생성된 구매 벡터를 마스크하는 단계를 포함할 수 있다.According to another aspect, the training comprises: masking the generated purchase vector, which is an output of the generated model, using an n-dimensional indicator vector specifying whether the generated model has purchased each item by a user. It may include.

또 다른 측면에 따르면, 상기 생성 모델은 상기 사용자 특정 조건 벡터와 상기 랜덤 노이즈 벡터에 의해 n-차원의 구매 벡터를 출력하는 신경망이고, 상기 판별 모델은 자체 입력을 가지고 해당 입력이 실측 자료일 확률을 나타내는 단일 스칼라 값을 출력하는 신경망이고, 상기 트레이닝하는 단계는, 미니배치(minibatch)와 역-전파(back-propagation)를 이용한 확률적 기울기 하강법(stochastic gradient descent)을 통해 상기 생성 모델과 상기 판별 모델을 트레이닝할 수 있다.According to another aspect, the generation model is a neural network that outputs an n-dimensional purchase vector based on the user-specific condition vector and the random noise vector, and the discrimination model has its own input and determines the probability that the corresponding input is actual data. It is a neural network that outputs a single scalar value, and the training step includes the generation model and the discrimination through stochastic gradient descent using mini-batch and back-propagation. You can train the model.

또 다른 측면에 따르면, 상기 생성 모델에서 생성된 구매 벡터에는 데이터 세트의 모든 아이템에 대한 사용자의 예측 선호도 스코어가 포함되고, 상기 추천하는 단계는, 상기 데이터 세트에서 상기 예측 선호도 스코어가 높은 상위 N개의 아이템을 선택하여 추천할 수 있다.According to another aspect, the purchase vector generated by the generation model includes a user's prediction preference score for all items in a data set, and the recommending step includes the top N number of prediction preference scores in the data set. You can select an item and recommend it.

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 사용자가 구매하지 않은 아이템을 음수(negative) 아이템으로 추정한 후 상기 음수 아이템의 값이 0(zero)에 가까워지도록 상기 생성 모델을 트레이닝할 수 있다.According to another aspect, in the training step, after estimating an item that the user has not purchased as a negative item, the generated model may be trained so that the value of the negative item approaches zero.

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법을 통해 상기 생성 모델을 트레이닝할 수 있다.According to another aspect, the training may train the generation model through a method of minimizing an objective function of the generated model by using the negative item for zero-reconstruction normalization.

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법을 통해 상기 생성 모델을 트레이닝할 수 있다.According to another aspect, the training comprises using the item purchased by the user and the negative item as input values of the discrimination model, and outputting the negative item with respect to the loss slope of the discrimination model again in the generating model. The generation model can be trained through a method of passing to.

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법, 및 사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법이 결합된 하이브리드 방법을 통해 상기 생성 모델을 트레이닝할 수 있다.According to another aspect, the training includes a method of minimizing an objective function of the generated model by using the negative item for zero-reconstruction normalization, and inputting the item purchased by the user and the negative item to the discrimination model The generation model may be trained through a hybrid method in which a method of using as a value and transmitting the output of the negative item back to the generation model with respect to the loss slope of the discrimination model is combined.

컴퓨터와 결합되어 상기 GAN에 기반한 협업 필터링 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.It is combined with a computer to provide a computer program stored in a computer-readable recording medium in order to execute the GAN-based collaborative filtering method on the computer.

상기 GAN에 기반한 협업 필터링 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.It provides a computer-readable recording medium, characterized in that a program for executing the GAN-based collaborative filtering method on a computer is recorded.

컴퓨터 시스템에 있어서, 메모리; 및 상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 아이템에 대하여 실제 값 벡터 단위(real-valued vector-wise)로 GAN(generative adversarial network)의 생성 모델(generative model)과 판별 모델(discriminative model)을 트레이닝하고, 상기 트레이닝된 생성 모델과 판별 모델을 이용하여 사용자에게 개인화된 아이템 목록을 추천하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.A computer system, comprising: a memory; And at least one processor connected to the memory and configured to execute computer readable instructions contained in the memory, wherein the at least one processor comprises: real-valued vector-wise for the item A computer, characterized in that it trains a generative model and a discriminative model of a generative adversarial network (GAN), and recommends a personalized item list to a user using the trained generation model and discriminant model. System.

본 발명의 실시예들에 따르면, GAN 기반 협업 필터링 방법에 대해 실제 값 벡터 단위(real-valued vector-wise)의 적대적 트레이닝을 사용함으로써 적대적 트레이닝을 사용할 때 발생하는 문제를 효과적으로 해결할 수 있고 적대적 트레이닝의 이점을 최대한 활용하여 협업 필터링의 추천 정확도를 높일 수 있다.According to embodiments of the present invention, by using real-valued vector-wise hostile training for a GAN-based collaborative filtering method, it is possible to effectively solve problems that occur when using hostile training and By taking full advantage of this, you can increase the accuracy of recommendations for collaborative filtering.

도 1은 이산 아이템 인덱스 생성을 위한 트레이닝 과정의 예시를 도시한 것이다.
도 2는 IRGAN의 학습 경향을 시각화한 것이다
도 3은 GraphGAN의 학습 경향을 시각화한 것이다.
도 4는 적대적 트레이닝이 진행됨에 따라 생성모델(G)에 의해 생성된 아이템들 중에서 모순된 라벨 아이템의 비율을 나타낸 것이다.
도 5는 본 발명의 일 실시예에 있어서 GAN 기반 CF 프레임 워크(CFGAN)의 개요를 도시한 것이다.
도 6은 본 발명의 일 실시예에 있어서 CFGAN_ZP에 대한 학습 알고리즘의 예시를 나타낸 것이다.
도 7은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
1 shows an example of a training process for generating a discrete item index.
Figure 2 is a visualization of the learning trend of IRGAN
3 is a visualization of the learning trend of GraphGAN.
4 shows the ratio of contradictory label items among items generated by the generation model G as hostile training progresses.
5 shows an overview of a GAN-based CF framework (CFGAN) according to an embodiment of the present invention.
6 shows an example of a learning algorithm for CFGAN_ZP according to an embodiment of the present invention.
7 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

추천 알고리즘의 여러 접근 방법들 중 가장 대표적인 것으로 협업 필터링(CF)을 들 수 있다. 협업 필터링은 사용자가 남긴 평점을 기반으로 사용자의 취향과 상품의 취향을 분석한 후 사용자가 아직 구매하지 않은 상품들에 부여할 평점 혹은 구매할만한 상위 N개의 아이템을 예측하는 것이다.Collaborative filtering (CF) is the most representative of several approaches to the recommendation algorithm. Collaborative filtering analyzes the user's taste and taste of products based on the user's rating, and then predicts the ratings to be given to products that the user has not yet purchased or the top N items worth purchasing.

본 발명에서는 추천에 대한 더욱 높은 정확성을 제공하는 새로운 GAN 기반 협업 필터링(CF) 프레임 워크를 제안한다. 먼저, CF에 대한 기존 방법의 근본적인 문제점을 확인하고 다양한 실험을 통해 기존 방법의 문제점을 정량적으로 부각시킨다. 다음으로, 벡터 단위(vector-wise) 적대적 트레이닝의 새로운 방향을 제시하고 이 방향을 기반으로 GAN 기반 CF 프레임 워크(CFGAN)를 제안한다. 그리고, CF에 벡터 단위의 적대적 트레이닝이 채택될 때 발생하는 고유한 과제(문제)를 확인하고, 이러한 문제들을 해결할 수 있는 세 가지 CF 방법을 제안한다.The present invention proposes a new GAN-based collaborative filtering (CF) framework that provides higher accuracy for recommendations. First, the fundamental problem of the existing method for CF is identified, and the problem of the existing method is quantitatively highlighted through various experiments. Next, a new direction of vector-wise hostile training is proposed, and a GAN-based CF framework (CFGAN) is proposed based on this direction. In addition, we identify unique challenges (problems) that arise when vector-level hostile training is adopted for CF, and propose three CF methods that can solve these problems.

기존 CF에서 적대적 트레이닝의 이점이 완전히 활용되지 못한 이유는 G가 단일의 이산 아이템 인덱스를 샘플링 하도록 하는 방식에서 비롯된다. 단일의 이산 아이템 인덱스는 연속적인 값의 요소를 가지는 벡터(예를 들어, 이미지)를 생성하는 원본 GAN의 G와 완전히 상이하다. 아이템 인덱스가 이산적이고 유한하므로 G가 실측 자료와 정확히 동일한 데이터(즉, 사용자의 실제 선택)를 샘플링 할 가능성이 높다. 따라서, 트레이닝이 진행됨에 따라 D는 혼란에 빠지게 되므로 동일한 아이템 인덱스에 대해 모순되는 레이블이 큰 비율로 트레이닝 받기 때문에 등급이 저하된다. 동일한 아이템이 G로부터 온 경우, 이 동일한 아이템은 때때로 "가짜"라고 표시될 수 있으며, 실측 자료로부터 온 다른 경우에는 "실제"로 표시될 수 있다. 결과적으로, D가 잘못된 신호를 G로 전송하여 G가 실측 자료 아이템을 샘플링 할 가능성을 낮춘다. 다시 말해, 서로의 능력을 향상시키는 대신, G와 D의 정확도가 더욱 악화된다. 여러 번의 반복이 수행된 이후 D에 의한 추천 정확도는 더 이상 증가하지 않고 오히려 급락한다. 이는 모순되게 라벨링된 아이템들의 높은 비율 때문이다. 이는 G와 D 사이의 경쟁이 서로 도움이 되지 않는 CF에서 G가 정확성을 향상시키는 것을 방지한다.The reason why the benefits of hostile training in existing CFs have not been fully exploited stems from the way that G samples a single discrete item index. A single discrete item index is completely different from the G of the original GAN, which creates a vector (eg, image) with elements of consecutive values. Since the item index is discrete and finite, it is highly likely that G will sample exactly the same data as the actual data (i.e., the user's actual selection). Therefore, as training proceeds, D becomes confused, and thus the grade degrades because contradicting labels for the same item index are trained at a large rate. When the same item comes from G, this same item may sometimes be marked as "fake", and other cases from actual data may be marked as "real". As a result, D sends the wrong signal to G, reducing the likelihood that G will sample the actual data item. In other words, instead of improving each other's abilities, the accuracy of G and D worsens. After several iterations are performed, the accuracy of recommendation by D does not increase any more, but rather declines. This is due to the high percentage of items that are labeled contradictoryly. This prevents G from improving accuracy in CFs where competition between G and D does not help each other.

상기한 문제를 해결하기 위해, 본 발명에서는 새로운 GAN 기반 CF 프레임 워크를 제안한다. 본 발명에 따른 프레임 워크에서는 사용자가 주어지면 G는 사용자가 관심을 가질 수 있으며 구매할 수 있는 단일 아이템 인덱스를 샘플링하기 보다는, 실제(실수) 값 요소로 구성된 그럴듯한 구매 벡터를 생성하려고 시도한다. 마찬가지로, D는 실측 자료로부터 얻은 실제 구매 벡터와 생성된 구매 벡터를 구별하려고 시도한다. 실수 벡터를 생성하고 판별하는 이러한 접근법은, G가 실측 자료에 속하는 벡터와 완전히 동일한 실수 벡터를 생성하는 것이 거의 불가능하기 때문에, 모순된 라벨을 가진 아이템으로 인해 GraphGAN 및 IRGAN에서 발생하는 D의 혼동을 방지한다. 이러한 속성은 D가 역 전파를 통해 G를 가이드하여 지속적으로 향상시킴으로써 G의 생성된 벡터가 반복되는 과정에서 실제 구매 벡터와 더 가까우지도록 만든다. 이러한 GAN 기반 CF 프레임 워크는 성공적인 적대적 트레이닝을 유도하여 높은 정확도의 추천을 달성한다.In order to solve the above problem, the present invention proposes a new GAN-based CF framework. In the framework according to the present invention, if a user is given, G attempts to generate a plausible purchase vector composed of real (real) value elements rather than sampling a single item index that the user may be interested in and can purchase. Similarly, D attempts to distinguish between the actual purchase vector obtained from the measured data and the generated purchase vector. This approach of generating and discriminating real vectors eliminates the confusion of D that arises in GraphGAN and IRGAN due to items with contradictory labels, since it is almost impossible to create a real vector that is exactly the same as the vector in which G belongs to the measured data. prevent. This property makes D closer to the actual purchase vector in the process of repeating the generated vector of G by guiding G through back propagation and continuously improving it. This GAN-based CF framework induces successful adversarial training to achieve high-accuracy recommendations.

이산 아이템 인덱스 생성으로부터 GAN 기반 CF에 대한 실수 값 벡터 생성으로 목표를 전환할 때, 암시적 피드백 데이터의 특성으로 인해 자연스럽게 나타나는 고유한 과제를 식별한다. 원본 GAN(다중 비트 심도를 갖는 픽셀로 구성된 고밀도 벡터로 표현되는)에 의해 고려된 이미지 데이터와 달리, CF의 실측 자료는 희소 단일 값 벡터이다. 여기서, 해당 사용자-아이템 상호 작용이 관찰되는 경우(즉, 사용자가 아이템을 구매)의 요소(원소)는 1이다. G는 실측 자료와 유사한 구매 벡터를 생성하려고 시도하지만, 무유용하고 쉬운 해결책을 찾음으로써 쉽게 벗어날 수 있다: 즉, 사용자의 상대적인 선호도를 고려하지 않고 모든 요소가 1을 가지는 구매 벡터를 생성한다.When switching the target from discrete item index generation to real value vector generation for GAN-based CF, we identify unique challenges that naturally appear due to the nature of implicit feedback data. Unlike the image data considered by the original GAN (represented as a high-density vector composed of pixels with multiple bit depths), the measured data of the CF is a sparse single value vector. Here, when the user-item interaction is observed (ie, the user purchases the item), the element (element) is 1. G attempts to create a purchase vector that is similar to the actual data, but can easily get away by finding a useful and easy solution: that is, it creates a purchase vector with all elements of 1 without taking into account the user's relative preferences.

이러한 과제와 관련하여, 본 발명에 따른 프레임 워크에서 개발된 세 가지 CF 방법(즉, CFGAN-ZR, CFGAN-PM 및 CFGAN-ZP)을 제안한다. 각 방법은 고유한 방식으로 문제를 성공적으로 해결한다. 이들 방법의 공통점은 다음과 같다: (1) 관찰되지 않은 요소들을 샘플링한다; (2) 이 방법들은 음의 피드백에 대응할 것이라고 추정한다(즉, 이 방법들의 값들은 구매 벡터에서 누락되지 않고 제로가 된다); (3) 샘플링된 요소에서 0에 가까운 출력을 생성하고 사용자의 실제 선호도(즉, 실측 자료)에 해당하는 요소에서 1을 생성하도록 G를 요청할 수 있다. 이 목표를 위해, CFGAN-ZR은 제로 재구성 정규화를 사용하고, CFGAN-PM은 부분 마스킹을 고려한다; CFGAN-ZP는 제로 재구성 정규화와 부분 마스킹을 모두 사용하는 하이브리드이다. 또한, 본 발명에 다른 프레임 워크는 사용자 위주 및 아이템 위주의 접근 방식을 따라 이러한 각 방법을 공식화한다.In relation to this problem, we propose three CF methods (ie, CFGAN-ZR, CFGAN-PM and CFGAN-ZP) developed in the framework according to the present invention. Each method successfully solves the problem in its own way. The commonalities of these methods are as follows: (1) samples the elements that were not observed; (2) We estimate that these methods will respond to negative feedback (ie, the values of these methods are not missing from the purchase vector and are zero); (3) It is possible to request G to generate an output close to 0 from the sampled element and to generate a 1 from the element corresponding to the user's actual preference (i.e., measured data). For this goal, CFGAN-ZR uses zero reconstruction normalization, and CFGAN-PM considers partial masking; CFGAN-ZP is a hybrid that uses both zero reconstruction normalization and partial masking. In addition, the framework according to the present invention formulates each of these methods according to a user-oriented and item-oriented approach.

요약하면, 본 발명의 주요 내용은 다음과 같다:In summary, the main contents of the present invention are as follows:

(1) 기존 GAN 기반 CF 방법의 한계를 확인하고 예비 실험을 통해 이를 강조한다.(1) Check the limitations of the existing GAN-based CF method and emphasize it through preliminary experiments.

(2) CF의 추천 정확도를 높이기 위해, 적대적 트레이닝의 이점을 최대한 활용하기 위한 GAN 기반 CF 방법이 따라야 할 새로운 방향, 즉 실제 값 벡터 단위 적대적 트레이닝을 제안한다.(2) In order to improve the recommendation accuracy of CF, we propose a new direction that the GAN-based CF method should follow in order to make the most of the benefits of hostile training, namely, hostile training in units of actual values.

(3) 새로운 방향의 GAN 기반 CF 프레임 워크를 제안한다. 즉, 실제 값 벡터 단위 적대적 트레이닝의 방향을 제시한다.(3) We propose a new direction GAN-based CF framework. That is, it presents the direction of hostile training in units of actual values.

(4) GAN 기반 CF 프레임 워크에서 실현된 CFGAN-ZR, CFGAN-PM 및 CFGAN-ZP의 세 가지 CF 방법들을 제안한다. CF 방법들은 CF에 벡터 단위 적대적 트레이닝을 사용할 때 발생하는 문제를 성공적으로 해결한다.(4) We propose three CF methods, CFGAN-ZR, CFGAN-PM, and CFGAN-ZP realized in a GAN-based CF framework. CF methods successfully solve the problem that arises when using vector-wise hostile training for CF.

(5) 벡터 단위 적대적 트레이닝에 대해 제안된 방향의 유효성을 검증하고 최첨단 top-N 추천 대비 CF 방법의 우월성을 입증한다.(5) Validate the validity of the proposed direction for vector unit hostile training, and prove the superiority of the CF method compared to the state-of-the-art top-N recommendation.

이하에서는 GAN 기반 CF 방법에 대한 사전 작업을 설명한다.Hereinafter, the preliminary work on the GAN-based CF method will be described.

모델 기반 CF(model-based CF)Model-based CF

Figure 112018103275449-pat00001
Figure 112018103275449-pat00002
각각은 m명의 사용자와 n개 아이템 세트를 나타낸다. 여기서, Iu를 u로부터 암시적 피드백을 수신하는(즉, 구매) 아이템 세트로 정의한다. 아이템에 대한 사용자의 암시적 피드백은 희소 행렬
Figure 112018103275449-pat00003
에 의해 표현된다. 이때, 원소 rui은 i가 Iu에 포함된 경우 1이며 다른 경우에는 비어 있다(즉, 관찰되지 않음). 사용자 u의 구매 벡터와 아이템 I 각각을 ru와 ri로 나타낸다.
Figure 112018103275449-pat00001
And
Figure 112018103275449-pat00002
Each represents m users and n item sets. Here, I u is defined as a set of items that receive implicit feedback from u (ie, purchase). The user's implicit feedback on the item is sparse.
Figure 112018103275449-pat00003
Is represented by In this case, the element r ui is 1 if i is included in I u , and is empty in other cases (ie, not observed). User u's purchase vector and item I are denoted by r u and r i respectively.

CF의 목표는 j(

Figure 112018103275449-pat00004
로 나타냄,
Figure 112018103275449-pat00005
)에 대한 u의 선호도 지수(u가 i를 구매하고자 하는 정도를 반영)를 예측하고, u에 대하여 가장 높은 예측 지수를 가지는 아이템의 서브 세트를 추천한다. 모델 기반 방법의 관점으로부터, CF는
Figure 112018103275449-pat00006
와 같이 공식화하여 나타낼 수 있는 모델을 사용하여
Figure 112018103275449-pat00007
를 계산한다. 여기서, f는 모델을 나타낸다. 즉,
Figure 112018103275449-pat00008
에 의해 파라미터화된 함수이며, 주어진 사용자 u 및 아이템 i의 쌍을 선호 지수로 매핑한다. 모델 파라미터 세트
Figure 112018103275449-pat00009
Figure 112018103275449-pat00010
을 트레이닝 데이터로 이용한 목적 함수를 최적화함으로써 학습될 수 있다.The goal of CF is j(
Figure 112018103275449-pat00004
Represented by,
Figure 112018103275449-pat00005
) For u (reflecting the degree to which u wants to purchase i), and recommends a subset of items with the highest prediction index for u. From a model-based method perspective, CF is
Figure 112018103275449-pat00006
Using a model that can be formulated and represented as
Figure 112018103275449-pat00007
Calculate Here, f represents the model. In other words,
Figure 112018103275449-pat00008
It is a function parameterized by and maps a given pair of user u and item i to a preference index. Model parameter set
Figure 112018103275449-pat00009
Is
Figure 112018103275449-pat00010
Can be learned by optimizing the objective function using as training data.

기존 모델 기반 CF 방법은 모델을 트레이닝시키는 데 사용되는 목적 함수의 유형에 따라 다음과 같이 분류될 수 있다: 포인트 단위(point wise) 방법과 쌍 단위(pair wise) 방법. 포인트 단위 방법은

Figure 112018103275449-pat00011
Figure 112018103275449-pat00012
의 오리지널 값인 rui 사이의 평균 제곱 에러를 최소화시키는 것을 목적으로 한다. 반면에, 쌍 단위 방법은 더 선호되는(즉, 구매된) 아이템과 덜 선호되는 아이템(즉, 구매되지 않은) 사이의 예측된 선호도 차이를 최대화시킨다.Existing model-based CF methods can be classified as follows according to the type of objective function used to train the model: point wise and pair wise. Point unit method
Figure 112018103275449-pat00011
And
Figure 112018103275449-pat00012
The aim is to minimize the mean square error between the original values of r ui . On the other hand, the pairwise method maximizes the predicted preference difference between a more preferred (ie, purchased) item and a less preferred (ie, not purchased) item.

GANGAN 기반 CF( Based CF( GANGAN -based CF)-based CF)

최근 기계 학습 모델을 학습하는 새로운 방법을 제안하는 생성적 적대 신경망(GAN)이 연구되고 있다. GAN은 생성 모델(G)과 판별 모델(D) 간의 경쟁 구조를 통해 G를 훈련시켜서 G가 그럴듯한 데이터를 생성하도록 만드는 기술이다. 다시 말해, G와 D를 포함하는 경쟁 과정을 통하여, G는 실측 자료의 분포를 포착하도록 학습되어 실측 자료와 특성이 다르지 않은 그럴듯한 합성 데이터를 생성할 수 있다. 공식적으로, G와 D는 목적 함수 V를 이용하여 다음의 두 플레이어 최소극대화 게임을 플레이한다(수학식 1).Recently, generative adversarial neural networks (GANs), which propose a new method of learning machine learning models, are being studied. GAN is a technology that makes G generate plausible data by training G through a competitive structure between the generative model (G) and the discriminant model (D). In other words, through the competitive process including G and D, G is learned to capture the distribution of measured data, so that plausible synthetic data that is not different from the measured data can be generated. Officially, G and D use the objective function V to play the following two-player minimal-maximization game (Equation 1).

[수학식 1][Equation 1]

Figure 112018103275449-pat00013
Figure 112018103275449-pat00013

여기서,

Figure 112018103275449-pat00014
Figure 112018103275449-pat00015
는 각각 G 및 D의 모델 파라미터를 나타낸다. x는 데이터 분포
Figure 112018103275449-pat00016
으로부터의 실측 자료인 반면,
Figure 112018103275449-pat00017
는 전형적으로
Figure 112018103275449-pat00018
에 의해 유도된 모델 분포
Figure 112018103275449-pat00019
로부터의 합성 데이터이다. z는 랜덤 노이즈 벡터이고,
Figure 112018103275449-pat00020
는 입력이 자체 입력이 실측 자료일 추정된 확률을 나타낸다. 일반적으로, G와 D는 모두 신경망이며 동일한 목적 함수를 최소화하고 최대화하면서 각각의 모델 파라미터를 최적화하는 데 반복된다.here,
Figure 112018103275449-pat00014
And
Figure 112018103275449-pat00015
Represents the model parameters of G and D, respectively. x is the data distribution
Figure 112018103275449-pat00016
While this is the actual data from
Figure 112018103275449-pat00017
Is typically
Figure 112018103275449-pat00018
Model distribution induced by
Figure 112018103275449-pat00019
Synthetic data from z is the random noise vector,
Figure 112018103275449-pat00020
Represents the estimated probability that the input is the actual data. In general, both G and D are neural networks and iterate to optimize each model parameter while minimizing and maximizing the same objective function.

GAN의 가장 성공적인 분야는 이미지 생성이지만, 음악 생성에 대한 WaveGAN, 문장 생성에 대한 SegGAN 등과 같이 다른 분야에서 더 유망한 결과를 얻을 수 있는 큰 잠재력을 가지고 있다. 최근 추천 시스템 분야에서 CF에 GAN을 적용한 방법들이 연구되고 있으며, CF 모델을 트레이닝시키기 위해 기존에는 포인트 단위(point wise) 또는 쌍 단위(pair wise) 목적 함수를 최적화하는 것이 아니라, 적대적 트레이닝 방법을 적용하여 추천에서 만족스러운 정확성을 얻으려고 시도한다.The most successful field of GAN is image generation, but it has great potential to achieve more promising results in other fields, such as WaveGAN for music generation and SegGAN for sentence generation. Recently, methods of applying GAN to CF are being studied in the field of recommendation systems, and in order to train the CF model, a hostile training method is applied instead of optimizing a point-wise or pair-wise objective function. And try to get satisfactory accuracy in recommendations.

일례로, 추천 시스템에 적용된 GAN의 예시로서 IRGAN(Jun Wang, Lantao Yu, Weinan Zhang, Yu Gong, Yinghui Xu, Benyou Wang, Peng Zhang, and Dell Zhang. 2017. Irgan: A minimax game for unifying generative and discriminative information retrieval models.)에 기반한 원리는 다음과 같다.For example, as an example of GAN applied to the recommendation system, IRGAN (Jun Wang, Lantao Yu, Weinan Zhang, Yu Gong, Yinghui Xu, Benyou Wang, Peng Zhang, and Dell Zhang. 2017. Irgan: A minimax game for unifying generative and discriminative) Information retrieval models.) based on the following principles.

IRGAN에서 G는 주어진 사용자와 관련된 아이템의 인덱스를 생성(또는 샘플링)하려고 시도하며, D는 사용자의 실측 자료 아이템을 G가 종합적으로 생성한 아이템과 구별하려고 시도한다. 보다 구체적으로, G는 수학식 2의 softmax 함수로 구현된다.In IRGAN, G attempts to create (or sample) an index of items related to a given user, and D attempts to distinguish the user's measured data item from items that G has created comprehensively. More specifically, G is implemented by the softmax function of Equation 2.

[수학식 2][Equation 2]

Figure 112018103275449-pat00021
Figure 112018103275449-pat00021

여기서,

Figure 112018103275449-pat00022
는 주어진 u 및 인덱스 k에서 아이템을 샘플링하는 G의 조건부 확률 분포이고,
Figure 112018103275449-pat00023
는 u가
Figure 112018103275449-pat00024
를 구입할 확률을 반영하는 스코어링 함수이다.here,
Figure 112018103275449-pat00022
Is the conditional probability distribution of G sampling the item at a given u and index k,
Figure 112018103275449-pat00023
Is u
Figure 112018103275449-pat00024
It is a scoring function that reflects the probability of purchasing.

한편, D는 스코어링 함수의 sigmoid 함수

Figure 112018103275449-pat00025
를 사용하여, 주어진 사용자 u의 실측 자료에 속하는 각 아이템 i의 확률을 추정한다(수학식 3).On the other hand, D is the sigmoid function of the scoring function
Figure 112018103275449-pat00025
By using, the probability of each item i belonging to the actual measured data of a given user u is estimated (Equation 3).

[수학식 3][Equation 3]

Figure 112018103275449-pat00026
Figure 112018103275449-pat00026

여기서,

Figure 112018103275449-pat00027
는 i와 u의 관련성을 반영한다. 스코어링 함수
Figure 112018103275449-pat00028
Figure 112018103275449-pat00029
는 모두 행렬 인수 분해 모델, 공식적으로,
Figure 112018103275449-pat00030
Figure 112018103275449-pat00031
에 기반한다. 이때, du와 di는 각각 D에 속하는 잠재(latent) 요인(factor)이다. 그리고, gu와 gi는 G에 속하는 잠재 요인이다.
Figure 112018103275449-pat00032
Figure 112018103275449-pat00033
는 아이템 바이어스 조건이다.here,
Figure 112018103275449-pat00027
Reflects the relationship between i and u. Scoring function
Figure 112018103275449-pat00028
Wow
Figure 112018103275449-pat00029
Are all matrix factorization models, formally,
Figure 112018103275449-pat00030
Wow
Figure 112018103275449-pat00031
Is based on. In this case, d u and d i are latent factors belonging to D, respectively. And, g u and g i are latent factors belonging to G.
Figure 112018103275449-pat00032
Wow
Figure 112018103275449-pat00033
Is the item bias condition.

마지막으로, IRGAN의 목적 함수

Figure 112018103275449-pat00034
은 수학식 4와같이 공식화된다:Finally, the objective function of IRGAN
Figure 112018103275449-pat00034
Is formulated as in Equation 4:

[수학식 4][Equation 4]

Figure 112018103275449-pat00035
Figure 112018103275449-pat00035

확률적인(stochastic) 기울기 상승으로 D를 풀 수 있지만, G는 i의 샘플링이 이산적이므로 D로부터 기울기를 수신할 수 없다. 따라서, IRGAN은 G를 업데이트하기 위해 폴리시(policy) 기울기 기반 보강 학습을 사용한다.D can be solved by stochastic slope elevation, but G cannot receive slope from D because sampling of i is discrete. Therefore, IRGAN uses policy gradient-based reinforcement learning to update G.

반드시 순수한 CF 방법은 아니지만 GAN을 기반으로 한 추천 시스템, 특히 아이템의 시각적 측면에 초점을 둔 다른 연구 결과들이 존재한다. 추천 작업을 위해 GAN을 사용할 수 있으나, 기존에는 아이템의 추가적인 시각적 정보가 필요하다.Although not necessarily a pure CF method, there are other research findings that focus on the GAN-based recommendation system, especially the visual aspect of the item. GAN can be used for recommendation work, but additional visual information of the item is previously required.

이하에서는 기존 방법의 한계를 예비 결과 세트와 함께 제시한 다음, GAN 기반 CF의 새로운 트레이닝 방법을 설명한다.Hereinafter, limitations of the existing method are presented together with a preliminary result set, and then a new training method for GAN-based CF will be described.

GAN이 CF에서 성공할 수 있는 가능성에도 불구하고 여전히 개선의 여지가 남아 있다. "이산 아이템 인덱스 생성" 방식의 한계를 설명하고 이 한계를 극복하여 CF의 정확성을 향상시키고자 한다.Despite the possibility that GAN can succeed in CF, there is still room for improvement. The limitations of the "Discrete Item Index Generation" method are explained and we want to overcome these limitations to improve the accuracy of the CF.

도 1은 이산 아이템 인덱스 생성을 위한 트레이닝 과정의 예시를 도시한 것이다.1 shows an example of a training process for generating a discrete item index.

도 1을 참조하면, 초기 단계(a)에서 G는 (거의) 무작위로 아이템을 샘플링하지만, D의 가이딩에 따라 자체의 성능을 향상시킨다(b). 트레이닝이 더 진행되면(c), G는 실측 자료와 정확히 동일한 아이템을 빈번하게 샘플링한다.Referring to Fig. 1, in the initial step (a), G samples items (almost) randomly, but improves its own performance according to D's guiding (b). As training progresses further (c), G frequently samples items exactly the same as the measured data.

D의 관점에서 볼 때, 동일한 아이템 인덱스(예를 들어, i3)이 "가짜"(G에서)로 라벨링되고 "실제"(즉, 실측 자료로부터)로 라벨링되므로, D를 현저히 혼란스럽게 만들고, 그 결과 D가 쇠퇴하게 된다. 이는 D가 폴리시 기울기를 통해 잘못된 신호를 G에게 전송할 수 있음을 의미하며, G는 실측 자료의 아이템을 샘플링 할 가능성을 낮추어 G의 품질 저하를 유발할 수 있다.From D's point of view, the same item index (e.g. i 3 ) is labeled "fake" (in G) and labeled "real" (i.e. from measured data), making D significantly confusing, As a result, D declines. This means that D can transmit an erroneous signal to G through the policy slope, and G can lower the likelihood of sampling an item of measured data, resulting in a deterioration in the quality of G.

앞서 언급된 한계로 인한 G의 성능 저하 정도를 이해하기 위해 실제 데이터 세트에 대한 예비 실험을 수행한다.In order to understand the degree of degradation of G due to the aforementioned limitations, we conduct preliminary experiments on the actual data set.

실험 예시로서 MovieLens 100K, Watcha 데이터를 이용한 것이다. 기존 공지된 상품 추천 모델과 본 발명의 모델을 각각 학습 데이터를 이용해서 학습시키고, 평가 데이터를 이용해서 각 모델의 상위 N 추천 정확도를 계산해서 비교한 것이다. 정확도 계산을 위한 척도는 널리 이용되는 precision와 MRR을 이용하였고 상위 5개(@5)에 대한 결과를 계산한 것이다.As an experiment example, MovieLens 100K, Watcha data is used. The previously known product recommendation model and the model of the present invention are trained using training data, respectively, and the top N recommendation accuracy of each model is calculated and compared using evaluation data. The scale for calculating the accuracy was the widely used precision and MRR, and the results for the top five (@5) were calculated.

도 2는 IRGAN의 학습 경향을 시각화한 것이고, 도 3은 GraphGAN의 학습 경향을 시각화한 것이다. 도 2와 도 3의 각 그래프는 상위 5개 추천의 정확성을 보고한다. 도 4는 적대적 트레이닝이 진행됨에 따라 G에 의해 생성된 아이템들 중에서 모순되게 라벨링된 아이템들의 비율을 보여준다.2 is a visualization of the learning tendency of IRGAN, Figure 3 is a visualization of the learning trend of GraphGAN. Each graph of FIGS. 2 and 3 reports the accuracy of the top five recommendations. 4 shows the proportion of items that are labeled contradictoryly among items generated by G as hostile training proceeds.

도 2와 도 3에 표현된 바와 같이, 트레이닝은 초기 단계에서 잘 작동하는 것처럼 보인다. G는 실험 아이템들을 샘플링하여 D를 자체 한계까지 푸쉬하고, D는 G를 가이드한다. 그러나, 이 단계 이후에 D에 의한 추천 정확도는 갑자기 급락한 이후 증가하지 않는다. 이는 주로 트레이닝 데이터에 모순된 라벨 아이템이 많기 때문이다(도 4 참조). 결국, D로부터 얻은 보상이 G에게 더 이상 유용한 피드백을 줄 수 없으므로 G는 더 이상 수행될 수 없으며, 심지어 성능이 저하된다. 결과적으로, 이러한 상황에서 G와 D 간의 경쟁 과정은 고품질의 추천 목록을 제공할 때 시너지 효과를 창출할 수 없다.As represented in Figures 2 and 3, the training seems to work well in the early stages. G samples experimental items, pushes D to its own limit, and D guides G. However, after this step, the recommendation accuracy by D does not increase after a sudden drop. This is mainly because there are many contradictory label items in the training data (see FIG. 4). Eventually, G can no longer perform as the reward from D can no longer give useful feedback to G, and even performance degrades. As a result, in this situation, the competition process between G and D cannot create a synergy effect when providing a high-quality recommendation list.

본 발명은 아이템 추천 작업에 대한 적대적 트레이닝의 이점을 완전히 누리기 위한 것으로, G와 D를 어떻게 적절하게 트레이닝시켜 G가 자체 제한을 "넘어(well beyond)" 푸시하지 않고 일관되게 D를 자체 제한에 푸시하고 D가 G에 유익한 피드백만을 일관되게 줄 수 있는지를 해결하고자 "벡터 단위 트레이닝"을 제안한다.The present invention is intended to fully enjoy the benefits of hostile training for item recommendation tasks, how to properly train G and D so that G consistently pushes D to its own limit without pushing "well beyond" its own limit. In order to solve whether D can consistently give only beneficial feedback to G, "vector unit training" is proposed.

본 발명에서는 G와 D가 단일 아이템 인덱스(single item index) 대신, 실수 값들로 구성된 벡터 단위의 생성과 판별을 수행하도록 한다. 다시 말해, 본 발명에서 G는 실수 값 벡터를 생성하고 D는 G와 실측 자료로부터 오는 실제 벡터 값을 구별한다. 보다 구체적으로, 사용자가 주어지면 D가 주어진 구매 벡터가 진짜인지 또는 G에 의해 생성된 가짜인지를 정확하게 결정하려고 시도하는 동안, G는 그럴듯한 구매 벡터를 생성하려고 시도한다. 벡터 단위 트레이닝의 경우, G는 실제 구매와 매우 유사한(그러나 동일하지 않은) 구매 벡터를 생성할 수 있지만, 실제 구매와 정확하게 동일한 구매 벡터를 생성할 가능성은 거의 없다. 이는 D가 G에 의해 속임 당하는 일이 거의 없게 만들기 때문에, D가 자격이 부여된 G의 트레이닝 데이터로 인해 일련의 단계에서 일관되게 자체 한계를 벗어날 수 있게 해준다. 마찬가지로, D는 역 전파를 통해 보다 현실적인 가짜 구매 벡터를 생성하기 위해 G가 자체 출력을 약간 변경해야 하는 방법을 보여주는 G에 유용한 트레이닝 신호를 지속적으로 제공할 수 있다. 본 발명에서 제안된 벡터 단위 트레이닝이 GAN의 장점을 충분히 활용하여 고품질 추천을 수행하는 적대적 트레이닝을 성공적으로 수행할 수 있다.In the present invention, instead of a single item index, G and D perform generation and discrimination of a vector unit composed of real values. In other words, in the present invention, G creates a real value vector, and D distinguishes between G and an actual vector value coming from the measured data. More specifically, given a user, G attempts to generate a plausible purchase vector while D attempts to accurately determine whether the given purchase vector is real or a fake generated by G. For vector-wise training, G can produce a purchase vector that is very similar (but not the same) as the actual purchase, but it is unlikely to generate a purchase vector that is exactly the same as the actual purchase. This makes D rarely cheated by G, allowing D to consistently break out of its limits in a series of steps due to G's training data for which it is qualified. Likewise, D can continue to provide useful training signals to G that show how G needs to slightly change its own output in order to create a more realistic fake purchase vector via backpropagation. The vector unit training proposed in the present invention can successfully perform hostile training that performs high-quality recommendation by fully utilizing the advantages of GAN.

이하에서는 본 발명에 따른 GAN 기반 CF 프레임 워크(CFGAN)를 설명한다.Hereinafter, a GAN-based CF framework (CFGAN) according to the present invention will be described.

도 5는 본 발명의 일 실시예에 있어서 GAN 기반 CF 프레임 워크(CFGAN)의 개요를 도시한 것이다.5 shows an overview of a GAN-based CF framework (CFGAN) according to an embodiment of the present invention.

본 발명의 CFGAN는 조건부 GAN 프레임 워크를 기반으로 한다.The CFGAN of the present invention is based on the conditional GAN framework.

도 5를 참조하면, G와 D는 모두 사용자 조건이며, 모델 파라미터 각 사용자의 개인 설정을 고려하면서 학습된다. 사용자 특정 조건 벡터 cu와 랜덤 노이즈 벡터 z2가 주어지면, CFGAN의 G는 n-차원의 구매 벡터

Figure 112018103275449-pat00036
를 생성한다. 구매 벡터
Figure 112018103275449-pat00037
는 희소 벡터가 될 것으로 예상되며, 여기서 u의 구매 아이템에 해당하는 모든 요소
Figure 112018103275449-pat00038
(
Figure 112018103275449-pat00039
)는 희망적으로 1이다. 마찬가지로, cu에 의해 조절된 D는 생성된 구매 벡터를 u의 실제 벡터와 구별하도록 트레이닝 된다. 공식적으로,
Figure 112018103275449-pat00040
로 표시되는 D의 목적 함수는 수학식 5와 같다.Referring to FIG. 5, both G and D are user conditions, and the model parameters are learned while considering individual settings of each user. Given a user-specific condition vector c u and a random noise vector z 2 , CFGAN's G is an n-dimensional purchase vector
Figure 112018103275449-pat00036
Create Purchase vector
Figure 112018103275449-pat00037
Is expected to be a sparse vector, where all elements corresponding to the purchase item in u
Figure 112018103275449-pat00038
(
Figure 112018103275449-pat00039
) Is hopefully 1. Similarly, D adjusted by c u is trained to distinguish the generated purchase vector from the actual vector of u. officially,
Figure 112018103275449-pat00040
The objective function of D represented by is the same as in Equation 5.

[수학식 5][Equation 5]

Figure 112018103275449-pat00041
Figure 112018103275449-pat00041

이와 마찬가지로, G는 수학식 6과 같다.Likewise, G is equal to Equation 6.

[수학식 6][Equation 6]

Figure 112018103275449-pat00042
Figure 112018103275449-pat00042

수학식 5와 수학식 6에서

Figure 112018103275449-pat00043
는 u가 각 아이템
Figure 112018103275449-pat00044
를 구입했는지 여부를 특정하는 n-차원 표시기 벡터이며,
Figure 112018103275449-pat00045
는 element-wise 곱셈을 나타낸다.In Equation 5 and Equation 6
Figure 112018103275449-pat00043
Is u for each item
Figure 112018103275449-pat00044
Is an n-dimensional indicator vector specifying whether or not
Figure 112018103275449-pat00045
Denotes element-wise multiplication.

본 발명의 CFGAN과 기존 GAN 사이의 주된 차이점은 G가

Figure 112018103275449-pat00046
를 곱하여 G의 출력
Figure 112018103275449-pat00047
를 마스크함으로써 G가 모방하려고 하는 실측 자료의 희소성을 처리한다는 것이다. 이렇게 함으로써 구매된 아이템들에 대한 G의 출력만이 G와 D의 학습에 기여할 수 있다. 즉, 구매되지 않은 아이템들에 대응하는 G의 출력 노드들을 드롭함으로써, (1) D는 드롭된 노드들을 무시하고, (2) G는 드롭된 노드에 관한 D로부터 손실의 기울기를 얻지 못한다. 이는 잠재적인 구매를 식별하는 데 나중에 사용될 수 있는 관찰된 사용자 아이템 구매 기록을 기반으로 모델을 작성한다는 점에서 포인트 단위 목적 함수를 사용하는 다른 CF들과 공통된다.The main difference between the CFGAN of the present invention and the existing GAN is that G
Figure 112018103275449-pat00046
The output of G by multiplying
Figure 112018103275449-pat00047
By masking, G handles the scarcity of the actual data that G is trying to imitate. By doing this, only the output of G for purchased items can contribute to the learning of G and D. That is, by dropping the output nodes of G corresponding to items not purchased, (1) D ignores the dropped nodes, and (2) G does not get the slope of the loss from D relative to the dropped node. This is common with other CFs that use a point-by-point objective function in that it builds a model based on the observed user item purchase history that can be used later to identify potential purchases.

본 발명에서는 G와 D이 각각

Figure 112018103275449-pat00048
Figure 112018103275449-pat00049
로 파라미터화된 다층 신경망으로 G와 D를 구현한다. 특히, G는 입력
Figure 112018103275449-pat00050
Figure 112018103275449-pat00051
를 출력하는 LG-레이어(LG> = 2) 신경망이다. 여기서, {}는 두 벡터의 내부 연결을 나타낸다. D는
Figure 112018103275449-pat00052
와 연결된
Figure 112018103275449-pat00053
(즉, G로부터) 또는
Figure 112018103275449-pat00054
(실측 자료로부터)의 입력 여부에 관계없는 입력을 가지는 LD-레이어(LD> = 2) 신경망이며, 이 신경망은 자체 입력이 G보다는 실측 자료로부터 오는 확률을 나타내는 단일 스칼라 값을 출력한다. G와 D를 트레이닝시키기 위해 미니배치(minibatch)와 역-전파(back-propagation)를 이용한 확률적 기울기 하강법(stochastic gradient descent)을 사용한다. 각각의 파라미터
Figure 112018103275449-pat00055
Figure 112018103275449-pat00056
를 번갈아 가며 업데이트하며, 하나가 업데이트되는 경우 다른 하나를 유지한다.In the present invention, G and D are each
Figure 112018103275449-pat00048
Wow
Figure 112018103275449-pat00049
We implement G and D with a multilayered neural network parameterized with. Specifically, G is the input
Figure 112018103275449-pat00050
end
Figure 112018103275449-pat00051
It is an L G -layer (L G > = 2) neural network that outputs. Here, {} represents the internal connection of two vectors. D is
Figure 112018103275449-pat00052
Connected with
Figure 112018103275449-pat00053
(I.e. from G) or
Figure 112018103275449-pat00054
It is an L D -layer (L D > = 2) neural network that has an input regardless of whether it is input (from measured data), and this neural network outputs a single scalar value representing the probability that its own input comes from measured data rather than G. To train G and D, we use stochastic gradient descent using minibatch and back-propagation. Each parameter
Figure 112018103275449-pat00055
Wow
Figure 112018103275449-pat00056
It updates alternately, and keeps the other if one is updated.

적대적 트레이닝이 완료된 후 z와

Figure 112018103275449-pat00057
가 공급되면 G는 조밀한 벡터
Figure 112018103275449-pat00058
를 생성한다.
Figure 112018103275449-pat00059
에는 데이터 세트의 모든 아이템들에 대한 예측 선호도 스코어가 포함될 수 있다.
Figure 112018103275449-pat00060
의 j 번째 원소를 각 아이템 j(
Figure 112018103275449-pat00061
)에 대한 사용자 u의 예측 선호도 스코어로 사용한다. 마지막으로, 예측된 스코어가 가장 높은 상위 N개 아이템을 선택하여 u로 추천한다.After hostile training is complete, z and
Figure 112018103275449-pat00057
When is supplied, G is a dense vector
Figure 112018103275449-pat00058
Create
Figure 112018103275449-pat00059
May include predicted preference scores for all items in the data set.
Figure 112018103275449-pat00060
J-th element of each item j(
Figure 112018103275449-pat00061
) For user u's prediction preference score. Finally, the top N items with the highest predicted scores are selected and recommended as u.

CFGAN 상에서 실현되는 가지 CF 방법들(사용자 지향적 방법 및 아이템 지향적 방법)은 다음과 같다.The CF methods (user-oriented method and item-oriented method) realized on CFGAN are as follows.

본 발명의 CFGAN은 벡터 단위 트레이닝의 방향을 제시하면서, 이미지 생성을 목표로 한 기존 GAN이 직면하지 않은 독특한 문제에 직면한다. 일반적으로, 다중 비트 심도를 갖는 픽셀들로 구성된 벡터로 표현되는 이미지 데이터와는 달리, 추천에서 사용자에 대한 암시적 피드백 데이터는 매우 희소한 단일 값 벡터이며, 이 벡터의 원소는 해당하는 사용자-아이템 상호 작용이(즉, 구매)가 관찰되는 경우 1이고, 그렇지 않은 경우 비어 있다. G는 실측 자료와 유사한 구매 벡터를 생성함으로써 D를 속이려고 시도하지만, 구매 벡터의 모든 출력을 단순히 1로 예측하는 사소한 솔루션으로 이어질 것이다. 이 솔루션은 구하기 쉽지만 유용하지 않다. CF의 기본 요소인 사용자의 상대적인 선호도를 포착할 수 없기 때문이다.The CFGAN of the present invention presents the direction of vector unit training and faces a unique problem that the existing GAN aiming at image generation does not face. In general, unlike image data expressed as a vector composed of pixels with multiple bit depths, the implicit feedback data for a user in recommendation is a very sparse single value vector, and the element of this vector is the corresponding user-item. 1 if the interaction (i.e. purchase) is observed, otherwise it is empty. G tries to trick D by creating a purchase vector similar to the actual data, but it will lead to a trivial solution that simply predicts all the outputs of the purchase vector as 1. This solution is easy to find, but not useful. This is because it cannot capture the relative preferences of users, which are the basic elements of CF.

본 발명의 CFGAN 상에서 실현되는 가지 CF 방법들이 공유하는 핵심 아이디어는 다음과 같다: 모든 트레이닝 반복(예: t)에서, 각 사용자가 구매하지 않은 아이템의 비율(

Figure 112018103275449-pat00062
)을 무작위로 선택하고, 해당 아이템을 음수(negative) 아이템으로 추정한 후, 해당 피드백이 누락되지 않았지만 0인 것을 나타낸다. 그런 다음, 음수 아이템의 값이 0에 가까워지도록, G가 사용자의 구매 벡터를 생성하도록 트레이닝한다. 이렇게 함으로써, G가 D를 기만하기 위해 구매된 아이템에 대해 1에 가까운 값을 생성하는 것에 초점을 맞추고, 음수 아이템에 대한 값을 산출하는 것을 고려할 수 있다. 결과적으로, 구매 벡터의 모든 요소에 대해 1을 단순 출력하는 G의 솔루션을 수용하는 것을 피하게 된다.The core idea shared by the different CF methods realized on the CFGAN of the present invention is as follows: In every training iteration (e.g., t), the percentage of items not purchased by each user (
Figure 112018103275449-pat00062
) Is selected at random, and the corresponding item is estimated as a negative item, indicating that the corresponding feedback is not missing but is 0. Then, G is trained to generate the user's purchase vector so that the value of the negative item approaches zero. By doing so, we can focus on generating a value close to 1 for items purchased for G to deceive D, and consider calculating a value for negative items. As a result, we avoid accepting G's solution, which simply outputs 1 for every element of the purchase vector.

형식적으로,

Figure 112018103275449-pat00063
는 t 번째 반복에서 샘플링된 음수 아이템 세트를 나타낸다. 구매 행렬
Figure 112018103275449-pat00064
의 해당 항목은 누락되지 않은 것으로 간주되지만, 이 반복에서만 0으로 간주된다. S는
Figure 112018103275449-pat00065
로부터 식별된 아이템의 비율(백분율)을 나타낸다. 예를 들어, S가 30으로 설정되면,
Figure 112018103275449-pat00066
의 아이템들 중 30%가 선택된다.Formally,
Figure 112018103275449-pat00063
Represents a set of negative items sampled in the t-th iteration. Purchase procession
Figure 112018103275449-pat00064
Corresponding items of are considered not to be missing, but are considered zero only in this iteration. S is
Figure 112018103275449-pat00065
Represents the percentage (percentage) of the items identified from. For example, if S is set to 30,
Figure 112018103275449-pat00066
30% of the items are selected.

CFGAN 프레임 워크에서 식별된 음수 아이템이 어떻게 사용되는지에 따라 세 가지 CF 방법을 제안한다: 제로-재구성 정규화를 기반으로 하는 방법(CFGAN-ZR), 부분적-마스킹을 기반으로 하는 방법(CFGAN-PM) 및 위 두 가지가 결합된 하이브리드 방법(CFGAN-ZP)이다.Depending on how the negative items identified in the CFGAN framework are used, three CF methods are proposed: a method based on zero-reconstructive normalization (CFGAN-ZR), and a method based on partial-masking (CFGAN-PM). And a hybrid method in which the above two are combined (CFGAN-ZP).

CFGANCFGAN -- ZRZR

CFGAN-ZR은 선택된 음의 아이템을 지시하기 위해

Figure 112018103275449-pat00067
를 나타내며, 비 구매 아이템으로부터 선택된 음수 아이템의 비율(백분율)을 특정하는 파라미터인 S를 지시하기 위해
Figure 112018103275449-pat00068
를 나타낸다. 수학식 6에서 정의된 G의 목적 함수에 더하여 수학식 7을 통해 재구성 손실 함수를 정규화 항으로 사용한다.CFGAN-ZR is used to indicate the selected negative item.
Figure 112018103275449-pat00067
And to indicate S, a parameter that specifies the ratio (percentage) of negative items selected from non-purchased items
Figure 112018103275449-pat00068
Represents. In addition to the objective function of G defined in Equation 6, the reconstruction loss function is used as a normalization term through Equation 7.

[수학식 7][Equation 7]

Figure 112018103275449-pat00069
Figure 112018103275449-pat00069

수학식 7에서

Figure 112018103275449-pat00070
의 두 번째 항은
Figure 112018103275449-pat00071
Figure 112018103275449-pat00072
가 전체 방정식에서 ZR 항의 중요성을 제어하기 위한 조정 가능한 파라미터인 제로-재구성(즉, ZR) 정규화에 해당한다.
Figure 112018103275449-pat00073
를 최소화함으로써 G는 관찰된 항목들에 대해 1에 가까운 스코어를 생성하고, 관찰되지 않은 항목들에 대해 낮은 값들(즉, 0에 가깝게)을 생성하여 G가 사소하고 무용한 솔루션에 도달하는 것을 방지하는데 집중할 수 있다.In Equation 7
Figure 112018103275449-pat00070
The second term in
Figure 112018103275449-pat00071
Wow
Figure 112018103275449-pat00072
Corresponds to zero-reconstruction (i.e., ZR) normalization, which is an adjustable parameter to control the importance of the ZR term in the overall equation.
Figure 112018103275449-pat00073
By minimizing G, G produces a score close to 1 for observed items and low values (i.e. close to 0) for items that are not observed, preventing G from reaching a trivial and useless solution. I can focus on doing it.

CFGANCFGAN -PM-PM

CFGAN-PM에서는 심볼

Figure 112018103275449-pat00074
Figure 112018103275449-pat00075
를 사용하여 선택된 음수 아이템과 샘플링 파라미터 S를 각각 나타낸다. CFGAN-PM에서 비구매 아이템에 해당하는 모든 출력 노드를 반드시 드롭하지는 않지만,
Figure 112018103275449-pat00076
에 해당하는 출력 노드는 그대로 유지한다. 이로써, D는 구매된 아이템뿐만 아니라 판별 작업의 음수 아이템으로부터의 입력 값을 활용한다. 또한, D로부터의 손실의 기울기에 대하여 선택된 음수 아이템에 대한 출력을 G로 다시 전달할 수 있다. 결과적으로, G는 구매 아이템에 대해 생성된 출력을 1에 가깝게 만들고, 선택된 음수 아이템에 대해 0에 더 가깝게 만든다.Symbol in CFGAN-PM
Figure 112018103275449-pat00074
Wow
Figure 112018103275449-pat00075
Denote the selected negative item and sampling parameter S, respectively. CFGAN-PM does not necessarily drop all output nodes corresponding to non-purchased items,
Figure 112018103275449-pat00076
The output node corresponding to is kept as it is. Thus, D utilizes not only the purchased item, but also the input value from the negative item of the discrimination operation. Also, the output for the negative item selected for the slope of the loss from D can be passed back to G. As a result, G makes the output generated for the purchased item closer to 1 and closer to 0 for the selected negative item.

상기한 아이디어는 수학식 8의

Figure 112018103275449-pat00077
와 수학식 9의
Figure 112018103275449-pat00078
에 적용된다.The above idea is in Equation 8
Figure 112018103275449-pat00077
And of Equation 9
Figure 112018103275449-pat00078
Applies to

[수학식 8][Equation 8]

Figure 112018103275449-pat00079
Figure 112018103275449-pat00079

[수학식 9][Equation 9]

Figure 112018103275449-pat00080
Figure 112018103275449-pat00080

수학식 8과 수학식 9에서

Figure 112018103275449-pat00081
는 n차원 지시자 벡터이며,
Figure 112018103275449-pat00082
이면
Figure 112018103275449-pat00083
이고, 그렇지 않으면
Figure 112018103275449-pat00084
이다.In Equation 8 and Equation 9
Figure 112018103275449-pat00081
Is an n-dimensional indicator vector,
Figure 112018103275449-pat00082
Back side
Figure 112018103275449-pat00083
And otherwise
Figure 112018103275449-pat00084
to be.

CFGANCFGAN -- ZPZP

CFGAN-ZP는 제로 재구성 정규화와 부분 마스킹을 모두 사용하여 두 방법의 장점을 활용할 수 있는 하이브리드 방법이다. 선택된 음수 아이템들의 세트인

Figure 112018103275449-pat00085
Figure 112018103275449-pat00086
는 각각 제로 재구성 및 부분 마스킹에 사용된다. 여기서, D의 목적 함수는 G의 목적 함수를 나타내는 수학식 10과 동일하다.CFGAN-ZP is a hybrid method that can take advantage of both methods by using both zero reconstruction normalization and partial masking. A set of selected negative items
Figure 112018103275449-pat00085
And
Figure 112018103275449-pat00086
Is used for zero reconstruction and partial masking, respectively. Here, the objective function of D is the same as Equation 10 representing the objective function of G.

[수학식 10][Equation 10]

Figure 112018103275449-pat00087
Figure 112018103275449-pat00087

CFGAN_ZP에 대한 학습 알고리즘은 도 6의 알고리즘 1과 같다. CFGAN_ZR 및 CFGAN_PM은 CFGAN_ZP의 특별한 케이스로 간주되며, CFGAN_ZR은 알고리즘 1의 라인 5를 스킵하는 CFGAN_ZP에 해당되고, CFGAN_PM은 알고리즘 1의 라인 4를 스킵하는 CFGAN_ZP에 해당된다.The learning algorithm for CFGAN_ZP is the same as Algorithm 1 of FIG. 6. CFGAN_ZR and CFGAN_PM are regarded as special cases of CFGAN_ZP, CFGAN_ZR corresponds to CFGAN_ZP skipping line 5 of Algorithm 1, and CFGAN_PM corresponds to CFGAN_ZP skipping line 4 of Algorithm 1.

상기에서는 각 사용자를 트레이닝 인스턴스로 간주하는 사용자 지향적 방식의 관점에서 CFGAN을 설명한 것이다. 여기서, 각 트레이닝 인스턴스는 사용자에 해당되고 G(및 D)는 사용자의 구매 벡터를 생성(및 판별)하나, 트레이닝 인스턴스가 사용자가 아닌 아이템에 해당하는 아이템 지향적 방식으로도 CFGAN을 구현할 수 있다.In the above, CFGAN is described in terms of a user-oriented method that considers each user as a training instance. Here, each training instance corresponds to a user, and G (and D) creates (and determines) a purchase vector of the user, but the training instance can also implement CFGAN in an item-oriented manner corresponding to an item other than the user.

아이템 지향적 방식의 Item-oriented CFGANCFGAN

아이템-특정 정보에 의해 조건화된 G는 각 아이템의 그럴듯한 구매 벡터, 즉 m-차원의 벡터를 생성하려고 시도한다. 여기서, m은 사용자의 수이고, 이는 벡터의 각 요소에 해당하는 사용자가 아이템을 구매할 가능성이 얼마나 높은지를 나타낸다. 마찬가지로, 아이템-특정 정보에 따라 조건화된 D는 아이템의 실측 자료의 구매 벡터와 G에 의해 생성된 벡터를 구별하려고 시도한다. 또한, 이 에이전트는 아이템을 구매할 가능성이 없는 사람들을 나타내는 각 아이템의 음수(부정) 사용자를 선택하려고 시도한다. 트레이닝 후, G는 주어진 각 아이템 i과 모든 사용자에 대한 선호도 스코어를 예측한다. 마지막으로, 가장 높은 예측 스코어를 가진 N개의 아이템들이 각 사용자에게 추천된다.G, conditioned by item-specific information, attempts to generate a plausible purchase vector of each item, i.e., an m-dimensional vector. Here, m is the number of users, which indicates how likely a user corresponding to each element of the vector is to purchase an item. Similarly, D, conditioned according to item-specific information, attempts to distinguish the purchase vector of the item's actual measurement data from the vector generated by G. In addition, the agent attempts to select a negative (negative) user for each item representing people who are unlikely to purchase the item. After training, G predicts a preference score for each given item i and all users. Finally, N items with the highest prediction score are recommended to each user.

CF 방법들 각각(CFGAN_ZR, CFGAN_PM 및 CFGAN_ZP)은 사용자 지향적 방식은 물론이고, 아이템 지향적 방식을 이용하여 구현될 수 있다.Each of the CF methods (CFGAN_ZR, CFGAN_PM, and CFGAN_ZP) may be implemented using an item-oriented method as well as a user-oriented method.

시스템 구현System implementation

도 7은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 GAN 기반 CF 시스템이 도 7의 컴퓨터 시스템(700)을 통해 구현될 수 있다. 도 7에 도시한 바와 같이, 컴퓨터 시스템(700)은 상기한 GAN 기반 CF 방법을 실행하기 위한 구성요소로서 프로세서(710), 메모리(720), 영구 저장 장치(730), 버스(740), 입출력 인터페이스(750) 및 네트워크 인터페이스(760)를 포함할 수 있다.7 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention. For example, a GAN-based CF system according to embodiments of the present invention may be implemented through the computer system 700 of FIG. 7. As shown in FIG. 7, the computer system 700 is a component for executing the above-described GAN-based CF method, and includes a processor 710, a memory 720, a permanent storage device 730, a bus 740, and input/output. An interface 750 and a network interface 760 may be included.

프로세서(710)는 GAN 기반 CF을 위한 구성요소로서 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(710)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(710)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼 등에 포함될 수 있다. 프로세서(710)는 버스(740)를 통해 메모리(720)에 접속될 수 있다.Processor 710 may include or be part of any device capable of processing a sequence of instructions as a component for a GAN-based CF. The processor 710 may include, for example, a processor and/or a digital processor in a computer processor, mobile device or other electronic device. The processor 710 may be included, for example, a server computing device, a server computer, a series of server computers, a server farm, a cloud computer, a content platform, and the like. The processor 710 may be connected to the memory 720 through the bus 740.

메모리(720)는 컴퓨터 시스템(700)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(720)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 다이내믹 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(720)는 컴퓨터 시스템(700)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(720)는 예를 들어 GAN 기반 CF을 위한 명령어들을 포함하는 컴퓨터 시스템(700)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(700)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(710)를 포함할 수 있다.Memory 720 may include volatile memory, permanent, virtual or other memory for storing information used by or output by computer system 700. The memory 720 may include, for example, random access memory (RAM) and/or dynamic RAM (DRAM). Memory 720 may be used to store any information, such as state information of computer system 700. The memory 720 may also be used to store instructions of the computer system 700, including instructions for, for example, GAN-based CF. Computer system 700 may include one or more processors 710 as needed or where appropriate.

버스(740)는 컴퓨터 시스템(700)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(740)는 예를 들어 컴퓨터 시스템(700)의 컴포넌트들 사이에, 예를 들어 프로세서(710)와 메모리(720) 사이에 데이터를 운반할 수 있다. 버스(740)는 컴퓨터 시스템(700)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.Bus 740 may include a communication infrastructure that enables interaction between various components of computer system 700. Bus 740 may carry data between components of computer system 700, for example, between processor 710 and memory 720, for example. Bus 740 may include wireless and/or wired communication media between components of computer system 700 and may include parallel, serial, or other topological arrangements.

영구 저장 장치(730)는 (예를 들어, 메모리(720)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(700)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(730)는 컴퓨터 시스템(700) 내의 프로세서(710)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(730)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.Persistent storage device 730 is a component such as a memory or other persistent storage device as used by computer system 700 to store data for a predetermined extended period of time (e.g., compared to memory 720). Can include. Persistent storage device 730 may include non-volatile main memory as used by processor 710 in computer system 700. The persistent storage device 730 may include, for example, a flash memory, a hard disk, an optical disk, or other computer-readable medium.

입출력 인터페이스(750)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 GAN 기반 CF을 위한 입력이 입출력 인터페이스(750)를 통해 수신될 수 있다.The input/output interface 750 may include interfaces to a keyboard, a mouse, voice command input, a display, or other input or output device. Configuration commands and/or inputs for the GAN-based CF may be received through the input/output interface 750.

네트워크 인터페이스(760)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(760)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 GAN 기반 CF을 위한 입력이 네트워크 인터페이스(760)를 통해 수신될 수 있다.The network interface 760 may include one or more interfaces to networks such as a local area network or the Internet. The network interface 760 may include interfaces for wired or wireless connections. Configuration commands and/or input for a GAN-based CF may be received through the network interface 760.

또한, 다른 실시예들에서 컴퓨터 시스템(700)은 도 7의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(700)은 상술한 입출력 인터페이스(750)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Further, in other embodiments, the computer system 700 may include more components than the components of FIG. 7. However, there is no need to clearly show most of the prior art components. For example, the computer system 700 may be implemented to include at least some of the input/output devices connected to the input/output interface 750 described above, or a transceiver, a global positioning system (GPS) module, a camera, various sensors, Other components such as a database may be further included.

이처럼 본 발명의 실시예들에 따르면, GAN 기반 협업 필터링 방법에 대해 실제 값 벡터 단위(real-valued vector-wise)의 적대적 트레이닝을 사용함으로써 적대적 트레이닝을 사용할 때 발생하는 문제를 효과적으로 해결할 수 있고 적대적 트레이닝의 이점을 최대한 활용하여 협업 필터링의 추천 정확도를 높일 수 있다.As described above, according to embodiments of the present invention, by using real-valued vector-wise hostile training for the GAN-based collaborative filtering method, it is possible to effectively solve the problem that occurs when hostile training is used, and hostile training. You can increase the recommendation accuracy of collaborative filtering by taking full advantage of the benefits of.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable gate array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be embodyed in any type of machine, component, physical device, computer storage medium or device to be interpreted by the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. In this case, the medium may be one that continuously stores a program executable by a computer, or temporarily stores a program for execution or download. In addition, the medium may be a variety of recording means or storage means in a form in which a single or several pieces of hardware are combined, but is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks, and And ROM, RAM, flash memory, and the like may be configured to store program instructions. In addition, examples of other media include an app store that distributes applications, a site that supplies or distributes various software, and a recording medium or a storage medium managed by a server.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (20)

컴퓨터 시스템에서 실행되는, GAN(generative adversarial network)에 기반한 협업 필터링 방법에 있어서,
상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 GAN에 기반한 협업 필터링 방법은,
상기 적어도 하나의 프로세서에 의해, 아이템에 대하여 실제 값 벡터 단위(real-valued vector-wise)로 상기 GAN의 생성 모델(generative model)과 판별 모델(discriminative model)을 트레이닝하는 단계; 및
상기 적어도 하나의 프로세서에 의해, 상기 트레이닝된 생성 모델과 판별 모델을 이용하여 사용자에게 개인화된 아이템 목록을 추천하는 단계
를 포함하고,
상기 생성 모델은 실수 값들로 구성된 n-차원의 구매 벡터를 생성하고,
상기 판별 모델은 상기 생성된 구매 벡터를 실측 자료(ground truth)에 해당되는 실제 구매 벡터와 구별하도록 트레이닝되고,
상기 트레이닝하는 단계는,
단일 아이템 인덱스 대신, 실수 값들로 구성된 벡터 단위의 트레이닝을 수행하는 것으로,
상기 생성 모델이 각 아이템을 사용자가 구입했는지 여부를 특정하는 n-차원 표시기 벡터를 이용하여 상기 생성 모델의 출력인 상기 생성된 구매 벡터를 마스크하는 단계
를 포함하는 GAN에 기반한 협업 필터링 방법.
In a collaborative filtering method based on a generative adversarial network (GAN) executed in a computer system,
The computer system includes at least one processor configured to execute computer readable instructions contained in a memory,
Collaborative filtering method based on the GAN,
Training, by the at least one processor, a generative model and a discriminative model of the GAN in a real-valued vector-wise for an item; And
Recommending, by the at least one processor, a personalized item list to a user using the trained generation model and the discrimination model
Including,
The generation model generates an n-dimensional purchase vector consisting of real values,
The discrimination model is trained to distinguish the generated purchase vector from an actual purchase vector corresponding to ground truth,
The training step,
Instead of a single item index, training is performed in a vector unit consisting of real values,
Masking the generated purchase vector, which is an output of the generation model, using an n-dimensional indicator vector specifying whether the generated model has purchased each item by a user
Collaborative filtering method based on GAN including a.
제1항에 있어서,
상기 판별 모델은 주어진 구매 벡터가 상기 실제 구매 벡터인지 혹은 상기 생성 모델에서 생성된 구매 벡터인지 판별하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 1,
The discrimination model is to determine whether a given purchase vector is the actual purchase vector or a purchase vector generated from the generation model.
Collaborative filtering method based on GAN, characterized in that.
제1항에 있어서,
실수 값 벡터로서 사용자 특정 조건 벡터와 랜덤 노이즈 벡터가 주어지면,
상기 판별 모델은 상기 사용자 특정 조건 벡터에 의해 조절되어 상기 생성된 구매 벡터를 해당 사용자의 실제 구매 벡터와 구별하도록 트레이닝되는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 1,
Given a user-specific condition vector and a random noise vector as a real value vector,
The discrimination model is adjusted by the user-specific condition vector and trained to distinguish the generated purchase vector from the actual purchase vector of the corresponding user.
Collaborative filtering method based on GAN, characterized in that.
삭제delete 제3항에 있어서,
상기 생성 모델은 상기 사용자 특정 조건 벡터와 상기 랜덤 노이즈 벡터에 의해 n-차원의 구매 벡터를 출력하는 신경망이고,
상기 판별 모델은 자체 입력을 가지고 해당 입력이 실측 자료일 확률을 나타내는 단일 스칼라 값을 출력하는 신경망이고,
상기 트레이닝하는 단계는,
미니배치(minibatch)와 역-전파(back-propagation)를 이용한 확률적 기울기 하강법(stochastic gradient descent)을 통해 상기 생성 모델과 상기 판별 모델을 트레이닝하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 3,
The generation model is a neural network that outputs an n-dimensional purchase vector based on the user specific condition vector and the random noise vector,
The discriminant model is a neural network that has its own input and outputs a single scalar value indicating the probability that the input is actually measured data,
The training step,
Training the generation model and the discriminant model through stochastic gradient descent using mini-batch and back-propagation
Collaborative filtering method based on GAN, characterized in that.
제1항에 있어서,
상기 생성 모델에서 생성된 구매 벡터에는 데이터 세트의 모든 아이템에 대한 사용자의 예측 선호도 스코어가 포함되고,
상기 추천하는 단계는,
상기 데이터 세트에서 상기 예측 선호도 스코어가 높은 상위 N개의 아이템을 선택하여 추천하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 1,
The purchase vector generated by the generation model includes the predicted preference score of the user for all items in the data set,
The recommending step,
Selecting and recommending the top N items with the high prediction preference score from the data set
Collaborative filtering method based on GAN, characterized in that.
제1항에 있어서,
상기 트레이닝하는 단계는,
사용자가 구매하지 않은 아이템을 음수(negative) 아이템으로 추정한 후 상기 음수 아이템의 값이 0(zero)에 가까워지도록 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 1,
The training step,
After estimating an item not purchased by the user as a negative item, training the generation model so that the value of the negative item approaches 0 (zero)
Collaborative filtering method based on GAN, characterized in that.
제7항에 있어서,
상기 트레이닝하는 단계는,
상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법을 통해 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 7,
The training step,
Training the generative model through a method of minimizing the objective function of the generative model by using the negative item for zero-reconfiguration normalization
Collaborative filtering method based on GAN, characterized in that.
제7항에 있어서,
상기 트레이닝하는 단계는,
사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법을 통해 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 7,
The training step,
Training the generation model by using the item purchased by the user and the negative item as input values of the discrimination model and transmitting the output of the negative item back to the generating model with respect to the loss slope of the discrimination model that
Collaborative filtering method based on GAN, characterized in that.
제7항에 있어서,
상기 트레이닝하는 단계는,
상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법, 및 사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법이 결합된 하이브리드 방법을 통해 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 GAN에 기반한 협업 필터링 방법.
The method of claim 7,
The training step,
A method of minimizing the objective function of the generated model by using the negative item for zero-reconfiguration normalization, and using the item purchased by the user and the negative item as an input value of the discrimination model, and for the loss slope of the discrimination model Training the generation model through a hybrid method in which the method of transmitting the output of the negative item back to the generation model is combined
Collaborative filtering method based on GAN, characterized in that.
컴퓨터와 결합되어 제1항 내지 제3항, 제5항 내지 제10항 중 어느 한 항의 GAN에 기반한 협업 필터링 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program combined with a computer and stored in a computer-readable recording medium for executing the GAN-based collaborative filtering method of any one of claims 1 to 3 and 5 to 10 on a computer. 제1항 내지 제3항, 제5항 내지 제10항 중 어느 한 항의 GAN에 기반한 협업 필터링 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium, characterized in that a program for executing the GAN-based collaborative filtering method according to any one of claims 1 to 3 and 5 to 10 is recorded on a computer. 컴퓨터 시스템에 있어서,
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
아이템에 대하여 실제 값 벡터 단위(real-valued vector-wise)로 GAN GAN(generative adversarial network)의 생성 모델(generative model)과 판별 모델(discriminative model)을 트레이닝하고,
상기 트레이닝된 생성 모델과 판별 모델을 이용하여 사용자에게 개인화된 아이템 목록을 추천하고,
상기 생성 모델은 실수 값들로 구성된 n-차원의 구매 벡터를 생성하고,
상기 판별 모델은 상기 생성된 구매 벡터를 실측 자료(ground truth)에 해당되는 실제 구매 벡터와 구별하도록 트레이닝되고,
상기 적어도 하나의 프로세서는,
단일 아이템 인덱스 대신, 실수 값들로 구성된 벡터 단위의 트레이닝을 수행하는 것으로,
상기 생성 모델이 각 아이템을 사용자가 구입했는지 여부를 특정하는 n-차원 표시기 벡터를 이용하여 상기 생성 모델의 출력인 상기 생성된 구매 벡터를 마스크하는 것
을 특징으로 하는 컴퓨터 시스템.
In a computer system,
Memory; And
At least one processor coupled to the memory and configured to execute computer readable instructions contained in the memory
Including,
The at least one processor,
Train a generative model and a discriminative model of a GAN Generative Adversarial Network (GAN) in real-valued vector-wise for an item,
Recommend a personalized item list to the user using the trained generation model and discrimination model,
The generation model generates an n-dimensional purchase vector consisting of real values,
The discrimination model is trained to distinguish the generated purchase vector from an actual purchase vector corresponding to ground truth,
The at least one processor,
Instead of a single item index, training is performed in a vector unit consisting of real values,
Masking the generated purchase vector, which is the output of the generation model, by using an n-dimensional indicator vector specifying whether the generation model has purchased each item by the user
Computer system, characterized in that.
제13항에 있어서,
실수 값 벡터로서 사용자 특정 조건 벡터와 랜덤 노이즈 벡터가 주어지면,
상기 판별 모델은 상기 사용자 특정 조건 벡터에 의해 조절되어 상기 생성된 구매 벡터를 해당 사용자의 실제 구매 벡터와 구별하도록 트레이닝되는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 13,
Given a user-specific condition vector and a random noise vector as a real value vector,
The discrimination model is adjusted by the user-specific condition vector and trained to distinguish the generated purchase vector from the actual purchase vector of the corresponding user.
Computer system, characterized in that.
제14항에 있어서,
상기 생성 모델은 상기 사용자 특정 조건 벡터와 상기 랜덤 노이즈 벡터에 의해 n-차원의 구매 벡터를 출력하는 신경망이고,
상기 판별 모델은 자체 입력을 가지고 해당 입력이 실측 자료일 확률을 나타내는 단일 스칼라 값을 출력하는 신경망이고,
상기 적어도 하나의 프로세서는,
미니배치(minibatch)와 역-전파(back-propagation)를 이용한 확률적 기울기 하강법(stochastic gradient descent)을 통해 상기 생성 모델과 상기 판별 모델을 트레이닝하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 14,
The generation model is a neural network that outputs an n-dimensional purchase vector based on the user specific condition vector and the random noise vector,
The discriminant model is a neural network that has its own input and outputs a single scalar value indicating the probability that the input is actually measured data,
The at least one processor,
Training the generation model and the discriminant model through stochastic gradient descent using mini-batch and back-propagation
Computer system, characterized in that.
제13항에 있어서,
상기 생성 모델에서 생성된 구매 벡터에는 데이터 세트의 모든 아이템에 대한 사용자의 예측 선호도 스코어가 포함되고,
상기 적어도 하나의 프로세서는,
상기 데이터 세트에서 상기 예측 선호도 스코어가 높은 상위 N개의 아이템을 선택하여 추천하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 13,
The purchase vector generated by the generation model includes the predicted preference score of the user for all items in the data set,
The at least one processor,
Selecting and recommending the top N items with the high prediction preference score from the data set
Computer system, characterized in that.
제13항에 있어서,
상기 적어도 하나의 프로세서는,
사용자가 구매하지 않은 아이템을 음수(negative) 아이템으로 추정한 후 상기 음수 아이템의 값이 0(zero)에 가까워지도록 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 13,
The at least one processor,
After estimating an item not purchased by the user as a negative item, training the generation model so that the value of the negative item approaches 0 (zero)
Computer system, characterized in that.
제17항에 있어서,
상기 적어도 하나의 프로세서는,
상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법을 통해 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 17,
The at least one processor,
Training the generative model through a method of minimizing the objective function of the generative model by using the negative item for zero-reconfiguration normalization
Computer system, characterized in that.
제17항에 있어서,
상기 적어도 하나의 프로세서는,
사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법을 통해 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 17,
The at least one processor,
Training the generation model by using the item purchased by the user and the negative item as input values of the discrimination model and transmitting the output of the negative item back to the generating model with respect to the loss slope of the discrimination model that
Computer system, characterized in that.
제17항에 있어서,
상기 적어도 하나의 프로세서는,
상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법, 및 사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법이 결합된 하이브리드 방법을 통해 상기 생성 모델을 트레이닝하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 17,
The at least one processor,
A method of minimizing the objective function of the generated model by using the negative item for zero-reconfiguration normalization, and using the item purchased by the user and the negative item as an input value of the discrimination model, and for the loss slope of the discrimination model Training the generation model through a hybrid method in which the method of transmitting the output of the negative item back to the generation model is combined
Computer system, characterized in that.
KR1020180125104A 2018-10-19 2018-10-19 Method and system for collaborative filtering based on generative adversarial networks KR102203252B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180125104A KR102203252B1 (en) 2018-10-19 2018-10-19 Method and system for collaborative filtering based on generative adversarial networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180125104A KR102203252B1 (en) 2018-10-19 2018-10-19 Method and system for collaborative filtering based on generative adversarial networks

Publications (2)

Publication Number Publication Date
KR20200046189A KR20200046189A (en) 2020-05-07
KR102203252B1 true KR102203252B1 (en) 2021-01-14

Family

ID=70734318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180125104A KR102203252B1 (en) 2018-10-19 2018-10-19 Method and system for collaborative filtering based on generative adversarial networks

Country Status (1)

Country Link
KR (1) KR102203252B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102454317B1 (en) * 2020-07-13 2022-10-14 한양대학교 산학협력단 Augmenting virtual users and items in collaborative filtering for addressing cold start problems
CN112182384B (en) * 2020-09-28 2023-08-25 平安科技(深圳)有限公司 Content recommendation method and device based on countermeasure learning and computer equipment
KR102467676B1 (en) * 2020-11-30 2022-11-15 연세대학교 산학협력단 Diversity-Reinforced Recommendation Apparatus And Method Using Network Embedding
CN112884552B (en) * 2021-02-22 2023-11-21 广西师范大学 Lightweight multi-mode recommendation method based on generation countermeasure and knowledge distillation
KR102576484B1 (en) 2021-04-07 2023-09-08 주식회사 피씨엔씨 An Apparatus for recommending books in a hybrid method that combines collaborative filtering and book-based recommendations, and a method therefor
KR102506988B1 (en) * 2022-09-30 2023-03-07 (주)엘로이랩 Apparatus of anomaly detection using neural network trained using heterogeneous loss function

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101843066B1 (en) * 2017-08-23 2018-05-15 주식회사 뷰노 Method for classifying data via data augmentation of the data for machine-learning and apparatus using the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100020365A (en) * 2008-08-12 2010-02-22 건국대학교 산학협력단 System for recommendation the goods and method thereof
KR20160064447A (en) * 2014-11-28 2016-06-08 이종찬 A recommendation method for new users by using preference prediction based on collaborative filtering algorithm
US10789634B2 (en) * 2014-12-08 2020-09-29 Lg Cns Co., Ltd. Personalized recommendation method and system, and computer-readable record medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101843066B1 (en) * 2017-08-23 2018-05-15 주식회사 뷰노 Method for classifying data via data augmentation of the data for machine-learning and apparatus using the same

Also Published As

Publication number Publication date
KR20200046189A (en) 2020-05-07

Similar Documents

Publication Publication Date Title
KR102203252B1 (en) Method and system for collaborative filtering based on generative adversarial networks
CN107515909B (en) Video recommendation method and system
US10614381B2 (en) Personalizing user experiences with electronic content based on user representations learned from application usage data
KR102203253B1 (en) Rating augmentation and item recommendation method and system based on generative adversarial networks
US10546507B2 (en) Recommending a set of learning activities based on dynamic learning goal adaptation
CN112074857A (en) Combining machine learning and social data to generate personalized recommendations
Shakya et al. Reinforcement learning algorithms: A brief survey
KR102407595B1 (en) Method, device and system for providing winery experience service based on metaverse
Artasanchez et al. Artificial Intelligence with Python: Your complete guide to building intelligent apps using Python 3. x
Habib Hands-on Q-learning with python: Practical Q-learning with openai gym, Keras, and tensorflow
US20210200799A1 (en) System and method for improved content discovery
Zeng et al. A survey on causal reinforcement learning
Pai et al. Achieving safe deep reinforcement learning via environment comprehension mechanism
US11030483B2 (en) Generating and ordering tags for an image using subgraph of concepts
CN113449176A (en) Recommendation method and device based on knowledge graph
CN115631008B (en) Commodity recommendation method, device, equipment and medium
CN115599990A (en) Knowledge perception and deep reinforcement learning combined cross-domain recommendation method and system
CN110020195A (en) Article recommended method and device, storage medium, electronic equipment
Rao Keras to Kubernetes: The journey of a machine learning model to production
Petrowski et al. Evolutionary algorithms
CN110727705B (en) Information recommendation method and device, electronic equipment and computer-readable storage medium
CN113761388A (en) Recommendation method and device, electronic equipment and storage medium
CN109582802B (en) Entity embedding method, device, medium and equipment
CN114930317A (en) Graph convolution network for video grounding
Rahmani et al. Planning to chronicle: Optimal policies for narrative observation of unpredictable events

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right