본문 바로가기
  • 공부 기록 인생 기록

Python/NLP18

장단기 메모리(Long Short-Term Memory, LSTM) 장기 의존성 문제(the problem of Long-Term Dependencies) - 은닉층의 과거의 정보가 마지막까지 전달되지 못하는 현상 바닐라 RNN은 출력 결과가 이전의 계산 결과에 의존함 아래 그림 처럼 x1의 정보량은 시점이 길어질수록 점점 옅어짐 -> 장기 의존성 문제 발생 LSTM은 이러한 바닐라 RNN의 단점을 극복한 모델 LSTM 구조 바닐라 RNN과의 차이점 - 은닉층의 메모리 셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가 -> 불필요한 기억을 지우고, 기억해야할 것들을 정함 - 은닉 상태를 계산하는 식이 조금 더 복잡 - 긴 시퀀스 데이터 처리에 성능이 훨씬 더 좋음 - 셀 상태(cell state) 라는 값이 추가 됨, C(t) -> 은닉 상태처럼 이전 시점의 셀 상태.. 2023. 3. 26.
워드투벡터(Word2Vec) Word2Vec - word to vec : 단어를 벡터 - 학습방식 - CBOW , Skip-Gram - 입력은 모두 원-핫 벡터가 되어야함 - distributional hypothesis : 비슷한 맥락에 등장하는 단어들은 유사한 의미를 지니는 경향이 있다 - Word2Vec은 출력층이 내놓는 스코어값에 소프트맥스 함수를 적용해 확률값으로 변환한 후 이를 정답과 비교해 역전파(backpropagation)하는 구조 - 궁극적으로는 예측이 아님! 임베딩 벡터 찾는 거.. CBOW(Continuous Bag of Words) - 주변에 있는 단어들을 입력으로 중간에 있는 단어들을 예측하는 방법 예시 : "The fat cat sat on the mat" - ['The', 'fat', 'cat', 'on.. 2023. 3. 20.
워드 임베딩이란 희소 표현(Sparse Representation) - 벡터 또는 행렬의 값이 대부분 0으로 표현되는 방법 - 예를들어 원-핫 벡터는 희소 벡터, DTM은 희소 행렬 - 고차원에 각 차원이 분리된 표현 방법 - 문제점 - 단어의 개수가 늘어나면 벡터의 차원이 한없이 커짐 - 원-핫벡터에서는 갖고 있는 코퍼스에 단어가 10000개면 벡터 차원 10000이어야함 - 공간적 낭비 - 단어의 의미를 표현하지 못함 - 단어 벡터간 유의미한 유사성을 표현할 수 없음 -> 대안 : 분산표현 분산 표현(Distributed Representation) - 가정 : 비슷한 문맥에서 등장하는 단어들은 비슷한 의미를 가진다. ex) 강아지는 귀엽다, 예쁘다, 애교 등의 단어와 주로 함께 등장. 이 단어들은 유사한 벡터값을 .. 2023. 3. 20.
RNN 언어 모델(RNNLM) 피드 포워드 신경망 언어 모델(NNLM) (tistory.com) 피드 포워드 신경망 언어 모델(NNLM) 피드 포워드 신경망 언어 모델(Feed Forward Neural Network Language Model) - 신경망 언어 모델의 시초 피드 포워드 신경망(FFNN) - 오직 입력층에서 출력층 방향으로 연산이 전개되는 신경망 기존 N-gram 언어 tgwon.tistory.com 순환 신경망(RNN) (tistory.com) 순환 신경망(RNN) RNN RNN(Recurrent Neural Network)이란? - 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델 - 가장 기본적인 인공신경망 시퀀스 모델 시퀀스 모델이란?? - 연속적인 입력으로 부터 연속적인 출력을 생 tgwon.tistory.c.. 2023. 3. 19.
순환 신경망(RNN) RNN RNN(Recurrent Neural Network)이란? - 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델 - 가장 기본적인 인공신경망 시퀀스 모델 시퀀스 모델이란?? - 연속적인 입력으로 부터 연속적인 출력을 생성하는 모델 - EX) 챗봇, 기계번역 - 단어의 시퀀스 = 문장 , 문장(단어 시퀀스)을 입력받는 모델을 시퀀스 모델로 볼 수 있음! RNN 특징 - 피드포워드 신경망이 아님 : 피드포워드 신경망에서는 시계열 데이터의 성질(패턴)을 충분히 학습할 수 없음. - 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 -> 출력층 방향으로 + 은닉층의 노드의 다음 계산의 입력으로 " 즉, 활성화 함수를 거쳐서 나온 출력 값을 출력층 방향으로 내보내고, 이 값을 그 다음으로 들어오는 입력값.. 2023. 3. 14.
피드 포워드 신경망 언어 모델(NNLM) 피드 포워드 신경망 언어 모델(Feed Forward Neural Network Language Model) - 신경망 언어 모델의 시초 피드 포워드 신경망(FFNN) - 오직 입력층에서 출력층 방향으로 연산이 전개되는 신경망 기존 N-gram 언어모델의 한계 : 희소문제(훈련코퍼스에 존재하지 않으면 확률이 0) 희소문제는 기계가 단어의 의미적 유사성을 알 수 있다면 해결할 수 있는 문제 언어 모델 또한 단어의 의미적 유사성을 학습할 수 있도록 설계한다면 훈련 코퍼스에 없는 단어 시퀀스에 대한 예측이라도 유사한 단어가 사용된 시퀀스를 참고하여 예측 가능 -> 신경망 언어모델(NNLM) 아이디어 NNLM - N-gram 모델 처럼 다음 단어 예측시 정해진 개수(N)의 단어만을 참고함 - N : 윈도우 - .. 2023. 3. 14.