728x90
728x90
RNN은 기본적으로 시계열 데이터를 예측할 때 사용된다고 한다.
그런데 인공지능을 만드는데 사용하면서 항상 애매했다...
이 친구의 input, output이 어떻게 되는지
내부 구조는 아는데 명확하게 계산이 어떻게 되는지를 정립을 못하고 있었다.
2023.12.15 - [인공지능/공부] - 시계열 데이터(주가, imu data) 예측 인공지능 - RNN, LSTM
주식 데이터 맞추기는 위와 같은 형태라고 보면 된다.
만약 10개 주가를 뽑아서 그 다음 1분개 주가를 예측한다고 하면 입력 데이터는 10개, 라벨은 1개이다.
RNN에 인풋으로는 1개의 주가가 들어간다. 이것이 RNN input이다.
그럼 차례대로 10개가 계속 들어가면서 RNN은 옆으로 hiddenstate를 넘겨주면서 다시 input을 받는다.
마지막 10개의 데이터가 들어오면 그 때 데이터와 히든 스테이트를 통해 출력을 뱉는 것이다.
self.rnn= nn.RNN(input_size=n_inputs, hidden_size=n_neurons, batch_first=True, nonlinearity='relu')
근데 그때의 차원은 뉴런 수(히든 사이즈) 이다.
여기서는 hidden_size를 100으로 뒀었는데 100으로 나오니 그걸 1로 줄여주는 FCN이 필요하다.
self.fc= nn.Linear(n_neurons, n_outputs) # RNN의반환값은h이므로한층더필요
맨날 아리까리 하다가 이번에 확실히 여쭤봐서 정리...
many to many일 때도 RNN의 weight는 동일하고 매번 결과를 뱉는다는 것만 차이가 있는 것이다.
728x90
'인공지능 > 공부' 카테고리의 다른 글
모두를 위한 머신러닝 10주차 2차시 - 오차 분석 방법 (0) | 2024.05.09 |
---|---|
모두를 위한 머신러닝 10주차 1차시 - 머신러닝 시스템 설계 시 고려사항 (0) | 2024.05.09 |
인공지능과 빅데이터 10주차 3차시 - 인공지능 윤리의 중요성과 원칙 (0) | 2024.05.07 |
인공지능과 빅데이터 10주차 2차시 - 인공지능 윤리이슈 (1) | 2024.05.07 |
인공지능과 빅데이터 10주차 1차시 - 인공지능 기술의 미래와 윤리 (0) | 2024.05.07 |