시작하기무료로 시작하기

파트 1: 놀라운 상품에 도전하세요

이번 연습 문제에서는 Dense 레이어를 배워 봅니다. 재미있는 상황을 통해 알아볼까요? 어떤 게임 쇼에서 상품이 신경망으로 결정된다고 상상해 보세요. 참가자는

  • 형제자매 수,
  • 오늘 마신 커피 수,
  • 토마토를 좋아하는지 여부

를 입력하고, 모델이 참가자가 어떤 상품을 받을지 예측합니다.

이를 구현하기 위해 Keras를 사용합니다. 다음과 같은 모델을 만들어야 해요. 입력 레이어는 세 가지 특성(형제자매 수는 정수, 커피 수는 정수, 토마토 선호는 0 또는 1)을 받습니다. 그런 다음 입력이 Dense 레이어를 거쳐 3개의 확률(자동차, 기프트 바우처, 혹은 꽝에 당첨될 확률)을 출력합니다.

Keras의 InputDense 레이어, 그리고 Model 객체는 이미 임포트되어 있습니다. 또한 Dense 레이어를 초기화할 때 사용할 가중치 이니셜라이저 init도 제공됩니다.

이 연습은 강의의 일부입니다

Keras로 배우는 Machine Translation

강의 보기

연습 안내

  • 세 명의 참가자(배치 크기)만 입력받고, 각 참가자는 형제자매 수, 커피 수, 토마토 선호의 세 가지 입력(입력 크기)을 갖는 입력 레이어를 정의하세요.
  • 출력이 3개이고, softmax 활성화 함수와 이니셜라이저로 init을 사용하는 Dense 레이어를 정의하세요.
  • 정의한 모델로 x에 대한 예측 값을 계산하세요.
  • 각 참가자별로 가장 확률이 높은 상품의 인덱스(정수)를 가져오세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define an input layer with batch size 3 and input size 3
inp = Input(____=(____,____))
# Get the output of the 3 node Dense layer
pred = ____(____, ____=____, kernel_initializer=init, bias_initializer=init)(inp)
model = Model(inputs=inp, outputs=pred)

names = ["Mark", "John", "Kelly"]
prizes = ["Gift voucher", "Car", "Nothing"]
x = np.array([[5, 0, 1], [0, 3, 1], [2, 2, 1]])
# Compute the model prediction for x
y = ____.____(____)
# Get the most probable class for each sample
classes = np.____(____, ____)
print("\n".join(["{} has probabilities {} and wins {}".format(n,p,prizes[c]) \
                 for n,p,c in zip(names, y, classes)]))
코드 편집 및 실행