KR20190047576A - Alternating AutoencoderMethod and System for recommendation System - Google Patents
Alternating AutoencoderMethod and System for recommendation System Download PDFInfo
- Publication number
- KR20190047576A KR20190047576A KR1020180031871A KR20180031871A KR20190047576A KR 20190047576 A KR20190047576 A KR 20190047576A KR 1020180031871 A KR1020180031871 A KR 1020180031871A KR 20180031871 A KR20180031871 A KR 20180031871A KR 20190047576 A KR20190047576 A KR 20190047576A
- Authority
- KR
- South Korea
- Prior art keywords
- auto
- matrix
- encoder
- encoding
- neural network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 데이터에서 의미있는 값을 추출하는 특징값 추출(feature extraction)을 수행하기 위해 이용되는 오토인코더(autoencoder)를 협력필터링(collaborate filtering) 기반의 심층신경망(deep neural network)에 적용하는 기술에 관한 것이다.The present invention relates to a technique for applying an autoencoder used for performing feature extraction to extract meaningful values in data to a deep neural network based on collaborative filtering .
오토인코더(autoencoder)는 머신러닝(machine learning) 학습 시 이용되는 기술로서, 아래의 비특허 문헌 [1] Ian Goodfellow , Yoshua Bengio , and Aaron Courville, Deep learning, MIT Press, 2016. http://www.deep learningbook . org .에 제시된 딥러닝 학습 시 같이 특징값 추출(feature extraction)을 위해 이용된다. An autoencoder is a technique used in machine learning learning, and is described in the following non-patent document [1] by Ian Goodfellow , Yoshua Bengio , and Aaron Courville, Deep learning, MIT Press, 2016. http: //www.deep learningbook . org . Is used for feature extraction as in the deep learning learning presented in Fig.
예컨대, 오토 인코더는, 다른 심층신경망과는 달리 아래의 표 1과 같이 입력과 출력이 같도록 학습한다.For example, unlike other neural networks, the auto encoder learns that the input and the output are the same as shown in Table 1 below.
표 1과 같이, 입력 및 출력이 같도록 학습하는 오토인코더(autoencoder)에서, 손실함수는 아래의 수학식 1과 같이 표현될 수 있다.[수학식 1]As shown in Table 1, in an autoencoder that learns that the input and the output are the same, the loss function can be expressed as Equation 1 below. ≪ EMI ID =
상품에 대한 소비자의 만족도는 추천시스템의 설계 시 매우 중요한 요소이나, 소비자의 자발적인 협조가 요구되므로 충분한 만족도 데이터를 확보하는데 어려움이 존재한다.Consumer satisfaction with products is a very important factor in designing a recommendation system, but there is a difficulty in ensuring sufficient satisfaction data because voluntary cooperation of consumers is required.
이에 따라, 수집된(즉, 확보된) 일부의 만족도 데이터(즉, 소량의 만족도 데이터)를 기반으로 학습을 통해 전체의 데이터를 예측하는 기술이 필요하다.Accordingly, there is a need for a technique of predicting the entire data through learning based on collected (i.e., secured) partial satisfaction data (i.e., a small amount of satisfaction data).
본 발명은 특정 상품(예컨대, 영화, 음악, 방송, 물리적인 제품 등)과 관련하여 수집된 일부의 만족도 데이터를 기반으로 전체의 데이터를 예측하는 협력 필터링 기반의 오토인코딩 기술에 관한 것이다.The present invention relates to cooperative filtering based auto-encoding techniques for predicting overall data based on some satisfaction data collected in connection with a particular product (e.g., movie, music, broadcast, physical product, etc.).
협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 방법에 있어서, 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 단계, 상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 단계, 및 다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행하는 단계를 포함할 수 있다.A method of autoencoding based on collaborative filtering, the method comprising the steps of: acquiring a matrix M of item information previously collected into a column of a matrix M corresponding to an input layer of a Deep Neural Network; Determining whether to perform auto encoding based on a different auto encoder based on a root mean square error after the first auto encoding and a predetermined threshold value, And a second auto encoding based on the transpose matrix M T of the matrix M in which the previously collected user information is set as a column, And performing the steps of:
일측면에 따르면, 상기 오토인코딩을 수행할지 여부를 결정하는 단계는, 학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하는 단계, 및 계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정하는 단계를 포함할 수 있다.According to an aspect, the step of determining whether to perform the auto-encoding includes calculating an average square root error of the current auto-encoder for each epoch in which learning is performed, and calculating the average square root error of the current auto- And determining to change the current auto-encoder to the other auto-encoder if the current auto-encoder is smaller than the current auto-encoder.
다른 측면에 따르면, 상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정될 수 있다.According to another aspect, whenever it is decided to perform auto encoding in the other auto encoder, the encoder output of the current auto encoder can be set to the weight matrix of the decoder of another auto encoder.
또 다른 측면에 따르면, 상기 제1 오토인코딩을 수행하는 단계는, 상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of performing the first auto encoding may further include the step of, based on back propagation, setting the weight of the decoder of the first auto- And updating the output of the encoder of the first auto encoder.
또 다른 측면에 따르면, 상기 제1 오토인코딩을 수행하는 단계는, 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하는 단계, 및 제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of performing the first auto encoding includes setting a column of a matrix M corresponding to an input layer of the Deep Neural Network on the basis of the item information And performing an encoding on the matrix M at an encoder of a first autoencoder to estimate a transpose matrix V T of a matrix V of matrix factorization schemes .
또 다른 측면에 따르면, 상기 제1 오토인코딩을 수행하는 단계는, 추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하는 단계, 및 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정하는 단계를 더 포함할 수 있다.According to another aspect, the step of performing the first auto encoding comprises the steps of performing a decoding based on the estimated transposed matrix V T to estimate a matrix U of matrix factorization, A matrix corresponding to an output layer of the Deep Neural Network based on the matrix U and the transposed matrix V T May be estimated.
또 다른 측면에 따르면, 상기 제2 오토인코딩을 수행하는 단계는, 상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하는 단계, 및 제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of performing the second auto encoding includes setting the user information to a column of a transposed matrix M T of a matrix M corresponding to an input layer of the Deep Neural Network And performing an encoding on the matrix M at an encoder of a second autoencoder to estimate a transposed matrix U T of a matrix U of matrix factorization schemes .
또 다른 측면에 따르면, 상기 제2 오토인코딩을 수행하는 단계는, 추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하는 단계, 및 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정하는 단계를 더 포함할 수 있다.According to another aspect, the step of performing the second auto encoding comprises the steps of: performing decoding based on the estimated transposed matrix U T to estimate a matrix V of matrix factorization, A matrix corresponding to the output layer of the Deep Neural Network based on the transpose matrix U T and the matrix V, May be estimated.
협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 시스템에 있어서, 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 제1 오토인코더, 상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 결정부, 및 다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 제2 오토인코더를 포함할 수 있다.In a collaborative filtering based autoencoding system, a matrix M, in which item information previously collected is set as a column of a matrix M corresponding to an input layer of a Deep Neural Network, A first auto encoder for performing a first auto encoding on the basis of a first auto encoding and a root mean square error after the first auto encoding and a second auto encoder based on a predetermined threshold, And the second auto encoding is performed by the other auto encoder, the pre-collected user information is determined based on the transpose matrix M T of the matrix M set in a column The second auto encoding may comprise a second auto encoder.
일측면에 따르면, 상기 결정부는, 학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하고, 계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정할 수 있다.According to an aspect of the present invention, the determining unit may calculate an average square root error of a current auto encoder for each epoch in which learning is performed, and if the calculated average square root error is less than the threshold value, It can be determined to change to an encoder.
다른 측면에 따르면, 상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정될 수 있다.According to another aspect, whenever it is decided to perform auto encoding in the other auto encoder, the encoder output of the current auto encoder can be set to the weight matrix of the decoder of another auto encoder.
또 다른 측면에 따르면, 상기 제1 오토인코더는, 상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트할 수 있다.According to another aspect of the present invention, the first auto-encoder is configured to perform, on the basis of error propagation back propagation, the first auto-encoder based on the first auto- Lt; RTI ID = 0.0 > encoder < / RTI >
또 다른 측면에 따르면, 상기 제1 오토인코더는, 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하고, 제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정할 수 있다.According to another aspect of the present invention, the first auto encoder sets a column of a matrix M corresponding to the input layer of the Deep Neural Network based on the item information, An encoder of an autoencoder can perform encoding on the matrix M to estimate the transpose matrix V T of the matrix V of matrix factorization.
또 다른 측면에 따르면, 상기 제1 오토인코더는, 추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하고, 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정할 수 있다.According to another aspect, the first auto encoder performs decoding based on the estimated transposed matrix V T to estimate a matrix U of matrix factorization, and estimates the matrix U and the transpose A matrix corresponding to the output layer of the Deep Neural Network based on the matrix V T Can be estimated.
또 다른 측면에 따르면, 상기 제2 오토인코더는, 상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하고, 제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정할 수 있다.According to another aspect of the present invention, the second auto encoder sets the user information to a column of a transpose matrix M T of a matrix M corresponding to an input layer of the Deep Neural Network, In an encoder of an autoencoder, encoding is performed on the matrix M to estimate a transposed matrix U T of a matrix U of matrix factorization.
또 다른 측면에 따르면, 상기 제2 오토인코더는, 추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하고, 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정할 수 있다.According to another aspect, the second auto encoder performs decoding based on the estimated transpose matrix U T to estimate a matrix V of matrix factorization, and the estimated transpose matrix U T and A matrix corresponding to the output layer of the Deep Neural Network based on the matrix V, Can be estimated.
본 발명의 실시예들에 따르면, 협력필터링 기반의 심층신경망을 이용한 서로 복수개의 오토인코더를 이용하여 특정 상품(예컨대, 영화, 음악, 방송, 물리적인 제품 등)과 관련하여 수집된 일부의 만족도 데이터를 기반으로 전체의 데이터를 예측할 수 있다.According to embodiments of the present invention, a plurality of auto encoders based on collaborative filtering-based in-depth neural networks are used to acquire some satisfaction data collected in association with a specific product (e.g., movie, music, broadcast, physical product, The entire data can be predicted.
또한, 평균제곱근오차(RMSE)를 기반으로 현재의 오토인코더에서 다른 오토인코더로 전환을 수행하여, 기존의 협력 필터링기반의 오토인코더 대비 시스템의 성능을 향상시킬 수 있다. 즉, 예측 정확도를 높일 수 있다.In addition, based on the average square root error (RMSE), the conversion from the current auto encoder to the other auto encoder can be performed to improve the performance of the conventional cooperative filtering based auto encoder comparison system. That is, the prediction accuracy can be improved.
도 1은 본 발명의 일실시예에 있어서, 협력 필터링 기반의 오토인코딩 시스템의 레이어 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 방법을 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 시스템의 내부구성을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 있어서, 서로 다른 복수개의 오토인코더를 포함하는 오토인코딩 시스템의 구조를 도시한 블록도이다.1 is a diagram illustrating a layer structure of an auto-encoding system based on cooperative filtering in an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a cooperative filtering-based auto-encoding method in an embodiment of the present invention.
3 is a block diagram illustrating an internal configuration of an auto-encoding system based on cooperative filtering, according to an embodiment of the present invention.
4 is a block diagram illustrating a structure of an auto-encoding system including a plurality of different auto-encoders according to an embodiment of the present invention.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은 협력필터링 기반으로 심층신경망을 통해 전체 데이터(즉,만족도 데이터)를 예측하는 오토인코딩 기술에 관한 것으로서, 특히, 미리 수집된 일부분의 만족도 데이터를 기반으로 서로 다른 복수개의 오토인코더를 선택적으로 이용하여 전체 데이터를 예측하는 기술에 관한 것이다. 즉, 서로 다른 복수개의 오토인코더를 순차적으로 수행하여 일부 데이터로부터 전체 데이터를 예측하는 기술에 관한 것이다.The present invention relates to an auto-encoding technique for predicting overall data (i.e., satisfaction data) through a neural network based on collaborative filtering, and more particularly, to a method and apparatus for automatically selecting a plurality of different auto- The present invention relates to a technique for predicting whole data by using the above- That is, the present invention relates to a technique for predicting all data from a part of data by successively performing a plurality of different auto-encoders.
본 실시예들에서, "만족도 데이터"는 사용자가 상품에 대해 만족도를 표시한 데이터를 나타내는 것으로서, 특정 상품과 관련하여 미리 수집된 사용자의 만족도를 나타내는 사용자 정보 데이터, 상품 정보를 기반으로 미리 수집된 상품 정보 데이터를 포함할 수 있다. 본 실시예들에서는, Matrix factorization 모델에서 만족도 데이터가 사용자 정보와 상품 정보의 곱으로 나타난다고 가정할 수 있다. 여기서 사용자 정보와 상품 정보 공통된 잠재 변수(latent variable)에 대한 정보를 나타낼 수 있다. 예를 들어, 잠재 변수가 액션 장르이면, 사용자 정보는 어떤 사용자가 액션을 좋아하는 정도를 나타내고, 상품 정보는 상기 상품이 액션 장르를 잘 나타내고 있는지 정도를 나타낼 수 있다.In the present embodiments, " satisfaction data " indicates data indicating satisfaction with the product by the user. The data includes user information data indicating satisfaction of the user collected in advance with respect to the specific product, And may include product information data. In the present embodiments, it can be assumed that the satisfaction data in the matrix factorization model appears as a product of user information and product information. Here, information on latent variables common to user information and product information can be displayed. For example, if the latent variable is an action genre, the user information may indicate the degree to which a user likes the action, and the item information may indicate the degree to which the item represents the action genre well.
본 실시예들에서, "현재 오토인코더"는 현재 오토인코딩을 수행 시 이용되는 오토인코더를 나타낼 수 있고, 다른 오토인코더는 현재 오토인코더를 제외한 나머지 하나의 오토인코더를 나타낼 수 있다. 예컨대, 오토인코더가 2개(I-AE, U-AE) 이용되는 경우, 현재 오토인코더는 I-AE, U-AE 중 어느 하나일 수 있고, 다른 오토인코더는 현재 오토인코더(예컨대, I-AE인 경우)로 설정된 오토인코더를 제외한 나머지 하나의 오토인코더(예컨대, U-AE)를 나타낼 수 있다. 아래의 실시예들에서는 I-AE, U-AE를 순차적으로 수행하여 심층신경망의 출력층에 해당하는 행렬, 즉, 예측 결과를 출력하는 것을 예로 들어 설명하나, 이는 실시예에 해당되며, I-AE가 먼저 수행된 이후 U-AE가 수행될 수도 있고, U-AE가 수행된 이후 I-AE가 순차적으로 수행될 수도 있다. In the present embodiments, " current auto encoder " can represent an auto encoder currently used for performing auto encoding, and other auto encoders can represent one auto encoder other than the current auto encoder. For example, when two auto encoders are used (I-AE, U-AE), the current auto encoder may be either I-AE or U- (For example, U-AE) other than the auto encoder set to the auto encoder (for example, AE). In the following embodiments, a matrix corresponding to the output layer of the neural network, that is, a prediction result, is sequentially output by performing I-AE and U-AE sequentially. The A-AE may be performed after the U-AE is performed first, and the I-AE may be sequentially performed after the U-AE is performed.
본 실시예들에서, 협업 필터링에 사용되는 오토인코더(autoencoder)는 행렬의 컬럼(column)을 입력으로 하는 I-AE와 행렬의 로우(row)를 입력으로 하는 U-AE를 포함할 수 있다.In the present embodiments, an autoencoder used for collaborative filtering may include an I-AE that takes a column of a matrix as an input and a U-AE that takes a row of a matrix as an input.
본 실시예들에서, I-AE는 위의 비특허문헌 [2] SuvashSedhain , Menon Krishna, Scott Scanner and Lexing Xie . Autorec:Autoencdersmeet collaborative filtering. Proceedings of 24th ACM International Conference on World Wide Web, pp.111-112, 2015.에 제시된 협력 필터링 기반의 오토인코딩 알고리즘에서 상품(item) 정보를 기반으로 오토인코딩을 수행하는 오토인코더를 나타내고, U-AE는 사용자(user) 정보를 기반으로 오토인코딩을 수행하는 오토 인코더를 나타낼 수 있다.In the present embodiments, the I-AE is a non-patent document [2] Suvash Singhain , Menon Krishna, Scott Scanner and Lexing Xie . Autorec: Autoencdersmeet collaborative filtering. Proceedings of the 24th ACM International Conference on World Wide Web, pp. 111-112, 2015. In the co-filtering based auto-encoding algorithm, the auto-encoder performs auto encoding based on item information, and U- May represent an auto-encoder that performs auto-encoding based on user information.
이하에서는 I-AE가 먼저 수행된 이후 U-AE가 순차적으로 수행되는 경우를 예로 들어 설명하기로 한다.Hereinafter, the case where the U-AE is sequentially performed after the I-AE is performed will be described as an example.
도 1은 본 발명의 일실시예에 있어서, 협력 필터링 기반의 오토인코딩 시스템의 레이어 구조를 도시한 도면이다.1 is a diagram illustrating a layer structure of an auto-encoding system based on cooperative filtering in an embodiment of the present invention.
도 1을 참고하면, 협력 필터링(collaborative filtering) 기반의 오토인코딩 시스템(100)은 복수개의 오토인코더(autoencdoer)를 포함할 수 있다. 예컨대, 오토인코더는 제1 오토인코더(예컨대, I-AE) 및 제2 오토인코더(예컨대, U-AE)를 포함할 수 있다. 이때, 각 오토인코더는 인코더(110) 및 디코더(120)를 포함할 수 있다.Referring to FIG. 1, a collaborative filtering based auto-encoding system 100 may include a plurality of autoencoders. For example, the auto encoder may include a first auto encoder (e.g., I-AE) and a second auto encoder (e.g., U-AE). At this time, each of the auto encoders may include an
이때, 인코더(110)의 입력(130)은 심층신경망의 입력층에 해당하고, 디코더(120)의 출력(140)은 심층신경망의 출력층에 해당할 수 있다. 즉, 미리 지정된 기준량에 해당하는 일부의 상품 정보를 기반으로 구성된 행렬, 상기 기준량에 해당하는 일부의 사용자 정보를 기반으로 구성된 행렬이 각 오토인코더의 인코더(110)의 입력으로 설정될 수 있다. 그리고, 입력된 상기 행렬을 기반으로 적어도 하나의 은닉층(hidden layer, 150)에서 가중치를 조절하여 상기 심층신경망의 출력층에 해당하는 출력(140)이 예측될 수 있다.At this time, the
도 2는 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 방법을 도시한 흐름도이고, 도 3은 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 시스템의 내부구성을 도시한 블록도이다.FIG. 2 is a flowchart illustrating a cooperative filtering-based auto-encoding method according to an exemplary embodiment of the present invention. FIG. 3 illustrates an internal configuration of a cooperative filtering-based auto-encoding system according to an exemplary embodiment of the present invention. Block diagram.
아래의 도 2 및 도 3에서는 I-AE를 수행한 이후 U-AE를 순차적으로 수행하는 경우를 예로 들어 설명하나, 이는 실시예에 해당되고, U-AE를 수행한 이후 I-AE가 순차적으로 수행될 수도 있다.2 and 3 below illustrate a case where U-AE is sequentially performed after performing I-AE, but this corresponds to the embodiment. After performing U-AE, I-AE is sequentially .
도 3을 참고하면, 오토인코딩 시스템(300)은 제1 오토인코더(310), 결정부(320) 및 제2 오토인코더(330)를 포함할 수 있다. 그리고, 도 2의 각 단계들(210 내지 230 단계)은 도 3의 오토인코딩 시스템(300)의 구성 요소인 제1 오토인코더(310), 결정부(320) 및 제2 오토인코더(330)에 의해 수행될 수 있다. 여기서, 제1 오토인코더(310) 및 제2 오토인코더(330) 각각은 해당 인코더 및 디코더를 포함할 수 있다.Referring to FIG. 3, the auto-
210 단계에서, 제1 오토인코더(310)는 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행할 수 있다.In step 210, the first auto encoder 310 receives a matrix M, in which item information previously collected is set as a column of a matrix M corresponding to an input layer of a Deep Neural Network, Auto encoding can be performed.
일례로, 제1 오토인코더(310)는 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상품(item) 정보를 기반으로 설정할 수 있다. 그러면, 제1 오토인코더(310)의 인코더(encoder)는, 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정할 수 있다. 즉, 제1 오토인코더(310)는 상기 상품 정보를 컬럼 성분으로 포함하는 행렬 M을 대상으로 인코딩을 수행하여 상품관련 특징값(feature)으로 구성된 특징값 행렬(feature matrix)인 상기 전치행렬 VT를 추정할 수 있다. 이때, 제1 오토인코더(310)의 디코더의 가중치가 고정된 상태에서, 오차역전파법(back propagation)에 기초하여 제1 오토인코더(310)의 인코더의 출력 VT=H는 업데이트될 수 있다.For example, the first auto encoder 310 may set a column of a matrix M corresponding to an input layer of a Deep Neural Network based on item information. Then, the encoder of the first auto encoder 310 may perform encoding on the matrix M to estimate the transpose matrix V T of the matrix V of the matrix factorization method. That is, the first auto encoder 310 encodes the matrix M including the product information as column components to generate the transposed matrix V T (which is a feature matrix composed of product-related feature values) Can be estimated. At this time, in a state where the weight of the decoder of the first auto encoder 310 is fixed, the output V T = H of the encoder of the first auto encoder 310 can be updated based on the back propagation method.
제1 오토인코더(310)의 디코더(decoder)는 추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정할 수 있다. 즉, 제1 오토인코더(310)의 디코더(decoder)는 상기 전치행렬 VT를 기반으로 사용자 정보의 특징값(feature)에 해당하는 사용자 특징값 행렬(feature matrix) U를 추정할 수 있다. 이처럼, 추정된 행렬 U 및 전치행렬 VT에 기초하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 이 추정될 수 있다.The decoder of the first auto encoder 310 may perform decoding based on the estimated transposed matrix V T to estimate a matrix U of matrix factorization. That is, the decoder of the first auto encoder 310 can estimate a user feature value matrix U corresponding to a feature value of user information based on the transposed matrix V T. Thus, based on the estimated matrix U and the transpose matrix V T , a matrix corresponding to the output layer of the Deep Neural Network Can be estimated.
220 단계에서, 결정부(320)는 제1 오토인코더(310)에서 제1 오토인코딩된 이후의 평균제곱근오차(root mean square error, RMSE)를 계산하고, 계산된 평균제곱근오차(RMSE)와 미리 지정된 임계값에 기초하여 다른 오토인코더(즉, 제2 오토인코더, 330)를 기반으로 오토인코딩을 수행할지 여부를 결정할 수 있다.In
일례로, 결정부(320)는 학습이 수행되는 에폭(epoch)마다 현재 오토인코더인 제1 오토인코더(310)의 평균제곱근오차(RMSE)를 계산할 수 있다. 그리고, 계산된 평균 제곱근 오차가 미리 지정된 임계값보다 작으면 현재 오토인코더를 제1 오토인코더(310)에서 제2 오토인코더(330)로 변경하는 것으로 결정할 수 있다. For example, the determining unit 320 may calculate a mean square root mean square error (RMSE) of the first auto encoder 310, which is the current auto encoder, for each epoch in which learning is performed. If the calculated mean square root error is smaller than the predetermined threshold value, it may be determined that the current auto encoder is changed from the first auto encoder 310 to the second auto encoder 330.
이때, 결정부(320)는 현재 오토인코더를 기존의 오토 인코더로 유지하는 것이 아니라 다른 오토 인코더로 변경하는 것으로 결정할 때마다, 즉, 제1 오토인코더에서 제2 오토인코더 또는 제2 오토인코더에서 제1 오토인코더로 변경하는 것으로 결정할 때마다, 현재 오토인코더의 인코더 출력 H(=VT)을 다른 오토인코더의 디코더의 가중치 행렬로 설정할 수 있다. 예를 들어, 현재 오토인코더가 제1 오토인코더(310)인 경우, 제1오토인코더(110)의 인코더의 출력인 행렬 H를 제2 오토인코더(330)의 디코더의 가중치 행렬로 설정할 수 있다. 여기서, 제1 오토인코더(310)의 출력 H(=VT)이 업데이트된 경우, 업데이트된 행렬 H(=VT)가 제2 오토인코더(330)의 디코더의 가중치 행렬로 설정될 수 있다.At this time, each time the decision unit 320 decides to change the current auto encoder to a different auto encoder instead of holding the current auto encoder, that is, the first auto encoder or the second auto encoder, 1 The encoder output H (= V T ) of the current encoder can be set to the weight matrix of the decoder of another auto encoder whenever it is decided to change to the auto encoder. For example, when the current auto encoder is the first auto encoder 310, the matrix H, which is the output of the encoder of the
한편, 현재 오토인코더인 제1 오토인코더(310)의 평균제곱근오차(RMSE)가 미리 지정된 임계값 이상인 경우, 현재 인코더인 제1 오토인코더(310)를 그대로 유지하는 것으로 결정될 수 있다.On the other hand, when the RMSE of the first auto encoder 310, which is the current auto encoder, is equal to or greater than the predetermined threshold value, it can be determined that the first auto encoder 310 which is the current encoder is maintained as it is.
230 단계에서, 제2 오토인코더(330)는 제2 오토인코더(330)에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행할 수 있다.In
일례로, 현재 오토인코더인 제1 오토인코더(310)의 평균제곱근오차(RMSE)가 미리 지정된 임계값보다 작아 현재 인코더가 제1 오토인코더(310)에서 제2 오토인코더(320)로 변경되는 것으로 결정된 경우, 제2 오토인코더(330)는 상기 사용자 정보를 상기 전치행렬 MT의 컬럼(column)으로 설정할 수 있다. 그러면, 제2 오토인코더(autoencoder, 330)의 인코더(encoder)는, 상기 전치 행렬 MT를 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정할 수 있다.For example, when the average square root error (RMSE) of the first auto encoder 310, which is the current auto encoder, is smaller than a predetermined threshold value, the current encoder is changed from the first auto encoder 310 to the second auto encoder 320 If so, the second auto encoder 330 may set the user information to a column of the transpose matrix M T. Then, the second automatic encoder (autoencoder, 330) of the encoder (encoder) is, by performing the encoding intended for the transposed matrix M T to estimate the transpose matrix U T of the matrix U of the matrix factorization techniques (matrix factorization) have.
제2 오토인코더(autoencoder, 330)의 디코더(decoder)는 추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정할 수 있다. 그리고, 추정된 전치 행렬 UT 및 행렬 V에 기초하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 를 추정할 수 있다. 이때, 제2 오토인코더(autoencoder, 330)의 디코더(decoder)는 추정된 상기 전치행렬 UT과 상기 제1 오토인코더(310)의 출력 H(=VT)을 기반으로 설정된 가중치 행렬 을 기반으로 디코딩을 수행하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 를 추정할 수 있다. 이때, 추정된 상기 행렬 V는 상기 제1 오토인코더(310)의 디코더의 가중치 행렬로 설정될 수 있다.The decoder of the second auto encoder 330 may perform decoding based on the estimated transpose matrix U T to estimate a matrix V of matrix factorization. Then, based on the estimated transposed matrix U T and the matrix V, a matrix corresponding to the output layer of the Deep Neural Network Can be estimated. At this time, the second auto-encoder decoder (decoder) is a weighting matrix is set based on the output H (= V T) of the first auto-encoder 310 and an estimated U T the transposed matrix of (autoencoder, 330) And a matrix corresponding to the output layer of the Deep Neural Network Can be estimated. At this time, the estimated matrix V may be set as a weight matrix of the decoder of the first auto encoder 310.
도 4는 본 발명의 일실시예에 있어서, 서로 다른 복수개의 오토인코더를 포함하는 오토인코딩 시스템의 구조를 도시한 블록도이다.4 is a block diagram illustrating a structure of an auto-encoding system including a plurality of different auto-encoders according to an embodiment of the present invention.
도 4에서는 현재 오토인코더의 설정이 변경될 때마다 현재 오토인코더의 출력이 다른 오토인코더의 가중치 행렬로 설정되는 구성을 설명하고자 한다.In Fig. 4, the configuration in which the output of the current auto encoder is set to the weight matrix of the other auto encoder every time the setting of the current auto encoder is changed will be described.
협력 필터링(collaborative filtering)은, row rank assumption 아래에서 랭크 인수분해 이론(rank factorization theorem)을 기반으로 할 수 있다. 랭크 인수분해 이론(rank factorization theorem)은 불완전 행렬(incomplete rating matrix) 와 완전 행렬(complete rating matrix) 의 차원(rank)이 일 때, 로 나타내지는 것을 의미할 수 있다. 이때, 행렬 U 와 행렬 V는 일 수 있다. 행렬 U와 V를 결정하기 위해 최소제곱법 최적화기법(least squares optimization problem)이 이용될 수 있다. 예컨대, 아래의 수학식 2에 기초하여 최적화 문제의 해(solution)를 구함으로써, 행렬 U와 V가 계산될 수 있다. Collaborative filtering may be based on a rank factorization theorem under row rank assumption. The rank factorization theorem is an incomplete rating matrix, And complete rating matrix. The rank of when, . ≪ / RTI > At this time, the matrix U and the matrix V Lt; / RTI > A least squares optimization problem can be used to determine the matrices U and V. For example, by obtaining a solution of the optimization problem based on Equation (2) below, the matrices U and V can be calculated.
[수학식 2]&Quot; (2) "
위의 수학식 2에서, M i,j는 M의 (i,j) 번째 개체(entity)를 나타내고, I i,j는 행렬 M을 대상으로 (i,j)번째 개체(entity)가 존재하면 1, 존재하지 않으면 해당 개체가 0인 행렬을 나타낼 수 있다. 그리고, λ는 정규화 계수(randomization coefficient)를 나타낼 수 있다. In Equation (2), M i, j represents the (i, j) th entity of M, and I i, j represents For matrix M 1 if the (i, j) th entity exists, and if the (i, j) th entity does not exist, And [lambda] can represent a randomization coefficient.
도 4를 참고하면, 위의 수학식 2를 기반으로, 제2 오토인코더(U-AE)의 인코더(430)는 를 계산하고, 제1 오토인코더(I-AE)의 디코더(420)는 상기 행렬 U에 를 곱함으로써, 협력 필터링을 수행할 수 있다. 예를 들어, 제1 오토인코더(I-AE)의 디코더(420)의 가중치 행렬 W는 이전 단계(step)에서 제2 오토인코더(U-AE)의 출력인 행렬 U로 설정되므로, 제1 오토인코더(I-AE)의 디코더(420)는 상기 행렬 U에 제1 오토인코더(I-AE)의 인코더(410)의 출력인 V T 를 곱함으로써, 심층신경망의 출력층에 해당하는 행렬 을 추정할 수 있다.Referring to FIG. 4, based on Equation 2 above, the
이때, 심층신경망의 입력층에 해당하는 행렬 mi가 행렬 M의 i번째 컬럼 벡터들(column vector)로 구성되고(), σ는 비선형 활성함수(nonlinear active function)인 경우, 제1 오토인코더(I-AE)의 출력, 즉, 상기 출력층에 해당하는 행렬 (= yi)은 아래의 수학식 3과 같이 표현될 수 있다.In this case, the matrix m i corresponding to the input layer of the neural network is composed of the i-th column vectors of the matrix M ) and σ is a nonlinear active function, the output of the first auto encoder (I-AE), that is, the matrix corresponding to the output layer (= y i ) can be expressed by Equation (3) below.
[수학식 3]&Quot; (3) "
위의 수학식 3에서, wr은 인코더 및 디코더의 가중치 행렬을 나타낼 수 있다. 예컨대, 도 1과 같이, w1, w2, w3, w4을 포함하는 경우, w1, w2는 인코더(410, 430)의 가중치 행렬을 나타내고, w3, w4는 디코더(420, 440)의 가중치 행렬을 나타낼 수 있다. 그리고, b1, b2는 인코더(410, 430)의 상기 가중치 w1, w2 각각에 해당하는 바이어스(bias)를 나타낼 수 있다. In Equation (3), w r may represent the weighting matrix of the encoder and decoder. For example, in the case of including the w 1, w 2, w 3 , w 4 , as shown in FIG 1, w 1, w 2 denotes a weight matrix of the encoder (410, 430), w 3 , w 4 is a decoder (420 , 440). And b 1 and b 2 may represent a bias corresponding to the weights w 1 and w 2 of the
수학식 3에 도시된 제1 오토인코더(예컨대, I-AE)의 각 층(layer) 별 가중치와 바이어스는 아래의 수학식 4와 같이 표현되는 백-프로파게이션(back-propagation) 기법 기반의 최적화 문제의 해(solution)를 구함으로써 계산될 수 있다. 예컨대, 아래의 수학식 4에 기초하여 제1 오토인코더의 인코더의 가중치(W 1 , W 2 )와 바이어스가 계산될 수 있다.The weight and bias for each layer of the first auto-encoder (e.g., I-AE) shown in Equation (3) are based on the back-propagation technique Can be calculated by solving the solution of the optimization problem. For example, the weight (W 1 , W 2 ) and the bias of the encoder of the first auto encoder can be calculated based on the following equation (4).
[수학식 4]&Quot; (4) "
위의 수학식 4에서, 는 표시 함수(indicator function)를 나타내는 것으로서, 사용자 정보 i가 상품 정보 j와 관련된 경우에는 1, 아닌 경우에는 0으로 설정될 수 있다. 그리고, λ는 정규화 계수(randomization coefficient)를 나타낼 수 있다. In Equation (4) above, Is indicative of an indicator function and may be set to 1 if user information i is related to product information j, or to 0 otherwise. And [lambda] can represent a randomization coefficient.
위의 수학식 4는 위의 수학식 2와 같은 형태로 오토인코더(예컨대, I-AE, U-AE)를 통해 협력 필터링의 랭크 인수분해기법(rank factorization) 기반의 문제를 풀기 위해 이용될 수 있다.(4) can be used to solve the problem based on rank factorization of cooperative filtering through an auto-encoder (e.g., I-AE, U-AE) have.
위의 수학식 4에서, 도 1과 같이 3개의 은닉층(hidden layer, nL=3)를 가지는 I-AE의 경우, M i,j는 행렬 M은 0을 포함하도록 디폴트값(default)이 설정될 수 있다. 그리고, 도 1과 같이 입력층에 해당하는 행렬 mi는 행렬 M의 i번째 컬럼(column)에 해당하는 개체(entity)로 구성될 수 있으며, I-AE의 출력 은 로 표현될 수 있다. 여기서, W는 I-AE의 디코더의 가중치 행렬 을 포함하고, 는 I-AE의 인코더의 출력을 나타내는 것으로서, 로 표현될 수 있다. 여기서, 는 시그모이드(sigmoid) 함수를 나타내고 는 ReLU(Rectified Linear Unit) 함수를 나타낼 수 있다. W 1 , W 2 는 오토인코더의 인코더의 가중치 행렬을 나타낼 수 있다.In the above equation (4), in the case of I-AE having three hidden (hidden layer, n L = 3 ) as shown in FIG. 1, M i, j is the matrix M has a default value (default) is set to contain 0 . 1, the matrix m i corresponding to the input layer may be composed of an entity corresponding to the i-th column of the matrix M , and the output of the I-AE silver . ≪ / RTI > Where W is the weight matrix of the decoder of I-AE / RTI > Represents the output of the encoder of the I-AE, . ≪ / RTI > here, Represents a sigmoid function and < RTI ID = 0.0 > Can represent a ReLU (Rectified Linear Unit) function. W 1 , W 2 can represent the weighting matrix of the encoder of the auto-encoder.
다시 도 4를 참고하면, 제1 오토인코더 또는 제2 오토인코더에서, 각 오토인코더의 인코더(410,430)와 디코더(420, 440) 간의 관계는 아래의 수학식 5와 같이 표현될 수 있다.Referring again to FIG. 4, in the first auto encoder or the second auto encoder, the relationship between the
[수학식 5]&Quot; (5) "
수학식 5에서, Y는 오토인코더(즉, 오토 인코더의 디코더)의 출력 행렬로서, 출력층에 해당하는 추정된 행렬을 나타낼 수 있다. 예컨대, 로 표현될 수 있다. W는 가중치 행렬을 나타내고, H는 오토인코더(즉, 오토인코더의 인코더)의 출력 행렬을 나타내는 것으로서, 로 표현될 수 있다. 그리고, 수학식 5의 행렬들은 차원(rank) r을 가질 수 있다.In Equation (5), Y is an output matrix of an auto encoder (i.e., a decoder of an auto encoder), and may represent an estimated matrix corresponding to an output layer. for example, . ≪ / RTI > W denotes a weight matrix, H denotes an output matrix of an auto-encoder (i.e., an encoder of an auto-encoder) . ≪ / RTI > The matrices of Equation (5) may have a rank r.
이러한 오토인코더의 경우, 오토인코더의 디코더가 오토인코더의 인코더의 최소제곱법(least square)에 의존하므로, 위의 수학식 2와 같이 최적의 U, V를 찾기 위해, 도 4와 같이 서로 다른 두개 의 멀티레이어 퍼셉트론(multilayer perceptron)이 이용될 수 있다.In the case of such an auto encoder, since the decoder of the auto encoder depends on the least squares method of the encoder of the auto encoder, in order to find the optimal U and V as shown in Equation (2) Layer multilayer perceptron may be used.
일례로, 서로 다른 2개의 오토인코더(즉, 제1 오토인코더 및 제2 오토인코더)를 이용하여 각 오토인코더의 인코더의 출력 행렬 U, V를 추정할 수 있다. 즉, 상기 출력 행렬 U를 추정하기 위한 멀티레이어 퍼셉트론 , 상기 출력 행렬 V를 추정하기 위한 멀티레이어 페셉트론 이 이용될 수 있다. 여기서, 멀티레이어 퍼셉트론 의 파라미터는 , 의 파라미터는 이고, 각 퍼셉트론의 입력 x는 불완전 행렬(incomplete matrix)의 로우 벡터들(row vectors)과 컬럼 벡터들(column vectors)로 구성될 수 있다. 상기 퍼셉트론 와 를 이용하여 최소화할 최적화 문제는 아래의 수학식 6과 같이 표현될 수 있다.For example, two different auto-encoders (i.e., a first auto-encoder and a second auto-encoder) can be used to estimate the output matrices U, V of the encoders of each auto-encoder. That is, the multilayer perceptron for estimating the output matrix U A multi-layered cepstrum for estimating the output matrix V , Can be used. Here, the multi-layer perceptron The parameters of , The parameters of , And the input x of each perceptron may be composed of row vectors and column vectors of an incomplete matrix. The perceptron Wow The optimization problem to be minimized can be expressed by Equation (6) below.
[수학식 6]&Quot; (6) "
즉, 위의 수학식 6에 기초하여 제1 오토인코더의 인코더(410)의 출력 V, 제2 오토인코더의 인코더(430)의 출력 U이 추정되고, 추정된 출력 U와 V 각각과 가중치 행렬 W에 기초하여 최종적으로 제1 오토인코더가 현재 오토인코더로 설정된 경우에 추정하고자 하는 출력 행렬 또는 제2 오토인코더가 현재 오토인코더로 설정된 경우의 출력 행렬 이 생성될 수 있다. 수학식 4에서 설명한 바와 같이, 최적화 문제를 기반으로 상기 U와 V를 추정하기 위해 먼저 랭크 인수분해(rank factorization)가 수행되며, 랭크 인수분해That is, the output V of the
이때, 도 4와 같이 현재 오토인코더가 I-AE에서 U-AE 또는 U-AE에서 I-AE로 설정이 변경되는 동작은 아래의 표 2에 도시된 알고리즘에 기초하여 수행될 수 있다.At this time, the operation in which the current auto encoder changes the setting from I-AE to U-AE or from U-AE to I-AE as shown in FIG. 4 can be performed based on the algorithm shown in Table 2 below.
표 2를 참고하면, 현재 오토인코더가 제1 오토인코더(I-AE)로 설정된 경우, I-AE의 각 훈련 에폭(training epoch) 이후, 결정부(320)는 I-AE의 RMSE를 계산할 수 있다. 그리고, 결정부(320)는 계산된 상기 RMSE와 미리 정의된 임계값을 비교할 수 있다. 이때, RMSE가 임계값 이상이면 현재 오토인코더의 설정을 I-AE로 그대로 유지하고, RMSE가 임계값보다 작으면 현재 오토인코더의 설정을 I-AE로 변경할 수 있다. 즉, 현재 오토인코더가 I-AE에서 U-AE로 변경 설정될 수 있다. 이처럼, 현재 오토인코더의 설정이 변경될 때마다, 현재 오토인코더의 인코더의 출력이 변경될 오토인코더의 디코더의 가중치 행렬로 설정될 수 있다. 예컨대, I-AE의 인코더(410)의 출력 H(=VT)가 U-AE의 디코더(440)의 가중치 행렬()로 설정될 수 있다. 위의 표 2에서 는 k번째 에폭(epoch)에서의 RMSE를 나타내고, 는 k번째 에폭(epoch)에서의 임계값을 나타낼 수 있다. 여기서, 임계값 는 로 설정될 수 있다.위의 표 2에서는 I-AE에서 학습을 시작한 이후 U-AE에서 순차적으로 학습을 수행하는 것을 나타내고 있으나, 이는 실시예에 해당되며, U-AE에서 먼저 학습을 시작하고 순차적을 I-AE에서 학습이 수행될 수 있다. 그리고, 표 2의 단계(step) 3 내지 7에 따르면, 현재 오토인코더로 설정된 I-AE의 인코더의 출력 는 업데이트될 수 있다. 예컨대, 상기 I-AE의 인코더의 출력 는 에서 I-AE의 디코더(420)의 가중치 W k 가 고정된(fixed) 동안 업데이트될 수 있다. 상기 의 업데이트는 계산된 RMSE가 를 만족할 때까지 반복될 수 있다. Referring to Table 2, when the current auto encoder is set to the first auto encoder (I-AE), after each training epoch of the I-AE, the decision unit 320 can calculate the RMSE of the I- have. The determining unit 320 may compare the calculated RMSE with a predefined threshold value. At this time, if RMSE is above the threshold value, the current auto encoder setting is maintained as I-AE, and if RMSE is less than the threshold value, the current auto encoder setting can be changed to I-AE. That is, the current auto encoder can be changed from I-AE to U-AE. Thus, whenever the current setting of the auto encoder is changed, the output of the encoder of the current auto encoder can be set to the weight matrix of the decoder of the auto encoder to be changed. For example, the weight matrix of the
표 2의 단계(step) 8에서, 임계값 와 현재 오토인코더의 설정을 변경하는 변경 시간(alternation time) 이 업데이트될 수 있다. 유사한 방법으로, 제2 오토인코더인 U-AE의 파라미터들은 표 2의 단계(step) 9 내지 14에서 업데이트될 수 있다. 그리고, RMSE 및 임계값을 기반으로 현재 오토인코더의 설정은 I-AE에서 U-AE, U-AE에서 I-AE로 변경하는 동작은 될 때 까지 반복 수행될 수 있다.In step 8 of Table 2, And the alternation time to change the setting of the current auto encoder. May be updated. In a similar manner, the parameters of the second auto-encoder U-AE may be updated in steps 9-14 of Table 2. Based on the RMSE and the threshold value, the current auto encoder setting is changed from I-AE to U-AE, and from U-AE to I-AE Lt; / RTI >
k번째 에폭(epoch) 이후의 입출력 관계는, 도 4와 같이, I-AE의 경우, 와 같이 표현되고, U-AE의 경우, 와 같이 표현될 수 있다.The input / output relationship after the k-th epoch is, as shown in Fig. 4, in the case of I-AE, In the case of U-AE, Can be expressed as
아래의 표 3은 일반적으로 널리 사용되는 Movielens dataset을 기반으로 I-AE 및 U-AE를 기반으로 순차적으로 학습하는 알고리즘(즉, 본원발명의 오토인코딩 시스템)의 성능을 나타낼 수 있다.Table 3 below shows the performance of an algorithm that sequentially learns based on I-AE and U-AE based on a widely used Movielens dataset (i.e., the auto encoding system of the present invention).
표 3에서 사용한 데이터셋(dataset)은 943명의 사용자와 1,648개의 영화 사이에 100,000개의 평점 정보를 포함할 수 있다(액 5.8%의 관측 비율). 여기서, 각 평점 정보는 1에서 5 사이의 정수값을 가지며, 비교를 위해 위의 비특허문헌 [2] SuvashSedhain, Menon Krishna, Scott Scanner and Lexing Xie . Autorec:Autoencdersmeet collaborative filtering. Proceedings of 24th ACM International Conference on World Wide Web, pp.111-112, 2015.에 제시된 Autorec, [3] YunhongZhou , Dennis Wilkinson, Robert Schreiber and Rong Pan. Large-scale parallel collaboerative filtering for the Netflix prize. Proceedings of the 4th international conference on Algorithmic Aspects in Information and Management, pp.337-348, 2008.에 제시된 ALS-WR, [4] Joonseok Lee, Seungyeon Kim, GuyLebanon and Yoram Singer. Local low-rank matrix approximation. Proceedings of the 30th International Conference on Machine Learning, pp.82-90, 2013.에 제시된 LLORMA, [5] Dongsheng Li , Chao Chen, Qin Lv, JunchiYan , Li Shang and Stephn M. Chu . Low-rank matrix approximation with stability. Proceedings of the 33rd International Conference on Machine Learning, pp.295-303, 2016.에 제시된 LLORMA에 제시된 SMA가 이용될 수 있다.The dataset used in Table 3 can contain 100,000 rating information between 943 users and 1,648 movies (an observation rate of 5.8%). Herein, each rating information has an integer value ranging from 1 to 5. For comparison, the above non-patent document [2] Suvash Singhain, Menon Krishna, Scott Scanner and Lexing Xie . Autorec: Autoencdersmeet collaborative filtering. Autorec, [3] YunhongZhou , Dennis Wilkinson, Robert Schreiber and Rong Pan in Proceedings of the 24th ACM International Conference on World Wide Web, pp. 111-112, Large-scale parallel collaborative filtering for the Netflix prize. ALS-WR, [4] Joonseok Lee, Seungyeon Kim, Guy Lebanon and Yoram Singer , Proceedings of the 4th international conference on Algorithmic Aspects in Information and Management , pp.337-348 , Local low-rank matrix approximation. Proceedings of the 30th International Conference on Machine Learning, pp.82-90, 2013. LLORMA, [5] Dongsheng Li , Chao Chen, Qin Lv, Junchi Yan , Li Shang and Stephn M. Chu . Low-rank matrix approximation with stability. The SMA presented in LLORMA presented in Proceedings of the 33rd International Conference on Machine Learning, pp. 295-303, 2016. can be used.
위의 표 3에 따르면, 기반으로 I-AE 및 U-AE를 기반으로 순차적으로 학습하는 알고리즘(즉, 본원발명의 오토인코딩 시스템)이 RMSE가 가장 낮아 성능이 가장 우수함을 확인할 수 있다. 이처럼, 극도로 sparse한 특성, 즉, 전체 데이터 대비 미량의 데이터를 갖는 특성의 실제 데이터에서, 사용자 정보를 기반으로 하는 U-AE 또는 상품 정보를 기반으로 하는 I-AE 어느 하나만을 이용하여 오토인코딩을 수행하여 출력 행렬 Y를 추정할 때보다, RMSE 및 임계값에 기초하여 I-AE와 U-AE를 선택적으로 모두 이용하여 오토인코딩을 수행할 때 성능이 우수함을 확인할 수 있다.According to Table 3 above, it can be confirmed that the algorithm that sequentially learns based on I-AE and U-AE (i.e., the auto encoding system of the present invention) has the lowest RMSE and has the best performance. As described above, in the actual data of characteristics having extremely sparse characteristics, that is, data having a small amount of data as compared with the entire data, the U-AE based on the user information or the I- It is possible to confirm that the performance is excellent when auto encoding is performed using both I-AE and U-AE selectively based on the RMSE and the threshold value.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (16)
미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 단계;
상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 단계; 및
다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행하는 단계
를 포함하는 협력 필터링 기반의 오토인코딩 방법.In a collaborative filtering based autoencoding method,
Performing a first auto encoding on a matrix M in which item information previously collected is set as a column of a matrix M corresponding to an input layer of a Deep Neural Network;
Determining whether to perform auto encoding based on a different auto encoder based on a root mean square error after the first auto encoding and a predetermined threshold; And
The second auto encoding is performed on the basis of the transpose matrix M T of the matrix M in which the previously collected user information is set as a column so that it is decided to perform the second auto encoding in the other auto encoder step
Wherein the cooperative filtering is based on the cooperative filtering.
상기 오토인코딩을 수행할지 여부를 결정하는 단계는,
학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하는 단계; 및
계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정하는 단계
를 포함하는 협력 필터링 기반의 오토인코딩 방법.The method according to claim 1,
Wherein the step of determining whether to perform the auto-
Calculating an average square root error of the current auto encoder for each epoch in which learning is performed; And
Determining to change the current auto-encoder to the other auto-encoder if the calculated mean square root error is less than the threshold value
Wherein the cooperative filtering is based on the cooperative filtering.
상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정되는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 방법.The method according to claim 1,
Whenever it is decided to perform auto encoding in the other auto encoder, the encoder output of the current auto encoder is set to the weight matrix of the decoder of the other auto encoder
And a cooperative filtering based auto encoding method.
상기 제1 오토인코딩을 수행하는 단계는,
상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트하는 단계
를 포함하는 협력 필터링 기반의 오토인코딩 방법.The method according to claim 1,
Wherein performing the first auto encoding comprises:
Updating the output of the encoder of the first auto-encoder based on back propagation, with the weight of the decoder of the first auto-encoder corresponding to the first auto-encoding being fixed;
Wherein the cooperative filtering is based on the cooperative filtering.
상기 제1 오토인코딩을 수행하는 단계는,
상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하는 단계; 및
제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정하는 단계
를 포함하는 협력 필터링 기반의 오토인코딩 방법.The method according to claim 1,
Wherein performing the first auto encoding comprises:
Setting a column of a matrix M corresponding to an input layer of the Deep Neural Network based on the item information; And
Estimating a transpose matrix V T of a matrix V of matrix factorization by performing an encoding on the matrix M at an encoder of a first autoencoder,
Wherein the cooperative filtering is based on the cooperative filtering.
상기 제1 오토인코딩을 수행하는 단계는,
추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하는 단계; 및
추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정하는 단계
를 더 포함하는 협력 필터링 기반의 오토인코딩 방법.6. The method of claim 5,
Wherein performing the first auto encoding comprises:
Estimating a matrix U of matrix factorization by performing decoding based on the estimated transposed matrix V T ; And
A matrix corresponding to the output layer of the Deep Neural Network based on the estimated matrix U and the transposed matrix V T ≪ / RTI >
And a cooperative filtering based auto encoding method.
상기 제2 오토인코딩을 수행하는 단계는,
상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하는 단계; 및
제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정하는 단계
를 포함하는 협력 필터링 기반의 오토인코딩 방법.The method according to claim 1,
Wherein performing the second auto-
Setting the user information as a column of a transpose matrix M T of a matrix M corresponding to an input layer of the Deep Neural Network; And
Estimating a transposed matrix U T of a matrix U of matrix factorization by performing an encoding on the matrix M at an encoder of a second auto encoder,
Wherein the cooperative filtering is based on the cooperative filtering.
상기 제2 오토인코딩을 수행하는 단계는,
추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하는 단계; 및
추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정하는 단계
를 더 포함하는 협력 필터링 기반의 오토인코딩 방법.8. The method of claim 7,
Wherein performing the second auto-
Estimating a matrix V of matrix factorization by performing decoding based on the estimated transpose matrix U T ; And
A matrix corresponding to the output layer of the Deep Neural Network based on the estimated transpose matrix U T and the matrix V, ≪ / RTI >
And a cooperative filtering based auto encoding method.
미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 제1 오토인코더;
상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 결정부; 및
다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 제2 오토인코더
를 포함하는 협력 필터링 기반의 오토인코딩 시스템.In an autoencoding system based on collaborative filtering,
A first auto encoder for performing a first auto encoding on a matrix M in which item information previously collected is set as a column of a matrix M corresponding to an input layer of a Deep Neural Network;
A determination unit for determining whether to perform auto encoding based on another auto encoder based on a root mean square error after the first auto encoding and a predetermined threshold; And
The second auto encoding is performed on the basis of the transpose matrix M T of the matrix M in which the pre-collected user information is set to a column as the second auto encoding is determined to be performed in the other auto encoder, Auto encoder
A cooperative filtering based auto encoding system.
상기 결정부는,
학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하고, 계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.10. The method of claim 9,
Wherein,
Calculating an average square root error of the current auto encoder for each epoch in which learning is performed and determining to change the current auto encoder to the other auto encoder if the calculated mean square root error is less than the threshold value
Wherein the cooperative filtering based auto-encoding system comprises:
상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정되는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.10. The method of claim 9,
Whenever it is decided to perform auto encoding in the other auto encoder, the encoder output of the current auto encoder is set to the weight matrix of the decoder of the other auto encoder
Wherein the cooperative filtering based auto-encoding system comprises:
상기 제1 오토인코더는,
상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.10. The method of claim 9,
Wherein the first auto encoder comprises:
Updating the output of the encoder of the first auto-encoder based on back propagation with the weights of the decoders of the first auto-encoder corresponding to the first auto-encoding being fixed
Wherein the cooperative filtering based auto-encoding system comprises:
상기 제1 오토인코더는,
상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하고, 제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.10. The method of claim 9,
Wherein the first auto encoder comprises:
A column of a matrix M corresponding to the input layer of the Deep Neural Network is set based on the item information and an encoder of the first auto encoder M to estimate the transpose matrix V T of the matrix V of the matrix factorization technique
Wherein the cooperative filtering based auto-encoding system comprises:
상기 제1 오토인코더는,
추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하고, 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.14. The method of claim 13,
Wherein the first auto encoder comprises:
Estimating a matrix U of matrix factorization by performing decoding based on the estimated transposed matrix V T and calculating a matrix U based on the estimated matrix U and the transposed matrix V T based on the Deep Neural Network ≪ / RTI >< RTI ID = 0.0 > To estimate
Wherein the cooperative filtering based auto-encoding system comprises:
상기 제2 오토인코더는,
상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하고, 제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.10. The method of claim 9,
Wherein the second auto encoder comprises:
The user information is set as a column of a transpose matrix M T of a matrix M corresponding to an input layer of the Deep Neural Network and the encoder of the second auto- M to estimate the transpose matrix U T of the matrix U of the matrix factorization scheme
Wherein the cooperative filtering based auto-encoding system comprises:
상기 제2 오토인코더는,
추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하고, 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬 을 추정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.16. The method of claim 15,
Wherein the second auto encoder comprises:
To estimate the matrices V and, based on the estimated the transpose matrix U T, and the matrix V of matrix factorization techniques (matrix factorization) to perform decoding based on the estimated the transpose matrix U T the depth neural network (Deep Neural Network ≪ / RTI >< RTI ID = 0.0 > To estimate
Wherein the cooperative filtering based auto-encoding system comprises:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170140871 | 2017-10-27 | ||
KR1020170140871 | 2017-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190047576A true KR20190047576A (en) | 2019-05-08 |
KR102111843B1 KR102111843B1 (en) | 2020-05-15 |
Family
ID=66580099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180031871A KR102111843B1 (en) | 2017-10-27 | 2018-03-20 | Alternating AutoencoderMethod and System for recommendation System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102111843B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210065014A1 (en) * | 2019-08-29 | 2021-03-04 | Nihon Kohden Corporation | Subject discriminating device, subject discriminating method, and non-transitory computer-readable medium |
KR102280190B1 (en) * | 2020-05-14 | 2021-07-21 | 포항공과대학교 산학협력단 | People counting apparatus based on radar using deep learning and method thereof |
CN113742593A (en) * | 2021-09-15 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | Method and device for pushing information |
CN114996588A (en) * | 2022-08-01 | 2022-09-02 | 平安科技(深圳)有限公司 | Product recommendation method, device, equipment and storage medium based on double-tower model |
US11651053B2 (en) | 2020-10-07 | 2023-05-16 | Samsung Electronics Co., Ltd. | Method and apparatus with neural network training and inference |
US12035007B2 (en) | 2020-03-19 | 2024-07-09 | Samsung Electronics Co., Ltd. | Computing device and operating method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132509A1 (en) * | 2015-11-06 | 2017-05-11 | Adobe Systems Incorporated | Item recommendations via deep collaborative filtering |
-
2018
- 2018-03-20 KR KR1020180031871A patent/KR102111843B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132509A1 (en) * | 2015-11-06 | 2017-05-11 | Adobe Systems Incorporated | Item recommendations via deep collaborative filtering |
Non-Patent Citations (7)
Title |
---|
[1] Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep learning, MIT Press, 2016. http://www.deep learningbook.org. |
[2] SuvashSedhain, Menon Krishna, Scott Scanner and Lexing Xie. Autorec:Autoencdersmeet collaborative filtering. Proceedings of 24th ACM International Conference on World Wide Web, pp.111-112, 2015. |
[3] YunhongZhou, Dennis Wilkinson, Robert Schreiber and Rong Pan. Large-scale parallel collaboerative filtering for the Netflix prize. Proceedings of the 4th international conference on Algorithmic Aspects in Information and Management, pp.337-348, 2008. |
[4] Joonseok Lee, Seungyeon Kim, Guy Lebanon and Yoram Singer. Local low-rank matrix approximation. Proceedings of the 30th International Conference on Machine Learning, pp.82-90, 2013. |
[5] Dongsheng Li, Chao Chen, Qin Lv, JunchiYan, Li Shang and Stephn M. Chu. Low-rank matrix approximation with stability. Proceedings of the 33rd International Conference on Machine Learning, pp.295-303, 2016. |
"Hybrid Collaborative Filtering with Autoencoders", Florian Strub 외 2인(2016.07.19.)* * |
"Representation learning via Dual-Autoencoder for recommendation" Fhuzen Zhuang 외 5명, Neural Networks 90(2017) 83-89(2017.03.27.)* * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210065014A1 (en) * | 2019-08-29 | 2021-03-04 | Nihon Kohden Corporation | Subject discriminating device, subject discriminating method, and non-transitory computer-readable medium |
US12035007B2 (en) | 2020-03-19 | 2024-07-09 | Samsung Electronics Co., Ltd. | Computing device and operating method thereof |
KR102280190B1 (en) * | 2020-05-14 | 2021-07-21 | 포항공과대학교 산학협력단 | People counting apparatus based on radar using deep learning and method thereof |
US11651053B2 (en) | 2020-10-07 | 2023-05-16 | Samsung Electronics Co., Ltd. | Method and apparatus with neural network training and inference |
CN113742593A (en) * | 2021-09-15 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | Method and device for pushing information |
CN114996588A (en) * | 2022-08-01 | 2022-09-02 | 平安科技(深圳)有限公司 | Product recommendation method, device, equipment and storage medium based on double-tower model |
CN114996588B (en) * | 2022-08-01 | 2022-10-21 | 平安科技(深圳)有限公司 | Product recommendation method, device, equipment and storage medium based on double-tower model |
Also Published As
Publication number | Publication date |
---|---|
KR102111843B1 (en) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190047576A (en) | Alternating AutoencoderMethod and System for recommendation System | |
CN109785062B (en) | Hybrid neural network recommendation system based on collaborative filtering model | |
CN111797321B (en) | Personalized knowledge recommendation method and system for different scenes | |
CN111104595A (en) | Deep reinforcement learning interactive recommendation method and system based on text information | |
CN112364976A (en) | User preference prediction method based on session recommendation system | |
CN105718566B (en) | Intelligent music recommendation system | |
CN112100504B (en) | Content recommendation method and device, electronic equipment and storage medium | |
CN112948625B (en) | Film recommendation method based on attribute heterogeneous information network embedding | |
CN114385376B (en) | Client selection method for federal learning of lower edge side of heterogeneous data | |
CN114637911B (en) | Method for recommending next interest point of attention fusion perception network | |
CN115471271A (en) | Method and device for attributing advertisements, computer equipment and readable storage medium | |
Xu et al. | A new training and pruning algorithm based on node dependence and Jacobian rank deficiency | |
CN109657725B (en) | Service quality prediction method and system based on complex space-time context awareness | |
CN110968790A (en) | Latent customer intelligent recommendation method, device and storage medium based on big data | |
CN117495511A (en) | Commodity recommendation system and method based on contrast learning and community perception | |
KR102280301B1 (en) | Method and apparatus for recommending items using explicit and implicit feedback | |
Ramezani et al. | Improve performance of collaborative filtering systems using backward feature selection | |
CN112256957A (en) | Information sorting method and device, electronic equipment and storage medium | |
CN111429175A (en) | Method for predicting click conversion under sparse characteristic scene | |
Mannan et al. | A new user similarity computation method for collaborative filtering using artificial neural network | |
CN114547276A (en) | Three-channel diagram neural network-based session recommendation method | |
Abbas et al. | Volterra system identification using adaptive genetic algorithms | |
JP6558860B2 (en) | Estimation device, prediction device, method, and program | |
Chertov et al. | Comparative analysis of neighborhood-based approache and matrix factorization in recommender systems | |
CN110968794B (en) | Multi-view attention recommendation method based on binary information network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |