본문 바로가기

분류 전체보기

(156)
가변 길이 인수 1. 가변 길이의 입출력 변수■ 함수에 따라 여러 개의 변수를 입력으로 받거나, 여러 개의 변수를 출력할 수 있다. 이러한 가변 길이 입출력에 대응할 수 있어야 한다. 1.1 순전파 과정에서 가변 길이 인수 처리를 위한 Function 클래스 수정1,1,1 반복 가능한(iterable) 객체 이용■ 가변 길이의 입출력에 대응하기 위해서는 다음과 같이 하나의 인수만 입력으로 받아 하나의 값만 처리하는 Function 클래스를 수정해야 한다.class Function: def __call__(self, input): x = input.data y = self.forward(x) output = Variable(as_array(y)) output.s..
상관행렬, 공분산행렬을 이용한 주성분분석 ■ Singular value decomposition (2) - 특이값 분해 응용 (2) 에서 사용한 예시 데이터를 이용하여 공분산행렬을 기반으로 계산된 주성분분석과 상관행렬을 기반으로 계산된 주성분분석을 비교하고자 한다.1. (표본) 공분산행렬에 기초한 분석■ PCA 수행 단계는 다음과 같다. 공분산행렬을 기준으로 설명하면,- ① 데이터의 공분산 행렬을 계산- 여기서 얻게 되는 공분산 행렬은 변수(feature) 사이의 공분산 행렬이다.- 공분산을 계산하기 전에 데이터는 평균 중심화가 적용되어 있어야 한다.- ② ①에서 얻은 공분산 행렬의 고윳값 분해를 구한다.- ③ 고윳값 분해를 통해 얻은 고윳값의 크기에 따라 내림차순으로 정렬하고, 그에 따라 고유벡터를 정렬한다.- 일반적으로 고윳값(eigen v..
RNN (1) 1. 순환 신경망(Recurrent Neural Network, RNN)■ 시계열 데이터에 더 나은 예측을 하기 위해 과거 시점의 정보를 현재 시점에 반영하는 순환 신경망(Recurrent Neural Network, RNN)은 피드포워드 신경망과 달리 다음과 같이 순환 경로가 존재한다. 1.1 RNN 구조■ \( x_t \)가 입력층의 입력 벡터라고 할 때, 각 단어의 분산 표현은 \( x_t \)이며, \( x_0, x_1, \cdots, x_t, \cdots \)가 순서대로 하나씩 RNN 계층에 들어간다. ■ 위와 같은 순환 구조를 시점(time step) 기준으로 펼치면, 다음과 같이 한 방향으로 연산이 수행되는 피드포워드 신경망으로 볼 수 있다. - RNN을 표현할 때, 위의 그림에서 좌측과 같..
Singular value decomposition (2) - 특이값 분해 응용 (2) 3. 통계학에서의 특이값 분해 응용3.1 주성분 분석(PCA)■ 다변량 자료분석 방법론 중 차원 축소는 여러 변수들에 담긴 복잡한 정보를 1차원이나 소수 몇 개의 차원으로 축소하여, 복잡한 다차원 구조를 단순화하고 보다 쉽게 이해할 수 있도록 만들기 위해 사용한다.■ 이러한 차원 축소 기법의 대표적인 방법으로 주성분분석(Principal Component Analysis, PCA)이 있다. - PCA를 통한 차원 축소의 결과로부터 얻어지는 주성분점수들은 군집분석, 회귀분석, 인자(factor)분석 등을 위한 입력자료로 이용되어, PCA는 어떤 일련의 분석 과정에서 하나의 중간단계 역할을 하기도 한다.■ 주성분분석(PCA)은 서로 상관되어 있는(종속적인) \( n \)개의 변수들 간의 구조를 분석하기 위해..
Linear transformations and their matrices 1. Linear transformation1.1 Example 1. Projection■ 선형변환의 첫 번째 예는 투영(projection)이다.  ■ 예를 들어,  다음과 같은 투영이 있다. 이 투영은 \( \mathbb{R}^2 \)의 모든 벡터. 즉, 평면의 모든 벡터를 평면의 벡터로 변환하는 변환 \( T \)이다. - \( T : \mathbb{R}^2 \rightarrow \mathbb{R}^2 \)처럼 되는 것을 매핑(mapping)이라고 부른다.■ 이 변환은 모든 \( \mathbb{R]^2 \)의 모든 벡터를 사용하고, 변환된 벡터들은 다음과 같은 선 위에 떨어진다고 할 때,■ 먄약, 벡터 \( \mathbf{v} \)를 투영하면, 즉 변환은 벡터 \( \mathbf{v} \)를 \( ..
시퀀스투시퀀스(Sequence‑to‑Sequence, seq2seq) (1) 1. 시퀀스 투 시퀀스(Sequence toSequence, seq2seq)■ 시퀀스 투 시퀀스(Sequence toSequence, seq2seq)는 어떤 시계열 데이터를 다른 시계열 데이터로 변환하는 신경망 모델로, 모델의 아키텍처는 RNN(또는 LSTM이나 GRU)셀을 가지고 있는 인코더-디코더(Encoder-Decoder)로 구성되어 있다. - seq2seq 모델은 대표적으로 번역기, STT(Speech to Text) 등에서 사용된다.cf) 시계열 데이터(시간의 흐름에 따라 기록된 데이터)는 시퀀스 데이터의 대표적인 데이터이다.- 텍스트는 작은 단위라고 할 수 있는 다양한 길이의 단어들이 순서대로 연결된 어떤 문장 혹은 문단으로 볼 수 있다. - 이렇게 순서대로 정렬되어 연속적으로 나타나는 데이..
블록 단위로 토크나이저 빌딩(Building a tokenizer, block by block) ■ Tokenizers 라이브러리로 원하는 토크나이저(Tokenizer)를 구성할 수 있다. 기존 토크나이저를 이용하여 새로운 토크나이저를 빌드하는 것이다.참고) Building a tokenizer, block by block - Hugging Face NLP Course Building a tokenizer, block by block - Hugging Face NLP CourseThe 🤗 Tokenizers library has been built to provide several options for each of those steps, which you can mix and match together. In this section we’ll see how we can build a tokeni..
Subword Tokenizer - (3) Unigram Tokenization 3. Unigram Tokenizer■ 유니그램 토큰화(unigram tokenization)은 BPE, WordPiece와 같은 하위 단어 토큰화(subword tokenization) 방법이다. 단, Unigram은 BPE 및 WordPiece와 다른 방향으로 작동한다.- Unigram과 BPE/WordPiece의 주요 차이점은 다음과 같다.3.1 Unigram 알고리즘 과정■ BPE나 WordPiece가 크기가 작은 단어 집합(vocabulary)에서 시작하여 토큰을 추가하는 것과 달리, Unigram은 크기가 큰 단어 집합에서 시작하여 원하는 단어 집합 크기에 도달할 때까지 불필요한 토큰을 제거한다.- Unigram에서 초기 단어 집합을 만드는 방법으로 사전 토큰화(pre-tokenization)..