인공신경망 Flashcards
단층퍼셉트론(SLP)
[정의] 입력층과 출력층으로 구성된 입력값에 곱해지는 가중치 값을 자동적으로 학습하도록 한 모델이며 입력 벡터를 두 부류(class)로 구분하는 선형 분류기
[구성요소] 임가바네활뉴
- 임계치(threshold): 어떠한 값이 활성화되기 위한 최소값
- 가중치(weight): 선형 경계의 방향성 또는 형태를 나타내는 값
- 바이어스(bias): 선형 경계의 절편을 나타내는 값으로써, 직선의 경우는 y절편으로 표시
- net값 : 입력값과 가중치의 곱을 모두 합한 값
- 활성화함수(activation function): 뉴런에서 계산된 net값이 임계치보다 크면 1을 출력하고, 임계치보다 작은 경우에는 0을 출력하는 함수
- 뉴런(neuron): 인공신경망을 구성하는 가장 작은 요소로써, net값에 따라 활성(1) 비활성(0)을 출력
다층퍼셉트론
[정의] 입력층과 출력층 사이에 하나 이상의 은닉층을 두어 비선형적으로 분리되는 데이터에 대해서도 학습이 가능한 모델
[특징] XOR 게이트 연산 불가 문제 해결, DNN,CNN,RNN과 같은 현대 인공신경망의 토대 마련
[구성요소] 1.입력층 2.은닉층(심층 신경망, 활성화 함수 적용) 3.출력층
[문제해결] 역전파(Backpropagation), 경사감소법(Gradient Descent), 규제화(Regularization)
활성화 함수
[정의] 입력정보의 결합값을 일정범위의 값으로 전환하여 출력층 혹은 은닉층에 전달하는 함수
[유형]
- 항등 함수 : 양극성, 선형 연속 함수
- 경사 함수 : 단극성, 선형 연속
- 계단 함수 : 단극성/양극성 이진함수
- 시그모이드 함수 : 비선형 함수, 음수는 0 출력, 양수는 그대로 출력
- ReLU 함수 : 역전파시 경사감소 소멸 문제 해결
- Tanh 함수 : -1~1 사이의 값 출력, 평균 0, 경사감소 소멸 문제, 시그모이드보다 좋은 성능
- Leaky ReLU : ReLU의 음수에서의 기울기 문제 해결
[출력층 활성화함수] 인공 신경망에서 해결하고자 하는 문제에 따라 이진분류(Sigmoid), 다중클래스(Softmax) 분류, 회귀분석(Linear)과 같은 예측값을 출력하는 함수
오류 역전파
[정의] 역방향 가중치 조정을 통해 오차를 최소화하여 신경망 학습을 위한 지도학습 알고리즘
[특징] 다중 퍼셉트론의 은닉층 학습의 한계를 해결, 출력층의 오차를 역전파하여 은닉층을 학습
[절차]
1. 피드포워드 : 입력층 → 출력층 피드포워드 진행
2. 오류 역전파 계산 : 예상값 – 실제값 = 에러(E) 가중치 미분
3. 가중치 조정 : 에러 최소평균제곱의 미분값 → 학습률
4. 절차 반복(1~3) : 목표 도달 시까지 진행
[문제점/해결방안]
- (문) sigmoid 함수의 문제점 : hidden layer가 깊어질수록 가중치가 0으로 수렴하여 정확성 감소
- (해) ReLu : x값이 0이하이면 0을 출력, 0이상이면, 비례 함수 적용, max(0, x) 함수 사용
정규화
[정의] 값의 범위의 차이를 왜곡시키지 않고 데이터 셋을 공통 스케일로 변경하는 것
배치 정규화
[정의] 신경망의 각 계층에서 데이터의 분포를 정규화 하는 작업
* 활성함수의 활성화 값 또는 출력값을 정규화하는 작업
[목적] 기울기 소실, 기울기 폭주 방지
[절차] 학습시의 미니배치를 한 단위로 정규화 하는 것으로 분포의 평균이 0, 분산이 1이 되도록 정규화
[효과] 학습 속도 개선, 가중치 초기값 선택의 의존성 감소, 과적합 위험 감소, 기울기소실/폭주 방지
경사하강법
[정의] 머신러닝에서 에러 함수의 최솟값의 위치를 찾기위해 경사가 하강하는 방향으로 점진적 이동하면서 가중치를 조정하는 알고리즘
[특징] 미분의 개념을 최적화 문제에 적용
[종류]
1. 확률적 경사하강법 : 1회 진행(배치 크기가 1)
2. 배치 경사하강법 : 전체 학습 데이터를 하나의 배치로 묶어 학습(배치 크기 n)
3. 미니배치 확률적 경사하강법 : 전체 데이터를 batch size개씩 나눠 배치로 학습
[문제점/해결방안]
- 오버슈팅 : 네스테로프 모멘텀(미리 이동 기울기 계산), 아다그라드(학습률을 적게하여 이동 보폭을 조절)
- 국부해(Local Minimum) 수렴 문제 : 모멘텀, 네스테로프 모멘텀, 아다그라드, 알엠에스프롭, 아담
기울기(경사하강) 소멸
[정의] Gradient Descent 역전파 학습시 델타룰에 따라 편미분되는 값이 0에 수렴, 기울기가 소멸되는 현상
[발생원인] Layer 깊이 측면(은닉층 확장으로 국부해 수렴), 활성함수 측면(시그모이드 활성함수의 Squash 특성)
* 오류 역전파에서 학습 시 은닉층으로 오차가 거의 전달 되지 않는 현상
[해결안]
<학습>
- 메모리 기억 기반 LSTM 활용 : 장기의존성 문제 해결, Forget Gate 활용
- 사전 학습 기반 DBN 활용 : Fine Tuning 이전 Pre-Training 수행, RBM, Autoencoder 활용 Weight 비지도 학습
<활성함수>
- 미분값 보존 ReLU함수 활용 : x > 0 인 경우 역전파 ReLU 결과값 상수(1) 유지
- 음의값 활용 Leaky ReLU 활용 : ReLU의 0 이하 값 손실, “Dying ReLU” 문제 개선
* 이외에 가중치 초기화, Tanh, 배치 정규화등의 방안 존재
</활성함수></학습>
기울기 폭주
[정의] 기울기가 점차 커지더니 가중치들이 비정상적으로 큰 값이 되면서 결국 발산
[해결방안] 그래디언트 클리핑 ( 기울기 폭주를 막기 위해 임계값을 넘지 않도록 값을 자름), 배치 정규화
하이퍼파라미터
[정의] 최적의 모델링을 위해 사용자가 직접 설정해주는 변수
[종류] 학습률, 은닉층 개수, 배치 크기, 활성화 함수
[튜닝방법] 탐색 체계성 부여 → 불필요 반복횟수 개선 → 추출 범위 개선
비용함수
[정의] 머신러닝 모델의 학습을 수행하는 모든 입력 데이터셋에 대한 모델 출력 값과 사용자가 기대하는 실제 출력값의 오차를 계산하기 위한 함수
[유형]
회귀(Regression)
- MAE : 오차가 큰 값을 이상치(Outlier) 로서 간주하여 해당 값을 무시하고 학습 (이상치 무시)
- MSE : 오차의 제곱에 대한 평균을 취한 값 (이상치 민감),
- RMSE : 오차의 제곱에 대한 평균 값에 루트를 씌운 값 (값의 왜곡이 MSE 보다 민감)
분류(Classification)
- Binary Cross Entropy : True 또는 False, 양성 또는 음성 등 (2개의 클래스 분류)
- Categorical Cross Entropy : 3개 이상의 멀티 클래스 분류 (라벨이 one-hot 인코딩 형태로 제공될때 사용)
- Cross Entropy : 랜덤 변수에 대한 두 확률 분포의 차이를 측정(다중 분류)
* 비용함수는 사용 범위에 따라 Object Function, Cost Function, Loss Function으로 구분되어 활용