inflearn logo
강의

Course

Instructor

From the concept of the latest deep learning technology Vision Transformer to Pytorch implementation

Vision Transformer - Latest Model

행렬 차원 수 질문

Resolved

315

tksqhddnfl54599

1 asked

0

안녕하세요.

'비전 트랜스포머-최신 모델' 강의 11:36 근처 슬라이드를 기준으로 질문드리겠습니다. (사실 그 이후부터 계속 지속적으로 차원 혼동이 있는 것 같아서, 하나를 기준삼아서 질문드리면 나머지가 저절로 해결될 것 같습니다.)

 

p=(size of patch)로 정의를 하고 사진을 N개로 쪼갠다고 가정했을 때, 그것을 flatten시켜준 각각의 벡터들, (x_{p}^{i}, i=1,...,N)이라고 가정했을 때, 해당 벡터는 P^2*C 차원의 벡터들이 되는 거잖아요? 그렇다면, 그 N개의 벡터들을 concatenate하여 행렬 x_p를 구축했을 때, 그 차원은 (P^2*C) by N이 되어야 하는게 아닌가요? 이 이후부터 슬라이드에서는 가로와 세로가 뒤바뀌어 있는 것 같은데 뭐 실전에서는 transpose하면 되는 문제긴 하지만 나름대로 엄청나게 궁금해져서 질문을 드려봅니다. 설명을 해주신거나 그림을 그려주시는 것은 모두 x_{p}^{i}가 열벡터이고 concatenate를 하실 때 row-wise가 아니라 column-wise로 합치신 것 같아서 그렇게 생각이 들었습니다.

딥러닝 pytorch 컴퓨터-비전 vision-transformer

Answer 1

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
호몰로지와코호몰로지님 질문에 답변드리겠습니다.

강의에서 설명하는 ‘비전 트랜스포머-최신 모델’에 대한 부분에서 x{p}^{i} 벡터들의 차원을 언급하셨군요. 말씀하신대로 이미지를 N개의 패치로 나누어 각 패치를 벡터로 표현하는 과정에서 p는 패치의 크기를 나타냅니다. 각 패치를 flatten하여 얻은 벡터인 x{p}^{i}는 P^2C 차원의 벡터가 맞습니다. 이 벡터들을 concatenate할 때 구성하는 행렬 x_p의 차원은 일반적으로 N by (P^2*C)가 되어야 합니다.

여기서 N은 패치의 개수로, 행렬의 각 행에 해당하는 것이고, P^2*C는 각 패치를 벡터화했을 때의 차원으로, 행렬의 각 열에 해당합니다. 따라서 행렬의 차원은 N개의 행이 있고, 각 행은 P^2*C 차원의 데이터를 갖게 됩니다.

슬라이드나 강의 내용에서 표현의 방식이 혼란을 준 것 같습니다. 실제 구현에서는 행렬을 전치(transpose)하는 등의 방법으로 필요에 따라 구조를 조정할 수 있지만, 이론적 설명에서는 축의 순서가 변하지 않고 일관되게 유지되어야 합니다.

강의 해석에 혼란이 있으셨다면 관련 강의자료나 이미지를 참고하여 더 명확한 이해를 도울 수 있습니다. 만약 그림이나 설명이 여전히 명확하지 않다면, 차원이나 행렬의 구성에 대한 정확한 설명을 강사님에게 직접 문의해 보시는 것도 좋은 방법입니다.

추가로 궁금한 점이나 이해가 되지 않는 부분이 있으시면 언제든지 문의해주시길 바랍니다.

0

tksqhddnfl54599

"행렬의 차원은 N개의 행이 있고, 각 행은 P^2*C 차원의 데이터를 갖게 됩니다." 와 "행렬 x_p의 차원은 일반적으로 N by (P^2*C)가 되어야 합니다."으로부터 궁금한 점이 명쾌하게 해결되었습니다. 설명해주실때 열과 행이 약간 혼동이 있으신 것 같다고 생각하면 될 것 같군요. 답변에 감사드립니다.

mean attention distance

0

199

2

안녕하세요, vit에 관심이 많은 사람입니다.

1

233

1

positional embedding 학습이 잘 안되는 문제

1

365

1

Self Attention 질문 있습니다.

0

325

1

Multi-Head Attention 모델 구조에서 궁금한게 있습니다.

0

555

1

전처리 관련해서 질문이 있습니다

1

362

1

답변에 대한 추가질문이 있습니다.

1

301

1

헷갈리는게 몇개 있습니다ㅠㅠ

1

375

1

Positional Encoding, KQV 질문입니다!

2

623

1

강의 자료 슬라이드

0

738

2

비전 트랜스포머 - 최신 모델 강의에서 positional embedding

2

468

1

비전 트랜스포머 - 최신 모델' 강의에서 B*N*K 와 1*K*D 를 연산

1

401

1

'어텐션 기법 - 키, 쿼리, 밸류는 무엇인가?' 강의에서 (QK^T)

1

717

1

training

1

288

1

Image가 입력일 때 Cross Attention 결과가 궁금합니다.

0

889

1

Transformer의 input에 대해 질문드립니다.

1

415

1

ViT에 대한 전반적인 질문 드립니다!

1

394

1

Key query value관련 질문

1

567

2

Fine tuning 관련하여 질문 드립니다.

1

647

1

코드 질문

1

316

1

Dh의 의미

1

308

1

scheduler관련 질문드립니다.

2

276

1

E, Epos

0

304

1

key의 차원으로 정규화

0

167

1