1. Inverse Matrices Square matrix is said to be invertible if its inverse matrix exists. Sqaure matrix that is not invertible is singular. 2. Properties of Inverse Matrix P1. $A$ is invertible if and only if (iff) guassian elimination produces $n$ pivots ($A \mathbf{x} = \mathbf{b}$ 꼴에서 $A$의 열의 linear combination 관점에서 봤을 때 모든 $x_{i}$가 유일하게 존재한다는 말이므로 span위에 $\mathbf{b}$가 존재한다) P2. $A$가 invertibl..
1. Gaussian Elimination 아래와 같은 linear equations를 풀려고 한다. \begin{align} x_{1} + x_{2} &= 2 \\ 2x_{1} - x_{2} &= -4 \end{align} 일반적으로 두 등식 간에 연산을 취하여 아래의 꼴을 만들면 답을 쉽게 구할 수 있다. \begin{align} \\ x_{1} + x_{2} &= 2 \\ -3x_{2} &= -8 \end{align} 즉, 일단 바로 위의 등식과 같은 triangular form을 얻으면 풀렸다고 봐도 된다. 이렇게 행렬을 triangular form으로 만들기 위한 방법을 Gaussian Elimination Method라고 한다. 즉, $A \mathbf{x} = \mathbf{b}$에서 $A$..
1. Abstract 본 논문은 특정 단어(예 : 숫자, 알파벳)에 대한 발음(오디오 모달리티)과 입모양(비디오 모달리티)의 표현을 잘 fusion하고, fusion된 표현을 인풋으로 받는 classifier를 학습하여 발음을 구분하는 태스크를 다룬다. 이 과정에서 fusion을 잘하기 위해 오토인코더를 도입한다. 피처 학습시 오디오와 비디오 모달리티가 주어졌다면, 모델에게 비디오 모달리티만 줘도 상대적으로 더 좋은 표현을 만든다. 모달리티 간의 공유(shared)된 표현을 어떻게 배우는지 보여준다. 이를 평가하기 위해 classifier를 오디오 모달리티로 학습시키고 테스트는 비디오 모달리티로 하거나, 그 반대로 실험을 한다. 2. Introduction 오디오, 비디오 표현을 fusion하여 발음을 ..
1. 행렬과 벡터의 곱의 계산적 의미 \begin{align*} A{x}= \left[ \begin{array}{cccc} a_{11} & a_{12} & \ldots & a_{1n}\\ a_{21} & a_{22} & \ldots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{m1} & a_{m2} & \ldots & a_{mn} \end{array} \right] \left[ \begin{array}{c} x_1\\ x_2\\ \vdots\\ x_n \end{array} \right] = \left[ \begin{array}{c} a_{11}x_1+a_{12}x_2 + \cdots + a_{1n} x_n\\ a_{21}x_1+a_{22}x_2 + \cdots..
Linear Combination The set $\mathbb{R}^{n}$ or an infinite line can be represented as linear combinations of vectors Example 1 : $c\begin{bmatrix}1 \\ 0\end{bmatrix} + d\begin{bmatrix}0 \\ 1\end{bmatrix}$ spans $\mathbb{R}^2$ Example 2 : $c\begin{bmatrix}1 \\ 1\end{bmatrix} + d\begin{bmatrix}2 \\ 2\end{bmatrix}$ is an infinite line Lengths and Dot (Inner) Products Length : $\|v\| = \sqrt{v \cdot..
https://www.acmicpc.net/problem/2015 2015번: 수들의 합 4 첫째 줄에 정수 N과 K가 주어진다. (1 ≤ N ≤ 200,000, |K| ≤ 2,000,000,000) N과 K 사이에는 빈칸이 하나 있다. 둘째 줄에는 배열 A를 이루는 N개의 정수가 빈 칸을 사이에 두고 A[1], A[2], ..., A[N]의 순서로 www.acmicpc.net map을 참신하게 활용하는 문제였습니다. 누적합은 $O(N)$에 구할 수 있습니다. 모든 부분합을 구하려고 하면 $O(N^{2})$으로 당연히 시간초과입니다. #include using namespace std; typedef long long ll; int N, K, arr[200001], curSum; ll ans; map m..
https://www.acmicpc.net/problem/30960 30960번: 조별 과제 학번이 $3, 1$인 사람을 한 조로 묶고, $4, 5, 9$인 사람을 한 조로 묶으면 각 조의 어색함은 $(3-1) = 2$와 $(9-4) = 5$이고, 합은 $7$이다. 이 방법이 각 조의 어색함의 합을 최소로 하는 방법이다. www.acmicpc.net 정해는 정렬+누적합이지만, 아이디어가 떠오르지 않아 DP로 해결했습니다. 본 글에선 두 가지 방법 모두 소개합니다. 1. 정렬+누적합 일단 입력받은 배열을 정렬한 상태라고 합시다. 앞에서부터 3명씩 묶을 사람을 정합니다. 맨 처음 3명을 묶을 경우 어색함의 총합은 $(a_{2}-a_{0}) + (a_{4}-a_{3}) + (a_{6}-a_{5})$입니다. 이..
1. 배치 정규화? 앞 절에선 가중치 초기화를 적절히 설정해서 각 층의 활성화값 분포를 적당히 퍼뜨려 원활한 학습을 유도했다. 이와 달리 배치 정규화는 각 층의 활성화값을 적당히 퍼뜨리도록 강제하는 기법이다. 배치 정규화의 장점은 아래와 같다. 학습 속도를 빠르게 한다. 가중치 초깃값에 크게 의존하지 않는다. 오버피팅을 억제한다. 2. 배치 정규화 알고리즘 배치 정규화는 그 이름과 같이, 학습 시 미니배치 단위로 정규화를 한다. 구체적으로는 한 배치안의 값의 분포를 평균이 0, 분산이 1이 되도록 정규화한다. 수식으로는 위와 같다. 이러한 변환을 활성화 함수의 앞 혹은 뒤에 삽입함으로써 데이터 분포가 덜 치우치게 강제한다. 배치 정규화를 활성화 함수의 앞과 뒤 중 어느 쪽에 삽입할 지에 대한 정답은 없다..
1. 가중치 초기화의 중요성 신경망의 가중치를 어떻게 초기화할지에 따라 학습의 성패가 갈린다. 단순하게 모든 가중치를 0으로 초기화 해보자(정확히는 모든 가중치를 동일한 값으로 설정해보자). 이 신경망은 학습이 제대로 되지 않는다. 그 이유는 오차역전파에서 모든 가중치가 똑같은 값으로 갱신되기 때문이다. 예를들어 2층 신경망이 있다고 하자. 1층과 2층 사이에 모든 가중치가 0이라면, 순전파 때 두 번째 층의 뉴런에 모두 같은 값이 전달된다. 이는 역전파때 두 번째 층의 가중치가 모두 똑같이 갱신된다는 뜻이다. 이는 가중치를 여러 개 갖는 의미를 상실시킨다. 이렇듯 가중치가 고르게 되어버리는 상황을 방지하려면 가중치의 초깃값을 무작위로 설정해야 한다. 2. 은닉층의 활성화값 분포 은닉층의 활성화값(활성화..
1. 확률적 경사 하강법(SGD) SGD는 그라디언트의 방향으로 일정 거리만큼 가는 단순한 매개변수 갱신 방법이다. SGD는 단순하고 구현도 쉽지만, 문제에 따라서 비효율적인 경우가 있다. 아래와 같은 비등방성 함수에서 그렇다. 비등방성 함수란 각 지점에서의 기울기가 전체에서 한 점만을 가리키지 않는 함수라고 이해하면 된다. 함수의 최솟값을 가지는 좌표는 $(0, 0)$이지만, 대부분의 지점에서 기울기는 $(0, 0)$ 방향을 가리키지 않는다. 이 함수에 SGD를 적용해보자. 갱신 경로가 지그재그로, 비효율적인 탐색 결과를 볼 수 있다. 이런 함수에는 SGD 같이 무작정 기울어진 방향으로 진행하는 단순한 방식보다 더 영리한 방법이 필요하다. 또한 SGD가 지그재그로 탐색하는 근본 원인이 기울기 방향이 최..