군더더기 없는 기계학습 백과사전

제 기계학습 블로그에 오신 것을 환영합니다! 본문

블로그 소개

제 기계학습 블로그에 오신 것을 환영합니다!

Jay김 2020. 4. 13. 02:50

블로그 소개.

해당 블로그는 영어에 익숙치 못해 다양한 외국 사이트에 접속하거나 외국 서적을 읽지 못하는 분들을 위해 천.천.히 만들어지는 블로그입니다. 기본 언어는 접근이 가장 쉽고 사실상 업계 표준인 Python이 사용될 것이며, 필요한 만큼 이론 설명이 이루어질 겁니다. MATLAB? Julia? 과감하게 무시합니다. 파이썬이 느리다고 망설이시는 분들도 있을텐데, 사실 한가지 히든카드가 있습니다. 머신 러닝을 위해 쓰는 파이썬 라이브러리들은 사실 C++나 Fortran에서 씌여져 이미 최적화 된 것이 대부분입니다. 심지어 Numpy나 Scipy 패키지를 어떻게 쓰느냐에 따라 어셈블리어 수준에서 최적화된 코드를 불러오는 경우도 존재합니다. 순수하게 파이썬 언어 자체로 써지는 경우는 거의 없고, 파이썬 언어 자체의 느림도 이 라이브러리들에서 불러오는 순간부터 영향이 줄어듭니다. 사실상 터미널과 GUI로 다루는 소프트웨어 경험 차이라고 생각하시면 됩니다.

제가 이루고자 하는 블로그의 성격은 딱딱하지만 효율적인 전문적인 용어 사용과 초보자도 접근이 쉬운 단순함 사이의 균형을 이루는 것입니다. 필자는 꽤 오랜 시간 동안 영어를 사용해 왔기 때문에 일부 사람에게는 좀 어색한 문장과 틀린 문법이 등장할 수 있습니다. 하지만 영어도 그렇듯이 장기간 동안 해당 블로그를 운영하면 서서히 나아질거라고 기대합니다.

해당 블로그는 몇 가지의 개인적인 철학을 따릅니다.

  • 이론은 둘째, 코딩 우선

저는 주로 쿼라 (Quora) 라는 사이트에서 소위 머신 러닝 엔지니어, 데이터 사이언티스트라고 불리는 많은 사람들의 글을 봐왔습니다. 그들이 공통적으로 강조하는 바는 해당 직군에서 일하고자는 하는 사람들에게 요구되는 스펙은 첫번째로 괜찮은 코딩 실력입니다. 얼마든지 입으로 이론을 설명하고 데이터에 온갖 소설을 부여할 수 있는 사람은 사회에 넘쳐납니다. 그러나 당장 인터뷰 자리에서, 예를 들어, k-means 군집부터 시작해서 더 복잡한 머신 러닝 알고리즘까지 코딩으로 직접 재현할 수 있는 사람이 몇 이나 될까요?  

머신 러닝 커리어는 깊게 파고들면 데이터베이스 운영 같은 곳에서 수 년의 코딩 경력을 쌓은 분들이나 누구도 발견한 적이 없는 지식을 찾아 가치를 창출해내는 현재 엄청난 몸값을 지니고 페이스북 일하는 얀 르쿤 (Yann LeCun) 같은 1%의 박사님들이 주로 자리잡고 있습니다. 우리가 현재 대학에서 배우는 기본 이론들은 이미 90년대에 연구가 많이 된 것들입니다. 게다가 머신 러닝은 엔지니어는 소프트웨어 엔지니어 중에서 정말 특수한 분야를 다루는 경력직이고 데이터 사이언티스트는 머신 러닝을 포함한 여러 분야를 통합해 기업의 이윤 창출을 이뤄줄 수 있는 딱봐도 수가 제한될 수 밖에 없는 인재들입니다. 이게 바로 수많은 학도들이 머신 러닝 분야에 몸을 담음에도 불구하고 흔히 요구되는 AI 전문가 같은 직업에 공급이 부족할 수 밖에 없는 이유입니다. 기업들은 사실 데이터 추출까지 포함한 기술적인 문제까지 해결해 줄 수 있는 시니어 엔지니어를 찾고 있지만 정작 넘쳐나는 건 주니어나 인턴 수준의 노동력인 거죠.

보다시피 이런 전문성으로 인해 저는 여러분의 커리어를 처음부터 끝까지 책임져 줄 수는 없습니다. 특히나 연구는 새로운 것을 찾는 과정이기 때문에 갖춰야 하는 기본 지식 이상의 것은 거의 완전히 여러분의 역량에 달린 작업입니다. 그러나 현실을 바라보고 여러분에게 최대한 실용적인 도움이 되는 정보를 제공하고자 노력할 수는 있습니다. 그러니까 일단 여러분이 John Na 싫어할 수 밖에 없고 익숙치 못해 기피하고자하는 코딩을 강조할 것입니다. 특히 해당 블로그는 여러분이 머신 러닝 공부중에 개념이 떠오르지 않거나 바로 코드를 사용해야 할 때 빠르게 찾아볼 수 있는 일종의 백과사전 같은 성격을 띄고자 합니다


  • 양보단 질

여기서 직접적으로 언급하겠습니다. 해당 블로그를 시작하게 되는 계기는 일부는 영리적인 목적이 있습니다. 그러나 그렇다고 방문자 수 올리겠다고 온갖 술법을 써서 막장으로 운영하겠다는 건 아닙니다. 필자는 쿼라에서 이미 Quora Program Partners (QPP) 라는 질문을 만들어 답변을 유도하고 그 쓰레드에 유입되는 이용자 수에 따른 광고 수입을 일부 얻어가는 프로그램에 가입하여 초보자치고는 꽤 높은 수익을 얻은 전적이 있습니다. 그러나 하면 할 수록 얼마나 이게 사람이 못할 짓인지, 그리고 하루 종일 별 쓸데없는 어그로 끄는 질문이나 고민해대느라 얼마나 삶의 질이 낮아지는지 경험할 수 있었습니다. 저는 그런 짓은 더 이상 하고 싶지 않습니다. 저는 대중에게 정말 필요하다고 판단되는 그리고 제가 만족할 만한 퀄리티의 글이 생성되고 나서야 공개할 것이며 최대한 초심을 유지할 것 입니다. 저는 개인적으로 누군가에게 코딩이랑 밀접한 분야를 가르쳐 줄 때 그냥 무작정 20줄 이상의 코드블록만 올리는 것과 개념만 설명한 문장만 잔뜩 올리는 것은 바람직하지 않은 방법이라고 생각합니다. 만약 웹사이트를 만들거나 데이터베이스를 분석해 결과물을 보여주고자 한다면 몇 주 동안 아무것도 올리지 않을 수도 있습니다.


  • 잡담
들어올 때 보셨겟지만 해당 블로그의 여러 주제 중에는 잡담이 포함되어 있습니다. 그러니까 가끔 머신 러닝이랑 연관이 적은 글들이 등장할 수 있음을 알려드립니다. 해당 글은 아예 다른 캐터고리로 분류되어 게시될 것입니다.




Comments