lstm 1. RNN 함수형 API 설명

행동하는 개발자·2022년 11월 16일
0

RNN

목록 보기
1/14

미래를 예측할 수 있는 네트워크, 네트워크 순환 신경망은 고정길이 입력이 아닌 임의 길이를 가진 시퀀스를 다룰 수 있다. 예를 들어 문장, 문서, 오디오 샘플을 입력으로 받을 수 있고, 자동 번역, 스피치 투 텍스트 같은 자연어 처리에 유용하다.

케라스의 함수형 API

  • API(Application Programming Interface): 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다. 인터페이스는 두 어플리케이션 간의 서비스 계약

케라스의 모델 설계 방식은 Sequential API를 이용한 것이다. 그러나 이것은 여러 층을 공유하거나 다양한 종류의 입력과 출력을 사용하는 등의 복잡한 모델을 만드는 일에는 한계가 있다. 이번에는 더욱 복잡한 모델을 만들 수 있는 방식은 Functional API이다.

example)
일반적인 사용

inputs = Input(shape=(10,))
hidden1 = Dense(64, activation='relu')(inputs)  # <- 새로 추가
hidden2 = Dense(64, activation='relu')(hidden1) # <- 새로 추가
output = Dense(1, activation='sigmoid')(hidden2) # <- 새로 추가
model = Model(inputs=inputs, outputs=output) # <- 새로 추가

변수명을 x로 할 때,

inputs = Input(shape=(10,))
x = Dense(8, activation="relu")(inputs)
x = Dense(4, activation="relu")(x)
x = Dense(1, activation="linear")(x)
model = Model(inputs, x)

RNN 은닉층 사용

inputs = Input(shape=(50,1))
lstm_layer = LSTM(10)(inputs)
x = Dense(10, activation='relu')(lstm_layer)
output = Dense(1, activation='sigmoid')(x)

model = Model(inputs=inputs, outputs=output)
profile
끊임없이 뭔가를 남기는 사람

0개의 댓글