AI/딥러닝
실무에 쓰는 머신러닝 기초 1주차 (딥러닝)
edcrfv458
2025. 3. 26. 20:54
목표
- 딥러닝 기본 개념
- 대표적인 딥러닝 아키텍처
- 딥러닝 적용 분야
- 최신 AI 트렌드
- 강화학습
1. 딥러닝 기본 개념
역사와 발전
- 1940 ~ 50 년대 초창기 뉴런을 단순 모델로 삼아 연구 시작
- 퍼셉트론의 단층 구조 ➡️ 다층 퍼셉트론(MLP) ➡️ 딥러닝(Deep Neural Network)
- 딥(Deep): 입력 계층과 출력 계층 사이에 여러 개의 은닉층을 두어 복잡한 패턴까지 학습 가능
- 데이터의 컴퓨팅 파워, 알고리즘 발전으로 딥러닝이 급성장
핵심 아이디어
- 계층적 특징 학습
- 사람 얼굴 인식을 예로 들면 초기 은닉층에서는 선, 모서리, 곡선 등을 잡아내고
- 더 깊은 층에서는 코, 눈, 입 등 구체적 특징을 학습하며
- 마지막에는 얼굴 전체를 인식
- 비선형 변환을 반복 적용
- 많은 은닉층이 비선형 활성화 함수를 통해 데이터를 변환하면서 복잡한 패턴을 학습
- 오차 역전파 (Backpropagation)
- 예측과 실제 차이를 신경망 거꾸로 전달하며 가중치 업데이트
딥러닝 적용 절차
- 데이터 수집
- 데이터 전처리 (결측값 처리, 정규화 등)
- 모델 설계
- 모델 학습
- 검증 및 성능 평가
- 최종 모델 활용
2. 주요 딥러닝 아키텍처
CNN (Convolutional Neural Network)
- 개념
- 주로 이미지, 영상에 특화된 구조
- 합성곱(Convolution) 연산을 통해 픽셀 영역의 지역적 특성을 추출
- 작동 원리
- 합성곱 레이어
- 필터(커널)을 이용해 이미지(특징 맵)을 스캔하며 특징 추출
- 풀링 레이어
- 특징 맵의 크기를 줄이고 주요 특징만 요약
- 완전 연결 레이어
- 추출된 특징 기반으로 분류나 회귀 수행
- 합성곱 레이어
- 활용 예시
- 자율 주행 차량에서 도로 표지판 인식, 차선 탐지, 물체 인식
- 의료 영상 분석에서 질병 부위 정확 탐지
- 쉬운 예시
- 이미지를 볼 때 큰 그림을 보는 것이 아니라 일정 크기의 창으로 이미지를 훑으며(스캔) 특징을 찾는 방식
RNN (Recurrent Neural Network)
- 개념
- 순차적(시퀀스) 데이터 처리에 특화된 신경망 구조
- 문장, 음성 기호, 주가 등 시간 순서가 있는 데이터를 다룸
- 작동 원리
- 이전 단계의 은닉 상태를 다음 단계로 넘겨주며 연쇄적으로 학습
- 순환 구조로 인해 과거의 정보를 기반으로 현재 출력에 영향을 줌
- 문제점과 개선
- 장기 메모리 문제가 발생(기울기 소실, 폭주 문제)
- LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit)으로 개선
- 장기 메모리 문제가 발생(기울기 소실, 폭주 문제)
- 활요 예시
- 음성 인식, 기계 번역, 감정 분석, 시계열 예측(주가, 날씨 등)
- 쉬운 예시
- 우리 뇌가 문장을 읽을 때 앞 단어를 기억하며 현재 단어를 이해하듯, RNN은 이전 정보 순환하며 학습
Transformers
- 개념
- 2017년 구글 논문("Attention is All You Need")에서 제시된 모델
- 어텐션 메커니즘을 활용하여, 입력 전체에서 중요한 부분에 집중
- RNN 없이도 순차 데이터 처리 가능 ➡️ 병렬 연산이 가능해 학습 속도 대폭 향상
- 작동 원리
- 인코더와 디코더 구조로 분리
- 어텐션을 통해 각 단어 간 연관성(의미, 문맥)을 효율적으로 학습
- 활용 예시
- BERT, GPT 시리즈 등 대형 언어 모델
- 최신 NLP 작업 전반(번역, 요약, 질의응답, 텍스트 생성 등)에 활용
- 중요성
- 현재 많은 대형 모델들이 트랜스포머 기반
- 자연어 처리뿐만 아니라 영상, 음성 등 멀티모달에도 응용 가능
- 멀티모달이란 한 유형의 데이터만 들어가는 것이 아닌 음성, 이미지, 텍스트 등 여러 유형의 데이터가 같이 들어가는 것
- 쉬운 예시
- 사람에게 한 문단 전체를 빠르게 보여주고, 어떤 단어가 서로 얼마나 관련있는지 파악해 의미 연결고리를 만드는 과정
3. 딥러닝 주요 활용 사례
이미지 처리
- 의료 영상 분석
- CT, MRI 등을 분석해 종양이나 이상 부위 빠르게 검출 ➡️ 진단 보조 역할
- 인공지능 진단 보조 시스템으로 의료진 부담 완화 및 정확도 향상
- 자율주행 객체 탐지
- 도로 상황에서 차량, 보행자 등의 위치와 종류 인식
- CNN 기반 물체 인식(Object Detection) 알고리즘인 YOLO, Faster R-CNN 등을 활용
자연어 처리(NLP)
- 감정 분석
- SNS나 상품 리뷰 문장에서 긍정/부정, 화남/기쁨 등을 자동 분류
- 고객 만족도 분석, 마케팅 전략 수립에 활용
- 음성 인식
- 스마트 스피커(siri, alexa 등) 콜센터 자동 응답 시스템
- RNN, Transformer 기반 음성 ➡️ 텍스트 변환
- 기계 번역, 요약
- 구글 번역, 파파고, 딥엘 등 고품질 번역 서비스
- 긴 텍스트를 핵심만 추려 요약하는 자동 요약 기술
생성형 AI (Generative AI)
- 텍스트 생성
- GPT 시리지 등은 거대 언어 모델(LLM)로 자연스러운 문장 생성
- 블로그 글 작성, 보고서 초안 작성, 스토리텔링에 활용
- 이미지 생성
- DALL-E, Midjourney, Stable Diffusion 등 이미지 생성 모델
- 예술, 디자인 분야에서 컨셉 아트나 시각 자료 생성
- 음악/영상 생성
- 새로운 멜로디, 편곡, 스타일의 음악을 생성하거나 영상 편집 보조 등에 활용
- 유튜브 콘텐츠 제작 보조
4. 강화학습(Reinforcement Learning)
- 에이전트(Agent)가 환경(Environment)과 상호작용하며, 행동(Action)에 따라 보상(Reward)을 받아 학습
- 보상을 최대화하는 방향으로 정책(Policy)을 학습해 최적의 행동을 찾음
예시
- 알파고: 바둑에서 승리 보상을 최대화하기 위해 강화학습
- 로봇 제어: 로봇이 넘어지지 않고 걷는 법, 장애물 피하기 등
응용 분야
- 게임(AI 플레이어), 추천 시스템, 자율주행(주행 정책 학습), 산업 자동화 등
Hugging Face (다양한 딥러닝 손쉽게 학습)
- 딥 러닝이 할 수 있는 여러 태스크와 코드 존재
- 감정분석 코드 예시
- 한국어 가능한 모델도 존재
from transformers import pipeline
# 1) 텍스트 분류 파이프라인 생성 (감정 분석용 사전학습 모델)
classifier = pipeline("sentiment-analysis")
# 2) 예시 문장 분석
texts = [
"I love this product! It's absolutely wonderful.",
"I'm really disappointed. It didn't work as expected."
]
results = classifier(texts)
print(results)
- 질의응답 코드 예시
from transformers import pipeline
# 1. "question-answering" 파이프라인을 생성
qa_pipe = pipeline(
"question-answering",
model="distilbert-base-uncased-distilled-squad"
)
# 2. 예시 지문(context)과 질문(question)
context = """
Hugging Face is a company that provides an open-source community and a platform of
transformer models. Their Transformers library allows easy usage of state-of-the-art
natural language processing models. They focus on facilitating accessibility and
collaboration in the AI field.
"""
question = "What does Hugging Face provide?"
# 3. 질의응답 수행
result = qa_pipe(question=question, context=context)
print(result)
# 예시 출력:
# {'score': 0.930..., 'start': 59, 'end': 122, 'answer': 'an open-source community and a platform of transformer models'}
- 문장 생성 코드 예시
from transformers import pipeline
# 1) 텍스트 생성 파이프라인 (GPT-2 등 사전학습 모델 기반)
generator = pipeline("text-generation", model="gpt2")
# 2) 예시 프롬프트 (문장 시작)
prompt = "Once upon a time, in a land far away"
# 3) 문장 자동 완성
result = generator(prompt, max_length=50, num_return_sequences=1)
print(result)
참고
- Coursera, Cs231n, Fast.ai
- TensorFlow, PyTorch 활용한 튜토리얼
- Kaggle 대회