▶ CNN 모델 소개(LeNet, AlexNet, VGG, GoogLeNet, ResNet, DenseNet) 1. ImageNet Dataset 우선 ImageNet 데이터 세트는 컴퓨터 비전 알고리즘들을 개발하기 위해 학계에서 설계한 인간 주석 사진의 매우 큰 모음입니다. 즉, 학계에서 모델의 성능을 평가할 때 자주 사용되는 데이터 세트로 이해하면 되겠습니다. 해가 거듭되면서 기술적으로 업그레이드 된 CNN 모델들을 살펴보면 아래와 같습니다. 12년도에 AlexNet이라는 모델이 처음 CNN을 모델을 대표해서 나왔는데요. 해를 거듭할수록 CNN 네트워크의 layer가 깊어지면서 error rate도 낮아지는 것을 확인할 수 있습니다. 2. LeNet Convolution Neural Network라는..
▶ CNN을 위한 PyTorch 구현 CIFAR-10 데이터셋을 사용하여 CNN을 구현하려고 합니다. 10개의 class 약 60,000개의 이미지 데이터셋 필요한 라이브러리 import import numpy as np import matplotlib.pyplot as plt import torch import torch.nn as nn import torch.nn.functional as F from torchvision import transforms, datasets Device 설정 (GPU/CPU) if torch.cuda.is_available(): DEVICE = torch.device('cuda') else: DEVICE = torch.device('cpu') Batch_size와 Epo..
▶CNN(Convolutional Neural Network) A to Z CNN이 등장하게 된 배경부터 구조까지 알아보려고 합니다 :) 1. CNN 왜 등장? 이전에 MLP글에서 ANN의 한계점(XOR 문제 해결 못함)을 보완하고자 MLP가 등장했다고 했었는데요. 결론부터 말하자면, ANN도 MLP의 한계점을 극복하고자 등장했습니다. ANN 및 MLP의 한계점 이미지 input을 flatten을 함으로써 이미지 자체를 구성하고 있는 공간적인 정보를 충분히 활용 X 학습하는 파라미터가 굉장히 많음 각 pixel마다 들어있는 데이터(모든 픽셀에 대해서)를 바탕으로 해서 분류를 하기 때문 ANN은 이미지의 공간적인 정보를 활용하기 위해, 더욱 효과적으로 학습(특징 추출)을 하기 위해서 등장! 2. Convo..
▶ MLP(Multi-Layer Perceptron)을 위한 PyTorch 구현 저번 글에 이어서 이번에는 MLP를 PyTorch로 구현해 보려고 합니다. 데이터셋은 손글씨 데이터(MNIST) 데이터셋을 사용합니다🙂 필요한 라이브러리 import import numpy as np import matplotlib.pyplot as plt import torch from torch import nn from torch.nn import functional as F from torchvision import transforms, datasets from torch.utils.data import DataLoader batch_size와 epoch 미리 정의 BATCH_SIZE = 32 EPOCHS = 10 M..
▶ ANN을 위한 pyTorch 구현 + ANN 복습 Artificial Neural Network의 약자 hidden layer을 포함한 인공신경망 기술 ANN 동작 단계 1단계: 입력 계층에서 입력된 데이터에 대해 가중치 행렬을 곱하여 은닉 계층으로 보냄 2단계: 은닉 계층 내부에서 활성화 함수를 통해 데이터 가공 3단계: 은닉 계층에서 나온 데이터를 새로운 가중치 행렬을 곱해 출력 계층으로 보냄 4단계: 출력을 위한 활성화 함수를 반영하여 결과를 출력 필요한 라이브러리 import import numpy as np import torch from torch import nn import matplotlib.pyplot as plt %matplotlib inline Logistic Regression..
▶딥러닝에서의 일반화(Regularization) → 과적합(Overfitting) 문제를 해결하자 1. 일반적인 방법 Big Data / Data augmentation 과적합을 해결하는 가장 쉬운 방법으로, 데이터셋의 규모를 키우는 방법 L1/L2 regularization 2. Dropout 각각의 iteration 마다 일정 비율을 정해서 랜덤하게 노드들을 select 이 select된 노드들은 제외해서 학습 진행 특정 컬럼들을 0으로 바꿈 Dropout은 training과 testing 과정에서 어떻게 적용이 되는가? Dropout은 training 과정에서만 적용 testing 상황에서는 모든 node들을 돌려놓고 test를 진행 3. Early Stopping Validation 데이터셋의 ..
- Total
- Today
- Yesterday
- rtl
- Python
- styled-components
- testing
- 자바스크립트 기초
- 자바스크립트
- react-query
- 인프런
- JSP
- TypeScript
- 머신러닝
- 리액트
- 파이썬
- HTML
- 프론트엔드 기초
- 프로젝트 회고
- 스타일 컴포넌트 styled-components
- 리액트 훅
- next.js
- CSS
- 딥러닝
- frontend
- 프론트엔드
- react
- 타입스크립트
- 프론트엔드 공부
- 자바
- 디프만
- 데이터분석
- jest
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |