반응형

분류 전체보기 823

[PyTorch] 파이토치로 신경망 학습하기 - CNN, GPU, CIFAR10, 신경망 평가하기

분류기 학습하기 - Training a classifier 지금까지 신경망을 어떻게 정의하고, 손실을 계산하고, 신경망의 가중치를 갱신하는 것을 살펴보았습니다. 아마 이렇게 생각할 수 있습니다. 데이터는 어떻게 해야하지? - What about Data? 일반적으로 이미지, 문자, 음성, 비티오 데이터를 다룰 때, numpy 배열로 data를 불러오는 표준 python 패키지를 사용할 수 있습니다. 그리고나서 배열을 torch.*Tensor 로 전환할 수 있습니다. 이미지는 Pillow, OpenCV와 같은 패키지가 유용합니다. 오디오는 scipy, librosa와 같은 패키지가 유용합니다. 문자는 그냥 Python 이나 Cython을 사용해도 좋고 NLTK와 SpaCy가 유용합니다. 특히 영상 분야에서..

[PyTorch 튜토리얼] 파이토치로 신경망 구축하기 - (신경망 정의하기, 손실 함수, 역전파, 가중치 갱신)

신경망 - Neural networks torch.nn 패키지를 사용하여 신경망을 구축할 수 있습니다. 지금까지 autograd를 살펴봤는데, nn은 모델을 정의하고 미분하는데 autograd를 사용합니다. nn.Module은 계층과 output을 반환하는 forward(input)과 계층들을 포함하고 있습니다. 예를들어, 숫자 이미지를 분류하는 신경망을 살펴보겠습니다. 이는 간단한 순전파 네트워크(feed-forward network)입니다. input을 받고, 여러 계층을 순서대로 걸쳐서 전달하고, 최종적으로 ouput을 반환합니다. 신경망의 전형적인 학습 절차는 다음과 같습니다. 학습가능한 매개변수(또는 가중치(weights))를 갖고 있는 신경망을 정의합니다. 데이타셋의 입력을 반복합니다. 입력을..

[선형대수학] 4.2 특성 방정식 - The Characteristic Equation - 유사도(similar), similar transformation

이번 포스팅에서 특성 방정식(Characteristic equation)에 대해 알아보겠습니다. characteristic equation은 eigenvalue와 밀접한 관련이 있는 equation입니다. 저번 포스팅에서 공부했던 것을 복습하자면 주어진 A 행렬의 eigen value를 구할 때 (A - $\lambda$I)x = 0 을 이용합니다. A가 eigen value를 갖고 있으려면 Ax=0에서 nontrivial solution을 갖고 있어야 합니다. 이는 A가 not invertible을 의미하고 det(A) = 0이 되어야 합니다. 이를 통해 eigenvalue는 3,7 인것을 확인할 수 있습니다. 1. 특성 방정식 - The Characteristic Equation characteris..

[선형대수학] 4.1 고유벡터와 고유값 - Eigenvectors and eigenvalue

이번 포스팅에서는 고유벡터와 고유값에 대해 알아보겠습니다. 고유값 - eigenvalue 고유벡터 - eigenvector 고유공간 - eigenspace 1. 고유값과 고유벡터의 기본 아이디어 행렬 A, u, v가 다음과 같이 주어졌을 때 곱셈 결과를 시각적으로 표현해 보겠습니다. Av의 결과는 동일한 line에 solution이 존재하도록 결과가 나왔습니다. 이것이 Eigenvalue와 Eigenvector의 기본 idea입니다. 2. 고유벡터 - Eigenvector 고유벡터를 정의하면 다음과 같습니다. Ax = $\lambda$x를 만족하는 nonzero vector x가 eigenvector입니다. 또한, Ax = $\lambda$x에서 x가 nontrivial solution이 존재할 때 sc..

[선형대수학] 3.3 크라메이 법칙, 부피 그리고 선형 변환 - Cramer's Rule, Volume and Linear Transformations

이번 포스팅에서 공부할 내용은 다음과 같습니다. 크라메이 법칙 - Cramer's Rule 역행렬 공식 - Inverse formula 면적과 부피에서 행렬식 - Determinants as area and volumn 선형 변환 - Linear transformation 1. 크라메이 법칙 - Cramer's Rule Cramer's Rule을 사용하기 위해서는 새로운 정의가 필요합니다. A의 i th column을 b로 치환한 것을 $A_i(b)$로 표현하겠습니다. 2. 이론 7. 크라메이 법칙 - Theorem 7. Cramer's Rule A가 n x n 크기의 invertible 행렬일 때 Ax=b의 해는 다음과 같이 구할 수 있습니다. $A_i(b)$는 A행렬의 i th culumn을 b로 치..

