본문 바로가기

딥러닝 이론34

45.[RNN기초] RNN(many to many) 역전파 구현(이론, 실습) 저번시간에 'hello'라는 단어를 이용하여 아래와 같이 순서대로 출력하는 many to many RNN 신경망을 어떻게 순전파 할 수 있는지 탐구하였다. 1. h 입력 → e 출력 2. e 입력 → l 출력 3. l 입력 → l 출력 4. l 입력 → o 출력 이 때 hyper parameters는 아래와 같이 설정하였다. time_steps = input_RNN.shape[1] # t.s(4) sequence_length = input_RNN.shape[2] # s.l(4) hidden_node = 3 # 내가 설정해야 하는 것, h.n(3) output_feature = targets.shape[1] # o.f(4) 1. many to many 역전파 조금만 생각하면 역전파는 어렵지 않다. 아래와 .. 2023. 9. 24.
44.[RNN기초] RNN(many to many) 순전파 구현(이론, 실습) 이전 시간까지 주어진 문장이 문법에 맞으면 1, 아니면 0으로 예측하는 RNN 기반 인공신경망을 제작하고 훈련하였다. as soon as로 배치되었을 때 1이고 as as soon, soon as as 이라면 0으로 두었다. 이번엔 가장 간단한 생성형 RNN을 접근해 보자. 바로 many to many 문제이다. 아주 쉽게 접근하는 방법으로 'hello' 문제를 생각해 볼 수 있다. 한글자를 입력하면 그 다음 글자를 예측하는 문제이다. 즉 아래와 같다. 1. h 입력 → e 출력 2. e 입력 → l 출력 3. l 입력 → l 출력 4. l 입력 → o 출력 지금까지 배운 DNN으로 해결할 수 있지 않을까? 생각이 들 수 있는데 나중에 보여주겠지만 잘 되지 않는다. 예를 들어 3번과 4번에서 같은 l이지.. 2023. 9. 23.
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.