2021년 3월 15일 월요일

Day_06. 순환신경망(RNN)

Sequence( Series) data?
=각각의 데이터가 순서가 있는 데이터
=ex)음성신호, 텍스트, 주가데이터
=입력값 크기의 제한이 없음


RNN
=입력과 출력을 시퀀스 단위로 처리하는 모델
=이전 상태의 결과가 다음 순서의 Hidden layer로 들어가게 설계
=이론적으로는 긴 데이터가 들어갈 수 있으나 실제로는 비교적 짧은 sequence data만 효과적 처리 가능
=장기적 의존성 문제가 발생한다


Feed-forward 신경망
=전부 은닉층에서 활성화 함수를 지난 값은 오직 출력층 방향으로만 데이터가 흐른다



RNN – Recurrent Neural Network
=은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서 다시 은닉층 노드의 다음 계산의 입력으로 보낸다

RNN 수식
=은닉 상태값을 ht로 정의
=은닉층의 메모리 셀은 ht를 계산하기 위해 2개의 가중치를 가진다
=입력층에서 입력값을 위한 가중치 Wx
=이전시점 t-1의 은닉 상태값인 ht-1을 위한 가중치 Wh

Sequence 모델링의 종류
사용 방식 =언어 번역(영어-한국어)
=이미지 캡셔닝
=Text 생성
방식 일대일(one to one)
=고정 input/output, 신경망의 기본구조, 순환 부분이 없기 때문에 RNN이 아님

다대일(many to one)
=입력데이터가 시퀀스, 출력은 고정 크기 벡터
=감성분류(sentiment classification) – 입력문서가 긍정/부정 판단
=스팸분류(spam detection) – 스팸/정상 메일 분류

일대다(one to many)
=입력데이터가 시퀀스가 아니라 일반적 형태, 출력은 시퀀스
=이미지 캡셔닝이 있고 입력이 이미지이며 출력은 영어문자

다대다(many to many)
=입력 출력 배열이 모두 시퀀스
=입력과 출력이 동기/비동기 적에 따라 나뉘어 진다


동기적 다대다 모델
=각 프레임이 레이블 되어있는 비디오 분류
==번역기
=동기화된 시퀀스 input, 시퀀스 output ( 자동완성 검색어)
문제점 RNN은 입력된지 시간이 오래된 데이터는 잘 보존하지 못하는 문제가 있음
해결 LSTM 이 개발됨-Long Short Term Memory


감성분석의 대표적인 예
=https://some.co.kr/
=트위터/인스타그램 에서 데이터를 가지고 오며 긍정/부정을 판단 가능
=text를 형태소로 나누어서 분석하는 것


깊은 순환 신경망
=Deep Recurrent Neural Network
=RNN이 다수의 은닉층을 가진 것,

양방향 순환 신경망
=시점 T에서 출력값을 예측할 때 이전 시점이 아닌 이후 데이터로도 예측이 가능하다는 개념
=ex)영어 빈칸 채우기 문제



양방향 순환 신경망
=Bidirectional Recurrent Neural Network
=하나의 출력을 예측하기 위해 두개의 메모리 셀을 사용
=첫 메모리 셀
==앞 시점의 은닉 상태를 받아 현재를 계산
=두번째 메모리 셀
==뒤 시점의 은닉 상태를 전달 받아 현재의 은닉 상태 계산



교재 참고 논문
=순환 신경망과 합성곱 신경망 조합을 이용한 한국어 감성 분석의 성능향상 – 윤지상

댓글 없음:

댓글 쓰기