본문 바로가기

implement_ml_models/RNN

implement_delta(before_w)(2)

2022.12.05 - [implement_ml_models] - implement_delta(before_w)

 

implement_delta(before_w)

2022.12.05 - [implement_ml_models] - implement_rnn(result_w) implement_rnn(result_w) 2022.12.05 - [implement_ml_models] - implement_rnn(delta2) implement_rnn(delta2) 2022.12.04 - [implement_ml_models] - implement_rnn(delta) implement_rnn(delta) 2022.12.03

teach-meaning.tistory.com

2022.12.05 - [implement_ml_models] - implement_delta(input_w)(2)

 

implement_delta(input_w)(2)

2022.12.05 - [implement_ml_models] - implement_delta(input_w) implement_delta(input_w) input_w 3개의 입력, 4개의 출력의 rnn 모형, 입력의 변화량에 대한 오차 함수의 변화량을 계산하기 위해 입력의 각 값이 오차 함수

teach-meaning.tistory.com

이전 노드의 출력에 대한 가중치 업데이트 값 연산도 동일하게 수정해준다.

hidden_delta
>>>
array([[-6.01148924672637],
       [-4.72593646409843],
       [-6.19494552973728],
       [-4.56025513330089]], dtype=object)
       
output
>>>
array([[0.],
       [0.],
       [0.],
       [0.]])
       
rnn.before_w[0]
>>>
array([[0.67443854, 0.04859   , 0.37792503, 0.60971927],
       [0.68256154, 0.37249555, 0.54094653, 0.38607249],
       [0.0830565 , 0.94813373, 0.64650067, 0.99249619],
       [0.6808205 , 0.53670434, 0.88575993, 0.66067123]])
       
d_before_w = hidden_delta * output.T
d_before_w
>>>
array([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]], dtype=object)

이 경우 첫 번째 층의 이전 노드에 대한 입력은 0으로 생각하기 때문에 업데이트 값이 0으로 계산된다.

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

implement_LSTM(forget_gate)  (0) 2022.12.13
implement_LSTM(input_gate)  (0) 2022.12.13
implement_delta(input_w)(2)  (0) 2022.12.05
implement_delta(before_w)  (0) 2022.12.05
implement_delta(input_w)  (0) 2022.12.05