KR20190047576A - Alternating AutoencoderMethod and System for recommendation System - Google Patents

Alternating AutoencoderMethod and System for recommendation System Download PDF

Info

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
Application number
KR1020180031871A
Other languages
Korean (ko)
Other versions
KR102111843B1 (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 한국과학기술원
Publication of KR20190047576A publication Critical patent/KR20190047576A/en
Application granted granted Critical
Publication of KR102111843B1 publication Critical patent/KR102111843B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • 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

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

Disclosed are a selective auto-encoding method and an auto-encoding system for a recommendation system. The auto-encoding method based on collaborative filtering includes: a step of performing first auto-encoding to a matrix M in which pre-collected item information is set as a column of the matrix M corresponding to an input layer of a deep neural network; a step of determining whether to perform auto-encoding with another auto-encoder based on a preset threshold value and a root mean square error after the first auto-encoding; and a step of performing second auto-encoding based on a transpose matrix M^T of the matrix M, in which pre-collected user information is set as a column, in accordance with the determination that the second auto-encoding is performed with another auto-encoder.

Description

추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템{Alternating AutoencoderMethod and System for recommendation System}TECHNICAL FIELD The present invention relates to an automatic encoding method and an auto encoding system for a recommendation system,

본 발명은 데이터에서 의미있는 값을 추출하는 특징값 추출(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.

Figure pat00001
Figure pat00001

표 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 =

Figure pat00002
Figure pat00002

상품에 대한 소비자의 만족도는 추천시스템의 설계 시 매우 중요한 요소이나, 소비자의 자발적인 협조가 요구되므로 충분한 만족도 데이터를 확보하는데 어려움이 존재한다.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).

[1] Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep learning, MIT Press, 2016. http://www.deep learningbook.org.[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.[2] Suvash Sedhain, 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.[3] YunhongZhou, Dennis Wilkinson, Robert Schreiber and Rong Pan. Large-scale parallel collaborative filtering for the Netflix prize. Proceedings of the 4th international conference on Algorithmic Aspects in Information and Management, pp. 377-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.[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.[5] Dongsheng Li, Chao Chen, Qin Lv, Junchi Yan, 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.

본 발명은 특정 상품(예컨대, 영화, 음악, 방송, 물리적인 제품 등)과 관련하여 수집된 일부의 만족도 데이터를 기반으로 전체의 데이터를 예측하는 협력 필터링 기반의 오토인코딩 기술에 관한 것이다.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)의 출력층에 해당하는 행렬

Figure pat00003
을 추정하는 단계를 더 포함할 수 있다.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
Figure pat00003
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)의 출력층에 해당하는 행렬

Figure pat00004
을 추정하는 단계를 더 포함할 수 있다.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,
Figure pat00004
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)의 출력층에 해당하는 행렬

Figure pat00005
을 추정할 수 있다.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
Figure pat00005
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)의 출력층에 해당하는 행렬

Figure pat00006
을 추정할 수 있다.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,
Figure pat00006
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 encoder 110 and a decoder 120.

이때, 인코더(110)의 입력(130)은 심층신경망의 입력층에 해당하고, 디코더(120)의 출력(140)은 심층신경망의 출력층에 해당할 수 있다. 즉, 미리 지정된 기준량에 해당하는 일부의 상품 정보를 기반으로 구성된 행렬, 상기 기준량에 해당하는 일부의 사용자 정보를 기반으로 구성된 행렬이 각 오토인코더의 인코더(110)의 입력으로 설정될 수 있다. 그리고, 입력된 상기 행렬을 기반으로 적어도 하나의 은닉층(hidden layer, 150)에서 가중치를 조절하여 상기 심층신경망의 출력층에 해당하는 출력(140)이 예측될 수 있다.At this time, the input 130 of the encoder 110 corresponds to the input layer of the neural network, and the output 140 of the decoder 120 corresponds to the output layer of the neural network. That is, a matrix based on a part of product information corresponding to a predetermined reference amount, and a matrix based on a part of user information corresponding to the reference amount may be set as an input of the encoder 110 of each auto encoder. The output 140 corresponding to the output layer of the neural network can be predicted by adjusting the weights in at least one hidden layer 150 based on the input matrix.

