BEST
인공지능

/

딥러닝 · 머신러닝

딥러닝 이론 + PyTorch 실무 완전 정복

딥러닝 현업에 종사하기 위해 필요한 딥러닝의 “핵심 개념”을 배우고 PyTorch을 활용한 실습을 통해서 실제 딥러닝 프로젝트를 수행하는데 필요한 실무를 가르쳐주는 강의입니다.

(4.9) 수강평 37개

수강생 326명

Thumbnail

초급자를 위해 준비한
[자연어 처리, 딥러닝] 강의입니다.

이런 걸
배워요!

  • 딥러닝이 동작하는 원리

  • 딥러닝의 핵심 개념 (손실 함수, 경사하강, 자동미분 등등)

  • 파이토치 (PyTorch)로 Custom 모델 만들기

  • 딥러닝의 주요 모델 (CNN, RNN, Transformer)

  • 컴퓨터비전에 대한 실습

  • 자연어처리에 대한 실습

인공지능(AI) 분야
취준생 및 신입이라면 주목!

AlphaGo (알파고)

AlphaFold (알파폴드)

DALLE로 생성한 이미지

ChatGPT (챗지피티)

딥러닝은 컴퓨터 비전, 자연어처리, 생물학 등등의 아주 다양한 분야에 걸쳐서 뛰어난 성과들을 선보이고 있습니다. 대표적으로 AlphaGo (알파고), AlphaFold (알파폴드), DALLE, ChatGPT 등이 있는데요. 이에 따라 딥러닝(DL)/머신러닝(ML) Engineer와 Scientist 직군에 대한 시장수요도 급증하고 있습니다.

하지만, 현업에서 요구되는 수준의 이론과 실무를 가르쳐주는 딥러닝 교육 서비스는 아직까지는 부족하다고 생각합니다.

이번 강의는 딥러닝 현업에 종사하기 위해 필요한 딥러닝의 “핵심 개념과 실무”를 심도있게 학습할 수 있도록 커리큘럼을 구성하였습니다.

핵심 원리부터 실무까지
한 번에 끝내는 딥러닝

딥러닝 현업에서 필요한 딥러닝 “핵심 개념”을 배우고 PyTorch를 활용한 실습을 통해서 딥러닝 프로젝트 실무역량을 강화합니다.

이론과 개념은 수박 겉핥기식이 아니라 in-depth하면서도 다양한 시각화 자료를 통해서 최대한 쉽게 풀어서 설명합니다.

각 섹션마다 이론과 연계된 실습을 함께 구성하였습니다. 이론이 어떻게 코드로 구현되고 접목되는지 직관적으로 이해할 수 있습니다.

부트캠프와 전공수업의 아쉬운 점을 보완하고
오로지 실무를 위한 내용만을 담았습니다

딥러닝에 관련된 Bootcamp와 강의들은 많이 있지만 딥러닝을 깊이있고, 현업에서 요구되는 수준으로 가르쳐주는 곳은 제가 보기에는 없습니다. Random Forest, SVM과 같은 전통적인 Machine Learning을 다루는 것에 그치고 딥러닝을 다루더라도 수박 겉핥기 식이 아니라 깊이 있게 이론과 실무를 둘 다 제대로 가르치는 곳은 없다고 생각합니다. 따라서 해당 강의들을 수강하더라도 기초 실력은 여전히 부실하고 기술 면접을 통과하거나 좋은 ML 엔지니어로 거듭나기 어렵습니다.

예를 들어서, 수많은 딥러닝 강의들과 부트캠프들은 경사 하강은 설명하지만, 정작 경사 하강을 효과적으로 수행하는 것을 가능하게 만들어주는 자동 미분 (Auto Differentiation)에 대해서 설명하지 않습니다. 모든 딥러닝 프레임워크 (PyTorch, Tensorflow 등등)들이 자동 미분에 기반되어 있는 만큼 자동 미분을 이해해야 "딥러닝을 어느 정도 안다"라고 자부할 수 있다고 생각됩니다.

반면에 본 강좌에서는 수많은 부트캠프, 강의들이 놓치고 있는 핵심 딥러닝 개념들을 모두 총망라해서 가르쳐드리고자 합니다.

그리고 본 강좌에서는 개념들을 단순 소개하는 것에 그치지 않고 “왜 사용되는지”, “어떤 의미인지”, “어떤 맥락에서 제안되었는지”, “어떤 효과가 있는지” 등등 더 깊이있게 파헤쳐 보고, 여러 실제 Toy Project와 실습을 통해서 이론이 어떻게 코드로 구현되고 접목되는지 이론과 연계해서 배우게 됩니다.

