Data_study/Deep Learning 12

Loss Function(MSE, BCE, CCE)

Loss Function 모델의 output 즉, 예측값과 실제 데이터 셋과의 차이를 수치화시키는 함수다.(이 차이를 출이는 것이 목표이며, loss값이 필요한 이유다.) 어떤 종류의 Loss Function이든, 예측값과 실제값이 비슷할수록 0 & 비슷하지 않을수록 1 또는 ∞에 가까워야한다는 개념으로부터 파생된다는 것을 인지하자. MSE(Mean Squared Error) 이 또한, 둘이 비슷할수록 0에 가까워지고, 둘의 차이가 클수록 발산한다. 는 아래로 볼록한 모형의 그래프를 형성할 것이다. 보통 regression에서 주로 사용된다. BCE(Binary Cross Entropy) Binary Classification을 할 때 사용하는 Loss Function이다. y = 0이면, 앞에 항이 0..

[Deep learning] Backpropagation & Chain Rule 개념

학창시절에 배운 미분을 통해 이 딥러닝에서는 어떻게 적용되어 학습되는지 확인해보자. 학창시절에는 실수를 활용해서 함수를 통해 미분을 하여 y'=0일때의 x의 값을 구하는 문제를 많이 접해봤다. 이 Deep Learing에서는 어떤 차이점이 있는지 확인해보자. 또한 미분계수가 주는 의미가 무엇인지 알아보자. Gradient - Based Learning 학창시절 때 부터 배워온 미분을 통해 학습을 한다는 말로 x 값을 계속해서 dy/dx를 통해 업뎃하면서 최솟값을 찾는 학습기법을 말한다. 딥러닝에서 미분계수의 의미는 + : (-) 방향으로 가야 최솟값을 찾을 수 있다. - : (+) 방향으로 가야 최솟값을 찾을 수 있다. 의 의미를 갖고 있다. 즉 " -dy/dx : x값이 움직여야하는 방향이다!" 라고 ..

[Deep learning] Precision & Recall & IoU

정도율과 재현율 그리고 f score을 우선 알아야 추후에 classification이나 computer vision을 모델링하여 결과를 평가할때, 필수적으로 알아야하는 부분이다. computer vision에서는 IOU가 사용한다. 그렇기에 yolo 프로젝트 모델링 파트를 블로그에 올리기 전에 평가지표들을 모두 정리하는 과정을 갖도록 해봤다. 오차행렬(Confusion Matrix) Binary Classification 평가 결과를 나타낼 때 가장 널리 사용하는 방법이다. multi Classification또한 평가지표들에 정도율 재현율 f score들을 사용한다. 정확도(accuracy) 모든 분석 결과에서 양성을 양성으로 판별하고 음성을 음성으로 판별한 값들의 비율을 말한다. Accuracy =..

[Deep learning] Object Detection 의 개념

한국어로 흔히 객체 인식으로 불리는 object detection은 다양한 모델로 구현이 가능하다. 이 다양한 모델의 장단점과 차이점을 구분하는 공부과정을 가져보았다. Object Detection Computer vision의 다양한 분야중 하나로, 주어진 이미지에서 사용자가 원하는 객체를 인식하고 찾아내는 기술이다. -Classification은 이미지내에 있는 객체를 분류하고 판별만 하는 것이고 Object Detection은 판별하는 동시에 객체가 어디에 위치해있는 지까지 탐지하는 것이다. 다시말해, Object Detection은 어떤 객체인지 분류(Classification)하고 그 객체가 어디에 있는지 좌표를 통해 찾아내는(Localization)의 이슈를 해결해야하는 기술이다. Object..

[Deep learning] Conv Layers

convolution layers는 Dense layer와 비슷하지만 연산이 조금은 다른 구성을 하고 있다. 보통 convolution layers는 이미지 데이터를 활용하는데 사용되고 있어 image tensors의 구성으로 공부를 해보았다. Dense Layer에서도 그랬듯이, data가 layer를 통과했을때, 연산을 통해 shape가 어떻게 변화하는지 확인해보자. correlation과 Dot Product 와 Convolution의 차이점을 확인해보자. Correlation correlation은 Convolutional Neurons Network 에서 사용하는 대부분의 연산이다. [Classical Correlation] 우리가 다루게 되는 것은 convolution 이라 부르지만, 실제로는..

