KR20200046189A - 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
KR20200046189A
KR20200046189A KR1020180125104A KR20180125104A KR20200046189A KR 20200046189 A KR20200046189 A KR 20200046189A KR 1020180125104 A KR1020180125104 A KR 1020180125104A KR 20180125104 A KR20180125104 A KR 20180125104A KR 20200046189 A KR20200046189 A KR 20200046189A
Authority
KR
South Korea
Prior art keywords
model
vector
item
gan
user
Prior art date
Application number
KR1020180125104A
Other languages
Korean (ko)
Other versions
KR102203252B1 (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

Disclosed are a method and a system for collaborative filtering based on a generative adversarial network (GAN). The method for collaborative filtering based on a GAN comprises the steps of: training a generative model and a discriminative model of a GAN in a real-valued vector-wise manner on an item; and recommending a personalized item list to a user by using the trained generative model and discriminative model.

Description

생성적 적대 신경망에 기반한 협업 필터링을 위한 방법 및 시스템{METHOD AND SYSTEM FOR COLLABORATIVE FILTERING BASED ON GENERATIVE ADVERSARIAL NETWORKS}METHOD AND SYSTEM FOR COLLABORATIVE FILTERING BASED ON GENERATIVE ADVERSARIAL NETWORKS

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

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

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

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

많은 CF 방법들 중에서 아이템에 대한 사용자의 과거 선호도 패턴 학습 모델을 구축하는 모델 기반 CF 방법이 가장 성공적이라고 알려져 있다. 가장 널리 사용되는 모델 기반 CF 방법들 중 일부는 사용자와 아이템의 잠재된 특징 사이의 선형 상호 작용(linear interactions)을 학습하는 행렬 인수 분해(matrix factorization, MF)를 기반으로 한다.Among many CF methods, a model-based CF method that builds a user's past preference pattern learning model for an item 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 a user and an item's latent features.

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

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 a given data. GAN consists of two models: one is the creation model (hereinafter referred to as 'G') and the other is the discrimination 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 rather than 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 actual data from fake data. As a result of this hostile process, G learns at least how to generate realistic data such as photos that appear to be authentic to the human eye.

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

추천에 대한 높은 정확성을 제공하는 GAN 기반 협업 필터링 프레임 워크를 제공할 수 있다.It can 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 GAN-based collaborative filtering methods can be suggested.

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

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

다른 측면에 따르면, 실수 값 벡터로서 사용자 특정 조건 벡터와 랜덤 노이즈 벡터가 주어지면, 상기 생성 모델은 n-차원의 구매 벡터를 생성하고, 상기 판별 모델은 상기 사용자 특정 조건 벡터에 의해 조절되어 상기 생성된 구매 벡터를 해당 사용자의 실제 구매 벡터와 구별하도록 트레이닝될 수 있다.According to another aspect, given a user-specific condition vector and a random noise vector 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 may be trained to distinguish the purchased vector from the actual purchase vector of the user.

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 상기 생성 모델이 각 아이템을 사용자가 구입했는지 여부를 특정하는 n-차원 표시기 벡터를 이용하여 상기 생성 모델의 출력인 상기 생성된 구매 벡터를 마스크하는 단계를 포함할 수 있다.According to another aspect, the training step includes masking the generated purchase vector, which is the output of the generated model, using an n-dimensional indicator vector specifying whether the generated model 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 by the user-specific condition vector and the random noise vector, and the discrimination model has its own input and has a probability that the input is actual data. It is a neural network that outputs a single scalar value, and the training step comprises the generation model and the discrimination through stochastic gradient descent using minibatch and back-propagation. You can train the model.

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

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

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

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

또 다른 측면에 따르면, 상기 트레이닝하는 단계는, 상기 음수 아이템을 제로-재구성 정규화에 사용하여 상기 생성 모델의 목적 함수를 최소화하는 방법, 및 사용자가 구매한 아이템과 상기 음수 아이템을 상기 판별 모델의 입력 값으로 이용하고 상기 판별 모델의 손실 기울기에 대해 상기 음수 아이템에 대한 출력을 다시 상기 생성 모델로 전달하는 방법이 결합된 하이브리드 방법을 통해 상기 생성 모델을 트레이닝할 수 있다.According to another aspect, the step of training includes using the negative item for zero-reconstruction normalization to minimize the objective function of the generation model, and inputting the user-purchased item and the negative item into the discriminant model. The generation model can 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 for the loss slope of the discrimination model is combined.

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

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

컴퓨터 시스템에 있어서, 메모리; 및 상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 아이템에 대하여 실제 값 벡터 단위(real-valued vector-wise)로 GAN(generative adversarial network)의 생성 모델(generative model)과 판별 모델(discriminative model)을 트레이닝하고, 상기 트레이닝된 생성 모델과 판별 모델을 이용하여 사용자에게 개인화된 아이템 목록을 추천하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.A computer system, comprising: a memory; And at least one processor coupled to the memory and configured to execute computer readable instructions contained in the memory, wherein the at least one processor is a real-valued vector-wise for an item. A computer characterized by training a generative model and a discriminative model of a GAN (generative adversarial network), and recommending a personalized item list to the user using the trained generating model and the discriminative model. Provide a 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, problems that occur when using hostile training can be effectively solved and By taking full advantage of this, you can increase the recommendation accuracy of 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.
2 is a visualization of the learning trend of IRGAN
Figure 3 is a visualization of the learning trend of GraphGAN.
FIG. 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) in an embodiment of the present invention.
6 shows an example of a learning algorithm for CFGAN_ZP in one embodiment of the present invention.
7 is a block diagram illustrating an example of an internal configuration of a computer system in 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 preferences and product preferences based on the ratings left by the user, and then predicts the rating or the top N items to be purchased for products that the user has not yet purchased.

