NLP를 위한 딥러닝 가이드

2012년 이미지넷(ImageNet)에서 토론토 대학의 알렉스 크리제브스키가 들고 나온 '알렉스넷(Alexnet)'은 기존의 참가자들을 현격한 차이로 따돌리며 놀랄만한 정확도를 보여주었다. 알렉스넷은 딥러닝이었다. 이후 불과 몇 년 사이 모든 참가자들이 딥러닝을 택할 정도로 이제 딥러닝은 비전 인식에 획기적인 변화아래 그래프 참조를 주도 하고 있다. 우리가 잘 알고 있는 2016년 알파고도 딥러닝이다.

바야흐로 딥러닝에 관한 다양한 양질의 문서가 하루가 멀다하고 출판되기 시작했다. 배움의 속도보다 새로운 논문이 출판되는 속도가 더 빠른 세상이다. 작금의 시점에 또 다른 문서를 작성하며 숟가락을 얹기 보다 기존의 좋은 문서를 잘 엮어주는게 훨씬 더 중요하고 가치 있겠다는 판단에 이번에는 기존과 달리 여러 딥러닝 자료들을 정리하고 부연 설명을 곁들인 형태로 정리해 본다.

특히 비전 인식을 제외한 NLP로 주제를 제한하고 수식과 알고리즘부터 시작하여 밑바닥부터 시작하는(from scratch) 구현, 도구(TensorFlow, Keras)를 활용한 서비스를 위한 구현까지 단계별로 정리해볼 예정이다. 기존 awesome lists와 유사한 형태로 상세한 부연 설명을 곁들여 NLP를 위한 딥러닝을 구현하는데 도움이 되도록 한다.

2017년 1월 11일 초안 작성

전통적인 CV방식(파란색)과 딥러닝 방식(초록색)의 이미지넷 정확도 결과1

문서

이론, 튜토리얼

신경망

NLP

  • CS224d: Deep Learning for Natural Language Processing
    Richard Socher의 스탠포드 강의 자료. 이 사람은 매닝과 응의 제자로 메타마인드를 창업했고 스탠포드에서 지도 교수였던 매닝과 함께 NLP 강의도 진행하고 있다.
  • Deep Learning Research Review Week 3: Natural Language Processing
    NLP를 위한 딥러닝 기법, CNN, RNN, GRU, LSTM등을 총 망라.
  • Deep Learning for NLP
    Richard Socher가 2014년 리스본 ML 섬머 스쿨에서 발표한 자료. NLP를 위한 딥러닝 기술을 설명하는 자료인데 너무 길어서 아직 다 읽어보진 못함. 다른 얘기지만 상당히 매력적으로 생긴 사람. AI For Everyone이란 주제로 진행된 세일즈포스 키노트에서 발표(메타마인드는 세일즈포스에 합병됨)한 영상에 40분부터 등장. 재킷이 어색하다며 웃는데 상당히 매력적. 여기서 마지막에 QA 시스템을 소개. 조만간 세일즈포스의 ERP, CRM에서 고품질 QA를 볼 수 있을듯.
  • Deep Learning for NLP
    Richard Socher가 비슷한 내용으로 2016년 딥러닝 스쿨에서 발표한 내용. 여기에 소위 딥러닝 본좌들이 모여 이틀간 발표를 했는데 유튜브 발표 영상이 있으니 반드시 감상 추천. 1일차, 2일차 각각 10시간
  • Natural Language Processing (almost) from Scratch
    2011년에 arXiv에 올라온 같은 제목의 논문을 소개. 참고로 이 블로그는 운영자인 Adrian Colyer가 CS 논문을 하나씩 선별하여 소개하는 블로그인데 좋은 논문들이 많이 올라온다. 블로그 제목도 the morning paper.
  • Deep Learning, NLP, and Representations
  • On word embeddings - Part 1
    워드 임베딩 모델에 대한 소개. 글 목록을 보면 Part 3까지 word2vec, GloVe등 대표적인 모델을 소개한다. GloVe와 word2vec은 어떻게 다른가요? Quora에 올라온 질문. word2vec은 “예측” 모델이고, GloVe는 “카운트 기반” 모델이라고

CNN

RNN, LSTM

TensorFlow, Keras

강화 학습

기타

  • Arxiv Sanity Preserver
    arXiv에 등록되는 수많은 논문을 분석하여 Top papers를 보기 좋게 정렬하여 보여준다. Karpathy가 만듬
  • GitXiv
    논문 구현을 깃헙 코드와 연동

