[데이터자격시험용-필수요약정리]

빅데이터 모델링 - 분석기법적용 (인공신경망/딥러닝 함수)

indongspace 2024. 3. 17. 14:58

 

인공신경망 - 딥러닝(지도(회귀,분류)/비지도학습/패턴인식)

 

인공지능, 머신러닝, 딥러닝 관계

 

 

인공신경망 : 사람의 신경망을 모방

 

딥러닝의 대표적인 종류

1. CNN(Convolution Neural Network)

- 이미지 데이터 처리에 특화, 필터(커널)를 학습

 

2.RNN(Recurrent Neural Network)

- 순차적인(sequence) 데이터 처리에 특화

- 자연어 처리(번역기, 챗봇 등)

 

3. LSTM(Long Short Term Memory)

- RNN의 장기의존성 문제(기울기 소실 문제)를 해결하기 위해 등장(은닉층의 과거 정보가 마지막까지 전달되지 못함)

- Cell state 사용해서 장기적으로 기억할 정보를 조절

 

4. Autoencoder(오토인코더) - 비지도학습

- 인코더&디코더 구조 : 인코더는 입력시퀀스를 단일벡터로, 디코더는 단일벡터를 출력시퀀스로 바꿈

- 입력과 출력이 좌우대칭 구조

- 이상감지에 활용

 

#참고사항

- 언어모델 : GPT, BERT, BART

- 이미지분석 : YOLO

 

딥러닝의 활성화 함수

1. 시그모이드(Sigmoid)                              

                            

- 시그모이드 함수의 단점 : 끝부분으로 갈수록 기울기가 0에 가까워짐

- 딥러닝에서는 기울기가 최소가 되게 하는 지점을 계속 찾아가면서 loss를 줄여나감

loss가 최소가 되게 하는 알고리즘을 구하는데 시그모이드 함수는 양 끝 부분에서 기울기 소실 문제가 발생

 

2. ReLU

- 시그모이드 함수의 기울기 소실 문제 해결을 위해 등장

- 입력값 0 이하는 0, 0보다 크면 그대로 x값

 

3. 소프트맥스(Softmax)

- 3개 이상 다중분류시 사용

- 각 클래스(범주)에 속할 확률이 output(확률이니 다 더하면 1)

 

4. tanh(하이퍼볼릭탄젠트)

- y값이 -1~1의 값을 가짐

- RNN에서 주로 사용하는 활성화 함수

 

인공신경망에 대한 설명

1. 은닉층과 은닉노드가 많아지면 모델복잡, 과적합 문제 발생가능(적으면 과소적합)

#은닉층/은닉노드는 분석가가 정해야 하는 초매개변수

 

2. 역전파 알고리즘(back propagation)은 목적함수를 최적화 하기위해 사용함

예측값과 실제값의 차이인 에러를 출력층에서->입력층으로 역전파해서(편미분하면서 학습률 증가)

가중치(weight)를 갱신함 <-> SOM(자기조직화지도)는 전방패스 알고리즘

 

3. 신경망 모형은 복잡한 비선형관계에도 적용할 수 있으며 노이즈(잡음)에 민감하게 반응하지 않는다

 

4. 은닉층의 수가 증가하면 앞쪽에 있는 은닉층들의 가중치가 제대로 학습되지 않는 것을 기울기 소실 문제라고 한다

기울기 소실문제가 발생하는 대표적인 활성화함수 = 시그모이드 함수

기울기 소실 문제를 개선하기 위해 ReLU함수 사용 / RNN 기울기소실(장기의존성) -> LSTM으로 해결

 

5. 모델 해석하기 어려움(반대로 선형회귀는 쉬움)

 

#참고 : 전이학습(Transfer Learning) = 기 학습된 모델(Pre-training)을 미세조정(fine-tuning)해서 다른 목적(다른작업)에 이용하는 

#초매개변수 : 학습률(learning rate), Hidden layer 수, 뉴런의 수, 배치의 크기, 규제강도 등

#가중치(weight)는 초기에 랜덤으로 설정 됨(분석가가 조절하는게 아님)

#Leaky ReLU함수 : ReLU함수에서 뉴런이 죽는 현상을 개선하기 위해서 만들어짐. 입력값이 0이하일때 입력값대비 매우 작은값만 출력하여 뉴런이 죽는 현상을 방지함

 

과적합 방지 기법

1. Drop out(드롭아웃) : 각 layer마다 일정 비율로 뉴런을 Drop 시킴

2. 정규화(Regularization) : 손실함수에 규제항을 추가한다

  - L1 정규화(Lasso Regularization) : 중요하지 않은 가중치를 0으로

  - L2 정규화(Ridge Regularization) : 큰 가중치에 제약

3. 배치 정규화

 

CNN에서 Feature Map 문제

stride(필터가 한 번씩 이동할때 한 칸씩 이동하는 것,보폭)가 1일때,

stride가 2이면 Feature Map Output은 (2,2)

 

 

CNN에서 Feature Map Pooling 문제