본문 바로가기
딥러닝(Deep Learning)/D&A Deep Session

[D&A Deep Session] 1차시 - 1. 딥러닝의 이해

by rahites 2022. 3. 13.

 

# 지금까지 공부했던 머신러닝에서는 사람이 직접 데이터를 보고 특징(피처)을 추출했었다면 앞으로 공부할 딥러닝은 사람의 개입없이 기계가 스스로 특징(피처)을 추출한다. 정형 데이터 뿐만 아니라 비정형 데이터까지 사람이 분류하는 것보다 정확하게 예측하는 것을 목표로 한다. 

 

- 딥러닝 ( Deep Learning )

: 2개 이상의 Hidden Layer를 지닌 다층 신경망

 

* 기본 구조

MLP( Multi-Layer Perception ) : 여러개의 레이어를 가지고 있는 신경망

CNN( Convolutional Neural Network ) :  Convolution(합성곱) 전처리 작업이 들어가는 Neural Network 모델 - 주로 이미지 관련 분야에서 많이 사용된다.

RNN( Recurrent Neural Network ) : 순환 신경망, 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델로 텍스트와 같은 시계열 분야에서 많이 사용된다.

 

* 사용 예시

: 이미지 분류, 객체 탐지 ( 이미지나 비디오 속 물체 찾기 ), 텍스트 분야 ( 기계 번역, 문장 분류 등 ), GAN( Generative Adversarial Networks, 생산적 적대 신경망 ), DeepFake, Style Transfer ( 사진의 스타일을 바꿔줌 ), 심층 강화학습 ( 강화학습과 딥러닝을 결합, 현재 상태에서 어떤 행동을 취해야 보상이 최대가 되는지를 학습 )

 

c.f ) GAN은 실제에 가까운 이미지나 사람이 쓴 것과 같은 글 등 여러 가짜 데이터들을 생성하는 모델을 의미한다

 

* 딥러닝 툴

- CUDA ( Compute Unified Device Architecture ) : GPU에서 병렬 처리를 수행하는 알고리즘을 각종 프로그래밍 언어에 사용할 수 있도록 해주는 GPGPU 기술, 파이썬에서 GPU를 인식할 수 있도록 하기 위해 사용한다.

 

- CuDNN : 딥러닝 모델을 위한 GPU 가속화 라이브러리의 기초 요소와 같은 일반적인 루틴을 빠르게 이행할 수 있도록 해주는 라이브러리

 

c.f ) torch 모듈을 GPU를 이용해 계산할 수 있는지 파악하고 device를 할당하는 코드

torch.cuda.is_available() : GPU를 이용해 계산할 수 있는지 파악

torch.device('cuda') : device에 GPU를 할당

torch.device('cpu') : device에 CPU를 할당

 

-----------------------------------------------------------------------------------------------------------------------------------------

- Batch Gradient Descent : 한 번의 학습에 모든 학습 데이터를 사용

= 최적값으로 학습하기는 좋지만 계산 시간이 오래 걸린다.

 

- Stochastic Gradient Descent : 한 번의 학습에 한 개의 학습 데이터를 사용

= sample의 편차로 인해 매 update 시 계산되는 Gradient의 크기 편차가 심하다.

 

- Mini-Batch Gradient Descent : 모든 학습 데이터를 미니배치로 쪼개 한 번의 학습에 하나의 미니배치를 사용

 

1. 데이터 셋에서 원하는 사이즈로 Batch_size를 정해 정해진 크기의 Mini-Batch 생성

2. epoch를 지정해 전체 데이터를 해당 수치만큼 반복하여 학습을 진행한다. 

ex) 640개의 전체 데이터를 Batch_size 32 -> 20개의 미니 배치가 생성됨

     이 때 epoch가 10일 때 1 epoch당 20회의 iteration이 실행되고 총 200번의 반복 학습이 진행된다.

-----------------------------------------------------------------------------------------------------------------------------------------

댓글