본문 바로가기

자연어 처리116

[딥러닝을이용한 자연어 처리 입문] 0810 피드 포워드 신경망 언어 모델(Neural Network Language Model, NNLM) 1. 기존 N-gram 언어 모델의 한계 - 언어 모델은 충분한 데이터를 관측하지 못하면 언어를 정확히 모델링하지 못하는 희소 문제(sparsity problem)가 있음 2. 단어의 의미적 유사성 - 희소 문제는 기계가 단어 간 유사도를 알수 있다면 해결할 수 있는 문제임 - 언어 모델이 단어의 유사도를 학습할 수 있도록 설계한다면, 훈련 코퍼스에 없는 단어 시퀀스에 대한 예측이라도 유사한 단어가 사용된 단어 시퀀스를 참고하여 보다 정확한 예측을 할 수 있음 - 이런 아이디어를 가지고 탄생한 언어 모델이 신경망 언어 모델 NNLM임 3. 피드 포워드 신경망 언어 모델(NNLM) - 'what will the fat cat'를 입력을 받아서 'sit'을 예측하는 일은 기계에게 실제로는 what, will.. 2021. 5. 19.
[딥러닝을이용한 자연어 처리 입문] 0809 다층 퍼셉트론(MultiLayer Perceptron, MLP)으로 텍스트 분류하기 1. 다층 퍼셉트론(MultiLayer Perceptron, MLP) - 단층 퍼셉트론의 형태에서 은닉층이 1개 이상 추가된 신경망 2. 케라스의 text_to_matrix() 이해하기 3. 20개 뉴스 그룹(Twenty Newsgroups) 데이터에 대한 이해 4. 다층 퍼셉트론(Multilayer Perceptron, MLP)을 사용하여 텍스트 분류하기 - 출처 : [딥러닝을이용한 자연어 처리 입문] 0809 다층 퍼셉트론(MultiLayer Perceptron, MLP)으로 텍스트 분류하기 2021. 5. 19.
[딥러닝을이용한 자연어 처리 입문] 0807 케라스의 함수형 API(Keras Functional API) 1. Sequential API로 만든 모델 - 직관적이고 편지하지만 여러층을 공유하거나 다양한 종류의 입력과 출력을 사용하는 등의 복잡한 모델을 만드는 일에는 한계가 있음 2. Functional API로 만든 모델 - 각 층을 일종의 함수(function)로 정의 - 입력 데이터의 크기(shape)를 인자로 입력층에 정의해 주어야 함 1) 전결합 피드 포워드 신경망(Fully-connected FFNN) 2) 선형회귀(Linear Regression) 3) 로지스틱 회귀(Logistic Regression) 4) 다중 입력을 받는 모델(model that accepts multiple inputs) 5) RNN(Recurrence Neural Network) 은닉층 사용하기 - 출처 : [딥러닝을이용.. 2021. 5. 19.
[딥러닝을이용한 자연어 처리 입문] 0804 과적합(Overfitting)을 막는 방법들 1. 데이터의 양을 늘리기 - 데이터의 양을 늘릴 수록 모델은 데이터의 일반적인 패턴을 학습하여 과적합을 방지할 수 있음 - 의도적으로 기존의 데이터를 조금씩 변형하고 추가하여 데이터의 양을 늘리기도 함(데이터 증강 Data Augmentation) 2. 모델의 복잡도 줄이기 - 인공 신경망의 복잡도는 은닉층(hidden layer)의 수나 매개변수의 수 등으로 결정되므로 이 수를 조절함 3. 가중치 규제(Regularization) 적용하기 - L1 규제 : 가중치 w들의 절대값 합계를 비용 함수에 추가 (L1 노름) - L2 규제 : 모든 가중치 w들의 제곱합을 비용 함수에 추가 (L2 노름) 4. 드롭아웃(Dropout) - 학습 과정에서 신경망의 일부를 사용하지 않는 것 - 신경망 학습 시에만 사.. 2021. 5. 18.