당신의 취향을 학습했습니다, 휴먼…이 영상을 좋아하겠군요[정은진의 기술을 기술하다]
‘동영상 역주행’ 대명사 알고리즘
추천뿐 아니라 모든 해결법 의미
알고리즘이라는 말이 일상 대화에 쓰이는 걸 보면 신기하다. ‘내전근’이나 ‘전전두엽’ 같은 단어가 일상적으로 쓰이는 걸 보는 해부학자의 기분이 이렇지 않을까 싶다. “알고리즘이 보여줬다” “알고리즘을 타고 역주행했다”처럼 주로 추천 알고리즘의 줄임말처럼 쓰이고 있지만, 사실 알고리즘은 추천뿐만 아니라 모든 문제를 푸는 방법을 말한다.
어떤 요리를 만들고 싶을 때 레시피를 찾아보듯이 어떤 문제를 풀고 싶으면 관련 알고리즘을 찾아보면 된다. 볶음밥 레시피를 하나 익히고 나면 주재료를 바꿔가면서 여러 가지 볶음밥을 만들 수 있는 것처럼, 추천 알고리즘을 하나 배우고 나면 영화, 음악, 사회관계망서비스(SNS) 등 여러 분야에 사용할 수 있다.
■막대한 규모에 따르는 어려움
사용자가 이전에 본 영화에 매긴 별점 정보를 바탕으로 다른 영화를 추천한다고 해보자. 별점은 5점 만점이고, 아직 보지 않은 영화는 빈칸으로 둔다.
영화1~3까지의 선호도를 보면 지민과 석진 두 사람의 취향이 비슷해보인다. 지민에게는 석진이 좋아한 영화6을 추천하고, 석진에게는 지민이 좋아한 영화4를 추천할 수 있다. 하지만 지민과 남준의 취향은 영화1과 영화5에서 확연히 갈린다. 영화4를 남준에게 추천하는 것은 좋은 생각이 아니다.
유튜브 영상 추천에도 이 방법을 쓸 수 있으면 좋겠지만 유튜브는 영화처럼 별점을 매기는 시스템이 아니기 때문에 어느 사용자가 어떤 영상을 얼마나 좋아했는지 파악하는 것부터 문제다. 이는 ‘좋아요’의 클릭 여부로만 판단할 문제가 아니다. ‘좋아요’를 누르지 않았더라도, 끝까지 본 영상과 1~2분 보다가 만 영상 사이에는 선호도 차이가 있다. 댓글을 달았다면, 그 내용이 호감과 비판 어느 쪽인지에 따라 선호도를 다르게 추측할 수 있다. 반복해서 보는 영상이라면 확실히 좋아했다고 볼 수 있다. 이렇게 한 영상마다 수집해야 할 정보가 훨씬 다양하다.
유튜브는 영상도, 사용자도 영화보다 훨씬 많다. 유튜브 사용자 수는 하루에 120만명을 넘기 때문에 한 사용자마다 한 줄씩만 기록해도 표의 길이는 어마어마해진다. 유튜브에는 8억개 이상의 영상이 있고, 한 사용자가 하루에 유튜브를 보는 시간은 평균 30분 정도이기 때문에, 위와 같은 표를 만들면 한 사용자당 빈칸이 굉장히 많아진다. 이렇게 빈칸이 많은 표에서 취향이 비슷한 사용자를 찾는 것은 어렵기도 하거니와 시간이 매우 오래 걸린다. 유튜브처럼 하루 약 370만개의 새로운 동영상이 올라오는 환경에서는 추천 알고리즘도 빨리빨리 대응할 필요가 있기 때문에, 이처럼 오랜 시간이 걸리는 방식은 적절하지 않다.
■너무 많은 데이터는 묶어서 파악
플랫폼, 비슷한 동영상 그룹화
제목·내용에 사용자 프로필도 기록
세부 항목별로 분류한 후 추천
머신러닝에 수작업 땐 더 정교해져
이런 문제를 보완하기 위해 비슷한 영상끼리 그룹으로 묶은 다음, 이 그룹에 대한 사용자들의 선호도를 알아보는 방법이 많이 쓰인다. 같은 연예인이 나온 영상, 같은 채널에서 만든 영상, 같은 주제(홈트레이닝, 아이돌댄스커버 등등)를 공유하는 영상, 이런 식으로 묶어서 선호도를 비교하면 위와 같은 표를 만들었을 때 크기가 줄어드는 효과가 있고, 추천할 때도 여러 비슷한 영상을 한꺼번에 추천할 수 있어서, 추천에 걸리는 시간이 훨씬 줄어든다. 비슷한 영상끼리 묶고자 할 때는 영상의 제목, 설명, 해시태그, 등장인물 등등 여러 정보를 사용하게 된다. N개의 정보를 사용한다는 건 N차원의 공간에 영상 하나마다 점을 하나 찍어서 가까이에 있는 점들끼리 묶어주는 것과 비슷하다. 이런 과정을 클러스터링이라고 한다. 실제로는 아주 많은 정보를 사용하기 때문에 점들 사이의 간격이 매우 넓어서 단순하게 거리만으로 묶을 수는 없고, 인공지능 알고리즘을 사용한다.
넷플릭스의 추천 시스템은 사용자들 취향을 2000개 이상의 프로파일로 만들고, 같이 추천하면 좋은 동영상들을 1300개 이상의 추천 클러스터로 묶어서 사용한다. 이 추천 시스템은 성능이 좋기로 유명해서, 사용자가 넷플릭스를 보는 시간 중 80%를 넷플릭스가 추천한 동영상을 보는 데 쓴다고 한다.(2018년 발표에 따르면 유튜브 사용자들은 70%의 시간을 추천 동영상을 보는 데 쓴다)
■딥러닝 - 취향을 깊이 학습
매우 많은 사용자와 동영상을 어느 정도 묶어서 정리한 다음에는 그 데이터를 이용해서 어떤 사용자가 어떤 영상을 좋아할지 알아내야 한다. 딥러닝은 우리의 뇌가 정보를 처리하는 방식을 본뜬 것으로, 단편적인 정보들에 대해 배우고 나면 이를 토대로 유추할 수 있는 좀 더 일반화된 지식을 습득한다. 예를 들어, 우리가 어떤 사진을 보고 사진 속의 동물이 고양이인지 아닌지 판단해야 한다고 해보자. 세상의 모든 고양이를 본 것은 아니어도, 그전에 본 고양이 샘플들을 기반으로 ‘이렇게 생긴 동물은 대개 고양이구나’라는 것을 학습한다. 이때 우리의 뇌는 고양이의 사진이나 실물에서 얻은 정보를 바탕으로 ‘고양이’라고 판단할 몇 가지 기준을 만들어보고, 이 기준에 의한 판단이 맞으면 그 가중치를 높이고, 틀리면 낮추어서 기준을 업데이트하는 과정을 반복한다.
딥러닝도 마찬가지다. 고양이를 포함한 여러 동물 사진에 어느 동물이 있는지 기록하고, 그 사진들을 바탕으로 모델을 훈련시킨다. 주어진 사진들의 일부를 이용해서 몇 가지 기준을 만들어보고, 다른 사진들을 이용해서 기준들의 가중치를 계속 조정해나가면서 고양이 사진을 잘 판별할 수 있을 때까지 반복 학습한다. 영상 추천 알고리즘의 경우, 영상별로 영상의 제목이나 내용, 등장인물, 장르와 함께 특정 프로필 사용자들의 선호도를 기록하고, 이 데이터를 바탕으로 모델을 훈련시킨다. 주어진 정보들을 이용해 몇 가지 기준을 만들어보고, 그 기준들을 계속 조정해나가면서 이 프로필에 속하는 사용자가 좋아할 영상을 찾는 기준으로 진화시킨다.
■데이터마이닝 - 다양한 취향을 학습
딥러닝으로만 모든 취향을 학습하기는 어렵다. 딥러닝은 주어진 데이터를 가지고 일반화된 기준을 만드는 것에 특화된 학습방법이라 반대로 다양하고 세부적인 취향을 학습하는 데에는 취약하다. 예를 들어 BTS 영상을 좋아하는 사용자에게 다른 K팝 아이돌의 영상을 추천하는 것은 딥러닝이 적절하게 사용된 경우이지만, 삼성 에어컨 필터를 청소하는 영상을 본 사용자에게 LG 에어컨 필터를 청소하는 영상을 추천하는 것은 (높은 확률로 삼성 에어컨을 소유하고 있을) 사용자에게 좋은 추천이 아니다. 이렇게 세세한 정보가 정확하게 일치하는 것이 더 중요한 추천의 경우, 딥러닝을 사용하는 것보다 사용자들이 이 영상 다음에 어떤 영상을 많이 봤는지 같은 구체적인 데이터를 이용한 추천이 더 효과적이다.
구체적인 데이터를 이용하는 추천인 만큼, 데이터를 많이 모을수록 더 정확한 추천을 할 수 있고, 세세한 조건들을 많이 고려할수록 더 효과적인 추천을 할 수 있다. 그래서 주어진 사례들을 좀 더 다각도로 분석하고 “넓고 얕게” 파악하는 데이터마이닝 기법들을 사용한다. 예를 들어 ‘에어컨 필터’로 영상을 분류하는 것보다 ‘삼성 에어컨 필터’와 ‘LG 에어컨 필터’ 두 그룹으로 분류하는 게 더 효과적이고, 더 나아가 (연식에 따라 필터가 다르다면) ‘2015년형 삼성 에어컨 필터’와 ‘2020년형 삼성 에어컨 필터’로 나누면 더 정확해진다. 이렇게 나눌수록 영상들 사이의 공통점이나 쉽게 드러나지 않는 연결성은 알기 어려워지므로 “얕다”고 할 수 있고, 더 많은 조건들을 고려하게 되므로 “넓다”고 할 수 있다.
■지도형 머신러닝 - 새로운 취향을 시도
지금까지 사용자들이 어떤 영상을 봤는지를 바탕으로 학습하는 머신러닝 알고리즘은, 기존의 영상과 매우 다른 영상이 등장했을 때 누구에게 추천해야 할지 알기 어렵다는 단점이 있다. 예를 들어 <오징어 게임>은 이전에 넷플릭스에서 볼 수 있었던 한국 드라마들과 전혀 다른 형식과 내용이었고, 많은 외국 사용자들에게는 언어까지도 생소한 드라마였다. 그렇다면 한국 로맨틱코미디를 즐겨보던 사용자들에게 한국에서 온 드라마라는 이유로 <오징어 게임>을 추천하는 것은 성공할 확률이 낮다. 하지만 일단 <오징어 게임>이 비영어권 드라마 중 시청시간으로 톱10에 들기 시작한 다음에는 꼭 한국 드라마를 즐겨보진 않지만 자막을 보는 데 익숙한 이들에게 추천해볼 수 있다.
이렇게 ‘한국 드라마’라는 키워드보다 ‘자막 시청’이라는 조건과 현재 인기순위에 더 초점을 맞추는 방식은 과거의 데이터를 머신러닝 알고리즘에 넣기만 해서 저절로 얻어지는 것이 아니다. 머신러닝에 어느 정도의 수작업을 추가해서 결과를 얻어내는데, 이런 방식을 지도형 머신러닝이라고 한다.
■더 많이, 더 빨리, 더 정확하게
데이터 많을수록 알고리즘도 발전
유튜브·넷플릭스 시장 ‘독과점’
개인정보 보호 갈수록 중요해져
추천 알고리즘 개발에서 제일 손이 많이 가는 곳은 사실 학습구간이 아니고, 학습을 위한 데이터를 준비하는 작업이다. 많은 동물 사진들을 보고 고양이인지 다른 어떤 동물인지 키워드를 기록하는 작업이나, 스트리밍 서비스에서 사용자의 행동을 보고 어떻게 선호도를 도출해낼까 하는 준비 작업이 추천 알고리즘의 정확도와 효율에 큰 영향을 끼친다. 그래서 추천 알고리즘을 사용하는 모든 서비스에서 더 많은 데이터를 더 빨리 모아서, 더 정확하게 키워드를 기록하고 선호도를 도출하는 데에 많은 노력을 기울인다. 유튜브가 (비록 광고가 붙기는 하지만) 동영상을 공짜로 보여주는 이유가 여기에 있다. 더 많은 사람들이 더 자주 사용할 때 더 많은 데이터를 수집할 수 있기 때문이다. 더 많은 데이터가 모일수록 추천 알고리즘의 성능은 향상되고, 추천 알고리즘의 성능이 향상되는 만큼 사용자가 유튜브를 보는 시간도 늘어난다.
하지만 이렇게 대량의 데이터를 이미 축적한 기업들이 장악하고 있는 시장은 독과점 시장이 되기 쉽다. 혁신적인 알고리즘을 생각해내도 데이터가 없으면 머신러닝 학습에서 절대적으로 불리해지기 때문이다. 사용자의 비디오 콘텐츠를 스트리밍해주는 시장에서 유튜브는 75%의 점유율을 자랑하고, 현재 유튜브의 경쟁사는 점유율이 훨씬 떨어지는 비메오가 아니라 마이크로소프트와 손잡고 광고 서비스를 시작하는 넷플릭스라고 할 수 있다.
지난 칼럼에서도 언급했듯이, 인터넷상에서의 내 행동을 지난 10년간 꾸준히 관찰하고 기록해온 기업은 나에 대해 아주 잘 알고 있고, 반대로 나는 그 기업이 나에 대해 알고 있는 것을 어떻게 사용하는지 알지 못한다. 이처럼 비대칭적인 관계는 절대적으로 나에게 불리하다. EU가 GDPR(일반데이터 보호규칙)로, 미국에서는 캘리포니아가 ‘캘리포니아 소비자 프라이버시법’으로, 한국은 개인정보 보호법으로 사용자들을 보호하려고 하는 이유다.
▶정은진 교수
서울대 전산과학과를 졸업하고 미국 오스틴에 있는 텍사스주립대학에서 전산과학 석·박사 학위를 받았다. 현재 샌프란시스코대학 부교수로 재직 중이다. 분산시스템과 인터넷에서의 보안을 연구했고, 최근에는 게임이론을 이용해서 합리적인 사람들이 블록체인처럼 탈중앙화된 시스템을 안전하게 사용할 수 있게 해주는 방법을 연구하고 있다. 최신 기술의 발전을 가까이 볼 수 있는 실리콘밸리에서 컴퓨터과학을 오래 가르치면서 기술이 사회에 미치는 영향에 대해 깊이 생각하게 되었고, 그 영향력을 선한 방향으로 이끌어가기 위해서는 더 많은 사람들이 기술을 쉽게 이해할 수 있어야 한다고 믿는다.
정은진 교수
Copyright © 경향신문. 무단전재 및 재배포 금지.
- ‘해를 품은 달’ 배우 송재림 숨진 채 발견
- 한동훈 대표와 가족 명의로 수백건…윤 대통령 부부 비판 글의 정체는?
- 최동석 ‘성폭행 혐의’ 불입건 종결···박지윤 “필요할 경우 직접 신고”
- [단독] 법률전문가들, ‘윤 대통령 의혹 불기소’ 유엔에 긴급개입 요청
- ‘채식주의자’ 번역가 데버라 스미스 “한강 노벨상, 문학계가 공정한 시대로 나아간다는 희망
- 코미디언 김병만 전처 폭행 혐의로 검찰 송치
- [트럼프 2기와 한국 산업]“군사력 재건” 천명한 트럼프…한국 방산 앞 놓인 ‘아메리칸 파이’
- [속보]국내 첫 백일해 사망자 발생…생후 2개월 미만 영아
- [영상]“유성 아니다”…스타링크 위성 추정 물체 추락에 ‘웅성웅성’
- 이준석 “윤 대통령 국정운영 ‘0점’···뭐든 할 수 있다는 착각에 정치 다 망가뜨려”