본문 바로가기

전체 글109

43.[RNN기초] RNN(many to one) 역전파 구현(실습2) 저번시간에 아래와 같이 RNN 역전파를 이용하여 문장에 의미가 있으면 1, 없으면 0을 구별하는 RNN 역전파를 구현하였다. 코드를 잘 보면 알겠지만 반복성에 의한 규칙이 존재한다. https://toyourlight.tistory.com/70 42.[RNN기초] RNN 역전파 구현(실습) 저번시간에 RNN 역전파를 BPTT(Backpropagation Through Time)로 구현하였다. 이번 시간은 이를 코드로 구현해 보자. 40차시에서 진행했던 코드를 참고하자.(https://toyourlight.tistory.com/67) 39.[RNN기초] RNN 순전파 toyourlight.tistory.com 왜 그렇냐면 RNN 자체가 이전 값을 받아오는 '재귀성'을 가지고 있기 때문에 역전파도 재귀성을 .. 2023. 9. 22.
42.[RNN기초] RNN(many to one) 역전파 구현(실습) 저번시간에 RNN 역전파를 BPTT(Backpropagation Through Time)로 구현하였다. 이번 시간은 이를 코드로 구현해 보자. 40차시에서 진행했던 코드를 참고하자.(https://toyourlight.tistory.com/67) 39.[RNN기초] RNN 순전파 구현(이론) 이전시간에 자연어 데이터를 이용하기 위해 문장을 의미 있는 단위로 구별(토크나이징)하고 구별한 토큰을 컴퓨터가 이해할 수 있는 데이터로 변환(워드 임베딩)을 실시하였다. 그리고 데이터 toyourlight.tistory.com 일단 데이터 전처리와 입력값, 목표값을 생성하자. import numpy as np from itertools import * np.random.seed(230907) dataset = ["a.. 2023. 9. 20.
41.[RNN기초] RNN(many to one) 역전파 구현(이론) 저번시간에 RNN의 순전파의 이론적 배경을 알아보고 코드로 구현하였다. 그렇다면 어떻게 역전파를 진행하여 가중치를 훈련할 수 있을까? 먼저 필요한 변수값을 다시 확인하자 time steps(t.s) → 3 (문장을 구성하는 토큰의 개수) sequence length(s.l) → 2 (데이터 전체의 토큰 개수) hidden node(h.n) → 3 (본인이 설정하는 값) output feature → 1 (출력 특성) 그리고 가중치의 크기를 확인하자. Wxh = ( sequence length(2), hidden node(3) ) → ( 2, 3 ) Whh = ( hidden node(3), hidden node(3) ) → ( 3, 3 ) Bh = (1, 1) Wy = ( hidden node(3), o.. 2023. 9. 19.
40.[RNN기초] RNN(many to one) 순전파 구현(실습) 이전시간에 아래의 순환 셀과 분류기(fc)에 대하여 각 가중치는 아래와 같음을 증명하였다. Wxh = ( sequence length(2), hidden node(3) ) → ( 2, 3 ) Whh = ( hidden node(3), hidden node(3) ) → ( 3, 3 ) Bh = (1, 1) Wy = ( hidden node(3), output feature(1) ) → ( 3, 1 ) By = (1, 1) 순전파를 코드로 구현해 보자. 1. 데이터 전처리 38차시에서 실시했던 전처리 코드이다. 그대로 시행하면 된다. import numpy as np from itertools import * np.random.seed(230907) dataset = ["as", "soon", "as"] d.. 2023. 9. 13.