[AI] 김태영의 케라스(KERAS) 1강

개발Velog·2020년 3월 30일
0

DeepLearning

목록 보기
3/10
post-thumbnail

KERAS란?

Tensorflow를 쉽게 사용하기 위한 라이브러리.
직관적이고, 발전가능성이 높고, 협업에도 가능.

MODEL 만드는 과정

네트워크(Network)
층을 쌓는다.
sigmoid(시그모이드)

목표함수(Objective Function)
매우 중요 !
mean_squared_error
-> 수치예측
categorical_crossentropy
-> 다중분류
binary_crossentropy
-> 이진분류

최적화기(Optimizer)
네트워크를 갱신할 다른 개체
온갖 도움을 주는 것들이라고 이해.
ex) 학원, 과외 등등 여러가지 교육을 받아보면서 최적의 교육을 찾는다.

SGD.......
컴파일(Compile)
네트워크가 학습할 준비를 했다.

학습순서

데이터셋 생성
원본 데이터를 불러오거나 시뮬레이션을 통해 데이터 생성
데이터로부터 훈련셋, 시험셋을 생성
포맷 변환

from keras.utils import np_utils
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Activation

모델 구성
시퀀스 모델을 생성한 뒤 필요한 레이어를 추가 및 구성
복잡한 모델일 경우 케라스 함수 API사용

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(60000, 784).astype('float32') / 255.0
x_test = x_test.reshape(10000, 784).astype('float32') / 255.0
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)

모델 학습과정 설정
학습하기 전 학습에 대한 설정 수행
손실 함수 및 최적화 방법을 정의
케라스에서는 compile() 함수 사용

model = Sequential()
model.add(Dense(output_dim=64, ))

모델 학습
훈련셋을 이용하여 구성된 모델로 학습
케라스에서는 fit() 함수를 사용

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
hist = model.fit(x_train, y_train, epochs=5, batch_size=32)

학습과정 살펴보기
모델 학습 시 훈련셋, 검증셋의 손실 및 정확도 측정
반복횟수에 따른 손실 및 정확도 추의를 보면서 학습 상황 판단

print('## training loss and acc ##')
print(hist.history['loss'])
print(hist.history['acc'])

모델 평가
준비된 시험셋으로 학습된 모델을 평가
케라스에서는 evaluate()함수 사용

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=32)
print('## evaluation loss and_metrics ##')
print(loss_and_metrics)

모델 사용
임의의 입력으로 모델의 출력을 얻음
케라스에서는 predict()함수 사용

xhat = x_test[0:1]
yhat = model.predict(xhat)
print('## yhat ##')
print(yhat)
출처 및 참조 :

[토크ON세미나] 딥러닝 입문에서 활용까지 케라스(Keras) 1강 - 딥러닝과 케라스 | T아카데미
https://www.youtube.com/watch?v=cJpjAmRO_h8

profile
안녕하세요. 데이터와 동고동락 중인 개발자 입니다.

0개의 댓글