본문 바로가기

Messages from Bahn

(1181)
알고리즘 소개: Product Quantization 오랜만에 알고리즘을 소개하는 글을 적는다. 몇 달 전에 처음 Product Quantization (PQ)를 접하고 재미있어서 — 간단하지만 효과 있어서 — 간단한 소개글을 적으려 했으나, 페이스북에서 이 알고리즘을 제안한 논문 (Optimized Product Quantization for Approximate Nearest Neoghbor Search)을 제출한지도 벌써 10년이 더 지났고 FAISS: a library for efficient similarity search라는 오픈소스도 공개돼있어서 굳이 이제야 글을 적어야 할까?를 오래 고민했지만, 최근에 너무 가벼운 글들만 적었고 또 이 글을 통해서 PQ라는 알고리즘을 처음 접할 이들도 있을 것 같아 글을 적기로 했다. 알고리즘 자체는 매우 간..
인피니트 게임 데이터나 알고리즘에 관한 글은 아니다. 그저 책 소개라기보단 그 속의 개념을 내 방식으로 좀 풀어보려 한다. 넓게는 사람이 살아가는 모든 것이 데이터와 알고리즘이니 정말 무관한 주제도 아니다. 어쩌면 특정 알고리즘이나 기법을 소개하는 것보단 이런 개념을 공유하는 게 더 나은 데이터 사이언티스트, 개발자/기획자/경영자 또는 그냥 인간이 되는데 도움이 되리라 믿는다. 저자 사이먼 시넥 Simon Sinek은 꽤 유명하다. 거의 10년 전에 그의 TEDx 영상이 공개됐을 때 많은 사람들이 열광했고 소셜 미디어에 계속 퍼 날라졌다. ‘How great leaders inspire action’이란 제목의 TEDxPugetSound 영상은 이미 6천만 번 조회됐고 1.7백만의 좋아요를 받았다 (TED 공홈 기준)..
영작 Writing in English I'm back. 학교를 나온 후로 거의 15년 만에 논문이란 걸 적었다. 주저자는 아니지만 오랜만에 빨간펜 질을 하니 묘한 희열을 느낀다. 엉터리 영작을 교수님께 보내면 전체가 시뻘겋게 돼서 돌아온 기억이 새록새록한데, 이번에는 그 반대였다. 그냥 아이디어를 생각해서 구현, 실험해보고 논문을 작성하는 게 한편으론 내게 더 맞는 분야인 것 같다. 학계에는 남지 않겠다는 생각과 인터넷 비즈니스에 깊이 관여해야겠다는 생각이 지난 15년의 시간이었는데, 약간은 과거를 부정하는 모양새다. 난 거의 모든 종류의 언어에 약하다. 수학이 좋아서 이과를 선택한 것이 아니라 국어를 못 해서 이과로 간 거다. 영어는 여전히 난제다. 이직 후로 몇 차례 해외연과 화상회의에 참석하지만 난 늘 회의실 모퉁이에 그저 놓인 망부석..
정의가 곧 정의다. 문과와 이과를 가르는 명확한 판단 기준이 있다. ‘정의’에 해당하는 영단어가 무엇인지에 따라서 갈린다. Justice라 답하면 문과고 Definition이라 답하면 이과다. 그냥 우스갯소리로 치부했는데 몇 주 전에 정의를 잘 내리는 것이 곧 정의로운 것이라는 생각이 스치듯 떠올랐다. 이 글을 적는 취지는 데이터 과학을 포함하지만 데이터 과학만으로 제한하지도 않는다. 달고나 시리즈에서도 언급했는지 아니면 그냥 페이스북 담벼락에만 남겼는지 모르겠지만 개인적으로 한중일의 저자의 책은 잘 읽지 않는 편이다. 여러 번의 경험을 통해 얻은 편견이지만 그럼에도 여러 추천 글을 보면 또 속는 셈 치고 사서 읽어보기도 한다. 대부분은 내 편견을 강화시켜주지만 가끔 괜찮은 책을 만나기도 한다. 책 전체가 마음에 드는 건 ..
광고 매출 공식 제목이 영 맘에 들지 않는다. 보통 제목을 정하고 일을 시작하는 편이다. 글의 제목을 먼저 정하고 상세한 내용을 적는다거나 프로젝트명이나 코드명이 맘에 들면 그 프로젝트나 프로그래밍이 그냥 잘 진행되는 것 같다. 때론 이름을 정했어도 빛을 보지 못하고 묻힌 경우도 많다. 어쨌든 좋은 이름을 가지면 기분이 좋다. 그래서 이번 글의 전개가 심히 걱정된다. 기업이나 개인이 광고를 집행함으로써 매출을 극대화하는 것에 관한 글이 아니다. 온라인 광고 플랫폼을 갖은 기업이 광고를 통해서 매출을 올리는 일반적인 방법 또는 전략을 수식의 형태로 정리한 거다. 수식이라 해서 뭔가 복잡한 건 아니다. 일부 용어의 생소함은 있겠지만 곱셈으로만 이뤄졌다. (부분적으로 나눗셈이 포함됐다고 반박할 수도 있으나 나눗셈도 곱셈의 변..
랭킹에 관하여 Run-to-King 우리 일상의 많은 것이 랭킹과 관련 있다. 어쩌면 삶의 모든 것이 랭킹이다. 왕좌를 향해 달려가듯이 피라미드의 가장 높은 곳으로 올라가는 경쟁이 한편으론 우리를 각성케 한다. 속되게 말해서 줄세우기와 줄타기가 결국 랭킹이다. 비교나 연결도 랭킹으로 해결할 수 있다. 얼마나 가까운가 또는 먼가를 측정하고 붙일 것인가 뗄 것인가를 고민하는 것이 랭킹인 거다. 특히 데이터 분석이나 인공지능에선 업무의 대부분이 랭킹이고, 더 좋은 랭킹 알고리즘을 찾으면 레벨업하는 거다. 운 좋게도 Daum의 검색 본부로 입사해서 검색 랭킹의 극히 일부를 담당하기도 했었고 이후 추천 서비스들을 만들 때도 많은 아이템들을 줄 세운 후에 Top N개를 골라내는 일을 했고, 광고 분야로 옮긴 후는 Top 1을 선택하는데 기여했다. 신..
SHAP 이해하기 아직은 인간의 시간이다. 지금은 기계가 지배하는 시기인가? 딥러닝이 다른 모든 알고리즘들을 평정하기 시작한 지도 10년의 시간이 지났다. 더 많은 사람들이 관심을 갖고 자금이 몰리면서 하루가 다르게 발전하는 인공지능 기술을 눈으로 확인한다. 여전히 실생활과는 조금 동떨어진 측면이 없진 않지만 변화 속도는 놀랍다. 터미네이터의 ‘스카이넷’이 내일 등장해도 놀랍지 않다. 하지만 인공지능 기술이 더 발전할수록 아직은 인간의 한계를 벗어나지 못하고 있다. 성능적 한계가 아니라, 아직은 사람이 이해, 설명할 수 없으면 기술을 쉽게 받아들이지 않으려 한다는 거다. 더 복잡하게 진화할수록 사람들은 내부 메커니즘을 이해하고 싶은 욕구는 더 커질 거다. 적어도 나는 그렇다. 이 글을 읽는 이들이라면 XAI (Explai..
숫자에서 자유롭자 데이터 분석은 수놀음이다. 하지만 수만의 게임은 아니다. 여러 선택지 중에서 어떤 알고리즘 (모델)을 취할 것인가?라는 아주 흔한 상황을 생각해보자. 트레이닝 데이터로 모델들을 학습하고, 테스트 데이터로 각 모델의 정확도를 측정해서 가장 좋은 성능의 모델을 최종 선택할 거다. 원칙적으로 틀린 건 없지만 전적으로 옳은 것도 아니다. 숫자가 가장 객관적이지만 객관성만으로 모든 결정이 이뤄지는 건 아니다. A가 B보다 10% 낫다는 것이 과연 A가 답이다라는 걸 의미하는 걸까? 보통은 그렇다. 보통은… 숫자가 잘 작동할 때는 다른 여러 근거가 있는데 화룡점정으로 수치가 그 결정을 뒷받침해줄 때다. 아니면 어떤 수치를 얻었는데 그걸 제대로 해석하거나 다른 근거가 함께 동반될 때다. 게임이 복잡할수록 숫자 하나만..