AI/AI Info (13) 썸네일형 리스트형 Attention Mechanism: 딥러닝이 ‘중요한 정보’에 집중하는 방법 🎯 Attention이 왜 필요한가?RNN이나 CNN 기반 모델은 입력을 처리할 때 고정된 창(sliding window) 혹은 순차 구조에 의존합니다.하지만 실제 데이터(예: 문장)에서는 특정 단어가 멀리 떨어져 있어도 서로 강하게 연관되어 있는 경우가 많습니다.예: “The cat, which was sitting on the mat, was black.”여기서 “cat”과 “was black” 사이의 거리는 멀지만 의미적으로 연결돼 있습니다.Attention Mechanism은 이런 문제를 해결합니다.모델이 모든 입력을 동시에 바라보며, 어떤 부분에 집중할지 동적으로 판단할 수 있게 해줍니다.🧠 기본 아이디어Attention은 입력의 각 토큰(단어)이 다른 모든 토큰을 참조할 수 있도록 만듭니다.. Layer Normalization: 배치가 아니라, ‘특정 샘플’을 정규화한다 🧠 왜 BatchNorm이 아닌 LayerNorm일까?Batch Normalization은 한 번에 여러 샘플(batch)을 기준으로 평균과 분산을 계산합니다.하지만 다음과 같은 경우에는 문제가 생깁니다:배치 크기가 작거나 1인 경우RNN이나 Transformer처럼 시간 순서나 포지션별 독립성이 중요한 경우이럴 땐, 한 샘플 내의 특징(feature)들을 기준으로 정규화하는Layer Normalization이 더 적합합니다.🔍 LayerNorm의 원리BatchNorm:→ “같은 위치, 다른 샘플끼리” 평균과 분산LayerNorm:→ “같은 샘플 내, 모든 특징들끼리” 평균과 분산수식:x̂ = (x - μ) / √(σ² + ε)y = γ * x̂ + βμ, σ²: 입력 벡터 x의 feature 단위 .. Residual Connection: 깊은 네트워크도 뚫고 가는 잔차의 힘 🧱 깊은 네트워크, 왜 학습이 안 되는가?우리는 "더 깊은 모델 = 더 좋은 성능"이라고 알고 있지만,일정 수준 이상 깊은 네트워크는 오히려 성능이 떨어지는 현상이 자주 발생합니다.이 문제의 핵심 원인은 기울기 소실 (Vanishing Gradient) 또는정보 흐름의 단절 때문입니다.🔄 Residual Connection의 등장2015년, 마이크로소프트가 발표한 ResNet(Deep Residual Network)은“깊게 쌓되, 이전 레이어의 출력을 우회해서 더해주는 구조”를 제안했습니다.수식 표현:y = F(x) + x x: 입력 (이전 층의 출력)F(x): 현재 레이어의 학습 대상 (잔차)y: 최종 출력즉, 모델은 입력을 그대로 유지하면서추가적으로 어떤 값을 더할지만 학습하면 됩니다.🧠 핵심 .. Gradient Clipping: 기울기 폭주를 막는 딥러닝의 안전장치 ⚠️ Gradient가 폭발한다고?딥러닝 모델을 학습하다 보면 특정 조건에서 역전파(Backpropagation) 시기울기(gradient)의 크기가 기하급수적으로 커지는 현상이 발생할 수 있습니다.이를 **Gradient Explosion(기울기 폭발)**이라고 합니다.특히 RNN, LSTM, GAN 등에서 매우 자주 발생하며,발생하면 Loss가 NaN으로 터지고 모델이 망가집니다.🧠 왜 이런 일이 생길까?기울기가 레이어를 거치며 연속적으로 곱해지기 때문입니다.→ 깊거나 순환적인 구조에서 가중치가 큰 값일 경우,backward 시 ∇L이 계속 커지며 무한대 수준까지 치솟을 수 있음🛡️ 해결 방법: Gradient ClippingGradient Clipping은 기울기의 크기를 특정 임계값 이하로 자.. Weight Initialization: 시작이 엉키면 끝도 엉킨다 🎯 왜 초기화가 중요한가?딥러닝 모델은 학습을 시작하기 전 모든 가중치를 무작위로 초기화합니다.이 시작점이 너무 작거나 너무 크면 학습이 비효율적이거나 아예 실패할 수 있습니다.똑같은 모델, 똑같은 데이터라도가중치 초기값에 따라 성능이 크게 달라지는 경우가 많습니다.⚠️ 잘못된 초기화가 초래하는 문제Vanishing Gradient (기울기 소실)작은 값으로 초기화하면, 역전파 시 gradient가 계속 작아져 → 학습 불가Exploding Gradient (기울기 폭발)너무 큰 값으로 초기화하면 gradient가 점점 커져 → 발산Symmetry Breaking 실패모든 가중치를 0 또는 같은 값으로 초기화하면,각 뉴런이 같은 학습을 반복 → 비효율적⚙️ 주요 초기화 전략초기화 방법설명사용 시점Ran.. Activation Function: 딥러닝을 ‘딥’하게 만드는 비선형의 힘 ❓ 활성 함수가 뭐길래 그렇게 중요할까?딥러닝 모델에서 각 뉴런의 출력은 단순히 z = W·x + b 같은 선형 연산으로 계산됩니다.하지만 이 선형만으로는 복잡한 패턴을 학습할 수 없습니다.Activation Function은 이 선형 결과에 비선형 변환을 적용해서신경망이 비선형 함수를 근사할 수 있게 해주는 핵심 도구입니다.🧠 왜 ‘비선형’이 필요한가?선형 함수는 아무리 겹쳐도 결국 하나의 선형 함수일 뿐입니다.즉, 아무리 많은 층을 쌓아도 선형 활성 함수만 쓰면 딥러닝이 작동하지 않습니다.비선형 함수가 들어가야 비로소 모델이 구부러진 경계, 복잡한 함수를 배울 수 있습니다.⚙️ 대표적인 Activation Function함수수식특징ReLUmax(0, x)단순하고 빠름, 현재 가장 널리 쓰임Sigmo.. Batch Normalization이란? 딥러닝 학습의 가속 페달 🚧 딥러닝 학습의 숨겨진 적: 내부 공변량 변화모델이 학습 중일 때, 각 층의 입력 분포가 계속 바뀌는 문제를 **Internal Covariate Shift(내부 공변량 변화)**라고 합니다.앞 층의 가중치가 바뀌면 → 뒷 층의 입력 분포도 바뀌고 → 뒷 층 학습이 불안정해짐이 문제는 학습을 느리게 만들고, 최적화도 어렵게 합니다.Batch Normalization은 이 문제를 해결하기 위해 등장했습니다.🧪 Batch Normalization의 핵심 아이디어각 배치마다 입력값의 평균과 분산을 계산하여 정규화합니다:x_norm = (x - μ_B) / √(σ²_B + ε) 여기에 다시 학습 가능한 γ, β를 곱하고 더해: y = γ * x_norm + β μ_B, σ²_B: 미니배치의 평균, 분산γ,.. Regularization이란? 모델이 ‘적당히’ 똑똑해지게 만드는 기술 🧠 Regularization: 학습을 '덜 잘하게' 해서 일반화를 돕는다?Regularization(정규화)은 모델이 학습을 너무 잘해서 생기는 **과적합(overfitting)**을 막기 위한 기술입니다.모델이 훈련 데이터를 “완벽하게 외우지 않도록”약간의 제약을 주어 일반화 능력을 높이는 방식입니다.⚙️ 왜 필요한가?Neural Network는 강력한 표현력을 가진 함수 근사기입니다.하지만 이 말은 곧 노이즈까지 외우기 쉬운 구조라는 의미이기도 합니다.예: 훈련 데이터에 있는 이상치나 패턴 없는 샘플까지 맞추려는 경향이런 현상이 바로 과적합이며, 이를 방지하려면 모델에 "제한"이 필요합니다.🧰 주요 Regularization 기법1. L2 Regularization (Weight Decay)모델.. 이전 1 2 다음