반응형

전체 글 42

ResNet: Deep Residual for Image Recognition

해당 포스트는 상당 부분 blog1, blog2 를 인용하였음을 밝힙니다. 정리 (원인) 레이어 망이 깊어져서 -> vanishing/exploding gradients 문제 발생 -> weight convergence 가 뒤따라옴 -> SDG같은 옵티마이져를 써서 다소 해결을 함 -> 그래도 training error 발생 (결론) 이런 문제를 degradation problem 이라고 함 degradation problem을 한마디로 정리하자면, 레이어가 깊어져서 최적화된 웨이트 값을 못찾는 현상이라고 할 수 있다. -> (해결) residual net을 쓰니 해결 됨 -> (발전) bottleneck block 이용하면 연산량을 줄일 수 있음 등장 배경 Degradation Problem Deep ..

AI/논문 읽기 2021.08.08

Batch Normalization, Drop out

weight parameter를 학습하는 일련의 과정은 다음과 같다. Mini-batch SGD를 예를 들어봤을 때, 1. 샘플 데이터를 추출한다. 2. forward prop으로 weight parameter에 대한 loss를 구한다. 3. backward prop으로 gradient를 구한다. 4. gradient를 사용하여 weight parameter를 업데이트한다. 5. 최적의 weight parameter를 도출한다. 추가로 최적의 가중치를 찾기위한 여러가지 방법이 있다. 1번의 과정에서 데이터를 zero centered 되도록 전처리(pixel normalize) 2번의 과정에서 weight initialization 혹은 batch normalization으로 weight를 정규화 3번의 ..

AI/개념 2021.06.08

[CS231n] 2강 정리

0. 목표 1) Image Classification 이란? 2) Classification Algorithm 에 대해서 알아보자 3) Hyperparameters 의 의미 4) Linear Classification 의 간략한 개념설명 1. 강의 정리 Image Classification에 대해서 먼저 Image Classification에 대해 배운다. Image Classification 이란 입력 이미지가 들어왔을 때, 이미 정해져 있는 Categories에서 이미지가 어떤 Category에 속할지 고르는 문제 그렇다면 Computer 입장에서 Image Classification이 어려운 이유는 무엇일까? 사람은 입력 이미지를 사진처럼 보지만, 컴퓨터는 픽셀을 의미하는 숫자 집합으로 보기 때문에..

AI/개념 2021.06.08

Overfitting과 Underfitting

Overfitting은 그림에서 맨 오른쪽과 같은 상태. Train 과정에 치우치게 과하게 학습되어 새로운 데이터가 들어왔을 때 잘 분류를 못하는 상태이다. 가운데가 optimize하다고 한다면, 왼쪽은 지나치게 단순화되어 있는 Underfitting 상태이다. 학습이 덜되어있는 상태라고 볼 수 있다. Overfitting 방지하는 방법 모델의 capacity 낮추기: 모델이 학습데이터에 비해 과하게 복잡할때 발생 ex. resnet18 로 충분히 학습가능한 binary cls문제를 resnet50 이상으로 사용하면 오히려 학습 loss가 증가할 수 있다. 모델이 방해가 될만한 요소들 심기 dropout 적용하기. dropout은 training을 할 때, 일부 뉴런을 끄고 학습하는 것을 말한다. 학습 ..

AI/개념 2021.06.07

1. 뉴럴 네트워크

사람을 따라서 만들자 - Perceptron - 사람이 할 수 있는 일들을 기계가 했으면 좋겠다는 생각. 사람이 어떻게 동작하는지 알아내고 그것을 구현해야겠다는 생각을 한 사람들이 있었다 . - 사람의 신경인 뉴런은 신호들을 받은 뒤, 출력을 하기도 하고 하지 않기도 한다. 이를 기계적으로 구현한 것이 Perceptron이다. - Perceptron의 구조는 다음과 같다. 여러개의 input을 조합해서 0과 1을 출력한다. - Activation Funtion이라는 것은 출력의 기준을 설정하는 것이라고 생각하면 된다. 여러 input 값들을 합쳐서 10이 넘으면 1을 출력하고 넘지못하면 0을 출력하자. 라는 것처럼 기준점을 마련해주는 함수이다. 초창기에는 Step Function이라는 함수를 사용했다. ..

카테고리 없음 2021.06.07

안드로이드 프로젝트 구조, 역할

안드로이드 프로젝트를 수행하기 전에 기초가 되는 구조와 그에 따른 역할을 알아보는 시간을 가져보았다. 숲을 먼저 보자: 안드로이드 패키지 구조 이해 (manifest, java, res, Gradle) 안드로이드 스튜디오에서는 폴더와 패키지라는 용어를 동일하게 사용하고 있다. 따라서, Project 안에 있는 폴더를 지칭할 때 '패키지' 라고 지칭한다. (1) manifests AndroidManifest.xml 파일이 담겨있는 패키지, 안드로이드의 컨트롤 타워. 어플리케이션을 구동하는데 필요한 설정값을 관리해준다. (2) java 클래스를 관리하는 패키지이다. (3) res Resource 패키지. UI와 관련된 파일, 디자인 리소스., 문자열 리소스를 담고있다. (4) Gradle Scripts 어플..

Android/개념 2021.03.09

Pytorch로 Fashion MNIST 구현하기

파이토치 사용법을 익히기 위해 간단한 이미지 분류 과정을 학습해보았다. 파이토치에 내장되어 있는 Fashion MNIST 데이터를 사용하여 학습을 진행했다. 학습에 사용한 패키지들 import torch import torchvision from torchvision import models import torchvision.datasets as dsets import torchvision.transforms as transforms from torch.utils.data import Dataset, DataLoader import torch.nn.init import torch.optim as optim import torch.nn.functional as F import torch.nn as nn i..

AI/활용 2021.03.03

Torchvision 패키지

Torchvision이 무엇인가요? Torchvision은 데이터 셋, 아키텍처 모델, 이미지 변환 기능으로 구성되어 있는 패키지이다. torchvision.datasets MNIST Fashion-MNIST KMNIST EMNIST FakeData COCO LSUN ImageFolder DatasetFolder Imagenet-12 CIFAR STL10 SVHN PhotoTour SBU Flickr VOC Cityscapes torchvision.models Alexnet VGG ResNet SqueezeNet DenseNet Inception v3 GoogLeNet torchvision.transforms Transforms on PIL Image Transforms on torch.*Tensor C..

AI/개념 2021.03.03

Learning Rate, Training Epoch, Batch Size의 의미

머신러닝 모델이 적합한 결과를 내기 위해서는 여러번의 최적화 과정을 거친다. 다루어야 할 데이터가 많기도 하고, 메모리가 부족하기도 하기 때문에 한번의 계산으로 최적화된 값을 찾는 것은 어렵다. 따라서 최적화(optimization)를 할 때는 일반적으로 여러번의 학습과정을 거친다. 또한, 한번의 학습 과정도 사용하는 데이터를 세분화하여 진행한다. 이때 Training Epoch, Batch Size, Iteration 그리고 Learning Rate라는 개념이 필요하다. Training Epoch 한번의 epoch은 인공신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말한다. 이 말인 즉슨, 전체 데이터셋에 대해 한 번 학습을 완료한 상태를 뜻한다. ..

AI/개념 2021.03.03
반응형