본문 바로가기

Computer Science71

CNN(합성곱 신경망) ② [MNIST] # 랜덤시드 고정하기 import random import torch import numpy as np import os seed = 42 random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) if torch.cuda.is_available(): torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.benchmark = False torch.backends.cudnn.deterministic = True 1. Load MNIST Dataset # MNIST 데이터 셋 불러오기 from torchvision.datasets import MNIST down.. 2024. 4. 14.
CNN(합성곱 신경망) ① 학습 목표 다층 퍼셉트론을 이용해서 이미지 분류하기 합성곱 신경망 구조를 이용해서 이미지 분류하기 컬러 이미지에 대한 합성곱 이해하기 합성곱 신경망 합성곱 신경망은 이미지를 다루는데 특화해서 진화된 구조 신경망이 학습하고 파라미터를 최적화하는 기본원리는 CNN과 MLP 모두 같음 1. 다층 퍼셉트론을 이용한 이미지 분류 MLP를 이용하여 MNIST 데이터셋을 대상으로 이미지 분류 문제 풀기 이미지 분류 문제의 목표는 손글씨 이미지를 0부터 9까지의 숫자로 분류하는 것 (1) 입력층 신경망으로 2차원 이미지를 다루려면 이미지를 제공하기 전에 MLP 신경망이 이해할 수 있는 형태 변환 필요 (1) 입력층 MLP는 모양이 (1, n)인 1차원 벡터만 입력 받으므로 모양이 (x, y)인 2차원 이미지 행렬은 입.. 2024. 4. 13.
딥러닝과 신경망 ② 5. 오차 함수 오차 함수(error function)는 비용 함수(cost function) 또는 손실 함수(loss function)라고 부름 오차 함수를 통해 오차를 측정하여, 신경망의 예측 결과를 평가함 예측 결과가 정답과 얼마나 가까운 지 알 수 있는 방법 (1) 오차 함수란? 신경망의 예측 결과가 정답과 비교해서 얼마나 동떨어졌는지 측정하는 수단 손실값이 크면 모델의 정확도가 낮다 손실값이 작으면 모델의 정확도가 높다 손실이 클수록 정확도를 개선하기 위해 모델을 더 많이 학습해야 함 (2) 오차함수가 왜 필요한가 최적화 문제는 오차 함수를 정의하고 파라미터를 조정하면서 오차 함수의 오차를 최소가 되도록 하는 문제에 해당 최적화 문제의 목표는 오차 함수의 값이 최소가 되게 하는 최적의 파라미터를.. 2024. 4. 12.
딥러닝과 신경망 ① 학습 목표 퍼셉트론(perceptron)과 다층 퍼셉트론(multilayer perceptron, MLP) 이해하기 여러가지 활성화 함수(activation function) 이해하기 피드포워드(feedfoward), 오차함수(error function), 오차 최적화(error optimization)를 이용한 신경망 학습 과정 이해하기 역전파 계산 과정 이해하기 1. 퍼셉트론 신경망은 많은 수의 뉴런으로 이루어져 있으며, 이들 뉴런은 층 모양으로 배열되어 출력(사람이 해결하고 싶은 문제의 결과)을 예측하기 위한 계산을 수행함 이러한 구조를 다층 퍼셉트론(multilayer perceptron, MLP)라고 부르며, 신경망 구조를 설명할 때 신경망과 다층 퍼셉트론은 같은 의미로 사용 (1) 퍼셉트론이란.. 2024. 4. 11.