오늘 읽기 시작한 부분에서는 ‘캐글Kaggle‘이라는 예측 모델 및 분석 대회 플랫폼과 관련된 얘기가 나온다. 이 플랫폼은 기업 또는 단체에서 데이터와 해결 과제를 등록하면, 데이터 과학자들이 그 등록된 과제를 해결하는 모델을 개발하고 경쟁하는 식으로 운영된다고 하는데, 여기서 중요한 것은 데이터 과학자들이 제공한 솔루션들이 그대로 저장되어 있어서 빅데이터 전문가로 성장하길 원하는 사람들이 이 플랫폼을 자신의 교보재로 활용할 수 있다는 점이다.

처음 밑줄친 부분에선 캐글을 활용하는 예시 하나가 소개되어 있다. 각자 취향에 따라 연구분야를 선정한 뒤 예시에 나온 식으로 이 플랫폼(캐글)을 자유자재로 활용한다면 이제껏 세상에 없었던 자신만의 솔루션을 만들어볼 수도 있지 않을까? 문득 이런 말이 생각났다. ‘모방은 창조의 어머니다‘

이미지 분류에 대해서 공부해보고 싶다면 검색 창에 ‘image classification‘ 이라고 검색하면 된다. 그러면 해당 키워드로 검색된 코멘트, 데이터 세트, 노트북 파일 등을 한눈에 볼 수 있다. 자신의 프로그래밍 언어(파이썬 또는 R)에 맞는 코드들만 따로 필터링할 수도 있고 데이터 세트 양(medium, large, small)에 따라서도 필터링 할 수 있다. - P182

즉, 너무나 많은 자료들이 있기 때문에 본인 취향에 맞게 충분히 이것저것 공부해볼 수 있다. 이렇게 이것저것 다양한 분야의 데이터를 다루어보고 연구 분야를 선택하면 된다. - P182

꼭 현재 대세가 되는 연구 분야를 주 연구 분야로 선택할 이유는 없다. 인기 있는 연구분야는 그만큼 하는 사람들도 많기 때문에 특별히 잘하지 않는 이상 그 가치를 인정받기 어렵다. 자신이 재밌고 잘할 수 있는 분야를 몇 개 선정해서 계속 집중적으로 연구하면 된다. - P182

우리가 지금까지 공부한 내용들은 자신만의 전문 분야를 선택하는 데 도움을 주고 그 전문 분야를 심층적으로 공부할 수 있는 능력을 함양하는 데 목적이 있다. - P184

아무리 유능한 연구원, 교수들도 자신만의 세부 연구 분야를 선정해두고 그 분야만을 연구한다. 자신이 멘사를 능가하는 엄청난 천재가 아닌 이상 모든 분야를 공부하려 하지 말고 자신만의 세부 연구 분야를 선정해야 한다. 그리고 자신이 잘할 수 있는 강점(연구분야)를 찾고 갈고닦아야 한다. - P185

우선 자신이 가장 잘하고 재밌는 분야를 연구 분야로 삼는 것이 당연히 좋다. 하지만 여기에 더 추가한다면 사회가 요구하는 인기 분야이면서 다른 사람들보다 자신이 경쟁력을 가질 수 있는 분야여야 한다. - P185

먼저 AI 빅데이터 전문가가 되기 위한 공부를 하고 사회에 나왔을 때 나를 필요로 하는 데가 많을수록 좋다. 예를 들어 현재 자연어 처리, 영상분석, 딥러닝 분야의 AI 빅데이터 전문가는 매우 인기가 높다. 취업할 곳도 많고 논문을 실을 수 있는 기회도 많다. 따라서 해당 분야의 전문가는 연구 분야 선정을 매우 잘한 것이다. - P185

자신만의 경쟁력을 지니고 있어야 한다. 남들과는 다른 특별한 경쟁력이 있으면 당신은 그 분야의 전문가를 넘어 권위자가 될 수 있다. - P185

연구 분야는 몇 개 정도를 선택하는 게 좋을까? 개인적인 생각으로는 주 연구 분야를 한두 개 정하고 부 연구 분야도 한두 개 정하는 것이 좋다. 즉 서너 개 정도가 적당하다. - P186

나는 주 연구 분야의 자세한 알고리즘에 대한 설명이 있는 책과 논문을 거의 매일 챙겨서 공부한다. 그리고 부 연구 분야에 대한 것은 실제 적용 부분에 대한 설명이 있는 책과 논문을 찾아 읽고 있다. - P186