본 발명에서는 추천에 대한 더욱 높은 정확성을 제공하는 새로운 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, identify the fundamental problems of the existing method for CF and quantitatively highlight the problems of the existing method through various experiments. Next, we propose a new direction of vector-wise hostile training and propose a GAN-based CF framework (CFGAN) based on this direction. In addition, we identify unique challenges (problems) that arise when vector-based 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 that the advantage of hostile training in the existing CF has not been fully utilized comes 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 produces a vector (eg, an image) with elements of consecutive values. Since the item index is discrete and finite, it is highly likely that G samples exactly the same data as the actual data (that is, the user's actual choice). Therefore, as training progresses, D becomes confused, and thus the grade is degraded because contradictory labels for the same item index are trained at a large rate. When the same item comes from G, this same item can sometimes be marked "fake", and in other cases from actual data it can be marked "real". As a result, D sends the wrong signal to G, which reduces the likelihood that G will sample the actual data item. In other words, instead of improving each other's ability, the accuracy of G and D is worse. After several iterations, the accuracy of the recommendation by D no longer increases, but rather plummets. This is due to the high proportion of contradictory labeled items. This prevents G from improving the accuracy in CFs where the 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 problems, the present invention proposes a new GAN-based CF framework. In the framework according to the present invention, given a user, G attempts to generate a plausible purchase vector of real (real) value elements rather than sampling a single item index that the user may be interested in and purchase. Similarly, D attempts to distinguish the actual purchase vector from the actual data from the generated purchase vector. This approach to generating and discriminating real vectors is a confusion of D that occurs in GraphGAN and IRGAN due to items with contradictory labels, since it is almost impossible for G to generate a real vector that is exactly the same as the vector belonging to the actual data. prevent. This property allows D to continuously improve by guiding G through inverse propagation, thereby making the generated vector of G closer to the actual purchase vector in the iterative process. This GAN-based CF framework drives successful hostile training to achieve high-accuracy recommendations.

이산 아이템 인덱스 생성으로부터 GAN 기반 CF에 대한 실수 값 벡터 생성으로 목표를 전환할 때, 암시적 피드백 데이터의 특성으로 인해 자연스럽게 나타나는 고유한 과제를 식별한다. 원본 GAN(다중 비트 심도를 갖는 픽셀로 구성된 고밀도 벡터로 표현되는)에 의해 고려된 이미지 데이터와 달리, CF의 실측 자료는 희소 단일 값 벡터이다. 여기서, 해당 사용자-아이템 상호 작용이 관찰되는 경우(즉, 사용자가 아이템을 구매)의 요소(원소)는 1이다. G는 실측 자료와 유사한 구매 벡터를 생성하려고 시도하지만, 무유용하고 쉬운 해결책을 찾음으로써 쉽게 벗어날 수 있다: 즉, 사용자의 상대적인 선호도를 고려하지 않고 모든 요소가 1을 가지는 구매 벡터를 생성한다.When shifting the goal from discrete item index generation to real-value vector generation for GAN-based CFs, we identify unique challenges that naturally appear due to the nature of the implicit feedback data. Unlike image data considered by the original GAN (represented by a high-density vector composed of pixels with multiple bit depths), the actual data of CF is a sparse single-valued vector. Here, the element (element) of the case where the corresponding user-item interaction is observed (that is, the user purchases the item) is 1. G attempts to generate a purchase vector similar to the actual data, but it can be easily escaped by finding a useless and easy solution: that is, it creates a purchase vector with all elements 1 without considering 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 connection with this problem, three CF methods (ie, CFGAN-ZR, CFGAN-PM and CFGAN-ZP) developed in the framework according to the present invention are proposed. Each method successfully solves the problem in a unique way. The commonalities of these methods are as follows: (1) Sample unobserved elements; (2) It is assumed that these methods will correspond to negative feedback (ie, the values of these methods are not omitted from the purchase vector and become zero); (3) You can request G to generate an output close to 0 from the sampled element and 1 from the element corresponding to the user's actual preference (ie, 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, other frameworks in accordance with the present invention formulate each of these methods according to a user-centric and item-centric approach.

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

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

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

(3) 새로운 방향의 GAN 기반 CF 프레임 워크를 제안한다. 즉, 실제 값 벡터 단위 적대적 트레이닝의 방향을 제시한다.(3) A new GAN-based CF framework is proposed. In other words, the direction of hostile training in actual value vectors is presented.

(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 the GAN-based CF framework. CF methods successfully solve the problem of using vector-wise hostile training for CF.

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

이하에서는 GAN 기반 CF 방법에 대한 사전 작업을 설명한다.The following describes the preliminary work for the GAN based CF method.

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

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

CF의 목표는 j(

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

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

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

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

최근 기계 학습 모델을 학습하는 새로운 방법을 제안하는 생성적 적대 신경망(GAN)이 연구되고 있다. GAN은 생성 모델(G)과 판별 모델(D) 간의 경쟁 구조를 통해 G를 훈련시켜서 G가 그럴듯한 데이터를 생성하도록 만드는 기술이다. 다시 말해, G와 D를 포함하는 경쟁 과정을 통하여, G는 실측 자료의 분포를 포착하도록 학습되어 실측 자료와 특성이 다르지 않은 그럴듯한 합성 데이터를 생성할 수 있다. 공식적으로, G와 D는 목적 함수 V를 이용하여 다음의 두 플레이어 최소극대화 게임을 플레이한다(수학식 1).Recently, a generative hostile neural network (GAN) has been studied that proposes a new method of learning a machine learning model. GAN is a technique that trains G through the competition structure between the generation model (G) and the discrimination model (D) to make G generate plausible data. In other words, through a competition process involving G and D, G can be learned to capture the distribution of the measured data, and thus generate plausible synthetic data that does not differ in characteristics from the measured data. Officially, G and D use the objective function V to play the following two player minimum maximization game (Equation 1).

[수학식 1][Equation 1]

Figure pat00013
Figure pat00013

여기서,

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

GAN의 가장 성공적인 분야는 이미지 생성이지만, 음악 생성에 대한 WaveGAN, 문장 생성에 대한 SegGAN 등과 같이 다른 분야에서 더 유망한 결과를 얻을 수 있는 큰 잠재력을 가지고 있다. 최근 추천 시스템 분야에서 CF에 GAN을 적용한 방법들이 연구되고 있으며, CF 모델을 트레이닝시키기 위해 기존에는 포인트 단위(point wise) 또는 쌍 단위(pair wise) 목적 함수를 최적화하는 것이 아니라, 적대적 트레이닝 방법을 적용하여 추천에서 만족스러운 정확성을 얻으려고 시도한다.GAN's most successful field is image creation, 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 in the field of recommendation systems are being researched, and in order to train a CF model, instead of optimizing a point wise or pair wise objective function, a hostile training method is applied. And try to get satisfactory accuracy from the recommendation.

일례로, 추천 시스템에 적용된 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 The principle based on information retrieval models.) is as follows.

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

[수학식 2][Equation 2]

Figure pat00021
Figure pat00021

여기서,

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

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

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

[수학식 3][Equation 3]

Figure pat00026
Figure pat00026

여기서,

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

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

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

[수학식 4][Equation 4]

Figure pat00035
Figure pat00035

확률적인(stochastic) 기울기 상승으로 D를 풀 수 있지만, G는 i의 샘플링이 이산적이므로 D로부터 기울기를 수신할 수 없다. 따라서, IRGAN은 G를 업데이트하기 위해 폴리시(policy) 기울기 기반 보강 학습을 사용한다.D can be solved with a stochastic gradient rise, but G cannot receive a gradient from D because the 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 findings that focus on the GAN-based recommendation system, especially the visual aspects of the item. GAN can be used for recommended work, but previously requires additional visual information of the item.

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

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

도 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 (almost) randomly, but improves its performance according to the guiding of D (b). As training progresses further (c), G frequently samples the exact same item as the actual 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 as "fake" (in G) and labeled as "real" (i.e., from actual data), making D significantly confusing, As a result, D will decline. This means that D can transmit an erroneous signal to G through the policy gradient, and G can lower the possibility of sampling items of actual data and cause G to deteriorate.

앞서 언급된 한계로 인한 G의 성능 저하 정도를 이해하기 위해 실제 데이터 세트에 대한 예비 실험을 수행한다.To understand the degree of performance 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 example of experiment, MovieLens 100K and Watcha data are used. The existing well-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. As the scale for calculating accuracy, widely used precision and MRR were used, and the results for the top 5 (@ 5) were calculated.

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

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

본 발명에서는 G와 D가 단일 아이템 인덱스(single item index) 대신, 실수 값들로 구성된 벡터 단위의 생성과 판별을 수행하도록 한다. 다시 말해, 본 발명에서 G는 실수 값 벡터를 생성하고 D는 G와 실측 자료로부터 오는 실제 벡터 값을 구별한다. 보다 구체적으로, 사용자가 주어지면 D가 주어진 구매 벡터가 진짜인지 또는 G에 의해 생성된 가짜인지를 정확하게 결정하려고 시도하는 동안, G는 그럴듯한 구매 벡터를 생성하려고 시도한다. 벡터 단위 트레이닝의 경우, G는 실제 구매와 매우 유사한(그러나 동일하지 않은) 구매 벡터를 생성할 수 있지만, 실제 구매와 정확하게 동일한 구매 벡터를 생성할 가능성은 거의 없다. 이는 D가 G에 의해 속임 당하는 일이 거의 없게 만들기 때문에, D가 자격이 부여된 G의 트레이닝 데이터로 인해 일련의 단계에서 일관되게 자체 한계를 벗어날 수 있게 해준다. 마찬가지로, D는 역 전파를 통해 보다 현실적인 가짜 구매 벡터를 생성하기 위해 G가 자체 출력을 약간 변경해야 하는 방법을 보여주는 G에 유용한 트레이닝 신호를 지속적으로 제공할 수 있다. 본 발명에서 제안된 벡터 단위 트레이닝이 GAN의 장점을 충분히 활용하여 고품질 추천을 수행하는 적대적 트레이닝을 성공적으로 수행할 수 있다.In the present invention, G and D perform generation and determination of a vector unit composed of real values instead of a single item index. In other words, in the present invention, G generates a real-valued vector, and D distinguishes G from an actual vector value from actual data. More specifically, G is attempting to generate a plausible purchase vector while the user is given an attempt to accurately determine if the given purchase vector is real or fake generated by G. For per-vector training, G can produce a purchase vector that is very similar (but not identical) to the actual purchase, but is unlikely to produce a purchase vector that is exactly the same as the actual purchase. This makes D seldom deceived by G, allowing D to consistently escape its limits in a series of steps due to the qualified G's training data. Likewise, D can continue to provide useful training signals to G, showing how G needs to slightly alter its output to generate a more realistic fake purchase vector through back propagation. 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) in an embodiment of the present invention.

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

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

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

[수학식 5][Equation 5]

Figure pat00041
Figure pat00041

이와 마찬가지로, G는 수학식 6과 같다.Similarly, G is represented by Equation (6).

[수학식 6][Equation 6]

Figure pat00042
Figure pat00042

수학식 5와 수학식 6에서

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

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

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

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

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

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

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

CFGAN 상에서 실현되는 가지 CF 방법들(사용자 지향적 방법 및 아이템 지향적 방법)은 다음과 같다.The various 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 a 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 represented by a vector of pixels with multi-bit depth, the implicit feedback data for the user in the recommendation is a very sparse single value vector, the elements of which are corresponding user-items 1 if the interaction (i.e. purchase) is observed, otherwise it is empty. G tries to deceive D by generating a purchase vector similar to the actual data, but it will lead to a trivial solution that simply predicts all outputs of the purchase vector as 1. This solution is easy to obtain, but not useful. This is because the relative preference of the user, which is a basic element of CF, cannot be captured.

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

Figure pat00062
)을 무작위로 선택하고, 해당 아이템을 음수(negative) 아이템으로 추정한 후, 해당 피드백이 누락되지 않았지만 0인 것을 나타낸다. 그런 다음, 음수 아이템의 값이 0에 가까워지도록, G가 사용자의 구매 벡터를 생성하도록 트레이닝한다. 이렇게 함으로써, G가 D를 기만하기 위해 구매된 아이템에 대해 1에 가까운 값을 생성하는 것에 초점을 맞추고, 음수 아이템에 대한 값을 산출하는 것을 고려할 수 있다. 결과적으로, 구매 벡터의 모든 요소에 대해 1을 단순 출력하는 G의 솔루션을 수용하는 것을 피하게 된다.The key ideas shared by the various CF methods realized on the CFGAN of the present invention are as follows: the proportion of items not purchased by each user in all training iterations (e.g. t).
Figure pat00062
) Is randomly selected, and after estimating the item as a negative item, it indicates that the 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, it is possible to focus on generating values close to 1 for G purchased items to deceive D, and consider calculating values for negative items. As a result, we avoid accepting G's solution that simply outputs 1 for every element of the purchase vector.

형식적으로,

Figure pat00063
는 t 번째 반복에서 샘플링된 음수 아이템 세트를 나타낸다. 구매 행렬
Figure pat00064
의 해당 항목은 누락되지 않은 것으로 간주되지만, 이 반복에서만 0으로 간주된다. S는
Figure pat00065
로부터 식별된 아이템의 비율(백분율)을 나타낸다. 예를 들어, S가 30으로 설정되면,
Figure pat00066
의 아이템들 중 30%가 선택된다.Formally,
Figure pat00063
Denotes a set of negative items sampled in the t-th iteration. Purchase matrix
Figure pat00064
The corresponding item of is considered not to be missing, but is considered 0 only in this iteration. S is
Figure pat00065
The percentage (percentage) of the item identified from. For example, if S is set to 30,
Figure 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-reconstruction normalization (CFGAN-ZR), and a method based on partial-masking (CFGAN-PM). And a hybrid method (CFGAN-ZP) in which the above two are combined.

CFGANCFGAN -- ZRZR

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

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

[수학식 7][Equation 7]

Figure pat00069
Figure pat00069

수학식 7에서

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

CFGANCFGAN -PM-PM

CFGAN-PM에서는 심볼

Figure pat00074
Figure pat00075
를 사용하여 선택된 음수 아이템과 샘플링 파라미터 S를 각각 나타낸다. CFGAN-PM에서 비구매 아이템에 해당하는 모든 출력 노드를 반드시 드롭하지는 않지만,
Figure pat00076
에 해당하는 출력 노드는 그대로 유지한다. 이로써, D는 구매된 아이템뿐만 아니라 판별 작업의 음수 아이템으로부터의 입력 값을 활용한다. 또한, D로부터의 손실의 기울기에 대하여 선택된 음수 아이템에 대한 출력을 G로 다시 전달할 수 있다. 결과적으로, G는 구매 아이템에 대해 생성된 출력을 1에 가깝게 만들고, 선택된 음수 아이템에 대해 0에 더 가깝게 만든다.Symbol in CFGAN-PM
Figure pat00074
Wow
Figure pat00075
Each of the selected negative items and sampling parameter S is represented by using. CFGAN-PM does not necessarily drop all output nodes corresponding to non-purchased items,
Figure pat00076
The output node corresponding to is maintained. Thus, D utilizes input values from the purchased item as well as 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 purchase item closer to 1, and closer to 0 for the selected negative item.

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

Figure pat00077
와 수학식 9의
Figure pat00078
에 적용된다.The above idea is that of Equation 8
Figure pat00077
And equation (9)
Figure pat00078
Applies to.

[수학식 8][Equation 8]

Figure pat00079
Figure pat00079

[수학식 9][Equation 9]

Figure pat00080
Figure pat00080

수학식 8과 수학식 9에서

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

CFGANCFGAN -- ZPZP

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

Figure pat00085
Figure pat00086
는 각각 제로 재구성 및 부분 마스킹에 사용된다. 여기서, D의 목적 함수는 G의 목적 함수를 나타내는 수학식 10과 동일하다.CFGAN-ZP is a hybrid method that can take advantage of both methods using both zero reconstruction normalization and partial masking. The set of negative items selected
Figure pat00085
And
Figure 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 pat00087
Figure 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 in FIG. 6. CFGAN_ZR and CFGAN_PM are considered 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 in which each user is regarded as a training instance. Here, each training instance corresponds to the user and G (and D) generates (and discriminates) the user's purchase vector, but CFGAN can be implemented in an item-oriented manner in which the training instance corresponds 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 produce a plausible purchase vector of each item, i.e. an m-dimensional vector. Here, m is the number of users, which indicates how likely the user corresponding to each element of the vector is to purchase the item. Likewise, D conditioned according to item-specific information attempts to distinguish the vector generated by G from the purchase vector of the item's actual data. The agent also attempts to select a negative (negative) user for each item representing those who are unlikely to purchase the item. After training, G predicts the preference score for each given item i and all users. Finally, N items with the highest prediction scores are recommended for 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 in 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 GAN-based CF method, the processor 710, the memory 720, the permanent storage device 730, the bus 740, input and output It may include an interface 750 and a network interface 760.

