코딩헤딩

Deep learning[딥러닝] 신경망계층 추가 본문

머신러닝 | 딥러닝

Deep learning[딥러닝] 신경망계층 추가

멈머이 2024. 1. 3. 23:13
728x90

데이터 수집, 정규화, 2차원데이터로 변환, 훈련 및 검증 데이터 분류는 저번 글과 동일하다.

https://coding-heading.tistory.com/94

 

Deep learning[딥러닝] 인공신경망 훈련모델 (데이터 전처리, 모델 생성)

딥 러닝이란 무엇입니까? 딥 러닝은 인간의 두뇌에서 영감을 얻은 방식으로 데이터를 처리하도록 컴퓨터를 가르치는 인공 지능(AI) 방식입니다. 딥 러닝 모델은 그림, 텍스트, 사운드 및 기타 데

coding-heading.tistory.com

 

 

* 신경모델에 계층(layer) 추가하는 방법 3가지

1. 층을 먼저 만들고, 신경망 모델 생성 시 추가하기

"""입력계층(Input Layer) 생성하기"""
dense1 = keras.layers.Dense(100, activation="sigmoid",
                            input_shape=(784, ))
dense1

"""출력계층(Output Layer) 생성하기"""
dense2 = keras.layers.Dense(10, activation="softmax")
dense2

"""신경망 모델 생성하기"""
model = keras.Sequential([dense1, dense2])
model

"""모델 계층 확인하기"""
model.summary()

 

2. 신경망모델 생성 시 계층 (layer)을 함께 추가하기

"""모델 생성 및 계층 추가하기"""
model = keras.Sequential([
    keras.layers.Dense(100, activation="sigmoid",
                            input_shape=(784, ), name="Input-Layer"),
    
    keras.layers.Dense(10, activation="softmax", name="Output-Layer")
], name="Model-2")
model

model.summary()

 

 

3. 신경망 모델을 먼저 생성 후, 계층 추가하기

"""신경망 모델 생성하기"""
model = keras.Sequential()
model

"""계층 생성 및 모델에 추가하기"""
model.add(
    keras.layers.Dense(100, activation="sigmoid",
                            input_shape=(784, ), name="Input-Layer")
)

model.add(
    keras.layers.Dense(10, activation="softmax", name="Output-Layer")
)

model.summary()

 

 

 => 일반적으로 사용되는 방식
 => 위의 1, 2 방벙으로 수행 후, 계층을 추가할

      필요성이 있을 경우에도 사용됨
 => 출력계층이 끝난후에 추가하지 않는다.

 

 

 

 

 

* 모델 설정하기(compile)

model.compile(loss="sparse_categorical_crossentropy",
             metrics="accuracy")

- 손실함수는 다중분류 사용

 

*모델 훈련하기(fit)

model.fit(train_scaled, train_target, epochs=10)

* 성능 평가하기

"""성능평가하기(검증)"""
score = model.evaluate(val_scaled, val_target)

"""손실률 / 정확도 출력하기"""
print(f"손실률 : {score[0]}, 정확도 : {score[1]}")

결과 :

375/375 [==============================] - 1s 2ms/step - loss: 0.4333 - accuracy: 0.8450
손실률 : 0.43333470821380615, 정확도 : 0.8450000286102295

728x90