반응형

전체 글 96

사전 학습 ViT는 어디를 보는가 — 어텐션 거리로 찾은 국소 헤드

직전 ViT 글에서는 CIFAR-10으로 직접 학습시킨 소형 ViT를 해부했습니다. 패치 임베딩과 위치 임베딩이 무엇을 배우는지 확인했고, 마지막 절에서는 학습이 끝난 모델이 이미지의 어느 범위를 보는지 평균 어텐션 거리와 엔트로피로 재 봤습니다. 그런데 한 가지가 원 논문과 어긋났습니다. 원 논문은 대규모로 사전 학습한 ViT의 낮은 층에 쿼리 주변만 보는 헤드와 이미지 대부분을 보는 헤드가 함께 있다고 보고했지만, 소형 모델의 헤드 18개는 모두 "모든 패치를 똑같이 볼 때"의 평균 거리 근처에 머물렀습니다. 헤드를 12개로 늘려 다시 학습해도 국소 헤드는 나타나지 않았습니다.그 실험으로 원인 후보 가운데 헤드 수는 지웠고, 패치 수와 입력 해상도, 학습 데이터 규모 세 가지가 남았습니다. 이번 글에..

ViT (Vision Transformer) — 이미지를 단어처럼 처리하는 딥러닝의 진화

지난 시간까지 우리는 CNN을 비롯하여 RNN, Seq2Seq, Attention, 그리고 자연어 처리의 패러다임을 바꾼 Transformer까지 딥러닝의 핵심 아키텍처들을 단계별로 살펴보았습니다. 자연어 처리 분야에서 Transformer가 거둔 압도적인 성공은 많은 연구자들에게 한 가지 흥미로운 질문을 던졌습니다. 텍스트를 처리하는 이 강력한 구조를 컴퓨터 비전 분야에도 그대로 적용할 수 없을까 하는 의문이었습니다.CNN 편에서 다룬 합성곱은 이미지에 관한 몇 가지 가정을 연산 구조 자체에 새겨 넣은 도구입니다. 가까운 픽셀끼리 관계가 깊다는 가정, 그리고 같은 무늬는 이미지의 어느 위치에 있어도 같은 필터로 잡아낼 수 있다는 가정입니다. 이 가정들이 대체로 맞기 때문에 합성곱은 30년 가까이 이미지..

GPT와 BERT는 어디서 갈라졌을까 — Transformer 계보

앞 글에서 만든 모델을 다시 떠올려 보겠습니다. 6층짜리 블록을 쌓고, 어텐션에 causal 마스크를 걸고, 다음 문자를 맞히게 학습시켰습니다. 잘 돌아갔고, 생성한 문장도 문법 검사기를 통과했습니다.그런데 그 모델은 원 논문의 구조에서 꽤 많은 것을 떼어 낸 것입니다. 원 논문의 Transformer는 번역기였습니다. 원문을 읽는 인코더와 번역문을 쓰는 디코더가 짝을 이루고, 그 둘을 교차 어텐션이 이어 주는 구조였습니다. 앞 글의 모델에는 인코더가 없고 교차 어텐션도 없습니다. 절반만 남긴 셈인데도 문장이 만들어졌습니다.이상한 일이 아닙니다. 오늘날 이름이 알려진 모델들도 사정이 비슷합니다. GPT는 디코더 쪽만 남겼고, BERT는 인코더 쪽만 남겼고, T5는 둘 다 남겼습니다. 셋 다 같은 블록을 ..

01. Python으로 배우는 Adaptive Signal Processing - 전체 커리큘럼

안녕하세요. 새롭게 연재를 시작하는 「Python으로 배우는 Adaptive Signal Processing」 시리즈에 오신 것을 환영합니다. 본 시리즈에서는 변화하는 신호와 환경에 맞춰 스스로 계수를 고쳐 나가는 알고리즘, Adaptive Signal Processing(적응 신호 처리)을 Python으로 직접 구현하며 배워 보고자 합니다.왜 지금 Adaptive Signal Processing인가?대학의 DSP 수업에서 다루는 필터는 대부분 설계가 끝나는 순간 계수가 고정됩니다. 저역 통과 필터든 노치 필터든, 신호와 잡음의 특성을 미리 알고 있다는 전제 위에서 설계하기 때문입니다. 그런데 현실의 신호는 이 전제를 자주 깨뜨립니다. 화상회의 중 사람이 자리를 옮기면 스피커에서 마이크로 되돌아오는 에코..

📖 Python으로 배우는 Adaptive Signal Processing: 시리즈 전체 참고문헌

본 페이지는 [Python으로 배우는 Adaptive Signal Processing] 시리즈 전 편에서 참고한 문헌을 주제별로 정리한 것입니다. 시리즈 본문에서 직접 근거로 삼은 문헌만 수록하였으며, 개념 소개 수준으로 언급한 주제의 문헌은 제외하였습니다. 시리즈가 연재되는 동안 각 편이 발행될 때마다 해당 편의 문헌을 추가합니다.상당수 논문은 IEEE, Wiley 등 학술 데이터베이스를 통해 제공되며, 소속 기관의 구독 여부에 따라 접근 범위가 다를 수 있습니다. 무료로 공개된 자료에는 링크를 함께 표기하였습니다. 1. 교과서 및 종합 문헌Haykin, S. (2013).Adaptive Filter Theory (5th ed.). Pearson.Sayed, A. H. (2008).Adaptive Fi..

📖 참고문헌 2026.10.05

Transformer 학습 가이드: BPE와 워밍업부터 KV 캐시까지

