분류 전체보기 47

Confusion Matrix를 왜 사용할까? Accuracy의 함정을 숫자 5 분류로 이해하기

분류 모델을 만들고 Accuracy가 98%라는 결과를 얻었다고 하자. 이 모델은 정말 좋은 모델일까?반드시 그렇지는 않다. 전체 데이터의 99%가 정상이고 1%만 이상인 상황에서 모든 데이터를 정상이라고 예측해도 Accuracy는 99%다. 하지만 이 모델은 실제 이상 사례를 단 한 건도 찾지 못한다.이처럼 몇 개를 맞혔는가뿐 아니라 무엇을 어떻게 틀렸는가를 확인하기 위해 사용하는 표가 Confusion Matrix다.Confusion Matrix를 왜 사용하는가?TN, FP, FN, TP는 어떻게 구분하는가?Accuracy, Precision, Recall, Specificity, F1 Score는 무엇이 다른가?Decision Threshold를 바꾸면 왜 Precision과 Recall이 달라지는..

ML 2026.09.04

# 머신러닝 1편: 선형회귀, SSE·SST·SSR·R²와 경사하강법

머신러닝에서 가장 먼저 배우는 모델 중 하나가 선형회귀입니다. 선형회귀는 단순히 직선을 하나 긋는 방법처럼 보이지만, 그 안에는 다음과 같은 중요한 개념이 모두 들어 있습니다.예측값과 실제값의 차이잔차와 제곱오차SSE, SST, SSRR²와 기준 모델최소제곱법목적함수와 gradient경사하강법이번 글에서는 “왜 평균이 회귀의 기준이 되는가?”라는 질문에서 출발해 선형회귀가 오차를 어떻게 줄이는지까지 한 번에 연결해 보겠습니다.1. 선형회귀란 무엇인가?입력 x와 정답 y의 관계를 직선으로 설명한다고 해보겠습니다.가장 간단한 단순 선형회귀 모델은 다음과 같습니다.y_hat = w x + b여기서 각각의 의미는 다음과 같습니다.x = 입력 변수y = 실제 정답y_hat = 모델의 예측값w ..

ML 2026.09.04

4. Self-Attention과 Transformer Encoder 완전 정복

Self-Attention의 목적은 각 토큰이 문장 안의 다른 토큰을 참고해 새로운 표현을 만드는 것이다. 같은 단어라도 주변 문맥에 따라 의미가 달라지는데, 그 관계를 계산하는 세 역할이 Query, Key, Value다. Query와 Key의 Score에서 Value의 Weighted Sum까지 이어지는 Attention 계산1. Query, Key, Value의 역할입력 행렬 X에 서로 다른 학습 가중치를 곱해 세 행렬을 만든다.Q = XW_QK = XW_KV = XW_VQuery (Q): 현재 토큰이 찾고 싶은 정보Key (K): 각 토큰이 가진 정보의 표지Value (V): 실제로 가져와 섞을 내용Query와 모든 Key의 내적은 관련도 점수가 된다. 점수가 클수록 해당 Value를 더 많이 반..

DL/Transformer 2026.09.01

5. Transformer Decoder부터 PPL·BLEU까지 - 학습, 추론, 평가 한 번에 정리

Encoder가 입력 문장을 문맥화된 표현으로 바꾸면 Decoder는 이를 참고해 출력 토큰을 한 개씩 만든다. 학습 중에는 정답 문장을 알고 있지만 추론 중에는 미래 단어를 볼 수 없다. Transformer Decoder의 설계는 이 차이를 정확히 통제한다.Causal Mask와 Cross-Attention을 거쳐 Next Token을 생성하는 Transformer Decoder1. Masked Multi-Head Self-AttentionDecoder의 첫 블록은 Masked Multi-Head Self-Attention이다. 각 위치는 자신과 그 이전 토큰만 볼 수 있고 미래 토큰은 볼 수 없다.Attention Score 행렬에서 미래 위치에 매우 작은 값, 실무에서는 보통 -∞에 해당하는 값을..

DL/Transformer 2026.09.01

3. Transformer의 입력 설계 - Token Embedding과 Positional Encoding

Transformer는 RNN처럼 토큰을 한 개씩 읽지 않는다. 문장 전체를 동시에 처리한다. 병렬화에는 유리하지만, 순서를 알려 주는 장치가 없다면 “아니 다 오르는데 왜 테슬라만 떨어져?”와 “아니 테슬라 오르는데 왜 다 떨어져?”를 구분하기 어렵다. Transformer 입력은 Token Embedding과 Positional Information의 합으로 이 문제를 해결한다.Token Embedding과 Positional Encoding을 더해 Transformer 입력을 만드는 과정1. One-hot Vector에서 Token Embedding으로어휘 수가 7,851개라면 각 토큰은 길이 7,851의 One-hot Vector로 표현할 수 있다. 하지만 대부분의 값이 0이고, 단어 사이의 의미..

