본문 바로가기
빅데이터분석기사

[빅데이터분석기사 필기] 3-4 딥러닝

by 아마도개발자 2024. 8. 17.

 

1. 딥러닝의 개요

  • 딥러닝은 인공신경망에 기반을 둔 머신러닝의 한 종류로 연속된 층에서 점진적으로 의미있는 표현을 배우는 강점이 있으며, 데이터로부터 표현을 학습시키는 새로운 방식
  • 인공신경망의 기본요소는 다른 머신러닝 알고리즘이 발전되어서 만들어진 것인데, 머신러닝이 정형 데이터에 적합한데 비해 딥러닝에 잘 맞는 데이터는 비정형 데이터이다.
  • 인공신경망의 한계를 극복하기 위해 심층 신경망(DNN), 합성곱 신경망(CNN), 순환 신경망(RNN), 생성적 적대 신경망(GAN), RBM, DBN등의 기법이 제안되었다.

 

2. ANN

  • 개요
    • 인간 뇌의 피질 영역내에는 수많은 뉴런들이 시냅스로 층층이 연결되어 존재하는데, 그것을 신경망이라 부른다.
    • 인공신경망은 인간 뇌의 신경망에 착인해 구현된 컴퓨팅 시스템의 총칭으로, 주로 소프트웨어로 구현된다.
  • ANN의 연구
    • 1943년 매컬럭과 피츠: 인간의 뇌를 수많은 신경세포가 연결된 하나의 디지털 네트워크 모형으로 간주, 신경세포의 신호처리 과정을 모형화하여 단순 패턴분류 모형을 개발
    • 헵: 신경세포 사이의 연결강도를 조정하여 학습규칙 개발
    • 로젠블럿: 퍼셉트론이라는 인공세포 개발
    • 비선형성의 한계점 발생: XOR 문제를 풀지 못하는 한계 발견
    • 홉필드, 러멜하트, 맥클랜드: 역전파알고리즘을 활용하여 비선형성을 극복한 다계층 퍼셉트론으로 새로운 인공신경망 모형을 만듦
  • ANN의 구조
    • 입력층, 은닉층, 출력층으로 구성되어 있으며 입력층과 출력층 사이에 은닉충이 하나인 경우를 단층신경망, 여러 개인 경우를 다층신경망이라한다.
    • 은닉층이 여러개일 때는 각 층 마다 여러 개의 뉴런들로 구성되어 있고, 또 각 층에 있는 뉴런들은 전, 후 층의 뉴런들과 연결되어 있다.(같은 층끼리는 연결되지 않음)
    • 인공신경망에서 뉴런(노드)은 기본적인 정보처리 단위, 여러개의 뉴런이 가중된 링크로 연결된 형태. 각 링크에는 가중치가 있고 이는 인간의 시냅스에 해당
    • 가중치는 한 층의 뉴런들이 다른 층의 뉴런들과 연결될 대 그 연결 강도를 결정
    • 최소 가중치는 랜덤 값으로 설정되기 때문에 이 상태에서 어떤 값을 입력해도 원하는 값이출력되지 않음

3. 뉴런의 계산

  • 뉴런은 전이함수, 즉 활성화 함수를 사용하며, 활성화 함수를 이용해 출력을 결정하며 입력신호의 가중치 합을 계산하여임계값과 비교한다. 
  • 가중치 합이 임계값보다 작으면 뉼너의 출력은 -1, 크거나 같으면 +1을출력
  • 뉴런의 활성화 함수로는 시그모이드 함수, softmax함수, ReLU함수, Leaky Relu함수, 하이퍼볼릭 탄젠트 함수 등이 사용 

4. 단일 뉴런의 학습(단층 퍼셉트론)

  • 퍼셉트론은 선형 결합기와 하드 리미터로 구성, 초평면은 n차원 공간의 두 개의 영역으로 나뉜다

5. 신경망 모형 구축시 고려사항

가. 입력 변수

  • 신경망 모형은 그 복잡성으로 인해 입력 자료의 선택에 매우 민감
  • 입력변수가 범주형 또는 연속형 변수일 때 아래의 조건이 신경망 모형에 적합
    • 범주형 변수: 모든 범주에서 일정 빈도 이상의 값을 갖고 각 범주의 빈도가 일정할 때 사용.(가변수화)
    • 연속형 변수: 입력변수 값들의 범위가 변수간 큰 차이가 없을 때(변환, 범주화)

나. 가중치의 초기값과 다중 최소값 문제

  • 역전파 알고리즘은 초기값에 따라 결과가 많이 달라지므로 초기값의 선택은 매우 중요한 문제
  • 가중치가 0이면 시그모이드 함수는 선형이 되고 신경망 모형은 근사적으로 선형 모형이 됨
  • 초기 모형은 선형 모형에 가깝고, 가중치값이 증가할수록 비선형 모형이 됨

다. 학습 모드

  • 온라인 학습모드, 확률적 학습모드, 배치 학습모드

라. 은닉층과 은닉노드의 수

  • 신경망을 적용할 대 가장 중요한 부분이 모형의 선택(은닉층의 수와 은닉노드의 수 결정)
  • 인늑층과 은닉노드가 많으면 과대적합, 적으면 과소적합 발생
  • 은닉노드의 수는 적절히 큰 값으로 놓고 가중치를 감소 시키며 적용

마. 과대적합 문제

  • 신경망에서는 많은 가중치를 추정해야 하므로 과대적합 문제가 빈번
  • 알고리즘의 초기종료와 가중치 감소 기법으로 해결 가능
  • 모형이 적합하는 과정에서 검증오차가 증가하기 시작하면 반복을 중지하는 조기종료 시행
  • 선형모형의 능형회귀와 유사한 가중치 감소라는 벌점화 기법 활용

바. 경사감소소멸의 문제

  • 신경망의 층수가 늘어나면서 앞쪽에 있는 은닉충들의 가중치가 제대로 훈련되지 않음
  • 이러한 한계들을 극복하기 위해 DBN, SAE, CNN 등 딥러닝 알고리즘들이 인공신경망을 기반으로 탄생

 

6. 심층 신경망(DNN)

  • DNN의 개요
    • 입력층과 출력층 사이에 다중의 은닉층을 포함하는 인공신경망(ANN)을 의미
  • DNN의 특징
    • 심층신경망은 다중의 은닉충을 가지고 있어 데이터의 잠재적인 구조 파악이 가능, 비선형적 관계를 학습 할 수 있음
    • 수 많은 연산이 필요하고, 과한 학습으로 실데 데이터에 오히려 오차가 증가하는 과적합 혹은 시간 복잡도 등의 문제가 발생할 수 있음. 이를 해결하기 위해 드롭아웃, ReLU, 배치 정규화 등이 기법 적용
    • 알고리즘에 따른 심층신경망의 종류로는 이미지를 처리하는 CNN, 시계열 데이터를 처리하는 RNN, 비지도형 기계학습을 기반으로 하는 DBN, 심층 오토인코더 등이 있음

 

7. 합성곱 신경망(CNN)

  • CNN의 개요
    • 사람의 시각인지 과정을 모방해 인공신경망에 필터링 기법을 적용한 것. 이미지와 같은 2차언 데이터를 분석함
    • 필터링을 통해 입력된 이미로부터 특징을 추출한 뒤, 분류 작업을 수행
  • CNN 알고리즘
    • 특징을 추출하는 합성곱 레이어와 추출된 특징 데이터의 사이즈를 줄이고 노이즈를 상쇄시키는 풀링레이어로 구성
    • 합성곱 과정
      • 이미지 데이터가 입력되었을 때 특징을 뽑아내는 과정에 해당
      • 합성곱 층의 뉴런은 수용 영역 안에 있는 픽셀에만 연결되며, 수용 영역의 용량만큼 필터가 존재
      • 필터는 합성곱층에서 가중치 파라미터에 해당하며, 학습단계에서 적절한 필터를 찾도록 학습됨
      • 합성곱 연산을 적용하면 입력 데이터보다 작은 크기의 특성 맵이 출력되며, 이 과정을 반복하면 데이터의 크기가 작아지고 정보 손실이 발생할 수 있어 이미지의 가장자리를 특정 값으로 감싸는 패딩과정을 수행
    • 풀링 과정
      • 합성곱 연산 이후에 풀링이라고 불리는 과정을 통해 활성화된 특성 지조들이 크기를 줄임. 이 특성 지도들에 다시 컨볼루션, 활성화, 서브 샘플링을 수행해 점차적으로 로컬한 특성 지도로부터 글로벌한 특성 지도를 만듦
      • 이 과정을 반복하여 얻얻진 최종 특성지도는 인공신경망에 입력되어 이미지가 어떤 클래스 라벨에 속하는지 분류

8. 순환 신경망(RNN)

  • RNN의 개요
    • 시계열 데이터를 처리하기 위한 모델로 순차적이며 반복적인 데이터를 학습하는데 특화된 알고리즘
    • 내부가 순환구조로 이루어짐. 즉, 입력층, 은닉층, 출력층의 3단계 구조이나 가장 큰 특징은 은닉층이 이전 데이터를 참조하도록 서로 연결되어 있다는 것
    • 과거 학습 내용을 현재의 학습에 반영. 또한 신경망 내부에 상태를 저장해 시퀸스 형태의 데이터 입력을 처리하여 앞으로의 데이터를 예측
  • RNN의 특징
    • 보통 음성인식이나텍스트 앞 뒤 단어를 파악하는 분석같이 과거 데이터를 고려해 현재 입력 데이터를 순차 처리하는 분석에 주로 사용.(자동 번역, 단어 의미 판단, 이미지 캡션 생성 등) 
    • 선형 함수가 아닌 비선형 함수를 활성함수로 쓰는 것과 비슷한 이유로 초기값에 따라서 과거 데이터를 계속곱하수록 작아지는 문제 발생. 이를 해결하기 위해 LSTM방식의 순환신경망 사용
    • LSTM: RNN의 장기 의존성 문제를 보완하는 딥러닝 프레임워크