[선형대수학] 3.2 행렬식의 성질 - Properties of Determinants

이번 포스팅에서 배울 내용은 행 연산에 의한 행렬식 변화 - Determinant changes by row operations det $\neq$ 0 det $A^T$ = det A det AB = (det A)(det B) 입니다. 1. 이론 3. 행 연산 - Theorem 3. Row Operations a. A의 하나의 row 곱이 다른 row에 더해져 B 행렬이 만들어지면 det B = det A 입니다. 이는 row replacement를 의미합니다. b. B를 만드기 위해 A의 두개의 row가 interchange 됬으면 det B = -det A 입니다. c. A의 하나의 row에 k가 곱해져 B가 만들어졌으면 det B = k det A 입니다. scaling을 의미합니다. 이 세가지 성..

[선형대수학] 3.1 행렬식 개요 - Introduction to Determinants - 행렬식, 여인수, 여인수 전개

이번 포스팅에서 알아볼 내용은 행렬식 - determinant 여인수 - cofactor 여인수 전개 - cofactor expansion 입니다. 1. 2 x 2 Matirx 2장에서 배운 것을 복습하면 2 x 2 행렬에서의 determinant가 nonzero이면 invertible입니다. 2. 3 x 3 역행렬이 존재하는 행렬 - 3 x 3 invertible matrix 2 x 2 행렬의 determinant를 구하는 건 비교적 쉽습니다. 3 x 3 이상 행렬 부터는 determinant를 구하는 것이 복잡해집니다. determinant가 0이 아닌 것의 의미는 모든 row에 pivot이 존재한다는 의미입니다. 따라서 row reduction을 진행하고 모든 pivot이 nonzero임을 확인하면..

[선형대수학] 2.7 차원과 계수 - Dimension and Rank - 좌표계와 좌표벡터, 차원, 계수

이번 포스팅에서 알아볼 내용은 차원과 계수(Dimension and Rank)입니다. 좌표계와 좌표벡터 - Coordinate system and coordinate vector 차원 - Dimension 계수 - Rank 에 대해 공부하고 정리해보았습니다. 1. 부분공간에서의 기저 - Basis for a Subpace 차원과 계수, 좌표계를 알아보기 전에 기저(basis)를 복습하겠습니다. basis는 independent set으로 표현되는 최소한의 vector를 의미합니다. u와 v는 independent 관계이며 Span{u,v}는 $R^3$공간에서 2차원 평면을 표현합니다. Span{u,v}뿐 아니라 Span{u,w}와 Span{v,w}도 basis가 될 수 있습니다. u와 w, v와 w는 i..

[선형대수학] 2.6 부분공간(열공간, 영공간)과 기저 - Subspaces(column space, null space) and basis

이번 포스팅에서는 $R^n$ 공간에서의 부분공간(Subspaces)과 기저 대해 공부하겠습니다. 공부할 내용은 다음과 같습니다. $R^n$ 공간에서의 부분공간 - Subspace of $R^n$ 열 공간 - column space 영 공간 - null space 부분공간에서의 기저 - basis for subspace 1. $R^n$ 공간에서의 부분공간 - Subspace of $R^n$ 부분 공간(subspace)를 H로 표현합니다. H가 위 세 가지 조건에 부합하면 부분 공간이라고 합니다. a. zero vector가 H set에 존재해야 합니다. b. H에 있는 임의의 벡터 u와 v를 더한 u + v이 H안에 있어야 합니다. c. H에 있는 임의의 벡터 u에 스칼라 c와 곱한 값 cu이 H안에 있어..

[선형대수학] 2.5 LU 분해 - LU decomposition - Factorization, LU 분해 이점, LU 분해 알고리즘

이번 포스팅에서는 LU 분해(LU deposition)에 대해 알아보겠습니다. LU분해는 실제 문제를 해결할때 유용하게 쓰이므로 공대생에게 매우 중요합니다. 1. 분해 - Factorization, decomposition 분해는 하나의 행렬을 두개 혹은 3개 이상의 행렬 곱으로 표현한 식을 의미합니다. A=BC A 행렬을 B와 C의 곱으로 표현했는데 이런 형태를 분해(factorization)이라고 합니다. 2. LU 분해 - LU decomposition 방정식을 푸는 방식은 크게 두 가지가 있습니다. (1) A의 역행렬을 이용 이 경우에 $A^{-1}b_1, A^{-1}b_2$ 모든 경우를 구해야 하므로 비효율적입니다. (2) LU 분해 행 줄임(row reduction)으로 A를 LU분해하여 방적..

반응형