도 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-encoding system 300 may include a first auto encoder 310, a determination unit 320, and a second auto encoder 330. Each of the steps 210 to 230 of FIG. 2 corresponds to the first auto encoder 310, the determination unit 320, and the second auto encoder 330, which are components of the auto-encoding system 300 of FIG. ≪ / RTI > Here, each of the first auto encoder 310 and the second auto encoder 330 may include a corresponding encoder and a decoder.

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)의 출력층에 해당하는 행렬

Figure pat00007
이 추정될 수 있다.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
Figure pat00007
Can be estimated.

220 단계에서, 결정부(320)는 제1 오토인코더(310)에서 제1 오토인코딩된 이후의 평균제곱근오차(root mean square error, RMSE)를 계산하고, 계산된 평균제곱근오차(RMSE)와 미리 지정된 임계값에 기초하여 다른 오토인코더(즉, 제2 오토인코더, 330)를 기반으로 오토인코딩을 수행할지 여부를 결정할 수 있다.In step 220, the decision unit 320 calculates a root mean square error (RMSE) after the first auto encoding in the first auto encoder 310, and calculates a root mean square error (RMSE) It is possible to determine whether or not to perform auto encoding based on another auto encoder (i.e., the second auto encoder 330) based on the specified threshold value.

일례로, 결정부(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 first auto encoder 110, may be set to the weight matrix of the decoder of the second auto encoder 330. The first has an output H (= V T), (= V T), an updated matrix H when the update of the automatic encoder 310 can be set to a weight matrix of the decoder of the second auto-encoder 330.

한편, 현재 오토인코더인 제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 step 230, the second auto encoder 330 determines to perform the second auto encoding in the second auto encoder 330, so that the pre-collected user information is stored in the transpose matrix of the matrix M set in the column the second auto encoding can be performed based on the transpose matrix M T.

일례로, 현재 오토인코더인 제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)의 출력층에 해당하는 행렬

Figure pat00008
를 추정할 수 있다. 이때, 제2 오토인코더(autoencoder, 330)의 디코더(decoder)는 추정된 상기 전치행렬 UT과 상기 제1 오토인코더(310)의 출력 H(=VT)을 기반으로 설정된 가중치 행렬
Figure pat00009
을 기반으로 디코딩을 수행하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure pat00010
를 추정할 수 있다. 이때, 추정된 상기 행렬 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
Figure pat00008
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)
Figure pat00009
And a matrix corresponding to the output layer of the Deep Neural Network
Figure pat00010
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)

Figure pat00011
와 완전 행렬(complete rating matrix)
Figure pat00012
의 차원(rank)이
Figure pat00013
일 때,
Figure pat00014
로 나타내지는 것을 의미할 수 있다. 이때, 행렬 U 와 행렬 V
Figure pat00015
일 수 있다. 행렬 UV를 결정하기 위해 최소제곱법 최적화기법(least squares optimization problem)이 이용될 수 있다. 예컨대, 아래의 수학식 2에 기초하여 최적화 문제의 해(solution)를 구함으로써, 행렬 UV가 계산될 수 있다. Collaborative filtering may be based on a rank factorization theorem under row rank assumption. The rank factorization theorem is an incomplete rating matrix,
Figure pat00011
And complete rating matrix.
Figure pat00012
The rank of
Figure pat00013
when,
Figure pat00014
. ≪ / RTI > At this time, the matrix U and the matrix V
Figure pat00015
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) "

Figure pat00016
Figure pat00016

위의 수학식 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)는

