전체 글 16

7. Transformer

아래의 내용은 클로드 코드로 작성한 내용입니다.정리 노트RNN의 순차 처리 한계(병렬화 불가, 장거리 의존성 소실)를 극복하기 위해 제안된 아키텍처.문장 전체를 한번에 보고 단어 간 관계를 직접 계산하는 Attention 메커니즘이 핵심이다.BERT, GPT, LLaMA 등 현대 LLM의 기반 구조이며, 지금까지 공부한 ReLU/GELU, Layer Norm,Residual Connection, Dropout, AdamW가 모두 Transformer 안에서 사용된다. --- 왜 Transformer가 필요했나 — RNN의 한계Transformer 이전엔 NLP에 RNN(순환 신경망)을 사용했다. ```"나는 어제 서울에서 밥을 먹었다"RNN: 나는 → 어제 → 서울에서 → 밥을 → 먹었다 순..

딥러닝 정리 2026.04.01

6. Regularization (정규화)

아래의 내용은 클로드 코드를 이용해 작성한 내용입니다.정리 노트모델이 학습 데이터에 과도하게 맞춰져 새로운 데이터에서 성능이 떨어지는 과적합(Overfitting)을 방지하는 기법들이다.Dropout으로 뉴런 의존성을 끊고, Weight Decay로 가중치 크기를 억제하며, Early Stopping으로 학습 시점을 제어한다.Transformer 계열에서는 DropPath, Label Smoothing 등 구조에 맞는 기법이 추가로 사용된다.과적합(Overfitting)이란underfitting 적절한 학습 overfitting | | |모델이 너무 단순 train/val 모두 좋음 train은 좋은데 val이 나쁨(학습도 ..

딥러닝 정리 2026.04.01

5. Gradient Vanishing & 해결책

아래의 내용은 클로드 코드를 이용해 작성한 내용입니다.정리 노트역전파에서 연쇄 법칙으로 gradient를 곱해나갈 때, 값이 1보다 작은 경우 레이어가 깊어질수록 gradient가 0에 수렴한다. 앞쪽(입력층 근처) 레이어일수록 더 많이 곱해지므로 피해가 크고, 결국 앞쪽 레이어의 가중치가 거의 업데이트되지 않는다. ReLU, Layer Normalization, Residual Connection으로 완화한다.세 가지 해결책은 각자 다른 문제를 담당한다:Residual Connection = 보장 통로. gradient가 앞쪽 레이어까지 끝까지 전달되는 고속도로 역할ReLU = 레이어 안에서 값이 죽지 않게. 활성함수 자체로 gradient 소실 방지Layer Norm = 레이어 안에서 분포가 극단으로..

딥러닝 정리 2026.04.01

4. Optimizer (최적화 알고리즘)

아래의 내용은 클로드 코드를 이용해 작성한 내용입니다.정리 노트Optimizer는 loss를 줄이는 방향으로 파라미터를 업데이트하는 알고리즘이다.SGD가 기본이지만 learning rate 민감성, local minimum, 파라미터별 스케일 차이 문제가 있어Momentum → RMSProp → Adam → AdamW 순으로 발전했다.현재 LLM 학습 표준은 **AdamW**이며, learning rate scheduler와 함께 사용한다. 기본 공식```θ = θ - α * ∇L(θ)↑ ↑파라미터 gradient × learning rate``` SGD의 문제1. Learning Rate 민감성```너무 크면 → 손실이 발산 (최솟값을 건너뜀)너무 작으면 → 수렴이 극도로 느림``..

딥러닝 정리 2026.04.01

3. Gradient Descent (경사 하강법)

아래의 내용은 클로드 코드를 이용해 작성한 내용입니다.한 줄 정의손실함수의 기울기(gradient)를 미분으로 계산해, 손실이 줄어드는 방향으로 파라미터를 반복 업데이트하는 최적화 알고리즘.핵심 개념손실함수(Loss Function): 모델의 예측이 얼마나 틀렸는지 측정하는 함수. 이 값을 최소화하는 게 목표Gradient: 손실함수를 각 파라미터로 편미분한 값. "지금 이 지점에서 어느 방향이 가장 가파른가"Learning Rate (α): 한 번에 얼마나 이동할지 결정하는 하이퍼파라미터파라미터 업데이트 공식: θ = θ - α * ∇L(θ)동작 원리파라미터 초기화 (랜덤 or 특정 방법)현재 파라미터로 손실(Loss) 계산손실함수를 각 파라미터에 대해 미분 → gradient 계산 (역전파로 수행)g..

