Transformer 의 CrossAttention 차이점
·
Artificial Intelligence/Basic
Attention Is All You Need 는 Transformer 기술을 소개하는 논문으로서, 이전에 한차례 리뷰한 바가 있다.이 중 CrossAttention 에 대한 한국어 포스팅이 많지 않아보여 작성해본다.Transformer 는 Translation, VC, STT, TTS등 시계열 데이터를 처리하는데에 있어 사용할 수 있다. 즉 Decoder 의 출력은 Text 가 될수도 있고, Mel Spectrogram 형태가 될수도 있으며, 아마 '영상' 쪽으로도 출력을 내는게 가능할 것이다. (여기서는 번역을 기준으로 작성하겠다.)붉은박스로 표시한 CrossAttention 은 좌측의 Encoder 단에서 나오는 출력이, 우측의 Decoder 단으로 들어가는 구조이다. 먼저 코드를 살펴보자.  So..
행렬 기초
·
Artificial Intelligence/Basic
이전 포스팅의 주제인 AdaLoRA 는 행렬에 대해 잘 알지 못하면 그 원리를 근본까지 이해하기 힘든 구성을 지니고 있다. 최종적으로 이해는 했지만 이를 정리해 두지 않으면 한달만 지나면 다 까먹을 것이기 때문에 기록해 둔다.행렬역행렬전치행렬대칭행렬항등행렬(단위행렬)대각행렬직교행렬및 행렬연산 특성에 관해서 설명한다.  1. 행렬(matrix)$$\begin{equation}    \begin{bmatrix}     a_{11} & a_{12} & a_{13}  \\    a_{21} & a_{22} & a_{23}  \\    a_{31} & a_{32} & a_{33}  \\    \end{bmatrix}  \end{equation}$$행렬에 관해서 모르는 사람은 없으리라 본다. Excel 을 다뤄본 ..
모델 훈련시 Epoch 와 Steps 의 차이
·
Artificial Intelligence/Basic
모델을 훈련할때 평가과정은 보통 epoch 로 진행하는데, 간혹 특정 예제들은 steps 로 진행되기도 한다. 예로 Seq2SeqTrainingArguments 의 설정 옵션을 살펴보면 evaluation_strategy (str or IntervalStrategy, optional, defaults to "no") - The evaluation strategy to adopt during training. Possible values are: "no": No evaluation is done during training. "steps": Evaluation is done (and logged) every eval_steps. "epoch": Evaluation is done at the end of e..
batch_size 란?
·
Artificial Intelligence/Basic
여러 모델을 학습시키는데에는 batch_size 옵션을 지정해 주어야 한다. 나의 경우 Transformer 를 학습시킬때 사용되는 Seq2SeqTrainingArguments 의 batch_size 옵션을 지정하기 위해 batch_size 의 계념에 관해 살펴보았다. Seq2SeqTrainingArguments 에서 batch_size 옵션은 per_device_train_batch_size (int, optional, defaults to 8) : The batch size per GPU/XPU/TPU/MPS/NPU core/CPU for training. 로서, 이는 '모델이 한번에 학습하는 데이터 샘플수' 이다. 이러한 batch_size 를 지정하는데는 아래와 같은 장, 단점이 존재한다. 큰 b..
인공지능에서 Parameter 란?
·
Artificial Intelligence/Basic
pre-trained 된 모델들을 보면 parameter 라는 단어가 눈에 띈다. 이러한 parameter 는 hyper-parameter 와는 별개의 뜻으로 사용된다. 통상적으로 hyper-parameter 는 학습과정에 있어 유저가 지정할 수 있는 값들을 의미한다. 예로 learning-rate, epoch, multi-head attention count 등이 포함된다. 반면 parameter 는 아래와 같은 의미를 지닌다. In an A.I. model, what exactly is a "parameter" counting? Tim Converse's answer: The question was “In an A.I. model, what exactly is a ‘parameter’ counting..
GAN의 최적 손실값
·
Artificial Intelligence/Basic
아래 두 포스팅을 통해 GAN이 무엇인지 알아 보았다. GAN이란? (이미지 숫자 생성)GAN은 Generative Adversarial Networks라는 의미로서, 한국어로 번역하면 '생성적 적대 신경망' 정도로 번역할 수 있겠다. 현재로서 활발히 많이 이용되는 알고리즘은 대부분이 '지도학습' 부류로 CNN을 활cypsw.tistory.com CGAN(Conditional GAN)1. CGAN 이란? 이전 포스팅에서 GAN이 무엇인지, 그 개념과 간단히 코드를 작성해 보았다. 이번 포스팅의 주제는 CGAN 이다. 이전 포스팅에서는 0~9 까지의 숫자를 임의로 랜덤하게 생성하는 Generator(cypsw.tistory.com지금까지 과정을 지켜봤다면 의문점이 있을것이다. GAN은 여타 다른 CNN, ..
CGAN(Conditional GAN)
·
Artificial Intelligence/Basic
1. CGAN 이란? 이전 포스팅에서 GAN이 무엇인지, 그 개념과 간단히 코드를 작성해 보았다. 이번 포스팅의 주제는 CGAN 이다. 이전 포스팅에서는 0~9 까지의 숫자를 임의로 랜덤하게 생성하는 Generator(생성기) 와 Discriminator(판별기) 를 생성하여 간단하게 GAN 모델을 구현해 보았다. 그런데 문제는 우리가 생성하는 데이터를 '지정' 할 수 없었다는 점이다. 즉, 숫자 '3' 만 출력하는 Generator 를 제작하는 것은 이전 포스팅만 보고는 불가능한 일이다. 때문에 해당 포스팅에서는 '특정한' 클래스를 훈련시킬 수 있는 Conditional(조건부) GAN 에 대해서 포스팅 하고자 한다. 2. CGAN 만들기 우리는 이전 포스팅에서 사용했던 파일을 이용해 조금의 수정만 거..
GAN이란? (이미지 숫자 생성)
·
Artificial Intelligence/Basic
GAN은 Generative Adversarial Networks라는 의미로서, 한국어로 번역하면 '생성적 적대 신경망' 정도로 번역할 수 있겠다. 현재로서 활발히 많이 이용되는 알고리즘은 대부분이 '지도학습' 부류로 CNN을 활용한 Object Detection, LSTM 및 Transformer 를 활용한 번역문제가 있고, 강화학습의 경우 자율주행 분야 및 로봇 제어 분야에서 사용되고 있으나, 유독 '비지도 학습' 의 경우 마땅히 시각적으로 보여줄만한 결과가 없었다. 하지만 2014년 GAN 모델이 출시되고 나서는 얘기가 좀 달라졌는데, Stable Diffusion 을 비롯한 GAN 의 자식 모델들이 '이미지 생성' 영역에서 큰 역할을 하고 있기 때문이다. 위 이미지들은 모두 stability.ai..
벨만 방정식(Bellman Equation)
·
Artificial Intelligence/Basic
해당 포스팅을 보기 전에 MDP 포스팅을 보길 권장한다. 벨만 방정식은 주어진 정책 $\pi$ 의 벨류를 구하기 위해서 사용되며 현재 시점($t$)와 다음 시점($t+1$) 사이의 재귀적 관계를 이용해 정의된다. 이 방정식에는 '기대' 방정식과, '최적' 방정식 두 가지가 존재하므로 둘 모두를 설명한다. 1. 벨만 기대 방정식 벨만 기대 방정식은 아래와 같이 나타낼 수 있다. $$ \begin{flalign} v_{\pi} &= \mathbb{E}_{\pi}[r_{t+1} + \gamma v_{\pi}(s_{t+1}) \\ \\ &= \mathbb{E}_{\pi}[G_{t}] \\ &= \mathbb{E}_{\pi}[r_{t+1} + \gamma r_{t+2} + \gamma^{2} r_{t+3} + \..
마르코프 결정 프로세스(Markov Decision Process)
·
Artificial Intelligence/Basic
마르코프 결정 프로세스(이하 MDP)는 의사결정 과정을 모델링하는 수학적인 틀을 제공하며 아래와 같은 요소로 구성된다. $$ MDP \equiv (S, A, P, R, \gamma) $$ S : 상태의 집합 A : 액션의 집합 P : 전이 확률 행렬 (상태 $s$에서 $s'$으로 갈 확률을 행렬의 형태로 표현한 것) R : 보상 함수 $\gamma$ : 감쇠인자 $\gamma$는 미래에 얻을 보상에 비해 당장 얻을 보상을 얼마나 더 중요하게 여길 것인가를 나타내는 파라미터이다. (따라서 0~1 사이의 값을 지님.) 위에 정의나, 약어들이 꽤나 어렵게 보일테지만 전혀 어렵지 않다. 아래 예시를 보며 각 변수가 어떻게 동작하는지 간단히 살펴보자. 해당 MDP는 어머니 Agent가 아이를 재우는 목적을 지녔다..