TensorFlow를 활용한 머신러닝의 기초
이 교육과정은 다음과 같은 개발자를 대상으로 합니다.
- ML을 처음 접하지만 중급 수준의 프로그래밍 배경지식이 있습니다.
이 콘텐츠는 ML을 처음 접하는 개발자를 ML 여정의 시작 단계로 안내합니다. TensorFlow를 사용하는 리소스가 많지만 여기에서 배운 내용은 다른 머신러닝 프레임워크에도 적용할 수 있습니다.
1단계: ML이란 무엇인지 이해하기
TensorFlow 2.0은 머신러닝을 위한 신경망을 쉽게 빌드할 수 있도록 설계되었으며, 이것이 바로 TensorFlow 2.0에 Keras라는 API가 사용되는 이유입니다. Keras를 만든 프랑수아 숄레의 저서 Python을 활용한 딥 러닝(Deep Learning with Python)은 유용한 입문서입니다. 프로그래머의 시각에서 ML의 기초를 이해하려면 1~4장을 읽어보세요. 이 책의 후반부에서는 컴퓨터 비전, 자연어 처리, GAN 딥 러닝과 같은 분야를 자세히 알아봅니다. 지금은 이러한 주제가 너무 어렵게 느껴져도 머지않아 익숙해질 테니 걱정 마세요.
이 입문서에서는 코드 우선 접근 방식을 통해 컴퓨터 비전, 자연어 처리(NLP), 웹, 모바일, 클라우드, 임베디드 런타임을 위한 시퀀스 모델링과 같이 가장 일반적인 ML 시나리오를 구현하는 방법을 알아봅니다.
⬆ 또는 ⬇
프랑수아의 저서와 동일한 기초 내용을 다루는 Coursera의 TensorFlow 입문 또는 Udacity의 딥 러닝을 위한 TensorFlow 입문과 같은 강의를 들어보세요. 수학적 수준에서 신경망이 어떻게 작동하는지 짧게 설명하는 3blue1brown의 동영상도 유용합니다.
이 단계를 완료하면 ML의 작동 방식에 관한 기초지식을 갖추고 심화 과정을 진행할 준비가 됩니다.
DeepLearning.AI
AI, ML, 딥 러닝을 위한 TensorFlow 입문TensorFlow팀과의 협력을 통해 개발된 이 과정은 TensorFlow의 개발자 특화 과정의 일환으로, TensorFlow 사용을 위한 권장사항을 배울 수 있습니다.
TensorFlow팀과 Udacity에서 개발한 이 온라인 과정에서는 TensorFlow로 딥 러닝 애플리케이션을 빌드하는 방법을 알아봅니다.
2단계: 심화 학습
기초적인 내용을 넘어 초급 컴퓨터 비전, NLP, 시퀀스 모델링을 소개하는 TensorFlow 개발자 특화 과정을 들어 보세요.
이 단계를 완료하면 입문 내용에 이어 TensorFlow를 사용하여 이미지 분류, 텍스트의 정서 파악, 생성 알고리즘 등 다양한 시나리오에 맞는 기본 모델을 빌드하는 방법을 배울 수 있습니다.
DeepLearning.AI
TensorFlow 개발자 특화 과정TensorFlow 개발자가 진행하는 4개 과정으로 이루어진 이 특화 과정에서는 개발자가 TensorFlow로 확장 가능한 AI 기반 알고리즘을 빌드하는 데 사용하는 도구와 소프트웨어를 알아봅니다.
3단계: 연습하기
1단계와 2단계에서 배운 개념을 연습할 수 있는 몇 가지 TensorFlow Core 튜토리얼을 시도해 보세요. 마치고 나면 더 심화된 실습으로 연습해 봅니다.
이 단계를 완료하면 ML 모델을 빌드하면서 겪게 되는 주요 개념과 시나리오를 더 효과적으로 이해할 수 있습니다.
4단계: TensorFlow 더 자세히 알아보기
이제, 프랑수아의 Python을 활용한 딥 러닝(Deep Learning with Python)으로 돌아가 5~9장을 마칠 차례입니다. 오렐리앙 제롱이 쓴 scikit-learn, Keras, TensorFlow를 활용한 머신러닝 실습(Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow)도 꼭 읽어보시기 바랍니다. 이 책에서는 ML과 TensorFlow 2.0을 사용한 딥 러닝을 소개합니다.
이 단계를 마치면 요구사항에 맞게 플랫폼을 확장하는 것을 포함하여 ML에 관한 기본적인 지식을 모두 갖추게 됩니다.
이 책은 구체적인 예제, 최소한의 이론, 두 가지 프로덕션 지원 Python 프레임워크인 Scikit-Learn과 TensorFlow를 사용하여 지능형 시스템 빌드에 필요한 개념과 도구를 직관적으로 이해하는 데 도움을 줍니다.