Deep Learning 라이브러리 소개 및 추천

HEEJOON MOON·2021년 8월 2일
0
post-thumbnail

아마 많은 분들이 딥러닝 라이브러리에 관해 고민하실 겁니다...
크게 Pytorch, Tensorflow2 & Keras로 나눌 수 있을 것 같습니다!

이번 포스트는 이러한 딥러닝 라이브러리에 대해 소개해볼까 하는데요, 먼저 각각의 역사와 생각하는 장단점을 소개해 드리겠습니다!

딥러닝의 라이브러리는 Google이 Tensorflow1을 무료로 배포하면서 시작합니다.
Tensorflow1은 구글에서 배포 당시, 굉장히 Sensational 하였습니다.
기존의 딥러닝 이론들을 코딩으로 구현해야 하는 까다로움과 번거로움들을 Tensorflow가 해결해 주기 시작하였습니다. Tensorflow1는 간단하면서도 잘 작동하였기 때문에 성공적였습니다.
하지만 Tensorflow1의 단점으로는 어려운 문법이 단점이었습니다.
이로 인해, 코딩 전공이 아닌 사람들이 쉽게 다루지 못하였다는 단점이 있었습니다
.


이러한 문제점을 보완한 Keras와 Pytorch는 진입 장벽을 낮추었습니다!
특히 Keras는 문법이 매우 쉽고 직관적이어서, 많은 사람들이 사용할 있게 하였습니다.
하지만 Keras는 연구자들이 새로운 모델 기능이나 공식을 만들기에는 부족한 면이 있었습니다.


그래서 많은 연구자들은 Pytorch를 선택하게 됩니다.
지금도 제가 연구를 하면서 느낀점은, 많은 논문들이 제시하는 내용은 pytorch를 이용하여 구현되었다는 점이었습니다. 한 번 익숙해진 환경에서 탈피하는 것은 꽤나 어려운 도전일 것이기 때문이겠죠!
또한, Pytorch는 사용하면서 customize하기 매우 좋다고 느끼고 있습니다.

Google 역시 이러한 상황을 지켜보지 않았고, Tensorflow2를 출시하면서 Keras를 정식 문법으로 흡수하게 됩니다! 이로 인해 직관적이며 쉬운 라이브러리를 만들고자 한 것 같습니다!
실제로 제가 사용해봤을때, Tensorflow2는 keras를 이용하여 모델을 구현 및 훈련하는 과정이 매우 간단해졌습니다!

이제 글을 마무리할까 하는데요,
본인이 쉽게 딥러닝을 접하면서 프로젝트를 해보고 싶은 경우에는 Tensorflow2 & Keras를,
연구 활동이나 Customize한 기능을 사용하고자 하는 경우에는 Pytorch를 추천드립니다.

제 바람으로는 둘이 합쳐서 하나의 표준 라이브러리가 있었으면 좋겠습니다!
(Google과 Facebook의 협력을 힘들까요?^^;)

이상으로 이번 포스트는 여기까지 하겠습니다.

profile
Robotics, 3D-Vision, Deep-Learning에 관심이 있습니다

0개의 댓글