텐초의 파이토치 딥러닝 특강 - CNN부터 GAN까지 15가지 신경망 예제 + 실무 노하우로 익히는 문제풀이

골든래빗 출판사로부터 전자책을 제공받아 작성했습니다.

TL;DR

  • 완벽하게 작동하는 예제, Colab 활용도가 높음
    • 출판사에서 제공하는 예제가 에러 없이 작동함
    • Colab 사용법을 친절하게 소개하고 있기 때문에 어려움 없이 실행 가능
  • 다양한 시각자료와 간결한 문장, PyTorch 초급자에게 적극 권장
    • 모델과 코드에 관한 부분을 시각적으로 잘 표현하고 있음
    • 초급자의 경우 코드의 흐름을 이해할 수 있을만큼 주석이 잘 작성되어 있음
  • 딥러닝/머신러닝에 대한 이해도가 없다면 이론적인 교재를 곁들여서 읽기를 권함
    • (분량을 고려해보면) 이론적인 부분에 대한 아쉬움은 별도의 교재를 참고하길 권함

책표지

이젠, 어쩔 수 없다.

주변 연구자들이 PyTorch로 넘어갈 때, 회사에서 업무를 하느라 TensorFlow를 계속해서 활용하고 있었다. 회사 일을 하면서 논문을 작성하려고 논문을 읽으면서 피부로 느껴지는 변화가 있었다. 많은 연구자, 주요 학회 및 학술지에 투고되는 논문들이 PyTorch를 활용하고 있다는 점이다. 몇몇 모델은 TensorFlow에서 작동하지 않는 경우도 있어서 약간 놀라기도 했다. 주변에서 PyTorch를 배워야 한다고 적극적으로 권했고, 나도 ‘머릿속에서’ 생각은 했지만 새로운 프레임워크를 배운다는 게 여간 귀찮지 않았다.

졸업 준비를 위해서 논문을 작성하는 과정에서 PyTorch를 완전히 배제하기 쉽지 않아서 차일피일 미루고 있었는데, 이번 기회(도서 리뷰)를 틈타서 한 달간 PyTorch를 배워보는 기회를 가질 수 있었다(역시 공부란 눈앞에 Task가 놓여야…).

저자분의 간결한 문장, 시각적 자료의 효과적인 배치와 활용, 그리고 수준 높은 편집 덕분에 책을 읽고 실습을 진행하는 동안 어려움이 없었다. 그리고 책을 리디북스를 통해서 읽었기 때문에 듀얼 모니터 환경에서 실습을 손쉽게 진행할 수 있다는 점도 좋았다. 아이패드 앱을 활용해서 평소에는 이론적인 것을 읽고, 실습은 리디북스 PC 앱을 활용해서 진행하였다.

예제 코드가 완벽하게 작동!

출판사에서 제공하는 예제는 Colab으로 제공된다. Colab에서 모든 예제가 잘 작동하는 것을 확인하였다. 예제에 문제가 없다는 것을 확인하고 PC를 활용해서 실습을 진행할 수 있도록 환경을 구성하였다. 책 말미에 GPU를 기반으로 한 실습 환경을 구성하는 방법도 소개하고 있어서 참고하였다.

Colab도 충분히 좋은 플랫폼이긴 하지만, 될 수 있으면 코드를 직접 작성하고 싶었다. 그리고 PyTorch 환경을 한 번쯤 구성해보고 싶었다. 평소의 개발 환경을 고려했다. 그리고 업무 및 강의 시간 중에서 남는 시간에 코드를 작성하였다. 리디북스 PC 앱이 많은 도움이 되었다. 출판사에서 제공하는 데이터를 활용했고, 코드를 작성해서 직접 실행하였다. 이미지를 다루는 모델을 중심으로 실습을 진행하였다. 최소한 내가 직접 코드를 작성해서 실습한 부분은 문제없이 실행되었다.

개발은 로컬에서

PyTorch 초급자에게 적극 권장!

책의 수준은 CS전공 기준으로 학부 3~4학년이 충분히 실습해볼 수 있을만큼 잘 구성되어 있었다. CS 관련 학부에서 딥러닝 수업을 하게 된다면, 주교재로 채택해도 무난하다. 책 곳곳에 다양한 시각 자료를 배치하고 있어서 내용을 효율적으로 이해할 수 있다. 이미지가 해당 분야의 대표적인 논문에서 자주 다루고 있는 형태로 작성되어 있다. 저자분이 문장을 매우 간결하게 작성해주셔서 시각 자료와 곁들여서 읽으면 관련 분야의 기초적인 이론은 충분히 이해할 수 있다.

시각적 자료

코드를 작성하는 절차나 방법도 시각 자료를 적절하게 배치하고 있다. 코드를 작성할 때 어떤 부분을 작성하고 있는지 확인할 수 있도록 배려하고 있다는 점도 좋았다. 코드가 길어지면 작성하는 코드의 역할을 잊기 마련인데, 이 책은 코드 작성에 대해 모호함이 많이 줄어서 좋았다.

모델의 흐름을 설명

코드도 필요한 부분에 주석을 통해서 한 번 더 설명하고 있다. 코드를 직접 작성 할 때 주석도 많은 도움이 되었다. 그리고 Python의 특징인 들여쓰기 및 줄 바꿈 등과 같은 가독성 관련한 부분의 편집이 잘 되어있다. Python의 경우 코드가 길어지면 들여쓰기 때문에 곤란한 점이 간혹 있는데, 해당 책은 그런 불편함은 없었다.

코드도 알뜰하게 작성

이론적인 부분의 아쉬움은 다른 책을 참고하자.

«텐초의 파이토치 딥러닝 특강»에 등장하는 대부분의 모델은 이미 알고 있었다. 딥러닝을 학교에서 수업하기도 하였고, 별도로 친구들과 해당 논문을 스터디도 진행했기 때문에 별다른 어려움이 없이 진행할 수 있었다. 기존에 Tensorflow를 활용하고 있어서 큰 어려움 없이 책을 읽고 실습할 수 있었다. 하지만 딥러닝에 관한 이론적인 측면이 필요하시면 다른 교재를 함께 참고하시면 좋을 듯하다.

P.S 이번에도 전자책 덕분에 예제 코드를 한결 수월하게 작성할 수 있었다. 전자책이 어색하신 분들은 종이책을 구매하셔도 좋을 듯 싶다.

Written on October 20, 2022