예를 들어서, 아래와 같은 내용을 다룹니다.

  • 분류학습에 사용되는 Cross Entropy Loss의 의미와 KL Divergence와의 연관성은 무엇인지

  • 왜 Initialization이 중요하고 어떤 효과가 있는지

  • Batch Normalization은 왜 사용되고 어떤 효과가 있는지

  • LLM의 기초가 되는 Attention과 Transformer은 어떤 구조를 가지며 어떻게 동작하는지

  • PyTorch, Tensorflow에서 Gradient Descent은 어떻게 수행되고 어떻게 구현되어 있는지

따라서 본 클래스를 수강한 후, 수강생들은 딥러닝 현업에 종사하기 위해 필요한 딥러닝 이론에 대한 이해도와 실무 역량을 갖출 수 있게 됩니다.

참고로, 딥러닝 현업에 종사하려면 꼭 알아야 하는 내용들로만 압축 구성했습니다.

탄탄한 이론, 다양한 실습으로
핵심 딥러닝 개념과 모델을 총망라

강의는 총 16개의 섹션으로 구성되어 있습니다. 본 강의는 모든 딥러닝 기초 및 핵심 개념들을 (Gradient Descent부터 Attention까지) 총망라하고 대표적인 딥러닝 모델들 (Fully Connected NN, CNN, RNN, Transformer) 배우게 됩니다. 심도있지만 그렇다고 너무 수학적으로 파고드는 것이 아니라 수식의 의미를 최대한 쉽게 풀어서, 다양한 시각화 자료들을 통해서 이해하기 쉽게 설명해 드립니다.

각 섹션은 [이론] 강의 [실습] 강의들로 구성되어 있습니다.

[이론파트]

  1. 시각화 자료와 함께 최대한 쉽게 풀어서 설명

  1. 딥러닝 핵심 개념들대표적인 딥러닝 모델들 모두 총망라

  1. 개념의 의미를 이해할 수 있는 심도있는 설명

[실습파트]

  1. 이론이 어떻게 코드로 구현되고 접목되는지 연계해서 설명

  1. 실무 역량에 필요한 여러 "실전" 딥러닝 프로젝트들 포함

  1. 각 섹션마다 이론 설명 후 실습 진행

  1. PyTorch의 핵심 구성요소들(Dataset, Dataloader, optimizer 등등)에 대한 실습

또한 CNN 섹션RNN, Attention & Transformer 섹션에서는 각각 Computer VisionNLP에 대한 Toy Project을 수행합니다.

이런 분들께 추천해요

머신러닝 / 딥러닝 엔지니어 취업 혹은 이직을 준비하시는 분

AI 대학원에 진학하려는 분

머신러닝 / 딥러닝을 제대로 공부해보고자 하시는 분

수강 후에는

  • 딥러닝의 동작 원리에 대해서 제대로, 심도있게 이해하게 됩니다.


  • 딥러닝의 주요 모델들에 대해서 이해하고 실제 문제적용할 수 있게 됩니다.


  • 딥러닝 현업에 종사하기 위해 필요한 딥러닝 이론에 대한 이해도와 실무 역량을 갖추게 됩니다.

  • PyTorch의 핵심 구성요소들(Dataset, Dataloader, optimizer 등)을 이해하고 활용할 수 있습니다.

  • PyTorch로 Custom 딥러닝 모델을 만들 수 있게 됩니다.


이런 내용을 배워요

섹션 (1) PyTorch 실습을 위한 환경 설정

  • 딥러닝 실습에 필요한 환경을 설정합니다.

  • 딥러닝 프레임워크인 PyTorch, 프로그래밍 IDE인 VS Code, GPU 자원을 사용할 수 있는 Google Colab 에 대한 설치 및 사용방법에 대해서 설명드립니다.

섹션 (2) 딥러닝이란 무엇인가?

  • 딥러닝이란 무엇이고, 어떤 문제를 풀고자 하는지 배웁니다.

  • Neural Network의 구성 요소와 동작 원리를 배웁니다.

  • 딥러닝 실무에 관련된 기초 개념 및 PyTorch 기초를 다지게 됩니다.

섹션 (3) 손실 함수 (Loss Function)

  • 딥러닝의 핵심 구성 요소들 중 하나인 손실함수에 대해서 배우게 됩니다.

  • 손실 함수의 정의, Regression와 Classification task, 각 task에 쓰이는 Loss의 종류들에 대해서 배우게 됩니다.

