Conv2D

Conv2D

tf.keras.layers.Conv2D

tf.keras.layers.Conv2D(
    filters, 
    kernel_size, 
    strides=(1, 1), 
    padding='valid', 
    data_format=None,
    dilation_rate=(1, 1), 
    groups=1, 
    activation=None, 
    use_bias=True,
    kernel_initializer='glorot_uniform', 
    bias_initializer='zeros',
    kernel_regularizer=None,
    bias_regularizer=None, 
    activity_regularizer=None,
    kernel_constraint=None, 
    bias_constraint=None, **kwargs
)

filters

  • ์ปจ๋ณผ ๋ฃจ์…˜์˜ ์ถœ๋ ฅ ํ•„ํ„ฐ ์ˆ˜

kernel_size

  • ์ปจ๋ณผ๋ฃจ์…˜ ์ปค๋„์˜ (ํ–‰, ์—ด)

  • ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์œˆ๋„์šฐ์˜ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธ

kernel

padding

  • โ€˜validโ€™ : ์œ ํšจํ•œ ์˜์—ญ๋งŒ ์ถœ๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ถœ๋ ฅ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๋Š” ์ž…๋ ฅ ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ์ž‘์Šต๋‹ˆ๋‹ค.

  • โ€˜sameโ€™ : ์ถœ๋ ฅ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

padding

strides

  • strides๋Š” ์ž…๋ ฅ๋ฐ์ดํ„ฐ์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•  ๋•Œ ์ด๋™ํ•  ๊ฐ„๊ฒฉ์„ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ, ์ฆ‰ ํ•„ํ„ฐ๊ฐ€ ์ด๋™ํ•  ๊ฐ„๊ฒฉ์„ ๋งํ•œ๋‹ค

  • strides์˜ ๋””ํดํŠธ ๊ฐ’์€ (1,1)์ด๋‹ค

data_format

  • channels_last (default) ๋˜๋Š” channels_first์œผ๋กœ ๊ตฌํ•œ๋‹ค.

  • channels last : (batch_size, height, width, channels)

  • channels_first : (batch_size, channels, height, width)

format

dilation_rate

  • dilation ํ•ฉ์„ฑ๊ณฑ ์‚ฌ์šฉ์‹œ ์ ์šฉํ•  dilation ๊ฐ’์œผ๋กœ์„œ ์ •์ˆ˜ ํ˜น์€ ์ •์ˆ˜์˜ ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ ํ˜•ํƒœ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

  • 1์ด ์•„๋‹Œ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด strides ๊ฐ’์œผ๋กœ 1 ์ด์™ธ์˜ ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

dilation_rate

groups

  • ์ฑ„๋„ ์ถ•์„ ๋”ฐ๋ผ ์ž…๋ ฅ์ด ๋ถ„ํ• ๋˜๋Š” ๊ทธ๋ฃน ์ˆ˜๋ฅผ ์ง€์ •

activation

  • ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, ๋””ํดํŠธ๋Š”โ€˜linearโ€™

  • โ€˜linearโ€™ , โ€˜reluโ€™ , sigmoidโ€™ ๋“ฑ

  • keras.activations ์ฐธ์กฐ

other

  • use_bias : ํŽธํ–ฅ(b)์„ ์‚ฌ์šฉํ• ์ง€ ์—ฌ๋ถ€. Boolean ํƒ€์ž…์ž…๋‹ˆ๋‹ค.

  • kernel_initializer : ๊ฐ€์ค‘์น˜(W) ์ดˆ๊ธฐํ™” ํ•จ์ˆ˜

  • bias_initializer : ํŽธํ–ฅ ์ดˆ๊ธฐํ™” ํ•จ์ˆ˜

  • kernel_regularizer : ๊ฐ€์ค‘์น˜ ์ •๊ทœํ™” ๋ฐฉ๋ฒ•

  • bias_regularizer : ํŽธํ–ฅ ์ •๊ทœํ™” ๋ฐฉ๋ฒ•

  • activity_regularizer : ์ถœ๋ ฅ๊ฐ’ ์ •๊ทœํ™” ๋ฐฉ๋ฒ•

  • kernel_constraint : Optimizer์— ์˜ํ•ด ์—…๋ฐ์ดํŠธ ๋œ ์ดํ›„์— ๊ฐ€์ค‘์น˜์— ์ ์šฉ๋˜๋Š” ๋ถ€๊ฐ€์ ์ธ ์ œ์•ฝ ํ•จ์ˆ˜

  • bias_constraint : Optimizer์— ์˜ํ•ด ์—…๋ฐ์ดํŠธ ๋œ ์ดํ›„์— ํŽธํ–ฅ์— ์ ์šฉ๋˜๋Š” ๋ถ€๊ฐ€์ ์ธ ์ œ์•ฝ ํ•จ์ˆ˜

input_shape

Conv2D(1, (2, 2), padding='valid', input_shape=(3, 3, 1))
  • ์ƒ˜ํ”Œ ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์ž…๋ ฅ ํ˜•ํƒœ๋ฅผ ์ •์˜ (๋ชจ๋ธ์—์„œ ์ฒซ ๋ ˆ์ด์–ด์ผ ๋•Œ๋งŒ ์ •์˜)

  • (ํ–‰, ์—ด, ์ฑ„๋„ ์ˆ˜)๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ‘๋ฐฑ์˜์ƒ์ธ ๊ฒฝ์šฐ์—๋Š” ์ฑ„๋„์ด 1์ด๊ณ , ์ปฌ๋Ÿฌ(RGB)์˜์ƒ์ธ ๊ฒฝ์šฐ์—๋Š” ์ฑ„๋„์„ 3์œผ๋กœ ์„ค์ •

Last updated

Was this helpful?