본문 바로가기

전체 글109

CNN 기초 1. CNN(Convolutional Neural Networks)¶합성곱 인공 신경망전통적인 뉴럴 네트워크에 컨볼루셔널 레이어를 붙인 형태컨볼루셔널 레이어를 통해 입력 받은 이미지에 대한 특징(Feature)을 추출하게 되고, 추출한 특징을 기반으로 기존의 뉴럴 네트워크에 이용하여 분류1-1. CNN을 사용하는 이유¶이미지를 분류할 때 DNN(Deep Nerual Network)의 문제점일반적인 DNN은 1차원 형태의 데이터를 사용해야 함2차원 이상의 데이터가 입력되는 경우 flatten 시켜서 한 줄로 데이터를 변환 후 넣어야 함이미지의 공간적/지역적 정보가 손실CNN은 이미지를 그대로(Raw Imput) 받음으로 공간적/지역적 정보를 유지1-2. CNN에서의 이미지 데이터¶컬러 이미지는 3개의 채널.. 2024. 7. 17.
비선형 활성화 함수 1. 비선형 활성화 함수(Activation Functions)¶신경망의 성능을 향상시키기 위해 사용선형 함수는 입력값과 가중치를 곱한 결과를 그대로 출력하기 때문에 신경망에서 여러 개의 레이어를 사용한다면 최종 출력값은 입력 값과 가중치의 선형 조합으로 표현되므로 입력 데이터의 비선형 관계를 표현할 수 없음신경망이 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해 비선형 활성화 함수가 필요1-1. 시그모이드¶In [3]:import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x): return 1 / (1 + np.exp(-x))x = np.arange(-5.0, 5.0, 0.1)y = sigmoid(x)plt.plot(x, y)pl.. 2024. 7. 17.
딥러닝 1. 뉴런(neuron)¶1-1. 생물학적 뉴런¶인간의 뇌는 수십억 개의 뉴런을 가지고 있음뉴런은 화학적, 전기적 신호를 처리하고 전달하는 연결된 뇌신경 세포1-2. 인공 뉴런¶1943년에 워렌 맥컬로그 월터 피츠가 단순화된 뇌세포 개념을 발표신경 세포를 이진 출력을 가진 단순한 논리 게이트라고 설명생물학적 뉴런의 모델에 기초한 수학적 기능으로 각 뉴런이 입력을 받아 개별적으로 가중치를 곱하여 나온 합계를 받아 개별적으로 가중치를 곱하여 나온 합계를 비선형 함수를 전달하여 출력을 생성2. 퍼셉트론(Perceptron)¶인공 신경망의 가장 기본적인 형태로 1957년에 처음 소개됨입력과 출력을 가진 단일 뉴런 모델을 기반초기에 기계 학습 알고리즘 중 하나로 이진 분류 문제를 해결하기 위해 설계201. 논리 .. 2024. 7. 17.
데이터 로더 1. 데이터 로더(Data Loader)¶데이터의 양이 많을 때 배치 단위로 학습하는 방법을 제공2. 손글씨 인식 모델 만들기¶In [1]:import torchimport torch.nn as nnimport torch.optim as optimimport matplotlib.pyplot as pltfrom sklearn.datasets import load_digitsfrom sklearn.model_selection import train_test_splitIn [2]:device = 'cuda' if torch.cuda.is_available() else 'cpu'print(device)cpuIn [3]:digits = load_digits()X_data = digits['data']y_data .. 2024. 7. 17.