• BERT 톺아보기

    어느날 SQuAD 리더보드에 낯선 모델이 등장했다. BERT라는 이름의 모델은 싱글 모델로도 지금껏 state-of-the-art 였던 앙상블 모델을 가볍게 누르며 1위를 차지했다. 마치 ELMo를 의식한 듯한 BERT라는 생소한 이름 그리고 구글에 모두가 궁금해하고 있을때, BERT의 등장을 알리는 논문이 공개됐다.
  • Attention Mechanism 시각화

    Seq2Seq는 시퀀스 데이터를 처리하는데 좋은 결과를 보여주지만 여전히 입력 시퀀스가 길 경우 장기 의존성long term dependencies 문제가 있다. 어텐션 메커니즘Attention Mechanism은 이 문제를 해결하는데 좋은 성능을 보여주며, 무엇보다 쉽게 시각화가 가능하다는 장점이 있다.
  • Seq2Seq 모델 디버깅

    Keras로 seq2seq 모델을 구축하는 어려움에 대해 얘기한다. 실제로 Keras로 사용하는 TensorFlow는 Graph와 Session이 나뉘어져 있기 때문에 새로운 모델을 구축해 테스트 하기 쉽지 않은 편이며 디버깅 또한 어렵다. 그러나 몇 가지 디버깅을 쉽게 할 수 있는 기법이 있는데, 여기서는 Keras에서 제공하는 seq2seq 기반의 덧셈 모델을 직접 디버깅 하면서 하나씩 살펴보도록 한다.
  • 문장 임베딩 Sent2Vec과 fastText 구현

    워드 임베딩이 인상적인 모습을 보여준 이후 문장 임베딩에도 다양한 시도가 있어왔다. Quoc Le가 Mikolov와 함께 연구한 Doc2Vec 부터 지금 소개하는 Sent2Vec 까지. 무엇보다 Sent2Vec은 논문과 함께 fastText를 fork하여 구현까지 함께 공개해 주목을 받고 있다. 여기서는 좋은 성능을 보이는 Sent2Vec 알고리즘과 fastText 구현에 대해 자세히 살펴보도록 한다.
  • 코사인 유사도의 의미

    일반적으로 문서간의 유사도를 비교할 때는 코사인 유사도cosine similarity를 주로 사용한다. 이 글에서는 그 동안 습관적으로 사용해오던 코사인 유사도의 의미를 수식과 함께 예제를 통해 정확히 이해해보도록 한다.
  • LSTM의 원리와 수식 계산

    LSTM은 RNN의 핵심을 이루는 모델이다. 그러나, 구체적인 구현에 대해 잘못 이해하고 있는 경우가 많다. 원리를 정확히 이해하는 일은 매우 중요한 만큼 여기서는 원리와 수식을 통해 직접 계산해보고 결과값을 검증해보도록 한다.
  • Backpropagation 계산

    안드레이 카파시는 Yes you should understand backprop라는 글에서 역전파backpropagation 코드를 직접 구현해보라고 한다. 뉴럴넷을 잘 만들려면 직접 정방향, 역방향 코드를 만들어볼 수 있어야 하며 역전파를 구현해보면 잘못된 값으로 기울기가 0이 되는 문제도 찾아낼 수 있기 때문. 실제로 역전파는 뉴럴넷을 이해하는데도 큰 도움이 되며, 역전파는 뉴럴넷의 핵심을 이룬다.
  • NumPy와 C++ Extensions의 성능 비교

    파이썬은 놀라운 생산성을 발휘하는 언어지만 성능 문제가 늘 발목을 잡는다. 이 문제를 극복하는 방법으로 일반적으로 C Extension을 작성하는 방법이 권장되는데 여기서는 표준 편차를 구하는 함수를 순수 파이썬 구현의 성능과 NumPy, 각종 C++ Extensions 구현 간의 성능을 비교해 보도록 한다.
  • Siamese LSTM을 이용한 Quora 질문 유사도 판별

    유사한 질문을 찾아내는 알고리즘을 고민하고 있던 중 마침 Kaggle에서 Quora의 유사 질문을 찾는 Quora Question Pairs Competition을 알게 되었고, 여기에서 평가가 매우 좋은 Siamese LSTM 네트워크를 이용한 문장의 의미론적 유사도를 판별하는 논문을 살펴보고 구현을 진행해본다.
  • 나이브 베이즈 알고리즘 확률 모델

    문장 분류에서 기대 이상으로 잘 동작하는 나이브 베이즈를 실제로 계산해보고, 이 값이 scikit-learn 라이브러리의 결과와 일치하는지, 알고리즘을 직접 계산하여 값을 검증해보도록 한다.
2017 Book Reports · 2018 Book Reports · 2019 Book Reports · Activation, Cost Functions · Apache Thrift · C++ · Docker · Go · HTML, CSS, JavaScript · Hadoop, Spark · Information Retrieval · Java · Keras · LifeHacks · MySQL · NLP 실험 · NLP · Naive Bayes · OAuth 2.0 · OOP · PHP · PyTorch · Python Data Structure Cheatsheet · Python · RSA · Software Deployment · Support Vector Machine · Word Embedding · XGBoost · Scikit Learn · 개발 생산성 · 거리 · 데이터 마이닝 · 데이터 사이언스 · 딥러닝 응용 · 딥러닝 · 머신러닝 분류기 · 머신러닝 · 비지니스 · 사회심리학 · 수학 · 알고리즘 · 영어 · 이산수학 · 인공지능 · 자료구조 · 진화생물학 · 컴퓨터시스템구조 · 통계학 응용 · 통계학 ·
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.