섹션 (4) 손실 함수에 대한 심화 이론

  • 손실 함수에 대한 심화 이론을 배우게 됩니다.

  • Cross Entropy Loss와 KL Divergence Loss에 대해서 더 자세하게 살펴보게 되며, One-hot-encoding, entropy의 개념들에 대해서도 배우게 됩니다.

섹션 (5) 경사 하강 (Gradient Descent)

  • Neural Network의 weight을 최적화하는 수단이자 딥러닝의 핵심인

    Gradient Descent에 대해서 배우게 됩니다.

  • Gradient Descent의 기본 개념, Gradient의 의미, Learning Rate의 효과와 역할, Mini-batch Gradient Descent들에 대해서 배우게 됩니다.

섹션 (6) 경사 하강에 대한 심화 이론

  • 경사 하강의 심화 이론에 대해서 배우게 됩니다.

  • Multi-variate한 input과 여러 개의 Neuron들에 대한 Gradient Descent가 어떻게 수행되는지,

  • 딥러닝 프레임워크들이 기반하는 자동 미분 (Auto Differentiation) 이란 무엇이고 어떻게 동작하는지,

  • Gradient은 또 어떤 의미를 가지고 있는지 등등 여러 심화된 이론을 배우게 됩니다.

섹션 (7) 활성 함수 (Activation Function)

  • Neural Network에 있어서 핵심적인 구성 요소들 중 하나인 Activ

    ation Function에 대해서 배우게 됩니다.

  • Activation Function은 무엇이고, 왜 필요한 것인지 배웁니다.

  • 그리고 다양한 종류의 Activation Function들에 대해서 배우게 되고, 각각의 특징들에 대해서 배웁니다.

섹션 (8) 최적화 (Optimization)

  • Mini-batch Gradient Descent 방법을 더 발전시킨 다양한 Optimization 방법들에 대해서 배웁니다.

  • 주요 Optimization 방법의 특징들에 대해서 배우게 되며, 어떤 계보로 발전을 거듭했는지 파악하게 됩니다.

섹션 (9) PyTorch로 만들어보는 Fully Connected NN

  • 섹션 9에서는 PyTorch로 Fully Connected Neural Network을 만들어보고 지금까지 배웠던 실습들을 종합해봅니다.

섹션 (10) 정규화 (Regularization)

  • 섹션 10 에서는 Overfitting이 무엇인지, 이에 대한 해결 방법 중 하나인 Regularization에 대해서 배웁니다.

섹션 (11) 학습 속도 스케쥴러

  • 학습 경과와 Time step에 따라 Learning Rate을 조절하는 방법인 학습 속도 스케쥴러에 대해서 배웁니다.

섹션 (12) 초기화 (Initialization)

  • 초기화 방법에 대해서 배웁니다.

  • Initialization이 왜 중요한지, 바람직한 initialization의 기준,

    Initialization이 모델의 학습에 끼치는 영향과 각 활성화 함수에 적합한 초기화 방법들에 대해서 배우게 됩니다.


  • 전이 학습 (Transfer Learning)을 통한 초기화 방법에 대해서 배우게 됩니다.

섹션 (13) 표준화 (Normalization)

  • Neural Network에 "거의" 필수불가결한 구성요소로 자리잡은 Normalization에 대해서 배우게 됩니다.

  • 다양한 Normalization Layer의 종류에 대해 배웁니다.

  • 기술 면접의 단골 질문인 Internal Covariate Shift 문제와 Batch Normalization의 실제 효과에 대해서 다룹니다.

섹션 (14) Convolutional Neural Network (CNN)

  • CNN의 작동 원리, CNN Layer의 다양한 variant들, 대표적인 CNN 모델들에 대해서 배웁니다.

  • CNN 모델을 구현해보고, CNN을 활용한 Computer Vision 프로젝트를 수행합니다.

섹션 (15) Recurrent Neural Network (RNN)

  • RNN의 작동 원리에 대해서 배우고,

  • RNN의 Backpropagation이 어떻게 실제로 수행되고, Vanishing Gradient 문제가 왜 발생하는지 배우게 됩니다.

  • 대표적인 RNN 모델들인 LSTM과 GRU을 배웁니다.

  • RNN, GRU, LSTM을 활용한 NLP 프로젝트를 수행합니다.

