초봉5센티미터

TIL 34. 딥러닝 - CNN (2) 본문

교육/멋쟁이사자처럼 AI School 7기

TIL 34. 딥러닝 - CNN (2)

삶은돼지고기 2022. 12. 8. 00:38
728x90

이미지 변환

- 푸리에 변환, 코사인 변환, 이미지에서 개체 검색, 원 등의 감지, 이미지 분할, 전경 추출 등

이때 RGB를 따로 보고싶다면 인덱스 번호를 사용하면 되는데 이전과 다르게 BGR 순서이다.

 

- 이미지 사이즈 설정이 중요한 이유

이미지가 크게 되면 계산량이 많아 학습 속도가 느려질 수 있음

너무 작아도 문제 (왜곡, 특징 잃을 수 있음)

어느정도 크기를 조절하여 특징을 잃지 않고 계산이 빠를 수 있도록 하는 것이 중요하다.

 

filters : 컨볼루션 필터의 수 >> 필터 수 = 특징맵 수

kernel_size : 컨볼루션 커널의 (행, 열) >> 필터 사이즈

padding : 경계 처리 방법

 

‘valid’ : 유효한 영역만 출력이 됩니다. 따라서 출력 이미지 사이즈는 입력 사이즈보다 작다.

‘same’ : 출력 이미지 사이즈가 입력 이미지 사이즈와 동일

input_shape : 모델에서 첫 레이어에서 정의 (height, width, channels)

 

activation : 활성화 함수 설정

‘linear’ : 디폴트 값, 입력뉴런과 가중치로 계산된 결과값이 그대로 출력

‘relu’ : rectifier 함수, 은닉층에 주로 사용

‘sigmoid’ : 시그모이드 함수, 이진 분류 문제에서 출력층에 주로 사용

‘softmax’ : 소프트맥스 함수, 다중 클래스 분류 문제에서 출력층에 주로 사용

 

Pooling => 이미지 크기를 줄여 계산을 효율적으로 하고 데이터를 압축하는 효과가 있기 때문에 오버피팅을 방지해 주기도 한다. 이미지를 추상화 해주기 때문에 너무 자세히 학습하지 않도록해서 오버피팅이 방지

 

이미지 사이즈를 어떻게 지정?

A. 계산편의를 위해 보통 정사각형 형태로 만들어준다.

이미지 사이즈가 클 때와 작을 때 모두 장단점이 있다

  • 작을 때 : 이미지가 왜곡되거나 손실될 수도 있지만 계산량이 줄어들기 때문에 빠르게 학습함
  • 클 때 : 작은 이미지를 늘리면 마찬가지로 왜곡될 수도 있지만 더 자세히 학습해서 성능이 좋음. 다만 계산이 오래 걸림

 

이미지 증강 방법

tf.keras.layers.RandomFlip # 접고

tf.keras.layers.RandomRotation # 돌리고

tf.keras.layers.RandomZoom #땡기고

 

mageDataGenerator는 다음과 같은 이미지 변환 유형을 지원

 

공간 레벨 변형

- Flip : 상하, 좌우 반전

- Rotation : 회전

- Shift : 이동

- Zoom : 확대, 축소

- Shear : 눕히기

 

픽셀 레벨 변형

- Bright : 밝기 조정

- Channel Shift : RGB 값 변경

- ZCA Whitening : Whitening 효과

'교육 > 멋쟁이사자처럼 AI School 7기' 카테고리의 다른 글

TIL 36. 딥러닝 - 자연어처리 (NLP)  (0) 2022.12.12
TIL 35. 딥러닝 - CNN(3)  (0) 2022.12.08
TIL 33. 딥러닝 - CNN  (1) 2022.12.05
TIL 32. 딥러닝(3)  (0) 2022.12.04
TIL 31. 딥러닝(2)  (0) 2022.12.01
Comments