일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mocov3
- adamatch paper
- shrinkmatch
- 컴퓨터구조
- CGAN
- BYOL
- SSL
- remixmatch paper
- 최린컴퓨터구조
- cifar100-c
- CoMatch
- tent paper
- 백준 알고리즘
- Pseudo Label
- shrinkmatch paper
- GAN
- Entropy Minimization
- dcgan
- Meta Pseudo Labels
- dann paper
- 딥러닝손실함수
- semi supervised learnin 가정
- conjugate pseudo label paper
- UnderstandingDeepLearning
- ConMatch
- WGAN
- mme paper
- simclrv2
- CycleGAN
- Pix2Pix
- Today
- Total
목록딥러닝 (76)
Hello Computer Vision
일단 공식문서를 살펴보는게 가장 정확하니 한번 살펴보았다. 파이토치 공식문서 핵심이 되는 어구를 한번 찾아보자면 The output is of size H x W, for any input size. The number of output features is equal to the number of input planes. 이라고 할 수 있다. 예시로 살펴보는게 제일 빠르니 한번 보겠다. input = torch.rand(1, 3, 3) maxp = nn.AdaptiveAvgPool2d((2,2)) output = maxp(input) output tensor([[[0.1934, 0.2858], [0.5547, 0.6766]]]) 3x3크기의 input을 넣어주었고 AdaptiveAvgPool에는 (2,..
활성화 함수로 가장 많이 쓰이는 ReLU 함수에서 종종 nn.ReLU(inplace = True)를 볼 수 있다. 파이토치 공식문서에는 정확히 이렇게 적혀있다. inplace (bool) – can optionally do the operation in-place. Default: False 이에 대해 해석해보자면 inplace값을 True로 준다면 인풋 값에 대한 결과값을 따로 저장하는 것이 아니라 그 자리에 있던 데이터 값을 대신하는 것이라고 할 수 있다. 조금 복잡해보일 수 있지만 정리하자면 들어온 input값이 없어지고 output값만 남는다고 할 수 있다. 따라서 기존에 input값을 저장했던 메모리를 따로 할당할 필요가 없으니 약간의 메모리적인 이득을 얻을 수 있다고 하는데 이 부분은 현업에 ..
이번에 SqueezeNet에 대한 모델 코드들을 보는데 풀링을 하는 과정에서 ceil mode = True 이렇게 되어있어 알고 넘어가보려고 한다. 일단 공식 문서에 따르면 정확히 이렇게 나와있다. ceil_mode (bool) – when True, will use ceil instead of floor to compute the output shape 이거에 따라 결과로 나오는 output의 모양이 파라미터 값에 따라 달라지는구나? 라고 생각할 수 있다. ceil --> 이 뜻은 올림을 뜻한다. 따라서 True값을 준다면 올림을 하는 것이고 기본값은 False로 되어있다. 예시를 통해 한번 알아보려고 한다. input = torch.rand(1, 6, 6) tensor([[[0.0656, 0.0923..
이번 방학에 CNN 모델에 대해서 다시 원론적으로 공부를 하는 도중 Dilated convolution 에 대해 맞닥뜨렸다. 한눈에 설명할 수 있는 이미지는 다음과 같다. 이것이 무엇을 나타내는지 한번 알아보자면 현재 kernel의 크기는 3x3의 크기이며, 7x7이미지를 sliding window 하고있는 상황이다. 근데 왜 흝는 과정에서 5x5커널처럼 흝고있느냐? 바로 nn.Conv2d 의 파라미터 중 dilation이란 값이 있는데 이 값이 2이기 때문이다. nn.Conv2d document 살펴보기 기본 값은 1이며 1을 준다는 것은 커널 안 파라미터들(예시에서는 3x3) 사이사이 간격을 주는 것이다. 1을 준다면 그냥 밀집된 kernel이며 2를 준다면 예시와 같이 듬성듬성한 kernel이 되는..
참고 블로그 : father님 블로그 프라이데이님 블로그 zzin33님 블로그 Translation invariance 설명 : 위치가 바뀌어도 무엇을 나타내는지 편차 없이 잘 구분할 수 있다. 분류 문제를 맞이하였다고 가정하고 위의 이미지를 본다면 이미지의 위치가 바뀔 때 결과 값도 바뀌는 것을 확인할 수 있다. 그렇다면 CNN의 기본 원리는 Translation variance(equivariance) 하다고 할 수 있다. 그러면 왜 CNN 이 Translation Invariance 하다고 하는 것일까 1. Max pooling 분류문제에서 주로 사용하는 Max Pooling을 사용하면 kxk 필터라고 하였을 때 이미지 내에서 k x k필터 안에서의 이동은 상관이 없다. 2. Weight shari..
우리가 분류할 때 레이어 최상단에 많이 쓰는 함수로는 softmax 함수가 있다. 이전에 다른 entropy 함수랑 mse함수를 다루었는데 softmax도 한번 체크해보고자 한다. 참고 문서: 블로그 파이토치문서 수식 $$\frac{exp(a_{k})}{\sum_{i=1}^{n}exp(a_{i})}$$ 분모에서는 함수 값들에 자연상수를 씌워준 값의 합이고 분자는 해당 함수 값의 자연상수를 취한 것을 확인할 수 있습니다. 특징 각 함수 값에 softmax를 씌운 모든 값들의 범위는 [0,1]이며 합은 1이다. -->예를 들어 함수 값(1, 1, 2)가 각각 나왔다고 했을 때 각각의 softmax값은 (0.21, 0.21, 0.58)이다. softmax를 취한다고 함수 값의 대소변화에 변화를 일으키지 않는다..
Attention, Transformer을 이해하기 위해 RNN기초부터 공부해보려고 한다. 참고 자료 : 위키독스 허민석님 영상 ratsgo님 블로그 RNN과 기존의 DNN 구조간의 차이를 비교했을 때 그림으로 확인한다면 더 잘 느낄 수있다. 단방향으로 이루어진 DNN과 달리 RNN의 경우 그 전의 과정이 다음의 결과에 영향을 미치는 것을 확인할 수 있다. 그전 까지의 결과를 반영해서 다음 출력 값을 고려할 수 있다는 점에서 자연어 처리 부문 machine translation에서 탁월한 성능을 보인다(many to many) RNN을 이루는 각 요소들을 한번 알아보자. $x_{t}$ : 입력벡터 $cell$ : 메모리셀(은닉상태) $y_{t}$ : 출력벡터 $W_{xh}$ : 입력벡터에서 은닉상태로 갈..
기존에 제가 쓴 코드들을 다시 보는데 nn.ModuleList를 이용해 짠 코드들이 있더라고요. 뭔가 nn.Sequential처럼 묶어주는건 기억이 나는데 정확히 기억이 나지 않아 다시 한번 공부해보려고 합니다. nn.ModuleList란 list 형태로 layer들을 묶어줄 수 있습니다. list형태로 묶여있기 때문에 layer들의 iterator를 생성하는 것이라 할 수 있다. 하지만 nn.Sequential과는 달리 forward method가 없기 때문에 바로 사용할 수가 없다. 이게 무슨 말이냐하면 이러한 에러가 발생한다. modulelist = nn.ModuleList( [nn.Linear(10, 10), nn.Linear(10, 10)] ) input =torch.rand((10)) modu..