본문 바로가기

딥러닝 수학25

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.
38.[RNN기초] 자연어 데이터는 어떻게 접근해야 할까? 드디어 연구를 끝냈다! 1. 들어가며 이전까지 학습한 내용의 데이터는 ( 데이터 갯수, 데이터 특징 )으로 구성된 csv 자료였거나 ( 데이터 갯수, 가로, 세로, 채널 )로 구성된 이미지 파일이었다. 이번엔 인공신경망에 자언어 데이터를 입력할 수 없을까? 자연어란 인간이 사용하는 언어라고 쉽게 생각하자. 예를 들어 "as soon as", "as as soon", "soon as as" 세 개의 문장에 대해 문법적으로 어떤 것이 의미 있는지 구별할 수 있는 인공신경망을 제작한다고 하자 "as soon as" → 1 "as as soon" → 0 "soon as as" → 0 "as soon as"는 문법적으로 올바르고 영어에서 널리 사용된다. 이것은 어떤 특정한 사건이나 상태가 발생한 직후 또는 직후에.. 2023. 9. 11.