머신러닝 & 딥러닝

[머신러닝 & 딥러닝] 딥러닝을 시작하기 전에

beginner-in-coding 2025. 4. 21. 09:04

01. 딥러닝(Deep Learning)

  • 머신러닝의 하위 분야
  • 여러 개의 층으로 이루어진 인공 신경망(Artificial Neural Network, ANN)
  • 심층 신경망(Deep Neural Network, DNN) 구조: 이미지나 텍스트 분석에 잘 맞음

02. 인공 신경망

  • 기본 개념: 사람의 뇌가 어떻게 복잡한 문제를 푸는 지에 대한 가설과 모델 기반
  • 초기 연구: 워렌 맥컬록(Warren McCulloch), 월터 피츠(Walter Pitts)
    • 맥컬록-피츠 뉴런 모델(퍼셉트론)이 처음 구현된 이후, 루멜하트(Rumelhart), 힌튼(Hinton), 윌리엄스가 신경망을 효과적으로 훈련시키는 역전파 알고리즘을 재발견한 이후에 신경망에 대한 관심이 살아남
  • 신경망 구조: 여러 층으로 이뤄짐
  • DNN 애플리케이션 예시
    • 사진 이미지 태깅을 위한 페이스북의 DeepFace
    • 중국어 음성 검색을 지원하는 바이두의 DeepSpeech
    • 구글의 새로운 언어 번역 서비스
    • 신약 개발과 독성 예측에 사용되는 새로운 기법
    • 훈련된 피부과 전문의와 비슷한 정확도로 피부암을 진단할 수 있는 모바일 애플리케이션
    • 유전자 서열에서 단백질 3D 구조 예측
    • 카메라 비디오 스트림과 같은 관측 데이터만 사용하여 교통 체증 속에서 운전하는 방법 학습하기

03. 단일층 신경망

  • 아달린(ADAptive Linear NEuron, Adaline) 알고리즘 참고
    • 요약
      • 경사 하강법 최적화 알고리즘을 통한 모델 가중치 학습
        • 에포크마다 모든 가중치를 동시에 업데이트
      • 에포크마다 가중치 벡터 w를 업데이트
      • 최적의 모델 가중치를 찾기 위해 제곱 오차합 비용 함수로 정의된 목적 함수를 최적화
      • 학습률은 비영 함수의 전역 최솟값을 지나치지 않도록 학습 속도를 조절하기 위해 신중하게 선택
      • 확률적 경사 하강법: 모델의 학습을 가속하기 위해 사용하는 최적화 방법
        • 하나의 훈련 샘플(온라인 학습) 또는 적은 수의 훈련 샘플(미니 배치 학습)을 사용해서 비용을 근사함
        • 경사 하강법에 비해 더 자주 가중치를 업데이트하므로 학습이 더 빠름
        • 연속적인 학습 특성이 아니고 확률적으로 이동하는 특성이 비선형 활성화 함수를 사용한 다층 신경망을 훈련시킬 때 장점이 됨
  • 아달린 알고리즘과 그림과 개념이 같음
  • 단일층 네트워크: 아달린이 입력층과 출력층 두 개의 층으로 이루어져 있지만, 입력층-출력층 사이의 연결이 하나이기 때문에 단일층(single-layer) 네트워크라고 정의함

04. 다층 신경망

  • 다층 피드포워드(feedforward): 여러 개의 단일 뉴런을 연결
    • 피드 포워드: 각 층에서 입력을 순환시키지 않고 다음 층으로 전달한다는 의미
  • 다층 퍼셉트론(Multilayer Perceptron, MLP): 완전 연결 네트워크의 특별한 경우
    • 대표적인 피드포워드 인공 신경망 중 하나
    • MLP 뉴런을 0과 1 사이의 연속적인 값을 반환하는 로지스틱 회귀 유닛임
  • 심층 인공 신경망(deep artificial neural network): 하나 이상의 은닉층을 가진 네트워크
  • 은닉층 추가
    • 깊은 네트워크 구조를 만들기 위해 MLP에 여러개의 은닉층을 추가할 수 있음'
    • 신경망의 층과 유닛의 개수: 추가적인 하이퍼파라미터 튜닝
    • 네트워크에 층이 추가됨 → 역전파로 계산하는 오차 그레이디언트가 작아짐
      • 그레디언트 소실 문제: 모델을 학습하기 어렵게 만듬
      • 이런 심층 신경망 구조를 훈련시키기 위해 딥러닝(deep learning)이 개발됨

다층 신경망


05. 정방향 계산으로 신경망 활성화 출력 계산

  • MLP 모델의 출력을 계산하는 정방향 계산 과정
    1. 입력틍에서 시작, 정방향으로 훈련 데이터의 패턴을 네트워크에 전파하여 출력을 만듬
    2. 네트워크의 출력을 기반으로 비용함수를 이용하여 최소화해야 할 오차를 계산
    3. 네트워크에 있는 모든 가중치에 대한 도함수를 찾아 오차를 약전파하고 모델을 업데이트함
  • 이 세 단계를 여러 에포크동안 반복하고, MLP 가중치를 학습시킴
  • 그 후, 클래스 레이블을 예측하기 위해 정방향 계산으로 네트워크의 출력을 만들고 임계 함수를 적용
    • 클레스 레이블은 원-핫 인코딩 방식으로 표현됨
  • 이미지 분류와 같은 복잡한 문제는 MLP 모델 + 비선형 활성화 함수 사용
    • 로지스틱 회귀에 사용되는 시그모이드(로지스틱) 활성화 함수
    • 시그모이드 함수: S자 모양의 그래프, 최종 입력을 0~1 사이 로지스틱 분포로 매핑