컨볼루션2 간단한 CNN모델 만들기 실습 1. 단계별로 예시 보기 import torch import torch.nn as nn import torch.optim as optim # 배치크기 / 채널(1 : 그레이스케일, 3: 컬러) / 높이 / 너비 inputs = torch.Tensor(1, 1, 28, 28) print(inputs.shape) // torch.Size([1, 1, 28, 28]) # 첫번째 Conv2D # kernel_size=3 : 필터 사이즈. 3*3. 클수록 출력값이 작아짐 # padding='same' : 출력 크기 동일하게 유지 conv1 = nn.Conv2d(in_channels=1, out_channels=32, kernel_size=3, padding='same') out = conv1(inputs) pri.. 2024. 1. 11. CNN 기초 1. CNN(Convolutional Neural Networks) 합성곱 인공 신경망(CNN)은 전통적인 뉴럴 네트워크에 컨볼루션(Convolutional) 레이어를 추가한 형태로, 주로 이미지 처리 작업에 사용됩니다. 딥 뉴럴 네트워크(DNN)가 이미지를 분류할 때의 주요 문제는 1차원 형태의 데이터를 다루어야 한다는 점입니다. 일반적인 DNN 구조에서는 2차원 이상의 이미지 데이터를 입력으로 사용할 경우, 데이터를 flatten하여 1차원으로 변환해야 합니다. 이로 인해 이미지의 공간적 및 지역적 정보가 손실되는 문제가 발생합니다. 이러한 문제를 극복하기 위해 컨볼루셔널 레이어가 도입되었습니다. 컨볼루셔널 레이어는 이미지를 그대로(raw input) 받아들이므로, 데이터를 1차원으로 펼치지 않고도 .. 2024. 1. 10. 이전 1 다음