순환신경망(RNN, Recurrent Neural Network)
순환연결, 메모리역할
과거+현재정보 결합하여 상태결정, 예측엔진
목표: IR(정보검색) - Attention Model
https://www.analyticsvidhya.com/blog/2017/12/introduction-to-recurrent-neural-networks/
https://www.youtube.com/watch?v=frFP2hlswLU
에어스팀은 RNN 기술 접목으로 협력필터 기술의 단점을 해결하고자 했다. 특히, 뉴스의 주요한 ‘소비패턴’ 중 사용자가 관심있는 이슈와 맥락이 같은 여러 개의 뉴스를 읽는다는 점에 주목했다. 뉴스에도 주제별로 콘텐츠를 소비하는 일련의 읽기 순서가 있다고 판단해 RNN 기술을 접목했다.
Backpropagation Through Time (BPTT)
Gating Units - LSTM, GRU, Gradient Clipping, Steeper Gates, Better Optimizer
HW : GPU
[출처] [공유] [110회 출제예상 19] CNN(Convolutional Neural Networks)(끌올) & RNN(Recurrent Neural Networks) (아이리포 기술사 감리사 IT전문가 까페) |작성자 김미경 PPE
RNN은 시퀀스의 모든 요소에 동일한 변환 (RNN ce ll 또는 s tep )을 적용하는 함수입니다. RNN 계층 의 출력은 시퀀스의 각 요소에 적용된 RNN 셀의 출력입니다. 텍스트의 경우에는 대개 연속적인 단어 또는 문자입니다. 이 외에도 RNN 셀에는 지금까지 보아온 시퀀스의 내역을 요약하는 내부 메모리가 있습니다.
: RNN 레이어의 예. RNN 셀은 원래 시퀀스의 각 요소 xi에 적용되어 출력 시퀀스의 해당 요소 hi를 가져옵니다.
RNN 셀은 이전 숨겨진 상태 (RNN 셀 사이에서 전파 됨)와 시퀀스 요소 xi를 사용하여 계산을 수행합니다.
[특징]
1)이전 정보를 현재 작업으로 연결가능. 상관관계 학습시에는 비효율
2) vanishing gradient문제로 외면받았으나, LSTM통해 극복
RNN 계층 의 출력은 조작되어 다른 네트워크로 전달 될 수있는 인코딩 된 시퀀스 h 입니다. RNN은 입력 및 출력에서 매우 유연합니다 .
1)다 대일 (Mult-to-One) : 전체 입력 시퀀스를 사용하여 단일 예측을 만듭니다.
2)일대 다 : 단일 입력을 변환하여 시퀀스를 생성합니다 . h .
3)다 대다 : 입력 시퀀스 전체를 다른 시퀀스로 변환합니다. (sequence-to-sequence ( seq2seq )
이론적으로, 우리의 훈련 데이터의 순서가 같은 길이 일 필요는 없습니다. 실제로 Tensorflow 의 정적 계산 그래프 를 활용하기 위해 동일한 길이로 채우 거나 자릅니다.
긴 시퀀스는 훈련 중 그라디언트 계산의 불안정성 때문에 RNN에서 배우기가 어려울 수 있습니다.
이를 해결하기 위해 RNN 셀은 gated recurrent unit (GRU) 또는 long-short term memory cell (LSTM) 과 같은 게이트 셀로 대체됩니다 .
[활용사례] 음성인식, 언어모델, 번역, 영상주석
[RNN Extension]
Bidirectional RNNs (양방향)
Deep (Bidirectional) RNNs (딥양방향)
LSTM(Long Short Term Memory Networks)
RNN의 한종류, 장기의존성 문제
입력,출력,망각 게이트
[개념] 셀 스테이트상의 게이트 요소를 이용하여 선형 연산을 통해 장기의존성을 학습할 수 있는 순환 신경망
[특징] 셀 스테이트, 게이트, 선형연산(시그모이드 뉴럴넷, 점단위 곱하기 연산)
[구조]
1)입력게이트 - 입력신호 제어
2)출력게이트 - 출력신호 제어
3)망각게이트 - 현재 노드에 저장된 정보를 유지할지 버릴지 결정
[활용] 음성인식,필기,언어,로봇컨트롤,동작인식3종류 게이트 통해 의미있는 정보들에 대한 관리가능
'07.AI' 카테고리의 다른 글
자연어처리 (NLP) - BERT (0) | 2020.08.04 |
---|---|
유사도(Similarity) 계산 방식 (0) | 2020.07.27 |
머신러닝 - 강화학습 - 멀티 에이전트 강화학습(MARL) (0) | 2020.07.16 |
딥러닝 - DNN (Deep Neural Network) (0) | 2020.07.13 |
표준 - DIN SPEC 92001:2019 (0) | 2020.07.13 |