hb***
2017-05-21

인공 신경망은 딥러닝의 기초가 되는 개념으로, 컴퓨터가 마치 생물 두뇌의 신경망처럼 스스로 학습을 해 나갈 수 있는 구조입니다. 몇 년 전부터 딥러닝에 관련된 읽을거리들이 인터넷에 많이 올라오고 딥러닝을 다루는 책들도 나오기 시작하고 있지만, 머신러닝에 이제 막 관심을 두기 시작한 초심자에게는 여전히 학습 장벽이 높은 듯합니다. 특히 다른 딥러닝 책을 읽으면서 여실히 느껴왔던 점은 딥러닝 기본 원리에 대한 이해가 스스로 부족하다는 것이었습니다. 그러던 중에 한빛리미디어에서 타리크 라시드의 <신경망 첫걸음>이라는 책이 출간되었다는 소식을 듣게 되었고, 한빛리더스 리뷰어 기회를 통해 책을 접하게 되었습니다. 읽고 싶던 책이라서 더욱 더 반가웠습니다.
타리크 라시드의 <신경망 첫걸음>은 인공 신경망의 개념을 초심자들이 아주 쉽게 이해할 수 있도록 설명하고 있습니다. 책 표지에 나온 '수포자도 이해할 수 있다'라는 부제처럼, 미분이 무엇인지까지의 수학 지식만 머리 속에 가지고 있다면 책 내용을 술술 따라갈 수 있고, 심지어 프로그래밍도 알 필요가 없습니다. 책의 1부에서는 신경망의 개념을 다루고, 2부에서는 일반인의 입장에서 파이썬 프로그래밍을 시작하는 방법부터 손글씨 데이터셋으로 글씨를 인식하는 코드 작성을 따라해보면서 인공 신경망 개념을 익힐 수 있게 도와 줍니다.
이 책에서는 은닉층이 존재하는 3개 이상 계층의 신경망에서 어떤 일이 일어나는지 차례 차례 설명을 하고 있습니다. 신경망의 입력에 가중치를 곱해 출력을 만들어내는 과정을 그림으로 자세하게 보여주고 있는 것이 장점입니다. 그림도 한 눈에 알아보기 쉽게 되어 있습니다.
인터넷에 나오는 글을 읽다 보면 가중치를 통한 신경망 학습에서 오차 역전파라는 단어가 많이 나오는데, 역전파가 어떤 식으로 동작하는지 쉽게 설명되어 있는 곳은 찾아보기 힘듭니다. 그 원리를 어려운 수식 없이 이해할 수 있게 풀어 설명된 책은 이 책이 처음인 것 같습니다. 그만큼 초보자가 처음 신경망을 공부하기에 이 책이 탁워한 선택이라고 생각합니다.
이 책의 장점은 프로그래밍을 전혀 모르는 사람도 파이썬 코드를 작성하는 방법을 통해 따라할 수 있게 도와준다는 점입니다. 다른 책들과 비슷하게 이 책에서도 프로그래밍 언어로 파이썬을 사용하고, 행렬 계산은 numpy, 시각화는 pyplot 라이브러리를 사용하고 있습니다. 파이썬이 딥러닝을 구현하기 좋은 쉽고 간편한 도구로 인정받고 있는 것 같습니다. 이 책에 나온 예제를 따라해보면 데이터셋만 있다면 다른 데이터들도 학습을 시켜볼 수 있을 것 같은 자신감이 생깁니다.
어려운 수식 대신 쉬운 말로 신경망 학습 원리가 풀어쓰여져 있어서 그 개념을 매우 쉽게 이해할 수 있는 책이었습니다. 머신러닝을 하다가 기초 원리가 갑자기 생각이 안 날 때 이 책을 다시 보면 기억나고 좋을 것 같아 추천합니다.