Tensorflow를 활용한
딥러닝 모델 최적화 CAMP

딥러닝 알고리즘의 수학적 원리를 이해하고,
매주 진행되는 실습으로 직접 코드를 구현하기까지!

#딥러닝알고리즘#수학적백그라운드
#매주실습진행

기간 & 일정

2019.07.02 – 09.03
(8월 13일 휴강)
매주 화요일 19:30 – 22:30
주 1회, 총 27시간

장소 & 준비물

패스트캠퍼스 강남강의장
강남역 4번 출구
미왕빌딩
개인 노트북

담당자 & 문의

이샘 매니저
02-518-4822
help-ds@fastcampus.co.kr

아직도 남이 쓴 코드를 그대로 가져다 쓰기만 하시나요?

 

딥러닝/머신러닝 알고리즘에 담긴 수학적 배경지식과 원리를 이해하고,
내가 원하는대로 코드를 구현할 수 있어야 진짜 내 실력이 됩니다!

‘딥러닝/머신러닝 알고리즘에 담긴 수학적 배경과 원리’

당신은 얼마나 이해하고 있으신가요?

icon1

“딥러닝/머신러닝에 필요한 수학이 어떤건지 잘 모르겠어요.”
Tensorflow나 scikit-learn 문서에 나오는 수식들을 이해하고
코드에 적용하고 싶은데, 수학을 처음부터 다시 배워야 하나요?

icon2

“불러온 코드는 마음대로 수정하기가 어려워요.”
누군가가 만들어 놓은 코드나 프로그래밍의 API에 집중하는 것이 아닌,
본인의 도메인에 맞게 코드를 커스터마이징 하고  싶으신가요?

최적화

당신이 겪고 있는 문제.
딥러닝 알고리즘에 담긴 수학적 원리를 이해하면,
그 해답을 찾을 수 있습니다.

‘수학’이 없어도 딥러닝/머신러닝을 학습할 수 있다는 의견이 간혹 있지만, 머신러닝 알고리즘을 학습하다보면 수학은 결코 빠질 수 없는 부분 중 하나입니다. 특히, 새로운 구조를 만들거나 심화적인 응용을 하기 위해서는 수학적인 백그라운드가 필수적으로 뒷받침 되어야 하죠.
본 강의를 통해 딥러닝/알고리즘을 정확히 이해하기 위한 수학적 배경지식을 쌓고, 기존에 만들어진 패키지의 사용이 아닌 나만의 알고리즘 코드를 짤 수 있는 역량을 길러가세요!

강의 특징.

어떠한 코드를 만나도 당황하지 않도록!
실전에서 바로 바로 활용할 수 있도록!

#딥러닝 알고리즘의
수학적 백그라운드 이해

딥러닝을 다루다보면 자주 마주하게 되는 수학 공식들. 딥러닝 알고리즘에 담긴 원리를 모른다면, 쉽게 한계에 부딪치게 됩니다. 본 강의에서 딥러닝 알고리즘의 수학적 배경 지식과 작동 원리를 익히고 딥러닝 알고리즘의 큰 개념적 지도를 머릿속에 그려보세요!

#최적화 관점에서의
이해와 코드 작성

최적화 문제에 익숙하지 않다면 tensorflow나 scikit-learn의 문서들을 읽고 알고리즘을 이해하는데 어려움을 겪게됩니다. 본 강의에서 최적화(Optimization) 관점에서 딥러닝 알고리즘의 이론을 공부하고 직접 코드를 작성하는 법까지 익혀가세요!

#매주 실무에 가까운
프로젝트 제공

매주 실무에 가까운 프로젝트와 1:1 피드백이 제공되어 자신의 도메인에 맞게 머신러닝 알고리즘을 커스터마이즈하는 능력을 키워가실 수 있습니다. 만들어진 패키지를 그대로 가져다 쓰는 것이 아닌, 내가 원하는 코드를 직접 짜보는 실습으로 ‘진짜’ 실무 역량을 키워가세요!