Figure pat00017
를 계산하고, 제1 오토인코더(I-AE)의 디코더(420)는 상기 행렬 U
Figure pat00018
를 곱함으로써, 협력 필터링을 수행할 수 있다. 예를 들어, 제1 오토인코더(I-AE)의 디코더(420)의 가중치 행렬 W는 이전 단계(step)에서 제2 오토인코더(U-AE)의 출력인 행렬 U로 설정되므로, 제1 오토인코더(I-AE)의 디코더(420)는 상기 행렬 U에 제1 오토인코더(I-AE)의 인코더(410)의 출력인 V T 를 곱함으로써, 심층신경망의 출력층에 해당하는 행렬
Figure pat00019
을 추정할 수 있다.Referring to FIG. 4, based on Equation 2 above, the encoder 430 of the second auto-encoder (U-AE)
Figure pat00017
And the decoder 420 of the first auto encoder (I-AE) calculates the matrix U
Figure pat00018
To perform cooperative filtering. For example, since the weight matrix W of the decoder 420 of the first auto encoder (I-AE) is set to the matrix U which is the output of the second auto encoder (U-AE) in the previous step, The decoder 420 of the encoder I-AE multiplies the matrix U by V T , which is the output of the encoder 410 of the first auto encoder (I-AE), so that a matrix corresponding to the output layer of the deep-
Figure pat00019
Can be estimated.

이때, 심층신경망의 입력층에 해당하는 행렬 mi가 행렬 M의 i번째 컬럼 벡터들(column vector)로 구성되고(

Figure pat00020
), σ는 비선형 활성함수(nonlinear active function)인 경우, 제1 오토인코더(I-AE)의 출력, 즉, 상기 출력층에 해당하는 행렬
Figure pat00021
(= 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
Figure pat00020
) and σ is a nonlinear active function, the output of the first auto encoder (I-AE), that is, the matrix corresponding to the output layer
Figure pat00021
(= y i ) can be expressed by Equation (3) below.

[수학식 3]&Quot; (3) "

Figure pat00022
Figure pat00022

위의 수학식 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 encoders 410 and 430, respectively.

수학식 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) "

Figure pat00023
Figure pat00023

위의 수학식 4에서,

Figure pat00024
는 표시 함수(indicator function)를 나타내는 것으로서, 사용자 정보 i가 상품 정보 j와 관련된 경우에는 1, 아닌 경우에는 0으로 설정될 수 있다. 그리고, λ는 정규화 계수(randomization coefficient)를 나타낼 수 있다. In Equation (4) above,
Figure pat00024
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의 출력

Figure pat00025
Figure pat00026
로 표현될 수 있다. 여기서, W는 I-AE의 디코더의 가중치 행렬
Figure pat00027
Figure pat00028
을 포함하고,
Figure pat00029
는 I-AE의 인코더의 출력을 나타내는 것으로서,
Figure pat00030
로 표현될 수 있다. 여기서,
Figure pat00031
는 시그모이드(sigmoid) 함수를 나타내고
Figure pat00032
는 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
Figure pat00025
silver
Figure pat00026
. ≪ / RTI > Where W is the weight matrix of the decoder of I-AE
Figure pat00027
Figure pat00028
/ RTI >
Figure pat00029
Represents the output of the encoder of the I-AE,
Figure pat00030
. ≪ / RTI > here,
Figure pat00031
Represents a sigmoid function and < RTI ID = 0.0 >
Figure pat00032
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 encoders 410 and 430 of the respective auto encoders and the decoders 420 and 440 can be expressed by Equation (5) below.

[수학식 5]&Quot; (5) "

Figure pat00033
Figure pat00033

수학식 5에서, Y는 오토인코더(즉, 오토 인코더의 디코더)의 출력 행렬로서, 출력층에 해당하는 추정된 행렬을 나타낼 수 있다. 예컨대,

Figure pat00034
로 표현될 수 있다. W는 가중치 행렬을 나타내고, H는 오토인코더(즉, 오토인코더의 인코더)의 출력 행렬을 나타내는 것으로서,
Figure pat00035
로 표현될 수 있다. 그리고, 수학식 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,
Figure pat00034
. ≪ / RTI > W denotes a weight matrix, H denotes an output matrix of an auto-encoder (i.e., an encoder of an auto-encoder)
Figure pat00035
. ≪ / 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를 추정하기 위한 멀티레이어 퍼셉트론