텍스트 마이닝, 추천 알고리즘, 영상처리 분석, 이상탐지, 이미지 분석, 딥러닝, 기계학습, 시뮬레이션, 금융공학과 같은 특정 테크닉에 대한 연구 분야 선정 - P187

각 연구 분야마다 자주 쓰이는 알고리즘 또는 방법들이 있다. 예를 들어 텍스트 마이닝에서는 전처리 단계에서 단어 추출, 단어 정제, 단어마다의 가중치 생성과 같은 기술들이 매우 중요하다. 분석 단계에서는 토픽모델링, 감성 분석, 문서 요약, 단어 네트워크 등이 있다. 이는 다른 연구 분야에서는 볼 수 없는 텍스트 마이닝에서만 많이 쓰이는 고유한 기술들이다. - P187

이미지 분석의 경우 전처리 단계에서 이미지 특징 추출 (RGB, SIFT, Haar feature 등) 기술이 대단히 중요하다. 분석 단계에서는 이미지 분류, 이미지 경계선 추출, 유사한 이미지 판별 등이 있다. 이 또한 다른 연구 분야에서는 볼 수 없는 이미지 분석에서만 쓰이는 기술들이다. - P187

기술적인 측면에서 자신이 재미있고 이해가 잘되는 강점인 분야를 찾아야 한다. - P188

다음으로는 현상 측면에서 자신만의 연구 분야를 선정해야 한다. 예를 들어 자신이 기술적인 측면에서는 텍스트 마이닝을 선정했다면, 이 텍스트 마이닝 기술을 이용해서 어떤 것을 연구할것인가를 선택하는 것이다. 텍스트 마이닝 기술을 이용해서 정치문제에 대한 여론이나 금융 시장, 신기술 트렌드를 연구해볼 수도 있다. - P188

자신이 익숙하고 흥미로운 현상을 연구 분야로 선정해야 한다. - P188

우선 해당 연구 분야에 대한 자세한 설명이 있는 꽤 두꺼운 책을 구매해서 읽어라. 이 책은 마치 고등학교 시절 이해가 안 되는 부분이 있으면 《수학의 정석》을 제일 먼저 펼쳐보았던 것처럼 당신의 연구 분야에 있어서 교과서가 될 것이다. 최대한 상세 알고리즘에 대한 설명이 많고 자세한 수학적 설명이 있는 책을 선택하라. 그리고 수학적 설명의 이해를 돕기 위한 예제 세트가 함께 있으면 더욱 좋다. - P193

이러한 책을 읽을 때에는 메모가 필수다. 책도 두껍고 내용도 꽤 많아 읽을 때에는 이해가 될지 모르지만 다 읽고 나면 기억에 안남는 경우가 많다. 따라서 책을 읽을 때 연습장을 펼쳐두고 기존에 몰랐던 새로운 아이디어가 책에서 보이면 메모장에 적어두자. 나중에 실제 프로젝트를 하거나 논문을 쓸 때에 해당 아이디어가 큰 도움이 될 수 있다. - P194

이렇게 두꺼운 교과서로 해당 연구 분야에 대해서 꼼꼼히 살펴본 후에는 실제 코딩을 배우기 위한 책을 선택해야 한다. 따라서 자신이 주로 쓰는 프로그래밍 언어에 대한 책을 선택해야 한다. - P194

코딩을 배우기 위한 책은 실제 현업의 개발자가 쓴 책을 보는 것을 추천한다. 간혹 교수가 코딩 책을 쓰기도 하는데 아무래도 개발자에 비해서는 코딩 능력이 떨어지는 것이 사실이다. 그러한 책들은 코드에 대한 설명 없이 그냥 코드만 나열해놓는 경우도 많고 쉽게 라이브러리를 이용해서 몇 줄이면 될 것을 옛날 방식으로 하드코딩해서 어렵게 쓰기도 한다. - P195

한 가지 세부 연구 분야에 대한 교과서 한 권, 코딩 책 한 권 정도면 어느 정도 전문가가 되기 위한 준비가 된 것이다. 대신 책은 내용이 꼼꼼히 들어 있는 자세한 책을 선택하고 내용이 충분히 이해되도록 공부해야 한다. 그다음에 굳이 책을 더 읽고 싶으면 알고리즘 적용 분야에 대해 설명한 경영학적인 책을 몇 권 읽으면 도움이 된다. - P195

논문도 자신의 연구 분야에 해당하는 주제로 선별해서 읽어야 한다. 논문을 읽고 이해하는 것 자체가 진정으로 학자의 길로 들어서는 첫 길목과 같다. - P196

