더보기
42일 차 회고.
RNN에 대해서 배웠는데 이해가 잘 가지 않았다. 잘 모르겠는 부분은 최대한 강사님께 물어봤는데도 아직도 전부 해결이 안 된 느낌이다. 추가학습을 하거나 내일 코드를 짜면서 이해하도록 노력해봐야 할 것 같다.
0. RunPod
0-1. RunPod 설정

Cloud
- Secure Cloud
- 보안이 중요한 클라우드 환경
- Community Cloud
- 여러 조직이 자원을 공유하는 클라우드 환경
다운로드 속도
- Low
- Med
- High
- Extreme
- 사용할 때마다 매번 관련 라이브러리를 다운받아야 한다.

Instance Pricing
- On-Demand
- 필요할 때마다 클라우드 인스턴스를 구매하여 사용한다.
- Spot
- 여유 인스턴스를 경매 방식으로 구매하여 사용한다.
1. RNN
1-1. First Order System
현재 시간의 상태가 이전 시간의 상태와 관련이 있다고 가정한다.
Autonomous System
- 이전 시간의 상태를 입력으로 받는다. 따라서 외부의 입력 없이 스스로 돌아갈 수 있다.
- $x_t = f(x_{t-1})$
- $x$: 상태
- $t$: 시간
Non-Autonomous System
- 이전 시간의 상태와 현재 값을 입력으로 받는다.
- $x_t = f(x_{t-1}, u_t)$
- $x$: 상태
- $t$: 시간
- $u_t$: $t$ 시간일 때의 현재(입력) 값
State Space Model
- 1차원 시스템 모형(First Order System)
- $x_t = f(x_{t-1}, u_t)$
- $x$: 상태
- $x_t = f(x_{t-1}, u_t)$
- 각 시간에서 관측 가능한 상태
- $y_t = h(x_t)$
- $y$: 관측값
- $y_t = h(x_t)$
1-2. RNN(Recurrent Neural Networks, 순환 신경망)
RNN

- 입력받는 신호의 길이가 정해지지 않은 동적 데이터를 처리한다.
- CNN(위치)은 구역별로 같은 weight를 공유하지만, RNN(순서)은 시간별로 같은 weight를 공유한다.
- 초기 상태값은 방향(단방향 / 양방향), Layer, Model 개수에 따라 크기가 정해진다.
- 입력값(문장의 길이)과는 관련이 없다.
RNN 구조
- one to many
- 사진 설명 붙이기
- many to one
- 감성분석
- many to many
- 번역
1-3. RNN Model
import torch
from torch import nn
class RNN_Layer(nn.Module):
def __init__(self, emb_size, n_layer, n_hidden, is_bidirection=True) -> None:
super().__init__()
self.emb_size = emb_size
self.n_layer = n_layer
self.n_hidden = n_hidden
self.is_bidirection = is_bidirection
self.rnn = nn.RNN(
input_size=self.emb_size,
hidden_size=self.n_hidden,
num_layers=self.n_layer,
bidirectional=self.is_bidirection
)
def forward(self, x):
x_trans = x.transpose(0, 1)
n_direction = 2 if self.is_bidirection == True else 1
init_state = torch.zeros(n_direction * self.n_layer, x.shape[0], self.n_hidden)
out, hidden_state = self.rnn(x_trans, init_state)
return hidden_state[-1]
'SK네트웍스 Family AI캠프 10기 > Daily 회고' 카테고리의 다른 글
| 44일차. 자연어 딥러닝 - LSTM (0) | 2025.03.14 |
|---|---|
| 43일차. 자연어 딥러닝 - RNN (0) | 2025.03.13 |
| 41일차. 자연어 딥러닝 - CNN 1D Model (0) | 2025.03.11 |
| 40일차. 자연어 데이터 준비 - Text Preprocessing & 1D CNN (0) | 2025.03.10 |
| 39일차. 자연어 데이터 준비 - 형태소 분석 & 어휘집 & Padding (0) | 2025.03.07 |