섹션 (16) Attention과 Transformer

  • LLM의 기초가 되는 Attention과 Transformer로

  • Attention의 기본 개념과 Attention의 발전 계보 (BERT, Transformer)에 대해서 배웁니다.

  • Transformer의 구조와 동작 원리에 대해서 배웁니다.

  • BERT 모델을 활용한 NLP 프로젝트를 수행합니다.

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows, macOS

  • 사용 도구: Visual Studio Code, Google Colab

  • PC 사양: CPU 2 코어 이상, 메모리 8GB 이상, 디스크 32GB 이상

선수 지식

  • Python에 대한 기초

  • Numpy에 대한 기초

  • 고등학교 수학(미분) 및 영어(딥러닝 용어 이해 목적)

    • (필수는 아니지만) Linear Algebra(선형대수론), Probability(확률론)을 알면 도움이 됩니다.

    • 고등학교 수학 및 영어 수준에서 벗어나는 개념이나 내용에 대해서는 보충 설명합니다.


자주 묻는 질문

비전공자여도 강의를 잘 따라갈 수 있나요?

  • 강의 내용이 깊이가 조금 있다보니 어떤 개념들에 대해서는 바로 이해가 가지 않을 수는 있는데요.

  • 그래도 비전공자이신분들을 염두에 두고 강의를 만들었고, 고등학교 수학 이상의 개념들에 대해서는 강의에서 모두 설명해주기 때문에 몇 차례 찬찬히 돌려보시면 이해가 되실거라고 생각합니다.

  • 그럼에도 충분히 이해 되지 않는 부분들이 있을 수 있는데, 강의 내용에 대한 QnA도 제공되어 이해가 잘 되지 않거나, 헷갈리는 부분들은 언제나 자유롭게 물어봐주시면 됩니다!

개인 노트북이 없는데도 실습을 따라할 수 있나요?

  • 네 가능합니다!

  • 구글 코랩 노트북에서 코드를 작성하고 코랩 노트북 상에서 코드를 실행할 수 있습니다.

  • 구글 코랩 노트북은 저희가 필요한 딥러닝 환경들 (pytorch, numpy, matplotlib 등등)을 이미 갖추고 있습니다.

  • 그리고 코랩 노트북 상에서 코드를 실행하는데 필요한 리소스도 사용자의 local 리소스가 아닌 Google remote 서버의 cpu, gpu을 사용하기 때문에 데스크탑이나 노트북이 아닌 아이패드로도  실습들을 충분히 따라 진행해 볼 수 있습니다.

  • 구글 코랩도 무료 버전이 있어서 부담없이 실습을 진행할 수 있습니다!

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 머신러닝 / 딥러닝 엔지니어 취업 혹은 이직을 준비

  • AI 대학원 진학 목표

  • 머신러닝 / 딥러닝을 제대로 배우고자 하시는 분

  • 딥러닝에 대한 이론과 실무 역량을 탄탄히 다지고자 하시는 분

  • 여러 딥러닝 강의, 부트캠프를 들었지만 아쉬웠던 분

  • ML 엔지니어 기술 면접 준비하시는 분

  • ML 엔지니어로 취업 준비하시는 비전공자

선수 지식,
필요할까요?

  • 고등학교 교과 수준의 영어 및 수학

  • 기초적인 Python

  • 기초적인 Numpy

경력:

  • (현) ML Engineer @ MakinaRocks

  • (전) ML Engineer @ DearGen

  • (전) ML Engineer @ DeepBio

  • (전) Research Student @ UCL NLP Group, Streetbees

  • (전) Research Student @ ICL Photonics Lab

     

학력:

  • University College London (UCL): MSc in Machine Learning (머신러닝 석사) (학점: Distinction, GPA 4.0/4.0)

  • Imperial College London (ICL): BSc in Theoretical Physics (이론물리학 학사) (학점: First Class Honours, GPA 4.0/4.0)

소개:

5년차 Machine Learning Engineer입니다. (Google DeepMind가 출범하였고, Demis Hasabis가 박사과정을 한) University College London에서 머신러닝 석사를 전공하였습니다. 석사 때는 NLP에서 Knowledge Graph Embedding을 연구하였고, DeepBio에서는 Medical Diagnosis에 적용되는 Image Classification, Segmentation 딥러닝 모델들을 개발하였습니다. Deargen에서는 신약 개발의 Drug Target Interaction와 같은 문제 적용되는 GNN, RNN, Transformer 등등의 다양한 딥러닝 모델들을 적용한 경험이 있습니다. 현재 재직중인 MakinaRocks에서는 제조 현장의 로봇팔의 이상탐지에 적용되는 딥러닝 모델 및 머신러닝 시스템을 구축하고 있습니다.

커리큘럼

전체

143개 ∙ (13시간 48분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!