합성곱 신경망 & 순환 신경망

Aelim Shin·2021년 9월 17일
0

딥러닝/CV

목록 보기
3/7
post-thumbnail

합성곱 연산과정

  • 하나의 커널(필터라고도 함) 에 대해 이미지를 쭉 지나가면서 이미지의 부분부분이 필터와 얼마나 일치하는지 계산함
    -> 이동단위는 스트라이드(stride)라고 함
    -> 하나의 이미지에 대해 여러개의 필터를 적용할 수 있으며 필터 하나당 입력 이미지 전체에 대한 필터의 일치 정도가 나오는데 이를 활성화지도 or 특성지도* 라고 함
    -> 합성 신경망 역시 신경망이기 때문에 인공신경망의 형태로도 연산을 표현할 수 있음

패딩과 풀링

  • 패딩 : 합성곱 연산을 수행하면 이미지에 필터를 한번 적용할때마다 결과의 가로세로 크기가 줄어든다.
    이를 보완하기위해 더 깊은 신경망을 만들고자 패딩을 사용한다.
    -> 겨울에 입는 패딩처럼 일정한 크기의 층으로 이미지를 감싸는 것을 의미함
  • 풀링 : 상황에 따라 높은 화질이 불필요할수도, 좀 더 넓게 봐야 파악할 수 있다. 이때 사용하는 것이 풀링이다.
    -> 다운 샘플링(서브 샘플링)의 일종으로 합성곱 신경망에서는 맥스 풀링, 평균 풀링이 사용된다.
    -> 맥스 풀링 : 일정 크기의 구간 내에서 가장 큰 값만 전달하고 다른 정보는 버리는 방법
    -> 평균 풀링 :일정 크기의 구간 내의 값들의 평균을 전달하는 방법, 자극의 관점에서 봤을때 자극을 전달하는것

순환 신경망

  • 시퀀스 데이터 : 순서가 존재하는 데이터
  • 시계열 데이터 : 주식데이터와 같이 순서가 존재하지만 특별히 시간에 따른 의미가 존재하는데이터
  • 순환 신경망(RNN)은 합성곱 신경망보다 먼저 나왔으나 오늘날의 순환 신경망이 되기까지 오랜시간이 걸렸다. 발전과정에 나온 LSTM과 GRU 같은 변형 모델들은 오늘날에도 많이 사용됨.

  • 은닉층 값과의 조합과 결과값을 다시 계산하는 과정이 지정된 시간만큼 반복되며, 일정시간동안 모든 값이 계산되면 모델을 학습하기 위해 결과값과 목표값의 차이를 손실 함수를 통해 계산하고 역전파하여야 함-> 기존 역전파와 다르게 RNN은 계산에 사용된 시점의 수에 영향을 받기때문에 시간에 따른 역전파 BPTT 라고 부른다.

순환 신경망의 한계

  • 타임시퀀스가 늘어나 역전파 시 하이퍼볼릭 탄젠트 함수의 미분값이 여러번 곱해져 좀 더 긴 문장들도 모델을 돌려보면 일정 수준 이상부터는 결과의 한계에 부딪히게 됨.
  • 기울기 손실 현상 : 하이퍼 볼릭 탄젠트 함수를 미분하면 0에서 1사이의 값이 나오고, 기울기 값이 역전파될때 타임 시퀀스가 길어져 모델이 제대로 학습하지 못하는 현상

순환 신경망의 개선

  • LTSM : 기존의 RNN에 장기기억 담당 부분 추가 -> 은닉상태 + 셀상태(전달부분)
  • GRU : LTSM보다 간단한 구조, 셀상태와 은닉상태를 분리하지 않고 은닉상태 하나로 합침.
profile
꿈꾸는 소웨러의 개발 요모조모

0개의 댓글