한빛미디어에서 "파이토치 첫걸음" 책이 출간되었다. 한빛미디어의 첫걸음 시리즈는 다 접해봤는데, 핵심 내용만 쉽게 담아냈기 때문에 책이 얇아서 들고다니면서 가볍게 읽을 수 있다는 장점이 있다.
한빛미디어의 첫걸음 시리즈는 다음과 같다.
- 파이토치 첫걸음
- 강화학습 첫걸음
- 신경망 첫걸음
- 딥러닝 첫걸음
- 텐서플로 첫걸음
파이토치, 강화학습, 신경망, 딥러닝, 텐서플로우에 대한 기본 지식만 꼼꼼히 갖추고 있다면 인공지능 전문가로 발돋움 할 수 있는 첫걸음이 될 것이다.
파이토치(Pytorch)는 페이스북 인공지능 연구팀에서 만든 프레임워크이며, 파이토치의 전신인 토치(Torch)는 루아 프로그래밍 언어로 되어있지만, 파이토치는 파이썬(Python)으로 작성되어 파이썬의 언어 특징을 품고있다.
파이토치 첫걸음 책에서는 텐서플로우와 파이토치의 차이점을 비교하고 있었다. 텐서플로우와 파이토치는 둘 다 연산에 GPU 를 사용하는 프레임워크이다. 하지만 텐서플로우는 연산 그래프를 먼저 생성하고 실제 연산할 때 값을 전달하여 결과를 얻는 "Define and Run" 방식이고, 파이토치는 그래프를 만듦과 동시에 결과를 얻는 "Define by Run" 방식이라고 한다.
사실 텐서플로우가 1년 정도 먼저 딥러닝이 뜨기 시작할 때 발표되었기 때문에 사용자 수는 물론이고 커뮤니티도 완전히 활성화 되어있다. 이에 비해 파이토치는 뒤늦게 텐서플로우보다 좋은 점이 사람들에게 알려지고 있어서 이제 막 뜨기 시작한 프레임워크라고 할 수 있다.
텐서플로우와 파이토치를 모두 사용해 본 결과, 파이토치는 학습 중간중간에 결과를 확인 할 수 있어서 편리하다는 장점을 가진다. 물론 연산속도 측면에서도 실험에 많이 사용되는 모델로 벤치마킹 한 결과 파이토치가 텐서플로우보다 2.5배 빠른 결과가 나왔다고 한다. 필자도 실제로 같은 모델을 파이토치와 텐서플로우로 각각 실행했을 때 이미지 1장을 처리하는 Inference Time 이 파이토치가 텐서플로우보다 약 1.2 ~ 1.5배 빠르다는 결과를 확인할 수 있었다.
파이토치 첫걸음 책은 다음과 같이 구성된다.
- 딥러닝
- 파이토치
- 선형회귀분석
- 인공 신경망
- 합성곱 신경망
- 순환 신경망
- 학습 시 생길 수 있는 문제점과 해결 방안
- 뉴럴 스타일 트랜스퍼(전이학습)
- 오토인코더
- 생성적 적대 신경망
사실 "학습 시 생길 수 있는 문제점과 해결방안" 부터 "생성적 적대 신경망" 까지 빼고는 다른 책에서도 다루고 있는 내용이다. 하지만 파이토치 첫걸음 책에서는 항상 등장하는 토픽들에 대하여 "첫걸음"이 가능하게끔 쉽게 설명해두었다. 이 책은 딥러닝의 기본적인 지식을 갖추고 있으며, 파이토치라는 프레임워크에 대해 처음으로 접하는 개발자에게 추천하고 싶은 책이다. 버스나 지하철로 이동 할 때 간편하게 들고다니면서 볼 수 있는 책이기도 하며, 짬짬히 공부하고 싶은 개발자에게 추천하고 싶다.