#10 RNN & GAN

princess·2022년 10월 8일
0

딥러닝

목록 보기
8/8

✔️ 순환 신경망의 이해

순환 신경망을 사용하는 이유는 ?

  • MPL나 CNN 의 경우에는 메모리가 없어서 이전 입력에 대한 결과를 저장할 수 없기때문에 데이터를 순차적으로 처리가 불가능하고 개별적으로 처리가 가능 💦

  • 하지만 문장은 단어로 구성 되어있고, 정해진 순서가 존재 ❗

👍 그래서 순환 신경망을 사용

🚩 Recurrent Neural Network (RNN)

  • 이전 입력에 대한 출력 정보를 저장할 수 있어서 NLP, 순차 data, 시퀀스(NL가 시퀀스 data의 형태), 연속적인 시계역 데이터에 적합

  • 순환 신경망의 경우에는 출력이 입력에 대해 영향을 받는 것 뿐만 아니라 이전 출력에 대한 결과에 대해서도 영향을 받음 ❗❗

  • RNN의 출력은 의도하는 목적에 따라서 달라질 수 있음 ❗❗

  • 메모리 셀이 출력층 방향 또는 다음 시점인 n+1의 자신에게 보내는 값을 state라고 하는데, state는 다음 셀에 들어갈 뿐만이 아니라 출력을 위한 NLP의 입력으로도 들어가게 된다.

🚩 RNN을 사용하는 이유

  1. 이전의 입력에 대한 결과가 현재 결과에 영향
  2. 비슷한 두 문장이 입력이 되었을 때 두 문장의 차이을 구별하여 반영

🚩 RNN의 활용 - Stacking

  • Stacking이란 층을 여러개 쌓는 것 !

  • 입력에 가까운 층에서는 Low-level의 문맥적인 정보를 가지고 출력층에 가까운 층일 수록 High-level의 의미적인 정보를 가짐

🚩 RNN의 활용 - Bidirectional

  • 이전 모델의 경우에는 예측하고자 하는 단어 뒤에 있는 정보를 양방향이 아니라 이용할 수 없기 때문에 성능의 한계가 존재 💦

  • 하지만, Bidirectional의 경우 순차적인 입력 값에 대해 이전 데이터와의 관계 뿐만 아니라 이후 데이터와의 관계까지 저장하여 학습하기 때문에 이전의 문제를 해결 😉

  • 하나의 입력에 두가지의 출력을 만들어 역방향으로도 data의 관계를 파악하고자 했음 !

  • 2개의 Hidden Layer를 가지고 있는데,Forward States의 정보를 가지고 있는 Hidden Layer와 Backward States의 정보를 가지고 있는 Hidden layer가 존재하지만 서로 독립적 ❗

  • 입력값은 이 2가지 Hidden Layer에 모두 전달되고, Output Layer도 이 2가지 Hidden Layer로 모두 값을 받아서 최종 Output을 계산

profile
성장하는 머신러닝 엔지니어

0개의 댓글