Processing math: 100%
본문 바로가기

전체 글

(171)
Solving Linear Equations - (1) Vectors and Linear Equations ■ 선형대수의 핵심 문제는 연릭 방정식을 푸는 것이다. 이때의 방정식은 미지수가 곱해진 선형 방정식이다. ■ 예를 들어, 다음과 같이 2개의 선형 방정식에 2개의 미지수가 있는 경우■ 이 방정식의 해를 구하기 위해 주어진 방정식을 행렬로 나타낼 수 있다.■ 예를 들어, 다음과 같이 2개의 선형 방정식에 2개의 미지수가 있는 경우, 이 연립방정식을 계수 행렬(coefficient matrix)와 미지수로 구성된 미지수 벡터(unknown vector) 그리고 우변 벡터(right-hand side vector)로 나타낼 수 있다.■ 이 상태에서 'row picture'를 보자. row picture는 하나의 행 방향으로 방정식을 보는 것을 말한다.■ 행 방향으로 보면, 두 연립 방정식의 교점 \( x = ..
[개념] 벡터(Vector) 1. 벡터 정의■ 길이, 넓이, 부피, 질량, 온도 등 크기만으로 완전히 표현되는 것을 스칼라(scalar)■ 힘, 속도, 위치 이동  크기와 방향으로 표현되는 것을 벡터(vector)라고 한다.■ 벡터는 크기와 방향을 모두 가지고 있으며, '두 가지 정보를 모두 표현할 수 있는 화살표'로 나타낸다.■ 벡터의 시작점이 A, 끝점이 B이면 $ \overrightarrow{AB} $로 나타내기도 한다■ 선 형대수학에서 벡터는 '수를 순서대로 나열한 것'으로 볼 수 있다.■ 벡터의 차원(dimensionality)은 벡터가 가진 원소의 수를 의미한다.■ 벡터의 방향(orientation)은 벡터가 열 방향인지, 행 방향인지를 나타낸다.■ 예를 들어  x = [1, 2, 3, 4]이면 x는 4차원 행벡터이며 x..
트랜스포머 (Transformer) (3) 3.4 트랜스포머 Decoder 내부 구조3.4.1 Masked Self-Attention■ Decoder도 Encoder와 동일하게 단어의 임베딩 계층과 포지셔널 인코딩을 거쳐 문장 행렬이 Decoder에 입력된다. ■ Decoder는 3개의 서브 계층으로 구성되어 있다. 첫 번째 서브 계층은 Encoder의 첫 번째 서브 계층과 동일한 셀프 어텐션(Self-Attention)이다. ■ 단 Decoder의 셀프 어텐션 층에는 마스킹을 수행하는 Mak라는 조건이 붙는다.■ 트랜스포머는 seq2seq처럼 디코더에 출력할 문장을 한 번에 입력받는다. ■ seq2seq에서 RNN 계열의 신경망을 사용할 경우, 입력 단어를 매 시점마다 순차적으로 받아 현재 시점과 이전 시점의 단어를 토대로 출력할 단어를 예..
트랜스포머 (Transformer) (2) 3.3 트랜스포머 Encoder 내부 구조3.3.1 Self - Attention■ 셀프 어텐션의 동작 메커니즘은 먼저, 입력 문장의 단어의 임베딩 벡터들로부터 세 벡터(Q, K, V)를 만들기 위해 가중치 행렬 WQ, WK, WV를 사용한다.■ 예를 들어 다음과 같이 'Thinking', 'Machines'라는 단어가 입력으로 들어갈 때, 두 단어의 임베딩 벡터가 각각 X1,X2라면, 임베딩 벡터는 사전에 준비된 가중치 행렬 WQ,WK,WV 과의 곱을 통해 그에 맞는 Q 벡터, K 벡터, V 벡터를 만들게 된다.- 단어 'Thinking', 'Machines'의 임베딩 벡터가 가중치 행렬을 통해 각각 Q, K, V 벡터로 변환되는 것을 볼 수 있다.cf) 위의 과정을..
트랜스포머 (Transformer) (1) 3. 트랜스포머 (Transformer)■ 기본 seq2seq 모델은 Encoder-Decoder 모델로 Encoder에서 입력 시퀀스를 하나의 고정 길이 벡터(은닉 상태 벡터)로 압축해서 Decoder에 전달하고, Decoder는 이 벡터 표현을 받아 출력 시퀀스를 만들었다.■ 하지만, 기본 모델은 Encoder에서 입력 시퀀스를 고정 길이 벡터로 압축할 때, 입력 시퀀스의 정보가 손실된다는 단점이 있었다. 이 단점을 보완하기 위해 어텐션(attention)을 사용하여 RNN 계층을 보정하였다.■ 단, 어텐션을 사용해도 RNN의 단점이 남아 있는데, 그것은 바로 병렬 처리이다.■ Encoder와 Decoder를 RNN으로 만들면, RNN은 시간축 방향(오른쪽 방향)을 따라 이전 시점에 계산한 결과를 이..
어텐션(Attention) (1) 1. 어텐션 구조1.1 seq2seq Encoder 개선■ seq2seq는 다음 예시와 같이 Encoder가 시계열 데이터를 인코딩해서, 인코딩된 정보 h를 Decoder에 전달한다.■ 이때 h는 고정 길이 벡터라서 입력 문장이 아무리 길어도, 항상 동일한 길이(크기)의 벡터가 된다.■ 즉, 고정된 크기의 벡터에 모든 정보를 압축하기 때문에 문장이 길어질수록 중요한 정보가 누락될 가능성이 크다. 다시 말해, 고정 길이 벡터는 정보 손실이 발생하기 쉬운 구조이다.■ 이 문제를 개선하는 방법으로 다음과 같이 Encoder의 모든 시점의 은닉 상태 벡터를 모두 이용하는 방법이 있다.■ 이렇게 하면 입력된 단어와 같은 수의 벡터를 얻을 수 있다. 즉, 더 이상 Encoder 출력의 결과는 ..
시퀀스 투 시퀀스(Sequence toSequence, seq2seq) 1. seq2seq■ seq2seq는 한 시계열 데이터를 다른 시계열 데이터로 변환하는 신경망 모델로 '인코더-디코더(Encoder-Decoder)' 모델이라는 신경망 모델의 일종이다.■ Encoder-Decoder 모델은 입력 데이터를 인코딩(부호화)하는 Encoder와 인코딩된 데이터를 디코딩(복호화)하는 모델로 구성된다.- 인코딩은 데이터를 어떤 형식, 규칙 등에 따라 변환하는 것을 말한다. 예컨대 문자 'A'는 ASCII에서 숫자 65로 인코딩된다.- 디코딩은 인코딩된 데이터를 원래의 데이터로 되돌리는 것을 말한다. ASCII로 인코딩된 숫자 65를 디코딩하면 문자'A'로 변환된다.■ 다음 그림은 '나는 학생이다.'라는 한글 문장을 입력 받아, 'I am a student'라는 영어 문장을 출력하..
게이트(gate)가 추가된 RNN - LSTM, GRU 1. RNN의 문제점■ RNN은 순환 경로를 통해 과거 정보를 계승할 수 있어 시퀀스 데이터(순서가 있는 데이터)인 시계열 데이터를 다루기에 적합하다. ■ 하지만, 길이가 긴 시계열 데이터를 사용할 경우 BPTT 방법으로 학습을 수행하면, 그래디언트 소실/폭발이 발생해 시간적으로 멀리 떨어진 정보를 유지하기 어렵다. 즉, 장기 기억에 취약하다.■ RNN 계층의 순환 경로는 다음과 같으며, 시계열 데이터 xt가 입력되면 시점 t에 대한 은닉 상태 ht를 출력한다. 이 은닉 상태 ht에는 과거 정보가 담겨 있다.■ RNN 계층을 시간축으로 펼친 위의 그림을 보면, 은닉 상태 ht는 이전 시점의 은닉 상태 ht1t 시..