반응형

💻 본업(컴공생) 이야기/파이토치 공부 이야기 10

[파이토치 (PyTorch)] 10. basic CNN

CNN이란?Convolutional Neural Network 의 앞 문자를 따서 부르는 것으로 '합성곱 신경망'이라고 한다.이미지 처리와 같은 공간 데이터 분석에 특화된 딥러닝 모델이다.    CNN 구조는 합성곱과 풀링을 통해 입력 이미지를 처리하고, 최종적으로 완전 연결층을 통해 클래스(숫자 0~9)를 예측한다.이 과정은 특징 추출(feature extraction)과 분류(classification)의 두 단계로 구성되어 있다.  1. 입력층(Input Layer)크기: 32x32 픽셀의 이미지 입력.위 사진의 손글씨 숫자 3.2. 특징 추출(Feature Extraction) 1) 첫 번째 합성곱층 (C₁: Convolution Layer)필터 크기: 5x5 크기의 합성곱 필터 적용.출력 크기:..

[파이토치 (PyTorch)] 9. Softmax Classifier

Softmax Classifier는 다중 클래스 분류(Multi-Class Classification) 문제를 해결하기 위한 머신러닝 및 딥러닝 모델이다.이 모델은 '입력 데이터를 여러 클래스로 분류하는 작업'에서 확률 분포(probability distribution)를 출력한다.  Softmax Classifier는 다중 클래스 분류 문제에서 사용된다입력 데이터는 선형 변환(Wx + b)를 거친 후 Softmax 함수를 통해 확률로 변환됩니다.Cross-Entropy Loss를 이용해 실제 정답과의 차이를 최소화하도록 학습한다.확률값이 가장 높은 클래스를 최종 예측값으로 반환한다.  Softmax란? 🧐    Softmax 함수는 여러 클래스에 대한 확률 값(0~1)을 계산하고, 모든 확률의 합이 ..

[파이토치 (PyTorch)] 8. PyTorch DataLoader

DataLoader란?DataLoader는 데이터를 효율적으로 관리하고 처리하기 위해, 대규모 데이터를 모델 학습에 사용하기 쉽게 나눠서 로드하고, 배치(batch) 단위로 처리하는 도구이다.모델 학습이나 검증 시, 데이터를 자동으로 샘플링, 섞기(shuffle), 배치(batch) 크기 설정 등의 기능을 제공한다.반복자(iterator) 역할을 수행하여 한 번에 하나의 배치를 모델에 전달한다. - 핵심 개념- Dataset: 데이터를 저장하고 관리하는 구조TensorDataset, ImageFolder 등 사용 가능DataLoader: Dataset을 감싸고, 배치 단위로 데이터를 로드batch_size: 한 번에 처리할 데이터의 크기shuffle: 데이터 섞기 여부 설정 (True로 설정하면 무작위로..

[파이토치 (PyTorch)] 7. Wide and Deep

Wide and Deep Learning은 Google에서 개발한 추천 시스템(Recommendation System) 모델로, 2016년에 발표되었다.이 모델은 기억(Memorization)과 일반화(Generalization)를 동시에 수행할 수 있도록 설계되었다. 개념 🌟 Wide(넓은) 부분과 Deep(깊은) 부분을 결합한 하이브리드 모델이다.Wide 모델:선형 모델(Linear Model) 기반으로, 기존 데이터 패턴을 활용한다.Deep 모델:신경망(Neural Network) 기반으로, 새로운 패턴(일반화)을 학습한다.      입력 데이터는 행렬 X로 표현되고, a와 b는 각각의 특성을 나타낸다.각 행(row)은 하나의 데이터 포인트이며, 열(column)은 특성이다. 가중치는 벡터 W로 ..

[파이토치 (PyTorch)] 6. Logistic Regression (로지스틱 회귀)

로지스틱이란? 🧐"로지스틱"은 시그모이드 함수의 또 다른 이름인 로지스틱 함수에서 유래했습니다.수학적 기반은 회귀(Regression)를 사용하지만, 출력이 확률 값을 의미하므로 분류 (Classification) 문제를 해결하기 위한 지도학습 (Supervised Learning) 알고리즘입니다.시그모이드 함수란? 🧐(출처 : https://datasciencebeehive.tistory.com/80)  주로 S자 형태의 곡선을 그리는 함수로, 수학적으로는 다음과 같이 표현할 수 있습니다.    시그모이드 함수의 특징출력 범위: 시그모이드 함수의 출력값은 항상 0과 1 사이입니다. 이 특성 때문에 이 함수는 확률을 나타내는 데에 아주 적합합니다.S자 곡선: 시그모이드 함수는 S자 형태의 곡선을 그립..

[파이토치 (PyTorch)] 5. Linear Regression in PyTorch way

선형 회귀 꿀팁!!  파이토치리듬 🚀-> 파이토치로 딥러닝 모델을 만들 때 꼭 지켜야 할 '3단계 핵심 흐름' (선형 회귀 뿐만아니라, 복잡한딥러닝 모델에도 모두 적용된다.)  1) 모델에서 쓸 클래스와 변수 설정하기 - (설계)-> 데이터가 입력되었을 때, 어떤 수학적 연산을 거쳐 출력할지 결정 2) 파이토치 api를 사용하여 loss와 optimizer 구성하기 - (목표 설정)-> 모델이 얼마나 잘 예측하는지 평가하고 잘못된 부분을 어떻게 수정할지 결정하는 도구 필요!-> 목표점수를 정하고, 목표에 달성하기 위해 그 도구를 준비하는 단계-> Loss function: 예측값과 실제값의 차이를 측정하고 그 오차를 최소화하기 위함-> Optimizer: loss를 줄이기 위해 가중치과 편향을 조정 (..

[파이토치 (PyTorch)] 4. Back-propagation (역전파)

역전파(Backpropagation)란?Back-propagation는 인공신경망(Artificial Neural Network)에서 오차(에러)를 줄이기 위해 가중치(weight)와 편향(bias)을 업데이트하는 핵심 알고리즘입니다.쉽게 말해, "결과가 틀렸을 때, 왜 틀렸는지 되돌아가면서 원인을 찾고 수정하는 과정"이에요.   역전파(Backpropagation)는 신경망의 손실을 줄이기 위해 가중치를 조정하는 알고리즘입니다.순전파 → 손실 계산 → 역전파 → 가중치 업데이트 과정을 반복하여 최적의 모델을 학습합니다.체인 룰을 사용해 각 층의 기울기를 계산하고, 경사하강법으로 최적화합니다. 1. 개념 설명순전파(Forward Propagation):입력 데이터를 네트워크에 통과시켜 출력을 계산합니다...

[파이토치 (PyTorch)] 3. Gradient Descent (경사 하강법)

Gradient Descent(경사 하강법)은 쉽게 말해서 '최적의 답을 찾기 위해 조금씩 내려가는 과정' 이라고 설명할 수 있다.  1. 개념 설명경사하강법은 **산에서 가장 낮은 지점(최소점)**을 찾는 것과 비슷합니다.산 = 손실 함수(loss function) → 모델의 오차를 측정하는 함수최저점 = 손실이 가장 작은 지점 → 모델이 가장 좋은 상태내려가는 방향 = 기울기(gradient) → 손실을 줄이는 방향목표:손실 함수를 최소화하는 **가중치(weight)**와 편향(bias) 값을 찾아 모델 성능을 최적화합니다.2. 원리기울기(Gradient) 계산:현재 위치에서 얼마나 가파른지(기울기)를 계산합니다.방향 결정:기울기가 가장 가파르게 내려가는 방향을 선택합니다.한 걸음 이동:일정한 크기(..

[파이토치 (PyTorch) ] 2. Linear Model (Linear regression : 선형 회귀)

1. Linear Regression (선형 회귀)1) 개념   선형 모델은 입력값(특징)과 가중치(weight)를 곱하고 편향(bias)을 더해 결과값(출력)을 계산하는 간단한 수학적 모델이다. 수식 표현: y=Wx+b x: 입력 데이터 (특징 또는 독립 변수)W: 가중치(Weight, 모델이 학습하는 값)b: 편향(Bias, 모델이 학습하는 값)y: 출력값(예측값 또는 종속 변수) 선형 모델은 입력과 출력 사이의 선형 관계를 학습하여 예측한다.그래프 또한 선형적인 1차함수의 형태를 띄고 있음장점) 그래프 사이의 거리를 찾기 쉬움  2. Training Loss (훈련 손실)1) 손실 함수의 역할훈련 과정에서 모델의 예측값과 실제값 사이의 차이를 측정합니다.모델은 이 손실값을 최소화하도록 학습합니다. ..

[파이토치 (PyTorch)] 1. 개요

1) 인공지능: 사람의 지능을 컴퓨터가 모방할 수 있게 만든 기술 ( 정보를 통해 추론하고 문제를 해결하는 시스템 - information -> infer )  2) 머신러닝: 인공지능의 하위분야로 컴퓨터가 데이터를 통해 스스로 학습하고, 패턴을 찾아내는 기술 ( 머신러닝 = 데이터로 학습 → 패턴 인식 → 추론 )  * 학습 데이터와 테스트 데이터학습 데이터(Train Dataset)모델을 학습시키기 위해 사용입력(X)과 정답(Y)이 라벨링(Labeled)되어 있음예: 고양이 사진(입력) → '고양이'(정답)테스트 데이터(Test Dataset)학습한 모델이 제대로 작동하는지 검증하는 데 사용평가에만 사용  3) 파이토치: 파이토치(PyTorch)는 인공지능(AI)과 머신러닝(기계 학습)을 만들 때 사..

728x90
반응형
LIST