안녕하세요
블레이즈 테크노트의 블레이즈입니다.
오늘은 순환신경망(Recurrent Neural Network)에 대해 간단히 알아보도록 하겠습니다.
앞으로는 순환신경망이라는 단어와 RNN을 혼용할 예정이니 참고해주세요:)
순환 신경망에 대해서 아주 쉽게 설명한 영상입니다.
특히 내가 원하는 정보를 벡터로 변환하는 걸 잘 보여준다고 생각합니다.
영상에서 요리사는 애플파이, 햄버거, 치킨을 만드는데요
이 각각의 요리를
[100] [010] [001]
벡터로 표현하고 결국 행렬곱으로 문제를 풀 수 있다는 걸 보여줍니다.
순환 신경망에서 핵심적인 부분은 output이 다시 input으로 들어간다는 점입니다.
이게 바로 순환의 핵심인데요.
예를 들어, 영상에서는 요리사가 애플파이와 햄버거, 치킨을 순서대로 만들죠.
이런 걸 영어로 sequential 하다고 하는데
이렇게 sequential한 규칙이 있을 때 우리는 output인 애플파이만 가지고 다음의 결과인 햄버거를 예측할 수 있습니다.
애플파이-햄버거-치킨-애플파이-햄버거-치킨-애플파이- ?
이런 문제니까 초등학생들 규칙 추론하기 문제와 비슷하다고 볼 수도 있을 것 같습니다.
그리고 위 영상에서는 날씨에 따라 요리가 바뀌는데요, 다시 말해 input이 두개여서
하나는 그 이전 state의 output이고 하나는 연관이 없는 독립적인 input(날씨)입니다.
이 두 input이 엮여서 이번 state의 output을 만들어내는 원리를 잘 보여주고 있습니다.
위 그림에서는 날씨가 맑으면 전날의 요리가 그대로 나오고
비가 오면 다음 순서의 요리가 나오는 규칙을 따르고 있습니다.
각각의 요리와 날씨를 벡터로 변환하고(vector transformation) 순환 신경망을 나타낼 수 있습니다.

이제 예시를 벗어나서 보다 넓은 범위의 RNN에 대해 알아보도록 하겠습니다.
RNN에서 순환의 정의에 의해 output은 다시 input이 됩니다.
이러한 output을 우리는 hidden state 라고 부릅니다.
RNN (순환신경망)은 이처럼 두 개의 입력값을 받습니다.
그리고 t에서의 hidden state은 항상 t 에서의 입력과 t-1에서의 입력을 영향을 받는 구조입니다.
모든 hidden state가 바로 직전의 인풋에 영향을 받기 때문에
RNN은 순서가 있는 업무에서 잘 작동합니다.
감사합니다.
블레이즈 테크노트.
'머신러닝(Machine Learning)' 카테고리의 다른 글
NLP 트랜스포머 두 번째, 포지셔널 인코딩(Positional Encoding) 알아보기 (0) | 2023.07.25 |
---|---|
NLP 트랜스포머 첫 번째, RNN에서 트랜스포머로 (0) | 2023.07.24 |
NMT(인공 신경망 기계 번역) Seq2Seq 에서 어텐션 메커니즘까지 정리 (0) | 2023.07.14 |
NMT(인공신경망 기계 번역) 어텐션(Attention)이란? 기초 설명 (0) | 2023.07.13 |
NLP 시퀀스 투 시퀀스 신경망 기계 번역 모델(Seq2Seq Neural Machine Translation) 기초 (0) | 2023.07.11 |