ML&DL 이야기/Pytroch
-
[PyTorchZerotoAll 내용정리] 11-2: ResNet [Deep Residual Learning for Image Recognition] CVPR 2016)ML&DL 이야기/Pytroch 2023. 11. 29. 21:04
Residual Learning(ResNet) Deep Residual Learning for Image Recogintion Identity Mappings in Deep Residual Networks Deep residual networks have emerged as a family of extremely deep architectures showing compelling accuracy and nice convergence behaviors. In this paper, we analyze the propagation formulations behind the residual building blocks, which suggest that the f arxiv.org 1. Abstract Is l..
-
[PyTorchZerotoAll 내용정리] 11-1: GoogleNet(Inception Moudle) [Going deeper with Convolution] ILSVRC14, CVPR 2015)ML&DL 이야기/Pytroch 2023. 10. 10. 02:49
CNN에 관한 몇몇 부분을 더 추가적으로 다루는 파트이다. Inception Module (https://gaussian37.github.io/dl-concept-inception/ 를 추가로 참고하여 작성했습니다) 논문 링크: https://arxiv.org/abs/1409.4842 2014년 ILSVRC에서 우승한 모델인 Inception Model, 혹은 GoogLeNet 모델에 관해 알아보자(좋은 모델이지만 이후에 나온 ResNet에 밀려 잘 안보이는 슬픈 모델...) 기본적인 아이디어는 CNN의 네트워크를 더 깊게 만드는 것이다. CNN의 네트워크가 깊어지면 깊어질수록 더 다양한 필터를 사용하기에 성능이 일반적으로 좋아지지만...! Overfitting, Vanishing Gradient Pro..
-
[PyTorchZerotoAll 내용정리] 10: Convolution Neural Network(CNN)ML&DL 이야기/Pytroch 2023. 10. 9. 10:55
Pytorch Zero To All 강의를 Base로 삼아서 내용을 작성 및 정리하였습니다 24.1.28: LGAimers강의 중 주재걸 교수님의 CNN 강의의 일부내용을 포함하였습니다 Basic Idea of CNN 기존의 이미지 기반 모델들의 경우, 여러 상이한 이미지 모델들에 관해서 잘 구분하거나, 파악하지 못하는 문제들이 있었다. 사람의 경우 이미지를 판단할 때 일부 특정패턴을 보고 그 중 전부가 아닌 일부가 이미지에 있다면 이를 보고 그 이미지를 판단한다. CNN의 경우에도 수많은 이미지 중 특정 패턴을 학습하여 이를 이용해 이미지를 확인하겠다는 것이 main Idea이다. 즉, 위의 이미지처럼, 여러 학습 데이터에서 특정한 패턴이 반복된다면, 이미지에서 해당 패턴이 존재하는 것을 학습한다. 이..
-
[PyTorchZerotoAll 내용정리] 09: Softmax ClassifierML&DL 이야기/Pytroch 2023. 9. 5. 13:13
06, 07 내용에 이은 Softmax Classifier이다. Logistic Reression은 단일 품목을 labeling하기 위한 방법이었다. 예시를 들면 개인지, 개가 아닌지?를 판단하는 모델을 학습하는 것이었다. 하지만 우리는 때에 따라서 해당 동물의 사진이 개인지, 고양이인지, 토끼인지, 두더쥐인지 다양한 품목, 종류에 대해 판명해야할 때도 많다. 이를 위해 우리는 Soft max 함수가 필요하고, 이러한 문제를 multi-classification problem, 혹은 model이라고 한다. 기존 classification 문제와 달리 그러면 multi-classfication문제이기 때문에 우리가 분류해야하는 n개의 label에 맞게 n차원의 output을 내야할 것이다. 기존의 clas..
-
[PyTorchZerotoAll 내용정리] 08 DataLoader & DatasetML&DL 이야기/Pytroch 2023. 9. 4. 12:23
https://tutorials.pytorch.kr/beginner/basics/data_tutorial.html Dataset과 DataLoader 파이토치(PyTorch) 기본 익히기|| 빠른 시작|| 텐서(Tensor)|| Dataset과 DataLoader|| 변형(Transform)|| 신경망 모델 구성하기|| Autograd|| 최적화(Optimization)|| 모델 저장하고 불러오기 데이터 샘플을 처리하는 코 tutorials.pytorch.kr 이전 영상의 코드에서는 위와 같은 방식으로 data를 불러왔다. 보면 데이터를 pandas를 이용해 읽고, 이후 각 data를 numpy로 변환하였는데 해당 방식보다 효율적인 방식이 파이토치에는 존재한다. Dataset과 DataLoader이다. ..
-
[PyTorchZerotoAll 내용정리] 07 Wide(다변량) & Deep(gradient vanishing problem)ML&DL 이야기/Pytroch 2023. 8. 30. 12:55
Wide 이전 시간(06) logistic regression을 이용해 PHD 합격 여부를 예측하는 모델을 만들었었다. 그러나 실제로 합격, 불합격이라는 결과를 만들기 위해서는 GPA 뿐만 아니라 더 많은 요소들이 고려될 것이다(다변량) 이런 다양한 input을 받아서 output으로 표현하기 위해서는 행렬의 곱셈 연산이 필요하다 즉, 위와 같이 각 input의 data를 column형태로 쌓아 행렬로 만들고, 해당하는 데이터의 수만큼 가중치를 추가하면 된다. 이것이 Wide&Deep에서 Wide이다. 코드로는 아래와 같이 표현 가능할 것이다(n은 input data의 종류의 수) import torch linear = torch.nn.Linear(n,1) y = linear(x_data) Deep De..
-
[PyTorchZerotoAll 내용정리] 06 Logistic(sigmoid) Regression = Linear classificationML&DL 이야기/Pytroch 2023. 8. 27. 13:49
Linear regression의 경우 우리의 예측 값은 실수형태로 떨어졌다. 즉, 연속된 값을 가정하였다. 이번에는 Binary prediction이 필요한 경우, 즉, 카테고리 분류나 O,X 분류가 필요한 경우를 가정해보자. 실생활에서 이와 같은 경우는 위와 같이, 기나 아니냐 라는 케이스가 대다수이다. Classfication = Logistic Regression 0,1로 결과값을 제약하려면 어떤 함수가 필요할까?? 우리는 Sigmoid함수를 이용할 수 있다. 이런 함수를 activation 함수라고도 하는데, 시그모이드 함수는 그 함수의 특성상 0을 기준으로 값이 급격하게 1로 가까워지거나 0으로 가까워지는 특성이 있다. 즉, 과 1 사이의 실수 결과가 나온다면 특정한 임계치를 정하고 그 이상이..
-
[PyTorchZerotoAll 내용정리] 05 Linear Regression in pytorch(pytorch Project 개발순서 익히기)ML&DL 이야기/Pytroch 2023. 8. 23. 15:20
Pytorch Project Rhythm pytroch 모델을 개발하고 학습하는 사이클을 크게 위의 3단계를 거친다. 위에 1에 우선시 되는 단계도 있어서(강의에서도 간단히 언급하고 넘어감) 이를 토대로 정리하고 각 코드가 어떻게 대치되는지 확인해보자. 0. Data 다루기 torch.autograd.Variable는 2021.01.12 기준 1.7 version에서는 더 이상 사용되지 않습니다. 현재는 모든 tensor가 자동적으로 Variable의 성질을 가지기 때문에 굳이 사용할 필요가 없으나(즉, autograd 설정이 가능합니다) 과거 버전의 코드를 수행함에 있어 Variable을 사용하는 경우가 있습니다 import torch 이후에 여러 패키지를 import하고, 이후 학습에 필요한 데이터를..