드디어 딥러닝으로 들어간다~!!! 고! 고!
인공 신경망 (Neural Network)
- 텐서플로(Tensorflow), 케라스(Keras)
- 이진 분류: binary_crossentropy, 다중 분류: categorical_crossentropy
- Dense → Sequential → compile → fit → evaluate
심층신경망
- model.summary()
- keras.layers.Flatten()
- relu
- optimizer
. 기본 경사 하강법 옵티마이저: SGD, Momentum, nesterov
. 적응적 학습률 옵티마이저: RMSprop, Adam, Adagrad
신경망 모델 훈련
- loss function
- epochs
- drop-out
- early stopping
기본 숙제 : Ch.07(07-1) 확인 문제 풀고, 풀이 과정 정리하기
1. 어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는 몇 개인가요?
③ 1,010 개
→ 풀이
'wx + b'와 같기 때문에 뉴런의 개수가 10개이고 입력값이 100개라면 다음과 같이 계산할 수 있다.
10 * 100 + 10 = 1010
2. 케라스의 Dense 클래스를 사용해 신경망의 출력층을 만들려고 합니다. 이 신경망이 이진 분류 모델이라면 activation 매개변수에 어떤 활성화 함수를 지정해야 하나요?
② sigmoid
→ 풀이
이진 분류 모델이라면 0과 1로 수렴하는 형태가 유리하므로 sigmoid를 사용하는 것이 적합하다.
3. 케라스 모델에서 손실 함수와 측정 지표 등을 지정하는 메서드는 무엇인가요?
④ compile()
→ 풀이
간단한 형태의 코드 샘플을 통해 알아볼 수 있다.
dense = keras.layers.Dense(10, activation='softmax', input_shape=(784,)) model = keras.Sequential(dense) model.compile(loss='sparse_categorical_crossentropy', metrics='accuracy') model.fit(train_scaled, train_target, epochs=5) model.evaluate(val_scaled, val_target) |
4. 정수 레이블을 타깃으로 가지는 다중 분류 문제일 때 케라스 모델의 compile() 메서드에 지정할 손실 함수로 적절한 것은 무엇인가요?
① sparse_categorical_crossentropy
→ 풀이
One-Hot 방식인 경우 'categorical_crossentropy'를 사용하면 되고,
정수 레이블이라면 'sparse_categorical_crossentropy'를 사용하면 된다.
추가 숙제 : Ch.07(07-2) 확인 문제 풀고, 풀이 과정 정리하기
1. 다음 중 모델의 add() 메서드 사용법이 올바른 것은 어떤 것인가요?
② model.add(keras.layers.Dense(10, activation='relu'))
→ 풀이
보통 다음과 같은 형태로 작성하는 것을 권장하지만, 1-라인으로 작성한다면 ②번 형태로 작성하면 된다.
dense1 = keras.layers.Dense(10, activation='relu') model.add( dense1 ) |
2. 크기가 300x300인 입력을 케라스 층으로 펼치려고 합니다. 다음 중 어떤 층을 사용해야 하나요?
② Flatten
→ 풀이
2차원 입력이 들어오면 1차원으로 변경하는 layer를 배치하면 된다.
keras.layers.Flatten(input_shape=(300, 300))
3. 다음 중에서 이미지 분류를 위한 심층 신경망에 널리 사용되는 케라스의 활성화 함수는 무엇인가요?
ⓑ relu
→ 풀이
relu 함수의 경우 "max(0, z)" 함수와 같은 형태로써 이미지 분류에서 유용하다.
4. 다음 중 적응적 학습률을 사용하지 않는 옵티마이저는 무엇인가요?
① SGD
→ 풀이
SGD(Stochestic Gradient Descent)는 기본 경사 하강법 옵티마이저의 가장 대표적인 위치에 있다.
'Books' 카테고리의 다른 글
[혼공머신] 5주차 - CH.06 비지도 학습 (0) | 2024.08.16 |
---|---|
[혼공머신] 4주차 - CH05. 트리 알고리즘 (0) | 2024.07.30 |
[혼공머신] 3주차 - CH04. 다양한 분류 알고리즘 (0) | 2024.07.22 |
[혼공머신] 2주차 - CH03. 회귀 알고리즘과 모델 규제 (0) | 2024.07.14 |
[혼공머신] 1주차 - CH02. 데이터 다루기 (0) | 2024.07.07 |