출처: https://www.cnblogs.com/wangxiaocvpr/p/6247424.html
🌞 Convolution layer에 대해 알아보자
아래와 같이 5x5 크기의 입력이 주어졌을 때, 3x3 짜리 필터를 사용하여 합성곱을 하면 3x3 크기의 Feature map을 뽑아낼 수 잇다. Filter(또는 Kernel)를 한 칸씩 오른쪽으로 움직이며 합성곱 연산을 하는데, 이 때 이동하는 간격을 Stride라고 한다.
출처: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
그런데 이렇게 연산을 하게되면 합성곱 연산의 특성상 출력값인 특성 맵의 크기가 줄어든다. 이런 현상을 방지하기 위해서는 Padding(또는 Margin)을 주어, Stride가 1일 때 입력값과 특성 맵의 크기를 같게 만들 수 있다.
출처: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
위에서는 1개의 필터를 사용하여 연산을 하였지만 여러개의 필터를 이용하여 합성곱 신경망의 성능을 높일 수 있다. 그리고 이미지는 3차원(가로, 세로, 채널)이므로 아래와 같은 모양이 된다. 이 그림에서 각각의 입력과 출력은 다음과 같다.
- 입력 이미지 크기 : (10, 10, 3)
- 필터의 크기 : (4, 4, 3)
- 필터의 개수 : 2
- 출력 특성 맵의 크기 : (10, 10, 2)
출처: https://stackoverflow.com/questions/42883547/intuitive-understanding-of-1d-2d-and-3d-convolutions-in-convolutional-neural-n
은닉층이 순차적으로 연결되어 순환구조를 이루는 인공 신경망의 한 종류
서로 적대(Adversarial)하는 관계의 2가지 모델(생성 모델과 판별 모델)을 동시에 사용하는 기술
GAN은 위조지폐범과 이를 보고 적발하는 경찰의 관계로 설명할 수 있다.
이와 같이 계속 진행되면 위조지폐범은 더욱 정교하게, 경찰은 더욱 판별을 잘 하면서 서로 발전의 관계가 되어 원본과 구별이 어려운 가짜 이미지가 만들어지게 된다.