본문 바로가기
머신러닝_공부/파이썬

[python/keras] RNN return_sequences값에 따른 결과 값 차이

by Oliver_Candy 2024. 12. 13.

1) return_sequences = True 이면 입력 시간대로 들어간 sequence데이터를 시간대별로 결과 output 행렬로 만드는 것 

    ex) simpleRNN(20, return_sequences=True, input_shape [None,1]) 일 때 
    input형태가 [batch_size=3, time_steps=3, 1]이면
    output 형태가 [batch_size=3, time_stpes=3, 20]으로 나옴

X = [
[[1.2], [1.4], [1.5]], # 첫 번째 샘플 (time_steps=3, features=1)
[[2.3], [2.2], [2.8]], # 두 번째 샘플 (time_steps=3, features=1)
[[3.1], [3.3], [3.2]] # 세 번째 샘플 (time_steps=3, features=1)
]
Y = [
[
[0.1, 0.2, ..., 0.9], # 첫 번째 샘플, 첫 번째 시간 단계 결과
[0.3, 0.5, ..., 1.1], # 첫 번째 샘플, 두 번째 시간 단계 결과
...,
[0.7, 0.8, ..., 1.2] # 첫 번째 샘플, 다섯 번째 시간 단계 결과
],
...,
[
[0.4, 0.6, ..., 1.2], # 세 번째 샘플, 첫 번째 시간 단계 결과
...,
[0.8, 0.9, ..., 1.5] # 세 번째 샘플, 다섯 번째 시간 단계 결과
]
]




2)return_sequences = False 이면 입력 시간대로 들어간 sequence데이터를 마지막 시간의 결과만을 output 행렬로 만드는 것

Y = [
[0.7, 0.8, ..., 1.2], # 첫 번째 샘플 (마지막 시간 단계 결과)
[...] # 두 번째 샘플 (마지막 시간 단계 결과)
[0.8, 0.9, ..., 1.5] # 세 번째 샘플 (마지막 시간 단계 결과)
]

 

댓글