모두를위한딥러닝 #딥러닝 #DL #인공지능 #AI #독학
-
딥러닝 이론-8-2 : 딥러닝의 기본 개념2딥러닝 2023. 7. 10. 22:31
1. CIFAR (Canadian Institute for Advanced Research) - 힘들었던 neural net의 침체기에 CIFAR 단체를 통해 딥러닝이 다시 발전하게 되었다. (참고로 알고 넘어가면 될듯하다.) 2. Breakthrough (by Hinton and Bengio) - weight의 초기 값만 잘 준다면 많은 layer라도 학습이 가능하다라는 내용의 논문. neural net의 침체기였기 때문에 Deep nets, Deep learning이라고 용어를 바꾸어서 기술하였고 사람들의 관심을 얻게 되고 다시 부흥기로 올라가게 된다. 3. ImageNet Classification을 포함한 여러 분야에서 딥러닝이 활약 - 사진 분류와 관련하여 딥러닝 모델을 이용하였을 때 굉..
-
딥러닝 이론-8-1 : 딥러닝 기본 개념 1딥러닝 2023. 7. 9. 20:30
1. Activation Function 사람들의 궁극적인 목표는 스스로 인간의 일을 하는 기계를 만드는 것이었다. (아이언맨의 자비스와 같은) 이를 위해서 기계 스스로 생각할 수 있는 능력이 있어야하는데, 이를 위해서 인간의 뇌에 대해서 연구를 하기 시작했다. input을 받아 다음 뉴런에 전달하는 뉴런의 구조를 모티브하여, activation function(활성화 함수)를 고안하게 되었다. activation function은 아래 구조 처럼 w와 x의 곱의 형태의 input을 받아서 특정 값 이상이면 output을 내보내는 형태이다. 2. XOR 문제 초기에는 간단한 AND와 OR 문제를 linear하게 푸는 것으로 neural net을 굉장히 희망적으로 바라보았지만, XOR문제를 linear하게..
-
딥러닝 이론-7-2 : Learning and test data sets딥러닝 2023. 7. 7. 23:00
1. Training and test sets - 앞선 포스팅에서도 말했듯이, training set의 정확도를 100%로 model을 학습시키는 것은, model이 memorize 할 수 있기 때문에 좋은 방법이 아니라고 하였다. 그럼 어떻게 setting을 해야할까? data set이 train data와 test data로 나누어져 있는 경우도 있지만, 그렇지 않은 경우도 있다. 이러한 경우, 보통 전체 data set의 80%를 train data로 사용하고 나머지 20% 를 test data로 사용하게 된다. train data의 경우, 실제 값(Y)를 보면서 예측 값과 비교하지만, test data에서는 실제 값이 숨겨져서 볼 수 없어야 한다. (시험보는데 답지 보면 무슨 의미가 있겠는가...
-
딥러닝 이론-7-1 : Learning rate, data preprocessing, overfitting딥러닝 2023. 7. 6. 21:59
1. Learning rate - 앞서 gradient descent algorithms을 통해 cost를 줄여나간다고 하였다. 그럼 학습이 진행되면서 얼마만큼 cost를 줄여나가기 위해 움직일까? 그것을 결정해주는 것이 learning rate이며, 이것은 우리가 지정해줄 수 있다.(hyperparameter) learning rate이 너무 크게 되면 우리가 찾고자하는 w값을 찾지 못하고 밖으로 튕겨나가는 overshooting이 될 수 있다. (왼쪽 그래프) 반대로 learning rate이 너무 작게 되면 시간이 오래 소요되고 시간이 다 되어 우리가 찾고자하는 최저점이 아닌 곳에서 stop할 수 있다. (오른쪽 그래프) 따라서 적절한 learning rate을 설정해주는 것이 필요하다. 모두를 위..
-
딥러닝 이론-6 : Softmax Classification딥러닝 2023. 7. 5. 22:12
1. Multinominal classification - 지금까지는 Logistic classification에 대해서 살펴보았다. 하지만 찾고자 하는 label이 3개 이상이라면 어떻게 해야할까? 아래와 같이 label 값이 3개 표시된 그래프를 보자. 앞서 살펴본 Logistic classification 처럼 binary로 표현이 가능하다. 하나의 선으로 구분하는 것은 어렵지만 3개의 선으로 각각 해당 label이거나 아니거나로 binary classification으로 표현할 수 있다. (각각 label에 대한 classifier를 만든다고 보면 된다. - 3개의 classifier) 이에 대한 식은 아래와 같다. 이렇게 3개의 classifier에 대한 식을 행렬의 곱을 이용해 1개의 식으로 ..
-
딥러닝 이론-5 : Logistic regression classification딥러닝 2023. 7. 4. 21:28
1. Binary Classification (이진 분류) - 스팸메일 분류와 같은 것이 대표적인 이진 분류의 예이다. 이러한 경우 스팸은 1, 스팸이 아닌 것은 0 으로 labeling을 하여, 모델이 0 또는 1로 예측하도록 한다. 예를 들어 아래와 같이 공부시간에 대한 시험 pass/fail에 대해 예측하는 모델이 있다고 하자. 이 경우 Linear한 모델로 pass/fail을 분류할 수 있을 것 같다. 맨처음 L1 (wx)와 같이 모델이 예측했다고 하자. 그럼 y 값이 0.5 인 경우 p3까지 정확히 분류할 수 있지만, 점점 공부시간이 많아지면서 통과한 경우 (p4) 를 예측하기 위해 L2처럼 선이 기울어지게 된다. 학습이 진행되면서 L2처럼 모델이 되었을 경우 기존 L1의 경우에는 y값이 0..
-
딥러닝 이론-4 : Multivariable linear regression딥러닝 2023. 7. 3. 21:47
1. input이 여러 개인 경우 - 지금까지는 input이 하나인 경우에 대해서만 살펴보았다. input이 여러 개인 경우는 그저 input의 개수 만큼 x값을 넣어주면 된다. 아래의 식은 input의 개수가 3개인 경우이다. 이에 대한 cost function 또한 아래와 같다. 2. Matrix - 이렇게 input 값이 많아질수록 H(x)에 대한 식이 길게 늘어지는데, 이 경우 matrix(행렬)을 사용하면 쉽게 표현할 수 있다. 위의 H(x)에 대한 식을 행렬로 표현하면 아래와 같다. 딥러닝에서 행렬은 떼려야 뗄 수 없는 관계이므로 꼭 제대로 아는 것이 중요하다!!
-
딥러닝 이론-3 : Cost를 최소화하는 방법딥러닝 2023. 7. 2. 15:55
1. Simplified hypothesis - linear regression 에서 가설로 세웠던 식 (H(x) = Wx +b) 를 간단히 하기 위해 bias를 제외시키고 생각하자. 그렇게 되면 아래와 같은 식과 그래프가 나타나게 된다. 그래프에서도 보이듯이, x축은 w 값, y축은 cost 값으로, 우리가 구하고자하는 것은 y축인 cost가 가장 적은 w값이 된다. 2. Gradient descent algorithm - Gradient descent algorithm(경사 하강법)은 cost function을 최소화하는 알고리즘으로, 최소화 하는 문제들에 많이 사용되는 알고리즘이다. w값이 하나인 경우 뿐만 아니라 여러개의 w값이 있는 cost function에도 적용될 수 있다. 이 알고리즘이..