한 함수와 다른 함수를 반전 이동한 값을 곱한 다음,
구간에 대해 적분하는 연산
1차원 Convolution
2차원 convolution
주어진 이미지 A에 대해 kernel , 를 이용하여
경계선에 대한 강도 G를 구함
- 이미지 경계를 찾아내는 연산
- 2개의 kernel을 이용하는 2차원 convolution 연산
출처: https://en.wikipedia.org/wiki/Sobel_operator
여러 개의 학습 가능한 kernel을 가진 convolution 레이어를 이용
- Multi-Channel 이미지 변환
Shift Invariance
점차적으로 high-level feature 생성
Convolution Layer
Pooling Layer
Up-Sampling Layer
Width X Height X Channels 모양의 입 력 tensor를
k_size X k_size X Channels 모양의
kernel filter_size개로 convolution 연산한 결과
import tensorflow as tf
from tensorflow.keras.layers import Conv2D
Conv2D(
filters=5,
kernel_size=(3,3),
padding="same", # 입출력 모양이 같도록 조정
activation="relu",
kernel_initializer="he_noral",
kernel_regularizer=tf.keras.regularizers.L1(1e-4),
# 이 레이어 후의 활성화 함수 파라미터 초기화 파라미터
bias_regularizer=tf.keras.regularizers.L1(1e-4),
input_shape=(32, 32, 3) # width, height, channels 모양의 입력
)
입출력의 모양이 동일해 지도록 가장자이 주변에 0을 덧붙이는 조건
이미지의 해상도를 낮추는 목적
Kernel내의 값을 평균
Kernel내의 최댓값으로 산정
역할
Pooling Layer는 feature 수를 축소
Feature 요약 + 추상화
from tensorflow.keras.layers import MaxPool2D
MaxPool2D(pool_size=(2,2))