===== 순환신경망(RNN) ===== ==== 개념 ==== 순서가 있는 데이터(Sequential Data)를 처리하기 위해 설계된 딥러닝 모델의 한 종류\\ '순서가 있는 데이터'란 단어의 순서가 중요한 텍스트(NLP), 시간의 순서가 중요한 시계열 데이터(주가, 날씨), 소리의 순서가 중요한 음성 등이 포함 \\ \\ ==== 주요단어 ==== === 셀(cell) === 순환 구조를 가진 [[딥러닝:은닉레이어]]의 뉴런을 지칭하며, (정확히는 은닉 상태를 계산하는 순환 구조의 계산단위) \\ 내부 메모리 (상태값)을 사용하여 순환하는 구조를 갖는다.\\ 순환은 어렵게볼거잆이 그냥 이전 셀의 정보를 당므 셀이 기억하고잇다는 것.\\ \\ ==== 어떻게 동작하나? ==== 일반적인 Dense 레이어(이전에 본 MNIST 예제)는 '기억'이 없어 입력 x가 들어오면 y를 출력할 뿐, 이전에 무엇을 계산했는지 기억하지 못함.\\ 하지만 RNN 셀은 '기억'이 있다. \\ \\ 시점 t-1 (예: "I"라는 단어 입력)\\ 입력 $x_{t-1}$ ("I")을 받음.\\ 계산을 수행한 뒤, 은닉 상태 $h_{t-1}$ ("'I'라는 정보가 입력됨"을 요약한 값)을 계산.\\ \\ \\ 시점 t (예: "am"이라는 단어 입력)\\ RNN 셀은 두 가지 입력을 받음. \\ 1. 현재 입력 $x_t$ ("am") \\ 2. 이전 셀의 결과 $h_{t-1}$ ("'I'라는 정보") \\ 셀은 이 두 가지 정보를 모두 사용해 새로운 은닉 상태 $h_t$ ("'I am'이라는 정보가 입력됨"을 요약한 값)을 계산. \\ \\ \\ 점 t+1 (예: "hungry"라는 단어 입력) \\ 셀은 현재 입력 $x_{t+1}$ ("hungry")와 이전 상태 $h_t$ ("'I am' 정보")를 입력받음. \\ \\ \\ '순환'이란, 딥러닝의 '은닉 상태(메모리)'가 다음 시점(step)의 셀로 계속 전달되어,\\ 과거의 정보가 현재의 계산에 영향을 미치는 구조를 의미 \\ 이 은닉 상태 $h_t$가 바로 사용자가 언급한 '내부 메모리' 임 \\