딥러닝 입문 기말시험
- 최초 등록일
- 2022.08.27
- 최종 저작일
- 2022.06
- 7페이지/ 한컴오피스
- 가격 1,500원
목차
1. Convolutional neural network(CNN)에서 사용되는 convolution 연산과 pooling 연산에 대해 설명하시오.
2. Long-term Short-term Memory(LSTM)의 동작 방식을 일반적인 recurrent neural network(RNN)과 비교하여 설명하시오.
3. Generative adversarial network(GAN)의 기본적인 구조를 설명하시오. (Discriminator와 generator의 역할을 포함하여 설명할 것.)
4. 신경망에 대한 적대적 공격의 일종인 fast gradient sign method(FGSM)의 원리를 설명하시오. (FGSM을 통해 노이즈를 생성하는 수식을 포함하여 설명할 것.)
5. 신경망 학습시 training error와 validation error의 변화 양상에 따라 학습 상황을 판단할 수 있다. 다음 각각의 경우에 대해 어떤 판단을 할 수 있고 그에 따라 어떤 조치를 취할 수 있는지 설명하시오.
6. 다음 그림을 보고 GoogLeNet의 bottleneck layer의 역할을 설명하시오.
7. 다음 코드가 실행되었을 때, print 함수를 통해서 출력될 값을 적으시오.
8. 다음과 같이 정의된 신경망 클래스에 대해 fc2를 nn.Linear 층으로 구성하고자 한다. 밑줄로 표기된 부분에 들어가야 할 코드를 작성하시오.
9. ResNet18 pretrained model에 대한 전이학습을 통해 다섯 개의 클래스로 구성된 이미지 데이터셋을 학습시키고자 한다. ResNet18의 분류기를 1개의 nn.Linear 객체로 구성하고자 할 때, 아래 코드의 밑줄로 표기된 부분에 추가해야 할 코드를 작성하시오.
10. 다음 코드를 보고 forward method의 x.view의 두 번째 전달인자로 주어져야 할 숫자를 쓰시오.
본문내용
1. Convolutional neural network(CNN)에서 사용되는 convolution 연산과 pooling 연산에 대해 설명하시오.
CNN은 이미지와 같은 3차원 데이터 형상을 무시하는 Fully Connected layer의 문제점을 해결하기 위해 그림 1-1과 같이 Convolution Layer와 Pooling Layer로 구성된 신경망을 사용한다. Convolution 연산은 이미지 픽셀을 특정 필터로 훑으며 나온 출력값을 통하여 이미지의 특징을 추출하는 역할이고, Pooling 연산은 Convolution 연산을 통해 나온 결과값을 다운샘플링하여 크기를 줄이는 역할이다. Convolution 연산과 Pooling 연산을 통해 이미지를 추상화하고, 이 과정을 여러 번 반복해 추상화가 끝난 데이터를 Fully Connected layer에 넣어 이미지를 판별하는 것이 CNN이다.
Convolution 연산은 그림 1-2와 같이 입력(그림 픽셀)과 커널(필터)을 가장 왼쪽 위부터 가장 오른쪽까지 겹치며 훑으면서 겹쳐지는 부분의 각 입력과 커널의 원소끼리 곱해서 모두 더한 값을 출력으로 하는 것을 말한다. 이때 출력되는 결과를 특성 맵(Feature map) 이라고 한다. 출력의 크기는 필터 크기(Kernel size), 패딩(Padding), 스트라이드(Stride) 등에 따라 변할 수 있다.
필터의 크기(Kernel size)는 거의 대부분 홀수로 설정하는데 홀수로 설정할 경우 필터의 중앙 위치를 명확하게 알 수 있지만 짝수로 설정할 경우 그림 1-3과 같이 중앙 위치를 설정하기에 명확하지 않다. 필터의 크기는 출력 데이터의 크기에도 영향이 있는데, 필터의 크기가 증가하면 특성화하는 영역이 늘어나게 되고 출력 데이터의 크기는 감소하게 된다. 반대로 필터의 크기가 감소하면 출력 데이터의 크기는 증가하게 된다.
참고 자료
없음