더북(TheBook)

코드 4-1에서 만든 시퀀셜 모델은 일곱 개의 층으로 구성됩니다. add() 메서드를 호출하여 층을 하나씩 추가했습니다. 각 층이 수행하는 자세한 연산을 조사하기 전에 그림 4-2에 있는 모델의 전체 구조를 살펴보겠습니다. 그림에서 보듯이 이 모델의 처음 다섯 개 층은 conv2d-maxPooling2d 층 패턴이 반복되고 그 뒤에 flatten 층이 뒤따릅니다. conv2d-maxPooling2d 층 그룹이 특성을 추출하는 데 핵심적인 역할을 수행합니다. 각 층은 입력 이미지를 출력 이미지로 변환합니다. conv2d 층은 입력 이미지의 높이와 너비 차원으로 슬라이드되는 합성곱 커널을 사용합니다. 슬라이딩 각 위치에서 커널과 입력 픽셀을 곱하고 더한 후 비선형 활성화 함수로 주입됩니다. 그 결과가 출력 이미지의 한 픽셀이 됩니다. maxPooling2d 층은 비슷한 방식으로 동작하지만 커널이 없습니다. 입력 이미지를 연속되는 합성곱과 풀링 층에 통과시켜 크기는 점점 더 작고 특성 공간상에서 점점 더 추상적인 텐서를 얻게 됩니다. 마지막 풀링 층의 출력은 flatten 층을 사용해 1D 텐서로 변환됩니다. 이 1D 텐서는 밀집 층으로 전달됩니다(그림에는 나타나 있지 않습니다).

▲ 그림 4-2 코드 4-1에서 만든 간단한 합성곱 신경망의 고수준 구조. 그림으로 표현하기 쉽게 하기 위해 이미지 크기와 중간 텐서는 코드 4-1에서 정의한 모델에서 사용된 것보다 작게 그렸다. 합성곱 커널의 크기도 동일하다. 이 그림은 중간에 생성된 4D 텐서에서 하나의 채널만 나타냈다. 실제 모델의 중간 텐서는 여러 개의 채널을 가진다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.