본문 바로가기

반응형

파이썬 딥러닝

[파이썬/Pytorch] 딥러닝 - CNN(Convolutional Neural Network) 2편 : Padding, Pooling 2021.09.14 - [코딩/Deep Learning(Pytorch)] - [파이썬/Pytorch] 딥러닝- CNN(Convolutional Neural Network) 1편 1. 패딩(Padding) 이전 편에서 설명한 내용이지만 Conv층은 1개가 아닌 여러개로 이루어질 수 있다. 1개 Conv층에서 Kernel을 지나게 되면 당연히 결과인 특성맵(Feature map)의 사이즈는 계속 줄어들게 된다.(아래 이미지 참고) 컨볼루션 연산 자체가 이미지 데이터의 공간적인 구조를 보존하기 위해 진행되는데 여러번 Conv 층을 지나게 되면 공간적인 구조가 소실되게 된다. 따라서, CNN에서는 패딩(Padding)이라는 것을 사용한다. 아래 이미지는 4*4 입력데이터에 Padding=1을 설정한 경우이다. .. 더보기
[파이썬/Pytorch] 딥러닝- CNN(Convolutional Neural Network) 1편 1. CNN(컨볼루션 뉴럴 네트워크) -. 이미지 처리에 탁월한 성능을 보이는 딥러닝 모델 중 하나 -. 왜 이미지 처리에 탁월한가? : 컨볼루션 연산을 통해 이미지의 공간적인 구조 정보를 보존하면서 학습한다. 공간적인 구조 정보란 이미지의 인접 한 픽셀들끼리 어떤 관계가 있는지 파악할 수 있는 정보를 말한다. 2. CNN을 위한 기본 내용 1) 채널(Channel) CNN 연산을 위해서는 채널이라는 용어를 먼저 이해해야 한다. 실제 파이토치 파이썬 코드 적용시 채널 파라미터를 입력하기 때문이다. -. 채널은 입력의 3차원 정보를 의미 함. -. 일반적인 흑백 이미지라면 1차원 (Channel = 1) -. R,G,B 컬러 이미지라면 3차원 (Channel = 3) 2) Convolution 연산 컨볼루.. 더보기
[파이썬/Pytorch] 딥러닝 - Softmax Regression(소프트맥스 회귀) 2편 이번편은 소프트맥스 회귀에 대한 내용을 직접 코드로 구현해보았다. 코드는 위키독스의 'Pytorch로 시작하는 딥러닝'을 참고하였다. (이전 포스팅 : 2021.08.04 - [파이썬/Pytorch] 딥러닝 - Softmax Regression 이해를 위한 정리 1편) 1. import import torch import torch.nn as nn #nn. module 사용 import torch.nn.functional as F #softmax 함수 사용 import torch.optim as optim #옵티마이저 사용 torch.manual_seed(1) #랜덤 시드 고정 2. 훈련 데이터 샘플 #각 샘플은 4개의 특성을 갖고 있고 총 8개 샘플임 x_train = [[3, 3, 2, 5], [2,.. 더보기
[파이썬/Pytorch] 딥러닝 - Softmax Regression 이해를 위한 정리 이번 포스팅은 Softmax Regression(소프트맥스 회귀) 알고리즘에 대한 내용을 간단하게 정리한다. 참고로 소프트맥스 회귀는 이전 로지스틱 회귀의 확장판이라고 할 수 있다. 로지스틱 회귀는 둘 중에 하나를 선택하는 이진 분류에 대한 내용이었다면 소프트맥스 회귀는 여러개의 선택지 중에 하나를 선택하는 다중분류 알고리즘이기 때문이다. 1. Softmax Regression(소프트맥스 회귀) 소프트맥스 회귀는 각 데이터 샘플에 대한 특성(X1, X2, X3)에 따라 가장 확률적으로 가까운 출력값(레이블)을 찾는 것이다. 이를테면, 위 데이터 샘플 중 1개인 X1(색깔)이 "Red", X2(모양)이 "둥글다", X3(크기) 10이면 Class(사과1)라는 정답을 찾는 것이다. 위 이미지는 쉽게 예를 들.. 더보기
[파이썬/Pytorch] 딥러닝 - Logistic Regression 이해를 위한 정리 최근 위키독스의 'PyTorch로 시작하는 딥 러닝 입문'이라는 책을 통해 딥러닝 공부를 하고 있다. 블로그 포스팅을 하는 이유는 딥러닝 내용을 전체적으로 정리하기 보단 책에서 설명이 부족하거나 이해가 잘 안되는 부분을 내 나름대로 다시 정리해보는 것이다. 앞으로 딥러닝을 공부면서 내가 실험을 한 내용이나, 정리한 메모를 업로드 할 예정이다. 1. Logistic Regression(로지스틱 회귀) 로지스틱 회귀는 어떤 데이터 x에 대해 이진분류(True or False)하는 딥러닝 모델이다. 선형회귀에서는 입력과 결과에 대한 예측 모델을 1차 방정식으로 모델링하지만, 로지스틱 회귀의 경우 Sigmoid 함수를 통해 모델링 한다. 시그모이드 함수는 아래 이미지와 같은 형태를 가지고 있는데 실제 딥러닝으로.. 더보기

반응형