* 언어는 기계 언어 번역하는 도구로서 발전해왔음
* 예전 번역은 룰베이스 매핑해서 어색하고 전체적인 문맥이 이상한 경우가 많았음. -> 통계적 번역으로 발전, 어떤 단어가 있을때 통계적으로 어떤게 적절한지 선정 -> LLM 기반으로 번역
1. Transformer (인코더, 디코더 전부 attention으로 구성됨)
- BERT : kobert + 감성분석 데이터 학습(파인튜닝)
- GPT : 복잡할수록 무거워짐 -> 경량화 업계 최대 화두!
경량화 기법 - 차원축소, 양자화, 가지치기 등
경량화 왜? 로봇, 자율주행, IoT, 등등 통신이 중요함, 빨리 끊김없이 진행되어야 하니까 온디바이스 형태가 되어야 한다.
경량화에서 가장 중요한 것? 성능은 유지하면서 경량화 해야한다!
AI 발전 이유는 하드웨어도 같이 발전하기 때문 (GPU 등등), 피지컬AI -> 두뇌 부분은 ai agent
* 파인튜닝 : 기존 학습 되어있는 모델에 특정분야 추가 학습 시키는것(LLM + 의료/법률/제조 분야 추가 과외)
-> 시간 오래걸림, 리소스 필요, 그런데 데이터 학습시킨다고 성능 100% 좋은건 아님
-> 이런 한계 보완하기 위해 RAG 등장(책장, 벡터 DB에 담아두고) 쿼리 날렸을때 질문 유사도에 따라 답변 생성
- 왜 기업에선 RAG 사용? 거짓말 많이하니까~기업 데이터 RAG로 출처, 증거 등을 제시해라 -> 정확도 향상
* LLM 모델 > RAG(AI 검색) > Agentic AI

ex) 머신러닝 입문서를 찾는다고 하자 -> attention 메카니즘을 따라간다.
- 쿼리: 어디에 있는지
- Key : 책 제목, 키워드 등 정보 식별할 수 있는 레이블(딥러닝, 파이썬, 머신러닝 개론등)
- Value : 책 내용
- 트랜스포머란?
문장 전체를 한 번에 보고, 단어들 사이의 관계를 계산해 문맥을 이해하는 인공지능 모델
GPT나 BERT와 같은 언어 모델의 기반이 되는 구조로, 문장 내 단어 간 관계를 효과적으로 파악할 수 있다는 점이 특징 - 전체 구조 개요 : Encoder(인코더), Decoder(디코더)



- 주요 구성 요소
- Self-Attention
“나는 사과를 먹었다”라는 문장에서- “먹었다”는 “사과”와 강한 관련이 있고,
- “나는”과는 약한 관련을 가진다.
이 덕분에 문맥을 보다 정확하게 이해할 수 있으며, RNN처럼 순서대로 단어를 처리하지 않아도 되어 병렬 연산이 가능 - Multi-Head Attention
한 번의 Self-Attention만으로는 문장의 다양한 의미를 모두 파악하기 어렵기 때문에, 트랜스포머는 여러 개의 Self-Attention을 동시에 수행
각 헤드는 서로 다른 관점의 정보를 학습한다.
이렇게 여러 관점에서 얻은 결과를 결합하면, 더 풍부한 문맥 정보를 학습할 수 있음.Head 집중하는 정보 Head 1 문법 관계 (누가, 무엇을) Head 2 의미 관계 (사과–먹었다) Head 3 위치/시점 관계 (먼저, 나중)
즉, 여러 명이 동시에 문장을 읽고 서로 다른 해석을 종합하는 것과 비슷한 원리 - Positional Encoding
트랜스포머는 문장을 병렬로 처리하기 때문에 단어의 순서 정보를 스스로 알 수 없다.
이를 보완하기 위해 각 단어의 위치를 수학적으로 표현한 벡터를 임베딩에 더해주는 과정
예를 들어, 다음과 같이 단어의 의미 벡터에 위치 정보를 더한다.이 위치 인코딩은 sin, cos 함수를 이용해 계산되며, 단어가 문장에서 얼마나 떨어져 있는지를 자연스럽게 표현단어 위치 단어 의미 벡터 위치 인코딩 최종 입력 나는 1 [0.3, 0.7, 0.2] [0.84, 0.54, 0.1] [1.14, 1.24, 0.3] 사과를 2 [0.6, 0.9, 0.1] [0.91, 0.41, 0.2] [1.51, 1.31, 0.3]
결국, 이 과정을 통해 모델은 단어의 의미뿐 아니라 문장의 순서와 구조까지 학습 가능
- Self-Attention
2. Neural Machine Translation의 등장
: 기계 번역 기술은 과거의 통계 기반 방법에서 발전하여, 신경망 기반 번역 모델(Neural Machine Translation, NMT) 로 전환됨