프로세서(710)는 GAN 기반 CF을 위한 구성요소로서 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(710)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(710)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼 등에 포함될 수 있다. 프로세서(710)는 버스(740)를 통해 메모리(720)에 접속될 수 있다.The processor 710 is a component for a GAN-based CF and may include or be a part of any device capable of processing a sequence of instructions. The processor 710 may include, for example, a computer processor, a processor in a mobile device or other electronic device, and / or a digital processor. The processor 710 may be included in, 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)를 포함할 수 있다.The memory 720 may include volatile memory, permanent, virtual, or other memory for storing information used or output by the computer system 700. The memory 720 may include, for example, random access memory (RAM) and / or dynamic RAM (DRAM). The memory 720 can be used to store any information, such as status information of the computer system 700. The memory 720 may also be used to store instructions of the computer system 700 including, for example, instructions for a GAN-based CF. Computer system 700 may include one or more processors 710 as needed or appropriate.

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

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

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

네트워크 인터페이스(760)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(760)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 GAN 기반 CF을 위한 입력이 네트워크 인터페이스(760)를 통해 수신될 수 있다.Network interface 760 may include one or more interfaces to networks such as a local area network or the Internet. Network interface 760 may include interfaces for wired or wireless connections. Configuration commands and / or input for GAN-based CF may be received via 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 those in FIG. 7. However, there is no need to clearly show most prior art components. For example, the computer system 700 is 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, It may further include other components, such as a database.

