CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
  • Week 1
    • 1.ML 수명주기(ML Lifecycle): 비즈니스 문제 정의부터 A/B 테스트까지
    • 2.ML용 데이터 저장소: S3·EFS·FSx for Lustre·데이터 포맷
    • 3.데이터 수집: Kinesis·Glue·배치 vs 스트리밍
    • 4.데이터 레이블링: SageMaker Ground Truth·액티브 러닝(Active Learning)·레이블 품질
    • 5.1주차 종합 복습: ML 개요와 데이터 엔지니어링 1
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
    • 1.신경망 기초: 퍼셉트론에서 역전파까지
    • 2.CNN(합성곱 신경망)과 컴퓨터 비전
    • 3.RNN과 시퀀스 모델: LSTM에서 Transformer까지
    • 4.학습 기법과 전이학습
    • 5.7주차 종합 복습: 딥러닝 정리
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← MLS-C01/Week 7/Day 3

기준: MLS-C01 시험 가이드·오류 제보

MLS-C01· AssociateWeek 7 · Day 3읽기 약 13분
핵심 정리
  • RNN은 은닉 상태(hidden state) 에 과거를 누적해 시퀀스를 처리하지만, 기울기 소실·폭발로 장기 의존성에 약하다.
  • LSTM(게이트 + 셀 상태) / GRU(게이트 축소, 더 가볍고 빠름)가 그 약점을 완화한다.
  • seq2seq(인코더-디코더)는 고정 컨텍스트 벡터의 정보 병목이 문제였고, 어텐션이 이를 해소했다.
  • Transformer는 순환 없이 셀프 어텐션만으로 처리해 병렬 학습과 장거리 의존성에 강하다(BERT/GPT/T5).
  • AWS 매핑: 시계열=DeepAR/Forecast, 텍스트=BlazingText/Comprehend, 생성=JumpStart/Bedrock.

Day 3 - RNN과 시퀀스 모델: LSTM에서 Transformer까지

순서가 의미를 만드는 데이터

이미지에 공간 구조가 있다면, 텍스트·시계열·음성·로그에는 순차 구조가 있다. 앞선 입력이 다음 출력에 영향을 주는 이런 데이터에는 순환 신경망(RNN)과 그 발전형, 그리고 오늘날의 주류인 Transformer를 쓴다.

데이터순서가 왜 중요한가순서를 무시하면
텍스트어순이 의미를 바꾼다"개가 사람을 물었다"와 "사람이 개를 물었다"가 같아짐
시계열(수요·매출)추세·계절성이 시간축에 있다계절 패턴을 통째로 잃음
음성음소의 연속이 단어를 만든다프레임을 섞으면 말이 안 됨
로그·클릭스트림행동 순서가 의도를 드러낸다세션의 흐름이 사라짐

MLS-C01은 RNN/LSTM/GRU 차이, seq2seq 구조, 어텐션·Transformer 개념, 시계열·NLP의 알고리즘 선택을 묻는다.

RNN의 기본 아이디어

RNN은 시퀀스를 한 시점씩 처리하며 과거 정보를 은닉 상태에 누적한다.

h_t = f(W_x * x_t + W_h * h_{t-1} + b)
출력 y_t는 h_t로부터 계산된다
  • h_{t-1}: 직전 시점까지의 "기억"이 다음 계산으로 전달된다.
  • 모든 시점에서 가중치를 공유한다(시간축 가중치 공유).
  • 가변 길이 시퀀스를 자연스럽게 처리한다.
 x_1        x_2        x_3        x_4
  │          │          │          │
  ▼          ▼          ▼          ▼
[RNN] ──h1─▶[RNN] ──h2─▶[RNN] ──h3─▶[RNN] ──▶ h4
  │          │          │          │
  ▼          ▼          ▼          ▼
 y_1        y_2        y_3        y_4
  └─ 같은 가중치 W를 모든 시점이 공유 ─┘

RNN을 시간축으로 펼치면 매우 깊은 신경망과 같다. 그래서 역전파(BPTT — backpropagation through time) 과정에서 기울기가 곱셈으로 누적돼 기울기 소실/폭발이 심하게 일어난다. 그 결과 단순 RNN은 먼 과거 정보를 기억하지 못하는 장기 의존성 문제를 겪는다. 이 한계가 LSTM과 GRU의 동기다.

시퀀스 과제 유형

입력과 출력 중 어느 쪽이 시퀀스인지에 따라 구조가 달라진다.

유형입력 → 출력예시전형적 구조
one-to-many단일 → 시퀀스이미지 캡셔닝CNN 인코더 + RNN 디코더
many-to-one시퀀스 → 단일감성 분류, 이상 탐지RNN + 마지막 은닉 상태 → 분류 헤드
many-to-many (동기)시퀀스 → 같은 길이 시퀀스개체명 인식, 프레임별 라벨링시점마다 출력
many-to-many (비동기)시퀀스 → 다른 길이 시퀀스기계 번역, 요약seq2seq(인코더-디코더)

