본문 바로가기

implement_ml_models/RNN

implement_GRU(z)

GRU 는 LSTM 과 비슷한 원리로 작동, 간소화된 방식으로 계산이 간편하다는 장점, 

이전 시점에서 받는 벡터가 h 로 하나이다. 또한 하나의 벡터 z 가 삭제, 입력 게이트를 모두 제어한다.

출력 게이트가 없어 전체 상태 벡터가 매 시점 출력된다. 

이전 상태의 어느 부분이 g 에 노출될지 제어하는 새로운 값 r 이 있다.

 

 
  def cal_z(self, t, input_x, output):
    w_xz = np.random.rand(output.shape[0], input_x.shape[0])
    w_hz = np.random.rand(output.shape[0], output.shape[1])
    b_z = np.random.rand(output.shape[0],1)

    self.w_xz.append(w_xz)
    self.w_hz.append(w_hz)
    self.b_z.append(b_z)

    z = w_xz@input_x + w_hz@self.hidden_unit[t] + b_z
    self.z.append(z)

    return z

 

'implement_ml_models > RNN' 카테고리의 다른 글

implement_GRU(g)  (0) 2022.12.13
implement_GRU(r)  (0) 2022.12.13
implement_LSTM(hidden_unit_output)  (0) 2022.12.13
implement_LSTM(cell_state)  (0) 2022.12.13
implement_LSTM(output_gate)  (0) 2022.12.13