본문 바로가기
728x90
반응형

딥러닝8

[Project] Fashion MNIST Classifier (패션 아이템 분류기) ※ 학습 프로젝트 목표 : Fashion MNIST Dataset을 활용하여 분류기(classifier) 학습하고, 성능 검사! → 28 x 28 픽셀 70,000개의 흑백 이미지로, 신발, 드레스 등 10개의 카테고리(class)가 존재한다. → 패션 이미지 데이터를 입력으로 주면 어떤 이미지인지 예측하여 반환되는 모델 설계 # 개요 → Multi layer perceptron, Batch normalization, ReLU를 사용하여 Neural Network 설계 → 성능도(Accuracy) 개선 - Augmentation, Dropout 등 적용 1. Package Load (import 및 환경 설정) import torch import torch.nn as nn import torchvisio.. AI |Computer Vision/Project 2022. 6. 4.
[Pytorch] MLP(Multi-layer)를 사용하여 MNIST 분류하기 # Multi-Layer Perceptron(MLP)로 MNIST data 분류하기 → MNIST : 숫자 0~9까지의 이미지로 구성된 손글씨 Dataset → 60,000개의 Training data, label 와 10,000개의 Test data, label로 구성됨 → 각각의 이미지는 28 x 28 size이며, 해당 이미지가 어떤 숫자인지 분류하는 실습 import torch import torchvision import torchvision.datasets as dsets import torchvision.transforms as transforms # GPU & random seed 설정 device = 'cuda' if torch.cuda.is_available() else 'cpu' to.. AI |Computer Vision/Basic Pytorch 2022. 5. 15.
[Pytorch] Softmax Regression (소프트맥스 회귀) 1. Softmax Regression 이해 앞선 Binary Classification 이후, 이번엔 Softmax Regression(소프트맥스)를 이용하여 3개 이상의 선택지 중 1개를 고르는 Multi-Class Classification 실습을 진행한다. 1-1. Review of Logisitc Logistic regression에서는 Sigmoid 함수를 통해 예측값을 0 ~ 1 사이의 값을 출력한다. 그리고 두 확률의 합은 1이 된다. → ' H(X) = sigmoid(WX + B) ' 1-2. Softmax (= Multi-Class Classification) Softmax Regression은 각 클래스(=선택지)마다 확률을 할당하고, 그 확률의 총합이 1이 된다. 또한 각 클래스가 .. AI |Computer Vision/Basic Pytorch 2022. 4. 20.
[Pytorch] Logistic Regression (로지스틱 회귀) 1. Logistic Regression 간략 설명 및 구현 Logistic Regression은 2가지 중 하나를 결정하는 문제인 ' Binary Classification (이진 분류) '를 풀기 위한 대표적인 알고리즘 중에 하나이다. ex) 스팸 메일 분류, 합격/불합격 분류 등 1-1. Hypothesis ( ex, Sigmoid function ) Sigmoid function은 입력값이 커질수록 1에 수렴하고, 작아질수록 0에 수렴한다. 이 함수의 출력값은 0 ~ 1 사이의 값을 가지는데, 이 특성을 이용하여 Classification 작업에 사용 ex) 임계값(=0.5) 이상이면 1(True), 이하이면 0(False)로 판단 1-2. Cost function Linear re.. AI |Computer Vision/Basic Pytorch 2022. 4. 20.
[Pytorch] Multivariable Linear Regression (다중 선형 회귀) " 다수의 x로부터 하나의 y값을 예측하는 모델 " → 2개 이상의 데이터(정보)들로부터 어떤 값을 예측하는 모델 ex) 암의 위치, 넓이, 모양 등을 통한 치료 성공률 ex) 여러 쪽지시험 데이터들을 통한 마지막 시험의 점수 1. PyTorch로 모델 구현하기 → 독립 변수 x가 3개인 모델, 즉 3개의 쪽지시험 점수로부터 Final 점수를 예측하는 모델 구현 import torch import torch.nn as nn # 신경망을 구축하기 위한 데이터 구조나 레이어 정의 import torch.nn.functional as F import torch.optim as optim # Parameter 최적화 알고리즘 구현 # Random .. AI |Computer Vision/Basic Pytorch 2022. 4. 12.
[Pytorch] Single Linear regression(단일 선형 회귀) - 선형회귀(Linear regression)을 이해하고, Pytorch로 모델을 만들어보자 → 하나의 정보로부터 하나의 결과값을 추측! - 데이터 이해, 가설(Hypothesis)수립, 손실(Loss)계산, Gradient descent(Loss funcion) 최소화 ex) 쪽지 시험 점수 예측 1) Data - Train, Test 어떤 학생이 1,2,3시간을 공부했을 때 각각 2,4,6점을 받았다면, 4시간을 공부한다면 몇 점을 받을까? 이 상황에서 예측하기 위해 학습하는 데이터를 ' Training Dataset '라고 하며, 해당 모델이 얼마나 잘 작동하는지 판별하는 데이터를 ' Test Dataset '이라고 한.. AI |Computer Vision/Basic Pytorch 2022. 4. 10.
[PyTorch] Tensor Manipulation 2 1. PyTorch Tensor의 기본 연산 → View, Squeeze, Unsqeeze, Type casting, Concatenate 등의 기초적인 텐서 연산하기 1) View - Tensor의 size 조절 ( 매우 중요 ★★★ ) Pytorch View(뷰)는 "Tensor의 shape를 변경"해주는 역할을 수행한다. → view는 size 변경 전과 후의 Tensor 안의 원소 개수가 유지되어야 한다. → Pytorch의 view는 size가 -1로 설정되면, 해당 차원은 무시하고 다른 차원으로부터 값을 유추 3차원 Tensor에서 2차원 Tensor로 변경 import torch ft = torch.FloatTensor([[[0, 1, 2], # 3차원의 Tensor 생성(ft) [3, 4,.. AI |Computer Vision/Basic Pytorch 2022. 4. 4.
[PyTorch] Tensor Manipulation 1 1. Tensor 이해하기 1D : Vector (벡터) 2D : Matrix (행렬) 3D : Tensor (텐서) - 주로 3차원 이상을 Tensor로 분류 4D : 3차원의 텐서를 위로 쌓아 올린 형상 - 이후 차원은 옆/뒤로 확장한 모습 2. Pytorch Tensor Shape Convention Matrix, Tensor들에 대해 " 크기를 구하는 것 "이 중요하다. 정확한 크기를 고려해야 제대로 구현할 수 있으며, 수식을 쉽게 이해할 수 있다. 2D Tensor : |t| = ( batch size, dim ) 3D Tensor : |t| = ( batch size, width, height ) → 여기부터는 조금 더 복잡한 형.. AI |Computer Vision/Basic Pytorch 2022. 3. 29.
반응형