인공지능공부/인공지능기본지식

인공지능공부/인공지능기본지식

[AI 기본 지식] 손실함수의 모든 것

손실 함수란? 손실함수는 딥러닝 모델을 학습하면서 적절한 가중치를 찾아가는 과정입니다. 즉, 최적화를 위해 사용하는 함수라고 보시면됩니다. 손실 함수는 loss function, cost function이라고도 합니다. ▶ MSE(Mean Squared Error) 역전파 포스팅에서 사용했던 손실함수이죠. 예측값과 실제값의 차를 제곱한 뒤 개수 n으로 나누어 주는 함수입니다. 수식은 아래와 같습니다. MSE는 주로 Regression에서 많이 이용됩니다. ▶ RMSE(Root Mean Squared Error) MSE에 루트를 씌운 손실함수입니다. MSE는 오류(실제값-예측값)의 제곱을 구하기 때문에, 실제의 오류 평균보다 더 커지기 때문에 루트를 사용하여 값의 왜곡을 줄여줍니다. ▶ MAE(Mean A..

인공지능공부/인공지능기본지식

[AI 기본 지식] 역전파의 모든 것

역전파란? 역전파는 오차 역전파법, 오류 역전파 알고리즘 이라고도 하며, 동일 입력층에 대해 원하는 값이 출력되도록 각 계층의 가중치를 조정하는 방법으로 사용됩니다. 즉, 예측값과 실제값의 차이인 오차를 계산하고, 이것을 다시 역으로 전파하여 가중치를 조정합니다. 이때, 역전파 과정에서는 최적화 함수를 이용합니다. ​ 역전파를 이해하기 위해서는 인공신경망이 어떻게 가중치를 조정하는지 원리부터 알아야합니다. 위와 같이 1개의 입력층, 1개의 은닉층, 1개의 출력층이 존재합니다.(각 계층에 뉴런은 2개씩) 이제 이 신경망을 학습시켜봅시다. ​ (1) 순전파(forward propagation) 순전파는 입력받은 데이터를 각 가중치와 곱하여 출력을 뽑아내는 과정입니다. 먼저 입력층에서 입력을 받아 은닉층으로 ..

인공지능공부/인공지능기본지식

[AI 기본 지식] 최적화 함수의 모든 것(2)

(7) RMSProp(Root Mean Square Propagation) AdaGrad는 학습 시간이 길어질수록 학습률이 0에 수렴하게 된다는 문제점이 존재했었죠. RMSProp는 이러한 문제점을 해결하고자 제시된 방법입니다. RMSProp는 과거의 모든 기울기를 더하는 것이 아니라, 먼 기울기는 서서히 잊고, 새로운 기울기 정보를 크게 반영합니다. ​ 수식을 보면 새로운 하이퍼 파라미터인 p가 추가된 것을 볼 수 있습니다. p가 작을수록 가장 최신의 기울기를 더 크게 반영합니다. 이로 인해서 이제 기울기가 무한히 커지는 것을 막을 수 있습니다. ​ (8) AdaDelta(Adaptive Delta) AdaDelta역시 AdaGrad의 문제점을 해결하기위해 제시된 방법입니다. AdaDelta는 기울기의..

인공지능공부/인공지능기본지식

[AI 기본 지식] 최적화 함수의 모든 것(1)

최적화란? 신경망 학습의 목적은 손실 함수의 값을 가능한 낮추는 매개변수를 찾는 것입니다. 즉, 어떤 목적함수의 값을 최적화시키는 파라미터 조합을 찾는 것을 뜻합니다. 매개변수 공간은 굉장히 넓고, 복잡하기 때문에 최적화 솔루션을 찾는 것은 굉장히 어려운 문제입니다. ​ 여기서! 목적 함수가 1차식 이하로 구성되어있다면, 선형 최적화 문제, 2차식 이상으로 되어있다면, 비선형 최적화 문제라고 합니다. ​ ​최적화의 원리? 현재의 손실 함수 값이 감소하는 방향으로 파라미터를 업데이트 시킵니다. 여기서 가장 중요한 이슈는 어느 방향으로 얼만큼 갈 것인지 결정하는 것 입니다. ▶ 경사 하강법(Gradient Descent) 경사 하강법은 최적화 시킬 목적함수 f(x)에 대해서, 시작점을 x0를 정하고, 현재 ..

인공지능공부/인공지능기본지식

[AI 기본 지식] 활성화 함수의 모든 것

활성화 함수란? 신경망에서입력 신호의 총 합을 출력 신호로 변환하는 함수입니다. 퍼셉트론은 인간의 뇌의 뉴런을 모방하여 만든 것입니다. 뉴런이 말단에서 다음 뉴런으로 전달될 때, 어떠한 임계 값을 기준으로 신호가 전달된다고 합니다. 쉽게 말해서, 퍼셉트론은 뉴런처럼 입력 받은 수치들을 계산하고, 출력하기 전에 활성화 함수를 거쳐 출력에 변화를 줍니다. 이제 활성화 함수에 종류에 대해서 알아봅시다. ​ (1) 계단 함수 ​ 계단함수는 활성화 함수중에 가장 간단한 함수입니다. 특정한 값을 입력받았을때, 값이 0이하 즉, 음수이면 무조건 0을, 0초과이면 1을 출력해 주는 함수입니다. def step(x): return x > 0 코드도 아주아주 간단합니다. 계단 함수 계단 함수는 그래프에서 보이는 것 처럼,..

컴공누나
'인공지능공부/인공지능기본지식' 카테고리의 글 목록