쉽고 직관적인 신경망 라이브러리, Keras
Keras(케라스)
는 딥러닝 모델을 쉽게 만들고 훈련할 수 있도록 도와주는 라이브러리로, 텐서플로우와 함께 사용되는 인기 라이브러리입니다.
간단하게 말하면 케라스는 텐서플로우를 보다 쉽게 사용할 수 있도록 만든 도구입니다.
Keras로 무엇을 할 수 있을까?
Keras를 사용하면 아래와 같이 다양한 AI 모델을 만들 수 있습니다.
-
손글씨 숫자 인식 : 자동으로 숫자를 분류하는 모델
-
이미지 분류 : 입력된 이미지에서 사람, 자동차, 고양이 등을 분류하는 모델
-
자연어 처리 : 뉴스 기사가 긍정적인지 부정적인지를 판단하는 모델
-
GAN(생성적 적대 신경망) : 새로운 이미지를 생성하는 모델
Keras 기초 코드 예시
다음은 간단한 AI 모델을 생성하는 예제입니다.
from tensorflow import keras
from tensorflow.keras import layers
# 모델 생성
model = keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(10,)),
layers.Dense(32, activation='relu'),
layers.Dense(1, activation='sigmoid')
])
# 모델 컴파일
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
# 모델 요약 출력
model.summary()
코드 설명
위 코드의 주요 의미는 다음과 같습니다.
아직 코드 내
relu
,sigmoid
,adam
과 같은 전문 용어를 이해하실 필요는 없습니다. 각 전문용어에 대한 자세한 설명은딥러닝 기초
챕터에서 다루도록 하겠습니다.
-
from tensorflow import keras
: 텐서플로우 라이브러리에서 케라스 모듈을 불러옵니다. -
from tensorflow.keras import layers
: 케라스 모듈에서 레이어 모듈을 불러옵니다. -
keras.Sequential()
: 신경망 레이어를 순차적으로 쌓아 딥러닝 모델을 구축합니다. -
Dense(64, activation='relu', input_shape=(10,))
: 64개의 뉴런을 가진 층을 생성하고, 활성화 함수로ReLU
를 사용합니다. 입력 데이터의 형태는 10개의 특성을 가진 1차원 벡터입니다. -
Dense(32, activation='relu')
: 32개의 뉴런을 가진 층을 생성하고, 활성화 함수로ReLU
를 사용합니다. -
Dense(1, activation='sigmoid')
: 1개의 뉴런을 가진 출력층을 생성하고, 활성화 함수로Sigmoid
를 사용합니다. Sigmoid는 이진 분류 문제에서 출력값을 0과 1 사이의 확률로 변환하는 역할을 합니다. -
model.compile()
: 모델을 컴파일합니다. 여기서는adam
옵티마이저,binary_crossentropy
손실 함수,accuracy
메트릭을 사용합니다. -
model.summary()
: 모델의 구조를 요약하여 출력합니다.
이와 같이 Keras는 간결한 코드로 복잡한 신경망을 쉽게 구현할 수 있는 유용한 라이브러리입니다.
다음 수업에서는 Keras를 활용하여 실제 데이터셋을 사용해 모델을 학습하는 방법에 대해 알아보겠습니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!