딥러닝·비정형 데이터 분석
텍스트·이미지·음성 분석을 위한 딥러닝 설계와 검증을 익힌다.
핵심 요약
비정형 데이터는 구조가 없는 데이터가 아니라 행·열만으로 원래 의미를 충분히 보존하기 어려운 데이터다. 텍스트의 토큰 순서, 이미지의 공간적 이웃, 음성의 시간·주파수 구조를 수치 텐서로 표현하고 과업에 맞는 출력과 손실함수를 정한다.
딥러닝의 핵심은 큰 모형 자체가 아니라 표현→예측→손실→역전파→갱신의 학습과정이다. CNN은 지역성과 가중치 공유, RNN은 순차 상태, 어텐션은 위치 간 직접 참조라는 서로 다른 귀납적 편향을 갖는다. 최종 선택은 독립 테스트 성능, 누수 방지, 불균형 지표, 보정, 추론 비용과 배포 후 변화까지 포함한다.
flowchart TD
A["원시 비정형 데이터"] --> B["분할 후 훈련 전용 전처리"]
B --> C["텐서·임베딩"]
C --> D["CNN·RNN·Transformer"]
D --> E["손실과 역전파"]
E --> F["검증 선택·독립 테스트"]
F --> G["배포·드리프트 감시"]
학습 목표
- 비정형 데이터를 텐서·토큰·스펙트로그램으로 표현하는 이유를 설명한다.
- 순전파, 손실 계산, 역전파와 최적화의 순서를 식으로 구분한다.
- 합성곱 출력 크기와 파라미터 수를 계산한다.
- RNN의 순차 상태와 어텐션의 질의·키·값 계산을 비교한다.
- 전이학습·미세조정과 데이터 증강의 적용 조건을 판단한다.
- 그룹 분할과 훈련 전용 전처리로 누수를 예방한다.
- 과업·불균형·오류비용·운영제약에 맞는 평가 방법을 선택한다.
1. 데이터 표현, 출력과 손실
원시 입력은 미니배치 단위의 텐서로 바꾼다. 표현 방식은 모형 이름보다 데이터 생성구조와 과업에 맞아야 한다.
| 데이터 | 대표 입력 | 대표 출력 | 대표 손실·평가 |
|---|---|---|---|
| 텍스트 | 토큰 ID, 임베딩, attention mask | 문서 클래스, 토큰 라벨, 다음 토큰 | 교차엔트로피, macro F1, 과업별 사람 평가 |
| 이미지 | 배치×높이×너비×채널 또는 배치×채널×높이×너비 | 클래스, 경계상자, 픽셀 마스크 | 교차엔트로피, mAP, IoU·Dice |
| 음성 | 파형, log-mel 스펙트로그램 | 음성 클래스, 전사 토큰 | 교차엔트로피, 오류율 |
| 순서열 | 배치×길이×변수 | 미래값, 상태, 이상 점수 | MAE·RMSE, F1·PR-AUC |
분류는 클래스별 점수인 logit을 softmax 또는 sigmoid로 확률화할 수 있다. 단일정답 다중분류는 보통 softmax, 서로 독립적으로 여러 라벨이 가능한 다중라벨 분류는 라벨별 sigmoid를 사용한다. 회귀·생성·순위 과업에는 출력과 손실이 달라진다.
지도학습은 라벨과 예측의 오차를 줄인다. 자기지도학습은 입력 일부 복원, 다음 요소 예측, 두 변환의 표현 정렬처럼 데이터 자체에서 학습 신호를 만든다. 라벨이 없다는 이유만으로 모든 자기지도 결과가 실제 목표 과업에 유용한 것은 아니므로 다운스트림 검증이 필요하다.
2. 순전파·손실·역전파·갱신
층 l의 가중합과 활성화는 다음처럼 쓸 수 있다.
z^(l) = W^(l)a^(l-1) + b^(l)
a^(l) = φ(z^(l))
단일정답 K개 클래스의 교차엔트로피는 정답 원-핫 벡터 y와 예측확률 p에 대해 다음과 같다.
L = -Σ(k=1..K) y_k log p_k = -log p_true
정답 클래스 확률이 0.8이면 손실은 -log(0.8)≈0.223, 0.2이면 -log(0.2)≈1.609다. 정답 확률이 낮을수록 더 큰 벌점을 준다.
역전파는 연쇄법칙으로 손실의 각 파라미터 미분을 계산한다. 학습률 η를 쓰는 기본 경사하강 갱신은 다음과 같다.
θ_new = θ_old - η∇θL
학습률이 너무 크면 진동·발산할 수 있고 너무 작으면 학습이 느리거나 제한된 계산시간 안에 충분히 이동하지 못한다. Adam 같은 적응형 최적화도 학습률 선택을 없애지 않는다. 배치 크기는 기울기 잡음·메모리·정규화층의 동작에 영향을 주며, 에폭 수는 검증자료로 조기 종료할 수 있다.
3. CNN: 지역성, 출력 크기와 파라미터
2차원 합성곱은 작은 커널을 여러 위치에 공유해 지역 패턴을 찾는다. 입력 한 축 크기 H, 커널 K, 패딩 P, 스트라이드 S, dilation D일 때 출력 크기는 다음과 같다.
H_out = floor((H + 2P - D(K-1) - 1) / S) + 1
커널이 K_h×K_w, 입력 채널 C_in, 출력 필터 C_out이고 필터마다 bias 하나를 쓰면 학습 파라미터 수는 다음과 같다.
parameters = K_h×K_w×C_in×C_out + C_out
계산 예제
입력이 32×32×3, 커널 3×3, 필터 16개, S=1, P=1, D=1이라고 하자.
H_out = floor((32+2-2-1)/1)+1 = 32
W_out = 32
출력 텐서 = 32×32×16
파라미터 수 = 3×3×3×16 + 16 = 448
| 요소 | 역할 | 흔한 오해 |
|---|---|---|
| 커널·필터 | 같은 지역 가중치를 위치마다 공유 | 필터 수와 커널 크기는 같은 개념이 아님 |
| 스트라이드 | 이동 간격과 출력 해상도 조절 | 항상 정보를 보존하지 않음 |
| 패딩 | 경계 처리와 출력 크기 조절 | 패딩 값은 실제 관측값이 아님 |
| dilation | 파라미터 증가 없이 수용영역 확대 | 조밀한 지역정보가 자동 보존되는 것은 아님 |
| 풀링 | 지역 요약·다운샘플링 | 완전한 이동 불변성을 보장하지 않음 |
합성곱은 입력이 이동하면 특징지도도 대응해 이동하는 이동 등변성을 갖도록 설계된다. 풀링·전역평균·증강은 작은 위치 변화에 대한 민감도를 줄일 수 있지만 모든 변환에 대한 불변성을 보장하지 않는다.
4. RNN과 긴 의존성
기본 RNN은 현재 입력 x_t와 이전 은닉상태 h_(t-1)로 현재 상태를 계산한다.
h_t = φ(W_xh x_t + W_hh h_(t-1) + b_h)
y_t = g(W_hy h_t + b_y)
역전파를 시간축으로 펼친 BPTT에서는 여러 시점의 Jacobian 곱이 나타난다. 그 크기가 반복해서 1보다 작아지면 기울기 소실, 커지면 기울기 폭주가 발생하기 쉽다. LSTM과 GRU의 게이트는 정보의 보존·삭제 경로를 학습해 긴 의존성 문제를 완화하지만 무조건 해결하지는 않는다.
| 구조 | 정보 처리 | 강점 | 한계·주의점 |
|---|---|---|---|
| 기본 RNN | 이전 상태를 순차 전달 | 순서와 누적상태 표현 | 긴 의존성, 순차 계산 |
| LSTM·GRU | 게이트로 상태 흐름 조절 | 기울기·기억 경로 개선 | 병렬화 한계와 연산 증가 |
| 양방향 RNN | 앞·뒤 문맥을 모두 사용 | 전체 문장이 주어진 인코딩 | 미래 입력을 못 보는 실시간 예측에는 부적합할 수 있음 |
생성 학습에서 정답 이전 토큰을 넣는 teacher forcing과 실제 추론에서 모형 예측을 다시 넣는 과정은 입력분포가 다를 수 있다. 검증도 실제 생성 절차와 같은 조건에서 수행한다.
5. 어텐션과 트랜스포머
입력 표현 X를 선형변환해 질의 Q, 키 K, 값 V를 만든다. scaled dot-product attention은 다음과 같다.
Q = XW_Q, K = XW_K, V = XW_V
Attention(Q,K,V) = softmax(QK^T / sqrt(d_k) + M)V
sqrt(d_k)로 나누는 것은 내적 크기가 차원과 함께 커져 softmax가 지나치게 포화되는 현상을 완화한다. 마스크 M은 패딩 위치를 제외하거나 생성 시 미래 토큰 참조를 막는다. multi-head attention은 서로 다른 투영공간에서 여러 참조 패턴을 학습한 뒤 결합한다.
예를 들어 한 질의의 스케일된 점수가 [2,0]이면 softmax 가중치는 약 [0.881,0.119]다. 값이 [10,0]인 1차원 예라면 출력은 0.881×10+0.119×0≈8.81이다. 이는 큰 관련도에 더 큰 가중치를 두는 계산이지 첫 위치가 결과의 인과적 원인이라는 증명이 아니다.
자기어텐션만으로는 토큰 순서를 알 수 없으므로 위치 인코딩·위치 임베딩 같은 순서 정보가 필요하다. 길이 L의 표준 self-attention은 모든 위치쌍의 점수를 만들기 때문에 attention 행렬의 시간·메모리가 대체로 L²에 따라 증가한다. RNN보다 병렬 학습에 유리하지만 긴 입력 비용이 자동으로 작다는 뜻은 아니다.
6. 사전학습·전이학습·미세조정
| 방식 | 적용 | 장점 | 위험·검증 |
|---|---|---|---|
| 특징 추출 | 사전학습 본체를 고정하고 새 출력층 학습 | 적은 라벨·연산으로 시작 | 목표 도메인 표현이 부족할 수 있음 |
| 부분 미세조정 | 상위 일부 층과 출력층 학습 | 과업 특화와 안정성 절충 | 어느 층을 풀지 검증 필요 |
| 전체 미세조정 | 전체 파라미터를 작은 학습률 등으로 갱신 | 큰 도메인 적응 가능 | 과대적합·망각·연산비용 증가 |
사전학습 데이터와 목표 데이터의 언어, 장비, 인구집단, 촬영 조건이 다르면 음의 전이가 생길 수 있다. 사전학습 자료에 테스트 사례나 그 파생본이 포함됐는지도 가능한 범위에서 점검한다. 사전학습 모형은 단순 기준모형보다 복잡하므로 같은 분할·지표·추론 환경에서 비교한다.
7. 과대적합과 데이터 누수 방지
훈련·검증·테스트의 역할을 분리한다.
| 자료 | 허용되는 역할 | 금지·주의 |
|---|---|---|
| 훈련 | 가중치 학습, 훈련용 증강의 표본 생성 | 테스트 통계로 정규화하지 않음 |
| 검증 | 하이퍼파라미터·에폭·임계값·후보 선택 | 반복 선택으로 검증집합에도 과대적합 가능 |
| 테스트 | 최종 후보의 독립 성능 추정 | 에폭·임계값·모형을 계속 선택하지 않음 |
문서 복사본, 동일 고객, 동일 환자, 같은 원본에서 잘라낸 이미지가 분할을 넘나들면 표면적 정확도가 부풀 수 있다. 먼저 그룹·시간·배포단위로 분할한 뒤, 토크나이저 어휘·정규화 통계·결측 대치·특징 선택을 훈련자료에서만 적합한다. 데이터 증강도 원본을 분할한 뒤 훈련집합에만 적용한다.
과대적합 완화에는 가중치 감쇠, dropout, 조기 종료, 의미 보존 증강, 모형 축소, 더 다양한 자료가 있다. dropout은 학습 시 일부 활성값을 확률적으로 제거하지만 평가 시에는 비활성화하고 적절히 스케일된 전체 연결을 사용한다. Batch Normalization도 학습·평가 모드의 통계 사용이 다르므로 모드를 정확히 전환한다.
8. 평가, 임계값과 운영
불균형 분류에서 정확도만 보면 다수 클래스를 예측하는 모형이 좋아 보일 수 있다.
| 지표·검사 | 답하는 질문 | 주의점 |
|---|---|---|
| macro F1 | 각 클래스를 동일 비중으로 잘 맞히는가 | 클래스별 표본 수를 동일 가중 |
| micro F1 | 전체 개별 예측을 합쳐 얼마나 맞히는가 | 큰 클래스 영향이 커질 수 있음 |
| PR-AUC | 양성 희소 상황에서 정밀도-재현율 절충은 어떤가 | prevalence가 바뀌면 비교가 달라질 수 있음 |
| ROC-AUC | 임계값 전반의 순위 구분력은 어떤가 | 희소 양성에서 운영 정밀도를 가릴 수 있음 |
| calibration | 예측확률 0.8인 집단이 실제로 약 80% 발생하는가 | 구분력과 별개로 확인 |
| confusion matrix | 어떤 클래스끼리 어떤 방향으로 틀리는가 | 비용을 반영하려면 클래스별 검토 필요 |
분류 임계값은 테스트집합이 아니라 검증집합에서 오류비용·처리용량·재현율 조건에 맞춰 고정한다. 그 뒤 테스트에서 한 번 평가한다. 이미지 검출은 IoU 기준과 mAP, 분할은 IoU·Dice, 생성은 자동지표와 사람 평가, 회귀는 MAE·RMSE와 잔차를 과업에 맞게 결합한다.
배포 전에는 지연시간, 메모리, 처리량, 개인정보·저작권, 실패 시 대체 절차를 검토한다. 배포 후에는 입력분포, 클래스 비율, 성능·보정, 지연시간을 감시한다. 라벨이 늦게 오는 환경에서는 입력 드리프트가 성능 저하의 확정 증거는 아니므로 라벨 기반 성능 확인과 재학습 승인 절차를 연결한다.
9. 사례 적용
상황: 고객 문의 문장을 12개 유형으로 자동 분류한다.
조건: 희소 유형이 있고 동일 고객의 복사 문장이 여러 채널에 반복되며 개인정보가 포함된다. 응답 시스템은 200ms 이내에 결과를 받아야 한다.
판단: 고객·중복문장 그룹 기준으로 먼저 분할한다. 토크나이저와 정규화는 훈련자료에만 적합하고 개인정보 처리 기준을 적용한다. 단어 기반 선형모형을 기준선으로 두고 사전학습 언어모형의 특징 추출·부분 미세조정을 비교한다. 검증집합에서 희소 유형 재현율과 처리용량에 맞는 임계값을 고정하고, 테스트에서는 macro F1·클래스별 정밀도/재현율·보정·지연시간을 함께 보고한다.
결론: 평균 정확도가 가장 높은 모형이 아니라 희소 유형의 오류비용, 누수 없는 일반화 성능과 200ms 제약을 함께 만족하는 후보를 선택한다.
| 구조 | 대표 귀납 편향 | 적합한 자료 예 |
|---|---|---|
| CNN | 국소성·가중치 공유 | 영상·격자·국소 패턴 |
| RNN | 순차 상태 | 시계열·짧은 순서 |
| Transformer | 자기어텐션 | 텍스트·긴 문맥·멀티모달 |
구조 이름이 성능을 보장하지 않는다. 표본 규모, 사전학습, 입력 길이, 지연·메모리와 평가 설계를 함께 본다.
어휘·토크나이저·정규화·증강도 학습 과정이다. 같은 문서·사용자·영상의 파생본이 학습과 검증에 동시에 들어가지 않도록 그룹 분할한다.
시험 판단 포인트
- 비정형 데이터도 모형 입력 전에는 수치 텐서·토큰·스펙트로그램 등으로 표현한다.
- 딥러닝 학습 순서는 순전파→손실 계산→역전파→파라미터 갱신이다.
- CNN 출력 크기와 파라미터 수에서 패딩·스트라이드·채널·bias를 구분한다.
- RNN은 이전 상태를 순차 전달하고, 어텐션은 질의·키 관련도로 값을 가중합한다.
- 트랜스포머에는 순서 정보와 padding·causal mask가 필요할 수 있다.
- 분할 전에 중복 파생본이나 전체자료 통계를 만들면 누수가 생길 수 있다.
- 모형 선택과 임계값 조정은 검증자료, 최종 성능 추정은 독립 테스트자료로 수행한다.
자주 틀리는 부분
- 필터 수를 커널의 가로·세로 크기와 같은 값으로 보지 않는다.
- 풀링이 모든 이동·회전에 대한 완전한 불변성을 보장한다고 단정하지 않는다.
- LSTM·GRU가 긴 의존성 문제를 언제나 해결한다고 보지 않는다.
- 어텐션 가중치를 인과효과나 충분한 설명으로 동일시하지 않는다.
- 사전학습 모형이 언제나 작은 기준모형보다 우수하다고 가정하지 않는다.
- 훈련 손실 감소를 독립 테스트 일반화의 증거로 보지 않는다.
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
0132×32×3 입력에 3×3 커널 16개, stride 1, padding 1인 bias 포함 합성곱을 적용한다. 출력과 파라미터 수를 올바르게 제시하시오.
32×32×16, 448개
패딩 1과 stride 1이므로 각 공간축은 floor((32+2-2-1)/1)+1=32다. 출력 채널은 필터 수 16이고, 파라미터는 3×3×3×16+16=448개다.
02scaled dot-product self-attention에 관해 타당한 내용을 설명하시오.
질의·키의 스케일된 관련도로 값 벡터를 가중합하며 순서 정보는 별도로 넣어야 한다.
어텐션은 softmax(QK^T/sqrt(d_k)+M)V로 관련도 가중합을 계산한다. self-attention만으로는 순서를 알 수 없어 위치 정보를 추가한다.
03중복 문의문장이 있는 텍스트 분류에서 데이터 누수를 방지하는 절차를 서술하시오.
고객·중복 그룹으로 먼저 분할하고 토크나이저·정규화는 훈련자료에만 적합한다.
실제 배포 단위인 고객과 중복문장을 함께 묶어 분할한 뒤, 데이터 의존 전처리를 훈련자료에만 적합해야 테스트 정보가 학습과 선택에 들어가지 않는다.
04희소한 중요 클래스를 포함한 12개 유형 분류모형의 최종 평가로 타당한 내용을 서술하시오.
독립 테스트에서 macro F1·클래스별 지표·보정·지연시간을 함께 확인한다.
희소 클래스가 중요하면 전체 정확도만으로 부족하다. 독립 테스트에서 클래스 균형을 반영한 macro F1, 클래스별 오류, 확률 보정과 운영 지연시간을 함께 확인한다.