본문 바로가기
ML & DL

딥러닝 기본 구조 파악하기

by IT손흥민 2024. 4. 6.


목적

딥러닝을 공부하기 시작했다.
기본적인 신경망 구조를 파악한 뒤 세부적인 개념들을 공부하고자 포스팅을 하게 되었다.

 

 

딥러닝 신경망 구조

딥러닝 신경망의 기본 구조는 위와 같다.
입력을 받으면 -> 중요도를 다르게 하기 위해 가중치를 곱한다 ->  활성화함수로 보내기 위한 가중합 계산 -> 일정한 기준에 따라 출력값 변환(활성함수) -> 출력

 


입력

  • 데이터를 입력 받는 층

가중치

  • 입력층 값이 다음 노드로 넘어갈 때 모두 같은 값이면 결과도 같음. 데이터를 각기 다른 비중으로 전달시키기 위해 중요도를 다르게 하는 역할(연산 결과를 조정하는 역할)

가중합(또는 전달함수)

  • 각 노드의 가중합이 계산되면 이  가중합을 활성화 함수로 보냄

 


 

활성화 함수

개념

  • 입력 신호의 총합을 출력할 때 일정한 기준에 따라 출력 값을 변환하는 함수

 

비선형 함수 사용

  • 선형함수와 다르게 비선형 함수는 직선 하나로 그릴 수 없는 함수
    *선형함수 : 출력이 입력의 상수 배만큼 변화하는 함수
  • 신경망에서 선형 함수 이용시 신경망의 층을 깊게 하는 의미가 없어짐

 

종류

  • 시그모이드 함수

    - 실수 값을 0~1 사이의 비선형 형태로 변형
    - 기울기 소멸 문제

  • 하이퍼볼릭 탄젠트
    - 선형함수 결과를 -1 ~ 1 사이의 비선형 형태로 변형
    - 기울기 소멸문제 여전히 발생

  • 렐루
    - 입력이 음수일 때는 0을 출력, 양수일 때는 x 출력
    - 기울기 소멸 문제 발생하지 않음
    - 음수 값을 받으면 항상 0을 출력하여 학습 능력 감소
       이를 해결하기 위해 리키 렐루 함수 등을 사용 
       
  • 리키 렐루: 입력 값이 음수면 0이 아닌 0.001처럼 매우 작은 수를 반환
  • 소프트 맥스
    - 입력 값을 0~1 사이에 출력되도록 정규화하여 출력 값들의 총합이 항상 1이 되도록 함

 

손실 함수

개념

  • 가중치 학습을 위해 함수의 결과와 실제 값 간의 오차를 측정하는 함수
  • 학습을 통해 얻은 데이터의 추정치가 실제 데이터와 얼마나 차이가 나는지 평가하는 지표
  • 값이 클 수록 많이 틀렸다는 의미
  • 0에 가까울 수록 완벽하게 추정

 

종류

 


문제점

과적합 문제 발생

  • 해결 방법으로는 드롭아웃이 있음
    *드롭아웃 : 일부 노드를 학습에서 제외시키는 것 

기울기 소멸 문제

  • 은닉층이 많은 신경망에서 주로 발생
    출력층 -> 은닉층으로 가는 오차가 크게 줄어들어 학습이 되지 않는 현상
    해결 방법으로는 시그모이드 함수, 하이퍼볼릭 탄젠트 대신 렐루 활성화 함수 사용

 성능이 나빠지는 문제

  • 경사하강법
    - 손실함수의 비용이 최소가 되는 지점을 찾을 때까지 기울기가 낮은 쪽으로 계속 이동시키는 과정을 반복
    이로 인해 성능이 나빠지는 문제 발생
    - 이러한 문제를 해결하고자 확률적 경사하강법미니배치 경사하강법 사용

    • 미니 배치 경사하강법
      - 전체 데이터셋을 미니배치 여러 개로 나누고, 미니 배치 한 개마다 기울기를 구한 후 그것의 평균 기울기를 이용하여 모델을 업데이트해서 학습하는 방법
      - 전체 데이터를 계산하는 것보다 빠르며, 확률적 경사 하강법보다 안정적

    • 확률적 경사하강법
      - 임의로 선택한 데이터에 대해 기울기를 계산하는 방법
      - 적은 데이터를 사용하므로 빠른 계산 가능
      - 확률적 경사하강법의 파라미터 변경 폭이 불안정한 문제 해결을 위해 학습속도와 운동량을 조정하는 옵티마이저 적용할 수 있음

 

마무리

손실함수 및 활성화 함수 이름들은 어딘지 많이 익숙한데 언제 사용을 해야 하는지 그동안 잘 이해하지 못했었다.
이번 공부를 통해 딥러닝 신경망 기본구조를 파악할 수 있었으며, 앞으로 좀 더 세분화하여 깊게 공부하고자 한다.

 

 

'ML & DL' 카테고리의 다른 글

Deep face 프레임 워크  (0) 2024.04.08

댓글