티스토리 뷰

Hobby/Book

[Book] 머신러닝을 활용한 웹 최적화

생각많은 소심남 2021. 7. 16. 18:31

(해당 포스트에서 소개하고 있는 "머신러닝을 활용한 웹 최적화" 책은 한빛미디어로부터 제공받았음을 알려드립니다.)

 

머신러닝을 활용한 웹 최적화

웹 최적화에 머신러닝을 도입한 국내 최초의 책. 통계학과 머신러닝이라는 수학적 방법을 이용해 최적화를 설명하고 코드를 통해 구체적으로 알기 쉽게 정리했다.

www.hanbit.co.kr

예전과는 다르게 생활속에서 인공지능을 적용한 사례들이 점점 늘고 있다. 단순히 뭔가를 예측하거나, 이상점을 탐지하는 것에서 벗어나, 이제는 로봇을 제어하기도 하고, 인간이 생각하지 못했던 새로운 무언가를 만들어내기도 한다. 많은 사례들이 존재하기는 하지만, 내가 흥미롭게 본 사례 중 하나는 웹 최적화에 사용한 것이었다.

그림 1. A/B Testing (출처: Wikipedia)

사실 간단한 원리이긴 하지만, 사용자에게 여러 가지 웹 UI에 대해서 보여주고, 이에 대한 Click Rate를 바탕으로 조금 더 친화적인 디자인을 찾아나가는 방식이다. 사람들이 어떤 구체적인 것에 관심을 가지는지는 설명하기 어렵지만, 위와 같이 Click Rate를 바탕으로 "아 오른쪽의 그림처럼 버튼이 조금 더 활성화되어 있는 것을 더 선호하는구나" 라는 경향을 얻어내고 이를 바탕으로 최적화를 수행하는 것이다.

이전에 얼핏 MS Research의 John Langford가 강의한 내용을 떠올려보자면, 그는 Vowpal Wabbit이라는 multiworld problem을 푸는데 최적화되어 있는 ML System을 사용해서 MSN 사이트의 UI를 개선하였고, 이를 통해서 약 25% 정도의 클릭율 상승의 효과를 가져왔다고 했다. 사실 클릭율이 뭐 그렇게 대단한 것인가 생각할 수도 있겠지만, 구글이나 네이버, 카카오같이 광고로 먹고 사는 회사들은 이 클릭율을 통해서 수익을 창출하고, 그 가치가 어마어마하다. (혹시나 Langford가 한 강의를 찾아보고 싶으면 링크를 참고해보면 더 많은 내용이 소개되어 있다.)

그림 2. 머신러닝을 활용한 웹 최적화

서두가 길긴 했는데, 이번에 소개하는 책은 뭔가 이론적인 내용이라기 보다는 머신러닝을 실제로 적용한 사례 중 웹 최적화에 특화된 내용을 다루고 있다. 사실 나도 딱 웹이란 단어가 책 제목에 있기에 "나는 웹에 대해서 잘 알지 못하는데..." 라는 생각을 가지고, 조금 읽기가 꺼렸었는데 실상 이 책이 담고 있는 내용을 살펴보니, 그런 걱정을 할 필요가 없다는 것을 알았다.

간단하게 말하자면, 이 책은 딱 웹에 대한 뭔가를 얘기하고자 하는 것이 아니라, 머신러닝을 적용한 사례 중 웹 최적화를 수행할 때에 초점을 맞춘 책이다. 책에서 다루는 내용은 다음과 같고,

  • 베이즈 추론 기반의 의사 결정
  • 적은 데이터를 활용해서 효율적으로 가설 검증하는 방법
  • 선형 모델
  • 메타휴리스틱
  • Multi-Armed Bandit 문제
  • 베이즈 최적화 문제

중간 중간에 웹 최적화에 관한 예시들이 소개되어 있다. 사실 나도 강화학습에 관심을 가지고 공부하는 입장이긴 하지만, 이런 웹 최적화 문제도 강화학습 문제로 다뤄지는 것을 많이 봐왔다. 그도 그럴 것이 앞의 사례에서 보는 것처럼 어떤 환경이 주어졌을 때, 사용자의 반응을 보상이라고 여기고, 이 보상을 최대화할 수 있는 기법을 찾아가는 과정이 곧 강화학습 문제로 정의되는 것이다. 다르게 표현하면, 웹이라는 Context를 기반으로 하는 Bandit 문제가 되는 것이다. 그래서 이 책에서도 이런 문제를 해결하기 위한 다양한 샘플링 방법(Monte Carlo, Upper Confidence Bound, Thompson Sampling 등)들이 제시되어 있다. 

내가 특히 흥미롭게 봤던 예시는 앞에서 소개한 샘플링 기법들을 활용해서 사람에게 최적화된 색상표를 찾는 방법이었다. 

그림 3. 인공지능으로 찾은 색의 이력

사실 이 사례는 어떻게 보면 책에서 말하고자 하는, 인공지능으로 웹 최적화를 수행할 때 이런 문제도 해결할 수도 있다는 것을 보여주는 좋은 사례인 것 같다. 이를 해결하는 과정이나 과정의 이해에 필요한 기반 지식들이 적절하게 잘 설명되어 있어, 딱히 이 책이 웹에 특화된 책이라기 보다는 실용서적에 가까운 느낌이 들었다. 책의 분량이 그렇게 많지 않음에도 적절하게 이해에 필요한 확률/통계 지식이나 알고리즘에 대한 이론적인 내용이 적절하게 잘 조합된 책이었다. 이와 더불어 결과에 대한 효과적인 시각화 기법들이 포함되어 있어, 이 책에 한정짓지 않더라도 다른 분야에 적용해보면 좋을만한 내용들이 담겨져 있었던 것 같다. 

아마 서두에서 이야기했던 바와 같이 웹이란 말이 들어있어 거부감이 와닿았을 사람들도 있겠지만, 개인적으로는 이 책은 이론적인 내용과 웹에 대한 실용적 예시가 버물려진 인공지능 실용서이라고 생각한다. 혹시나 웹과 같은 Contextual Bandit Problem을 푸는 문제를 해결하고자 하는 사람이라면 이 책에 담겨진 내용들이 어떤 실마릴 찾는데 도움이 되지 않을까 싶다.

참고1: 사실 책에 대한 예제 코드가 딱 하나의 Jupyter Notebook으로 되어 있기 때문에 살펴보기 어려운 부분이 있다. 각 장별로 나눠서 소개했으면 좋았으련만 하는 아쉬움이 있다. 링크

참고2: 원저자 소개글

 

Shuhei Iitsuka

Shuhei Iitsuka is a creative technologist based in Tokyo. He makes new type of user experience by bridging the Web and machine learning technology.

tushuhei.com

 

댓글