본문 바로가기
728x90
반응형

Natural Language Processing23

[Goorm] 딥러닝을 이용한 자연어 처리 8 (Attention 메커니즘) 지금까지는 seq2seq모델이 RNN 기반의 LSTM모델보다 더 좋은 성능을 낸다는 것을 알 수 있었다. 하지만, 텍스트의 길이가 길어질수록 정확도가 0%에 가까워졌다. Seq2Seq의 문제점 고정된 길이의 컨텍스트 벡터seq2seq 모델은 입력 시퀀스를 고정된 크기의 컨텍스트 벡터로 압축한다. 이 컨텍스트 벡터는 모든 입력 정보를 담아야 하기 때문에, 특히 긴 시퀀스에서는 중요한 정보를 잃을 수 있다. 이러한 정보 손실로 인해 디코더가 필요한 모든 정보를 얻지 못하게 되어, 예측 정확도가 떨어지게 된다.긴 시퀀스 처리의 어려움긴 시퀀스를 처리할 때, 초기 입력 정보가 컨텍스트 벡터에 제대로 반영되지 않거나 희석될 수 있다.디코더가 전체 시퀀스를 제대로 이해하지 못하고, 출력시퀀스를 정확히 예측하지 못하.. 2024. 7. 9.
[Goorm] 딥러닝을 이용한 자연어 처리 7 ( Seq2Seq 와 인코더/디코더) 해보기 실습 1 ~ 10 사이의 숫자 5개를 입력하면 거꾸로 출력되는 모델 만들기검증은 계속 반복하며 Quit를 입력하면 종료Ex)  8 4 2 3 7 > 7 3 2 4 8 RNN에서 Seq2Seq로 - Step 1 (RNN을 사용한 모델 설계) import numpy as npfrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Embedding, LSTM, Dense, TimeDistributed, Bidirectionalx= np.random.randint(0, 10, size= (1000,5))y= np.array([i[::-1] for i in x])model= Sequential()model.add(E.. 2024. 7. 9.
[Goorm] 딥러닝을 이용한 자연어 처리 6 (LSTM과 CNN으로 IMDB 사용하기) Embedding 함수: 각 인덱스는 고유한 벡터 값으로 변환되며,학습 과정에서 이 벡터 값은 업데이트될 수 있지만, 동일한 인덱스는 항상 동일한 벡터로 매핑된다. 시퀀스(Sequence)의 개념시퀀스는 순서가 있는 데이터의 나열을 의미한다. 시퀀스는 다음과 같은 다양한 형태로 나타날 수 있다:단어 시퀀스: 문장을 구성하는 단어들의 순서. 예) "I love machine learning"이라는 문장의 단어 시퀀스: ["I", "love", "machine", "learning"].문자 시퀀스: 단어를 구성하는 문자들의 순서. 예) "hello"라는 단어는 문자 시퀀스: ["h", "e", "l", "l", "o"].숫자 시퀀스: 숫자들이 순서대로 나열된 것. 예) [1, 2, 3, 4, 5]는 숫자 시.. 2024. 7. 7.
[Goorm] 딥리닝을 이용한 자연어 처리 5 (LSTM 이용) LSTM을 이용한 로이터 뉴스 카테고리 분류하기 : 입력된 문장의 의미를 파악하는 것은 단어간의 관계를 파악한다기 보다 모든 단어를 종합하여 하나의 카테고리로 분류하는 작업이라고 할 수 있다.   1. 데이터 로드import numpyimport tensorflow as tffrom tensorflow.keras.datasets import reuters# seed값 설정seed= 0numpy.random.seed(seed)tf.random.set_seed(seed)(x_train, y_train), (x_test, y_test) = reuters.load_data(num_words=1000, test_split=0.2)# 데이터 확인하기category= numpy.max(y_train)+1print(c.. 2024. 7. 6.
728x90
반응형