Python 코드

[Python] Keras(TensorFlow)

PaperDrop 2025. 7. 17. 23:28

○ 개요

  딥러닝은 인공지능의 핵심 기술 중 하나로, 이미지를 인식하거나 자연어를 이해하는 데 큰 성과를 보이고 있습니다. 이런 딥러닝 모델을 손쉽게 만들 수 있도록 도와주는 라이브러리가 바로 Keras입니다. 이 글에서는 Keras의 정의부터 딥러닝 모델을 구성하는 구성 요소까지, 이해하기 쉽게 정리해보겠습니다.

 

 

○ Keras란?

  Keras는 파이썬 기반의 오픈소스 딥러닝 라이브러리로, 복잡한 딥러닝 모델을 쉽고 빠르게 만들 수 있도록 직관적인 API를 제공합니다.

 

 - 주요 특징 :

  • TensorFlow 위에서 동작 (백엔드 엔진으로 TensorFlow 사용)
  • 간결하고 읽기 쉬운 코드
  • 다양한 신경망 레이어와 구성 지원
  • 초보자부터 전문가까지 모두 사용 가능

 

○ Keras 딥러닝 모델의 기본 구조

  Keras에서는 모델을 만들 때 Sequential APIFunctional API 두 가지 방식 중 하나를 선택할 수 있습니다.
  초보자에게는 Sequential 모델이 이해하기 쉽고 많이 사용됩니다.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential([
    Dense(64, activation='relu', input_shape=(100,)),
    Dense(10, activation='softmax')
])

 

 → 위 코드는 입력 데이터가 100차원인 경우, 은닉층과 출력층을 포함한 간단한 분류 모델입니다.

 

 

○ 주요 구성 요소

  딥러닝 모델은 다양한 구성 요소로 이루어져 있습니다. 아래는 핵심 요소들입니다.

 

1. 레이어 (Layer)

  • 모델의 층을 의미합니다.
  • 예: Dense, Conv2D, LSTM, Dropout 등

2. 활성화 함수 (Activation Function)

  • 비선형성을 부여해 모델이 더 복잡한 표현을 할 수 있도록 함
  • 예: relu, sigmoid, softmax

3. 손실 함수 (Loss Function)

  • 예측값과 실제값 간의 차이를 계산
  • 예: categorical_crossentropy, mse

4. 옵티마이저 (Optimizer)

  • 모델이 학습할 때 가중치를 어떻게 업데이트할지 결정
  • 예: adam, sgd, rmsprop

5. 평가 지표 (Metrics)

  • 학습과 테스트 성능을 확인하는 지표
  • 예: accuracy, mae

 

 

○ 모델 학습 과정

  모델을 구성했다면 이제 학습을 시작해야 합니다. 기본적인 학습 흐름은 다음과 같습니다 :

 

model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=10, batch_size=32, validation_split=0.2)
  • compile()은 모델의 학습 설정
  • fit()은 실제 학습 진행

 

 

○ 모델 평가와 예측

  학습이 끝난 후에는 테스트 데이터를 통해 성능을 평가하거나 새로운 데이터를 예측할 수 있습니다.

loss, acc = model.evaluate(x_test, y_test)
print(f"Test accuracy: {acc}")

predictions = model.predict(x_new)
 

 

○ Keras의 장점 요약

  • 직관적인 코드로 빠르게 모델 개발 가능
  • 다양한 예제와 커뮤니티 자료 풍부
  • TensorFlow와의 완벽한 호환성
  • 초보자에게 적합한 입문용 라이브러리

 

 

○ 마무리

  이제 여러분도 Keras를 이용해 직접 딥러닝 모델을 만들어 볼 수 있습니다. 실습을 반복하면서 레이어, 하이퍼파라미터, 모델 구조 등을 다양하게 조정해 보세요 !

'Python 코드' 카테고리의 다른 글

[Python] train_test_split()  (0) 2025.10.22
[Python] DataFrame.fillna()  (0) 2025.10.22
[Python] DataFrame.astype()  (1) 2025.07.14
[Python] DataFrame.replace()  (1) 2025.07.13
[Python] pandas.get_dummies()  (1) 2025.07.12