학교/인공지능

Batch Normalization (IRIS 분류)

서윤-정 2024. 6. 19. 23:04

 

 

 

 

입력 층:

  • 아이리스 데이터셋의 특징 수에 맞춰 형상이 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