주요 컨텐츠로 이동

Keras Model (케라스 모델)

Databricks 무료로 시작하기

Keras 모델이란 무엇입니까?

Keras는 Theano와 Tensorflow 기반의 딥러닝용 고차원 라이브러리입니다. Python 언어로 쓰여 광범위한 딥러닝 모델을 깔끔하고 편리하게 제작할 수 있습니다. Keras는 신경망 개발, 테스트에 관한 한 가장 애용되는 고수준 신경망 API 중 하나로 자리 잡았습니다. Keras 고수준 API 덕분에 요즘은 신경망 계층을 생성하고 복잡한 아키텍처를 설정하는 것쯤은 간단한 일이 되었습니다. Keras 모델은 시퀀스나 독립 실행형 그래프 하나로 구성됩니다. 100% 구성 방식 모듈이 여러 개 있어 이를 이리저리 조합하여 새 모델을 만들면 됩니다. 이렇게 함께 플러깅할 수 있는 구성 방식 모듈 중에는 신경층, 비용 함수, 최적화 프로그램, 초기화 방식, 드롭아웃, 손실,  활성화 함수 및 정규화 방식 등이 있습니다. 모듈 방식의 주된 장점 중 하나는 새 기능을 별도의 모듈로 손쉽게 추가할 수 있다는 점입니다. Keras는 순차적 신경망(Sequential API)뿐 아니라 복잡한 구조의 신경망(Functional API, 서브클래싱)도 지원하여 초보자부터 전문가까지 다양한 사용자층이 활용할 수 있습니다. 특히, 신경망의 다양한 유형(예: CNN, RNN, LSTM 등)을 손쉽게 구현할 수 있도록 고수준의 모듈화된 기능을 제공합니다. 결과적으로, Keras는 신경망을 처음 배우는 사람부터 대규모 신경망 모델을 설계하려는 연구자까지 폭넓게 사용되고 있습니다.Keras 모델

순차적 API 모드

순차적 API 모델은 가장 단순한 모델이며 선형 파일(pile) 계층으로 구성되어 대부분 문제점에 계층별(layer-by-layer)로 모델을 구성할 수 있습니다. 순차적 모델은 사용하기 아주 간편하지만, 토폴로지에 한계가 있습니다. 이 한계는 공유 계층으로는 모델을 구성할 수 없고 입력이나 출력이 여럿이면 안 된다는 사실에서 기인합니다.

함수형 API

반면 함수형 API는 유연성이 매우 필요한 복잡한 모델을 만드는 데 이상적입니다. 이것을 이용하면 단순히 이전 계층, 다음 계층만이 아니라 더 많이 연결되는 계층을 포함한 모델을 정의할 수 있습니다. 모델을 정의할 때는 계층 인스턴스를 만들어 이를 쌍으로 묶어 서로 직접 연결하면 됩니다. 사실, 이 모델로는 계층을 다른 모든 계층 중 어디에든 연결할 수 있습니다. 이 모델 생성법을 이용하면 샴 네트워크(Siamese network), 잔류 네트워크(Residual network)와 같은 복잡한 네트워크, 다중 입력/다중 출력 모델, DAG(Directed Acyclic Graph) 및 공유 계층을 포함한 모델 등을 생성할 수 있습니다.  

추가 자료

용어집으로 돌아가기