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

[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]   # 세 번째 샘플 (마지막 시간 단계 결과)
]

 

댓글