인공지능을 이해하는 데 다른 도구보다 수학이 핵심인 이유는 수학이 복잡한 인공지능을 구조화하여 보여주는 ‘핵심 언어’이기 때문이다. 많은 베타리더가 ‘막연했던 인공지능 개념을 수학적 논리로 명확히 정립한다’고 평했듯, 이 책은 전형적인 수학 교과 목차를 따라가지도, 코딩 같은 복잡한 공학 도구 사용법을 안내하지도 않으면서 인공지능을 이해하기 위해 꼭 필요한 수학만 정확히 꺼내어 연결해준다.
수학은 수백 년 전 발견된 진리를 반복하는 낡은 학문이 아닌, 새로운 기술이 탄생할 토대를 쌓는 미래 지향적 학문이다. 딥러닝을 공부하거나 인공지능 도구를 개발하는 실무자뿐만 아니라, 인공지능 대전환 시대를 지나는 모든 사람에게 이 책을 권하고 싶은 이유다.
■ 저자 이동준
저자 이동준은 포항공과대학교 수학과, 서울대학교 수학교육과를 졸업하고 서울대학교 대학원에서 석사 과정을 수료했다. 2009년부터 이화여자고등학교에서 수학을 가르치고 있으며, 2024년 한국교원대학교 교육대학원 컴퓨터교육과를 졸업한 후 정보도 함께 가르치고 있다. 수학과 인공지능을 융합한 교육에 관심이 많으며, SW 및 피지컬 컴퓨팅, 메이커 교육 분야에서도 꾸준히 연구와 개발을 이어가고 있다.
2022년 통계교육원 교사연구회 서울 대표로 통계 기반 이공계 융합 교육 모델을 개발했고, 2022 개정 교육과정 고등학교 ‘인공지능 수학’ 교과서를 집필했다. 2024년 한국교육과정평가원 인공지능 수학 예시 평가 도구 개발에 참여했으며, 2025년 서울시교육청 AI 디지털 콘퍼런스에서 인공지능 수학 교육 사례를 발표했다. 현재 한국교육학술정보원(KERIS)의 ‘AI 교육 역량 강화 멀티 트랙 연수 개발’에 인공지능 수학 분야 대표 교사로 참여 중이다.
2022~2023년 인공지능 교육 선도학교, 2025년 정보 교육 중심학교를 운영했고, 인공지능과 수학 관련 교원 연수 및 학생 캠프를 꾸준히 진행하고 있다. 지은 책으로는 ‘소프트웨어 계열 진로진학 끝판왕’(공저)이 있다.
■ 차례
프롤로그_ 생성형 인공지능 시대, 왜 ‘수학’인가?
1장 챗GPT 상담사는 어떻게 사람처럼 대화할까? : 단어와 단어를 잇는 벡터
- 컴퓨터는 ‘사과’를 어떻게 받아들일까?
- 챗봇이 자연스러운 문장을 구상하는 방법
- 더 풍성한 대화를 나누고 싶다면?
[심화 탐구 1] 벡터의 내적과 각도 사이의 관계
[심화 탐구 2] 소프트맥스 함수와 지수함수
2장 미래를 예측하는 인공지능 모델은 가능한가? : 손실함수로 오차를 줄여라!
- 1도가 오를 때 아이스크림 매출의 변화는?
- 수학이 ‘오답 노트’를 작성하는 방식
- 인공지능은 왜 ‘반복 학습’을 할까?
[심화 탐구 1] 다변수함수의 경사하강법
[심화 탐구 2] 작은 웅덩이를 넘어서 : 모멘텀으로 경사하강법 보완하기
3장 추천 알고리즘은 진짜 내 취향을 아는 걸까? : 행렬 분해를 알면 패턴이 보인다
- 수학이 나의 취향을 말해준다
- 코미디 영화를 좋아하면서 로맨스 영화를 좋아할 확률
- 취향을 공유하는 ‘나만의 그룹’을 찾아서
[심화 탐구] 행렬 분해에서 경사하강법을 활용한 학습
4장 어떤 근거로 기계의 판단을 믿을 수 있을까? : 새로운 데이터를 분류하는 알고리즘
- 기계가 결정을 내리는 기준
- 거리를 계산할까? 구분선을 그을까?
- 신용 평가 방법과 승률 계산 방법이 같다고?
[심화 탐구] 최적값을 찾는 라그랑주 승수법
5장 인공신경망은 정말 인간처럼 ‘생각’할까? : 합성함수로 신경망을 쌓기
- 복잡한 사고의 이동 경로, 뉴런을 모방하다
- 스스로 생각하는 신경망의 탄생
- 퍼셉트론에서 딥러닝까지, 인공신경망의 폭발적 발전
[심화 탐구] 다층 퍼셉트론 학습의 장애물 : 기울기 소실 문제
6장 자율주행차는 어떻게 도로에서 장애물을 구별할까? : 행렬은 이미지를 들여다보는 돋보기
- 숫자로 색깔을 표현할 수 있다고?
- 자율주행차가 표지판의 정보를 읽어내는 법
- 스마트폰의 페이스 ID부터 자율주행차의 물체 감지까지
[심화 탐구 1] 행렬이 만들어내는 마법, 합성곱 신경망
[심화 탐구 2] 자율주행의 핵심 수학 기반, 베이지안 추론
7장 생성형 인공지능이라는 화가의 비밀? : 아름다움을 만드는 자연법칙, 통계
- 인공지능의 ‘창의성’은 어디에서 오는가?
- 대상의 특징을 추출하고 복원하는 ‘오토인코더’
- 전에 없던 것을 만들어내는 또 하나의 메커니즘
[심화 탐구] 수학의 아름다움, 중심극한정리
에필로그_ 개인의 역량이 더욱 중요해지는 시기가 온다
인공지능 대전환 시대, 수학은 복잡한 인공지능의 원리를 구조화하여 보여주는 ‘핵심 언어’이다. 막연했던 인공지능의 개념을 명확한 수학적 논리로 정립하고 미래 기술의 토대를 이해하고 싶은 이들에게 확실한 방향을 제시해준다.
챗GPT 상담사는 어떻게 사람처럼 대화할까? : 단어와 단어를 잇는 벡터
챗봇이 자연스러운 문장을 구상하는 방법
텍스트를 수학의 세계로 : 인코딩과 임베딩
챗봇이 언어를 이해하는 과정은 사람이 언어를 배우는 과정과 비슷합니다. 한글이나 외국어를 처음 배울 때 먼저 책에서 간단한 문장을 접하고, 그 후에 조금씩 많은 글을 접하면서 익숙해진 경험이 있을 거예요. 인공 지능도 이러한 학습 과정을 거치는데, 위키백과나 뉴스 기사, 소설, 대화 등 다양한 출처에서 수백만 개의 문장을 수집하고 분석하면서 언어의 패턴을 학습합니다.
학습 과정은 크게 두 단계로 구분할 수 있습니다. 먼저, 글의 형태를 띠는 텍스트 데이터를 수집해서 컴퓨터가 처리할 수 있도록 다듬은 다음, 숫자로 변환하는 ‘전처리 과정’입니다. 그 후에는 조건부 확률(conditional probability)을 활용하여 각 단어의 의미를 벡터로 표현하는 ‘임베딩 학습 과정’이 따라옵니다. 이 두 과정을 거쳐 컴퓨터는 드디어 인간의 언어를 수학적으로 이해합니다. 각 단계를 한번 차근차근 살펴보겠습니다.
1) 토큰화와 사전 만들기
텍스트 데이터를 학습하는 첫 단계는 토큰화(tokenization)입니다. 토큰화는 긴 문장을 토큰이라는 의미 있는 작은 단위로 쪼개는 과정을 의미합니다. “안녕하세요, 오늘 날씨가 참 좋네요!”라는 문장을 작은 단위로 나누어볼까요? 우선 어떤 기준을 적용해서 토큰으로 구분할지를 결정해야겠지요. 가장 직관적인 방법은 공백을 기준으로 나누는 것이지만, 이것만으로는 충분하지 않을 수 있습니다. 예를 들어 ‘안녕하세요,’라는 표현에서 쉼표는 분리해야 할까요, 아니면 함께 두어야 할까요? 게다가 한국어의 경우에는 ‘날씨가’를 하나의 토큰으로 볼지, ‘날씨’와 ‘가’로 분리할지도 결정해야 하거든요.
그래서 실제 자연어 처리에서는 여러 토큰화 방식을 사용합니다. 대표적으로 단어 단위 토큰화는 공백과 구두점을 기준으로 나누는 방법으로, [‘안녕하세요’, ‘오늘’, ‘날씨가’, ‘참’, ‘좋네요’] 같은 결과를 만들어냅니다. 하지만 이 방법은 한국어의 조사나 어미 때문에 같은 의미의 단어가 다양한 형태로 나타나는 문제가 있어요. ‘학교에서’ ‘학교로’ ‘학교까지’는 모두 ‘학교’라는 핵심 의미를 포함하지만 서로 다른 토큰으로 취급되기 때문에 형태소 단위로 더 세밀하게 나누기도 합니다. 예를 들어 ‘날씨 가’를 ‘날씨’+‘가’로, ‘좋네요’를 ‘좋’+‘네요'’ 분리하는 방법이에요. 방식마다 장단점이 있기 때문에, 어떤 목적으로 사용할지에 따라 적절한 토큰화 방식을 선택해야 합니다.
토큰화 기준이 정해지면 이제 수백만 개의 문장을 모두 토큰으로 나누는 작업을 진행합니다. 이 과정에서 엄청나게 많은 토큰이 만들어지는데, 이 토큰들 사이에서 흥미로운 패턴이 나타나요. ‘좋다’ ‘나쁘다’ ‘재미있다’ 같은 일상 언어의 토큰은 자주 등장하지만, 전문용어나 고유명사는 드물게 나타납니다. 즉 상위 몇 개 단어가 전체 텍스트의 대부분을 차지하고 나머지 대다수의 단어는 아주 적게 사용되는데, 예를 들어 ‘이’ ‘것’ ‘하다’ ‘있다’ 같은 기능어들이 전체의 30퍼센트 이상을 차지합니다. 모든 토큰을 다 저장하면 메모리가 부족해지므로, 일정 빈도 이하로 나타나는 토큰은 제외하거나 ‘UNK(unknown)’는 특별한 토큰으로 대체합니다.
다음 단계로 이렇게 정제한 토큰을 모아서 사전을 구축합니다. 사전은 모든 유효한 토큰을 정리해서 각각에 고유한 번호를 부여하는 체계를 의미합니다. 마치 영어사전에서 단어를 알파벳순으로 정렬하듯이, 컴퓨터도 모든 토큰을 체계적으로 정리해야 활용하기 쉽겠죠. 이러한 변환 과정은 수학의 함수로 나타낼 수 있는데, f(오늘)=1, f(날씨)=2와 같이 각 토큰에 특정 숫자를 대응시키는 함수를 정의합니다.
2) 단어의 중요도 측정 : TF-IDF 알고리즘
사전이 완성되고 나면, 이제 각 단어가 문서에서 얼마나 중요한지를 판단해야 하는 새로운 과제가 생깁니다. 예를 들어 영화 리뷰 문서를 분석한다고 생각해볼까요? ‘영화’ ‘이’ ‘그’ ‘는’ 같은 단어는 거의 모든 리뷰에 나타나지만, 정작 그 리뷰가 다루는 영화가 무엇인지, 어떤 느낌의 영화인지는 알려주지 못해요. 반면 ‘스릴러’ ‘감동’ ‘코미디’ 같은 단어는 덜 자주 나타나지만, 리뷰의 핵심 내용을 담아내죠. 이처럼 단순히 많이 나타나는 단어가 아니라, 문서를 대표하는 중요한 단어를 찾아내는 과정이 필요합니다.
3) 조건부 확률을 활용한 임베딩 학습
사전을 완성하면 이제 각 단어의 의미를 벡터로 표현하는 임베딩 학습 단계에 들어갑니다. 앞서 살펴봤듯이, 단순히 번호만 부여해서는 단어 사이의 의미 관계를 표현할 수 없어요. 여기서 핵심 아이디어는 ‘특정 단어 근처에 어떤 단어들이 자주 나타나는지’를 분석하는 것인데, 특정 조건에서의 확률을 살펴보는 조건부 확률로 이 과정을 처리합니다.
조건부 확률은 ‘A가 일어났을 때 B가 일어날 확률’을 의미합니다. 간단한 예시로 조건부 확률을 한번 살펴볼까요? 한 학급에서 30명의 학생을 조사했더니 다음과 같은 결과가 나왔습니다.
사건 A 안경을 쓴 학생 12명
사건 B 수학을 좋아하는 학생 15명
사건 A와 B의 교집합 안경을 쓰면서 수학도 좋아하는 학생 8명
이때 임의로 선택한 1명이 안경을 쓰고 있었을 때, 이 학생이 수학을 좋아할 확률은 얼마일까요? 조건부 확률에서는 전체 인원을 볼 필요 없이 특정 조건에 해당하는 학생에 한해서 확률을 살펴보면 됩니다. 전체 학생 가운데 안경을 쓴 학생은 12명이고, 그중 수학을 좋아하는 학생은 8명이므로, 8 나누기 12로 계산한 0.67이라는 조건부 확률을 계산할 수 있어요.
미래를 예측하는 인공지능 모델은 가능한가? : 손실함수로 오차를 줄여라!
1도가 오를 때 아이스크림 매출의 변화는?
데이터, 세상을 읽다
“데이터는 21세기의 새로운 원유다”라는 널리 사용되는 표현이 있지요. 이 말은 여러 의미를 담고 있어요. 마치 원유가 정제되어 휘발유/경유/플라스틱 같은 다양한 제품으로 변환되듯, 숫자나 글자의 모임인 데이터도 분석을 거쳐 가치 있는 정보를 추출할 수 있다는 뜻이지요. 또한 원유가 많은 산업의 동력이나 재료가 되는 것처럼 데이터 역시 많은 산업을 움직이며 경제적 가치를 창출합니다. 한편 원유는 일부 지역에서 생성되고 추출에 많은 비용이 든다는 제약이 있지만 데이터는 어디에서나 생성과 수집이 가능하다는 차이점도 있어요. 지역적 제약이 없기 때문에 많은 국가와 기업이 가능성을 보고 미래 산업의 핵심 동력인 데이터를 수집하기 위해 노력하고 있어요.
데이터가 어떤 모습을 하고 있는지 하나의 예시로 살펴볼까요? 아래 표는 한 편의점의 8일간 운영 데이터입니다. 표에는 날짜와 요일부터 방문객 수, 기온, 날씨, 판촉 행사 여부까지 다양한 정보가 포함되어 있습니다. 이와 같은 데이터는 편의점 운영을 이해하고 개선하는 데 중요한 역할을 하죠.
데이터를 모았다면 이제 그 안에서 유용한 정보를 찾아낼 차례입니다. 앞의 표에서 날짜, 요일, 방문객 수, ..., 총매출 등에 해당하는 열을 ‘속성’이라고 하는데, 이 속성은 데이터 과학자들이 패턴을 발견하고 예측 모델을 만드는 핵심 재료라고 할 수 있어요. 그러니 아무리 많은 데이터가 있어도 의미 있는 속성이 포함되어 있지 않다면 유용한 통찰을 얻기 어렵겠지요.
앞 표에서 각 열에는 방문객 수, 기온, 총매출처럼 같은 종류의 값들이 들어가 있는데, 속성들 사이에서 흥미로운 관계를 발견할 수 있습니다. 예를 들어, 방문객 수가 많은 날은 대체로 매출액도 높은 경향을 보이지만, 날씨와 판촉 행사 여부에 따라 그 관계가 달라지기도 하죠. 이렇게 두 속성이 얼마나 연관성 있는지 살펴보는 통계적 개념을 상관관계라고 합니다.
상관관계는 크게 세 가지로 살펴볼 수 있습니다. 키와 발 크기처럼 한 속성이 증가할 때 다른 속성도 증가하면 ‘양의 상관관계’가 있다고 합니다. 반대로 운동 시간과 비만도처럼 한 속성이 증가할 때 다른 속성이 감소하면 ‘음의 상관관계’가 있다고 하죠. 수학 점수와 등교 소요 시간처럼 두 속성 사이에 뚜렷한 관계가 없을 때는 ‘뚜렷한 상관관계가 없다’고 합니다.
이런 상관관계를 파악하는 가장 직관적인 방법으로는 ‘시각화’와 ‘수치화’가 있습니다. 예를 들어 ‘산점도(scatter plot)’라는 그래프는 하나의 점이 하루의 데이터를 나타내며, 가로축과 세로축에 놓인 점들로 두 속성의 관계를 한눈에 볼 수 있습니다. 방문객 수를 가로축에, 매출액을 세로 축에 표시하면 강한 양의 상관관계가 있음을 시각적으로 확인할 수 있지요. 하지만 시각화만으로는 상관관계의 강도를 정확히 비교하기 어렵기 때문에 ‘상관계수’라는 수치를 활용해 더 정확한 분석을 합니다. 상관계수는 -1부터 1 사이의 값을 가지며, 1에 가까울수록 강한 양의 상관관계, -1에 가까울수록 강한 음의 상관관계를 나타내고, 0에 가까울수록 상관관계가 약하다는 뜻입니다.
앞에서 제시한 편의점 데이터에서 방문객 수와 매출액의 상관계수는 0.85로 강한 양의 상관관계를 보입니다. 방문객이 많은 날일수록 매출도 높다는 사실을 수치로 확인해주는 결과죠. 반면 기온과 매출액의 상관계수는 0에 가까우며 이는 매출이 5월의 기온과는 큰 연관성이 없다는 점을 알려주지요. 상관계수라는 수치로 우리는 어떤 속성들이 서로 얼마나 관련되는지 정확히 비교할 수 있습니다. 인공지능은 이러한 속성 사이 관계를 데이터 예측이나 분류에 유용하게 활용합니다.
매출처럼 인공지능이 예측/분류하여 살펴보고자 하는 속성을 레이블이라고 하고, 이 레이블을 예측하는 데 중요한 역할을 하는 속성들을 ‘핵심 속성’이라고 합니다. 인공지능으로 좋은 예측 결과를 얻으려면 레이블과 관련성이 높은 핵심 속성을 선별하는 일이 중요해요. 예를 들어 카페의 매출을 예측하려고 할 때, 불필요한 속성을 너무 많이 포함하면 오히려 데이터가 혼란스러워져서 인공지능 모델의 성능이 떨어지겠지요. 핵심 속성을 찾으려면 앞서 배운 산점도와 상관계수 같은 도구를 활용해서 각 속성과 목표 변수 사이의 관계를 분석해야 하는데, 이런 과정을 ‘핵심 속성 추출’ 혹은 ‘특성 선택’이라고 하며, 효과적인 인공지능 모델을 만드는 데 필수적인 단계입니다.
인공지능, 패턴을 찾아내다
영화 ‘히든 피겨스’에는 예측의 힘을 보여주는 흥미로운 이야기가 나옵니다. 컴퓨터의 능력이나 사용 방법이 제한적이던 시절, 캐서린은 복잡한 수학적 계산으로 우주선의 지구 귀환 경로를 정확하게 예측해냈습니다. 이 사례는 데이터를 바탕으로 한 정확한 수학적 모델이 예측에 얼마나 중요한 역할을 하는지 잘 보여주죠. 오늘날 인공지능도 이와 같은 수학적 원리에 기반하며, 인간이 수작업을 하는 대신 컴퓨터가 방대한 데이터에서 숨은 패턴을 찾아내는 방식으로 발전했습니다.
수학에서 예측은 어떻게 가능한 것일까요? 기본적으로 예측은 측정한 데이터에 잠재된 패턴을 찾아 미래에 적용하는 과정입니다. 예를 들면 ‘히든 피겨스’의 경우 캐서린 존슨은 중력과 관련한 물리 법칙과 수학 공식을 활용해서 우주선의 궤도를 계산했죠. 편의점 데이터에서도 마찬가지로, 방문객 수와 매출 사이 강한 상관관계는 예측에 활용할 만한 중요한 패턴입니다. 또한 주말보다 주중에 손님 수가 감소하는 패턴도 매출 예측에 중요한 정보입니다. 사람은 지식과 이론에 기반하여 데이터를 해석하는 반면, 인공지능은 스스로 데이터에서 숨은 패턴을 찾아내고 내재된 법칙을 발견하는 능력을 갖추고 있어요.
편의점 운영자는 오랜 경험을 바탕으로 ‘토요일은 매출이 높다’ 또는 ‘비 오는 날은 손님이 적다’ 같은 지식을 쌓아 예측에 활용합니다. 한편, 인공지능은 다양한 속성 간 복잡한 상호작용까지 파악할 수 있어요. 예를 들어 ‘기온이 25도 이상이고, 판촉 행사가 있으며, 비가 오지 않는 토요일’ 같은 복합적인 조건에서의 매출을 더 정확히 예측하는 것이지요. 인공지능은 인간의 능력보다 훨씬 더 많은 데이터를 다룰 수 있고, 더 빠르게 계산하며 정교한 알고리즘을 사용하기 때문에 더 정확한 예측이 가능합니다.
인공지능의 학습 과정은 마치 화가가 정밀화를 그리는 과정과 비슷합니다. 정밀화를 그릴 때 처음에는 실제 모습의 대략적 특징만 슥슥 스케치하기 때문에 실제 모습과는 많은 차이가 나겠죠. 그러나 차이점을 계속해서 살펴보며 세부 요소들을 표현해갈수록 그림은 점점 실제 모습에 가까워집니다. 편의점 매출 예측에서도 인공지능은 처음에는 방문객 수라는 한 가지 속성만 고려한 단순한 모델로 시작합니다. 이 모델은 다른 요인을 무시하기 때문에 오차가 클 수 있습니다. 하지만 점차 기온, 날씨, 판촉 행사 같은 다양한 핵심 속성을 고려하면서 예측 모델은 정교해집니다. 인공지능은 처음에는 실제와 차이가 나는 모델로 시작하지만, 예측 결과와 실제 결과 사이의 차이를 계속 살펴보며 이 차이를 줄이는 방향으로 모델을 반복적으로 수정해나갑니다.
이때 수학은 마치 화가의 예리한 감각처럼, 어떻게 모델을 조정해야 실제와의 차이가 가장 효율적으로 줄어드는지 알려줍니다. 예를 들어, 편의점 매출을 예측하는 인공지능은 수많은 실제 데이터와 예측 데이터 사이 차이를 분석하면서 점점 더 정교한 패턴을 발견하는데, 이 패턴이 초기의 엉성한 스케치를 실제 매출 움직임과 더욱 비슷한 정밀화로 발전시키는 안내서인 셈입니다. 이 과정에서 앞의 표에서 살펴본 핵심 속성들은 매출 예측의 정확도를 높이는 중요한 요소로 작용합니다. 날씨와 기온 같은 속성은 방문객 수에 영향을 미치고, 이는 다시 매출에 영향을 주며, 인공지능은 이 연쇄적인 관계를 학습합니다.
물론 모든 예측에는 오차가 존재합니다. 인공지능은 지속적으로 더 많은 데이터를 얻고, 보다 나은 예측 모델과 기술을 적용해가면서 점점 더 정확해지기도 합니다. 학습 과정에서 실제 결과와 다른 ‘오차’는 중요한 학습 신호가 됩니다. 예측이 실제와 얼마나 다른지를 측정하고, 그 차이를 최소화하는 방향으로 모델을 조정하면서 인공지능은 점점 더 정확한 예측을 하게 되죠. 예측 오차를 줄이는 것은 인공지능 발전의 핵심 목표입니다.
추천 알고리즘은 진짜 내 취향을 아는 걸까? : 행렬 분해를 알면 패턴이 보인다
수학이 나의 취향을 말해준다
‘회원님을 위한 추천’ : 추천 시스템의 등장
여러분은 넷플릭스에서 영화를 보거나 유튜브에서 동영상을 시청할 때 ‘추천 영상’이나 ‘회원님을 위한 추천’ 같은 문구를 본 적이 있나요? 이런 추천은 우연히 표시되는 것이 아니라 여러분의 취향을 분석한 인공지능이 선별해서 보여주는 것입니다. 스마트폰으로 음악을 듣거나, 온라인 쇼핑을 하거나, SNS를 사용할 때도 추천 시스템은 항상 작동합니다. 심지어 배달 앱에서 메뉴를 고를 때나 온라인 서점에서 책을 찾을 때도 추천 알고리즘이 여러분의 선택에 영향을 미쳐요. 이제 우리 일상에서 추천 시스템은 없어서는 안 될 중요한 기술이 되었죠.
오늘날 추천 시스템은 훨씬 더 정교하고 복합적으로 발전했습니다. 유튜브는 여러분이 어떤 영상을 얼마나 오래 시청했는지, 어느 부분에서 영상을 중단했는지, 어떤 채널을 구독했는지, 심지어 어떤 댓글에 반응했는지까지 분석해요. 스포티파이는 여러분이 듣는 음악의 템포, 분위기, 악기 구성은 물론 하루 동안 어떤 음악을 언제 듣는지까지 파악해서 상황에 맞는 음악을 추천합니다. 넷플릭스는 시청 습관뿐만 아니라, 같은 콘텐츠라도 사용자마다 서로 다른 이미지를 보여주고 어떤 이미지에 더 반응하는지까지 실험하죠. 쿠팡이나 11번가 같은 쇼핑 플랫폼에서는 구매 이력, 검색 기록, 상품 페이지 체류 시간, 심지어 장바구니에 담았다가 빼는 행동까지 분석해서 추천에 활용합니다.
인공지능은 정말로 우리 취향을 ‘정확히’ 알까요? 실제로 추천 시스템은 여러분의 과거 행동을 바탕으로 미래 선호도를 예측하는 것이기 때문에 완벽하지 않습니다. 또한 사람의 취향은 고정적이지 않고 기분이나 상황, 시기에 따라 바뀌기도 하며, 가끔은 평소와 완전히 다른 새로운 것을 시도하고 싶을 때도 있어요. 그럼에도 추천 시스템은 계속해서 발전하고 있으며, 인공지능 기술의 발달과 함께 더욱 정교해지고 있습니다.
추천 시스템의 데이터 : 명시적 피드백과 암시적 피드백
추천 시스템이 수집하는 사용자 데이터는 크게 두 형태로 나뉩니다. 첫 번째는 명시적 피드백(explicit feedback)으로, 사용자가 의도적으로 자신의 선호도를 표현한 데이터예요. 넷플릭스에서 영화에 별 5개를 주거나, 유튜브에서 동영상에 ‘좋아요’를 누르거나, 쇼핑몰에서 상품에 ‘정말 만족합니다!’라는 리뷰를 남기는 행동들이 명시적 피드백에 해당합니다. 명시적 피드백은 사용자의 마음을 직접 반영하기 때문에 신뢰성이 높은 반면, 모든 사용자가 항상 평점을 매기거나 리뷰를 남기지는 않기 때문에 수집할 수 있는 데이터양이 제한적이라는 한계가 있어요.
두 번째는 암시적 피드백(implicit feedback)으로, 사용자가 의식하지 않은 상태에서 자연스럽게 드러내는 행동 데이터입니다. 어떤 영상을 얼마나 오래 시청했는지, 어떤 상품 페이지를 몇 번 클릭했는지, 어떤 음악을 반복해서 들었는지, 심지어 스크롤을 멈춘 지점이 어디였는지까지도 모두 암시적 피드백이에요. 사용자가 굳이 ‘이 노래 좋아요’라고 표현하지 않더라도 같은 노래를 10번 반복해서 들었다면 그 노래를 좋아한다고 추측할 수 있죠. 암시적 피드백은 사용자의 모든 행동에서 자동으로 수집되기 때문에 데이터양이 훨씬 많고, 사용자가 의식하지 못하는 숨겨진 선호까지 드러냅니다. 예를 들어 제나가 SF 영화에 평점을 남기지 않더라도 실제로 SF 영화를 평균보다 길게 시청한다면, 이는 제나의 숨겨진 SF 취향을 보여주는 중요한 조건이 됩니다.
하지만 추천 시스템의 데이터는 독특한 특성을 가집니다. 희소성(sparsity) 문제가 대표적이죠. 아무리 영화를 많이 보는 사람이라도 넷플릭스의 전체 영화 가운데 1퍼센트도 보지 못하죠. 따라서 사용자-영화 데이터의 99퍼센트 이상이 빈 공간으로 남고, 추천 시스템은 ‘모르는 것’이 ‘아는 것’보다 압도적으로 많은 상황에서 예측을 해야 합니다. 이런 상황에서는 기존에 알고 있는 조건을 최대한 활용하는 것이 중요해지죠.
또 다른 특징은 데이터의 주관성과 시간에 따른 변화입니다. 어떤 사람은 웬만해서는 별 5개를 주지 않는 까다로운 평가자인 반면, 다른 사람은 조금만 괜찮아도 별 5개를 주는 관대한 평가자일 수 있어요. 따라서 A라는 사용자의 별 4개와 B라는 사용자의 별 4개가 같은 선호도를 의미한다고 단순하게 가정할 수 없습니다. 또한 사용자의 취향은 고정적이지 않아서 시간이 지나면서 변할 수 있어요. 대학생 때는 액션 영화를 좋아했던 사람이 직장인이 되면서 다큐멘터리에 관심을 가질 수도 있고, 계절에 따라 선호하는 음악 장르가 달라질 수도 있습니다.