딥러닝에 대해서 입문을 하려는 분들은 많이 들어봤을 것이고, 기본이 되는 학습 기법에 대해 CNN 과 RNN 에 대해서 소개하려고 한다.
CNN (Convolution Neural Network : 합성곱신경망)
먼저 그림에서 보면 알수 있듯이
데이터(이미지 혹은 동영상) 의 특징을 추출하여 특정 패턴을 파악하는 구조이다.
추출에 대해서는 Convolution(데이터의 특징을 추출) 과정과 Pooling(Convolution Layer 의 사이즈를 줄임) 과정으로 진행을 한다.
사용되는 경우는 아래와 같다.
- Object Recognition : 사물을 알아맞추는 것 (ex. 자동차를 바운딩박스 처리)
- Object Identification : 사물의 특성을 알아맞추는 것
- Face Identification : 사람의 특성을 알아맞추는 것 (ex. 사람이라면 '저 얼굴은 홍길동이다'까지 알아맞춤)
- Style Transfer : 기존의 스타일을 학습해서 새로운 그림을 해당 스타일로 변형 (ex. 화가의 화풍을 새로운 그림에 적용함)
- Deblurring and Denoising : 흐림 및 노이즈를 제거
- Super-Resolution : 저해상도 이미지의 해상도를 높이는 것
RNN (Recurrent Neural Network : 순환신경망)
rnn 은 입출력을 시퀀스 단위로 처리하는 시퀀스 모델이라고 생각하면 이해가 빠르다.
반복적이고 순차적으로 데이터를 학습 시키는데 특화된 인공신경망의 한 종류이다.
순환 구조를 이용해 과거 학습을 통해서 현재 학습에 반영한다.
사용되는 경우는 아래와 같다.
- Speech Recognition : 말을 인식해서 내용이나 감정을 알아맞추는 것
- Machine Translation : 번역기
- Information Retrieval : 정보 검색 (ex. 검색엔진) (비지도학습 Unsupervised Learning)
CNN은 정해진 크기의 입력을 받아 정해진 크기를 출력하고
RNN은 랜덤하게 입력과 출력을 나타낸다.
CNN은 이미지 비디오 처리에 적합하고
RNN은 텍스트와 스피치 분석에 적합하다.
CNN은 입력값에 한해서 분석 및 합성곱을 하고
RNN은 마지막 입력 정보가 다음 값에 영향을 준다.
'IT > Knowledge' 카테고리의 다른 글
썬더볼트와 USB, 그리고 USB 4.0 (45) | 2023.08.01 |
---|---|
Groovy 란? (58) | 2023.07.27 |
[Error] Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (46) | 2023.07.18 |
Colab 이란? (52) | 2023.07.16 |
ping / telnet / traceroute / curl 차이점 (48) | 2023.07.04 |
댓글