17주차 학습 목표
1) 기본 네트워크에 대한 동작 방식 학습
2) 심층신경망(DNN), Fully Connected Network, Densely Connected Network
3) 합성곱신경망(CNN) => 이미지, 텍스트 다 사용가능하지만 주로 이미지 분류에 사용
4) 순환신경망(RNN) => 순서가 있는 데이터, 시계열데이터, 자연어처리 등에 주로 사용
딥러닝 => 비정형(이미지, 영상, 텍스트, 음성)데이터에 대한 피처를 추출할 때 알고리즘 내부에서 추출
CNN(Convolutional Neural Network)
합성곱신경망, 시각적 이미지를 분석하는 데 사용, 현재 가장 많이 사용되고 있는 알고리즘
RNN(Recurrent Neural Network)의 약자로,
순환 신경망, 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델
모델이 얼마나 잘 예측했는지에 대한 실제값과 예측값을 계산해서 loss 손실 값을 봅니다.
회귀 => Square Loss
분류 => Cross Entropy Loss
회귀 모델에서 loss 측정 시 Absolute Error 보다는 주로 Square loss를 사용
초기화된 가중치는 입력이 반복됨에 따라 더욱 적합한 값을 가질 수 있도록 첫 예측값 Y와 진짜 타깃 Y의 오차를 최소화해야 한다. 이를 위해 손실함수(Loss Function)로 그 오차를 구하고, 이러한 오차를 줄이기 위해 최적화함수(Optimizer Function)를 사용하여 가중치를 최적화할 수 있도록 적절하게 조절하고 이 값을 토대로 다음 계층의 입력값을 활성화함수(Activation Function)로 계산하여 다음 입력으로 사용. 이를 반복하면 딥러닝의 신경망 모델을 최적화시키게 되는 것
활성화 함수(Activation Function)
인공신경망 내부에서 입력받은 데이터를 근거로 다음 계층으로 출력할 값을 결정하는 기능을 수행.
활성화함수는 신경망을 구성할 때 설정하며 각각의 레이어를 정의할 때 세부적인 함수를 선택. relu, sigmoid
기울기 소실
가중치를 업데이트하는 과정에서 뒤로 갈수록 가중치가 잘 업데이트 되지 않는 현상
신경망의 활성함수의 도함수 값이 계속 곱해지다 보면 가중치에 따른 결과값의 기울기가 0이 되어, 경사 하강법을 이용할 수 없게 되는 문제
순전파와 역전파
순전파 : 인공 신경망에서 입력층 -> 출력층 방향으로 예측값의 연산이 진행되는 과정
역전파 : 순전파와 반대로 출력층에서 입력층 방향으로 계산하면서 가중치를 업데이트 다층 퍼셉트론 학습에 사용되는 통계적 기법!
활성화 함수
인공 신경망에서 입력을 변환하는 함수 신경망에 비선형성(non-linearity)을 더해주어 데이터를 설명할 수 있게 해줌 Sigmoid, tanh, ReLU, Leaky ReLU 등
기울기 소실
깊은 인공신경망을 학습할 때 역전파 과정에서 입력층으로 갈수록 기울기가 점점 작아져 최적의 모델을 찾을 수 없게 되는 문제 기울기 소실 문제 완화를 위해 은닉층의 활성화 함수로 ReLU나 LeakyReLU를 사용한다.
딥러닝의 학습방법
출력값과 실제값을 비교하여 그 차이를 최소화하는 가중치와 편향의 조합 찾기 가중치는 오차를 최소화하는 방향으로 모델이 스스로 탐색(역전파)
-> 알맞은 손실함수를 선정해야 함! 알맞은 손실함수를 찾아 최소화하기 위해 경사하강법 고안
손실함수 : 예측값과 실제값의 차이. 손실함수의 함수값이 최소화되게 하는 가중치와 편향을 찾는 것이 목표 경사하강법 : 손실함수의 현재 위치에서 오차가 줄어드는 방향으로 가중치를 움직이며 최솟값을 찾음 옵티마이저(최적화 함수) : 최적화 방법을 결정해주는 방식으로, 경사하강법에 기반을 둠
분류의 손실함수
이항분류 : BinaryCrossentropy
다항분류 : CategoricalCrossentropy, CategoricalHinge, Hinge 등
회귀의 손실함수 CosineSimilarity, Huber, LogCosh, MAE, MAPE 등
Optimizer
데이터와 손실함수를 기반으로 모델이 업데이트 되는 방식 경사하강법 : 손실함수의 현재 위치에서 조금씩 손실이 낮아지는 쪽으로 가중치를 움직이며 최솟값을 찾는 방법
최적화 함수 : 손실함수를 최소화하는 방향으로 가중치를 갱신하는 알고리즘 경사하강법에 기반을 둔 옵티마이저로 SGD, RMSProp, Adam등이 있음
모델 컴파일하기
model.compile(optimizer=‘Adam’, loss=‘categorical_crossentropy’, metrics=[‘accuracy’]) 모델을 컴파일할 때 옵티마이저, 손실함수, 평가지표를 설정한다
'멋쟁이사자처럼 AI School 8기(fin) > TIL(Today I Learn)' 카테고리의 다른 글
[멋쟁이사자처럼 AI스쿨] TIL(23.4.12) 딥러닝3 (0) | 2023.04.12 |
---|---|
[멋쟁이사자처럼 AI스쿨] TIL(23.4.11) 딥러닝2 (4) | 2023.04.11 |
[멋쟁이사자처럼 AI스쿨] TIL(23.4.7) 알고리즘, 자료구조 week2(with 이호준) (0) | 2023.04.10 |
[멋쟁이사자처럼 AI스쿨] TIL(23.3.31) 알고리즘, 자료구조 week1(with 이호준) (0) | 2023.03.31 |
[멋쟁이사자처럼 AI스쿨] TIL(23.3.29) svd, 토픽모델링 (0) | 2023.03.29 |