[BDA] Easy Study Project #3 (Chap 6)

김지호·2023년 5월 29일
0

BDA-Easy Study

목록 보기
3/5

Chap 6. 콘벌루션 신경망

이미지와 같은 고차원 데이터는 차원별로 크기가 조금씩 커져도 전체 데이터 크기, 모델의 파라미터 수가 기하급수적으로 증가
--> 순방향 신경망은 이미지 데이터를 처리하기에 비효율적

6.1 시각 패턴 인식을 위한 신경망 모델

쿠니히코 후쿠시마 - 동물 시각 시스템의 계층적 모델은 인공 신경망으로 모델링

네오코그니트론, 콘벌루션 신경망이 탄생하는 데 영향을 미침

생체 신경망의 계층적 시각 정보 처리 by 데이비드 허블 & 토르스텐 닐스 비셀

<실험 결과>
1. 뉴런은 아주 좁은 영역의 자극에 반응
2. 뉴런마다 다른 모양의 특징을 인식하도록 뉴런의 역할이 나뉨
3. 뉴런은 계층 구조를 이루며 시각 정보를 계층적으로 처리

허블 & 비셀 모델에 영감을 받은 네오코그니트론

  • 위쪽: 생체 신경망이 시각 신호를 계층적으로 처리하는 단계
  • 아래쪽: 네오코그니트론의 신호 처리 단계 (생체 신경망과 대응됨)

네오코그니트론 구조는 다음과 같은 특징을 가진다.

  • 생체 신경망의 처리 경로 모방 --> 여러 계층으로 쌓은 신경망 구조
  • 단순 세포 계층: 시각 정보의 다양한 특징을 학습
  • 복합 세포 계층: 특징의 크기를 줄이는 방식으로 수용 영역 넓히고 특징에 대한 위치 불변성 제공
  • 비지도 학습이 결합한 자체 알고리즘

콘벌루션 신경망의 탄생 by 얀 르쿤

  • 네오코그니트론의 영향을 받은 것
  • 최초의 콘벌루션 신명망 모델: 르넷-5
  • 이를 활용하여 우편물에 필기체로 쓰인 우편번호를 인식하는 데 성공
  • 르넷-5는 콘벌루션 계층 & 서브샘플링 계층으로 이루어짐
  • 각각 생체 신경망의 시각 영역을 모델링한 것
  • 완전 연결 계층으로 연결하여 생체 신경망의 연관 영역을 모델링

6.2 콘벌루션 신경망의 구조

  • 콘벌루션 계층과 서브샘플링 계층으로 이루어짐
  • 두 계층이 번갈아 가면서 반복되고 완전 연결 계층으로 이어짐
  • 두 계층의 연산이 더 많이 실행될수록 뉴런의 수용 영역은 점점 넓어짐
    --> 작은 영역의 단순한 특징부터 넓은 영역의 특징까지 계층적으로 인식

콘벌루션 계층

  • 콘벌루션 연산을 통해 이미지의 다양한 특징 학습

서브 샘플링 계층

  • 풀링 연산을 통해 이미지의 크기를 줄여서 특징의 작은 이동에 대한 위치 불변성을 갖도록 함

6.3 콘벌루션 신경망의 가정 사항

  • 뉴런이 지역 연결을 갖는 모델이므로 파라미터를 일부만 사용

콘벌루션 연산의 성질

  • 일부 파라미터를 사용하지 않는 매우 강한 사전 분포 가정
  1. 희소연결
    콘벌루션 필터는 입력 데이터와 겹치는 영역에만 연결
    나머지 영역에서는 연결이 없음
  1. 파라미터 공유
    동일한 콘벌루션 필터로 콘벌루션을 하므로 같은 계층의 모든 뉴런은 파라미터를 공유함
  1. 이동등변성
    위치에 상관없이 동일한 지역 특징을 인식할 수 있음

풀링 연산의 성질

  • 매우 강한 사전 분포 가정
  • 수용 영역 외의 파라미터 미사용
  1. 위치불변성
  • 입력이 아주 작게 이동했을 때 출력이 바뀌지 않음
  • 특징의 정확한 위치보다 특징의 존재에 대해 관심이 많을 때 유용
  • 주로 인식 모델에서 활용

6.4 개선된 콘벌루션 연산

팽창 콘벌루션

  • 파라미터 수와 계산량을 늘리지 않고 공간 특성 유지 & 수용 영역 넓히기
  • 콘벌루션 필터의 수용 픽셀 간격을 띄워서 필터를 넓게 만듬
  • 장점: 공간 특징을 잘 유지 가능
  • 단점: 액티베이션 맵의 크기가 줄어들지 않기 때문에 메모리 사용량 증가

점별 콘벌루션

  • 가로 X 세로 크기가 1 X 1 콘벌루션 필터 사용
  • 가로 X 세로 크기 불변, 채널 수만 달라짐

그룹 콘벌루션

  • 채널을 여러 그룹으로 나눠서 콘벌루션하는 방식
  • 파라미터와 계산이 절약
  • 채널 간에 상관관계 갖는 구조 학습 가능
  • 장점: 과적합 방지되는 정규화 효과, 파라미터 수 감소(상관관계 낮은 채널 간에 연결 X)

깊이별 콘벌루션

  • 각 채널의 공간 특징을 학습할 수 있도록 채널별로 콘벌루션 연산 수행하고 결과를 재결합

깊이별 분리 콘벌루션

  • 깊이별 콘벌루션 + 점별 콘벌루션 결합
  • 표준 콘벌루션보다 계산량이 8-9배 정도 감소

셔플 그룹 콘벌루션

  • 채널 그룹 간에 정보 교환 --> 표현 강화
  • 주기적으로 그룹 간에 채널 섞어서 정보 교환되도록 함

공간 분리 콘벌루션

  • 정사각형 콘벌루션 필터를 가로 방향 필터와 세로 방향 필터로 인수분해
  • 장점: 계산량 낮추기 가능
  • 단점: 최적해가 아닌 준최적해 탐색

6.5 업샘플링 연산

  • 업샘플링 연산이란?
  • 이미지 크기를 키우는 연산
  • 주로 이미지 생성 모델이나 세그멘테이션 모델에서 사용

언풀링

  • 풀링의 반대 연산
  • 요약된 통계 데이터를 요약하기 전 크기의 데이터로 복구하는 연산

바늘방석 언풀링

  • 2 X 2 영역의 첫 번째 픽셀은 원래의 값으로 채우고 나머지 픽셀은 0으로 채우는 방법

최근접 이웃 언풀링

  • 2 X 2 영역을 모두 원래의 픽셀값으로 채우는 방법

맥스 언풀링

  • 최댓값의 위치를 기억해 두었다가 언풀링을 할 때 기억해둔 위치로 값을 복원하고 나머지는 0으로 채움

트랜스포즈 콘벌루션

  • 콘벌루션 필터를 학습하듯이 업샘플링 필터도 학습하도록 만든 방식
profile
험난한 길을 택해버린 비전공자 데이터 분석가

0개의 댓글