일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cifar100-c
- Entropy Minimization
- adamatch paper
- dann paper
- 컴퓨터구조
- SSL
- ConMatch
- conjugate pseudo label paper
- shrinkmatch
- Pseudo Label
- Meta Pseudo Labels
- GAN
- 백준 알고리즘
- remixmatch paper
- Pix2Pix
- BYOL
- tent paper
- mme paper
- 최린컴퓨터구조
- shrinkmatch paper
- mocov3
- semi supervised learnin 가정
- UnderstandingDeepLearning
- simclrv2
- WGAN
- dcgan
- CGAN
- 딥러닝손실함수
- CycleGAN
- CoMatch
- Today
- Total
목록분류 전체보기 (247)
Hello Computer Vision
기존에 제가 쓴 코드들을 다시 보는데 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..
딥러닝 모델들을 공부하다 다른 사람들의 모델들의 코드를 보고 공부할 때가 있는데 함수 내에 *args 혹은 **kwargs 가 들어간 것을 심심찮게 볼 수 있다. 예전부터 봐왔었고 그럴 때마다 궁금해서 쳐봤는데 이번에 정리하려고한다. *args 란? args 는 arguments 의 줄임말이다. 우리가 함수를 정의할 때 앞으로 쓰일 모든 것들을 미리 파라미터로 정의하면 좋겠지만 그러지 못할 때도 있다. 그럴 때 필요한 것들만 미리 정의해놓고 나머지는 *args로 남겨두는 것이다. 예시로 한번 살펴보겠다. def myfunction(first, second, *args): print(first, second) for arg in args: print(arg) myfunction('세수하기','공부하기', ..
지난번 Style Transfer 논문 리뷰에 이은 AdaIN 논문 리뷰입니다. Style Transfer의 gram matrix개념은 사실 너무 복잡하고 어려워서 완전히 이해하기 힘들었는데 이번 논문은 빠르고 많은 수의 스타일을 임의로 전달할 수 있다는 점에서 아주 인상적입니다. 바로 시작해보겠습니다. Introduction 기존 style transfer하는 방법들은 각각의 trade-off를 가지고 있었습니다. 속도가 빠르지만 스타일을 1개만 전달/ 속도가 느리고 여러개의 스타일을 전달 그리고 이 논문에서는 이러한 문제점들을 Instance Normalization 개념을 통해서 개선했다고 합니다. 이러한 방법은 3자리수의 속도 이상을 개선했다고 합니다.(100배) BatchNormalization..
지난 번에 내적이 무엇인지 정의했었다. 그리고 외적이란 용어 또한 존재한다는 걸 안다. 외적이란 무엇인가? 내적의 결과 값은 스칼라였다면 벡터곱의 결과값은 벡터이다. $\vec{a} × \vec{b} = \vec{c}$ 또한 3차원공간에서만 정의된다고 한다. 결과 값으로 나온 벡터는 연산에 사용된 두 벡터와 수직이다(orthogonal) 수직한 벡터끼리의 곱은 0이므로 $(\vec{a} × \vec{b} ) * \vec{c} = 0$ 이라는 결과가 나온다. 이렇게 기하학적으로 나타내었을 때 두 벡터가 이루는 평행사변형의 넓이를 나타낸다. 기호로는 ×를 사용하며 내적을 의미할 때는 · 을 사용한다. $ \begin{bmatrix}a \\b \\ c \end{bmatrix} $ $ \begin{bmatrix..
Style Transfer논문에 대한 코드 공부 도중에 공분산에 대한 이야기가 나와 정리해보려고 한다. 참조 블로그 : 블로그1, 블로그2 공분산이란? X, Y변수 사이에 어떠한 관계가 있는지 알아보기 위해 사용된다. 두 변수 사이에 공분산이 0보다 큰 경우 X값이 커질 때 Y값도 커진다는 의미이며 공분산이 0보다 작다면 X값이 커질 때 Y값은 작아진다는 의미이다. 공분산이 0이면 두 변수 사이에 아무런 관계도 없다는 것을 의미한다. 여기서 공분산 같이 일정하지 않으므로 표준편차 값으로 나누어준다면 값이 [-1,1] 사이를 갖게되며 이는 상관계수가 된다. 공분산 행렬이란? 벡터 간의 원소들이 서로에 대해 어떤 상관성을 갖는지, 짝지을 수 있는 모든 조합에 대한 공분산을 행렬로 표현한 것이다. (여기서 X..
오랜만에 논문 리뷰입니다! 시험 끝나고 좀 쉬면서 선형대수를 공부하다보니 일주일이 흘렀네요.. 이번 논문은 Style Transfer로 잘 알려진 논문입니다. 바로 한번 들어가보겠습니다. Introduction 이 논문을 쓰기 전까지는 기존 texture tranfer(style transfer와 같은 개념)는 non parameterice method였다고 합니다. 그리고 결과들이 나쁘지는 않았지만 치명적인 단점으로는 low-level image featurea만을 변경할 수 있었다합니다. 이를 한번 생각해보자면 기존 방법들은 어떤 이미지가 들어오든 똑같은 방식으로 변환하고 있었던 것입니다. 그렇기 때문에 이 논문에서는 근본적인 요구조건으로 image representation을 찾는 것이라 말합니다...
우선 LU분해에 들어가기 전에 행렬의 재미난 성질(?)을 한번 살펴보겠습니다. (여기서 L은 하삼각행렬 U는 상삼각행렬을 나타내는 기호입니다. LU분해에 이용되는 행렬 A는 정사각행렬) \begin{bmatrix}1 & 2 \\3 & 4 \end{bmatrix} 이러한 행렬에 대해 1행과 2행의 순서를 바꾸고 싶다면 어떻게 할까요? $\begin{bmatrix}0 & 1 \\1 & 0 \end{bmatrix}$ $\begin{bmatrix}1 & 2 \\3 & 4 \end{bmatrix}$ 이러한 행렬을 앞에다 곱해주면 됩니다. 곱해주는 행렬을 P라고 한다면 P * A 로 표시할 수 있습니다. 조금 응용해가지고 1행에다 2행을 더한 값으로 표시하고 싶다면 \begin{bmatrix}1 & 1 \\0 & ..
지난 2022학년도 1학기 때 경영과학을 들으면서 어렴풋이 REF, RREF용어를 들었다. 그 과목은 가우스-조던 소거법을 사용하여 최적화 문제를 푸는 것으로 진행이 되었기 때문에 그 이상으로 자세히 알아보지는 않았던 거 같은데 이번에 알아보려고 한다. REF란? Row Echelon form 의 약자로 행간 사다리꼴 모양을 가진다고 할 수 있다. 보통 가우스-조던 소거법을 처음에 풀게 되면은 정사각행렬을 이용해 풀게 되고 계산만 잘 하게 된다면 해를 구할 수 있다. 그러나 우리가 마주하는 행렬들을 정사각행렬만 있지 않고 다음 그림과 같은 행렬들이 자주 있을 것이다. 그리고 $ \begin{bmatrix}1 & 0 & 0 \\0 & 1 &0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmat..