신경망 교과서 리뷰 (프로젝트를 만들면서 배우는 신경망!)
간단하게 이론을 설명하고, 6개의 프로젝트에서 직접 신경망을 구현하며 쉽게 설명해주는 책!
목차
1장 머신러닝과 신경망 개론
2장 다중 레이어 퍼셉트론을 사용한 당뇨 예측
3장 심층 전방향 신경망을 사용한 택시 요금 예측
4장 컨볼루션 신경망을 사용한 이미지 분류
5장 오토인코더를 사용한 이미지 노이즈 제거
6장 LSTM을 사용한 영화 리뷰 감성 분석
7장 샴 신경망을 사용한 안면 인식
8장 신경망과 인공 지능의 미래
후기
환경세팅을 하기가 편했다.
어떤 분야를 공부하든지 가장 큰 진입장벽으로 느껴지는게 '실습 환경'을 만드는 것이라 생각한다.
처음 배우는거라 용어들이 생소하기도 하고, 버전이나 라이브러리 같은걸 뭘 해야하는지도 잘 모르겠고.
그런데 이 책에서는 environment.yml 파일을 이용해서 파이썬과 필요한 라이브러리를 가상환경으로 바로 가져올 수 있어서 너무 좋았다. 처음에 가상환경 구현할 때 며칠씩 걸렸었는데, 이 책을 통해 입문을 했었다면 더 좋겠다고 생각해서, 좀 아쉽기도 했다. 아무튼 '환경세팅 같은 건 알아서 해줄테니까 독자는 실습에 집중해라!' 이런 느낌이었다.
라이브러리에 대해 설명한다.
1장에서 판다스, 텐서플로, 케라스 등 이 책에서 사용하는 라이브러리에 대해 설명한다.
보통 그냥 다 알고 있죠~? 라는 느낌으로 넘어가는데, 이 책에서는 진짜... 진짜 친절하게 설명한다. '판다스는 데이터 분석에 널리 활용하는 라이브러리에요!' 이 정도의 설명이 아니다. 판다스에 대해 말하자면 판다스 DataFrame, 판다스를 활용한 데이터 시각화, 판다스를 활용한 데이터 전처리 이렇게 순서대로 차근차근, 소스코드와 이미지를 보여주며 설명한다. 머신러닝에 대해 처음 공부할 때 책을 읽었는데도 '이 라이브러리가 뭐지?', '왜 여기서 이걸 쓰는거지?'라는 생각이 많이 들어서 구글링하느라 시간을 많이 썼었는데, 이 책은 그럴 필요가 없다. 텐서플로와 케라스도 마찬가지로 알고있어야 할 지식들을 차근차근 설명해준다. 중간중간에 '하지만 이미 텐서플로가 있는데 또 다른 API가 왜 필요할까?'라는 질문들을 하고 그에 대한 답을 하며 친절하게 설명해준다. 그냥 천천히 순서대로 읽으면 다 이해가 된다... 이걸로 입문했어야했어...
이론을 필요한 정도만 간단하게 설명하고 바로 프로젝트를 진행한다.
이론만 공부하다보면 흥미가 생겼다가도 좀 떨어지는 경향이 없잖아 있는데, 이 책은 필요한 것만 딱 알려주고 바로 실습 들어간다. 그리고 그 실습 프로젝트에 대한 기본적인 지식을 알려주면서 의욕? 열정이 생기게 한다.
2장의 '당뇨병 예측' 프로젝트를 예로 들자면, 당뇨병은 조기진단이 어려운데, 환자의 상태를 측정한 의료데이터와 측정 후 몇 년 내 당뇨가 발병했는지 여부를 기록한 레이블만 있다면 머신러닝을 통해 모델을 훈련 시켜서 새로운 환자의 발병 여부를 예측할 수 있다고 말한다. 즉, '아 이걸 머신러닝으로 구현하면 진짜 좋겠구나!' 이런 생각이 들게끔 한다. 개인적으로 왜 해야되는지도 모르는 프로젝트를 하는 걸 별로 안 좋아해서, 이 점이 좋았다.
프로젝트에 대해서
앞서 목차에서 언급했듯이 프로젝트는 2장~7장 이렇게 6개로 구성되어 있다. 나는 요즘 이미지 분류에 관심이 있어서 4장 '컨볼루션 신경망을 사용한 이미지 분류' 를 가장 먼저 공부했는데, 프로젝트는 각자 독립적이라서 순서는 딱히 상관 없을 것 같다. 예제 파일은 길벗 출판사 웹사이트나 깃허브를 통해서 다운 받을 수 있다. 책에 코드가 많이 나오니까, 충분히 이해했다면 그냥 다운받아서 돌려보는 것도 좋을 것 같다.
모든 프로젝트에 결과 분석, 마무리, 복습 이렇게 세 챕터가 있다. 우선 결과분석에서는 맞은 결과와 틀린 결과를 살펴보고, 왜 결과가 그렇게 나왔는지 분석한다. 공통적인 특징을 도출해내서, 그걸 바탕으로 결과를 어떻게 내면 더 좋을지 고민한다. 결과를 개선한 코드를 직접 교재에 주지는 않으니까 직접 코드를 작성해서 성능을 높여보면 재밌을 것 같다. 마무리에서는 그냥 그 프로젝트를 처음부터 끝까지 쭉 설명해준다. 가볍게 읽으면서 이 프로젝트에서 뭘 했는지 되새겨보면 될 것 같다. 복습에는 질문이 있다. 개인적으로 퀴즈 맞추는 느낌이라서 재밌었다. 기억이 나지 않거나 익숙하지 않다면 앞으로 돌아가서 다시 한 번 내용을 살펴보면 딱 좋을 것 같다.
이런 분들에게 추천합니다!
- 머신러닝 관련 프로젝트를 해보고 싶은 학부생
솔직히 제가 취직을 해본 것도 아니고, 그냥 학교 다니고 있는 컴공과 학부생이라 현업이나 실무는 잘 모릅니다. 그냥 저는 이 책을 읽으면서 '아 이 책으로 입문했다면 좋았을텐데' 라는 생각이 들었어요. 마지막 챕터에서 최신 신경망 중 하나인 GAN에 대해 설명해주기도 하고, 구글에서 개발한 AutoML에 대해 설명하거나, 인공지능 관련 연구 논문을 어디서 읽어야하는지 알려주기도 하거든요. 데이터셋을 이용한 대회인 캐글부터 시작하라고 알려주기도 하고요. 앞으로 어떻게 공부해나가야할지 대략적인 방향을 알려줘서 저는 개인적으로 좋았습니다. 저한테도 좋았다면 다른 분들에게도 좋지 않을까요? 프로젝트를 하고 싶다면 누가 읽어도 좋을 것 같아요. 단, 파이썬 문법 같이 기본적인 건 알고 있어야겠죠.
그렇다면 이제부터 무엇을 만들 것인가?
이 책 맨 마지막에 나와있는 문구인데 굉장히... 좋았습니다... 책 읽었으면 뭐 하나 만들어야죠 ^.^
지금 하고 있는 프로젝트 끝나면 개인 프로젝트나 하나 해야겠습니다. 물론 이 책 통해서 배운거 응용해서 ㅎㅅㅎ
'📚 서적 리뷰' 카테고리의 다른 글
플러터 앱 프로그래밍 : 실전 코드로 배우는 플러터 기본과 활용법 (0) | 2021.10.19 |
---|---|
자바 코딩의 기술 : 똑똑하게 코딩하는 법 (2) | 2021.01.09 |
개발자의 디자인 독해력 - 디자이너와의 협업을 위하여! (0) | 2020.04.05 |
댓글
이 글 공유하기
다른 글
-
플러터 앱 프로그래밍 : 실전 코드로 배우는 플러터 기본과 활용법
플러터 앱 프로그래밍 : 실전 코드로 배우는 플러터 기본과 활용법
2021.10.19 -
자바 코딩의 기술 : 똑똑하게 코딩하는 법
자바 코딩의 기술 : 똑똑하게 코딩하는 법
2021.01.09 -
개발자의 디자인 독해력 - 디자이너와의 협업을 위하여!
개발자의 디자인 독해력 - 디자이너와의 협업을 위하여!
2020.04.05