본문 바로가기
딥러닝실무응용/딥러닝

[딥러닝] 합성곱신경망모델(Convolution Neural Network)

by udeserveit1 2024. 8. 21.

합성곱신경망모델

이전까지는 데이터 지금은 이미지를 보고 맞추는 것

 

컨볼루션 신경망(convolutional neural network, CNN)

- 동물의 시각피질(visual cortex, 視覺皮質)의 구조에서 영감을 받아 만들어진 딥러닝 신경망 모델

  시각피질의 신경세포

   -  시야 내의 특정 영역에 대한 자극만 수용 -> 수용장(receptive field, 受容場)

   - 해당 영역의 특정 특징에 대해서만 반응

  시각 자극이 1차 시각피질을 통해서 처리된 다음, 2차 시각피질을 경유하여, 3차 시각피질 등 여러 영역을 통과하여 계층적인 정보처리

  - 정보가 계층적으로 처리되어 가면서 점차 추상적인 특징이 추출되어 시각 인식

 

컨볼루션 신경망은 Hubel과 Wiesel이 발견한 고양이의 시각 세포 에서부터 출발

- 하나의 뉴런을 활성화시키는 데에 영향을 미치는 시각 정보의 영역을 수용장receptive field

- 예를 들면 어떤 뉴런은 수평선 이미지에 반응하고, 어떤 뉴런은 수직선 이미지에 반응하며 이러한 낮은 수준의 이미지에 대한 반응을 조합하는 더 큰 수용장 이 패턴에 반응한다는 결과

 

수용장의 구조

 

 

즉, 1차 기하학특징 2차는 중간레벨 (코 특징), 3차 하이레벨 특징

데이터만 줬을 뿐인데 알아서 특징을 추출

 

전반부 : 컨볼루션 연산을 수행하여 특징 추출

후반부 : 특징을 이용하여 분류

영상분류, 문자 인식 등 인식문제에 높은 성능

 

 

 

 

 

 

 

이미지 내의 특정한 영역에 대해 원래의 이미지가 가지는 기하적 관 계를 유지한 채로 살펴보는 것이 필요함.

- 특징을 파악하기 위해 살펴보는 작은 영역을 동물의 시각 처리 방식에서는 수용장이라 할 수 있음

합성곱은 결국 특정한 영역을 하나의 특징으로 변환하는 역할 수행

 

 

 

겹치면서

 

연산이란 일정 부분에서 뽑아내는 것

가중치는 w11,w12,... 

특정영역, 영역이 너무 커도 ,,->보통 디폴트 3x3, 5x5

필터 혹은 커널 혹은 마스크 등으로 부른다

 

가중치란 뉴런과 뉴런 사이

마스크를 입력에 포개어 같은 부분을 곱한다.

이것 또한 w0 상수 필요  y11 나옴 그다음 왼쪽에서 오른쪽으로 이동 후  겹치는 곳 곱하고 y12 

구하고 그다음 y13구하고 다음 복귀 후  아래로 내려가서 오른쪽으로 반복 끝나고 아래로

 

컨볼루션 결과는 필터에 의해 결정된다

어떤 필터들이 있는가

평균 필터

평균 필터 혹은 상자 필터

또한 가우스 필터

 

- 필터를 더 높은 중요도를 부여하고 싶을 때 

 

스트라이드(stride)

- 몇 칸씩? 

- 커널을 다음 컨볼루션 연산을 위해 이동시키는 칸 수

 

패딩 (padding)

- 컨볼루션 결과의 크기를 조정하기 위해 입력 배열의 둘레를 확장하고 0으로 채우는 연산

- 보통 많이 씀

- 왜 쓰냐? 예를 들어 , 사진에서 개가 잘렸어 , 이미지에 엣지에도 정보가 있다고 판단 그래서 0으로 채워 

 이미지가 정확히 중간에 있으란 법은 없으니,,,

 

컬러 영상의 컨볼루션

– 칼러 영상의 다차원 행렬 표현

- 눈으로는 2차원이나 , 컴퓨터한테는 rgb까지해서 3d이다 흑백은 2차원(?)

특징은 2d