이처럼 본 발명의 실시예들에 따르면, 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, problems that occur when using hostile training can be effectively solved and hostile training You can increase the recommendation accuracy of collaborative filtering by making the most 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 device described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components. For example, the devices and components described in the embodiments may include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor (micro signal processor), a microcomputer, a field programmable gate array (FPGA), or a programmable (PLU) It may be implemented using one or more general purpose computers or special purpose computers, such as logic units, microprocessors, or any other device capable of executing and responding to instructions. The processing device may perform an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be embodied on 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 on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in 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 on a computer readable medium. At this time, the medium may be to continuously store a program executable on a computer or to temporarily store it for execution or download. In addition, the medium may be various recording means or storage means in the form of a combination of single or several hardware, and is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of the media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. In addition, examples of other media include an application store for distributing applications, a site for distributing or distributing various software, and a recording medium or storage medium managed by a server.

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

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

Claims (20)

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

Cited By (6)

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

Citations (4)

* 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
KR20160069486A (en) * 2014-12-08 2016-06-16 주식회사 엘지씨엔에스 Personalized recommendation method, system and computer-readable record medium
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

Patent Citations (4)

* 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
KR20160069486A (en) * 2014-12-08 2016-06-16 주식회사 엘지씨엔에스 Personalized recommendation method, system and computer-readable record medium
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