⚠️ 함정: 입력과 출력의 길이가 다르다는 단서가 보이면 시점별 출력 구조가 아니라 인코더-디코더(seq2seq) 다. 번역·요약이 대표적이다.

LSTM과 GRU

게이트 메커니즘으로 장기 의존성 문제를 완화한 RNN 변형들이다.

모델구조특징
LSTM입력·망각·출력 게이트 + 셀 상태장기 기억 보존, 파라미터가 많음
GRU업데이트·리셋 게이트LSTM보다 단순·빠름, 성능은 유사한 경우가 많음
  • 셀 상태(cell state): 정보를 먼 거리까지 실어 나르는 LSTM의 "고속도로". 게이트가 무엇을 지우고(망각), 무엇을 더하고(입력), 무엇을 내보낼지(출력)를 조절한다.
  • GRU는 게이트를 줄여 계산이 가볍다. 데이터와 자원이 보통 수준일 때 좋은 LSTM 대안이다.

선택 가이드: 장기 의존성이 결정적이고 자원이 충분하면 LSTM, 더 가벼워야 하면 GRU.

⚠️ 함정: 기울기 소실과 폭발의 처방은 다르다. 소실은 구조로 푼다(게이트·잔차·ReLU). 폭발은 기울기 클리핑(gradient clipping)과 학습률 축소로 잡는다. 손실이 서서히 정체되면 소실, 갑자기 NaN으로 튀면 폭발 쪽을 의심한다.

[LSTM 셀]
  이전 셀 상태 c_{t-1} ──────────────┬──▶ c_t   (장거리 정보 통로)
                                     │
   입력 x_t ─┬─▶ 망각 게이트 → 무엇을 지울까
   이전 h_{t-1}├─▶ 입력 게이트 → 무엇을 새로 쓸까
             └─▶ 출력 게이트 → 무엇을 내보낼까 ──▶ h_t

RNN · LSTM · GRU · Transformer 비교

항목단순 RNNLSTMGRUTransformer
장기 의존성약함강함(셀 상태)강함(LSTM보다 약간 단순)매우 강함(직접 연결)
시점 병렬화불가(순차)불가불가가능(전체 동시 처리)
파라미터·계산량가장 적음많음LSTM보다 적음큼, 시퀀스 길이에 민감
위치 정보구조에 내재구조에 내재구조에 내재위치 인코딩으로 별도 주입
전형적 용도짧은 시퀀스, 교육용시계열·음성·긴 문맥LSTM 대안(경량)NLP·생성 AI 표준

"GPU를 늘렸는데 RNN 학습이 빨라지지 않는다"는 지문의 원인은 하드웨어가 아니라 순차 처리 구조 자체다. 병렬화를 원하면 Transformer 계열로 가야 한다.

seq2seq (인코더-디코더)

기계 번역처럼 입력 시퀀스 → (길이가 다를 수 있는) 출력 시퀀스를 매핑하는 구조다.

입력 시퀀스 → [인코더 RNN] → 컨텍스트 벡터 → [디코더 RNN] → 출력 시퀀스
"I am happy"                                                "나는 행복하다"
  • 인코더가 입력 전체를 고정 길이 컨텍스트 벡터로 압축한다.
  • 디코더가 그 벡터에서 토큰을 하나씩 생성한다.
  • 한계: 긴 입력을 벡터 하나로 압축하면 정보가 손실된다(병목).

어텐션(Attention)

seq2seq의 병목을 풀려고 등장했다. 디코더가 출력 시점마다 입력의 어느 부분에 집중할지를 학습한다.

디코더가 "행복하다"를 생성할 때
→ 입력의 "happy"에 높은 어텐션 가중치를 부여
        입력:  I     am    happy
               │     │      │
               ▼     ▼      ▼
   [인코더 은닉 상태들 h1, h2, h3]
               │     │      │
        가중치 0.1   0.2    0.7      ← 디코더 현재 상태(query)와의 유사도
               └──┬──┴──────┘
                  ▼
          가중합 = 이번 시점의 컨텍스트
                  ▼
             디코더 → "행복하다"
  • 고정 컨텍스트 벡터 대신 입력 전체를 동적으로 참조한다.
  • 긴 시퀀스의 정보 손실을 줄이고, 입력-출력 관계의 해석 가능성을 준다.

어텐션의 핵심은 "쿼리(query), 키(key), 값(value)" 메커니즘이다. 디코더의 현재 상태(쿼리)와 인코더 각 위치(키)의 유사도로 가중치를 구하고, 그 가중치로 값(value)을 가중합한다. 이 아이디어를 RNN 없이 한 시퀀스 내부의 모든 위치 쌍에 적용한 것이 셀프 어텐션이고, 이것이 Transformer의 토대다.