NLP를 위한 딥러닝을 실제 서비스에 적용하면서 매우 다양한 책을 구매하여 읽어보았다. 구매하여 읽었던 책 목록과 간략한 소감을 정리해본다.

  • 마스터 알고리즘
    인공지능으로 나아가는 마스터 알고리즘이 존재할 것이다 라는 전제하에 각 문파들의 각종 기술과 최고 수준의 필살기를 하나씩 소개하며 끄집어 내는 책. 비개발자를 위한 책이지만 각 알고리즘의 명칭을 들어본 적이 전혀 없다면 이해하기가 쉽지 않음. 이미 알고리즘과 머신러닝에 대해 잘 알고 있다면 재밌게 읽을 수 있다.
  • 불멸의 이론
    마찬가지로 재밌게 읽을 수 있는 역사책(?)이다. ‘베이즈 정리는 어떻게 250년 동안 불확실한 세상을 지배하였는가’ 부제가 딱 어울리는 책.
  • 인공지능 현대적 접근방식
    가뜩이나 책 내용이 복잡한 수식으로 가득찬 어려운 이론서인데, 번역 또한 이해하고 풀어쓴게 아니라 원문의 직역에 가깝기 때문에 한국어로 읽었을때 도무지 무슨 말인지 이해할 수가 없다. 차라리 원서를 보는 편이 이해가 더 빠르다. 개인적으로 직역은 절대 피해야 한다는 지론을 갖고 있는데 아래에 소개하는 ‘텐서플로 첫걸음’이 완벽하게 이해하고 의역한 모범 사례를 보여준다면 이 책은 이해하지 못한 상태에서 직역하면 어떻게 되는지를 보여준 나쁜 사례로 볼 수 있다. 안타까운 점이다.
  • 밑바닥부터 시작하는 딥러닝
    라이브러리를 사용하지 않고 직접 알고리즘을 구현하며 원리를 설명하는 좋은 책. 실제 서비스에서는 결국 라이브러리를 사용할 수 밖에 없지만 이렇게 원리를 밑바닥 부터 이해해야 제대로 된 서비스 구현이 가능하다.
  • Building Machine Learning Systems with Python
    scikit-learn을 이용, 따라하기 식으로 구현하는 머신러닝 책. 딥러닝은 아니지만 머신러닝을 직접 구현해보고 이해하는데 큰 도움이 된다.
  • 텐서플로 첫걸음
    바르셀로나의 카탈루냐 공과대학교 교수인 Jordi Torres가 적은 튜토리얼을 번역한 책. 한글로 된 매우 훌륭한 블로그인 텐서플로우 코리아 블로그의 운영자가 직접 번역한 책. 기술을 이해하고 번역한 책이라 그런지 번역이 매우 자연스럽고 번역서 부록인 RNN, LSTM 섹션도 읽을만함. 딥러닝 개념을 이해한 상태에서 텐서플로우 활용법을 처음 접하기에 좋은 책
  • 집단지성 프로그래밍
    이 책의 원서는 출간된지 거의 10여년이 지났는데 놀랍게도 랭킹 구현에 딥러닝을 사용하고 있다. 물론 당시에는 딥 하진 않았지만 신경망의 개념을 그대로 사용하고 있고 역전파도 직접 구현했다.
  • 파이썬 라이브러리를 활용한 데이터 분석
    데이타 시각화에 관한 책
  • 인공지능, 머신러닝, 딥러닝 입문
    번역서가 아닌 빠르게 나온 국내서로 머신러닝의 역사와 개념을 잡는데 도움이 된다. 그러나 본격적인 알고리즘 책도 아니면서 수식을 함께 나열하는 것은 다소 무리수 였다는 생각.
  • Python Machine Learning
    앞서 신경망 섹션에서 소개한 Raschka가 적은 책. 블로그를 참 잘 적는데 책 내용도 깔끔하게 정리되어 있다. 아쉽게도 번역서는 나오지 않았다.
  • Data Science from Scratch
    국내에는 ‘데이타 과학’이란 이름으로 번역서가 나왔으나 이 책은 원서일때 읽어봐서 번역서의 품질은 확인할 수 없다. 선형대수, 확률, 통계등 이론적 기반을 주로 다룬다.
  • Artificial Intelligence
    깃북에 있는 내용이다 보니 이걸 책으로 분류해야 할 지 문서로 분류해야 할 지 헷갈리는데 다루는 내용이 방대하고 길기 때문에 일단 책으로 분류. 여러가지 개념들을 알기쉽게 상세히 소개하고 있다.
  • Python Data Science Cookbook
    마찬가지로 이론적 기반을 주로 다루고 scikit-learn을 이용해 따라해보는 예제들로 구성되어 있다. 번역서는 나오지 않음.
  • Think Bayes: Bayesian Statistics Made Simple
    온라인에서 전문을 볼 수 있으며 PDF로 전체를 다운로드 할 수 있다. 주로 베이즈를 중심으로 한 이론적 기반을 다루지만 복잡한 수식보다는 파이썬 코드로 쉽게 따라해 볼 수 있는데 중점을 둔 책.
is a collection of Papers I have written.
© 2000 - Sang-Kil Park Except where otherwise noted, content on this site is licensed under a CC BY-NC 4.0.
This site design was brought from Distill.