ISSN 2383-630X(Print) / ISSN 2383-6296(Online) Journal of KIISE, Vol. 45, No. 7, pp. 659-666, 2018. 7 https://doi.org/10.5626/jok.2018.45.7.659 임베딩을활용한순환신경망기반추천모델의성능향상기법 (Improving Recurrent Neural Network based Recommendations by Utilizing Embedding Matrix) 권명하 공성언 최용석 (Myung Ha Kwon) (Sung Eon Kong) (Yong Suk Choi) 요약최근순환신경망을추천시스템에적용하는연구들이진행되고있다. 순환신경망은평점이주저지지않은환경에서한세션상의단기기록만으로컨텐츠를추천하는세션기반추천과여러번의접속을통해축적된장기영화시청기록을분석하여영화를추천하는시스템에적용되어기존의추천기법들보다더좋은성능을보여주었다. 본논문에서는순환신경망기반영화추천모델을개선하기위하여가중치결합기법을활용한순환신경망기반추천모델의학습을제안한다. 또한보다정확한성능평가를위하여점진적추천수행을통해성능을평가한다. 키워드 : 추천시스템, 딥러닝, 순환신경망, LSTM, 가중치결함 Abstract Recurrent neural networks(rnns) have recently been successfully applied to recommendation tasks. RNNs were adopted by session-based recommendation, which recommends items by the records only within a session, and a movie recommendation that recommends movies to the users by analyzing the consumption records collected through multiple accesses to the websites. The new approaches showed improvements over traditional approaches for both tasks where only implicit feedback such as clicks or purchase records are available. In this work, we propose the application of weight-tying to improve the existing movie recommendation model based on RNNs. We also perform experiments with an incremental recommendation method to more precisely evaluate the performance of recommendation models. Keywords: recommendation system, deep learning, recurrent neural networks, LSTM, weight tying 본연구는 2017년도교육과학기술부의재원 (No.NRF-2015R1D1A1A01060950) 논문접수 : 2017년 11월 8일 으로한국연구재단의지원과 2018년도산업통상자원부의재원으로기술혁신사업 (Received 8 November 2017) (No. 10060086, No. 10077553) 의지원을받아수행한연구입니다. 논문수정 : 2018년 3월 19일 비회원 : 한양대학교컴퓨터소프트웨어학과 (Revised 19 March 2018) kwonmha@gmail.com 심사완료 : 2018년 5월 11일 2ndggong@hanyang.ac.kr 종신회원 : 한양대학교컴퓨터공학과교수 (Hanyang Univ.) cys@hanyang.ac.kr (Corresponding author 임 ) (Accepted 11 May 2018) CopyrightC2018 한국정보과학회ː 개인목적이나교육목적인경우, 이저작물의전체또는일부에대한복사본혹은디지털사본의제작을허가합니다. 이때, 사본은상업적수단으로사용할수없으며첫페이지에본문구와출처를반드시 명시해야합니다. 이외의목적으로복제, 배포, 출판, 전송등모든유형의사용행위 를하는경우에대하여는사전에허가를얻고비용을지불해야합니다. 정보과학회논문지제45권제7호 (2018. 7)
660 정보과학회논문지제 45 권제 7 호 (2018. 7) 1. 서론컨텐츠의양이기하급수적으로늘어나면서많은컨텐츠가운데사용자가소비할가능성이높은컨텐츠들을추천해주는기법들이활발하게연구되고있다. 그중최근접이웃 (k-nearest neighbors) 기법이나행렬분해 (Matrix Factorization) 기법이추천에널리쓰이고있다 [1,2]. 소비한컨텐츠의평점정보를이용하여소비하지않았던컨텐츠의평점을예측하여추천하는기법이많이연구되었지만사용자들은소비한모든컨텐츠에평점을매기지않는다. 그래서평점정보를활용하지않고, 컨텐츠의소비또는클릭여부만을활용하여추천하는방법들도연구되고있다 [3-5]. 최근딥러닝기술이발전하면서이를활용하여이미지처리나자연어처리등다양한분야에서성과를거두고있다 [6,7]. 뿐만아니라추천시스템에도딥러닝을적용하려는다양한시도들이있었다 [8-10]. 딥러닝이적용된추천모델들은컨텐츠의소비또는클릭여부만을활용한실험에서기존의모델들보다좋은성능을보였다. 그중에서도 [8] 은사용자의영화시청기록을시계열데이터로간주하고, 대표적인순환신경망인 LSTM[11] 을활용하여영화를추천하는모델을제안하였다. 본논문에서는가중치결합 (Weight tying) 기법 [12] 을순환신경망기반추천모델에적용하여추천모델의성능을개선하는방법을제안한다. 가중치결합기법을적용하여영화에대한더정확한 embedding 벡터를얻고, embedding 벡터를이용하여아이템간의유사도를계산한후, 순환신경망추천모델의학습에활용하였다. 실험을통하여가중치결합기법을적용하였을때, 기존의순환신경망추천모델의성능이개선됨을확인하였다. 기존순환신경망기반추천모델에서는한사용자의일정기간의영화시청기록을모델에입력하여추천된영화를이후남은기간의영화시청기록을기준으로평가하였다. 이러한실험에서는특정시점에서한번만추천모델의성능을평가하기때문에선택한시점의변화에따라추천모델의성능이다르게평가될수있다. 본논문에서는순환신경망기반추천모델의성능을더정확하게평가하기위하여, 한사용자의데이터내에서입력데이터의수를증가시켜가며여러번영화를추천하는방식의성능평가를진행하였다. 본논문의구성은다음과같다. 2장에서는관련연구들을소개하고, 3장에서는임베딩을활용하여순환신경망기반추천모델의성능을향상시키는방법을설명한다. 4장에서는실험결과를설명하고, 5장에서결론을제시한다. 2. 관련연구평점정보가없다는가정하에서제시된행렬분해기반추천기법으로 Rendle et al. 의 BPR-MF[3] 가있다. 이들은자신들이제안한 BPR(Bayesian Personalized Ranking) 함수를목적함수로하여사용자와아이템의정보를나타내는행렬을학습시켰다. 이들은이후에 BPR 함수를이용하여마르코프사슬 (Markov chain) 과행렬을동시에학습하는 FPMC를제안하였다 [4]. He et al. 은 FPMC에서분해하는사용자-컨텐츠행렬대신컨텐츠-컨텐츠행렬을분해하여컨텐츠간의유사도를나타내도록 FPMC를개선하였다 [5]. Salakhutdinov et al. 은 Restricted Boltzmann Machine 을추천시스템에적용하였다 [9]. 이연구는딥러닝을추천시스템에적용한최초의시도들중하나이다. 최근에는 Hidasi et al. 이 GRU[13] 를이용하여인터넷사이트상의한세션내에서사용자가클릭한컨텐츠들을통해새로운컨텐츠를추천하는모델을제안하였다 [10]. 모델을학습시킬때 BPR과이를변형시킨 TOP1 함수를손실함수로이용하였으며기존추천모델들에비해높은성능을보여주었다. Tan et al. 은학습데이터를가공하고훈련방식을변화시켜 [10] 에서제시한모델의성능을향상시켰다 [14]. Devooght et al. 은 LSTM을활용하여기존의추천모델보다성능을개선한영화추천모델을제시하였다 [8]. Inan et al. 은타겟단어가될가능성이있는다른단어들에대한정보를확률분포형태로표현하는타겟벡터를사용하여언어모델링의성능을향상시키는기법을제안하였다 [12]. 또한 embedding matrix와 projection matrix를결합하여언어모델링의성능을개선하였으며, [15] 에서도두행렬을결합하면언어모델링과기계번역에서좋은성능을낸다는것을입증하였다. 본논문에서는위의두가지시도를제시하는가중치결합기법을기존순환신경망기반추천모델에적용하여추천성능을개선하고자한다. Devooght et al. 은 [8] 에서대표적인순환신경망중하나인 LSTM을이용하여다음에볼영화를예측한다. 이들은각시간스텝에따라사용자가본순서대로영화들을 one-hot encoding 벡터형태로만들어 LSTM 의입력으로사용한다. One-hot encoding 벡터의차원의크기는데이터셋의총영화의수이며, 영화 ID에해당하는차원값만 1의값을가지고다른차원값들은모두 0의값을가진다. 예를들어, ID가 2인영화를 one-hot encoding 형태로표현하면 2차원값만 1이고다른차원들의값은모두 0인형태가된다. LSTM의마지막출력값만 projection matrix를통해 output
임베딩을활용한순환신경망기반추천모델의성능향상기법 661 그림 1 순환신경망모델 Fig. 1 Recurrent Network Model layer의입력으로사용하며, output layer의출력값에 softmax 함수를적용하여, 최종적으로확률분포형태의출력벡터를계산한다. 순환신경망의구조는그림 1 과같다. 위의 LSTM 기반의추천모델을이용하여시점 0에서부터 t까지본영화를통해 t+1 시점의영화를예측한다면, LSTM의출력 y 를입력 x와은닉상태 h를이용하여아래의식 (1), (2) 로표현할수있다. (1) (2) P는 P R ( Movie dh) 형태인 projection matrix이며, Movie 는데이터셋의영화의개수이고, d h 는은닉뉴런 (Hidden neuron) 의개수이다. f(x t, h t-1) 는입력과이전은닉상태를이용하여다음은닉상태를만들어내는 LSTM 유닛을나타낸다. b는바이어스를의미한다. 모델을학습시키기위해쓰이는손실 (Loss) 값은신경망의출력 y t 와다음에실제로본영화에대한 one-hot encoding 벡터 y t+1 를이용하여계산한다. 손실함수 (Loss function) 로는식 (3) 과같이교차엔트로피 함수 (Cross-entropy function) 를사용한다. y t,i, y t+1,i 는 각각 y t 와 y t+1 의 i 차원의값을의미한다. log (3) 위와같은방식으로학습된모델을이용하여영화를추천할때에는, 우선테스트데이터에있는각사용자의영화평점기록을시간에따라정렬한다. 이후반으로나눈전반부를신경망의입력으로사용하여, 학습된모델을통해가장큰출력값을가지는영화 10개를추천한다. 3. 순환신경망기반영화추천모델의개선 3.1 유사도기반타겟벡터를활용한학습타겟벡터로 one-hot encoding 벡터를사용하면다음에본영화에대해서만학습할수있고, 그영화와비슷한장르의다른후보영화들에대해서는학습할수없다. 만약그림 2와같이장르가유사한다른영화들중선택되지않은영화들에대한정보를타겟벡터에반영할수있다면, 추천모델이사용자의장르취향에대하여학습하도록할수있을것이다. 비슷한장르의영화들에대한정보를반영한타겟벡터를생성하기위하여, 먼저영화에대한 embedding matrix를이용할수있다. 이를위하여먼저기존의순환신경망기반추천모델에 embedding layer를그림 3과같이추가한다. Input layer와 embedding layer를연결하는 embedding matrix를 E라하면, 은닉상태 h를식 (4) 와같이표현할수있다. Embedding layer를통해실제 LSTM layer에들어가는입력값은해당영화의 embedding 벡터 Ex t 이다. LSTM layer의출력은기존의방식과동일하게구한다. 그림 2 유사도기반타겟벡터를활용한학습 Fig. 2 Training with the similarity-based target vector
662 정보과학회논문지제 45 권제 7 호 (2018. 7) (4) (5) 이때, E 는 E R (de Movie ) 의형태를가지며, d e 는 embedding 벡터차원의크기이다. 그리고아래의연산과정을통해영화간의유사도에기반한타겟벡터 y 를얻는다. (6) 여기서 y t+1 은 one-hot encoding 형태의타겟영화벡터이다. Ey t+1 을계산하여타겟영화벡터에대한 embedding 벡터를얻을수있다. 그리고다시 E T 와스칼라곱을계산하여타겟영화와다른영화들간의유사도를반영한벡터를구한다. E T 의 i번째행은영화 i의 embedding 벡터이다. 따라서 E T 의각행과 Ey t+1 를곱하여나온벡터를 V라하면, V의 i번째차원의값인 V i 는영화 i의 embedding 벡터와타겟영화벡터에대한 embedding 벡터의내적으로계산된유사도를의미한다. 따라서 V의차원의크기는 one-hot encoding 형태의벡터와동일하게 Movie 이다. 이후, softmax 함수를통하여최종적으로 y 는이러한유사도가반영된벡터가된다. Temperature 파라미터 τ는타겟벡터요소간의차이가지나치게커지지않도록균등화시켜주는역할을한다. Embedding matrix는신경망의학습이진행됨에따라값이변하게되며, 학습초기단계에서는 embedding matrix를통해얻는타겟벡터가크게의미가없을수도있다. 하지만학습이충분히진행됨에따라 embedding matrix를이용해보다정확한유사도정보를담고있는타겟벡터를얻을수있다 [12]. 유사도기반의타겟벡터를이용하여모델을학습시키기위해서는손실함수 (Loss function) 로보통많이쓰이는교차엔트로피함수 (Cross-entropy function) 대신에 Kullback-Leibler divergence(kl divergence)[16] 함수를활용한다. KL divergence 함수를수식으로나타내면아래의식 (7) 과같다. log (7) [12] 에서는 KL divergence 함수가대칭성을만족하지않아완벽한거리함수가될수없지만, 두확률분포간의거리를계산하기위하여사용되므로 KL divergence 함수를손실함수로활용하였다. 최종적으로손실값을계산하는함수는아래와같다. (8) α는 [12] 를참조하여 γ*τ로설정하였으며, γ는데이터의크기에따라커진다. [12] 에서는식 (8) 의계산에 그림 3 Embedding layer 를추가한추천모델구조 Fig. 3 A model architecture where an embedding layer is added 필요한인자중 y ṫ 를계산할때, 아래의식 (9) 을사용하였으나, 본연구의실험에서는 y t 를계산할때처럼식 (5) 을사용하여 y ṫ 을계산하였고, 더좋은결과를얻었다. (9) 3.2 Embedding matrix 와 projection matrix 의가중치결함 [12] 에서는위와같은손실함수를분석하여 embedding 벡터의차원과은닉상태벡터의차원을같게설정하면, embedding matrix와 projection matrix를하나의 matrix 로결합하여성능을높이고학습에필요한파라미터의개수를줄일수있다는것을밝혔다. 이기법을 3.1에서제시하는모델에적용하여 embedding 벡터의차원과은닉상태 h 벡터의차원을동일하게설정하고, embedding matrix와 projection matrix를하나의 matrix로결합하였다. 결합된신경망의구조는그림 4와같다. 두 matrix에공통으로쓰이는 matrix를 M이라표기하면 embedding matrix E와 projection matrix P 대신 M을이용하여신경망의출력과타겟벡터를아래와같이얻을수있다. (10) (11) (12) 두 matrix의역할을동시에수행하는 matrix M은학습과정에서각각의 matrix의변화량을합한만큼변화시킨다. 학습과정은기본적인 BPTT(Backpropagation through time) 알고리즘을사용한다. M에대한학습과정을수식으로표현하면아래와같으며, r은학습률 (learning rate) 을의미한다.
임베딩을활용한순환신경망기반추천모델의성능향상기법 663 이많아진다. (17) 그림 4 Embedding 벡터와은닉상태벡터의크기를동일하게설정한모델구조 Fig. 4 A model architecture where the size of the embedding vector and that of hidden state vector are equally set 그러므로두 matrix를결합하는가중치결합기법을통하여, 어떤영화가입력으로자주사용되지않을때에도해당영화의 embedding 벡터를학습시킬수있다. Ai를행렬 A의 i번째열이라고한다면, Mi는영화 i에대한 embedding 벡터를의미한다. 영화 i가입력으로사용되지않았으면 M i 는 0이지만, i번째출력뉴런에서기울기값이생겼다면 M T i 는 0이아니다. 이때문에식 (15) 에의해영화 i의 embedding 벡터인 M i 의값이변화하게된다. 이러한방식으로가중치결합기법을사용하면영화 i가입력으로사용되지않은경우에도 M i 의지속적인학습이가능해진다. 그결과, 각영화에대해더욱신뢰할만한 embedding 벡터를얻을수있다. (13) 4. 실험 (14) (15) 위학습과정에서 M과 M T 는각각 embedding matrix E와 projection matrix P의역할을한다. 따라서 BPTT 과정을통하여 M 과 M T 은, E와 P를계산하는방식과동일하게각각독립적으로계산된다. 최종적으로 M 과 M T 을하나의변화량으로합하여 M을학습시킨다. 영화의 embedding 벡터는그영화가입력으로사용될때만학습된다. Embedding matrix의가중치값들은연쇄법칙 (Chain rule) 에의해입력값에비례하여변화한다. (16) 그런데입력벡터가 one-hot encoding 형태인경우, 입력뉴런의위치와동일한 ID를가지는영화의벡터가입력으로사용되지않으면그뉴런의입력값은 0이되며, 해당뉴런과연결된가중치값들은학습되지않는다. 따라서어떤영화가입력으로자주사용되지않으면그영화의 embedding 벡터가학습되는횟수가적어정확하게학습되지않을수있다. 하지만 projection matrix의 gradient는은닉상태벡터 h에비례하고 h가 0인경우는거의없다. 그렇기때문에 projection matrix는신경망의입력값과관계없이출력 layer에서기울기값이 0이아닌뉴런들과연결된가중치값들이학습된다. 따라서손실값이 0이아닌뉴런들의수가많아질수록학습되는가중치값들 4.1 실험환경실험을위해 Movielens 1M(Movielens) 과 RecSys 14 Challenge(RSC14) 데이터셋을사용하였다. 두데이터셋에대한정보는표 1과같다. Movielens 데이터셋은밀집도가약 4.46% 이고, RSC14 데이터셋은 0.056% 이다. 밀집도가매우큰데이터셋과매우작은데이터셋을선택하여데이터의밀집도가변하여도본논문에서제시한기법이성능을향상시키는데효과적인지검증하였다. Dataset 표 1 데이터셋정보 Table 1 Dataset descriptions The number of users The number of movies The number of ratings Movielens 6,040 3,706 1,000,209 RSC14 24,924 15,142 212,857 데이터셋의평점기록들을시간순서대로정렬한후, 각추천모델을적용하여실험하였다. 하지만사용자의영화시청여부만을활용하였으며, 실제평점이몇점인지는실험과정에서사용하지않았다. [8] 에서와같은방식으로데이터셋을훈련용셋, 검증용셋, 테스트셋으로나누었다. 두데이터셋에서각각 500, 2000명의사용자들을무작위로선택하여, 이들이시청한모든영화기록을검증용셋으로나누었다. 그리고남은데이터중각각 500, 2000명을무작위로선택하여이들이시청한모든영화기록을테스트셋으로사용하였으며, 나머지사용자들의모든영화시청기록을훈련용셋으로사용하였다.
664 정보과학회논문지제 45 권제 7 호 (2018. 7) 계산속도를높이기위해 GPGPU로 NVIDIA GTX 1060을사용하였고, 모델의구현을위해 Python 2.7 언어와 Theano 라이브러리를사용하였다. 4.2 실험방법본논문에서제시한모델의성능을평가하기위하여아래와같은모델들과성능을비교하였다. 사용자기반 k-nearest neighbors(uknn) : 추천의대상이되는사용자와가장비슷한취향을갖는사용자 k명을코사인유사도에근거하여찾는다. 그후, 각영화별로그영화를본사용자와의유사도를합하여가장큰값을갖는영화를추천한다. BPR-MF[3] : 사용자가본영화와보지않은영화의평점차이를최대화하도록하는 BPR 함수를이용해행렬을분해한다. 분해된행렬은사용자와아이템을나타내도록학습된다. FPMC[4] : 이전에본영화가주어졌을때다음에볼영화의확률을모델링한마르코프사슬 (markov chain) 과사용자와아이템을나타내는분해된행렬을동시에학습한다. 이때학습을위해 BPR 함수 [3] 를변형하여사용한다. Fossil[5] : FPMC 모델에서마르코프사슬과같이분해되는행렬이아이템과아이템간의유사도를나타내도록학습한다. LSTM_baseline : 순환신경망중 LSTM을이용하여다음에볼영화를학습한다 [8]. LSTM_WT(Weight tying) : LSTM_baseline 모델을개선하기위하여본논문에서제안하는기법을적용한모델이다. LSTM을적용한모델들은한층의은닉층 (Hidden layer) 만사용하였다. 미니배치크기 (mini-batch) 는 16 으로설정하였다. 학습을위하여기본적인 BPTT 알고리즘을활용하였다. 초기학습률은 0.1로설정하고학습률은 Agagrad[17] 최적화기법에따라변화하도록설정하였다. Temperature 파라미터 τ는 10, γ는 0.5로설정하였다. 각모델들을사용하여실험했을때사용한파라미터들은표 2와같다. 각파라미터의값들은 Movielens와 RSC14 데이터셋을사용했을때가장좋은결과를보인값들이다. UKNN 모델은학습이필요없는추천모델이기때문에테스트셋만을사용하여실험하였다. 그리고 BPR-MF, FPMC, Fossil 모델들은사용자정보에대한학습을위하여, 학습과정에서테스트셋에있는유저데이터의반을사용하였다. LSTM의입력데이터를생성하는방법은 [8] 와동일하다. 기본적으로한사용자의영화시청기록으로미니 표 2 실험에적용된파라미터값들 Table 2 Parameters values used in the experiments Dataset Models Description Movielens RSC14 UKNN 80 200 Neighbors BPR-MF 200 200 FPMC Factorization 100 200 Fossil dimensions 100 100 LSTM_baseline 100 300 Hidden units LSTM_WT 100 300 배치크기인 16개의훈련데이터를생성하였으며, 만약사용자가영화를적게봐서 16개의데이터를생성하지못하였다면다음사용자의기록에서남은만큼의입력데이터를생성하였다. 이러한방식으로모든사용자의데이터를순회하며순환신경망모델의학습에필요한입력데이터를만들었다. 영화시청기록중어느시점까지의기록을하나의입력데이터로사용할지는무작위로정하였다. 예를들어, 시점으로 5가나왔다면 t=0 4일때까지본영화들이입력으로사용되었고, t=5일때본영화가타겟으로설정되었다. 이러한방식으로미니배치사이즈인 16개의시점을선택하여데이터를생성하였다. 만약 30 이상인시점이선택되었다면가장최근에본 30개의영화에대한기록으로데이터를생성하였다. 예를들어, 무작위로나온값이 50이라면, t=20 49까지의기록을입력으로사용하고 t=50일때본영화를타겟으로설정하였다. 성능비교실험은두가지방식으로진행하였다. 첫번째방식은 [8] 에서제시한기존방법과동일하게테스트셋에있는사용자의영화시청데이터중반으로나눈전반부를입력으로사용하여영화를추천하는방식이다. 그리고나머지반을기준으로추천결과를평가하였다. 따라서한사용자의데이터에대하여한번의추천과이에대한평가가이루어진다. LSTM을사용한추천모델은입력데이터에따라추천하는영화가변한다. 그렇기때문에위와같은평가방식을따를때, 영화를추천하는시점을사용자의영화시청데이터중 1/4를입력한시점또는 2/5를입력한시점과같이다르게설정하여입력데이터가생성된다면모델의성능이다르게평가될수있다는문제점이있다. 이문제를완화하고자새로운방식으로도추천결과를평가하였다. 새로운평가방식을적용하였을때는사용자의영화시청기록중어떤시점 t일때까지의영화시청기록인 [x 0, x 1, x t] 를입력으로사용하였고, 그이후의모든기록인 [x t+1, x t+2, x n] 을기준으로추천결과를평가
임베딩을활용한순환신경망기반추천모델의성능향상기법 665 하였다. 그리고 t를 1부터사용자가본영화의개수인 n 까지증가시켜가며, 한사용자의평점데이터에대해총 n-1번의영화를추천하여점진적성능을평가하였다. 점진적평가방법은순환신경망기반추천모델의성능을더정확하게평가하기위하여제시하는방법이기때문에 LSTM_baseline과본논문에서제시하는 LSTM_ WT 모델만을사용하여실험을진행하였다. 평가지표는아래의두가지지표를사용하였다. Sps. Sps는 Short-term Prediction Success를의미한다. 만약추천된영화중 x t+1 이있으면 1, 없으면 0으로값을정한다. 그리고추천할때마다결과값을더한후추천한횟수로나누어평균을계산한다. Recall. Recall은 [x t+1, x t+2, x n] 중추천된영화가얼마나있는지를나타내는비율이다. 이비율의합을추천횟수로나누어평균을계산한다. 추천하는영화의개수는 10으로설정하였으며, 10개의추천결과를가지고지표를평가한다는것을 Sps@10, Recall@10과같이지표뒤에 @10을붙여표기하였다. 훈련과정에서검증용셋을이용하여위의평가지표중 sps가가장높게나온모델을선택하여실제성능평가실험을진행하였다. 4.3 실험결과및분석실험의결과는표 3과표 4에정리되어있다. 표 3은기존성능평가방법으로실험한결과이고, 표 4는점진적성능평가방법으로실험한결과이다. Movielens 데이터셋에대한실험에서 LSTM_baseline 모델은기존의최근접이웃, 행렬분해기법들과비교했을때, 더좋은결과를보였다. LSTM_baseline 모델은 Movielens 데이터셋과같이데이터셋의밀집도가비교적높은추천데이터셋에서다른모델들보다평가지표가높았다. 하지만밀집도가매우낮은 RSC14 데이터셋에서 LSTM_baseline 모델은기존의모델들보다낮은성능을보였다. 본논문에서제안한 LSTM_WT 모델은두데이터셋에서모두 LSTM_baseline 모델의성능을향상시켰다. 뿐만아니라, RSC14 데이터셋에서는 LSTM_baseline 보다우위에있었던다른모델들보다도더좋은결과를보여주었다. 이를통하여본논문에서제시한모델이기존 LSTM 기반추천모델의성능을유의미하게향상시킬수있음을확인하였다. 이결과는표 4에정리된점진적성능평가실험결과를통해서도확인할수있다. 그밖의파라미터들과모델의성능과의상관관계를알아보기위하여 temperature 파라미터 τ와파라미터 α 를변화시켜가며실험을진행해보았지만, 두파라미터들은추천모델의성능에큰영향을미치지는않았음을확인하였다. 표 3 기존성능평가방법실험결과 Table 3 Experimental results with an existing performance evaluation method Dataset Models SPS@10(%) Recall@10(%) Movielens RSC14 UKNN 14.40 6.31 BPR-MF 12.44 5.58 FPMC 28.10 5.70 Fossil 22.46 6.32 LSTM_baseline 36 7.13 LSTM_WT 36.8 8.23 UKNN 15.3 14.10 BPR-MF 13.24 13.45 FPMC 13.92 13.78 Fossil 15.39 14.56 LSTM_baseline 14.87 14.55 LSTM_WT 16.85 15.26 표 4 점진적성능평가방법실험결과 Table 4 Experimental results with an incremental performance evaluation method Dataset Models SPS@10(%) Recall@10(%) Movielens RSC14 5. 결론 LSTM_baseline 27.94 14.46 LSTM_WT 29.41 15.44 LSTM_baseline 12.55 6.27 LSTM_WT 13.48 6.74 본논문에서는가중치결합기법을활용하여순환신경망기반의영화추천모델을개선시키는방법을제시하였다. 영화의 embedding 벡터를통하여유사도를반영한형태의새로운타겟벡터를계산하여신경망을학습시켰다. 또한, KL divergence 함수를손실함수의계산에활용하였으며, embedding matrix와 projection matrix를결합하는가중치결합기법을적용하였다. 실험결과, 본논문에서제시한모델은 sps와 recall의측면에서기존모델보다향상된성능을보였다. 추후연구를통해영화에대한 embedding 방식을보다정교하게개선한다면추천성능의향상에도움이될것으로기대한다. References [1] Y. Koren, R. Bell, and C. Volinsky, "Matrix factorization techniques for recommender systems," IEEE Computer, Vol. 42, No. 8, pp. 30-37, 2009. [2] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, "Item-based collaborative filtering recommendation algorithms," Proc. of the 10th International Conference on World Wide Web, pp. 285-295, 2001. [3] S. Rendle, C. Freudenthaler, Z. Gantner, and L.
666 정보과학회논문지제 45 권제 7 호 (2018. 7) Schmidt-Thieme, "BPR: Bayesian personalized ranking from implicit feedback," Proc. of the 25th Conference on Uncertainty in Artificial Intelligence, pp. 452-461, 2009. [4] S. Rendle, C. Freudenthaler, and L. Schmidt-Thieme, "Factorizing personalized markov chains for nextbasket recommendation," Proc. of the 19th International Conference on World Wide Web, pp. 811-820, 2010. [5] R. He and J. McAuley, "Fusing similarity models with markov chains for sparse sequential recommendation," Proc. of International Conference of Data Mining, pp. 191-200, 2016. [6] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. Berg, C. A., and L. Fei-Fei, "Imagenet large scale visual recognition challenge," International Journal of Computer Vision, Vol. 115, No. 3, pp. 211-252, 2014. [7] I. Sutskever, O. Vinyals, and V. Le. Q., "Sequence to sequence learning with neural networks," Advances in Neural Information Processing Systems, pp. 3104-3112, 2014. [8] R. Devooght, and H. Bersini, "Collaborative filtering with recurrent neural networks," arxiv preprint arxiv:1608.07400, 2016. [9] R. Salakhutdinov, A. Mnih, and G. Hinton, "Restricted Boltzmann machines for collaborative filtering," Proc. of the 24th International Conference on Machine Learning, pp. 791-798, 2007. [10] B. Hidasi, A. Karatzoglou, L. Baltrunas, and D. Tikk, "Session-based recommendations with recurrent neural networks," Proc. of International Conference of Learning Representation 2016, pp. 1-10, 2016. [11] S. Hochreiter, and J. Schmidhuber, "Long shortterm memory, Neural Computation," Vol. 9, No. 8, pp. 1735-1780, 1997. [12] H. Inan, K. Khosravi, and R. Socher, "Tying Word Vectors and Word Classifiers: A Loss Framework for Language Modeling," arxiv preprint arxiv: 1611.01462, 2016. [13] K. Cho, B. Van Merriënboer, D. Bahdanau, and Y. Bengio, "On the properties of neural machine translation: Encoder-decoder approaches," arxiv preprint arxiv:1409.1259, 2014. [14] Y. K. Tan, X. Xu, and Y. Liu, "Improved recurrent neural networks for session-based recommendations," Proc. of the 1st Workshop on Deep Learning for Recommender Systems, pp. 17-22, 2016. [15] O. Press, and L. Wolf, "Using the output embedding to improve language models," arxiv preprint arxiv:1608.05859, 2016. [16] S. Kullback, R. A. Leibler, "On Information and Sufficiency," Annals Mathematical Statistics, Vol. 22, No. 1, pp. 79-86, 1951. [17] J. Duchi, E. Hazan, and Y. Singer, "Adaptive subgradient methods for online learning and stochastic optimization," Journal of Machine Learning Research, Vol. 12, pp. 2121-2159, 2011. 권명하 2016 년한양대학교컴퓨터공학과졸업 ( 학사 ). 2016 년 ~ 현재한양대학교컴퓨터소프트웨어학과석사과정. 관심분야는인공신경망응용, 기계학습, 자연어처리 공성언 2014년한양대학교컴퓨터공학과졸업 ( 학사 ). 2014년~현재한양대학교컴퓨터소프트웨어학과석박사통합과정. 관심분야는인공신경망응용, 로봇지능 최용석 1993년서울대학교계산통계학과 ( 전산과학 ) 졸업 ( 이학사 ). 1995년서울대학교전산과학과졸업 ( 이학석사 ). 2000년서울대학교전산과학과졸업 ( 이학박사 ). 1997년미국 San Diego 연구소방문연구원. 1999 년~2000년삼성전자정보통신부문통신연구소선임연구원. 2007년 UCLA Computer Science Department 방문교수. 2000년~현재한양대학교공과대학컴퓨터공학부교수. 관심분야는인공지능, 정보검색, 기계학습, 지능형튜터링시스템, 게임기반학습, 인공신경망