Notice
Tags
- Baekjoon
- app
- kubeflow
- Kubernetes
- 리눅스마스터2급
- 오블완
- Artificial_Intelligence
- Java
- SingleProject
- Linux
- tensorflow
- Android
- datastructure
- study
- 티스토리챌린지
- c++
- Algorithm
- Python
- Image_classification
- Database_Design
- codingTest
- cloud_computing
- Unix_System
- 2023_1st_Semester
- 자격증
- Personal_Study
- Operating_System
- Univ._Study
- programmers
- C
코딩 기록 저장소
[딥러닝] RNN(Recurrent Neural Network) 본문
RNN (Recurrent Neural Network)
RNN이란?
- 시계열 또는 순차 데이터를 예측하는 딥러닝을 위한 신경망 아키텍처
- 다양한 길이의 순차 데이터로 작업하고 자연 신호 분류, 언어 처리, 비디오 분석 등의 문제를 해결하는 데 특히 효과적임
- 시퀀스를 처리하기 위해 고안된 모델을 시퀀스 모델이라고 하는데 그 중 RNN은 가장 기본적인 인공 신경망 시퀀스 모델
RNN의 작동 방식
- 과거의 정보를 사용하여 현재 및 미래의 입력에 대한 신경망의 성능을 개선하는 딥러닝 구조
- RNN의 독특한 점은 신경망에 은닉 상태 및 루프가 있음
- 루프 구조를 통해 신경망은 은닉 상태에 과거의 정보를 저장하고 시퀀스에 대해 연산할 수 있음
- 신경망은 훈련 중에 입력과 은닉 상태의 두 가지 모두에 대한 가중치를 학습함
- 구현이 되면 출력은 현재 입력, 그리고 이전 입력을 기반으로 하는 은닉 상태를 기반으로 함
RNN이 중요한 이유
- RNN은 다음과 같은 응용 분야에서 핵심 기술로 사용됨
- 신호 처리
- 신호는 일정 시간에 걸쳐 센서로부터 수집되는 경우가 많으므로 순차적인 데이터임
- 대규모 신호 데이터셋에 대해 자동 분류 및 회귀를 수행하면 실시간 예측이 가능함
- 원시 신호 데이터를 심층 신경망에 입력하거나 전처리하여 주파수 성분과 같은 특정한 특징에 집중할 수 있음
- 특징 추출은 신경망의 성능을 대폭 개선할 수 있음
- 텍스트 분석
- 언어는 본질적으로 순차적임
- 텍스트 조각의 길이는 다양함
- RNN은 문장의 단어를 맥락화하는 방법을 학습할 수 있기 때문에 텍스트 분류, 텍스트 생성, 기계번역, 감성 분석 등의 자연어 처리 작업에 매우 유용한 툴
RNN을 사용해야 하는 경우
- 분류 및 회귀 작업에서 시퀀스 및 시계열 데이터로 작업하는 경우 RNN 사용을 고려할 수 있습니다. 비디오는 본질적으로 영상의 시퀀스이므로 RNN은 비디오에도 효과적임
신호를 사용한 작업과 마찬가지로 시퀀스를 RNN으로 공급하기 전에 특징 추출을 하는 것이 좋음
- 각 프레임에 대한 특징 추출을 위해 CNN을 활용할 수 있음
'개인 공부 > 인공지능' 카테고리의 다른 글
[kaggle/Flask] 견종 분류 모델 웹에 구현하기 (1) | 2023.10.04 |
---|---|
[kaggle/TensorFlow] 견종 이미지 분류 모델 구현 - 2 (0) | 2023.09.26 |
[kaggle/TensorFlow] 견종 이미지 분류 모델 구현 - 1 (0) | 2023.09.26 |
[GPU설정] CUDA 환경 구성 (Tensorflow, PyTorch) (1) | 2023.09.25 |