Yeon's 개발블로그

지식을 전파하는 개발자가 되고싶습니다.

RNN 2

8. 텍스트 분류

텍스트 분류란 문장을 입력으로 받아 사전에 정의된 클래스 중 어디에 속하는지 분류하는 과정을 말한다. 감정분석, 스팸메일탐지, 사용자 의도분류, 카테고리 분류 등 많은 분야로 응용될 수 있다. 전처리를 하는 과정에서 분류를 하기전에 표제어나 어간을 추출의 여부에 대해 무조건적인 답이 정해져 있는 것은 아니다. 딥러닝의 시대에 접어들면서 차원 축소가 가능해졌기 때문에, 희소성에 관련한 문제는 어느정도 해결되었고, 그에 따라 표제어와 어간추출을 하지 않기 시작했다. 처음에는 일단 추출을 하지 않고, 나중에 코퍼스 양의 부족이 성능저하의 원인이 된다면 그때 추출을 시도해보는 것이 좋다. 1. RNN을 활용한 텍스트 분류 파이토치를 활용하여 코드를 구성하였고, LSTM 내부의 각 계층간에는 드롭아웃이 추가되어있..

NLP 2021.07.23

7. 시퀀셜 모델링

1. RNN (Recurrent Neural Network) 자연어 처리 분야에서 문장내 단어들은 순서에 따라 서로 영향을 주고받기때문에 순서 정보가 굉장히 중요하다. 따라서 순서정보를 사용하여 학습하는 것을 시퀀셜 모델링 (Sequential Modeling)이라고 한다. 순환신경망(RNN)은 입력과 그 직전의 hidden state를 참조하여 다음 hidden state를 결정하기 때문에 시퀀셜 모델링이 가능하다. RNN은 foward와 back-propagation 과정을 거치며 학습한다. 1) 피드포워드 함수 f는 xt와 h t-1를 입력으로 받아서 파라미터 Θ를 통해 h t 를 계산한다. ReLU대신 tanh를 활성화 함수로 사용하고, 최종적으로는 각 time-stamp에 대한 손실 L을 구한 ..

NLP 2021.07.23