DIYA의 2020년 머신러닝 프로젝트 소개


full

ML2는 머신러닝 대학연합동아리인 DIYA를 지원하고 있습니다. ✨
올해 4기 활동을 시작한 DIYA는 그동안 다양한 프로젝트들을 진행했는데요, 본 포스트에서는 2020년 DIYA의 머신러닝 프로젝트를 간단히 소개하고자 합니다.

1. Style Transfer for Language

특정 문장의 스타일을 다른 스타일로 바꾸는 Language Style Transfer를 구현해 본 결과와 그 성능을 측정해보고, 이를 한국어 데이터에 대해 적용해본 프로젝트 입니다.

eighty

  • 병렬 데이터 없이도 language style transfer를 할 수 있다면, 병렬 데이터가 부족한 언어 도메인에서도 data augmentation 등 다양한 시도를 할 수 있을 것이기에 NLP에서의 style trnasfer는 흥미로운 연구 분야입니다.
  • 해당 프로젝트에서는 긍정/부정 여부를 style로 지정하고 이를 부정/긍정적인 문장으로 변환하는 실험을 진행했습니다. 평가를 위해서 pretrained 된 BERT 모델을 이용한 classifier를 사용했습니다.

👉 자세한 내용과 실험 코드들은 'Style Transfer for Language' 포스팅 - (DIYA 블로그)를 통해 확인하실 수 있습니다.

2. Understanding Proximal Policy Optimization

Policy gradient/actor-critic 분야의 핵심 알고리즘인 Proximal Policy Optimization Algorithm (PPO) 에 대해 포스팅으로 정리하였습니다.

eighty

  • PPO의 탄생배경을 알기 위해 Trust Region Policy Optimization (TRPO)에 대해서도 살펴보고 있습니다.
  • PPO는 TROP의 장점은 유지하면서 최적화 과정을 단순화하여 좋은 성능을 보여주고 있습니다.
  • PPO의 핵심 내용인 'Clipped Surrogate Objective'와 'Multiple Epocks Policy Update'에 대한 설명도 다루고 있습니다.

👉 자세한 내용은 'Understanding Proximal Policy Optimization' 포스팅 - (DIYA 블로그)를 통해 확인하실 수 있습니다.

3. 자연어 처리의 4가지 단계

Stanford의 CS224n 강의 내용을 바탕으로 자연어 처리 방법의 개요를 포스팅으로 정리하였습니다.

  • 자연어 처리의 4가지 단계를 정리하고, 각 단게의 주요 개념들을 다루고 있습니다.
  • Preprocessing > Tokenization > Token Embedding > Document Embedding 각 단계를 쉽게 이해하기 위한 다양한 예시와 재밌는 설명을 곁들였습니다.

👉 자세한 내용은 '자연어 처리의 4가지 단계' 포스팅 - (DIYA 블로그)를 통해 확인하실 수 있습니다.

4. MBTI Classification Using Language Models

Kaggle의 MBTI데이터셋을 분석해 각 16개의 타입으로 분류하는 모델을 구현해본 프로젝트입니다.

sixty

  • 데이터셋은 총 8,675명의 사람들이 각각 적은 포스트 50개씩, 즉 총 433,750개의 포스트에 대해 작성자의 MBTI 성격 유형 라벨이 부여되어 있는 자료를 사용했습니다.
  • 다양한 전처리 방법(Original, Masked, Hypertext), 임베딩 방법(CountVectorizer, LanguageModel), 그리고 분류 알고리즘(Classical ML, MLP)에 따른 학습 결과를 정리하였습니다.

👉 자세한 내용과 실험 코드들은 'MBTI Classification Using Language Models' 포스팅 - (DIYA 블로그)를 통해 확인하실 수 있습니다.

cc
members

이진명

Jinmyoung LEE

Research Engineer

github   github