일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- CycleGAN
- mme paper
- BYOL
- shrinkmatch paper
- CoMatch
- Pseudo Label
- Meta Pseudo Labels
- Entropy Minimization
- CGAN
- 딥러닝손실함수
- remixmatch paper
- simclrv2
- 컴퓨터구조
- ConMatch
- SSL
- shrinkmatch
- tent paper
- Pix2Pix
- semi supervised learnin 가정
- WGAN
- UnderstandingDeepLearning
- GAN
- cifar100-c
- adamatch paper
- conjugate pseudo label paper
- 백준 알고리즘
- mocov3
- 최린컴퓨터구조
- dann paper
- dcgan
- Today
- Total
목록딥러닝 (76)
Hello Computer Vision
이전 3장에는 shallow neural network, hidden layer가 1겹밖에 없는 network를 알아봤다면 이번 4장은 depe neural network이다. 1. Composing neural networks hidden layer 2개를 한번 생각해보자. 이렇게 layer를 설정하는 것은 deep neural network의 특별한 케이스라고 볼 수 있다. 2. Deep neural networks 위에서는 2개의 shallow network를 구성하는 것이 deep network의 speical case라는 것을 확인했다. 좀 더 general한 case는 다음과 같다. 당연하게도 우리는 2개 보다 더 많은 hidden layers를 운영할 수 있다. 따라서 이를 어떻게 설정할지에..
1. Neural Network example Shallow neural networks 는 다음과 같은 함수로 나타날 수 있다. $ y= f[x, \phi] $ 여기서 $ \phi $는 multivariate x에 대해 multivariate y에 대해 mapping하는 파라미터이다. 여기서 a는 activation function이다. 가장 흔한 ReLU를 적용하면 다음과 같이 적용된다. relu를 통해 [0, 양수]로 clipping하는 효과가 있다. 이러한 방식을 통해 model을 훈련하고 Loss를 최적화하는 parameter $\phi^{hat} $을 찾을 수 있다. 3-1식을 조금 간단하게 써보면 다음과 같다. 여기서 h를 hidden units라고 칭한다. 3개의 clipped line은 ..
Understanding Deep Learning을 읽는데 따로 할애한다면 나에게 도움이 될 거 같아 읽어보려고 한다. 처음 시작은 2장인 Supervised Learning부터이다. 1. Supervised learning overview 지도학습에서는 x -> y로 가 되는 mapping을 모델이 찾도록 목표로 한다.이를 표기로 하면은 y = f(x)이고 f는 x를 input으로 받고 y를 output으로 뱉는 모델이다. 이렇게 우리가 input으로부터 y를 예측하는 것을 inference라고 한다. 모델은 parameters 를 가지는데 어떠한 파라미터 집합을 가지느냐에 따라 input - output에 대한 관계가 달라질 수 있다. 한번 이를 나타내보면 $y = f[x , \phi ]$ 라고 할 ..
논문의 풀 제목은 Sharpness-Aware minimization for efficient improving generalization이다. https://openreview.net/pdf?id=6Tm1mposlrM Introduction 많은 머신러닝 모델들이 general하게 훈련되어야 하지만 사실은 오버피팅 된다고 한다. 그러므로 training set을 넘어서 generalize하게 만드는 procedure가 필수적이라고 언급한다. 아쉽게도 일반적으로 사용되는 손실함수들은(e.g., cross-entropy) generalization하기에는 충분하지 않다고 한다(항상 상기해야할 부분은 우리는 training 데이터셋에 대해서 손실함수를 최소로 하는 것이 목적이 아니라 Real world da..
논문에서 결과를 비교할 때 top1, top5의 결과를 비교할 때가 많은데 이때 사용하는 함수가 torch.topk함수이다. https://pytorch.org/docs/stable/generated/torch.topk.html torch.topk — PyTorch 2.0 documentation Shortcuts pytorch.org 예시를 통해 한번 알아보자 x = torch.arange(1, 10) value, pred = torch.topk(x, 3) print(x) print(pred) print(value) tensor([1, 2, 3, 4, 5, 6, 7, 8, 9]) tensor([8, 7, 6]) tensor([9, 8, 7]) 상위 3개의 값을 뽑아봤다. 추가적인 파라미터로는 설정으로 ..
이번에 semi supervised learning의 대표 모델인 FixMatch 코드를 공부하는 도중 np.random.choice 함수를 만났다. 이전에 본적 있지만 그냥 넘어갔는데 확실히 공부해보려고 한다. https://numpy.org/doc/stable/reference/random/generated/numpy.random.choice.html numpy.random.choice — NumPy v1.25 Manual If a is an int and less than zero, if a or p are not 1-dimensional, if a is an array-like of size 0, if p is not a vector of probabilities, if a and p have d..
이번에 대회를 나가면서 baseline 코드를 수행했는데 코드 일부에 torch.cuda.amp.GradScaler 및 autocast 가 있는 것을 확인하였다. 이전에도 본적이 있어서 알아봤던 거 같은데 기억이 안나 다시 한번 공부하고 기록해놓으려고 한다. 우선 이 코드를 왜 쓰는지 알아보기 위해서는 Auto Mixed Precision 이 필요하다. 그리고 이걸 알아보기 전에 부동소수점 즉 Floating Point에 대한 정보를 필요로 한다. 나도 잘 몰라서 기본적으로만 적으려고 한다. 부동소수점은 한가지 방식이 아니라 여러가지 방식으로 나타낼 수 있는데 FP16, FP32, FP64, FP 128이 있다. 값을 세밀하게 표현하기 위해서는 더 높은 숫자인 FP128, FP 64를 사용해야하지만 그만..
Test Time Augmentation, 즉 TTA 는 train 할 때 augmentation을 사용하는 것이 아닌 test시 augmentation을 수행해 augmentation된 이미지들의 예측값을 평균내어 최종적으로 예측하는 것이다. inference시에 한 이미지에 대하여 여러 이미지들로 만들고 이를 평균해 예측하는 것이므로 Ensemble기법이라고 할 수 있다. 또한 Test시 한 이미지가 아닌 여러 이미지를 생성해 평균을 내 결과를 생성하므로 사용하지 않을 때보다 더 강건할 수 있다. 일단 설명은 쉬운데 한번 코드로 수행해보았다. import torch import ttach as tta import timm import numpy as np import cv2 from PIL impor..