$\color{#3B88C3}\rule{675px}{2px}$Ch.07(07-1) 확인 문제 풀고, 풀이 과정 정리하기
https://colab.research.google.com/drive/1V08YBVsXXTyLpPh2Bm6xtLkOTJEiUqrf?usp=sharing
$$ z_1 = x_1w_1 + x_2w_2 + … + x_{784}*w_{784} + b_1 $$
인공 신경망(artificial neural network, ANN)
$x$, 입력층(input layer) : 입력 값, 특별한 계산x
뉴런(neuron) : $z$값을 계산(선형 계산)하는 단위 = 유닛(unit)
$z$, 출력층(output layer) : 신경망의 최종 값
keras. layers.Dense(뉴런개수, 뉴런 출력에 적용할 함수, 입력크기)
확인문제
어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개 일 때 필요한 모델 파라미터의 개수는?
③ 1,010개
→ (뉴런 하나 당 입력 100개, 10100) + (뉴런 하나 당 절편 1개, 101) =1010
케라스의 Dense 클래스를 사용해 신경망의 출력층을 만든다. 이 신경망이 이진 분류 모델이라면 activation 매개변수에 어떤 활성화 함수를 지정해야 하나?
② ‘sigmoid’
→ 시그모이드 함수로 0~1사이 값을 출력하여 음성<0.5<양성 클래스 분류.
케라스 모델에서 손실 함수와 측정 지표 등을 지정하는 메서드는?
④ compile()
→ compile(loss, metrics)
loss : 손실함수
이진 분류 : ‘binary_crossentropy’
다중 분류: ‘categorical_crossentropy’
클래스 레이블이 정수 : ‘sparse_categorical_crossentropy’
회귀 모델: ‘mean_square_error’
metrics : 측정하고 싶은 지표 지정
정수 레이블을 타깃으로 가지는 다중 분류 문제일 때 케라스 모델의 compile() 메서드에 지정할 손실 함수로 적절한 것은?
① ‘sparse_categorical_crossentropy’
→ 다중 분류 ‘categorical_crossentropy’ 중 정숫값 하나만 사용 하는 ‘sparse_categorical_crossentropy’ 사용
$\color{#3B88C3}\rule{675px}{2px}$Ch.07(07-2) 확인 문제 풀고, 풀이 과정 정리하기
확인문제
다음 중 모델의 add() 메서드 사용법이 올바른 것은?
② model.add(keras.layer.Dense(10, activation=’relu’))
→ keras.layers 패키지 아래에 있는 층의 객체 Dense 그대로 전달.
크기가 300*300인 입력을 케라스 층으로 펼친다. 어떤 층을 사용해야 하는가?
② Flatten
→ reshape() 메서드로 직접 변환보다 Flatten층으로 곱해지는 가중치나 절편 없이 입력을 일렬로 펼친다.
다음 중에서 이미지 분류를 위한 심층 신경망에 널리 사용되는 케라스의 활성화 함수는?
③ relu
→ 시그모이드의 층이 많아질수록 효과가 누적되어 학습에 민감하지 않음. 렐루 함수는 입력이 양수일 경우 통과 시키고 음수일 경우 0으로 만드는 간단힌 활성화 함수.
다음 중 적응적 학습률을 사용하지 않는 옵티마이저는?
① SGD
→ SGD는 기본 경사 하강법 옵티마이저. Adagrad, RMSprop, Adam 모두 적응적 학습률 옵티마이저