본문 바로가기

분류 전체보기151

[양자컴퓨팅] 내적과 직교성 정리 Inner product(내적)이란? 내적은 벡터를 마치 수처럼 곱하는 개념이다. 벡터에는 방향이 있으므로, 방향이 일치하는 만큼만 곱한다. 예를 들어 두 벡터의 방향이 같으면, 두 벡터의 크기를 그냥 곱한다. 두 벡터가 이루는 각이 90도일 땐, 일치하는 정도가 전혀 없기 때문에 내적의 값은 0이다. Inner product space(내적공간)이란 complex vector space을 확장한 개념으로, 기존의 벡터덧셈과 스칼라곱에 대해서 닫혀있던 complex vector space에서 내적연산을 포함하는 공간을 말한다. 다음 4가지 조건을 모두 만족하는 연산을 내적이라고 한다. Orthogonal & Orthonormal? 내적공간(inner product space)의 두 벡터 V1,V2가 내적.. 2022. 4. 8.
[DL] Back-propagation과 Chain Rule Back-propagation이란? Feed-Forward의 결과로 얻은 Loss function은 결국 w와 b의 함수로 이루어졌기 때문에 출력부분부터 시작해서 입력쪽으로(역방향으로) 순차적으로 loss function에 대한 편미분을 구하고, 얻은 편미분 값을 이용해서 w와 b의 값을 갱신시킨다. 모든 훈련데이터에 대해서 이 작업을 반복적으로 수행하게 되면, 결국에는 훈련데이터에 최적화된 w와 b값들을 얻을 수 있다. 즉, 역전파(Back-propagation)란 용어는 출력부터 반대방향으로 순차적으로 편미분을 수행해가면서 w와 b값들을 갱신시킨다는 의미이다. 이는 chain Rule을 이용해서 계산할 수 있다. 그렇다면 Chain Rule이란 무엇일까? chain rule은 합성함수에서 발생하는 미.. 2022. 4. 4.
[양자컴퓨팅] Complex vector spaces의 특징 정리 Words Transpose: 열과 행을 바꾼다. Conjugate: 켤레복소수(허수부의 부호를 반대로) Adjoint: Transpose와 Conjugate를 둘다 적용 Multiplication(행렬 곱) multiplication이 행렬끼리의 곱이라는 것과 이 행렬들이 모두 벡터공간에 속해있다고 할때, 다음 6가지의 공식을 모두 만족한다. Linearity(선형성) 두개의 Complex vector space V, V'가 있고, V에서 V'로 가는 함수가 있을 때 아래의 두가지 조건을 만족한다면 이 함수가 선형적이라고 할 수 있다. Linear combination(선형 합) 아래 식과 같이 벡터 V는 V0, V1,...,Vn-1의 linear combination으로 표현이 가능하다. Linear.. 2022. 4. 1.
[DL] Pytorch을 이용한 모델생성 1. 모델 생성을 위한 준비과정 Vectorization(벡터화): 입력, 가중치 값들을 벡터화해야 중복되는 연산을 막고 편하게 계산이 가능하다. 따라서 입력값이 여러개라면 기존에 벡터로 표현했던 입력벡터를 행렬로 표현할 수 있다. 예를들어, 입력값이 3개라면 사진과 같이 Input (3*2)행렬이 w (2*3)행렬과 곱해져서 L (3*3)행렬이 만들어지고 다시 w(3*3)행렬과 곱해져서 o(3*3)행렬이 된 후에 softmax함수와 cross entropy함수를 거치면 3개의 원소를 가진 벡터가 된다. 출력값인 loss는 이 3개의 원소의 평균값이 되고 loss를 0이 되도록하는 하는 것이 학습의 목표이다. torch.autograd : 자동미분을 해주는 클래스이다. *autograd 사용시 주의사항 .. 2022. 3. 28.
[양자컴퓨팅] Complex Vector Space(복소 벡터 공간) 개념정리 Complex Vector Space 스칼라가 복소수인 vector space를 말한다. vector space이란 어떤 집합인데, 벡터덧셈이나 스칼라곱의 연산결과가 이 집합의 원소일 때 이를 vector space라고 한다. 한마디로 덧셈이나 스칼라곱에 닫혀있는 집합을 말한다. 벡터덧셈이란 벡터의 Index가 같은 원소끼리 더하는 것. --> 결합법칙, 교환법칙, 항등원존재, 역 존재 총 4가지를 만족해야만 성립한다. 스칼라곱(scalar multiplication)? 숫자 1개를 각 벡터의 원소에 곱하는 것. 스칼라곱 -> 교환법칙, 분배법칙2개, 항등원존재 총 4가지를 만족해야만 성립한다. 예시로 벡터 v=(2,3)과 스칼라 a=4, b=3이 있다고 하자. 이 벡터은 vector space일까? 먼.. 2022. 3. 25.
[DL] 인공신경망에 관련된 개념 정리 Words Scalar: 단순히 숫자 1개 ex) np.array(3.0) Vector: 숫자 여러개 ex) np.arange(4) Matrix: 2차원 숫자들 ex) np.arange(20).reshape(5, 4) Tensor: 3차원 이상 숫자들 ex) np.arange(24).reshape(2, 3, 4) 미분(Derivative)이란? 미분(Derivative): 입력값이 변할 때 어떤 함수 f(x)의 출력값이 얼만큼 변화하는지를 나타낸다. 변수가 여러개일때는 편미분을 사용한다. -> 입력값이 많으므로 우리가 임의로 하나를 골라서 변화량을 파악해야 한다. 기울기(Gradient): 모든 벡터요소들을 각각 편미분해서 하나의 벡터로 나타낸 것을 gradient라고 한다. Chain Rule이란? C.. 2022. 3. 20.