본문 바로가기

인공지능 AI/딥러닝

(10)
Train / Test / Validation set의 차이 딥러닝에서 신경망 모델을 학습하고 평가하기 위해 dataset이 필요하다. 이때 dataset을 성질에 맞게 보통 다음 3가지로 분류한다. 1. Train set 2. Validation set 3. Test set 이렇게 각각 모델을 학습하고 검증하고 평가하는데에 목적을 서로 다르게 두고있다. 이 세가지 dataset이 정확히 무엇이고 어떤 성질을 띄는지 살펴보자. 모델을 학습하기 위한 dataset이다. 한 가지 계속 명심해야할 중요한 사실은 "모델을 학습하는데에는 오직 유일하게 Train dataset만 이용한다" 보통 train set을 이용해 각기 다른 모델을 서로 다른 epoch로 학습을 시킨다. 여기서 각기 다른 모델이란 hidden layer 혹은 hyper parameter에 약간씩 변화..
활성화 함수(activation function)종류 및 정리 수식 : output값을 0에서 1사이로 만들어준다. 데이터의 평균은 0.5를 갖게된다. 위 그림에서 시그모이드 함수의 기울기를 보면 알 수 있듯이 input값이 어느정도 크거나 작으면 기울기가 아주 작아진다. 이로인해 생기는 문제점은 vanishing gradient현상이 있다. Vanishing gradient 이렇게 시그모이드로 여러 layer를 쌓았다고 가정하자. 그러면 출력층에서 멀어질수록 기울기가 거의 0인 몇몇 노드에 의해서 점점 역전파해갈수록, 즉 입력층 쪽으로갈수록 대부분의 노드에서 기울기가 0이되어 결국 gradient가 거의 완전히 사라지고만다. 결국 입력층쪽 노드들은 기울기가 사라지므로 학습이 되지 않게 된다. 시그모이드를 사용하는 경우 대부분의 경우에서 시그모이드함수는 좋지 않기때..
딥러닝 역전파 backpropagation이란? 이전 글에서 설명했듯이 활성화 함수를 적용시킨 MLP에서 XOR과 같은 non-linear 문제들은 해결할 수 있었지만 layer가 깊어질수록 파라미터의 개수가 급등하게 되고 이 파라미터들을 적절하게 학습시키는 것이 매우 어려웠다. 그리고 이는 역전파 알고리즘이 등장하게 되면서 해결되었고 결론적으로 여러 layer를 쌓은 신경망 모델을 학습시키는 것이 가능해졌다. 역전파 알고리즘은 출력값에 대한 입력값의 기울기(미분값)을 출력층 layer에서부터 계산하여 거꾸로 전파시키는 것이다. 이렇게 거꾸로 전파시켜서 최종적으로 출력층에서의 output값에 대한 입력층에서의 input data의 기울기 값을 구할 수 있다. 이 과정에는 중요한 개념인 chain rule이 이용된다. 출력층 바로 전 layer에서부터 ..
활성화 함수(activation function)을 사용하는 이유 신경망모델의 각 layer에서는 input 값과 W, b를 곱, 합연산을 통해 a=WX+b를 계산하고 마지막에 활성화 함수를 거쳐 h(a)를 출력한다. 이렇게 각 layer마다 sigmoid, softmax, relu 등.. 여러 활성화 함수를 이용하는데 그 이유가 뭘까? - 선형분류기의 한계 인공신경망에 대한 연구가 한계를 맞게된 첫 과제는 바로 XOR문제였다. 아래 그림에서 확인할 수 있듯이 기존의 퍼셉트론은 AND와 OR문제는 해결할 수 있었지만 선형 분류기라는 한계에 의해 XOR과 같은 non-linear한 문제는 해결할 수 없었다. 그리고 이를 해결하기 위해 나온 개념이 hidden layer이다. 그러나 이 hidden layer도 무작정 쌓기만 한다고 해서 퍼셉트론을 선형분류기에서 비선형분류..
Linear Regression vs Logistic Regression Supervised Learning중 하나로 input data로 discrete한 값을 예측하면 Classification continuous한 값을 예측하면 Regression이라고 한다. 더 자세한 설명은 아래 이전글에서 확인할 수 있다. [딥러닝] 머신러닝 기초 (1. ML Basic) [딥러닝] 머신러닝 기초 (1. ML Basic) 1-1) 머신러닝 문제들의 분류 1-2) Regression Problems 1-3) Clustering Problems 1-4) Dimensionality Reduction Problems 1-1) 머신러닝 문제들의 분류 Supervised Learning : input(X)와 ouput(Y)이 정해진.. ganghee-lee.tistory.com 그렇다면 Reg..
Objective Function, Loss Function, Cost Function의 차이 학습을 통해 최적화시키려는 함수이다. 딥러닝에서는 일반적으로 학습을 통해 Cost를 최소화시키는 optimize작업을 수행을 하고 이때 Cost function을 Objective function이라 볼 수 있다. 하지만 Objective function에 꼭 Cost function만 있는 것은 아니다. 예로 MLE와 같이 학습을 통해 확률을 최대화하려는 function 역시 Objective function으로 정의되지만 이는 Cost, Loss function은 아니다. input(x)에 대한 예측값(y^)과 실제 label값(y) 사이의 오차를 계산하는 함수이다. 예로 linear regression의 경우 Loss function으로 최소제곱오차를 사용한다. 즉, 하나의 input data에 대..
딥러닝 기본 용어 및 개념정리 logistic regression : binary classification을 하기위해 사용되는 알고리즘이다. y가 1일 확률을 계산하며 이때 시그모이드 함수를 이용하여 0~1사이의 값으로 만들어준다. first-order method : 한번 미분한 변수로만 이루어진 식 (ex. 위에서 언급한 Gradient Descent) element wise : 행렬, 벡터에서 원소별로 연산을 하는 것을 의미한다. ex. element wise product에서는 일반적인 행렬곱셈이 아닌 원소별 곱셈이다. 따라서 곱셈할 행렬의 shape이 같아야 한다. (행렬의 shape이 다르더라도 행렬 broadcast를 통해 shape이 같아질 수 있으면 가능하다.) hyper parameter : 모델링할때 사용자가 직..
딥러닝 공부순서 추천 1. 포트폴리오 먼저, 프로젝트를 정하고 구현해보는 것이 좋다. 프로젝트 아이디어를 얻는데에 좋은 방법은 아래와 같다. 1) ML Sources를 얻기 좋은 곳 - Stanford's CS224n & CS231n projects - ML Reddit's WAYR - Kaggle Kernels - Paper (ML : ICML, NIPS / CV : CVPR, ECCV, ICCV) 유투브, udemy, edwith, nomad, fast.ai, coursera 등.. 에서 인터넷 강의를 병행하며 기초를 탄탄히 하면서 관련 Paper들을 찾자. (논문 찾기 좋은 곳 : google scholar) 그 후 여러 논문, Reddit, Kaggle 글들을 읽어보면서 관심있는 주제, idea의 방향성을 먼저 잡는 ..