[Deep_learning] Multiclass_Classifiers 구현

Multiclass Classifiers는 앞 글에서 배운 Binary Classifiers와 다르게 다양한 class로 구별하려 할 때 사용한다. sigmoid와 softmax의 개념들을 공부해서 알겠듯이, Multiclass Classifiers는 softmax를 layer로 활용하여 분류한다. Softmax Layers IO of softmax 우선 softmax의 input과 output을 확인해보자. import tensorflow as tf from tensorflow.keras.layers import Activation logit = tf.random.uniform(shape = (1,5),minval=-10, maxval=10) softmax_value = Activation('softm..

[Deep_learning] Binary Classifiers 구현

Binary는 두 유형, 두 조각, 두 부분을 의미하여, Binary Classifiers는 두 유형으로 분류하는 모델이다. 예를 들어 강아지 또는 고양이, 흰색또는 검은색과 같은 것들을 분류할 때 사용한다. 그러면, 눈치 챘을 것이다. Binary Classifiers는 sigmoid 를 사용하겠구나...! 이 모델로 보통 입력데이터가 강아지인지 아닌지, 또는 고양이인지 아닌지 분류할 때 사용된다. 이미지 인식의 기초라고 생각할 수도 있겠다. 자 그럼 Binary Classification에 사용되는 알고리즘인 Logistic Regression을 구현해보자. Logistic Regression Models 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1사이의 값으로 예측하고 그 확률에 따..

[Deep Learning] Sigmoid and Softmax 이론

Activation Function에서 활용한 sigmoid와 Softmax가 어떤 역할을 하는 지 배워보자. sigmoid와 softmax는 어떤 차이가 있는지, 각각 어떻게 활용되는지 확인해보자. sigmoid는 왜 탄생되었을까라는 생각도 해볼 수 있다. Sigmoid Function sigmoid를 알기 전에 Logit을 알아야하고, Logit을 알기 전에 odds 를 알아야한다. 그 이유는 sigmoid는 odds에서 변형되어, 탄생됐기 때문이다. Odds ratio odds ratio는, 한 사건이 일어날 확률 대비 한 사건이 일어나지 않을 확률의 비율?이라고 생각하면 된다. 예를 들어, 동전을 던질 때, 뒷면이 나올 확률 대비 앞면이 나올 확률은 1이다. 두 확률이 동일하기 때문이다. odds..

[Deep_learning] Dense Layers 구현

dense layers 진행과정과 진행하면서 변화되는 입력데이터의 shape와 weight, bias의 shape도 확인해보자. 1. x입력데이터는 tf.random.normal로 shape를 설정하여 만들자. 2. dense 패키지를 활용하여 affine과 activation을 동시에 연산을 진행하는 객체를 만들고 거기에 x입력값을 넣자. 3. 연산 다 된 상태에서 이제 W, B와 마지막으로 나온 출력값의 shape들을 확인해보자. Dense Layers 우선 Layer가 하나 있는 형태를 통해 각 파라미터와 출력값의 shape를 확인해보자. 필요한 패키지들을 불러오고, 입력데이터를 만들자. import tensorflow as tf from tensorflow.keras.layers import De..

[Deep Learning] Dense Layers 이론

Dense Layers를 설명하기 앞서, Layers가 무엇인지 설명하겠다. Layer란, 음향 장비중에 믹서에서 이퀄라이저와 비슷한 역할을 한다. 이퀄라이저도 하나의 음성이 들어오면, 각각의 High, mid, low의 기존에 입력된 parameter들을 통해, layer들을 통과하여, 변형된 음성을 출력한다. 이와같이 layer도 동일하다. 데이터 세트 X를 입력하면, 각 neuron들의 parameter를 통해 새로운 결괏값을 도출해낸다. 이 부분도 데이터세트와 뉴런, 결괏값들의 차원이 중요하다. Dense Layers Layer는 서로 다른 Parameter(Weight, Bias)들을 가지고 있는 Parametric Function들의 모임이다. 즉, 저번 개시글에서 배운 Neuron들의 집합이..