Transformer 편에서는 Self-attention부터 인코더·디코더 블록까지 부품을 하나씩 뜯어봤습니다. 그런데 그 글에는 빠진 것이 하나 있습니다. 학습된 모델이 한 번도 등장하지 않았다는 점입니다. 어텐션 가중치를 손으로 계산해 보고, 스케일링을 빼면 분포가 어떻게 무너지는지 확인하고, 블록을 쌓았을 때 기울기가 어떻게 전달되는지까지 봤지만, 그 모든 실험의 가중치는 무작위였거나 초기화 직후 상태였습니다.부품을 다 만들었으니 이제 돌려 볼 차례입니다. 이 글에서는 실제로 동작하는 언어 모델 하나를 처음부터 끝까지 만들어 봅니다. 입력을 토큰으로 쪼개는 일에서 시작해, 학습이 무너지지 않게 붙잡아 주는 장치들을 살펴보고, 학습이 끝난 모델의 어텐션이 실제로 무엇을 보고 있는지 재 본 다음, 그 ..

패러다임을 바꾼 트랜스포머(Transformer): Self-Attention부터 인코더-디코더까지

지난 글에서 어텐션을 다루면서, 디코더가 매 시점 원문 전체를 훑어보고 필요한 곳에 가중치를 몰아주는 과정을 살펴보았습니다. 고정 길이 벡터 하나에 문장을 밀어 넣던 seq2seq의 병목이 사라졌고, 학습된 정렬 행렬도 눈으로 확인했습니다.그런데 그 구조에는 어색한 구석이 남아 있었습니다. 어텐션은 문장의 어느 위치든 한 번에 접근할 수 있는데, 정작 그 어텐션이 얹혀 있는 토대는 여전히 RNN이었습니다. RNN은 t번째 은닉 상태를 계산하려면 t-1번째를 먼저 알아야 합니다. 문장이 길어지면 그만큼 순서대로 기다려야 하고, GPU가 아무리 많은 연산을 동시에 처리할 수 있어도 이 사슬은 풀리지 않습니다. 어텐션이 성능을 끌어올릴수록 "그럼 밑에 깔린 순환은 왜 필요한가"라는 질문이 선명해졌습니다.201..

어텐션(Attention) 메커니즘의 원리: Query·Key·Value와 정렬 행렬

이전 강의들에서 우리는 CNN, RNN 그리고 Seq2Seq 모델에 이르기까지 딥러닝이 이미지와 시계열 데이터를 다루는 발전 과정을 순차적으로 살펴보았습니다. 특히 Seq2Seq 모델은 기계 번역과 같은 분야에서 훌륭한 성과를 보여주었습니다. 다만 지난 글 말미에 한 가지 질문을 남겨두었습니다. 인코더는 소스 문장을 끝까지 읽어 벡터 하나로 압축하고, 디코더는 그 벡터 하나만 보고 번역문을 만들어 냅니다. 그런데 문장이 열 단어일 때나 쉰 단어일 때나 그 벡터의 크기는 똑같습니다. 이래도 괜찮을까요.동시통역사를 떠올려 보면 이 설계가 얼마나 가혹한지 짐작할 수 있습니다. 연사가 긴 문장을 말하는 동안 통역사가 받아 적을 수 있는 것이 메모지 한 줄뿐이고, 말이 끝나는 순간 메모지를 덮은 뒤 그 한 줄에 ..

Seq2Seq: 인코더–디코더로 길이가 다른 시퀀스를 잇다

이전 포스팅에서 우리는 순차적인 데이터를 처리하는 데 특화된 신경망인 RNN에 대해 자세히 알아보았습니다. RNN은 시계열 데이터나 자연어 처리에서 훌륭한 성능을 보여주지만, 입력 시퀀스와 출력 시퀀스의 길이가 다를 때 적용하기 까다롭다는 구조적인 한계를 가지고 있습니다.영어 문장 "I read a book"은 네 단어이지만, 우리말로 옮기면 "나는 책을 읽었다"로 세 어절입니다. 입력 토큰 하나마다 출력 토큰 하나를 내놓는 구조로는 이 대응을 만들 수 없습니다. 길이만 문제인 것도 아닙니다. 영어의 동사 read는 두 번째 자리에 오지만 우리말의 '읽었다'는 문장 맨 끝에 옵니다. 어느 입력이 어느 출력에 대응하는지가 미리 정해져 있지 않고, 그 대응을 알아내는 일 자체가 번역의 일부입니다.2014년에..

RNN이 오래 기억하지 못하는 이유: 기울기 소실과 LSTM·GRU

지난 글에서는 CNN이 이미지의 공간 구조를 어떻게 다루는지 살펴보았습니다. 커널을 이미지 위로 미끄러뜨리며 국소 패턴을 잡아내고, 같은 커널을 모든 위치에서 재사용해 파라미터를 아끼는 방식이었습니다.그런데 우리가 다루는 신호 중에는 이미지처럼 한눈에 펼쳐 놓을 수 없는 것들이 많습니다. 음성은 시간에 따라 흘러가고, 문장은 앞에서 뒤로 읽히며, 센서 데이터는 계속 쌓입니다. 이런 데이터에는 CNN이 곧바로 대응하기 어려운 두 가지 성질이 있습니다.첫째, 순서가 의미를 바꿉니다. "철수가 영희를 불렀다"와 "영희가 철수를 불렀다"는 완전히 같은 단어들로 이루어져 있지만 뜻이 정반대입니다. 단어들을 그저 모아서 평균을 내는 방식으로는 이 차이를 절대 구분할 수 없습니다.둘째, 길이가 제각각입니다. 어떤 문..

반응형