Figure pat00036
, 상기 출력 행렬 V를 추정하기 위한 멀티레이어 페셉트론
Figure pat00037
이 이용될 수 있다. 여기서, 멀티레이어 퍼셉트론
Figure pat00038
의 파라미터는
Figure pat00039
,
Figure pat00040
의 파라미터는
Figure pat00041
이고, 각 퍼셉트론의 입력 x는 불완전 행렬(incomplete matrix)의 로우 벡터들(row vectors)과 컬럼 벡터들(column vectors)로 구성될 수 있다. 상기 퍼셉트론
Figure pat00042
Figure pat00043
를 이용하여 최소화할 최적화 문제는 아래의 수학식 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
Figure pat00036
A multi-layered cepstrum for estimating the output matrix V ,
Figure pat00037
Can be used. Here, the multi-layer perceptron
Figure pat00038
The parameters of
Figure pat00039
,
Figure pat00040
The parameters of
Figure pat00041
, And the input x of each perceptron may be composed of row vectors and column vectors of an incomplete matrix. The perceptron
Figure pat00042
Wow
Figure pat00043
The optimization problem to be minimized can be expressed by Equation (6) below.

[수학식 6]&Quot; (6) "

Figure pat00044
Figure pat00044

즉, 위의 수학식 6에 기초하여 제1 오토인코더의 인코더(410)의 출력 V, 제2 오토인코더의 인코더(430)의 출력 U이 추정되고, 추정된 출력 U와 V 각각과 가중치 행렬 W에 기초하여 최종적으로 제1 오토인코더가 현재 오토인코더로 설정된 경우에 추정하고자 하는 출력 행렬

Figure pat00045
또는 제2 오토인코더가 현재 오토인코더로 설정된 경우의 출력 행렬
Figure pat00046
이 생성될 수 있다. 수학식 4에서 설명한 바와 같이, 최적화 문제를 기반으로 상기 U와 V를 추정하기 위해 먼저 랭크 인수분해(rank factorization)가 수행되며, 랭크 인수분해That is, the output V of the encoder 410 of the first auto encoder and the output U of the encoder 430 of the second auto encoder are estimated based on Equation (6) above, and the estimated outputs U and V and the weight matrix W The output matrix to be estimated when the first auto-encoder is currently set to the auto-encoder
Figure pat00045
Or the output matrix when the second auto encoder is currently set to auto encoder
Figure pat00046
Can be generated. As described in Equation (4), rank factorization is first performed to estimate U and V based on the optimization problem, and rank factorization

이때, 도 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.

Figure pat00047
Figure pat00047

표 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)의 가중치 행렬(

Figure pat00048
)로 설정될 수 있다. 위의 표 2에서
Figure pat00049
는 k번째 에폭(epoch)에서의 RMSE를 나타내고,
Figure pat00050
는 k번째 에폭(epoch)에서의 임계값을 나타낼 수 있다. 여기서, 임계값
Figure pat00051
Figure pat00052
로 설정될 수 있다.위의 표 2에서는 I-AE에서 학습을 시작한 이후 U-AE에서 순차적으로 학습을 수행하는 것을 나타내고 있으나, 이는 실시예에 해당되며, U-AE에서 먼저 학습을 시작하고 순차적을 I-AE에서 학습이 수행될 수 있다. 그리고, 표 2의 단계(step) 3 내지 7에 따르면, 현재 오토인코더로 설정된 I-AE의 인코더의 출력
Figure pat00053
는 업데이트될 수 있다. 예컨대, 상기 I-AE의 인코더의 출력
Figure pat00054
Figure pat00055
에서 I-AE의 디코더(420)의 가중치 W k 가 고정된(fixed) 동안 업데이트될 수 있다. 상기
Figure pat00056
의 업데이트는 계산된 RMSE가
Figure pat00057
를 만족할 때까지 반복될 수 있다. 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 decoder 440 of the U-AE output H (= V T) of the encoder 410 of the I-AE (
Figure pat00048
). In Table 2 above,
Figure pat00049
Represents the RMSE in the k < th > epoch,
Figure pat00050
May represent a threshold value at the kth epoch. Here,
Figure pat00051
The
Figure pat00052
In the above Table 2, it is shown that the U-AE performs the learning sequentially in the U-AE after the learning starts, but this corresponds to the embodiment, and the U-AE first starts the learning, Learning can be performed in I-AE. According to the steps 3 to 7 of Table 2, the output of the encoder of the I-AE currently set to the auto encoder
Figure pat00053
Can be updated. For example, the output of the encoder of the I-AE
Figure pat00054
The
Figure pat00055
While in a weight W k of the decoder 420 of the I-AE fixed (fixed) it can be updated. remind
Figure pat00056
The update of the calculated RMSE is
Figure pat00057
Can be repeated.