딥러닝 정리 2026.04.01

2. 활성함수 (Activation Function)

아래의 내용은 클로드 코드를 통해 작성한 내용입니다.정리 노트활성함수가 없으면 레이어를 아무리 많이 쌓아도 결국 하나의 선형 함수와 동일해진다. 활성함수를 레이어 사이에 끼워넣어 선형 합성을 깨뜨림으로써, 모델이 복잡한 비선형 패턴을 학습할 수 있게 된다.한 줄 정의레이어의 출력값에 비선형성을 추가하는 함수. 신경망이 복잡한 패턴을 학습할 수 있게 해준다.왜 필요한가활성함수가 없다면:레이어1: y1 = W1 × x레이어2: y2 = W2 × y1 = W2 × (W1 × x) = (W2 × W1) × x레이어가 몇 개든 결국 W × x 하나로 합쳐짐 → 선형 모델과 동일 → 깊게 쌓는 의미 없음활성함수를 추가하면:레이어1: y1 = activation(W1 × x) ← 비선형 변환레이어2: y2 = a..

딥러닝 정리 2026.04.01

1. 미분 (Derivative) — 딥러닝 관점에서

아래의 내용은 클로드 코드를 통해 작성한 내용입니다.정리 노트Loss를 줄이기 위해 각 파라미터에 대한 편미분이 필요하고, 순전파로 최종 Loss가 구해지면 역전파를 통해 각 레이어의 가중치에 대한 편미분 계산이 가능해진다. 연쇄 법칙을 통해 gradient를 앞 레이어로 전달하며 모든 가중치의 편미분을 구하고, 이를 경사 하강법으로 업데이트해 최적해를 찾아나간다.한 줄 정의함수에서 입력값이 아주 조금 변했을 때 출력값이 얼마나 변하는지를 나타내는 값. "기울기"라고도 한다.핵심 흐름 요약목표: Loss를 최소화하는 파라미터를 찾는 것.특정 파라미터 θ를 미분해 기울기(gradient)를 구한다기울기의 부호(+/-) 로 업데이트 방향을 결정한다 (양수 → 줄임, 음수 → 늘림)기울기의 크기 로 업데이트 ..

딥러닝 정리 2026.04.01

바이브 코딩으로 한 줄도 코딩 안하고 RUST 윈도우 앱 만들어보기

요즘 아무래도 업무에서도 바이브 코딩을 자주 하게 되는데, 문득 내가 아예 모르는 언어, 그리고 나름대로 진입장벽이 있다는 이야기를 듣는 rust로 윈도우 앱을 하나 만들어 보면 어떨까?라는 생각이 들었다. 마침 스케줄러가 하나 있으면 좋겠다고 생각해서 스케줄러 앱을 만들어봤다.Vibe coding Tool: ClaudecodeBackend: rustGUI: taruriFrontend: React 기획, PRD 작성부터 claude랑 얘기를 하면서 아래의 내용을 적용시켜 달라고 얘기했다.- 심리학이나 시간관리 방법론의 이론을 적용해서 좀 더 설득력있고 효과적으로 시간관리를 할 수 있도록 설계- 하루 단위 스케줄러. 월, 주는 고려하지 않음.- 윈도우에서 실행 가능한 앱- 기본적인 Task 추가, 제거 및..

바이브 코딩 2025.11.03

Attention의 q,k,v 개념 및 해석 변화

트랜스포머를 처음 공부 할 때 의아한 것 중 하나가 q, k, v 다. 설명은 있는데 솔직히 직관적으로 잘 와닿지 않는데다가, 코드가 구현된 걸 보면 하나의 같은 입력을 q, k, v 레이어에 통과 시켜서 다른 3개를 만들고 q,k를 내적한 후에 softmax로 가중치로 바꿔 준 후에 스케일링을하고, v랑 내적을 한다. 써있는 게 구현된 건 알겠는데, 왜 이렇게 하는 건지에 대해서 처음에는 이해하기가 어려웠기 때문에 이번에 생각 난 김에 한번 더 정리해 두고자 한다. 여기서 말하는 어텐션은 트랜스포머 이전의 어텐션은 제외하고, 트랜스포머 이후 어텐션을 의미한다. 이 어텐션의 개념도 Attention is All you need에서 처음 제안한 해석과 LLM 위주의 현재 해석은 초기의 해석보다 일부 개념이..

개념 정리 2025.05.03