강사님이 짜주는 코드를 단순히 실행만 해보는 강의라면 NO!
수강생들의 코딩을 1:1로 피드백해주고, 코드에 대한 리뷰까지 꼼꼼하게 챙겨주는 강의라면 YES!

배운 이론을 직접 실습해보며, 코드를 어떻게 짜야하는지 생각하고 실행하는 강의를 경험하세요.
학습한 내용을 잘 이해했는지 즉시 확인해볼 수 있는 프로젝트로 당신의 실무 역량까지 책임져드립니다.

수강생 평점 10점 만점에 9.5점! ★★★★★

공부도 하고!
학습지원금도 받고!

10만 원을 학습지원금으로 드립니다.

패스트캠퍼스의 수강의지를 강화하기 위한 지원금 제도를 운영합니다
패캠이 제안하는 학습 목표를 달성하고 커리어 이상의 성취감을 얻어가길 바랍니다.

*학습지원금은 제세공과금(22%)을 제하고 드립니다.

학습노트

100% 제출

추천 대상.

내 이야기 같다면? 당신이 바로 예비 수강생!

icon_man4_3_oh

딥러닝 알고리즘에 담긴
수학적 원리를 이해하고,
수학에 대한 불안감을
해소하고 싶으신 분

icon_woman1_2_happy-150x150

딥러닝 알고리즘 학습에 있어,
SCIKIT-LEARN 등에서
TENSORFLOW 로 툴을
확장하고자 하는 분

icon_man3_2_happy-150x150

이미 짜여져 있는
딥러닝 알고리즘 패키지를
불러오는 것이 아닌,
코드를 직접짜야 하는 개발자

커리큘럼.

4Step으로 진행되는 9주 커리큘럼!

PART1. 최적화 이론에 필요한 기초적인 선형대수와 미분

1회차. 수업을 위한 Python 환경 Setting 및 기초 선형대수/미분▼

수업에 사용할 Python Package 개발환경을 Setting하고, 아래의 package들을 설치하고 사용방법을 소개합니다. 그리고, 수업에 필요한 기초적인 선형대수와 미분을 배웁니다.

[이론]
– 고차원 선형대수 기초
– 다변수 함수의 미분(Jacobian Matrix)
– 선형방정식(Ax=b)의 수치 풀이법 소개
– 간단한 최적화 문제 소개

[실습]
– Anaconda
– Jupyter Notebook
– numpy, matplotlib, pandas, scipy, sympy
– scikit-learn, tensorflow
– 행렬/벡터의 곱, 선형방정식 풀이 알고리즘 작성

Part2. 수치 최적화 알고리즘 이해하기

2회차. 기초적인 수치 최적화 알고리즘 - Steepest Descent method 와 Newton method ▼

최적화 문제를 푸는 가장 중요하고 기초적인 문제인 최급강하법(Steepest Descent Method)의 이론을 배우고 알고리즘을 작성합니다. 또한, 해를 찾는 문제에서 가장 유명한 Newton method를 활용한 최적화 문제의 풀이를 배웁니다.

[이론]
– Convex Function의 소개
– Convex Optimization(컨벡스 최적화) 문제 소개
– Newton’s method를 사용한 컨벡스 최적화 풀이 알고리즘 소개
– scipy.optimize의 값들과 비교

[실습]
– 1차원 – 2차원 최급강하법 알고리즘 작성
– 1차원 – 2차원 Newton’s method알고리즘 작성

3회차. 1차원 이상의 Convex Optimization에서의 수치 최적화 알고리즘 – Quasi Newton method ▼

1차원 이상의 Convex Optimization 문제는 Hessian Matrix가 굉장히 중요한 역할을 합니다. 이러한 Hessian matrix가 어떻게 활용되고, 수치 풀이에서 어떻게 적용되어 실제에 사용되는지 알아보고 알고리즘을 작성해봅니다.

[이론]
– 최적화 이론에서의 Hessian Matrix의 역할 설명
Gradient Descent와 Newton Method의 장단점 비교
Stochastic Gradient Descent(SGD) 소개 및 구현 패턴 소개

