본문 바로가기

Machine-Learning51

[CV Paper] Vision Transformer Vision Transformer AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE Google Research, Brain Team (Published as a conference paper at ICLR 2021) ViT는 트랜스포머가 컴퓨터 비전의 기본 문제인 분류 문제를 얼마나 잘 푸는지 확인할 목적으로 [Vaswani2017]이 제안한 원래 트랜스포머 구조를 최대한 그대로 따라 실험한다. 원래 트랜스포머는 언어 번역을 위해 개발되었기 때문제 문장을 입력 받아 문장을 출력하는 구조, 즉 인코더는 입력 문장을 처리하고 디코더는 출력 문장을 처리하는 구조를 가진다. 문장은 단어가 순서대로 배열된 1차원 구조의 데이터인.. 2022. 8. 25.
[CV] albumentations (Image Augmentation) albumentations Albumentations는 Image Augmentations을 위한 python 라이브러리이다. Image augmentation 은 딥러닝과 컴퓨터 비전에서 학습모델의 성능을 향상시키는 역할을 한다. Image augmentation의 목적은 현재의 데이터로부터 새로운 학습 샘플링을 만들기 위함이다. albumentations의 장점 1. 모든 컴퓨터 비전의 task 를 지원한다 ex) classification, semantic segmentation, instance segmentation, object detection, and pose estimation. 2. 단순화된 통일된 API로 공급 3. 70개 이상의 서로 다른 Augmentation를 포함 4. Fast.. 2022. 8. 23.
[Paper] Fast RCNN Fast RCNN Fast R-CNN은 R-CNN의 단점을 보완하여 개발한 Method이다. 기존의 RCNN은 위에서 보이는 그림과 같이 input image에 대해서 SS(Selective Search) 등 을 통해서 얻은 ROI별로 각각 Conv Net의 모델로 학습하고 학습된 Feature map을 통하셔 SVM을 통해서 Predict하는 형태로 많은 저장 공간과 느리다는 단점을 가지고 있었다. 그래서 Fast R-CNN이 등장하였고 기존의 각각의 ConVNet을 하나의 ConVNet을 사용할 수 있도록 Crop + Resize 된 동일한 형태의 fixed-size를 만들어 하나의 ConVNet 공간에서 학습 할 수 있도록 만들었고, 두개의 동일한 형태는 classification, regresso.. 2022. 8. 23.
[Paper] An overview of gradient descent optimization algorithms An overview of gradient descent optimization algorithms introduction Gradient descent algorithms Gradient descent 여러 종류의 문제에서 최적의 해법을 찾을 수 있는 일반적인 최적화 알고리즘 목적 함수의 기울기 와 반대 방향으로 parameter 쎄타를 업데이트하며 목적 함수 \(\triangledown\theta\)를 최소화 하는 방법이다 learning rate (lr) parameter step의 크기 lr가 너무 작으면 알고리즘이 수형하기 위해 반복을 많이 진행해야 하므로 시간이 오래 걸리고, lr가 너무 크면 골짜기를 가로 질러 반대편으로 건너뛰게 되어 이전보다 더 큰 값으로 발산 할 수 있다. Gradien.. 2022. 8. 23.
[CV] 합성곱 신경망 (Convolutional Neural Network, CNN) 합성곱 신경망 (convolution neural network: CNN) CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 사용되는데,특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의다 CNN을 기초로 한다. 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있고, 이를 완전연결 (fully-connected, 전결합)이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현하고 있다. 완전한 신경망은 Affine 계층 뒤에 활성화 함수인 ReLU계층 (sigmoid계층)이 이어진다 * Fully-Connected Layer 와 Fully Convolutional Network은 서로 다른 개념 Affine 계층을 사용하면, 가령 층이 5개인 완전 연결 신경망은 아래와 같이 구현할 수.. 2022. 8. 23.
[ML] 활성화 함수 (Activation function) 활성화 함수 (Activation function) 활성화 함수는 무엇일까? 왜 사용할까? 신경망 구조 설계에는 뉴런의 활성화 함수를 결정하는 것도 포함된다. 활성화 함수는 전이 함수 (transfer function) 또는 비선형성 (nonlinearity)이라고도 하는데, 그 이유는 활성화 함수가 가중합의 선형 결합을 비선형 모델로 만들기 때문이다. 활성화 함수는 각 퍼셉트론 내 계산의 마지막 단계에 배치되어 뉴런의 활성화 여부를 결정한다. 즉, 활성화 함수는 '활성화'라는 이름이 말해주듯 활성화 함수는 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할을 한다 그냥 가중합을 계산해서 그대로 출력해도 되는데 굳이 활성화 함수를 사용하는 이유는 무엇일까 ? 그 이유는 활성화 함수가 있어야 신경망에 비.. 2021. 9. 5.
[ML] 손실함수(Loss function) 손실 함수 손실 함수는 딥러닝 모델의 출력 값과 사용자가 원하는 정답의 오차를 계산해주는 함수이다. 회귀 모델과 분류 모델을 학습하기 위한 최적화 문제의 손실 함수를 어떤 기준으로 정의해야 하며 어떤 의미로 해석해야 할까 ? 손실 함수가 최적해가 관측 데이터를 잘 설명할 수 있는 함수의 파라미터 값이 되도록 하며 어떤 기준으로 정의 해야 할까 모델이 오차 최소화(error minimization)되도록 정의하거나 모델이 추정하는 관측 데이터의 확률이 최대화되도록 최대우도 추정 (maximim likelihood estimation)방식의로 정의하는 방법이다. 오차 최소화 관점은 모델의 오차는 모델의 예측과 관측 데이터의 타깃의 차이를 말한다. 손실함수의 목표가 모델의 오차를 최소화하는 것이므로 직관적으로.. 2021. 9. 5.
[ML] 경사하강법(Gradient Descent) 경사 하강법 (Gradient Descent) ? 신경망을 학습시킨다는 것은 모델이 더 예측을 잘 하는 방향으로 가중치를 업데이트해 가는 과정이라고 할 수 있다. 그런데 어떤 방향으로, 또 얼마나 업데이트해야 할까? 우선 우리의 신경망 학습이 최종적으로 도달하고자 하는 곳을 살펴보자. 아래 그래프는 가로가 가중치 w의 값을 나타내고, 세로가 비용을 나타낸다. 예측한 결과가 실제 결과와 얼마나 다른 지를 나타내는 값이 비용임을 생각해보면, 이 비용을 최소한으로 줄여나가는 것이 학습의 목적이라는 것을 이해할 수 있다 (실제로 일반적인 용어로 비용 함수를 '목적 함수'라고 한다) 우리가 학습을 통해 도달하고자 하는 목적지를 최적값(optimum), 혹은 더 쉽게 최솟값(minimum)이라고 한다. 비용을 최소.. 2021. 9. 5.
[ML] 분류 (Classification) 평가 지표 분류 (Classification) 의 평가 지표 분류 문제의 경우 레이블이 이산(discrete) 데이터로 표현된다. 따라서 손실 값 이외에도 정확도와 같은 다른 평가 지표가 존재한다. 이러한 다양한 평가 지표를 살펴보자. 혼동 행렬 (Confusion Matrix) 분류 문제 에서 실제 클래스와 학습기가 예측 분류한 클래스 조합은 $$ 실제 양성 (True Positive), 거짓 양성(False Positive),실제 음성(Ture Negative), 거짓 음성(False Negative)$$ 총 4가지 형태로 요약할 수 있다. 가각을 TP, FP, TN, FN으로 나타내며 \('TP + FP + TN + FN = 총 샘플 수'\) 가 된다. 이처럼, 분류 모델에서 구한 예측 범주와 실제 범주의 교.. 2021. 9. 5.