Cited By (8)

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

Also Published As

Publication number Publication date
KR102203252B1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
KR102203252B1 (en) Method and system for collaborative filtering based on generative adversarial networks
Devezer et al. Scientific discovery in a model-centric framework: Reproducibility, innovation, and epistemic diversity
US10614381B2 (en) Personalizing user experiences with electronic content based on user representations learned from application usage data
Raschka Python machine learning
CN116888602A (en) Interpretable transducer
US20160086498A1 (en) Recommending a Set of Learning Activities Based on Dynamic Learning Goal Adaptation
KR102203253B1 (en) Rating augmentation and item recommendation method and system based on generative adversarial networks
US20230359899A1 (en) Transfer learning based on cross-domain homophily influences
CN111589157B (en) AI model using method, apparatus and storage medium
Leike Nonparametric general reinforcement learning
Gym et al. Deep reinforcement learning with python
CN114819050A (en) Method and apparatus for training neural network for image recognition
Zeng et al. A survey on causal reinforcement learning
US20240152763A1 (en) Subset conditioning using variational autoencoder with a learnable tensor train induced prior
Leekha Learn AI with Python: Explore machine learning and deep learning techniques for building smart AI systems using Scikit-Learn, NLTK, NeuroLab, and Keras (English Edition)
CN114556331A (en) New frame for less-lens time action positioning
US20210174910A1 (en) Method and apparatus for generating new chemical structure using neural network
CN115631008B (en) Commodity recommendation method, device, equipment and medium
CN116208399A (en) Network malicious behavior detection method and device based on metagraph
US11854672B2 (en) Method and apparatus for generating chemical structure
Petrowski et al. Evolutionary algorithms
Peharz et al. Exact maximum margin structure learning of Bayesian networks
Nicosia et al. Machine Learning, Optimization, and Data Science: 8th International Conference, LOD 2022, Certosa di Pontignano, Italy, September 18–22, 2022, Revised Selected Papers, Part II
KR102453919B1 (en) Method, device and system for verifying of guide soundtrack related to cultural content based on artificial intelligence
JP7384322B2 (en) Prediction model creation method, prediction method, prediction model creation device, prediction device, prediction model creation program, prediction program

Legal Events

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