Transformer

"Attention Is All You Need"(2017)는 RNN을 버리고 셀프 어텐션만으로 시퀀스를 처리했다. 오늘날 NLP와 생성 AI의 표준이다.

  • 병렬 처리: RNN처럼 시점을 순차 처리하지 않고 시퀀스 전체를 한 번에 다뤄 GPU 학습이 훨씬 빠르다.
  • 장거리 의존성: 멀리 떨어진 토큰이 어텐션으로 직접 연결된다.
  • 위치 인코딩(positional encoding): 순서 정보를 별도로 주입한다(어텐션 자체는 위치를 모른다).
  • 대표 모델: BERT(인코더, 이해), GPT(디코더, 생성), T5(인코더-디코더).

사전학습-파인튜닝 패러다임(대규모 사전학습 + 다운스트림 파인튜닝)의 중심이며, AWS는 SageMaker JumpStart와 Amazon Bedrock으로 쉽게 접근하게 해 준다.

모델 계열구조잘하는 일
BERT인코더분류·개체명 인식 등 이해 과제
GPT디코더텍스트 생성·완성
T5인코더-디코더번역·요약처럼 시퀀스→시퀀스

시계열·NLP의 AWS 매핑

과제적합한 선택
수요·매출 시계열 예측DeepAR(SageMaker), Amazon Forecast
텍스트 분류·임베딩(전통적)BlazingText(Word2Vec/분류)
기계 번역Seq2Seq(SageMaker 빌트인), 관리형이면 Amazon Translate
개체·감성·핵심구 추출(관리형)Amazon Comprehend
음성을 텍스트로 변환(관리형)Amazon Transcribe
생성·요약·QA(대형 언어 모델)SageMaker JumpStart, Amazon Bedrock

텍스트를 숫자로 바꾸는 방법

시퀀스 모델에 텍스트를 넣으려면 먼저 표현으로 바꿔야 한다.

표현방식장점한계
Bag-of-Words / TF-IDF단어 빈도를 벡터로단순·빠름, 전통 분류에 충분어순을 완전히 버린다
단어 임베딩(Word2Vec 등)단어를 밀집 벡터로 학습의미가 가까우면 벡터도 가까움문맥에 따른 다의어를 구분 못 함
문맥 임베딩(Transformer 기반)문장 안의 문맥까지 반영다의어·문맥 처리 강함계산 비용이 크다
  • SageMaker BlazingText는 Word2Vec(임베딩)과 텍스트 분류를 모두 지원한다.
  • 어순이 중요한 과제(번역·개체명)에는 Bag-of-Words 계열이 부적합하다.

직접 학습 vs 관리형 AI 서비스

상황 단서선택이유
"ML 전문 인력이 없다", "빠르게 붙이고 싶다"Comprehend·Translate·Transcribe학습 없이 API 호출
"우리 도메인 용어를 인식해야 한다"커스텀 학습(BlazingText·Seq2Seq) 또는 파인튜닝일반 모델로는 부족
"수천 개 SKU 수요를 한꺼번에"DeepAR / Forecast여러 시계열을 함께 학습
"요약·질의응답 같은 생성 과제"JumpStart / Bedrock대형 언어 모델 활용

시계열 예측에서 DeepAR은 여러 관련 시계열을 함께 학습해, 데이터가 희소한 시계열이 다른 시계열의 패턴을 빌려 쓸 수 있게 한다(글로벌 모델). 비슷한 시계열이 많을 때(매장별·SKU별 수요) 각각에 ARIMA를 따로 적합시키는 것보다 강력하다. "많은 상품의 수요를 한꺼번에 예측"은 DeepAR/Forecast 신호다.

시계열 회귀 지표 읽기

지표무엇을 말하나우선할 상황함정
RMSE큰 오차를 크게 벌준 평균 오차큰 실수의 비용이 클 때이상치 한 건에 크게 흔들림
MAE평균적인 절대 오차이상치에 강건해야 할 때큰 오차를 관대하게 봄
분류로 바꿔 accuracy(권장하지 않음)—수요가 대부분 0인 희소 시계열에서 무의미

희소한 수요 데이터를 "판매/미판매" 이진 분류로 바꿔 accuracy로 평가하면, 대부분이 0이라 아무것도 예측하지 않아도 높은 값이 나온다. 회귀 과제는 RMSE·MAE로, 불균형 분류는 recall·PR-AUC로 본다.

지문 단서 → 정답 매핑

