[PyTorch로 시작하는 딥러닝 입문 CAMP | 강사인터뷰 ] “쉽고 빠른 딥러닝 구현을 원한다면 PyTorch가 답입니다.” – 최건호 강사님

main_blog


1. 안녕하세요 최건호 강사님, 간단한 자기소개 부탁드립니다.

안녕하세요, [PyTorch로 시작하는 딥러닝 입문 CAMP] 강의를 맡은 최건호입니다. 저는 연세대학교 컴퓨터과학과를 졸업하고 만화/애니메이션 빅데이터 기업에서 딥러닝 영상분석 연구원으로 근무하다가 현재는 딥바이오라는 회사에서 근무하고 있습니다. 원래는 경영학과였는데, 컴퓨터과학을 복수전공하면서 딥러닝을 접하게 되었고, 딥러닝이 재미있어서 계속 공부하다 보니 이 분야로 취업도 하고 강의도 하게 되었네요. 이전 회사에서는 애니메이션 태그 추출에 필요한 모델을 만들고 그림체를 분류하는 프로젝트를 했었습니다. 딥바이오에서는 메디컬 이미지와 관련된 모델을 구현하고 연구하고 있는데, PyTorch를 사용하고 있습니다.


2. 딥러닝 구현에 TensorFlow를 이용하는 분들이 많은데, PyTorch를 다루는 본 강의를 준비하시게 된 동기는 무엇인가요?

저도 처음에는 TensorFlow밖에 몰랐습니다. 한때 TensorFlow 업데이트가 2~3주에 한 번씩 이루어진 때가 있었는데 그럴 때마다 이전 버전의 코드가 업데이트 버전에서 실행되지 않는 경우가 빈번했어요. 그래서 한동안 다른 것을 써 볼까 하다가 PyTorch를 사용해보니, 간결해서 구현도 더 빨리 되고 익히기도 쉬웠습니다. 코드를 보여주면서 다른 사람들에게 설명해 주기에도 효과적이더라고요. PyTorch를 사용해보신 분들이 흔히 하는 말로, ‘한번 PyTorch로 넘어가면 다시 안 돌아온다’고 합니다.(웃음) 아직 TensorFlow에 비해 PyTorch를 사용하시는 분들이 적은 편이지만, 딥러닝은 TensorFlow를 반드시 알아야 한다는 고정관념에서 벗어나 PyTorch로 더 쉽게 간단하게 구현할 수 있다는 것을 많은 사람들에게 알리고 싶었어요. 그리고 딥러닝을 구현하기 위해 혼자 공부하다가 어려움을 겪으신 분들에게 도움을 드리기 위해 이 강의를 준비하였습니다.

 

3. PyTorch TensorFlow 모두를 다뤄보셨다고 하셨는데 PyTorch TensorFlow의 차이점이 무엇인지, 강사님이 PyTorch를 사용하는 이유에 대해 구체적으로 말씀해 주실 수 있으신가요? 

ASDFASDFASDFASDFADSADF


가장 큰 차이점은 딥러닝을 구현하는 패러다임이 다른 거에요. TensorFlow는 프레임워크가 Define-and-Run인 반면에, PyTorch Define-by-Run입니다. TensorFlow에서는 먼저 모델을 만들고 값을 다 따로 넣어주어야 합니다. 예를 들어, 데이터를 담을 공간인 ‘placeholder’를 먼저 생성하고, 세션을 돌리면서 placeholder 안에 값을 넣어줘야 하죠. 뭔가 직관적이지 않아서 처음 공부할 때 TensorFlow만의 특이한 문법에 익숙해져야 해서 더 어려웠던 것 같아요. PyTorch Python 문법을 기반으로 하고 있기 때문에, 굉장히 직관적이고 간단해요. 그래서 Python을 아시는 분들이라면 TensorFlow에 얽매이지 않고 PyTorch로 손쉽게 딥러닝을 구현하실 수 있습니다. 값을 담을 공간을 따로 정리할 필요도 없고 Define-by-Run이기 때문에 변수 생성 시 값도 같이 들어가게 됩니다. 또한 모델 그래프를 만들 때 TensorFlow처럼 고정상태가 아니라 언제든지 데이터에 따라 조절이 가능해요. PyTorch는 그런 면에서 TensorFlow에 비해 유연한 편입니다.

TensorFlow는 사용자도 많고 한국 커뮤니티가 활발합니다. 이에 비해 PyTorch는 아직 초기 단계인 것은 사실입니다만, 저처럼 딥러닝 구현에 PyTorch를 사용하시는 분들이 점점 늘어나고 있습니다. 한국 PyTorch 커뮤니티인 PyTorch-KR도 있고, PyTorch 만든 개발자분들이 운영하는 포럼에서는 질문을 올리면 PyTorch 프레임워크 개발자가 직접 답도 해주기도 합니다.

 

