본문 바로가기

순환신경망3

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.
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.