gradient descent, stochastic gradient descent
Linear Regression
RNN
CNN
why PyTorch?
Tensor 다차원 Arrays를 표현하는 Pytorch 클래스 사실상 numpy의 ndarray와 동일(그러므로 TensorFlow의 Tensor와도 동일) Tensor를 생성하는 함수도 거의 동일 Python : list -> Numpy : Ndarray -> PyTorch : Tensor numpy - ndarray pytorch - tensor ...
AutoGrad PyTorch의 핵심은 자동 미분의 지원 -> backward함수 사용 requires_grad = True : 미분해주는 대상은 True로 해줌 external_grad :
torch.gather(input,dim,index)에 대한 이해
AutoGrad & Optimizer
Dataset Dataset클래스 데이터 입력 형태를 정의하는 클래스 데이터를 입력하는 방식의 표준화 image, text, audio 등에 따른 다른 입력정의 CustomDataset() 초기 데이터 생성 방법을 지정 Image의 경우 data directory정의 len() 데이터의 전체 길이를 받아서 반환 getitem(...
model.save() 학습 결과를 저장하기 위한 함수 모델의 형태(architecture)와 파라메터를 저장 모델 학습 중간 과정의 을 통해 최선의 결과모델을 선택(early stopping 등) 만들어진 모델을 외부 연구자와 공유하여 학습 재연성 향상 모델의 architecture와 함께 저장하는 방식은 pickle형태로 저장된다.
checkpoints 학습의 중간 결과를 저장하여 최선의 결과를 선택 earlystopping 기법 사용시 이전 학습의 결과물을 저장(epoch가 100인데 50번째 값이 가장 좋다면 50번째 값이 저장이 되어있어야한다. 이때 필요한 것이다.) loss와 metric 값을 지속적으로 확인 저장 일반적으로 epoch, loss, metric을 함께 저장하여...
Monitoring tools for PyTorch Tensorboard TensorFlow의 프로젝트로 만들어진 시각화 도구 학습 그래프, metric, 학습 결과의 시각화를 지원 PyTorch도 연결 가능 -> DL 시각화 핵심 도구 scalar : metric(accuracy, loss, recall,..) 등 상수 값의 연속(epoch)을 표시 g...
Multi-GPU 학습 개념정리 Single vs Multi : 1 vs 2 이상 GPU vs Node(system) : Node는 한대의 컴퓨터를 뜻함. Single Node Single GPU : 1대의 컴퓨터에서 1대의 GPU를 사용함 Single Node Multi GPU Multi Node Nulit GPU Model parallel 다중 GP...
Hyperparameter Tuning : 딥러닝 학습을 할 때 사람이 지정해야 되는 여러가지 parameter들 성능을 높이는법 데이터를 추가하거나 바꾸기 모델 바꾸기 하이퍼파라미터 튜닝 Hyperparameter Tuning 모델 스스로 학습하지 않는 값은 사람이 지정(learning rate, 모델의 크기, optimizer 등) 하이퍼 파라메터에...
PyTorch Troubleshooting OOM(Out Of Memory) 왜 발생했는지 알기 어려움 어디서 발생했는지 알기 어려움 Error backtracking이 이상한데로 감 메모리의 이전상황의 파악이 어려움 단순한 해결법 : Batch Size를 줄이고
Neural Networks 신경망은 동물의 뇌를 구성하는 생물학적 신경망에서 막연하게 영감을 받은 컴퓨팅 시스템이다. Linear Neural Networks Data : N개의 1차원 x, 1차원 y가 모여있다. Model : x에 w라는 스칼라를 곱하고 b라는 bias를 더해서 모델이 만들어진다. x에서 $\hat y$으로 가는 mapping을 찾...
Convolution Continuous convolution Discrete convolution 2D image colvolution convolution(no padding, no stride) ![](https://velog.velcdn.com/images/chjcoder/post/f245d1e8-ae3c-41dd-a
AlexNet, VGGNet, GoogLeNet, ResNet, DenseNet
Computer Vision에서 CNN을 이용한 분야, Semantic Segmentation의 정의와 핵심 아이디어, Object detection의 정의와 핵심아이디어(R-CNN, SPPNet, Fast R-CNN, Faster R-CNN, YOLO)
RNN Sequential Model sequential data : 오디오, 비디오 등등의 데이터 sequential data를 처리하는데 있어서 가장 큰 어려움 : sequential data는 정의상 그 길이가 언제 끝날지 알 수가 없다. 따라서 받아들여야할 입력의 차원을 알 수가 없다. 그렇기 때문에 fully connected layer나 CNN...
Transformer attention이라고 불리는 구조를 활용했다. transformer는 단순히 기계어 번역에만 활용되는것이 아니라 이미지 분류, 이미지 디텍션, 비주얼 트랜스포머 등 많은곳에서 활용된다. sequence to sequence model 여기서는 불어를 영어로 바꾼다. ![](https://velog.velcdn.com/im
Generative Model Learning a Generative Model Generative model은 input에 대한 distribution(분포)을 학습한다. Basic Discrete Distributions Bernoulli distribution(베르누이 확률변수) : 확률이 0 아니면 1인 변수. ex) 동전 던지기 $$X \si...
1. Semantic Segmentation CNN을 영상단위로 하는것이 아니라 픽셀 단위로 하는 것 영상 속의 물체에 mask를 생성. 하지만 같은 클래스이지만 서로 다른 물체를 구분하지는 않는다. 어디에 사용? 의료 이미지 자율주행 2. Semantic Segmentation architectures 2.1 Fully Convolutional N...
1. Visualizing CNN 1.1 CNN visualizaiton 이란? Black box 시스템인 CNN의 내부를 visualization을 함으로써, 블랙박스 안을 들여다본다. 1.2 vanila example : filter visualization filter visualization - (3,11,11)인 필터라서 컬러로 나옴 Acti...
중요 참고 사이트 Baseline Data Analysis -> Data Processing -> Modeling -> Training Data Analysis EDA Data Processing Dataset Pre-processing Generator Augmentation Modeling Tor...
Bias 와 Variance간의 Tradeoff cost를 minimize한다는 것은 bias와 variance와 noise를 minimize한다는 것과 같다. 따라서 bias를 줄이게되면 variance가 높아지게 되고 variance를 줄이게되면 bias가 높아지게 된다. 따라서 근본적으로 학습데이터에 noise가 껴있을 경우 bias와 varianc...