반응형

전체 글 95

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이 곧바로 대응하기 어려운 두 가지 성질이 있습니다.첫째, 순서가 의미를 바꿉니다. "철수가 영희를 불렀다"와 "영희가 철수를 불렀다"는 완전히 같은 단어들로 이루어져 있지만 뜻이 정반대입니다. 단어들을 그저 모아서 평균을 내는 방식으로는 이 차이를 절대 구분할 수 없습니다.둘째, 길이가 제각각입니다. 어떤 문..

CNN: 학습되는 2차원 FIR 필터 — 컨볼루션 신경망의 커널과 텐서 Shape

이미지 인식 분야에서 딥러닝이 급격하게 발전할 수 있었던 배경에는 여러 가지 요소가 있지만, 그 중심에는 Convolutional Neural Network(CNN)가 있었습니다. CNN은 단순히 이미지에 Convolution 연산을 적용하는 신경망을 의미하지 않습니다. 핵심은 이미지가 가진 공간적 구조(Spatial Structure)를 신경망의 구조 자체에 반영하고, 동일한 필터를 이미지 전체에 공유하면서 필요한 특징을 계층적으로 학습한다는 데 있습니다.오늘날에는 Vision Transformer(ViT)와 같은 Transformer 기반 모델이 컴퓨터 비전의 중요한 축을 이루고 있지만, CNN이 만들어 놓은 구조적 아이디어는 여전히 중요합니다. 실제로 현대의 비전 모델에서도 Convolution은 ..

반응형