논문은 책과 달리 저자들이 새로운 아이디어가 떠오르면 바로 페이퍼로 게재하기 때문에 독자 입장에서는 최신 방법론, 알고리즘을 더욱 빠르게 습득할 수 있다. - P197

논문과 달리 책은 최신 경향에 대한 반응이 느릴 수밖에 없다. 그리고 새로운 아이디어가 떠올라도 아직 보편화된 방법론이 아니기에 검증 전에 쉽게 책을 쓸 수도 없다. 기본적으로 논문은 저자의 새로운 아이디어를 제안하는 데에 의의가 있지만 대부분의 책은 이미 논문에서 게재된 검증된 아이디어를 소개하는 데에서 그치기 때문이다. 특히 AI 빅데이터 분석 분야는 새로운 방법론, 알고리즘이 매일매일 너무나 많이 나오고 있기 때문에 논문을 항상 가까이 하는 게 필수적이다. - P197

또한 전문 연구 분야를 정했다고 하더라도 여기서 더욱 세분화된 연구 분야를 공부하고 싶을 때에도 역시 논문만 한 것이 없다. - P197

어느 정도 많이 논문을 읽어야 진정한 한 분야의 전문가가 될 수 있을까? 소위 공학 박사 학위 논문을 쓰려면 연구 분야에 관한 논문을 1,000개 읽어야 한다는 말이 있다. 과학적으로 입증된 사실은 아니지만 다수의 학자, 교수들이 공감하는 말이다. 그만큼 논문을 많이 읽는 게 중요하다. 왜냐하면 결국 전문가라는 게 남들보다 많이 알고, 많은 아이디어를 지니고 있는 사람인데 그만큼 많이 알려면 남들의 지식과 아이디어를 많이 읽고 참고해야 하기 때문이다. 그래야 비슷하지만 조금 변형된, 혹은 같지만 새로운 분야에 적용한, 또는 몇 가지 방법론 및 알고리즘을 혼합한 새로운 아이디어를 도출할 수 있다. 이는 남의 아이디어를 베끼는 표절과는 다르다. - P199

논문이라는 것이 원래 이전에 있었던 아이디어들을 적층한 다음 그 위에 더 새로운 아이디어를 얹은 것이다. 그래서 항상 논문에는 선행 연구 부분이 있는 것이다. 즉, 무에서 유를 창조하는 것은 없다. 다른 사람들이 쌓아놓은 지식 위에 내가 조금 더 지식을 쌓으면 그것이 논문이고 그것이 새로운 아이디어다. 많이 읽을수록 당신의 전문성이 높아지고 새로운 아이디어가 떠오를 가능성도 높아질 것이다. - P199

논문은 많이 읽으면 읽을수록 좋다. ...(중략)... 나름대로 읽으면서 따로 정리를 해야 한다. - P199

논문은 어디서 읽을 수 있을까? 구글 학술검색에 키워드로 검색하면 웬만해서는 다 무료로 다운받아서 읽을 수 있다. 만약 다운이 안 되는 논문이 있다면 대학교 도서관 포털을 이용해서 받을 수도 있다. 꼭 읽고 싶은 논문이 있는데 무료도 아니고 학생도 아니라면 비용을 지불하고 다운받아 읽거나 SCI-HUB와 같은 사이트를 이용할 수도 있다. - P201

세 가지 방법으로 논문 선택을 하면 된다. 첫째는 인용 수가 많은 논문을 읽는 방법이다. 해당 연구 분야에서 가장 인기 있고 인정받는 논문이니 당연히 읽을 만한 가치가 있다. 둘째는 최신 경향을 익히기 위해 게재 연도가 최근인 논문 중에서 자신에게 친숙한 저널이나 어느 정도 명망 있는 저널의 논문을 읽는 것이다. 셋째는 선행 연구 부분이 자세하게 나와 있는 하나의 논문을 정해서 해당 논문의 선행 연구에 있는 논문들을 찾아서 읽는 방법이다. 이 방법은 연구 동향에 대한 흐름을 익히는 데 도움이 된다. - P201

AI 빅데이터 분석을 위해서는 대표적으로 파이썬, R, 스파크가 쓰인다. - P202

(프로그래밍 언어를 공부하기 위한) 책은 기본적인 구문이나 예제 세트의 내용을 주로 다룰 때가 많아서 입문자에게는 좋지만 어느 정도 실력이 쌓인 실력자들에게는 크게 도움이 되지 않는다. 특히 직접 코드를 키보드로 입력해보는 것과 눈으로 읽고 넘어가는 것은 기억력 측면에서 큰 차이가 난다. 아무래도 직접 키보드에 입력해보고 코드가 실제 작동하는지 확인해야 더욱 기억에 잘 남는다. 그리고 만약 실제 작동하지 않으면 왜 작동하지 않는지 오류 부분을 찾으면서 실력 향상을 도모할 수도 있다. - P203