1. Sequence-to-Sequence 모델의 개념
Sequence-to-Sequence 모델은 하나의 문장(입력 시퀀스)을 다른 문장(출력 시퀀스) 으로 변환하는 신경망 구조이다.
대표적인 활용 예시는 언어 번역으로, 예를 들어 “Je suis étudiant”(프랑스어: 나는 학생이다)를 입력하면
이를 영어 문장 “I am a student”으로 번역하는 식이다. 이 모델은 Encoder(인코더) 와 Decoder(디코더) 로 구성됨
2. Encoder (인코더)
인코더는 입력 문장을 단어 단위로 순차적으로 읽으며, 각 단어의 의미를 벡터 형태로 변환한다.
이후 문장의 전체 의미를 하나의 context vector(문맥 벡터) 로 압축하여 요약한다.
즉, 인코더는
“문장의 전체 의미를 하나의 벡터로 요약하는 역할”
을 수행한다.
예를 들어,
“Je suis étudiant”라는 문장이 입력되면, 인코더는 이를 [0.12, 0.87, 0.44, …]와 같은 수치 벡터로 변환하여
문장의 의미를 대표하는 하나의 벡터(context vector)로 만든다.
3. Decoder (디코더)
디코더는 인코더로부터 전달받은 context vector를 입력으로 받아
출력 문장을 단어 단위로 순차적으로 생성한다.
예를 들어, 인코더가 전달한 벡터가 “나는 학생이다”라는 의미를 담고 있다면,
디코더는 이를 해석해 “I am a student”라는 문장을 만들어낸다.
즉, 디코더는
“문맥 벡터를 기반으로 새로운 문장을 생성하는 역할”
을 수행한다.
4. 작동 과정 요약
- 입력 문장(예: 프랑스어) 이 인코더로 전달된다.
- 인코더는 문장의 전체 의미를 하나의 context vector 로 요약한다.
- 이 context vector 가 디코더로 전달된다.
- 디코더는 이 벡터를 바탕으로 출력 문장(예: 영어) 을 생성한다.
| 구성 요소 | 역할 | 설명 |
| Encoder | 입력 문장 분석 | 문장의 의미를 하나의 context vector로 요약 |
| Context Vector | 의미 저장소 | 문장의 전체 의미를 압축한 벡터 |
| Decoder | 출력 문장 생성 | context vector를 기반으로 번역된 문장 생성 |
5. Seq2Seq 모델의 한계와 발전
Seq2Seq 모델은 기계 번역에 큰 진전을 가져왔지만, 다음과 같은 한계가 존재했다.
- 긴 문장의 경우, 하나의 context vector에 모든 정보를 담기 어려움
- 입력 문장 중간의 세부 정보 손실 가능
- 단어 간의 세밀한 문맥 관계 반영이 어려움
이러한 한계를 극복하기 위해 등장한 개념이 Attention Mechanism(어텐션 메커니즘) 이며,
이를 더욱 확장한 구조가 바로 Transformer 모델이다.
정리
- Neural Machine Translation (NMT) 은 문장을 벡터로 변환하여 신경망으로 번역하는 기술이다.
- Sequence-to-Sequence 구조는 인코더와 디코더로 구성되어, 입력 시퀀스를 출력 시퀀스로 변환한다.
- 이 모델의 한계를 보완한 것이 Attention → Transformer 로 이어지는 인공지능 언어 모델의 발전 과정이다.
/ 실습 / 15_시퀀스모델(언어모델)_실습코드_04 한글 감성분석
* 머신러닝 + BERT 활용한 감성분석
* 머신러닝에 시그모이드 함수 사용해서 감성 분석(긍정, 부정)
시그모이드 함수 : 모든 값을 0과 1 사이의 값으로 변환, 이진분류에 주로 사용
* (참고)
https://github.com/ukairia777/finance_sentiment_corpus
1. 문제 정의 (이진 / 다중 / 점수형 분류)
무엇을 예측할지 명확히 정하는 단계입니다.
예를 들어 감정 분석의 경우
- 이진 분류: 긍정 / 부정
- 다중 분류: 긍정 / 부정 / 중립
- 점수 예측: 1~5점 평점 등
라벨(label)의 기준을 명확히 세워야 합니다.
예를 들어 “긍정”은 몇 점 이상, “중립”은 어디까지로 할지 등 기준이 필요합니다.
2. 데이터 수집 / 라벨링
모델이 배울 데이터를 모으고 정답(라벨)을 붙이는 과정입니다.
예시로는 다음과 같습니다.
- 공개 데이터셋: NSMC (네이버 영화 리뷰 감정 데이터)
- 사내 로그: 고객 후기, 챗봇 대화 로그 등
- 크라우드 라벨링: 사람이 직접 감정을 판단해 라벨을 부여
데이터 품질이 모델 성능을 결정하므로, 신뢰도 높은 라벨링이 중요합니다.
3. 데이터 전처리 (Preprocessing)
데이터의 불필요한 부분을 정리하고 정제하는 단계입니다.
- 결측치나 중복 데이터 제거
- 이상치 처리
- 정규식을 사용한 불필요한 문자 제거 (URL, 특수기호 등)
- 이모티콘, 줄바꿈, 공백 처리
이 과정을 통해 모델이 의미 있는 정보만 학습하도록 만듭니다.
4. 표현 (Feature Engineering / Embedding)
텍스트를 모델이 이해할 수 있는 숫자 벡터로 변환하는 과정입니다.
전통적 방법
- BoW (Bag of Words): 단어의 등장 여부만 확인
- TF-IDF: 단어의 중요도를 수치화 (자주 나오지만 흔한 단어는 낮은 점수)
분산 표현
- Word2Vec, FastText: 단어 간 의미적 유사성을 반영한 벡터 표현
사전학습 모델 기반 표현
- BERT, RoBERTa, ELECTRA 등 트랜스포머 기반 모델
- 한국어 특화 모델: KoELECTRA, KLUE-RoBERTa, KcBERT, KoBERT
문맥(Context)을 이해하는 고성능 표현 방식을 제공합니다.
5. 모델링 (Modeling)
데이터를 바탕으로 실제 분류기를 만드는 단계입니다.
전통적 머신러닝
- 로지스틱 회귀(Logistic Regression), SVM 등
데이터가 적고 단순할 때 빠르고 효율적입니다.
딥러닝 / 트랜스포머 기반
- BERT 계열 모델을 파인튜닝(Fine-tuning)
감정 분석, 스팸 탐지 등 정교한 과제에 적합합니다.
6. 학습 / 튜닝
데이터를 학습(train), 검증(validation), 테스트(test) 세 부분으로 나눠 학습합니다.
- train: 모델 학습용 데이터
- validation: 모델 성능 조정용
- test: 최종 평가용
하이퍼파라미터(learning rate, batch size, epoch 등)를 조정하며 최적의 성능을 찾습니다.
7. 평가 (Evaluation)
모델의 예측 결과를 평가하는 단계입니다.
- Accuracy (정확도): 전체 중 맞춘 비율
- F1 Score: 정밀도(Precision)와 재현율(Recall)의 조화 평균
- PR-AUC: 불균형 데이터에서 유용한 지표
- 혼동행렬(Confusion Matrix): 어떤 클래스에서 오분류가 발생했는지 시각화
8. 배포 / 모니터링
완성된 모델을 실제 서비스에 적용하는 단계입니다.
예를 들어 고객 리뷰 실시간 감정 분석, 악성 댓글 필터링, 감정 챗봇 등에 적용할 수 있습니다.
배포 후에는 시간이 지나면서 데이터 분포가 변할 수 있으므로, 주기적으로 재학습이나 성능 점검이 필요합니다.
* 깃허브 데이터 다운 안받고 링크로 끌어올 수 있음


- 순서 파악 먼저!
- 분류/회귀 - 어떤 모델을 써야하는지?
'KPMG Future Academy 6기' 카테고리의 다른 글
| (삼정 KPMG future academy 6기 이슈) 커머스 (0) | 2025.10.20 |
|---|---|
| (삼정 KPMG future academy 6기 수업) - 16. 추천 시스템 (0) | 2025.10.14 |
| (삼정 KPMG future academy 6기 수업) - 15_1. 시퀀스 모델(언어 모델) (0) | 2025.10.13 |
| (삼정 KPMG future academy 6기 수업) - Mediapipe (0) | 2025.09.26 |
| (삼정 KPMG future academy 6기 수업) - OCR (0) | 2025.09.25 |