DL/Transformer 2026.09.01

2. Seq2Seq의 병목에서 Attention까지 - 왜 문장 전체를 한 벡터에 담으면 안 될까?

기계 번역은 입력 문장과 출력 문장의 길이가 다를 수 있다. 이를 위해 Sequence-to-Sequence (Seq2Seq)는 입력을 읽는 Encoder와 번역문을 생성하는 Decoder를 분리했다. 좋은 출발이었지만, 긴 문장을 하나의 벡터로 압축한다는 결정이 곧 병목이 되었다.Fixed Context의 정보 병목과 Attention의 Dynamic Context 비교1. Seq2Seq의 기본 구조Encoder RNN은 입력 토큰을 순서대로 읽고 마지막 Hidden State를 만든다. 이 벡터가 입력 문장 전체를 대표하는 Context Vector다. Decoder RNN은 Context Vector를 초기 상태로 받아 부터 한 단어씩 생성하고 에서 멈춘다.입력: 저는 / 강사 / 입니다 ..

DL/Transformer 2026.09.01

1. RNN은 순서를 어떻게 기억할까? - 순차 데이터에서 구조적 한계까지

문장을 숫자 벡터로 바꿨다고 해서 컴퓨터가 곧바로 문맥을 이해하는 것은 아니다. “저는 강사입니다”를 구성하는 단어는 서로 독립적이지 않고, 앞의 단어가 뒤의 단어 해석에 영향을 준다. 이런 Sequential Data를 다루기 위해 등장한 대표 구조가 Recurrent Neural Network (RNN)다.RNN이 Hidden State를 통해 순서 정보를 전달하는 구조1. 왜 일반 MLP만으로는 순서를 다루기 어려울까?각 단어를 One-hot Encoding으로 표현하고 독립적인 Multi-Layer Perceptron (MLP)에 넣으면, 모델은 현재 입력만 본다. “저는 → 강사 → 입니다”라는 순서가 사라지고 단어 세 개가 따로 처리된다.RNN의 핵심은 이전 시점의 정보가 다음 시점으로 이어지..

DL/Transformer 2026.09.01

5. MobileNet V1-V3와 EfficientNet - 정확도와 효율을 함께 설계하는 법

높은 정확도만큼 중요한 것이 연산량, 파라미터 수, 메모리, 실제 지연 시간이다. MobileNet 계열은 모바일 환경을 위한 효율적인 Convolution Block을 발전시켰고, EfficientNet은 모델의 Depth·Width·Resolution을 균형 있게 키우는 방법을 제안했다.Standard Convolution, Depthwise Separable Convolution, Inverted Residual 비교모바일 모델을 이해할 때는 “정확도를 조금 희생해 가볍게 만들었다”는 한 줄에서 멈추면 안 된다. 어떤 연산을 분리했고, 정보 손실을 어디서 막았으며, 실제 Hardware Latency를 어떻게 반영했는지가 핵심이다.1. MobileNet V1: Depthwise Separable C..

DL/CNN 2026.09.01

4. WideResNet·ResNeXt·DenseNet·SE-Net - 깊이 다음의 네 가지 질문

ResNet 이후 연구는 “무조건 더 깊게”라는 한 축에서 벗어나기 시작했다. 얼마나 넓게 만들 것인가, Branch 수를 얼마나 늘릴 것인가, 이전 Feature를 어떻게 재사용할 것인가, Channel별 중요도를 어떻게 조절할 것인가가 새로운 설계 축이 되었다. Width, Cardinality, Connectivity, Channel Attention의 네 가지 설계 축이 네 모델은 문제의식을 공유하지만 해결 방식은 다르다. WideResNet은 Width, ResNeXt는 Cardinality, DenseNet은 Connectivity, SE-Net은 Channel Recalibration을 중심 변수로 삼는다.1. WideResNet: Depth보다 WidthWide Residual Networ..

DL/CNN 2026.09.01

2. Inception Net V1-V3 - 여러 크기의 특징을 한 번에 보는 네트워크

이미지 속 대상은 크기가 제각각이다. 어떤 패턴은 1×1, 어떤 패턴은 3×3, 또 어떤 패턴은 5×5 범위에서 잘 포착된다. Inception Network는 어느 Kernel 크기가 정답인지 하나만 고르지 않고, 여러 연산을 병렬로 수행한 뒤 결과를 합친다.1×1 Bottleneck과 Multi-scale Branch로 구성된 Inception Module1. Inception Module의 출발점초기 아이디어는 다음 Branch를 같은 입력에 병렬 적용하는 것이다.1×1 Convolution3×3 Convolution5×5 Convolution3×3 Max Pooling각 Branch의 출력은 공간 크기를 같게 맞춘 뒤 Channel 방향으로 Concatenation한다. 서로 다른 Receptiv..

DL/CNN 2026.09.01