더북(TheBook)

2.5 첫 번째 예제 다시 살펴보기

 

이 장 끝부분에 다다랐습니다. 이제 신경망의 이면에 어떤 원리가 있는지 기초적인 내용을 이해했을 것입니다. 첫 번째 예제로 다시 돌아가서 이전 절에서 배웠던 내용을 이용하여 코드를 자세하게 리뷰합시다.

먼저 입력 데이터입니다.

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

train_images = train_images.reshape((60000, 28 * 28))
train_images = train_images.astype('float32') / 255

test_images = test_images.reshape((10000, 28 * 28))
test_images = test_images.astype('float32') / 255

 

입력 이미지의 데이터 타입은 float32로, 훈련 데이터는 (60000, 784) 크기, 테스트 데이터는 (10000, 784) 크기의 넘파이 배열로 저장됩니다.

우리가 사용할 신경망입니다.

network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
network.add(layers.Dense(10, activation='softmax'))

 

이 네트워크는 2개의 Dense 층이 연결되어 있고 각 층은 가중치 텐서를 포함하여 입력 데이터에 대한 몇 개의 간단한 텐서 연산을 적용합니다. 층의 속성인 가중치 텐서는 네트워크가 정보를 저장하는 곳입니다.

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