Keras
케라스(Keras)는 파이썬으로 작성된 오픈 소스 신경망 라이브러리이다. MXNet, Deeplearning4j, 텐서플로, Microsoft Cognitive Toolkit 또는 Theano 위에서 수행할 수 있다. 딥 신경망과의 빠른 실험을 가능케 하도록 설계되었으며 최소한의 모듈 방식의 확장 가능성에 초점을 둔다. ONEIROS(Open-ended Neuro-Electronic Intelligent Robot Operating System) 프로젝트의 연구적 노력의 일환으로 개발되었으며 주 개발자이자 유지보수자는 구글의 엔지니어 프랑소아 숄레(Francois Chollet)이다.
케라스 주요 특징
케라스는 아래 4가지의 주요 특징을 가지고 있습니다.
- 모듈화 (Modularity)
- 케라스에서 제공하는 모듈은 독립적이고 설정 가능하며, 가능한 최소한의 제약사항으로 서로 연결될 수 있습니다. 모델은 시퀀스 또는 그래프로 이러한 모듈들을 구성한 것입니다.
- 특히 신경망 층, 비용함수, 최적화기, 초기화기법, 활성화함수, 정규화기법은 모두 독립적인 모듈이며, 새로운 모델을 만들기 위해 이러한 모듈을 조합할 수 있습니다.
- 최소주의 (Minimalism)
- 각 모듈은 짥고 간결합니다.
- 모든 코드는 한 번 훏어보는 것으로도 이해가능해야 합니다.
- 단 반복 속도와 혁신성에는 다소 떨어질 수가 있습니다.
- 쉬운 확장성
- 새로운 클래스나 함수로 모듈을 아주 쉽게 추가할 수 있습니다.
- 따라서 고급 연구에 필요한 다양한 표현을 할 수 있습니다.
- 파이썬 기반
- Caffe 처럼 별도의 모델 설정 파일이 필요없으며 파이썬 코드로 모델들이 정의됩니다.
이 멋진 케라스를 개발하고 유지보수하고 있는 사람은 구글 엔지니어인 프랑소와 쏠레(François Chollet)입니다.