웹 개발자로 3년 차를 찍고 회사에서 하는 일 이상으로 여러 경험을 쌓으려 노력하는 요즘, 눈과 귀에 자주 들어오는 키워드가 있다. 바로 머신러닝이다. 구글에서도 밀어주고 있고 마소에서도 밀어주고 있다고, 미래는 머신러닝과 빅데이터의 시대이며 근미래가 아니라 바로 지금 개발자의 기본소양이 머신러닝이라는데 왜 난 머신러닝의 ㅁ 자도 낯설어하고 있는지. 관심이 없는건 아니다. 다만 이론보다 실전을, 기저 로직보다 실제 사용 가능한 코드 조각을 더 선호하는 스타일 때문에 머신러닝을 기웃거리다가도 어디에 어떻게 적용해야할지 몰라 깊게 파고들지를 못했다는게 변명이라면 변명이겠다.

스터디뽀개기 - 실전 머신러닝 세미나에 대한 알림을 받았던 그 순간까지만 해도 캐글이라는 플랫품에 대해 알지 못했다. 잠시 캐글이 어떤 플랫폼인지 위키에서 알아보면:

캐글(Kaggle)은 2010년 설립된 예측모델 및 분석 대회 플랫폼이다. 기업 및 단체에서 데이터와 해결과제를 등록하면, 데이터 과학자들이 이를 해결하는 모델을 개발하고 경쟁한다. 2017년 3월 구글에 인수되었다.

물론 구글 등 유수 기업에서 제공하는 서비스에서도 두 Big bros에 대한 훌륭한 인사이트를 찾을 수 있지만, 캐글 만큼 문제해결에 집중된 느낌은 아니었다. 드러날듯 말듯 동경해오던 머신러닝에 대한 강한 동기부여가 될 수 있을거라는 희망을 가지고 7월 8일 토요일 오후의 세미나를 손 꼽아 기다렸다. 세미나는 강남의 네이버 D2 Startup Factory에서 진행되었다. (깃헙에 전체 세션의 발표자료 및 세미나 정보를 공유해주셨다)

  1. 김연민 님 - 앙상블: ML의 끝판왕, 파라미터의 최적화 삽질에서 벗어나자 StackNet (캐글 상위권 도전기)

    상위권으로 마감1하신 캐글 컴페티션에서 겪었던 문제풀이 과정과 시행착오, 꾸준히 캐글에 도전하며 체득한 유용한 팁을 공유해주시는 발표였다. 발표에서 소개해주셨던 컴페티션은 가장 최근의 것으로, 미국 뉴욕시의 하우스 렌탈업체인 RentHop의 하우징 리스트에 대한 사용자들의 선호도 예측2이 목표였다. 발표자 분은 이 컴페티션에서 좋은 결과을 거둔 경험을 통상적인 데이터 분석 문제의 해결 과정과 함께 찬찬히 설명해주셨다. 문제 해결의 큰 프로세스와 함께 해결 과정에서의 자잘한 에피소드들을 들을 수 있어 흥미로웠던 시간이었다. 사용자들이 가장 영향을 많이 받을거라 생각했던 객실 사진이 사실은 가장 적은 빈도로 활용된 정보라든지, 예기치 않게 유출되는 매직 피쳐에 대한 내용 등등.

    다만 머신러닝과 빅데이터에 관한 내 기본기가 너무 부족하다보니 강연에서 공유해주신 각 과정의 디테일한 내용을 모두 소화하지 못한 부분이 있었다. 피쳐 엔지니어링 등의 추상적인 개념은 상세하게 설명해주셔서 용어가 낯선 나로서도 큰 어려움 없이 이해 할 수 있었으나, 실제 사용된 라이브러리나 알고리즘의 종류를 언급해주실 때 내 머릿속에서 맥락이 바로바로 연결되지 않는 부분이 있어 조금 아쉬웠다.

  2. 한재근 님 - GPU와 딥러닝 트렌드

    그래픽카드로 유명한 N사에 재직중인 한재근 님의 GPU 관련 발표. 타이틀 그대로 GPU 산업 트렌드에서 딥러닝이 미친 영향부터 2017 GDC에서 발표했던 차세대 GPU Volta에 대한 간략한 소개까지를 커버해주셨다.

    임베디드한 부분은 아무래도 관련 지식이 적다보니 큰 감흥 없이 지나갔지만, 언제나 그랬듯 관련 산업의 뒷 이야기를 듣는건 즐겁다. GPU 시장에서의 실제 가장 큰 고객은 누구인가? 구글의 딥러닝 투자로 인한 N사의 반사이익과 쿠다의 공개 배경까지.

  3. 이상열 님 - R Tidyverse 이해하기

    실습형 데이터 분석 스터디 그룹 캐글뽀개기에 대한 소개와 함께 R 라이브러리 Tidyverse에 대한 스터디 결과 공유로 이루어진 발표였다. Tidyverse는 공통된 디자인 철학을 공유3하는 데이터 분석 패키지의 집합으로서, R을 별도로 공부해본 적 없는 본인도 한 번 쯤은 들어본 ggplot2, purrr, stringr 등의 유용한 패키지들을 포함하고 있다. 세미나 시간이 제한된 관계로 각 패키지 별로 특징을 간략하게 소개만 해주셨는데, 두 번째 발표보다 세 번째 발표에 시간이 좀 더 할애되어 소개에서 나아가 활용까지 간략하게 다루었으면 더 좋았겠다는 아쉬움이 조금 남는 발표였다.

    아래는 이상열 님이 소개해주신 각 패키지의 기능을 간략히 속기한 내용:

    • dplyr: 데이터 조작
    • forcats: 요인(factor) 처리
    • ggplot2: 레이어 기반 시각화
    • haven: 외부 데이터 조회
    • lubridate: 날짜 처리
    • magrittr: %>% 파이프라인 처리식
    • purrr: 함수형 프로그래밍 보조
    • readr: 데이터 읽을 때 (file io 등?)
    • readxl: 데이터 읽을 때 (excel 특화)
    • stringr: 문자열 처리
    • tibble: 강화된 data.frame? - 살짝 설명을 놓쳤다 ㅜ
    • tidyr: 데이터의 행열 기준을 swap

어디까지나 사전에 빅데이터 관련한 인사이트를 찾는 자리로 삼자고 마음 먹고 왔음에도 불구하고 사전지식이 뒷받침 되었다면 더 많은 것을 얻을 수 있지 않았을까 아쉬웠던 자리였다.

발표와 조금 별개로 세 번째 발표 시작 전 발표자 이상열 님의 요청으로 청중을 포함한 세미나 참석자 모두가 간략하게 자기소개를 하는 시간을 가졌다. 맨 앞자리 첫 분에게 마이크를 넘겨주실 때만 해도 어색하기만 할 줄 알았던 자기소개였는데, 막상 내 차례가 되어 자기소개를 해보니 내가 무엇을 위해 이 자리에 왔으며 현재 어떤 위치에 있는지 보다 명확해지는 느낌을 받았던게 기억에 남는다. 열심히 하자고 매번 다짐하면서도 이제와서? 굳이? 라는 질문들로 머뭇거리게 되는 요즘이었는데, 조금이라도 스스로에게 동기부여가 되는 경험이 되었으면 한다.

참고링크

  1. 2017년 7월 12일 현재 김연민 님의 캐글 프로필의 가장 최근 컴페티션 기록에서 상위 5%, 은메달로 랭크되신걸 확인 할 수 있다. 멋지다. :) 

  2. How much interest will a new rental listing on RentHop receive? 

  3. The tidyverse is a collection of R packages that share common philosophies and are designed to work together.