AI/딥러닝

실무에 쓰는 머신러닝 기초 1주차 (딥러닝)

edcrfv458 2025. 3. 26. 20:54

목표

  • 딥러닝 기본 개념
  • 대표적인 딥러닝 아키텍처
  • 딥러닝 적용 분야
  • 최신 AI 트렌드
  • 강화학습

 

1. 딥러닝 기본 개념

 

역사와 발전

  • 1940 ~ 50 년대 초창기 뉴런을 단순 모델로 삼아 연구 시작
  • 퍼셉트론의 단층 구조 ➡️ 다층 퍼셉트론(MLP) ➡️ 딥러닝(Deep Neural Network)
  • 딥(Deep): 입력 계층과 출력 계층 사이에 여러 개의 은닉층을 두어 복잡한 패턴까지 학습 가능
  • 데이터의 컴퓨팅 파워, 알고리즘 발전으로 딥러닝이 급성장

 

핵심 아이디어

  • 계층적 특징 학습
    • 사람 얼굴 인식을 예로 들면 초기 은닉층에서는 선, 모서리, 곡선 등을 잡아내고
    • 더 깊은 층에서는 코, 눈, 입 등 구체적 특징을 학습하며
    • 마지막에는 얼굴 전체를 인식
  • 비선형 변환을 반복 적용
    • 많은 은닉층이 비선형 활성화 함수를 통해 데이터를 변환하면서 복잡한 패턴을 학습
  • 오차 역전파 (Backpropagation)
    • 예측과 실제 차이를 신경망 거꾸로 전달하며 가중치 업데이트

 

딥러닝 적용 절차

  1. 데이터 수집
  2. 데이터 전처리 (결측값 처리, 정규화 등)
  3. 모델 설계
  4. 모델 학습
  5. 검증 및 성능 평가
  6. 최종 모델 활용

 

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 대회