입력 층:
- 아이리스 데이터셋의 특징 수에 맞춰 형상이 4인 입력 층을 정의합니다.
- python
코드 복사X = tf.keras.layers.Input(shape=[4])
배치 정규화가 포함된 은닉 층들:
- 코드에서는 각각 배치 정규화와 활성화 함수를 포함한 세 개의 밀집 층을 설정합니다.
- 각 밀집 층은 8개의 유닛을 가지고 있습니다.
- 여기서 사용된 활성화 함수는 'swish'로, 이는 x * sigmoid(x)로 정의됩니다.
구조는 다음과 같습니다.
python
코드 복사
# 첫 번째 은닉 층 H = tf.keras.layers.Dense(8)(X) H = tf.keras.layers.BatchNormalization()(H) H = tf.keras.layers.Activation('swish')(H) # 두 번째 은닉 층 H = tf.keras.layers.Dense(8)(H) H = tf.keras.layers.BatchNormalization()(H) H = tf.keras.layers.Activation('swish')(H) # 세 번째 은닉 층 H = tf.keras.layers.Dense(8)(H) H = tf.keras.layers.BatchNormalization()(H) H = tf.keras.layers.Activation('swish')(H)
출력 층:
- 출력 층은 아이리스 데이터셋의 세 가지 클래스에 해당하는 3개의 유닛을 가지고 있습니다.
- 소프트맥스 활성화 함수는 클래스에 대한 확률 분포를 생성하는 데 사용됩니다.
- python
코드 복사Y = tf.keras.layers.Dense(3, activation='softmax')(H)
- 모델 컴파일:
- 입력 (X)과 출력 (Y)을 지정하여 모델을 생성합니다.
- 손실 함수로 categorical crossentropy를 사용하고, 평가 지표로 정확도를 사용하여 모델을 컴파일합니다.
- python
코드 복사model = tf.keras.models.Model(X, Y) model.compile(loss='categorical_crossentropy', metrics='accuracy')
배치 정규화의 목적
배치 정규화는 모델에 다음과 같은 이점을 제공합니다:
- 각 층의 입력을 정규화하여 평균이 0이고 표준 편차가 1이 되도록 합니다.
- 학습 과정을 안정화하고 가속화합니다.
- 초기 가중치에 대한 민감도를 줄입니다.
'학교 > 인공지능' 카테고리의 다른 글
Multi-Layer로 확장 (IRIS분류) (0) | 2024.06.08 |
---|---|
Multi-Layer로 확장 (보스톤 집값) (0) | 2024.06.08 |
IRIS 분류 (0) | 2024.06.08 |
보스턴 집값 예측 (0) | 2024.06.08 |
5_인공지능개론 (1) | 2024.06.08 |