AI/DL

Neural Network의 기본

z_e 2024. 3. 16. 18:51

DL (deep learning) 이란?

: feature extraction & decision making을 machine이 수행

: 인간이 feature selection을 했을 때의 일반화 한계를 극복

: 여러 layer를 거쳐가며 feature를 뽑음 (원초적인 low-level feature -> 추상적 high-level feature)

: 학습에 사용된 데이터 양이 많아질수록 accuracy가 높아짐

 

Perceptron

: 하나의 뉴런에 대한 수학적 모델링

: input * weight의 sum -> activation function -> output

 

Batch computing

: 컴퓨터는 scalr, vector (dot-production) 연산보다 matrix*matrix multiplication에 최적화되어 있음

: input, weigth를 matrix로 묶어서 처리

 

MLP (Multi-layer perceptron)

: 여러 perceptron의 층 구성

: 전결합 (층 사이 모든 node가 pairwise로 결합됨)

: XOR (Exclusive-OR) problem을 해결할 수 있음

: output이 input*weight의 linear 곱으로만 이루어진다면 결국 직선만 그을 수 있음 -> 분류에 실패

: layer를 쌓으면 input을 새로운 공간에 뿌림 = space transformation

: nonlinear인 activation function을 가짐

 

DNN (Deep Neural Network)

: 2개 이상의 "deep" layers를 가진 NN

: neuron 간 연결의 종류에 따라 FC, CNN, RNN..

 

FC (Fully-Connected Network) = MLP (Multi-Layer Perceptron) = DenseNet = Linear

전결합되어있음

선형 분류기로 사용

 

CNN = ConvNet

전결합x, weigth의 재사용, convolution 연산 수행 => less computaion

feature extractor로 사용. 주로 이미지 분류

 

여러 CNN layer로 feature extraction => FC로 분류

 

Zero Padding

: border에 zero pad

: input-ouput size를 유지 & edge pixels의 information loss를 피함

 

Pooling Layer (Subsampling)

: size reduction을 시켜서 연산량을 줄여줌 + 뒤에서 channel size를 늘리는 방향으로 정보 손실을 복구

: translation invariance의 효과 (위치가 이동해도 같은 object로의 인식) ; 특히 max poolingdml ruddn