표 2의 단계(step) 8에서, 임계값

Figure pat00058
와 현재 오토인코더의 설정을 변경하는 변경 시간(alternation time)
Figure pat00059
이 업데이트될 수 있다. 유사한 방법으로, 제2 오토인코더인 U-AE의 파라미터들은 표 2의 단계(step) 9 내지 14에서 업데이트될 수 있다. 그리고, RMSE 및 임계값을 기반으로 현재 오토인코더의 설정은 I-AE에서 U-AE, U-AE에서 I-AE로 변경하는 동작은
Figure pat00060
될 때 까지 반복 수행될 수 있다.In step 8 of Table 2,
Figure pat00058
And the alternation time to change the setting of the current auto encoder.
Figure pat00059
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
Figure pat00060
Lt; / RTI >

k번째 에폭(epoch) 이후의 입출력 관계는, 도 4와 같이, I-AE의 경우,

Figure pat00061
와 같이 표현되고, U-AE의 경우,
Figure pat00062
와 같이 표현될 수 있다.The input / output relationship after the k-th epoch is, as shown in Fig. 4, in the case of I-AE,
Figure pat00061
In the case of U-AE,
Figure pat00062
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).

Figure pat00063
Figure pat00063

표 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)

협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 방법에 있어서,
미리 수집된 상품(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.
제1항에 있어서,
상기 오토인코딩을 수행할지 여부를 결정하는 단계는,
학습이 수행되는 에폭(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.
제1항에 있어서,
상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정되는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 방법.
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 오토인코딩에 해당하는 제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항에 있어서,
상기 제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.
제5항에 있어서,
상기 제1 오토인코딩을 수행하는 단계는,
추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하는 단계; 및
추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure pat00064
을 추정하는 단계
를 더 포함하는 협력 필터링 기반의 오토인코딩 방법.
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
Figure pat00064
≪ / RTI >
And a cooperative filtering based auto encoding method.
제1항에 있어서,
상기 제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.
제7항에 있어서,
상기 제2 오토인코딩을 수행하는 단계는,
추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하는 단계; 및
추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure pat00065
을 추정하는 단계
를 더 포함하는 협력 필터링 기반의 오토인코딩 방법.
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,
Figure pat00065
≪ / RTI >
And a cooperative filtering based auto encoding method.
협력 필터링(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 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.
제9항에 있어서,
상기 결정부는,
학습이 수행되는 에폭(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:
제9항에 있어서,
상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정되는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
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:
제9항에 있어서,
상기 제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:
제9항에 있어서,
상기 제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:
제13항에 있어서,
상기 제1 오토인코더는,
추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하고, 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure pat00066
을 추정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
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 >
Figure pat00066
To estimate
Wherein the cooperative filtering based auto-encoding system comprises:
제9항에 있어서,
상기 제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:
제15항에 있어서,
상기 제2 오토인코더는,
추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하고, 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure pat00067
을 추정하는 것
을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
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 >
Figure pat00067
To estimate
Wherein the cooperative filtering based auto-encoding system comprises:
KR1020180031871A 2017-10-27 2018-03-20 Alternating AutoencoderMethod and System for recommendation System KR102111843B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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