직접 다수의 코드라인을 입력하기에 가장 좋은 연습은 역시 실전 프로젝트다. 실전 프로젝트를 하게 되면 책의 예쁜 예제 세트와는 달리 지저분한 데이터의 전처리부터 직접 수행하면서 실전코드 실력을 키울 수 있다. 또한 실전이다 보니 마감 기한에 대한 압박이 더욱 열심히 하게 되는 자극제가 될 수 있다. - P203

프로젝트를 수행하면서 코드를 짤 때 막히는 부분이 있으면 어떻게 할까? 그때마다 책을 찾아보면서 관련 함수를 찾아보면 될까? 그럴 필요 없다. 그냥 구글에 검색하면 된다. 구글에 검색하면 스택 오버플로와 같은 웹사이트의 Q&A 게시판에 당신과 비슷한 질문을 올린 다른 사람들을 다수 보게 될 것이다. - P203

스택 오버플로는 컴퓨터 프로그래밍의 다양한 주제에 대한 질문과 답변기능을 한다. 현재 1,000만 명이 넘는 사용자 수를 보유하고 있으며 1,600만 개가 넘는 질문이 있다. 따라서 당신이 막혔던 부분은 1,000만 명이 넘는 사람 중 일부 다른 사람들도 막혔을 것이고 그것을 Q&A 게시판에 올려 답변까지 받았던 흔적이 분명히 존재할 것이다. 당신은 그저 답변에 올라와 있는 코드를 복사해서 당신의 코드 문맥에 맞게 조금 변형해서 넣어주면 끝이다. 이 모든 과정이 짧으면 10초 길어도 1분 이내에 대부분 끝난다. 또한 스택 오버플로는 비슷한 Q&A 글들을 모아주기 때문에 한 게시글에서 이해가 안 돼도 바로 옆 게시글들을 클릭해보면서 자신의 코드 문맥에 맞는 코드를 찾아낼 수 있다. - P204

막히는 코드 부분이 있다면 구글에 간단히 검색하면 된다. 예를 들어 파이썬을 이용해서 문자 형태의 데이터 구조를 날짜시간 형태로 바꾸고 싶다면 간단히 ‘string into datetime python‘이라고 검색하면 된다. 마찬가지로 R, 스파크로 같은 코드를 찾아보고 싶다면 ‘string into datetime r‘, ‘string into datetime spark‘라고 검색하면 된다. 문자열을 날짜시간 형태로 바꾸는 것은 워낙 보편적으로 많이 쓰는 것이기 때문에 관련 글들이 다수 존재할 것이다. 하지만 더욱 복잡한 구문을 검색하게 된다면 관련 글이 잘 안 보일 때도 있다. - P204

잘 쓰지 않는 라이브러리의 함수 관련 질문을 검색해보면 없는 경우가 있다. 따라서 이런 식으로 구글 검색을 통해서 코드라인을 채우는 식으로 코드를 작성하려면 아무래도 인기 있는 프로그래밍 언어를 쓰는 것이 유리하다. 왜냐하면 인기 있는 프로그래밍 언어를 써야 당연히 그에 해당하는 Q&A 게시글이나 포스팅이 많기 때문이다. - P205

AI 빅데이터 분석은 서버비를 제외하고는 대부분 인건비로 비용이 나가 시장 규모의 대부분이 인건비로 소진된다고 볼 수 있다. - P207

국내에는 AI 빅데이터 분석 전문 SI 업체들이 꽤 많이 있다. 솔트룩스, 모비젠, 엔텔스, 와이즈넛과 같은 회사가 대표적이다. 이런 회사들의 매출 대부분은 SI로 이루어진다. 그런데 실제 이런 회사에 가보면 AI 빅데이터 분석가가 부족해서 안달이다. 일은 많은데 할 수 있는 인재가 별로 없어 관련 학부를 졸업하고 조금만 경력이 있어도 금방 취업이 된다. 또한 스타트업이나 중소기업은 인재난에 시달리고 있다. 따라서 3~6개월 공부한다는 마음으로 이런 회사에 취업해서 실제 프로젝트를 접해보는 것도 추천하는 방법이다. - P207

크몽, 오투잡, 재능넷과 같은 플랫폼에 AI 빅데이터 분석가로 이력을 올리면 프로젝트를 받을 수 있다. 다만 아직 이름이 알려지지 않은 초기 회원이라면 비교적 규모가 작은 대학생 숙제와 같은 프로젝트 문의가 많이 들어올 것이다. 그래도 일반 개발자들에 비해서 AI 빅데이터 분석가는 희소하기 때문에 지금이라도 바로 시작하면 충분히 빠르게 인기 프리랜서로 올라설 수 있을 것이다. 예를 들어 국내 최대 재능플랫폼인 크몽에 머신러닝 카테고리를 보면 10여 개 서비스밖에 없다. 아직 블루오션인 분야이니 빠르게 도전해보자. - P208

자신이 직접 데이터를 수집해서 자체 프로젝트를 수행해볼 수도 있다. 예를 들어 웹크롤링을 이용해 SNS 텍스트 데이터를 수집해서 텍스트 마이닝 프로젝트를 해볼 수 있다. 인스타그램, 핀터레스트에서 사진을 추출해서 이미지 분석 프로젝트를 해볼 수도 있다. 유튜브에서 동영상을 다운받아서 영상처리 프로젝트를 해볼 수도 있다. - P208

국어사전에서 논문의 정의는 "어떤 것에 관해 체계적으로 자기 의견이나 주장을 적은 글. 그 체계는 대개 서론, 본론, 결론의 세 단계다"라고 나와있다. - P209

실제 저널에 논문을 투고했을 때, 실리는가 실리지 않는가의 가장 큰 잣대는 해당 논문이 어떠한 공헌도가 있는가 하는 것이다. 즉, 기존에 없었던 무언가 새로운 사항을 제안해서 학계에 실질적인 공헌을 했느냐가 가장 큰 관심사다. - P210

아무리 기발하고 복잡하고 어려운 아이디어라고 해도 기존에 이미 있으면 당신의 아이디어는 구식이 되고 논문으로서 가치가 없게 된다. 그래서 항상 논문을 쓰기 전 선행 연구를 중요시해야 한다. 쓰려고 하는 논문 주제의 기존 선행 연구들을 꼼꼼히 살펴본 다음 기존 연구에서 제시하지 못했던 것을 내 아이디어로 제시해야 하기 때문이다. - P210

우선 책이든 논문이든 당신이 하려는 연구 분야의 기존 연구 동향을 살펴보아야 한다. 연구 동향 파악을 위해서는 최신 논문들을 읽는 게 좋다. 구글 학술검색을 이용하면 연도별로 논문을 검색할 수 있는데 2018년, 2019년 이후의 논문들로 검색해서 보라. 최신 논문을 읽어야 최신 아이디어, 방법론, 알고리즘을 파악할 수 있기 때문이다. 예전 논문을 읽고 무언가 아이디어를 떠올렸는데 이미 최근에 게재된 논문의 아이디어와 동일하면 사실상 가치가 없다. 그리고 최신 논문들을 읽으면 해당 논문의 선행 연구들도 최신 경향을 반영하기 때문에 최신 트렌드를 더욱 빨리 잡아낼 수 있다. - P211

메타분석을 한 기존 논문을 읽으면 최근의 연구 동향을 더욱 자세히 빠르게 파악할 수 있다. 메타분석이란 기존 문헌들을 분석한 후 연구 트렌드와 연구가 부족한 부분을 연구하는 방법이다. - P211

구글 학술검색에서 검색 시에는 ‘literature review‘라는 키워드를 함께 넣어주자. 예를 들어 추천 알고리즘에 대한 메타분석 논문을 읽고 싶으면 ‘recommendation system literature review‘라고 검색하면 된다. - P211

대단히 새로운 아이디어를 생각해내야 한다는 강박관념에 시달릴 필요는 없다. 기존에 없는 연구라면 쉽고 간단한 방법론 또는 알고리즘으로 제시해도 충분하다. - P214

군집 분석, 나이브 베이즈, 의사 결정 나무와 같은 비교적 간단한 알고리즘들은 조금만 연구해보면 충분히 직접 코드로 구현할 수 있다. 그리고 라이브러리 함수에서 저절로 이루어지던 것을 하나하나 직접 코드로 작성하면서 그 안에 하나하나 연구해볼 만한 가치가 많을 것들을 파악할 수 있다. - P216

두 개 이상의 알고리즘을 순차결합 또는 동시결합을 통해 새로운 방법론을 제안할 수도 있다. 예를 들어 단순 뉴럴넷을 순차적으로 두 번 수행해서 하나의 방법론을 제안할 수도 있다. 너무 단순해 보이지만 이러한 방법도 논문이 될 수 있다. - P217


댓글(0) 먼댓글(0) 좋아요(14)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo