본문 바로가기

[A.I] 파이썬으로 만드는 인공지능 6장

@xuv22024. 6. 8. 13:00

6장 컨볼루션 신경망

컨볼루션 연산은 특징 추출이나 신호 변환에 사용한다.

커널은 어떤 특정한 신호의 값이 증가하거나 감소하는 지점을 찾아내는 특징을 가진다

커널은 누가 만듦? 기존에는 사람이 설계 하지만 컨볼루션 에서 커널은 학습으로 자동으로 알아냄

컨볼루션의 특징:

  1. 커널에 따라 특징 맵을 추출 해준다
  2. 원본 영상과 같은 크기의 특징 맵을 생성한다
  3. 원본 영상 자체에 연산을 적용하므로 정보가 손실될 우려가 없다(기존에 다층 퍼셉트론은 2차원 구조를 1차원으로 펼쳐서 입력해야 했음)

컨볼루션층은 표준 컨볼루션에 몇 가지 아이디어를 추가로 고려한다

  1. 특징 맵이 작아지는 문제 해결을 위한 0덧대기 (추가로 복사 덧대기는 옆에 있는 숫자로 덧댄다)
  2. 영상 크기를 축소 할 수 있는 보폭을 k로 설정 (k로 인하여 특징 맵을 1/k로 축소 가능)
  3. 바이어스 추가

부분 연결성과 가중치 공유에 대해 설명하시오

부분 연결성: 기존처럼 모든 노드가 연결되어 있지 않고, 필요한 일정 부분에서만 가중치를 수렴하여 연산한다

가중치 공유: 커널의 값 = 가중치 이므로

입력맵과 특징 맵의 모든 노드가 같은 커널을 사용한다. → 가중치의 수가 줄어든다.

풀링층: 특징 맵에 있는 지나친 상세함을 줄여 요약 통계량 추출

컨볼루션 신경망의 성능이 월등한 이유 4가지

  1. 통째 학습 : 수작업으로 최적화 하여 가져다 붙이는 방식보다 우수하다
  2. 특징 학습 : 수작업으로 특징을 추출했을 때보다 우수
  3. 신경망 깊이를 깊게하여 특징을 추출: 수십~ 수백 층 사용
  4. 데이터의 원래 구조를 유지한 채 특징 추출(다중 퍼셉트론은 2차원 자원을 1차원으로 펼쳐서 연산하지만, 컨볼루션 연산을 통하여 입력 자원 그대로 연산이 가능하다)
xuv2
@xuv2 :: xuvlog

폭싹 늙었수다

목차