[실습]
– 1차원 – 2차원 BFGS알고리즘 작성
선형 회귀 : Gradient Descent v.s. SGD 비교

4회차. Adaptive Gradient Schemes 이론과 TensorFlow 이해 ▼

다변수 다항 함수 최적화 문제 풀이시 가장 효율적인 Conjugate Gradient method와 최적화 문제를 수치적으로 풀 때 Gradient 값을 구하지 않고, 함수값 계산만 사용하는 Nelder-Mead method를 배웁니다. 그리고 2주차부터 4주차까지 배웠던 내용들을 정리하고, 장,단점들을 비교합니다. 또한, Constrained Optimization Problem에 대해 소개하고 scipy.optimize를 사용한 풀이 방법을 공부합니다.

[이론]
Momentum, Nesterov, Adagrad, RMSProp, Adam 알고리즘 소개
TensorFlow 시작하기
RMSprop 알고리즘 소개

[실습]
Momentum, Adagrad 알고리즘 작성하기
GD/Momentum/Nesterov/Adagrad/RMSprop/Adam 알고리즘의 성능 비교
– TensorFlow의 기초적인 타입과 연산부터 선형대수, 최적화 문제까지

Part3. 수치 알고리즘을 활용한 머신러닝 / 딥러닝 알고리즘 이해

5회차. Linear Regression과 Binary Classification ▼

주어진 data에서 scikit-learn, tensorflow를 사용하여 linear regression을 하는 코드를 작성하는 법을 공부하고, 앞 시간에 직접 작성하였던 코드를 이용하여 linear regression을 작성합니다. 또한, 가장 기본적인 선형 모델을 사용한 Classification의 이론과 실습을 병행합니다. 또한, package들의 document에 나오는 수식들을 정리하여 package에 대한 이해도를 높입니다.

[이론]
– Feature와 Linear Model의 이해와 회귀분석
– Binary Classification 문제 소개
– Cross-Entropy와 Maximum Likelihood Estimation 관계

[실습]
– 다양한 Regression과 Linear Model을 TensorFlow로 구현하기
– Binary Classification 문제를 수강생이 직접 작성한 코드로 최적화 알고리즘으로 풀기
– Binary Classification 문제를 TensorFlow를 사용하여 풀기

6회차. Multi-label Classification과 Support Vector Machine ▼

2가지의 label이 있는 문제가 아닌 3개 이상의 label이 있을 때, Classification문제 구성 방법을 알아봅니다. 또한, 딥러닝이 등장하기 전까지 가장 중요했던 알고리즘인 Support Vector Machine(SVM)을 소개하고 알고리즘을 작성하고 library를 사용한 결과와 비교해봅니다.

[이론]
– Binary Classification과 Multi-Label Classification의 차이 이해
– Support Vector Machine 의미 소개와 최적화 관점에서 수식 설명

[실습]
– Tensorflow를 사용하여 Multi-label Classification 문제 풀이
– scikit-learn으로 Support Vector Machine 구현하기
– 선형모델을 사용하여 Tensorflow로 MNIST 문제 풀기

7회차. 신경망 모델(Neural Network)을 통한 Regression과 Classification ▼

TensorBoard를 통해 관심있는 항목의 그래프를 그리고, 웹서버를 여는 방법을 배웁니다. 또한, 기초적인 신경망 모델을 설명하고, 신경망 모델을 training하는 알고리즘을 직접 작성해봅니다. 또한, Backpropagation에 대해 알아봅니다.

[이론]
– TensorBoard 소개
– Backpropagation 어원 소개 및 Chain rule 소개
– 신경망 모델을 사용한 회귀 및 분류 문제 소개

[실습]
– 직접 작성한 신경망 모델을 사용하여 자전거 대여 횟수 예측하기
– MNIST 문제를 신경망 모델을 사용하여 풀기

8회차. 신경망 모델(Neural Network)의 Overfitting/Underfitting ▼

