본문 바로가기
Keras Deep Learning

Keras 시작하기 - 케라스로 인공신경망 구축 실습

by yj.yoon 2020. 8. 18.

개발 환경 : pycharm-community-2020.2 (무료 에디션)

Anaconda, python3.7, Windows 10


파이참에서 케라스 설치하기 (install package keras)

 

케라스는 인공지능을 컴퓨터로 구현하는 파이썬 패키지이다.

먼저 프로젝트를 생성한다. 생성시 conda 환경에 파이썬 버전은 3.7로 했다.

File - Settings - project : - Python Interpreter 들어가면 지금 프로젝트에 설치되어있는 패키지들을 확인 가능하다.

오른쪽 [+] 를 눌러 keras를 설치한다. 그럼 케라스 패키지 설치 끝!

 

 

 

 

 

케라스로 인공신경망 구축

인공신경망은 인공지능을 구현하는 알고리즘이다.

인공신경망 내에 계층들이 있고 노드가 포함되어있다.

 

 

케라스로 구성할 인공신경망은 입력계층 -> 완전연결계층 -> 출력계층 의 간단한 모델이다.

- 완전연결계층은 입력벡터에 가중치 벡터를 내적하고 편향값을 빼주는 동작

 

 

구현에는 케라스의 서브 패키지 models, layers을 사용한다.

models : 인공신경망의 각 계층을 연결하여 하나의 모델을 만든 후 컴파일, 학습, 예측을 담당한다.

layers : 인공신경망의 각 계층을 만드는 클래스들을 제공한다. - 클래스 : Dense

 

 

model = keras.models.Sequential() # python의 클래스, model이란 인스턴스를 생성

model.add(keras.layers.Dense(1, input_shape=(1,))) # add 함수를 이용해 인공지능 계층을 추가

model.compile('SGD','mse') # 파라미터 지정하고 컴파일, 모델구조를 생성

- 손실함수(MSE) : 가중치(weights)에 따라 오차가 얼마나 커지고 작아지는지 평가

 

 

epochs : 학습 데이터 전체가 사용된 한 회 또는 한 세대

verbose : 학습 진행사항의 표시 여부 0 (표시 안함), 1

model.predict : 입력값을 주고 출력값을 예측하는 함수

 

 

전체 코드

# 숫자 5개 중 2개를 학습해 나머지 3개를 예측하는 케라스 예제
import keras
import numpy

x= numpy.array([0,1,2,3,4])
y= 2 * x + 1

# 인공신경망 모델링
model = keras.models.Sequential()
model.add(keras.layers.Dense(1, input_shape=(1,)))
model.compile('SGD','mse')

model.fit(x[:2], y[:2],epochs=1000, verbose=0)
print('target:', y[2:])
print('y predictions:', model.predict(x[2:]).flatten())

 

 

target = 결과

y predictions = y를 예측한 것

 

결과에 가까운 예측을 냈다고 할 수 있다.

 

 


reference : 코딩셰프의 3분 딥러닝 케라스맛