RNN(2)
-
[RNN] Vanila RNN을 이용한 SPAM Filter구현
지난 [SPAM FILTER] 간단한 스팸 분류기 포스팅에서는 Scikit-learn 라이브러리와 RandomForest Classifier를 사용해서 간단한 스팸 필터(스팸 분류기)를 만들어보았습니다. 이 스팸 필터의 경우 98%에 가까운 정확도를 보여주었지만, 이는 과대적합의 가능성도 있을 뿐더러(포스팅 당시에는 과대적합여부를 따로 판단하지는 않았습니다.) 단어 사이의 문맥이나 연관 관계를 고려하지 않고, 스팸 메일에 속할만한 단어가 많으면 스팸 메일로 판단할 가능성이 높아지는 방식을 택한다는 한계점이 있었습니다. 따라서 RNN(Recurrent Neural Network)을 이용한 이번 포스팅과 LSTM(Long-Short-Term-Memory)를 이용한 다음 포스팅을 통해서 이를 점진적으로 개선해..
2020.04.19 -
Saliency Map
*본 포스팅은 Stanford CS231n 강의를 참조하였음을 미리 밝힙니다. *캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. 현대 딥러닝의 아쉬운 점 중 하나는 딥러닝의 학습 과정을 딥러닝 코드를 작성한 사람조차 알기가 어렵다는 점입니다. 모델 학습이 성공했다면 왜 성공했는지, 실패했다면 왜 실패했는지를 해석하기가 어려운데, 그 이유는 기본적으로 딥러닝 모델은 많은 데이터를 한꺼번에 처리하며, 여러 겹의 레이어를 학습시키는 과정에서 적어도 수만 가지의 파라미터를 다루어야 하기 때문입니다. 따라서 VIsualize(시각화)를 통해 각각의 레이어에서 무슨 일이 일어나고 있는지, 더 나아가서 학습 전반적이 과정에서 무슨 일이 일어나고 있는지를 연구하려는 여러 시도들이 ..
2020.03.15