Training set과 Test set을 설명하고, 신경망 모델의 Overfitting과 Underfitting에 대하여 이해하고, 이에 대한 해결책인 regularization과 dropout을 소개합니다.

[이론]
– Overfitting/Underfitting 진단과 대책
– SGD 심화 학습
– Hyper Parameter 설정 가이드라인

[실습]
– L1/L2 Regularization 알고리즘 작성
– Tensorflow의 결과와 비교

9회차. Convolutional Neural Network과 Clustering 그리고, Generative Adversarial Network ▼

영상처리 분야에서 많이 사용하는 CNN이 어떤 면에서 편리한지 최적화 문제 관점에서 소개합니다. 또한, tensorflow를 이용하여 GPU 리소스를 사용해 속도향상을 하는 방법을 소개합니다.

[이론]
– 영상처리 분야에서 Filter를 사용한 Convolution의 의미
– 최적화 문제 관점에서 CNN 소개 & GPU 사용법
– K-means & Gaussian Mixture Model 소개
– Generative Adversarial Networks

[실습]
– tensorflow를 이용하여 CNN 코드 작성하기
– K-means 알고리즘을 직접 작성해보기
– Scikit-learn / tensorflow를 사용하여 k-means 알고리즘 작성하기

9주 후, 당신은.

수학적 원리를 이해하고, 직접 코드를 구현하기까지!

강사 소개.

더이상 수학이 어렵게 느껴지지 않도록
이끌어 주실 강사님

프로필사진2

황윤구 강사님

저도 처음 머신러닝/딥러닝을 접했을 때, 관련 정보들을 온라인상에서 쉽게 얻을 수 있다고 생각했습니다. 하지만, 인터넷에 떠도는 강의나 관련자료들은 ‘코드와 패키지 설명은 자세하나, 알고리즘 작동 원리가 소홀한 타입’ 또는, ‘어렵고 지루한 알고리즘 이론 부분에만 치중하고, 정작 코드와 패키지 설명은 하지 않는 타입’으로 구분되더라구요. 본 강의에서는 딥러닝 알고리즘의 수학적 이해와 텐서플로 사용법 모두를 명확하게 전달드리고자 합니다.

[약력]
2007-2011 연세대학교 수학과 학사
2011-2012 연세대학교 계산과학공학과 석사
2012-2015 삼성메디슨 선임연구원
2016-현재 연세대학교 계산과학공학과 박사과정
2017-현재 (주) SMCQ 데이터분석팀 팀장

수강 후기.

이전 기수 수강생들의 생생한 후기를 확인해보세요!

수치정

모델을 학습시키기 이전에 데이터를 분석하고, 데이터의 최적화를 하는 방법을 익히기 위해 해당 강의가 큰 도움이 될 거라고 생각했습니다. 실제로 강의를 들으면서 생각하는 폭이 다양해지고 넓어졌습니다. 본인이 학습과 최적화를 위해 사용하고 있는 것들의 원리에 대해 자세하게 알고 싶거나, 딥러닝에 적용하는 TensorFlow를 코드로 직접 구현하고 싶은 현업 실무자 또는 학생들이 들으면 좋을 것 같다고 생각합니다.

lee_2

기존의 머신러닝, 특히 딥러닝 강의가 이론적인 측면보다는 라이브러리 사용법이나 응용에 초점이 맞춰져 있어서 핵심 알고리즘에 내재된 수학적 원리는 다소 등한시하는 경향이 있었습니다. 본 수업에서 이러한 과정을 수행하기 위한 최소한의 수학적 원리 및 적용 방안에 대하여 학습할 수 있었습니다. 뿐만 아니라 이를 반복적으로 훈련함으로써 스스로 체화해 갈 수 있는 점이 좋았습니다.

ryu_2

데이터 분석 공모전을 준비하거나 프로젝트를 진행할 때, 최적화 이론은 필수적이라고 생각합니다. 큰 틀에서 데이터 분석을 어떻게 진행할 것인지, 모델은 어떻게 정할 것인지, learning rate는 어떻게 정할 것인지, 오버피팅은 어떻게 피할 것인지 등 이러한 이슈들을 적절하게 대처하는데 큰 도움이 될 수 있는 강의입니다.