4. [PyTorch로 시작하는 딥러닝 입문 CAMP] 강의가 총 10주로 구성되어 있는데요, 강의 커리큘럼을 구성하실 때 가장 중점을 두신 부분은 무엇인가요?

수강생 여러분이 스스로 딥러닝 모델을 구현할 수 있는 능력을 길러드리는 게 가장 중요하다고 생각합니다. 그래서 이 강의를 수강하면 나중에는 API 도큐먼트만 보고도 원하는 결과를 도출할 수 있도록 도와드리는 것이 목표입니다. 혼자 공부할 때 강의를 듣거나 검색, 책을 주로 봤는데 보면서 이게 정말로 되나?’라는 의문이 들었어요. 그래서 쉬운 것부터 구현을 시작했는데 직접 코드를 구현하면서 많이 늘었던 것 같습니다. 논문에 있는 것을 그대로 재현해보려고 시도하면서 제가 어디를 모르는지 알 수 있었고, 그것들을 해결하면서 실력을 쌓아올 수 있었어요. 그래서 직접 모델을 만들고 돌려서 확인해 볼 수 있도록 수강생 여러분을 위한 실습자료를 많이 준비할 예정입니다. 수강생만을 위한 페이스북 그룹도 운영해서 수업 중 해결하지 못한 궁금증에 대해 언제든 질문하실 수 있도록 하겠습니다.

 

5. 그렇다면, 어떤 분들에게 이 강의를 추천하고 싶으신가요?

딥러닝 공부를 PyTorch로 처음 시작하려는 분들이나 TensorFlow의 어려움을 겪어보신 분들에게 추천하고 싶습니다. 본 강의에서는 딥러닝의 개념을 정리하고 PyTorch를 익힐 수 있도록 도와드릴 예정이에요. 딥러닝하면 TensorFlow를 해야 한다는 인식이 있는 것 같은데, PyTorch를 사용하면 딥러닝 개념들 자체에 더 빨리 다가갈 수 있다고 생각해요. 딥러닝 모델을 구현을 하고 싶은데, TensorFlow라는 장벽 때문에 힘들어하시는 분들도 많더라고요. 저는 이 강의가 수강생 여러분의 딥러닝에 대한 이해와 구현 사이의 벽을 낮춰줄 것이라고 생각합니다. TensorFlow를 사용하셨던 분들은 딥러닝 개념이나 함수 사용법에 대해 알기 때문에 수강하시기 수월하실 거에요.


6. 딥러닝을 PyTorch로 시작하고자 하는 분들이나 딥러닝을 TensorFlow로 시도하다가 어려움을 겪은 분들에게 추천하고 싶다고 하셨는데, 본 강의를 통해 TensorFlow의 한계점을 어떻게 해결해 주실 수 있으신가요?
 
TensorFlow
를 접해보신 분들은 PyTorch 코드를 보기만 해도 느끼실 거라고 생각합니다. PyTorch는 매우 코드가 간결해서 금방 만들고 돌려볼 수 있어요. PyTorch TensorFlow처럼 일일이 변수나 함수를 생성하고 세션을 통해 돌리지 않아도 됩니다. 기존 파이썬 라이브러리들과의 연동성도 매우 높아서 상호 변환도 쉽습니다. 이러한 장점 때문에 다양한 연구와 기업들에서 PyTorch가 많이 사용되고 있습니다. TensorFlow를 사용해보지 않으신 분들은 TensorFlow라는 또 다른 어려움을 겪지 않고, 딥러닝 구현을 쉽게 배울 수 있습니다. Open AI의 한 분이 트위터에 올린 글만 봐도 알 수 있습니다. 여러분의 피부와 눈 건강에 도움을 드릴 수 있을 것 같습니다. (웃음)

YTTTTTTTT



7. 딥러닝 입문자분들에게 정말 필요한 강의가 될 것 같습니다. 마지막으로, [ PyTorch로 시작하는 딥러닝 입문 CAMP ]에 관심을 가지고 계시는 분들께 한 말씀 부탁드립니다.
 
딥러닝! 쉽게 배우고 싶으시면 대환영입니다. 스스로 딥러닝 모델을 만들고 성과를 낼 수 있는 능력을 기를 수 있도록 도와드리겠습니다. 저는 처음 공부를 시작할 때 막히는 부분이 있어도 구글 말고는 물어볼 사람이 없었습니다. 그때마다 검색해서 이것저것 시도해봤지만 그래도 잘 모르겠는 것들이 있었고, 그래서 공부할 때 어느 부분을 힘들어하시는지 알고 있습니다. 수강생 여러분, 딥러닝 구현 어렵다고 못한다고 생각하지 마시고 PyTorch로 시작해보세요!

 

smaillfet

자세한 강의 정보가 궁금하다면?
[ PyTorch로 시작하는 딥러닝 입문 CAMP ] 자세히 보기 >>

Recent Posts