머신러닝 프레임워크 비교 및 무료 온라인 강의 사이트 정리

머신러닝에 대해 학습할 경우 파이썬 기반의 텐서플로나 파이토치를 기반으로 한 많은 무료 강의자료를 활용할 수 있습니다. 공부를 시작하기 전 간단히 몇 가지 머신러닝 프레임워크의 특징을 비교해보고, 스스로 혼자서도 공부가 가능한 온라인 강의 및 사이트들을 정리해 보겠습니다.

머신러닝 공부

머신러닝을 학습하고자 한다면 강의나 수업을 통해 전문적인 지식을 쌓는 것도 좋지만, 1인 개발자나 개인적인 취미 목적이라면 얼마든지 무료로 접할 수 있는 강의가 많이 있습니다. 

파이썬을 추천하는 이유

참고로 개인적으로 프로그래밍 언어 한 가지를 꼭 배워야 한다면 무조건 Python을 추천합니다. 이유는 다양한 머신러닝, 영상처리, 데이터 분석 등의 라이브러리를 쉽게 연동할 수 있어서, 다양한 애플리케이션의 개발 및 학습에 매우 용이하기 때문입니다. 그리고 러닝 커브도 낮아서 일주일 정도만 학습하면 간단한 문법을 이용한 코딩은 바로 가능합니다.

만약 머신러닝이나 데이터 분석이 주목적이라면 Anaconda를 사용하시면 필요한 패키지들이 이미 설치되어 있어 편리합니다. 

머신러닝 Framework 선택

머신러닝 프레임워크를 이용하면 여러 알고리즘이나 수학 계산식 등이 모두 함수나 패키지로 제공되어 빠른 개발과 학습이 가능합니다.

머신러닝 프레임워크 비교 이미지
딥러닝 프레임워크 비교

인기 있는 3가지 딥러닝 프레임워크에 대해 과거 5년간 Google Trend를 비교해 보겠습니다. 처음 구글에서 발표되었을 때 큰 이슈가 되었으며 keras와 함께 결합되어 대세였던 텐서플로가 최근에는 pytorch에 역전된 것을 알 수 있습니다.

1. 텐서플로

TensorFlow는 구글에서 개발한 딥러닝 라이브러리로 2~3년 전까지는 가장 핫한 프레임워크였습니다. 아무래도 알파고로 인한 구글의 AI 기술력에 대한 신뢰가 있었던 것으로 생각됩니다. 직접 사용해본 경험을 기반으로 텐서플로의 장단점을 정리하면 다음과 같습니다.

장점단점
데이터 플로우 그래프를 통해 딥러닝 네트워크 표현이 직관적이며, 다양한 유틸리티로 트레이닝 과정의 분석이 용이하다.학습을 위해 데이터플로 그래프를 모두 완성한 상태에서 실행이 가능하다. 메모리 사용 효율성이 떨어져 많은 리소스가 필요하다. (Colab 등을 활용)

참고로 텐서플로 1.0 버전에서 여러 단점이 보완되어 최근에는 keras를 통합한 2.0 버전을 많이 사용합니다. 

2. Keras

초기 텐서플로 버전의 단점을 개선하고 빠른 실험을 가능하게 하기 위해 만들어진 프레임워크 입니다. Sequence 모델을 통해 쉽게 Layer를 구성할 수 있으며, 텐서플로의 각 알고리즘을 고수준의 API로 묶어 사용 사용성을 높였습니다. 현재 최신버전의 텐서플로를 설치하면 기본적으로 함께 사용할 수 있는 패키지입니다.

3. 파이토치

Pytorch는 페이스북에서 개발한 파이썬 기반 오픈소스 라이브러리입니다. Torch를 기반으로 한 파이썬 프레임워크로 볼 수 있습니다. 텐서플로에 비해 깔끔하고 직관적으로 코드를 구현할 수 있다는 장점이 있어 최근에 대세가 된 프레임워크입니다.

Pytorch는 그래프를 동적으로도 변경할 수 있고, 만들면서 바로 실행이 가능한 Define by Run 방식으로 빠른 테스트 및 최적화가 가능합니다.

장점단점
파이썬 기반으로 직관적이고 깔끔한 코드 작성이 가능하며, 신경망 사이즈나 그래프를 동적으로 변경할 수 있어 편리합니다.초기 Pytorch 사용자가 많지 않았을 때는 레퍼런스 참고 자료가 부족하다는 단점이 지적되었지만, 최근에는 많은 대학이나 연구자료가 파이토치를 사용하고 있어 그런 단점은 많이 해소되었습니다.

사용층의 증가에 따라 파이토치의 강력한 장점이 된 활성화된 커뮤니티도 무시할 수 없습니다. 공부를 하다 궁금한 점이 생겼을 경우 동일한 프레임워크 기반으로 해답을 얻을 수 있다는 것은 강력한 장점의 하나입니다.

무료 강의 및 사이트 정리

1. 모두를 위한 딥러닝 (시즌 1)

Deep Learning 입문자라면 대부분 처음에 한번은 접하게되는 무료 온라인 강의입니다. 김성 교수님에 의해 제공되는 강의로 약 50개의 섹션으로 구성됩니다. 무엇보다 한글로 강의가 진행되어 초급자라도 쉽게 따라갈 수 있다는 점이 좋습니다. 

모든 코드와 자료는 GitHub에 공유되어 있으며 여러 프레임워크로 코드도 구현되어 제공됩니다.

2. 모두를 위한 딥러닝 (시즌 2)

위의 모두를 위한 딥러닝 시리즈의 시즌 2 강의 입니다. Tensorflow 버전과 PyTorch 버전이 각각 제공되며 유튜브에서 들으실 수 있습니다.

3. 딥러닝 한번에 끝내기

텐서플로와 케라스 프레임워크를 기반으로 유튜브에서 제공되는 무료 강의입니다. 딥러닝 기초부터 다양한 예제까지 함께 학습할 수 있습니다.

4. 이론학습 사이트

강의 외에 블로그나 웹페이지도 매우 유용합니다. 개인적으로 유용하다고 생각되는 사이트를 몇개 정리하였습니다.

모두의 인공지능 기초수학 표지 이미지
모두의 인공지능 기초수학
  • 텐서플로우 블로그: 책의 번역 저자의 블로그로 다양하고 좋은 딥러닝 관련 글들이 많이 있습니다. 

이상으로 머신러닝 및 딥러닝을 온라인 상으로 공부해보기 위한 다양한 정보들을 정리해보았습니다.

Leave a Comment