본문 바로가기

전체 글

(169)
미분 자동 계산 (3) 1. 수동 역전파1.1 Variable 클래스 수정■ 앞서, 구현한 Variable 클래스는 다음과 같이 단순히 상자와 같은 역할을 할 수 있도록 정의하였다.class Variable: def __init__(self, data): self.data = data- Variable 클래스의 인스턴스를 생성하여, 상자(변수)에 데이터를 넣을 수 있고, 상자 속을 보면 상자 속에 들어 있는 데이터가 무엇인지 확인할 수 있다.■ 이때, data는 통상값이며, 역전파 구현을 위해서는 통상값에 대응되는 미분값(grad)도 저장할 수 있도록 다음과 같이 미분값을 저장할 인스턴스 변수를 Variable 클래스에 추가하면 된다.class Variable: def __init__(self, data..
Singular value decomposition (2) - 특이값 분해 응용 (1) 1. 디지털 이미지 처리기법에서의 특이값 분해 응용 ■ 디지털 이미지는 픽셀이라는 격자에 색을 칠하여 어떤 문자나 그림을 표현하는 것으로 생각할 수 있다. ■ 컬러 이미지는 Red, Green, Blue. 총 3개의 채널로 표현되며, 각 채널은 0~255 사이의 값으로 빨강, 초록, 파랑의 정도를 나타낸다. ■ 흑백 이미지(그레이 스케일 이미지)는 1개의 채널로 표현되며, 각 픽셀의 밝기 값을 0~255 사이의 값으로 표현한다.■ 흑백 이미지는 회색 음영을 검은색부터 흰색까지 총 256단계로 나누어 표현한다. 즉, 256가지 정보를 표현하기 위해서는  \( 256 = 2^8 \)이므로 흑백 이미지는 한 픽셀마다 8 bit = 1 byte가 필요하다.- 컬러 이미지는 채널이 3개이며, 각 채널마다 256개..
미분 자동 계산 (2) 1. 미분1.1 미분이란참고) Differential equations  Differential equations1. 미분의 정의1.1 변화율(증분)■ 다음과 같이 종속변수가 \( y \)이고 독립변수가 \( x \)인 \( y = f(x) \)가 있다고 했을 때, 독립변수 \( x \)의 변화량을 \( x \)의 증분이라 하고 델타 기호를 붙여 \( \Dehyeon-jae.tistory.com■ 어떤 함수 \( f(x) \)가 있을 때, 미분은 보통 \( \displaystyle\lim_{h \to 0} \dfrac{f(x + h) - f(x)}{h} \)로 정의한다. 이는 극한으로 짧은 시간(순간)( \( \Leftrightarrow \displaystyle\lim_{h \to 0} \) )에서의 변..
Singular value decomposition (1) 1. 특이값 분해(Singular value decomposition, SVD)■ 행렬 \( A \)가 대각화 가능하지 않은 \( m \times m \) 정방행렬이거나, 심지어는 \( m \times n \) 비정방행렬인 경우에도 다음과 같이 크기가 다른 두 개의 직교행렬 \( U \)와 \( V^T \) 그리고 대각행렬 \( \Sigma \)로 분해하는 것을 특이값 분해라고 부른다. \( A = U \Sigma V^T \)- 이렇게 특이값 분해를 하기 위한 행렬 \( A \)는 어떤 행렬이든 될 수 있다. - 고윳값 분해(EVD)는 정방행렬에서만 가능한 행렬 대각화 방법이다. ■ SVD는 고윳값 분해와 비슷하게 보일 수 있다. (실제로 고윳값 분해에 대한 내용은 특이값 분해(SVD)에도 대부분 적용 ..
엘모(Embeddings from Language Model, ELMo) 1. ELMo(Embeddings from Language Model)■ ELMo는 Word2Vec, GloVe 등과 같은 워드 임베딩(Word Embedding) 방법론이다.■ 단, 기존 워드 임베딩 방법론과의 가장 큰 차이점은 ELMo는 사전 훈련된 모델(pre-trained language model)을 사용해서 워드 임베딩을 수행한다는 점이다.1.1 기존 임베딩 방법론의 한계■ 예를 들어, 다음과 같은 play라는 다의어 단어를 생각해보자. Deep Contextualized Word Representations - ACL Anthology Deep Contextualized Word RepresentationsMatthew E. Peters, Mark Neumann, Mohit Iyyer, Ma..
Similar matrices and Jordan form 1. 닮음 행렬(Similar Matrix)■ \( n \times n \) 행렬 \( A \)와 \( B \)가 있다고 하자. 그리고 역행렬이 가능한 행렬 \( M \)이 있다고 했을 때,■ '\( A \)와 \( B \)가 유사하다'의 의미는 '\( B = M^{-1} A M \)와 같다'라는 것이다.■ 예를 들어, 어떤 행렬 \( A \)가 완전한 고유벡터 집합을 가지고 있다고 가정해 보자. 이 고유벡터들로 구성된 고유벡터 행렬 \( S \)를 이용하면 대각 원소가 고윳값인 행렬 \( \Lambda \)를 만들 수 있었다. \( S^{-1} A S = \Lambda \). 이것은 행렬 \( A \)와 행렬 \( \Lambda \)가 유사하다는 것을 말한다.■ 이 예에서 \( A \)가 \( \Lam..
미분 자동 계산 (1) ■ 미분은 머신러닝, 딥러닝의 여러 분야에서 중요한 역할을 하며, 텐서플로와 파이토치같은 딥러닝 프레임워크는 일종의 미분 계산 도구이다. 미분을 계산하기 위해서는 '변수'와 '함수'가 필요하다.1. 변수■ 변수의 역할은 다음과 같은 상자와 같다.■ 변수(여기서는 상자)에 데이터를 넣을 수 있고(=할당할 수 있고), 상자 속을 보면 상자 속에 들어 있는 데이터가 무엇인지 확인할 수 있다(=참조할 수 있다).1.1 Variable 클래스 구현■ 상자와 같은 역할을 하는 변수라는 개념을 다음과 같이 클래스로 구현할 수 있다. class Variable: def __init__(self, data): self.data = data■ 이렇게 초기화 함수 __init__에서 self.data라는 ..
Positive definite matrices and minima 1. 양정치 행렬 또는 양의 정부호 행렬(Positive definite matrices)■ 양정치행렬(양의 정부호 행렬)은 대칭행렬에서만 적용된다. ■ \( 2 \times 2 \) 대칭행렬 \( A = \begin{bmatrix} a & b \\ b & c \end{bmatrix} \)라고 할 때, 양정치행렬인지 테스트하는 방법은 다음과 같다.- (1) 첫 번째 테스트는 고윳값 테스트이다. \( 2 \times 2 \) 대칭행렬에서 나올 수 있는 고윳값은 2개이다. 이 고윳값이 모두 양수여야 한다. ① \( \lambda_1 > 0, \; \lambda_2 > 0 \)- (2) 두 번째 테스트는 행렬식 테스트이다. 주부분행렬의 행렬식 값이 모두 0보다 커야 한다.- \( 2 \times 2 \)이므로..