지문에 이런 표현이 나오면가리키는 답
"먼 과거 정보를 기억하지 못한다"장기 의존성 → LSTM/GRU
"입력과 출력 길이가 다르다"seq2seq(인코더-디코더)
"긴 입력에서만 품질이 떨어진다"컨텍스트 병목 → 어텐션
"병렬로 학습해 시간을 줄이고 싶다"Transformer(셀프 어텐션)
"수천 개 시계열을 한 모델로"DeepAR / Amazon Forecast
"감성·개체명을 바로 뽑고 싶다, 학습 없이"Amazon Comprehend
"녹취 파일을 텍스트로"Amazon Transcribe
"사전학습 대형 모델을 빠르게 활용"JumpStart / Bedrock

"최신 기술이니까 무조건 Transformer"는 오답 경로다. 지문에 "관리형으로 빠르게", "ML 인력 없음" 단서가 있으면 정답은 모델 구조가 아니라 관리형 AI 서비스다.

증상 → 원인 → 처방

증상원인1차 처방
긴 문장 앞부분 정보를 못 쓴다장기 의존성 실패(기울기 소실)LSTM/GRU, 또는 Transformer
학습 중 손실이 갑자기 폭증기울기 폭발기울기 클리핑, 학습률 축소
번역 품질이 긴 문장에서만 나쁨고정 컨텍스트 벡터 병목어텐션 도입
GPU를 늘려도 학습이 안 빨라짐RNN의 순차 처리 구조Transformer 계열로 전환
시계열 하나하나 모델을 따로 만들어 관리가 불가능개별 모델 접근DeepAR/Forecast로 글로벌 모델
라벨링된 텍스트가 거의 없다지도학습 데이터 부족사전학습 모델 파인튜닝(JumpStart)

다음 글에서는 이 구조들을 실제로 어떻게 학습시키는가 — 손실·옵티마이저·학습률·정규화와 전이학습을 다룬다.

📖 용어

  • 시퀀스 데이터 : 순서 자체가 의미를 갖는 데이터. 텍스트·시계열·음성·로그가 해당한다.
  • 은닉 상태(hidden state) : 직전 시점까지의 정보를 담아 다음 시점으로 넘기는 RNN의 기억 벡터.
  • BPTT : 시간축으로 펼친 RNN에 역전파를 적용하는 방식. 기울기 소실·폭발이 심해지는 원인.
  • 장기 의존성 : 먼 과거의 정보를 현재 출력에 반영해야 하는 성질. 단순 RNN이 약한 지점.
  • 셀 상태 / 게이트 : LSTM이 정보를 먼 거리까지 실어 나르는 통로 / 무엇을 지우고·더하고·내보낼지 학습으로 조절하는 스위치.
  • seq2seq(인코더-디코더) : 입력 시퀀스를 벡터로 압축했다가 다른 길이의 출력 시퀀스를 생성하는 구조.
  • 어텐션(attention) : 출력 시점마다 입력의 관련 부분에 가중치를 주어 참조하는 메커니즘. 병목을 해소한다.
  • 셀프 어텐션 : 한 시퀀스 내부의 모든 위치 쌍에 어텐션을 적용한 것. Transformer의 토대.
  • 위치 인코딩 : 어텐션이 알지 못하는 순서 정보를 입력에 따로 더해 주는 장치.
  • DeepAR : 여러 관련 시계열을 함께 학습하는 SageMaker 빌트인 시계열 예측 알고리즘.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

단순 RNN이 긴 문장의 앞부분 정보를 뒷부분에서 잘 활용하지 못하는 근본 원인은?

문제 2

다음 중 RNN 없이 셀프 어텐션만으로 시퀀스를 처리해 병렬 학습과 장거리 의존성에 강한 구조는?

문제 3

다수의 상품(SKU)에 대해 미래 수요를 한꺼번에 예측하려 한다. SageMaker에서 가장 적합한 빌트인 알고리즘은?

문제 4

seq2seq에 어텐션을 추가하면 얻는 주된 이점은?

문제 5

LSTM과 비교한 GRU의 일반적 특징으로 옳은 것은?

이전CNN(합성곱 신경망)과 컴퓨터 비전Week 7 · Day 2다음 학습 기법과 전이학습Week 7 · Day 4

참고 공식 자료

  • MLS-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon SageMaker AI 공식 문서(새 탭에서 열림)
  • Amazon Bedrock 공식 문서(새 탭에서 열림)

이 페이지

  • 순서가 의미를 만드는 데이터
  • RNN의 기본 아이디어
  • 시퀀스 과제 유형
  • LSTM과 GRU
  • RNN · LSTM · GRU · Transformer 비교
  • seq2seq (인코더-디코더)
  • 어텐션(Attention)
  • Transformer
  • 시계열·NLP의 AWS 매핑
  • 텍스트를 숫자로 바꾸는 방법
  • 직접 학습 vs 관리형 AI 서비스
  • 시계열 회귀 지표 읽기
  • 지문 단서 → 정답 매핑
  • 증상 → 원인 → 처방
  • 용어
  • 연습 문제