순환 신경망

· 인공지능
LSTM 구조 기본 순환 신경망과 달리 LSTM 셀은 2개의 출력이 순환된다. 그중 하나만 다음 층으로 전달된다. 셀로 순환만 되는 출력을 셀 상태(C)라고 부른다. LSTM 셀에서는 이전 타임 스텝의 은닉 상태 H_p와 셀 상태 C_p를 사용해 어떤 계산을 수행하는지 살펴보자. s는 시그모이드 활성화 함수를 의미하고 t는 tanh 활성화 함수를 의미한다. x와 +는 각각 원소별 곱셈과 덧셈을 의미한다. 이전 타임 스텝의 은닉 상태 H_p와 입력 X가 가중치와 곱해져서 Z_f, Z_i, Z_j, Z_o를 만든다. 이 계산은 순환 신경망의 기본 셀에서 수행했던 것과 동일하다. Z에 대해서는 모두 동일한 방식으로 계산하지만 모두 다른 가중치를 사용한다. 먼저 Z_f는 시그모이드 활성화 함수를 적용한 다음 이..
· 인공지능
SimpleRNN 텐서플로에서 가장 기본적인 순환층은 SimpleRNN 클래스이다. 다음과 같이 만들 수 있다. 필요한 클래스 임포트하기 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, SimpleRNN 모델 만들기 model = Sequential() model.add(SimpleRNN(32, input_shape=(100, 100))) model.add(Dense(1, activation='sigmoid')) model.summary() 입력은 원-핫 인코딩 된 100차원 벡터이고 셀 개수가 32개이므로 W_1x 행렬 요소의 개수는 100 x 32가 된다. W_1h 행렬의 요소 개수도 32..
· 인공지능
순환 신경망 구현 순환 신경망을 구현여 텍스트를 분류하는 실습을 해보자. IMDB 데이터 세트는 인터넷 영화 데이터 베이스(Internet Movie Database)에서 수집한 영화 리뷰 데이터이다. 순환 신경망으로 이 리뷰들이 긍정적인지 부정적인지 판별해보자. 텐서플로에서 IMDB 데이터 세트 불러오기 import numpy as np from tensorflow.keras.datasets import imdb (x_train_all, y_train_all), (x_test, y_test) = imdb.load_data(skip_top=20, num_words=100) load_data() 함수를 이용하여 데이터를 불러온다. skip_top 매개변수에는 가장 많이 등장한 단어들 중 건너뛸 단어의 개수..