KR102111843B1 - 추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템 - Google Patents

추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템 Download PDF

Info

Publication number
KR102111843B1
KR102111843B1 KR1020180031871A KR20180031871A KR102111843B1 KR 102111843 B1 KR102111843 B1 KR 102111843B1 KR 1020180031871 A KR1020180031871 A KR 1020180031871A KR 20180031871 A KR20180031871 A KR 20180031871A KR 102111843 B1 KR102111843 B1 KR 102111843B1
Authority
KR
South Korea
Prior art keywords
matrix
autoencoder
auto
autoencoding
encoder
Prior art date
Application number
KR1020180031871A
Other languages
English (en)
Other versions
KR20190047576A (ko
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/ko
Application granted granted Critical
Publication of KR102111843B1 publication Critical patent/KR102111843B1/ko

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)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템이 개시된다. 협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 방법에 있어서, 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 단계, 상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 단계, 및 다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행하는 단계를 포함할 수 있다.

Description

추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템{Alternating AutoencoderMethod and System for recommendation System}
본 발명은 데이터에서 의미있는 값을 추출하는 특징값 추출(feature extraction)을 수행하기 위해 이용되는 오토인코더(autoencoder)를 협력필터링(collaborate filtering) 기반의 심층신경망(deep neural network)에 적용하는 기술에 관한 것이다.
오토인코더(autoencoder)는 머신러닝(machine learning) 학습 시 이용되는 기술로서, 아래의 비특허 문헌 [1] Ian Goodfellow , Yoshua Bengio , and Aaron Courville, Deep learning, MIT Press, 2016. http://www.deep learningbook . org .에 제시된 딥러닝 학습 시 같이 특징값 추출(feature extraction)을 위해 이용된다.
예컨대, 오토 인코더는, 다른 심층신경망과는 달리 아래의 표 1과 같이 입력과 출력이 같도록 학습한다.
Figure 112018027610188-pat00001
표 1과 같이, 입력 및 출력이 같도록 학습하는 오토인코더(autoencoder)에서, 손실함수는 아래의 수학식 1과 같이 표현될 수 있다.[수학식 1]
Figure 112018027610188-pat00002
상품에 대한 소비자의 만족도는 추천시스템의 설계 시 매우 중요한 요소이나, 소비자의 자발적인 협조가 요구되므로 충분한 만족도 데이터를 확보하는데 어려움이 존재한다.
이에 따라, 수집된(즉, 확보된) 일부의 만족도 데이터(즉, 소량의 만족도 데이터)를 기반으로 학습을 통해 전체의 데이터를 예측하는 기술이 필요하다.
[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.
본 발명은 특정 상품(예컨대, 영화, 음악, 방송, 물리적인 제품 등)과 관련하여 수집된 일부의 만족도 데이터를 기반으로 전체의 데이터를 예측하는 협력 필터링 기반의 오토인코딩 기술에 관한 것이다.
협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 방법에 있어서, 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 단계, 상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 단계, 및 다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행하는 단계를 포함할 수 있다.
일측면에 따르면, 상기 오토인코딩을 수행할지 여부를 결정하는 단계는, 학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하는 단계, 및 계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정될 수 있다.
또 다른 측면에 따르면, 상기 제1 오토인코딩을 수행하는 단계는, 상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 제1 오토인코딩을 수행하는 단계는, 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하는 단계, 및 제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 제1 오토인코딩을 수행하는 단계는, 추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하는 단계, 및 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00003
을 추정하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 제2 오토인코딩을 수행하는 단계는, 상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하는 단계, 및 제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 제2 오토인코딩을 수행하는 단계는, 추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하는 단계, 및 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00004
을 추정하는 단계를 더 포함할 수 있다.
협력 필터링(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 오토인코더를 포함할 수 있다.
일측면에 따르면, 상기 결정부는, 학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하고, 계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정할 수 있다.
다른 측면에 따르면, 상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정될 수 있다.
또 다른 측면에 따르면, 상기 제1 오토인코더는, 상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트할 수 있다.
또 다른 측면에 따르면, 상기 제1 오토인코더는, 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하고, 제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정할 수 있다.
또 다른 측면에 따르면, 상기 제1 오토인코더는, 추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하고, 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00005
을 추정할 수 있다.
또 다른 측면에 따르면, 상기 제2 오토인코더는, 상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하고, 제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정할 수 있다.
또 다른 측면에 따르면, 상기 제2 오토인코더는, 추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하고, 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00006
을 추정할 수 있다.
본 발명의 실시예들에 따르면, 협력필터링 기반의 심층신경망을 이용한 서로 복수개의 오토인코더를 이용하여 특정 상품(예컨대, 영화, 음악, 방송, 물리적인 제품 등)과 관련하여 수집된 일부의 만족도 데이터를 기반으로 전체의 데이터를 예측할 수 있다.
또한, 평균제곱근오차(RMSE)를 기반으로 현재의 오토인코더에서 다른 오토인코더로 전환을 수행하여, 기존의 협력 필터링기반의 오토인코더 대비 시스템의 성능을 향상시킬 수 있다. 즉, 예측 정확도를 높일 수 있다.
도 1은 본 발명의 일실시예에 있어서, 협력 필터링 기반의 오토인코딩 시스템의 레이어 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 방법을 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 시스템의 내부구성을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 있어서, 서로 다른 복수개의 오토인코더를 포함하는 오토인코딩 시스템의 구조를 도시한 블록도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명은 협력필터링 기반으로 심층신경망을 통해 전체 데이터(즉,만족도 데이터)를 예측하는 오토인코딩 기술에 관한 것으로서, 특히, 미리 수집된 일부분의 만족도 데이터를 기반으로 서로 다른 복수개의 오토인코더를 선택적으로 이용하여 전체 데이터를 예측하는 기술에 관한 것이다. 즉, 서로 다른 복수개의 오토인코더를 순차적으로 수행하여 일부 데이터로부터 전체 데이터를 예측하는 기술에 관한 것이다.
본 실시예들에서, "만족도 데이터"는 사용자가 상품에 대해 만족도를 표시한 데이터를 나타내는 것으로서, 특정 상품과 관련하여 미리 수집된 사용자의 만족도를 나타내는 사용자 정보 데이터, 상품 정보를 기반으로 미리 수집된 상품 정보 데이터를 포함할 수 있다. 본 실시예들에서는, Matrix factorization 모델에서 만족도 데이터가 사용자 정보와 상품 정보의 곱으로 나타난다고 가정할 수 있다. 여기서 사용자 정보와 상품 정보 공통된 잠재 변수(latent variable)에 대한 정보를 나타낼 수 있다. 예를 들어, 잠재 변수가 액션 장르이면, 사용자 정보는 어떤 사용자가 액션을 좋아하는 정도를 나타내고, 상품 정보는 상기 상품이 액션 장르를 잘 나타내고 있는지 정도를 나타낼 수 있다.
본 실시예들에서, "현재 오토인코더"는 현재 오토인코딩을 수행 시 이용되는 오토인코더를 나타낼 수 있고, 다른 오토인코더는 현재 오토인코더를 제외한 나머지 하나의 오토인코더를 나타낼 수 있다. 예컨대, 오토인코더가 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가 순차적으로 수행될 수도 있다.
본 실시예들에서, 협업 필터링에 사용되는 오토인코더(autoencoder)는 행렬의 컬럼(column)을 입력으로 하는 I-AE와 행렬의 로우(row)를 입력으로 하는 U-AE를 포함할 수 있다.
본 실시예들에서, 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) 정보를 기반으로 오토인코딩을 수행하는 오토 인코더를 나타낼 수 있다.
이하에서는 I-AE가 먼저 수행된 이후 U-AE가 순차적으로 수행되는 경우를 예로 들어 설명하기로 한다.
도 1은 본 발명의 일실시예에 있어서, 협력 필터링 기반의 오토인코딩 시스템의 레이어 구조를 도시한 도면이다.
도 1을 참고하면, 협력 필터링(collaborative filtering) 기반의 오토인코딩 시스템(100)은 복수개의 오토인코더(autoencdoer)를 포함할 수 있다. 예컨대, 오토인코더는 제1 오토인코더(예컨대, I-AE) 및 제2 오토인코더(예컨대, U-AE)를 포함할 수 있다. 이때, 각 오토인코더는 인코더(110) 및 디코더(120)를 포함할 수 있다.
이때, 인코더(110)의 입력(130)은 심층신경망의 입력층에 해당하고, 디코더(120)의 출력(140)은 심층신경망의 출력층에 해당할 수 있다. 즉, 미리 지정된 기준량에 해당하는 일부의 상품 정보를 기반으로 구성된 행렬, 상기 기준량에 해당하는 일부의 사용자 정보를 기반으로 구성된 행렬이 각 오토인코더의 인코더(110)의 입력으로 설정될 수 있다. 그리고, 입력된 상기 행렬을 기반으로 적어도 하나의 은닉층(hidden layer, 150)에서 가중치를 조절하여 상기 심층신경망의 출력층에 해당하는 출력(140)이 예측될 수 있다.
도 2는 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 방법을 도시한 흐름도이고, 도 3은 본 발명의 일실시예에 있어서, 협력필터링 기반의 오토인코딩 시스템의 내부구성을 도시한 블록도이다.
아래의 도 2 및 도 3에서는 I-AE를 수행한 이후 U-AE를 순차적으로 수행하는 경우를 예로 들어 설명하나, 이는 실시예에 해당되고, U-AE를 수행한 이후 I-AE가 순차적으로 수행될 수도 있다.
도 3을 참고하면, 오토인코딩 시스템(300)은 제1 오토인코더(310), 결정부(320) 및 제2 오토인코더(330)를 포함할 수 있다. 그리고, 도 2의 각 단계들(210 내지 230 단계)은 도 3의 오토인코딩 시스템(300)의 구성 요소인 제1 오토인코더(310), 결정부(320) 및 제2 오토인코더(330)에 의해 수행될 수 있다. 여기서, 제1 오토인코더(310) 및 제2 오토인코더(330) 각각은 해당 인코더 및 디코더를 포함할 수 있다.
210 단계에서, 제1 오토인코더(310)는 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행할 수 있다.
일례로, 제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는 업데이트될 수 있다.
제1 오토인코더(310)의 디코더(decoder)는 추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정할 수 있다. 즉, 제1 오토인코더(310)의 디코더(decoder)는 상기 전치행렬 VT를 기반으로 사용자 정보의 특징값(feature)에 해당하는 사용자 특징값 행렬(feature matrix) U를 추정할 수 있다. 이처럼, 추정된 행렬 U 및 전치행렬 VT에 기초하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00007
이 추정될 수 있다.
220 단계에서, 결정부(320)는 제1 오토인코더(310)에서 제1 오토인코딩된 이후의 평균제곱근오차(root mean square error, RMSE)를 계산하고, 계산된 평균제곱근오차(RMSE)와 미리 지정된 임계값에 기초하여 다른 오토인코더(즉, 제2 오토인코더, 330)를 기반으로 오토인코딩을 수행할지 여부를 결정할 수 있다.
일례로, 결정부(320)는 학습이 수행되는 에폭(epoch)마다 현재 오토인코더인 제1 오토인코더(310)의 평균제곱근오차(RMSE)를 계산할 수 있다. 그리고, 계산된 평균 제곱근 오차가 미리 지정된 임계값보다 작으면 현재 오토인코더를 제1 오토인코더(310)에서 제2 오토인코더(330)로 변경하는 것으로 결정할 수 있다.
이때, 결정부(320)는 현재 오토인코더를 기존의 오토 인코더로 유지하는 것이 아니라 다른 오토 인코더로 변경하는 것으로 결정할 때마다, 즉, 제1 오토인코더에서 제2 오토인코더 또는 제2 오토인코더에서 제1 오토인코더로 변경하는 것으로 결정할 때마다, 현재 오토인코더의 인코더 출력 H(=VT)을 다른 오토인코더의 디코더의 가중치 행렬로 설정할 수 있다. 예를 들어, 현재 오토인코더가 제1 오토인코더(310)인 경우, 제1오토인코더(110)의 인코더의 출력인 행렬 H를 제2 오토인코더(330)의 디코더의 가중치 행렬로 설정할 수 있다. 여기서, 제1 오토인코더(310)의 출력 H(=VT)이 업데이트된 경우, 업데이트된 행렬 H(=VT)가 제2 오토인코더(330)의 디코더의 가중치 행렬로 설정될 수 있다.
한편, 현재 오토인코더인 제1 오토인코더(310)의 평균제곱근오차(RMSE)가 미리 지정된 임계값 이상인 경우, 현재 인코더인 제1 오토인코더(310)를 그대로 유지하는 것으로 결정될 수 있다.
230 단계에서, 제2 오토인코더(330)는 제2 오토인코더(330)에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행할 수 있다.
일례로, 현재 오토인코더인 제1 오토인코더(310)의 평균제곱근오차(RMSE)가 미리 지정된 임계값보다 작아 현재 인코더가 제1 오토인코더(310)에서 제2 오토인코더(320)로 변경되는 것으로 결정된 경우, 제2 오토인코더(330)는 상기 사용자 정보를 상기 전치행렬 MT의 컬럼(column)으로 설정할 수 있다. 그러면, 제2 오토인코더(autoencoder, 330)의 인코더(encoder)는, 상기 전치 행렬 MT를 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정할 수 있다.
제2 오토인코더(autoencoder, 330)의 디코더(decoder)는 추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정할 수 있다. 그리고, 추정된 전치 행렬 UT 및 행렬 V에 기초하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00008
를 추정할 수 있다. 이때, 제2 오토인코더(autoencoder, 330)의 디코더(decoder)는 추정된 상기 전치행렬 UT과 상기 제1 오토인코더(310)의 출력 H(=VT)을 기반으로 설정된 가중치 행렬
Figure 112018027610188-pat00009
을 기반으로 디코딩을 수행하여 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
Figure 112018027610188-pat00010
를 추정할 수 있다. 이때, 추정된 상기 행렬 V는 상기 제1 오토인코더(310)의 디코더의 가중치 행렬로 설정될 수 있다.
도 4는 본 발명의 일실시예에 있어서, 서로 다른 복수개의 오토인코더를 포함하는 오토인코딩 시스템의 구조를 도시한 블록도이다.
도 4에서는 현재 오토인코더의 설정이 변경될 때마다 현재 오토인코더의 출력이 다른 오토인코더의 가중치 행렬로 설정되는 구성을 설명하고자 한다.
협력 필터링(collaborative filtering)은, row rank assumption 아래에서 랭크 인수분해 이론(rank factorization theorem)을 기반으로 할 수 있다. 랭크 인수분해 이론(rank factorization theorem)은 불완전 행렬(incomplete rating matrix)
Figure 112018027610188-pat00011
와 완전 행렬(complete rating matrix)
Figure 112018027610188-pat00012
의 차원(rank)이
Figure 112018027610188-pat00013
일 때,
Figure 112018027610188-pat00014
로 나타내지는 것을 의미할 수 있다. 이때, 행렬 U 와 행렬 V
Figure 112018027610188-pat00015
일 수 있다. 행렬 UV를 결정하기 위해 최소제곱법 최적화기법(least squares optimization problem)이 이용될 수 있다. 예컨대, 아래의 수학식 2에 기초하여 최적화 문제의 해(solution)를 구함으로써, 행렬 UV가 계산될 수 있다.
[수학식 2]
Figure 112018027610188-pat00016
위의 수학식 2에서, M i,j는 M의 (i,j) 번째 개체(entity)를 나타내고, I i,j 행렬 M을 대상으로 (i,j)번째 개체(entity)가 존재하면 1, 존재하지 않으면 해당 개체가 0인 행렬을 나타낼 수 있다. 그리고, λ는 정규화 계수(randomization coefficient)를 나타낼 수 있다.
도 4를 참고하면, 위의 수학식 2를 기반으로, 제2 오토인코더(U-AE)의 인코더(430)는
Figure 112018027610188-pat00017
를 계산하고, 제1 오토인코더(I-AE)의 디코더(420)는 상기 행렬 U
Figure 112018027610188-pat00018
를 곱함으로써, 협력 필터링을 수행할 수 있다. 예를 들어, 제1 오토인코더(I-AE)의 디코더(420)의 가중치 행렬 W는 이전 단계(step)에서 제2 오토인코더(U-AE)의 출력인 행렬 U로 설정되므로, 제1 오토인코더(I-AE)의 디코더(420)는 상기 행렬 U에 제1 오토인코더(I-AE)의 인코더(410)의 출력인 V T 를 곱함으로써, 심층신경망의 출력층에 해당하는 행렬
Figure 112018027610188-pat00019
을 추정할 수 있다.
이때, 심층신경망의 입력층에 해당하는 행렬 mi가 행렬 M의 i번째 컬럼 벡터들(column vector)로 구성되고(
Figure 112018027610188-pat00020
), σ는 비선형 활성함수(nonlinear active function)인 경우, 제1 오토인코더(I-AE)의 출력, 즉, 상기 출력층에 해당하는 행렬
Figure 112018027610188-pat00021
(= yi)은 아래의 수학식 3과 같이 표현될 수 있다.
[수학식 3]
Figure 112018027610188-pat00022
위의 수학식 3에서, wr은 인코더 및 디코더의 가중치 행렬을 나타낼 수 있다. 예컨대, 도 1과 같이, w1, w2, w3, w4을 포함하는 경우, w1, w2는 인코더(410, 430)의 가중치 행렬을 나타내고, w3, w4는 디코더(420, 440)의 가중치 행렬을 나타낼 수 있다. 그리고, b1, b2는 인코더(410, 430)의 상기 가중치 w1, w2 각각에 해당하는 바이어스(bias)를 나타낼 수 있다.
수학식 3에 도시된 제1 오토인코더(예컨대, I-AE)의 각 층(layer) 별 가중치와 바이어스는 아래의 수학식 4와 같이 표현되는 백-프로파게이션(back-propagation) 기법 기반의 최적화 문제의 해(solution)를 구함으로써 계산될 수 있다. 예컨대, 아래의 수학식 4에 기초하여 제1 오토인코더의 인코더의 가중치(W 1 , W 2 )와 바이어스가 계산될 수 있다.
[수학식 4]
Figure 112018027610188-pat00023
위의 수학식 4에서,
Figure 112018027610188-pat00024
는 표시 함수(indicator function)를 나타내는 것으로서, 사용자 정보 i가 상품 정보 j와 관련된 경우에는 1, 아닌 경우에는 0으로 설정될 수 있다. 그리고, λ는 정규화 계수(randomization coefficient)를 나타낼 수 있다.
위의 수학식 4는 위의 수학식 2와 같은 형태로 오토인코더(예컨대, I-AE, U-AE)를 통해 협력 필터링의 랭크 인수분해기법(rank factorization) 기반의 문제를 풀기 위해 이용될 수 있다.
위의 수학식 4에서, 도 1과 같이 3개의 은닉층(hidden layer, nL=3)를 가지는 I-AE의 경우, M i,j는 행렬 M은 0을 포함하도록 디폴트값(default)이 설정될 수 있다. 그리고, 도 1과 같이 입력층에 해당하는 행렬 mi는 행렬 M의 i번째 컬럼(column)에 해당하는 개체(entity)로 구성될 수 있으며, I-AE의 출력
Figure 112018027610188-pat00025
Figure 112018027610188-pat00026
로 표현될 수 있다. 여기서, W는 I-AE의 디코더의 가중치 행렬
Figure 112018027610188-pat00027
Figure 112018027610188-pat00028
을 포함하고,
Figure 112018027610188-pat00029
는 I-AE의 인코더의 출력을 나타내는 것으로서,
Figure 112018027610188-pat00030
로 표현될 수 있다. 여기서,
Figure 112018027610188-pat00031
는 시그모이드(sigmoid) 함수를 나타내고
Figure 112018027610188-pat00032
는 ReLU(Rectified Linear Unit) 함수를 나타낼 수 있다. W 1 , W 2 는 오토인코더의 인코더의 가중치 행렬을 나타낼 수 있다.
다시 도 4를 참고하면, 제1 오토인코더 또는 제2 오토인코더에서, 각 오토인코더의 인코더(410,430)와 디코더(420, 440) 간의 관계는 아래의 수학식 5와 같이 표현될 수 있다.
[수학식 5]
Figure 112018027610188-pat00033
수학식 5에서, Y는 오토인코더(즉, 오토 인코더의 디코더)의 출력 행렬로서, 출력층에 해당하는 추정된 행렬을 나타낼 수 있다. 예컨대,
Figure 112018027610188-pat00034
로 표현될 수 있다. W는 가중치 행렬을 나타내고, H는 오토인코더(즉, 오토인코더의 인코더)의 출력 행렬을 나타내는 것으로서,
Figure 112018027610188-pat00035
로 표현될 수 있다. 그리고, 수학식 5의 행렬들은 차원(rank) r을 가질 수 있다.
이러한 오토인코더의 경우, 오토인코더의 디코더가 오토인코더의 인코더의 최소제곱법(least square)에 의존하므로, 위의 수학식 2와 같이 최적의 U, V를 찾기 위해, 도 4와 같이 서로 다른 두개 의 멀티레이어 퍼셉트론(multilayer perceptron)이 이용될 수 있다.
일례로, 서로 다른 2개의 오토인코더(즉, 제1 오토인코더 및 제2 오토인코더)를 이용하여 각 오토인코더의 인코더의 출력 행렬 U, V를 추정할 수 있다. 즉, 상기 출력 행렬 U를 추정하기 위한 멀티레이어 퍼셉트론
Figure 112018027610188-pat00036
, 상기 출력 행렬 V를 추정하기 위한 멀티레이어 페셉트론
Figure 112018027610188-pat00037
이 이용될 수 있다. 여기서, 멀티레이어 퍼셉트론
Figure 112018027610188-pat00038
의 파라미터는
Figure 112018027610188-pat00039
,
Figure 112018027610188-pat00040
의 파라미터는
Figure 112018027610188-pat00041
이고, 각 퍼셉트론의 입력 x는 불완전 행렬(incomplete matrix)의 로우 벡터들(row vectors)과 컬럼 벡터들(column vectors)로 구성될 수 있다. 상기 퍼셉트론
Figure 112018027610188-pat00042
Figure 112018027610188-pat00043
를 이용하여 최소화할 최적화 문제는 아래의 수학식 6과 같이 표현될 수 있다.
[수학식 6]
Figure 112018027610188-pat00044
즉, 위의 수학식 6에 기초하여 제1 오토인코더의 인코더(410)의 출력 V, 제2 오토인코더의 인코더(430)의 출력 U이 추정되고, 추정된 출력 U와 V 각각과 가중치 행렬 W에 기초하여 최종적으로 제1 오토인코더가 현재 오토인코더로 설정된 경우에 추정하고자 하는 출력 행렬
Figure 112018027610188-pat00045
또는 제2 오토인코더가 현재 오토인코더로 설정된 경우의 출력 행렬
Figure 112018027610188-pat00046
이 생성될 수 있다. 수학식 4에서 설명한 바와 같이, 최적화 문제를 기반으로 상기 U와 V를 추정하기 위해 먼저 랭크 인수분해(rank factorization)가 수행되며, 랭크 인수분해
이때, 도 4와 같이 현재 오토인코더가 I-AE에서 U-AE 또는 U-AE에서 I-AE로 설정이 변경되는 동작은 아래의 표 2에 도시된 알고리즘에 기초하여 수행될 수 있다.
Figure 112018027610188-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 112018027610188-pat00048
)로 설정될 수 있다. 위의 표 2에서
Figure 112018027610188-pat00049
는 k번째 에폭(epoch)에서의 RMSE를 나타내고,
Figure 112018027610188-pat00050
는 k번째 에폭(epoch)에서의 임계값을 나타낼 수 있다. 여기서, 임계값
Figure 112018027610188-pat00051
Figure 112018027610188-pat00052
로 설정될 수 있다.위의 표 2에서는 I-AE에서 학습을 시작한 이후 U-AE에서 순차적으로 학습을 수행하는 것을 나타내고 있으나, 이는 실시예에 해당되며, U-AE에서 먼저 학습을 시작하고 순차적을 I-AE에서 학습이 수행될 수 있다. 그리고, 표 2의 단계(step) 3 내지 7에 따르면, 현재 오토인코더로 설정된 I-AE의 인코더의 출력
Figure 112018027610188-pat00053
는 업데이트될 수 있다. 예컨대, 상기 I-AE의 인코더의 출력
Figure 112018027610188-pat00054
Figure 112018027610188-pat00055
에서 I-AE의 디코더(420)의 가중치 W k 가 고정된(fixed) 동안 업데이트될 수 있다. 상기
Figure 112018027610188-pat00056
의 업데이트는 계산된 RMSE가
Figure 112018027610188-pat00057
를 만족할 때까지 반복될 수 있다.
표 2의 단계(step) 8에서, 임계값
Figure 112018027610188-pat00058
와 현재 오토인코더의 설정을 변경하는 변경 시간(alternation time)
Figure 112018027610188-pat00059
이 업데이트될 수 있다. 유사한 방법으로, 제2 오토인코더인 U-AE의 파라미터들은 표 2의 단계(step) 9 내지 14에서 업데이트될 수 있다. 그리고, RMSE 및 임계값을 기반으로 현재 오토인코더의 설정은 I-AE에서 U-AE, U-AE에서 I-AE로 변경하는 동작은
Figure 112018027610188-pat00060
될 때 까지 반복 수행될 수 있다.
k번째 에폭(epoch) 이후의 입출력 관계는, 도 4와 같이, I-AE의 경우,
Figure 112018027610188-pat00061
와 같이 표현되고, U-AE의 경우,
Figure 112018027610188-pat00062
와 같이 표현될 수 있다.
아래의 표 3은 일반적으로 널리 사용되는 Movielens dataset을 기반으로 I-AE 및 U-AE를 기반으로 순차적으로 학습하는 알고리즘(즉, 본원발명의 오토인코딩 시스템)의 성능을 나타낼 수 있다.
Figure 112018027610188-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가 이용될 수 있다.
위의 표 3에 따르면, 기반으로 I-AE 및 U-AE를 기반으로 순차적으로 학습하는 알고리즘(즉, 본원발명의 오토인코딩 시스템)이 RMSE가 가장 낮아 성능이 가장 우수함을 확인할 수 있다. 이처럼, 극도로 sparse한 특성, 즉, 전체 데이터 대비 미량의 데이터를 갖는 특성의 실제 데이터에서, 사용자 정보를 기반으로 하는 U-AE 또는 상품 정보를 기반으로 하는 I-AE 어느 하나만을 이용하여 오토인코딩을 수행하여 출력 행렬 Y를 추정할 때보다, RMSE 및 임계값에 기초하여 I-AE와 U-AE를 선택적으로 모두 이용하여 오토인코딩을 수행할 때 성능이 우수함을 확인할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (16)

  1. 제1 오토인코더, 결정부 및 제2 오토인코더를 포함하는 협력 필터링 기반의 오토인코딩 시스템에 의해 수행되는 협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 방법에 있어서,
    상기 제1 오토인코더에서, 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 단계;
    상기 결정부에서, 상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 단계; 및
    상기 제2 오토인코더에서, 다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행하는 단계
    를 포함하고,
    상기 결정부에서, 상기 오토인코딩을 수행할지 여부를 결정하는 단계는,
    학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하는 단계; 및
    계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정하는 단계
    를 포함하는 협력 필터링 기반의 오토인코딩 방법.
  2. 삭제
  3. 제1 오토인코더, 결정부 및 제2 오토인코더를 포함하는 협력 필터링 기반의 오토인코딩 시스템에 의해 수행되는 협력 필터링(collabrative filtering) 기반의 오토인코딩(autoencoding) 방법에 있어서,
    상기 제1 오토인코더에서, 미리 수집된 상품(item) 정보가 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)으로 설정된 행렬 M을 대상으로 제1 오토인코딩을 수행하는 단계;
    상기 결정부에서, 상기 제1 오토인코딩 후의 평균 제곱근 오차(root mean square error)와 미리 지정된 임계값에 기초하여 다른 오토인코더를 기반으로 오토인코딩을 수행할지 여부를 결정하는 단계; 및
    상기 제2 오토인코더에서, 다른 오토인코더에서 제2 오토인코딩을 수행하는 것으로 결정됨에 따라, 미리 수집된 사용자 정보가 컬럼(column)으로 설정된 상기 행렬 M의 전치 행렬(transpose matrix) MT을 기반으로 제2 오토인코딩을 수행하는 단계
    를 포함하고,
    상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정되는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 방법.
  4. 제1항 또는 제3항 중 어느 한 항에 있어서,
    상기 제1 오토인코더에서, 상기 제1 오토인코딩을 수행하는 단계는,
    상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트하는 단계
    를 포함하는 협력 필터링 기반의 오토인코딩 방법.
  5. 제1항 또는 제3항 중 어느 한 항에 있어서,
    상기 제1 오토인코더에서, 상기 제1 오토인코딩을 수행하는 단계는,
    상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하는 단계; 및
    제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정하는 단계
    를 포함하는 협력 필터링 기반의 오토인코딩 방법.
  6. 제5항에 있어서,
    상기 제1 오토인코더에서, 상기 제1 오토인코딩을 수행하는 단계는,
    추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하는 단계; 및
    추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
    Figure 112020007362251-pat00064
    을 추정하는 단계
    를 더 포함하는 협력 필터링 기반의 오토인코딩 방법.
  7. 제1항 또는 제3항 중 어느 한 항에 있어서,
    상기 제2 오토인코더에서, 상기 제2 오토인코딩을 수행하는 단계는,
    상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하는 단계; 및
    제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정하는 단계
    를 포함하는 협력 필터링 기반의 오토인코딩 방법.
  8. 제7항에 있어서,
    상기 제2 오토인코더에서, 상기 제2 오토인코딩을 수행하는 단계는,
    추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하는 단계; 및
    추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
    Figure 112020007362251-pat00065
    을 추정하는 단계
    를 더 포함하는 협력 필터링 기반의 오토인코딩 방법.
  9. 협력 필터링(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 오토인코더
    를 포함하고,
    상기 결정부는,
    학습이 수행되는 에폭(epoch)마다 현재 오토인코더의 평균 제곱근 오차를 계산하고, 계산된 상기 평균 제곱근 오차가 상기 임계값보다 작으면 상기 현재 오토인코더를 상기 다른 오토인코더로 변경하는 것으로 결정하는
    협력 필터링 기반의 오토인코딩 시스템.
  10. 삭제
  11. 협력 필터링(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 오토인코더
    를 포함하고,
    상기 다른 오토인코더에서 오토인코딩을 수행하는 것으로 결정될 때마다, 현재 오토 인코더의 인코더 출력이 다른 오토인코더의 디코더의 가중치 행렬로 설정되는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
  12. 제9항 또는 제11항 중 어느 한 항에 있어서,
    상기 제1 오토인코더는,
    상기 제1 오토인코딩에 해당하는 제1 오토인코더의 디코더의 가중치를 고정시킨 상태에서, 오차역전파법(back propagation)에 기초하여 상기 제1 오토인코더의 인코더의 출력을 업데이트하는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
  13. 제9항 또는 제11항 중 어느 한 항에 있어서,
    상기 제1 오토인코더는,
    상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 컬럼(column)을 상기 상품(item) 정보를 기반으로 설정하고, 제1 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V의 전치행렬 VT를 추정하는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
  14. 제13항에 있어서,
    상기 제1 오토인코더는,
    추정된 상기 전치행렬 VT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U를 추정하고, 추정된 상기 행렬 U 및 상기 전치행렬 VT에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
    Figure 112018027610188-pat00066
    을 추정하는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
  15. 제9항 또는 제11항 중 어느 한 항에 있어서,
    상기 제2 오토인코더는,
    상기 사용자 정보를 상기 심층신경망(Deep Neural Network)의 입력층에 해당하는 행렬 M의 전치행렬 MT의 컬럼(column)으로 설정하고, 제2 오토인코더(autoencoder)의 인코더(encoder)에서, 상기 행렬 M을 대상으로 인코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 U의 전치행렬 UT를 추정하는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
  16. 제15항에 있어서,
    상기 제2 오토인코더는,
    추정된 상기 전치행렬 UT를 기반으로 디코딩을 수행하여 행렬인수분해기법(matrix factorization)의 행렬 V를 추정하고, 추정된 상기 전치 행렬 UT 및 상기 행렬 V에 기초하여 상기 심층신경망(Deep Neural Network)의 출력층에 해당하는 행렬
    Figure 112018027610188-pat00067
    을 추정하는 것
    을 특징으로 하는 협력 필터링 기반의 오토인코딩 시스템.
KR1020180031871A 2017-10-27 2018-03-20 추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템 KR102111843B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170140871 2017-10-27
KR20170140871 2017-10-27

Publications (2)

Publication Number Publication Date
KR20190047576A KR20190047576A (ko) 2019-05-08
KR102111843B1 true KR102111843B1 (ko) 2020-05-15

Family

ID=66580099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180031871A KR102111843B1 (ko) 2017-10-27 2018-03-20 추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템

Country Status (1)

Country Link
KR (1) KR102111843B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021029922A (ja) * 2019-08-29 2021-03-01 日本光電工業株式会社 被検者判別装置、被検者判別方法、コンピュータプログラム、および非一時的コンピュータ可読媒体
KR102280190B1 (ko) * 2020-05-14 2021-07-21 포항공과대학교 산학협력단 딥러닝을 이용한 레이다 기반의 인원 계수 장치 및 그 방법
KR20220046324A (ko) 2020-10-07 2022-04-14 삼성전자주식회사 인공 신경망을 이용한 추론을 위한 트레이닝 방법, 인공 신경망을 이용한 추론 방법, 및 추론 장치
CN114996588B (zh) * 2022-08-01 2022-10-21 平安科技(深圳)有限公司 基于双塔模型的产品推荐方法、装置、设备及存储介质

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 (2)

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

Also Published As

Publication number Publication date
KR20190047576A (ko) 2019-05-08

Similar Documents

Publication Publication Date Title
KR102111843B1 (ko) 추천시스템을 위한 선택적 오토인코딩 방법 및 오토인코딩 시스템
CN111144483B (zh) 一种图像特征点过滤方法以及终端
CN110619082B (zh) 一种基于重复搜索机制的项目推荐方法
CN112100504B (zh) 内容推荐方法、装置、电子设备及存储介质
CN114637911B (zh) 一种注意力融合感知网络的下一个兴趣点推荐方法
CN112364242B (zh) 针对上下文感知型的图卷积推荐系统
CN112948625B (zh) 一种基于属性异质信息网络嵌入的电影推荐方法
CN107644047B (zh) 标签预测生成方法及装置
CN105718566A (zh) 一种智能音乐推荐系统
CN110322067A (zh) 基于因子图模型的移动用户位置预测方法
CN115471271A (zh) 广告的归因方法、装置、计算机设备及可读存储介质
KR102280301B1 (ko) 명시적 및 내연적 평가 정보를 이용한 아이템 추천 방법 및 장치
Yap et al. A computational reinforced learning scheme to blind image deconvolution
CN115730143A (zh) 基于任务对齐元学习和增广图的推荐系统、方法、终端及介质
Bouneffouf Finite-time analysis of the multi-armed bandit problem with known trend
KR101617074B1 (ko) 스마트 워터 그리드에서의 수자원 분배를 위한 컨텍스트 인지 추천방법 및 장치
CN114564516A (zh) 一种业务对象的分类方法、装置、设备及存储介质
Lin et al. Category-based dynamic recommendations adaptive to user interest drifts
KR100926876B1 (ko) 랭크 발생 확률을 이용한 랭크 학습 모델 생성 방법 및랭크 학습 모델 생성 시스템
Abbas et al. An adaptive evolutionary algorithm for Volterra system identification
CN110968794B (zh) 一种基于二元信息网络的多视角注意力推荐方法
JP2017211783A (ja) 推定装置、予測装置、方法、及びプログラム
KR102266853B1 (ko) 다중 유형 페어와이즈 기반 아이템 추천 방법 및 장치
Yang et al. A new algorithm for multi-mode recommendations in social tagging systems
KR20230148523A (ko) 모달리티의 고유 특성을 보존하는 멀티미디어 추천 방법 및 시스템

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