본문 바로가기

알고리즘

(18)
데이터 vs 모델 (알고리즘) Between data and model, which is more important in AI era? 이런 류의 질문은 누군가 내게 직접 물어봤으면 좋겠지만 아무도 묻지 않으니 자문자답한다. AI 관련 글이나 동영상에 AI 시대에 데이터와 모델 (또는 알고리즘)의 중요성에 관한 설명을 종종 보곤 한다. 직접적으로 내게 '뭐가 더 중요해?’라고 묻는다면 당연히 ‘듈다’라고 답하겠지만, 기술의 발전 단계 상에서 둘 간의 경중이 계속 변해왔음을 볼 수 있다. 굳이 현시점을 기준으로 답한다면 다시 데이터가 더 중요해졌다고 본다. 더 많은 데이터보다는 정제되고 신뢰할 수 있는 데이터가 중요해지고 있다. 이전 글에서 밝혔듯이 이젠 이런 류의 질문은 먼저 ChatGPT의 답을 보고 계속 설명을 이어가자. (Kor..
모든 ML 알고리즘의 이해 이직 후로는 면접에 들어가지 않고 있지만 면접에서 유능한 인재를 만나면 묻고 싶었지만 아직 한 번도 묻지 못한 질문이 있다. 머신러닝 학습의 핵심이 뭐냐? 는 질문이다. 개별 알고리즘의 개념이 아닌 모든 알고리즘들의 공통된 근간이 무엇인지를 묻는 질문이다. 내가 생각하는 이 질문의 답에 관한 글이다. 물론 내가 틀렸을 수도 있다. 모든 — 적어도 내가 아는 모든 — ML 알고리즘은 유사도 (또는 거리)를 측정하는 거다. 나 (X)랑 닮은 X’를 찾거나 나랑 전혀 다른 X’’를 찾는 것이 ML 알고리즘이다. 회귀 Regression은 나랑 닮은 X들이 공통으로 같은 Y, 보통은 평균을 예측/계산하는 알고리즘이다. 분류 Classificaiton은 나와 근접한 X들이 다수를 점유하는 클래스를 찾는 거다. C..
알고리즘 소개: Product Quantization 오랜만에 알고리즘을 소개하는 글을 적는다. 몇 달 전에 처음 Product Quantization (PQ)를 접하고 재미있어서 — 간단하지만 효과 있어서 — 간단한 소개글을 적으려 했으나, 페이스북에서 이 알고리즘을 제안한 논문 (Optimized Product Quantization for Approximate Nearest Neoghbor Search)을 제출한지도 벌써 10년이 더 지났고 FAISS: a library for efficient similarity search라는 오픈소스도 공개돼있어서 굳이 이제야 글을 적어야 할까?를 오래 고민했지만, 최근에 너무 가벼운 글들만 적었고 또 이 글을 통해서 PQ라는 알고리즘을 처음 접할 이들도 있을 것 같아 글을 적기로 했다. 알고리즘 자체는 매우 간..
알고리즘을 경배하라? 우리는 알고리즘의 시대를 살고 있다. '알고리즘'이란 단어가 흔해졌다. 예전에는 평생 들어보지도 못했을 사람들의 입에서 알고리즘이란 단어가 심심찮게 나온다. 제대로 이해하고 말했다고는 보지 않지만 그만큼 알고리즘이란 단어가 흔해졌고 일종의 알 수 없는 전지전능한 무엇을 총칭하는 용어가 됐다. 이글에서 알고리즘의 사전적 의미까지 뒤질 필요는 없을 거다. 그냥 일반인들이 느끼는 알고리즘의 느낌적 느낌에서 시작한 글이다. 어느 순간부터 '알고리즘'은 그저 마법의 단어가 됐다. '알고리즘이 알아서 해줘요'라고 하면 모든 상황이 종결된다. 알고리즘의 간택으로 벼락 유명인이 된 콘텐츠 제작자들의 간증을 유튜브에서 심심찮게 볼 수 있다. 그 단맛을 잊지 못해서 다시 간택을 받으려고 알고리즘 친화적인 콘텐츠를 제작해서..
최적화 알고리즘 누군가 '인생은 속도보다 방향이 중요하다'라고 말하면 이과생이 등장해서 '속도는 벡터로 이미 방향을 포함한 값이므로 속도가 아니라 속력이다'라고 정정할 거다. 정의상 속도는 힘의 방향과 힘의 크기가 결합된 벡터, 즉 '속도 = 방향 + 속력'이다. 늦더라도 언젠가는 원하는 목표를 이루는 사람들을 보면 인생에서 방향이 중요한 듯하다가도 속력이 크면 더 빨리 성공하거나 실패하더라도 아직 젊으니 새로운 도전을 할 수 있어 속력이 더 중요한 듯하기도 하다. 사람마다 가치관과 방식이 모두 다르니 방향이니 속력이니 하는 논쟁은 각자의 사정에 맞게 잘 조절하면 된다. 어쨌든 인생에서 방향과 속력이 모두 중요하듯이 최적화도 방향과 속력이 중요하다. 머신러닝 모델을 최적화하는 방법은 "An Overview of Grad..
현재의 딥러닝을 가능케한 기술들 Deep Learning Breakthroughs 데이터 분석 및 알고리즘 개발을 업으로 하면서 딥러닝 Deep learning은 늘 관심의 대상이었다. 하지만 알고리즘을 실제 구현해보거나 여러 라이브러리를 이용해서 실제 문제에 적용하는 것을 시도하지 않았기에 그런 의미에서 딥러닝에 문외한이라 할 수도 있다. 그럼에도 -- 빅데이터 기술을 어느 순간부터 결국 업에 적용했던 때와 같이 -- 딥러닝 기술도 언젠가는 내가 담당하는 업에 적용해야할 때가 올 것을 알았기에 알고리즘의 기본 지식을 공부하거나 딥러닝 발전의 주요 논문을 빼놓지는 않고 찾아보곤 했다. 딥러닝의 가능성이 일반에 알려지기 시작한 2013년도부터 계속 지켜봐왔기에 딥러닝 전문가는 아니지만 딥러닝의 발전 과정을 어느 정도 꿰뚫고 있다고 생각하기에 어떤 기술들이 현재의 딥러닝을 가능케했는지를 ..
광고는 서비스의 동반자다 어쩌다 보니 카카오 AI 리포트 7월호에 카카오의 광고 랭킹 알고리즘을 소개하는 글을 적게 됐습니다. (퇴고 시간이 길었지만 실질적으로 이틀만에 급하게 적음) 원래는 제목처럼 '광고는 서비스의 동반자다'라는 이름으로 글을 적었지만 최종 편집본에는 '더욱 똑똑해진 AI 광고 알고리듬'으로 정해졌습니다. 대부분은 초본과 같았지만, 서론과 결언 부분이 조금 편집되면서 변경됐습니다. 그래서 초안에 적었던 서론과 결언만 다시 적습니다. 개인적으로 한글화가 어색한 영어 용어는 그냥 영어로 적는 편인데 편집되면서 한글화된 점도 미리 밝힙니다.ㅠㅠ===답이 정해진 질문으로 시작합니다. 구글 Alphabet Inc.은 무슨 회사인가?라는 질문에 많은 사람들은 검색 서비스 회사나 안드로이드 OS 를 만드는 회사 정도로 답..
데이터 미신 하나. 데이터는 엄격해야 한다. 오랫동안 데이터 관련 업무를 해왔지만, 관련된 모든 것을 완벽하게 알고 있는 것은 아니다. 그저 일을 하면서 느낀 의견일 뿐이고, 어쩌면 다른 많은 데이터 분석가들은 동의하지 않을지도 모른다. 많은 일반인들은 데이터는 매우 정확한 것이다라는 인식을 가진 것같다. 특히 일반 개발자들과 일을 하다보면 대략적인 데이터 관련 로직/알고리즘을 스케치해서 알려주면 세세한 부분까지 내가 알려줬던 내용을 그대로 구현하려는 경향이 있다. 데이터 관련 전문성/경험의 부족에 따른 것일 수도 있고, 그냥 시각의 차이일 수도 있다. 데이터 분석의 결과는 매우 정확하고 그것을 반드시 따라야 한다는 생각을 가졌는지도 모른다. 그런데 분석 업무를 하다보면 엄격하게 정확한 데이터에 기반해서 의사를 결정하기도 하지만, 많은 경우 분석가..