이전 기수 수강생들의 한 줄 수강평!

4.43

★★★★☆

(지난 기수 수강생 13명 참여)

실무에서 많이 사용되는 Momentum 계열의 Optimizer 를 실제로 구현해보고 원리와 동작을 이해할 수 있어서 좋았습니다. 모델 구조를 설정할 때 Tuning 포인트를 잡을 수 있는 강의였습니다.
– 수강생 C님
Adaptive Learning Rate Method 와 Stochastic Descent Method 실습은 수강생들이 충분히 원리를 이해할 수 있도록 구성되었고, 문제 해결 과정에서 마주치게 될 프로그래밍 테크닉에 대한 힌트가 적절해서 한 명 한 명 놓치지 않고 실습 과제를 완수할 수 있었던 점이 좋았습니다.
– 수강생 P님
머신러닝/딥러닝 옵티마이저의 동작원리와 기본, 텐서플로우로 이어지는 이론과 실습을 익히는데 매우 중요한 강의라고 생각됩니다. 학습을 시작하신지 얼마 안되셨다면, 이 강좌를 추천드립니다.
– 수강생 M님

{ FASTCAMPUS COMMUNITY MEMBERSHIP }

패스트캠퍼스 오프라인 강의를 수강하셨다면!
별도의 가입절차없이 패스트캠퍼스 커뮤니티 멤버쉽 회원이 됩니다.
커뮤니티 멤버쉽은 수강 후 1년 동안 유지되며,
오직 멤버들만을 위한 비공개 스터디클럽, 네트워킹행사, 세미나 등 비정기적 행사에 모실 예정입니다.

수강료 안내

10% 얼리버드 할인중!! (~6/27)

135만 원 (정가 : 150만 원)

# 할인가는 매주 목요일 자정에 변경됩니다.
# 할인가 적용 및 수강 확정은 결제일을 기준으로 합니다.

강의장 안내

학습 지원 프로젝트

공부도 하고! 학습지원금도 받고!

*학습지원금(제세공과금 22% 차감 후 지급)은 강의마다 개인마다 상이할 수 있습니다.

학습 목표 1. 학습노트 제출

-과제 형태: 학습노트 작성
-과제 제출 일정: 매주 일요일 자정 24:00까지 폼스텍으로 과제를 제출합니다.
*제출 시간을 엄수하지 못한 노트는 추후 환급에 불이익이 있습니다
-수강중 학습 콘텐츠 일정 (학습노트 9회 제출)
1주차 : 6월 23일(일) 자정
2주차 : 6월 30일(일) 자정
3주차 : 7월 7일(일) 자정
4주차 : 7월 14일(일) 자정
5주차 : 7월 21일(일) 자정
6주차 : 7월 28일(일) 자정
7주차 : 8월 4일(일) 자정
8주차 : 8월 11일(일) 자정
9주차 : 8월 25일(일) 자정

학습지원금을 받으려면?

미션을 모두 완료하면 신청페이지를 통해 신청 가능합니다.
다만, 강의 종료 후 30일 이내에 신청페이지를 통해서 신청해주셔야 합니다.
아래의 환급신청 링크로 신분증 사본 / 환급받을 통장사본을 제출 (반드시 본인 명의로만 가능)해 주세요.
결제한 수강료의 10% (환급 금액의 22% 제세공과금으로 차감) 를 드리며, 학습지원금은 개인마다 상이할 수 있습니다.

환불규정

* 학습지원금은 기수강생 및 얼리버드 할인과 중복 적용이 가능합니다. (기타 다른 이벤트와 중복 적용이 불가합니다.)
* 과제물이 허위로 작성되거나 표절일 경우 환급이 거절될 수 있습니다.
* 환불은 환불규정(https://www.fastcampus.co.kr/refund/)에 따라 진행됩니다. 규정에 의거하여 환불금액이 없을 수 있습니다.