。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

[네이버클라우드] 클라우드 기반의 개발자 과정 7기/AI

Ai 개념정리 4 - 합성곱 신경망

quarrrter 2023. 5. 11. 17:46

지금까지는 글 데이터였고 이제는 ,, 이미지!

 

 

이미지 분석 - CNN 모델

CNN(합성곱 신경망): convolution - 3차원 가로 세로

FC(완전연결 신경망): fully connected - 모든 뉴런이 다 연결됨

  • 이미지 분석에서 FC의 문제점:

픽셀을 잘라서 이어 붙이기 때문에 데이터가 엄청 길어짐 -> 학습시간의 문제, 네트워크 크기, 데이터 형상의 무시

이미지 데이터의 경우 3차원(세로,가로,채널)의 형상을 가진 공간적 구조를 지님

1. 합성곱층(Convolution Layer, Conv Layer)

이미지 데이터는 3차원 데이터를 입력하고 3차원 데이터를 출력하며, 입출력 데이터를 특징맵(Feature Map)이라 함

합성곱층 뉴런의 수용영역 안에 있는 픽셀에만 연결 (특징이 팔요한 부분만 뽑아서 집합시킴)

2. 필터(Filter)

CNN 의 필터: 가중치 파라미터(W)역할 ㅎㅎ

학습단계에서 적절한 필터를 찾도록 학습

3. 합성곱의 연산

입력데이터에 필터만큼 곱하고 더해서 특성맵을 출력한다.

4. 패딩(Padding)

데이터는 Conv Layer를 지날 때마다 작아지면서 가장자리 정보가 사라지는 문제가 발생한다.

주로 zero-padding을 사용해서 입력데이터 주변을 0으로 채워 늘림

5.스트라이드(Stride)

필터가 이동할 간격 ( 보통 1~2), 작을 수록 더 잘 작동되고 시간이 오래걸림..

스트라이드 값을 조정하여 출력크기를 조정할 수 있음

 

6. 3차원 데이터의 합성곱 - RGB가 여기 해당인지 확인

입력의 채널 수와 필터의 채널 수가 같아야하며. 컬러는 RGB 3번 계산 ,,,

7. 풀링층(Pooling layaer) - 가장 중요한 것만 뽑아서 계산!

그림의 사이즈를 점진적으로 줄이는 법

Max-Pooling: 해당 영역에서 최대값을 찾는 방법 (보통)

Average Pooling : 해당 영역에서 평균값을 계산하는 방법

한 번에 절반으로 줄일 수 있음. 스트라이드 값을 조정하여 출력크기를 조정할 수 있음

흑백 0~255 /모델 입력층에 input_shape(가로,세로,1)

컬러 RGB /모델 입력층에 input_shape(가로,세로,3)

 

 

 

지피티의 흥미로운 답: