최근 pytorch의 nn.functional 모듈에 있는 grid_sample이라는 함수를 사용할일이 있었는데, 어떻게 동작하는지 이해가 잘 안되서 하나씩 정리해보려고 한다. Parameters input : 변환할 이미지 - (N,C,H_in,W_in) grid : flow-field라고도 부르고, 어떤 포인트가 어디로 옮겨질지에 대한 부분을 나타낸다. output의 포인트들에 대한 x,y위치를 나타낸다. - (N,H_out,W_out,2) mode (default = 'bilinear') : 중간값에 대한 부분을 어떤 알고리즘을 활용해서 적용할지 나타낸다. 사용할 수 있는 모드는 ('bilinear' | 'nearest' | 'bicubic')가 있다. padding_mode(default = 'z..
AI
경사하강법을 통한 선형 회귀 역행렬과 무어펜로즈(Moore-penrose)역행렬을 통하여 선형회귀가 가능하지만, 선형 모델에 대해서만 적용이 가능함 🔑 경사하강법을 통한 선형회귀 선형모델을 포함하여 다른 모델도 대응이 가능함 역행렬을 통한 회귀법보다 더 powerful한 방법 선형회귀에 대한 이해 많은 수의 data가 있을 경우($벡터의 수≥벡터의 길이$), 그 모든 벡터를 만족하는 해답을 구할 수 없음(일직선에 있는 경우는 제외) 따라서 선형회귀 모델을 이용하여 데이터들을 아우를 수 있는 최적의 식을 찾아야 함 💡 data -> 행렬식으로 표현 찾고자 하는 최적의 식을 $X\beta = \hat Y ≈ Y$로 정의하여 $Y-\hat Y$를 최소로 만드는 $\beta$을 구해야 한다. 무어펜로즈 역행렬을..
경사 하강/상승법 미분에 대한 이해 미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구 최적화에서 제일 많이 사용하는 기법 접선의 기울기를 의미 한 점에서의 접선의 기울기를 알면 어느 방향으로 움직여야 증가 or 감소하는지 확인 가능함 저차원에서는 눈으로 확인 가능하지만, 고차원으로 갈경우 해석이 어려워지기 때문에 미분을 활용 미분 모듈(sympy) import sympy as sym으로 sympy 모듈을 불러옴 from sympy.abc import x 변수를 x로 지정함 import sympy as sym from sympy.abc import x print(sym.diff(sym.poly(x**2 + 2*x + 3),x)) Poly(2𝑥+2,𝑥,𝑑𝑜𝑚𝑎𝑖𝑛..
gradient Descent를 활용한 선형회귀 $n >= m$인 경우 하나의 선형적 해가 존재하지 않는다(모든 data가 일직선에 있는 경우가 있긴하지만, 그 부분은 현실적이지 않기 때문에 제외한다) 오차를 최소로 하는 $\beta$를 구하기 위해 $\hat Y = X\beta$로 정의하면 오차항인 $||Y-X\beta||_2$를 최소로 만드는 $\beta$를 구하는 식으로 바꿀 수 있다. $||Y-\hat Y||_2$을 목적식으로 하여 경사하강법을 사용하여 최소값을 구해보자 수식 유도 $||Y-\hat Y||_2 = ||Y-X\beta||_2$를 최소로 하는 $\beta$ 구하기! 여기서 식 ②번을 유도하는 과정은 위해 식 ①번의 k번째 항을 정리해보자