1.1.1. 이론보다는 실전! 몸으로 먼저 익히는 [3분] 딥러닝 시리즈!
새로운 프로그래밍 언어나 라이브러리를 학습하는 가장 좋은 방법은 무엇일까요? [3분] 시리즈는 긴 설명을 읽기보다는 직접 코드를 입력해가면서 배우게 해 쉽고 재미있습니다.
독자 옆에 앉아 빠르게 ‘함께 코딩해가며’ 설명한다는 느낌이 들도록 했습니다. 코드는 설명 흐름에 맞춰 필요한 만큼씩 보여주며, 전체 코드를 마지막에 제시합니다. 이론은 큰 그림을 이해할 정도로만 알려드리고, 코드도 세세한 부분까지 설명하지는 않습니다.
우선은 큰 그림과 동작하는 코드를 손에 넣으신 후, 케라스 사용법 문서와 저자가 만든 케라스 깃허브를 참고해 코드를 주물러보며 케라스와 친해져보세요.
각 절의 마지막에는 주석이 거의 없는 전체 코드가 등장합니다. 주~욱 훑어보며 배운 걸 정리하고 제대로 이해했는지 점검해보시기 바랍니다. 각 코드 블록에 해당하는 본문 설명의 위치를 숫자로 연결해뒀으니 특정 코드가 이해되지 않을 때 활용하시기 바랍니다.
1.1.2. ★ 주요 내용
● 케라스 시작하기
● 케라스로 구현하는 ANN(인공신경망)
● 케라스로 구현하는 DNN(심층신경망)
● 케라스로 구현하는 CNN(합성곱신경망)
● 케라스로 구현하는 RNN(순환신경망)
● 케라스로 구현하는 AE(오토인코더)
● 케라스로 구현하는 GAN(생성적 적대 신경망)
● 케라스로 구현하는 UNET(유넷)
● 케라스 응용하기
1.2. ★ 이 책의 구성
이 책은 케라스를 이용해 딥러닝 인공신경망을 만들어 인공지능을 구현합니다. 1장은 케라스를 시작하는 데 필요한 기초를 다룹니다. 2장부터는 최신 인공지능 구현 방법인 주요 인공신경망을 예제로 이용해 다룹니다. 2장~5장에서 다루는 ANN, DNN, CNN, RNN은 지도학습 방식의 인공지능입니다. 6장과 7장에서 다루는 AE와 GAN은 비지도학습 방식이고 8장의 UNET은 고급 지도학습 방법입니다. 9장은 8장까지 배운 내용을 응용하고 확장하는 방법을 다룹니다.
예제는 쉽게 인공지능 구현 방법을 익히고, 추후 실무에 쉽게 재사용할 수 있게 하는 데 주안점을 두어 작성했습니다.
_0장. 프롤로그
인공지능과 딥러닝 인공신경망의 개요를 알아봅니다. 그리고 인공신경망을 구현하는 케라스를 간단히 소개합니다.
_1장. 케라스 시작하기
케라스는 인공지능을 파이썬으로 구현하는 라이브러리입니다. 케라스를 설치하는 방법과 간단한 인공신경망을 구현하는 예제를 다룹니다.
_2장. 케라스로 구현하는 ANN(인공신경망)
ANN(artificial neural network)은 두뇌의 신경망을 흉내 낸 인공지능 기술입니다. ANN은 입력 계층, 은닉 계층, 출력 계층으로 구성되어 있습니다. 초기에는 기술적인 한계로 은닉 계층을 한 개만 포함하여 주로 총 3개 계층으로 ANN을 구성했습니다. 이 장에서는 ANN 구성에 필요한 요소를 이해하고 예제를 살펴보며 ANN 구현 방법을 익힙니다.
_3장. 케라스로 구현하는 DNN(심층신경망)
DNN(deep neural network)은 은닉 계층을 여러 개 쌓아서 만든 인공신경망입니다. 다수의 은닉 계층을 이용하는 DNN은 ANN에 비해 더 우수한 성능을 내며 적용 분야도 다양합니다. 이 장에서는 DNN의 구성에 필요한 요소를 이해하고 케라스로 구현하는 방법을 익힙니다.
_4장. 케라스로 구현하는 CNN(합성곱신경망)
CNN(convolutional neural network)은 영상 처리에 많이 활용되는 합성곱(convolution)을 이용하는 신경망 기술입니다. 합성곱에 사용되는 필터들은 학습을 통해 이미지 내의 특징점들을 자동으로 추출해냅니다. CNN은 이런 과정을 통해 기존에 수작업으로 찾던 특징점을 스스로 찾게 됩니다. 이 장에서는 CNN의 원리를 이해하고 케라스로 구현하는 방법을 알아봅니다.
_5장. 케라스로 구현하는 RNN(순환신경망)
RNN(recurrent neural network)은 계층의 출력이 순환하는 인공신경망입니다. 재귀를 이용해 자기 계층의 출력 정보를 입력 신호로 다시 사용해 신경망의 성능을 높입니다. 특히 문자열, 음성 등 시계열 정보의 예측에 많이 활용됩니다. 이 장에서는 RNN의 기본 개념을 이해하고 예제를 구현해봅니다.
_6장. 케라스로 구현하는 AE(오토인코더)
AE(autoencoder)는 비지도학습 인공신경망입니다. 비지도학습은 레이블 정보가 없는 데이터의 특성을 분석하거나 추출하는 데 사용됩니다. 비지도학습의 대표적인 방식인 AE의 목적은 입력 데이터의 특징점을 효율적으로 찾는 겁니다. 이 장에서는 AE의 원리를 이해하고 케라스로 구현하는 방법을 익힙니다.
_7장. 케라스로 구현하는 GAN(생성적 적대 신경망)
GAN(generative adversarial network)은 경쟁을 통한 최적화를 수행하는 생성적 인공신경망입니다. GAN 내부의 두 인공신경망이 상호 경쟁하면서 학습을 진행합니다. 두 신경망 중의 하나는 생성망이고 다른 하나는 판별망입니다. 이 장에서는 GAN의 개념을 소개하고 케라스로 구현하는 방법을 다룹니다.
_8장. 케라스로 구현하는 UNET(유넷)
UNET(U-shaped network)은 저차원과 고차원 정보를 모두 사용하여 이미지의 경계를 비롯한 특징을 추출하는 인공신경망입니다. 차원 정보만 이용해 고차원으로 복원해나가는 AE와 달리 고차원 특징점도 함께 이용해 디코딩을 진행해 이미지의 특징 추출에 용이합니다. 이 장에서는 UNET의 개념을 이해하고 구현 방법을 익힙니다.
_9장. 케라스 응용
케라스를 이용하여 실제 문제에 인공지능을 활용할 때 생기는 문제를 효율적으로 처리하는 고급 기능을 다룹니다. 종종 학습에 필요한 데이터가 충분하지 못한 경우가 있습니다. 이런 경우는 학습 데이터 수를 늘려주거나 기존에 학습된 인공신경망을 재활용해야 합니다. 이 장에서는 인공지능 기술의 실전 활용을 위해 필요한 이미지 늘리기와 기존 망 재사용하기 방법을 익힙니다.
1.3. 6. 추천사
딥러닝 열풍이 번지면서 다양한 딥러닝 관련 책이 출간되었습니다. 구글 텐서플로와 페이스북 파이토치, 아마존 엠엑스넷 등 플랫폼 경쟁도 매우 치열합니다. 그렇지만 이 모두를 지원하면서도 간편하게 딥러닝 프로그램을 구현할 수 있는 케라스 입문서를 찾기 어려웠습니다. 이 책을 딥러닝 입문자에게 적극적으로 권합니다.
정지훈 MD, PhD, 경희사이버대학교 선임 강의 교수
빅뱅엔젤스 매니징파트너
이 책은 현업에서 케라스 기반으로 인공지능을 구현하는 데 도움을 주는 실용서입니다. 저자는 다년간 삼성전자 연구소에서 연구 개발하고 하버드 대학교에서 방문 연구원으로 인공지능 알고리즘을 이용한 분자 탐색, 영상 처리 등을 연구했습니다. 이 책은 이런 저자의 높은 인공지능 역량을 바탕으로 CNN, RNN, GAN 등 다양한 기법의 예제를 제공합니다. 인공지능 적용 분야의 연구·개발자, 대학 교수·학생, 연구소 연구자, 개발자에게 이 책을 추천합니다.
박용화 PhD, KAIST 기계공학과 교수
이 책을 케라스로 딥러닝에 입문하는 분에게 추천합니다. 케라스를 전혀 접해보지 못한 분이라도 쉽게 익힐 수 있게 설명했기 때문입니다. 복잡한 수식을 제외하고 코드를 중심으로 설명하여 예제를 따라가다 보면 어느새 딥러닝에 대해 풍부한 지식을 습득하게 됩니다. 이 책으로 많은 분이 쉽게 인공지능을 ‘내 것’으로 만드셨으면 합니다.
박영호 인텔 시니어 시스템 소프트웨어
딥러닝을 활용한 연구가 다양한 분야에서 무섭게 진행되고 있습니다. 다양한 딥러닝 라이브러리 중에서도 케라스는 컴퓨터 전문가뿐 아니라 비전문가도 매우 손쉽게 사용할 수 있어 인기가 높습니다. 하버드에서 머신러닝 연구에 전념한 김성진 박사님의 노하우와 간단명료한 설명은 여러분에게 딥러닝에 대한 실전 지식뿐 아니라 인사이트도 전달해줄 것입니다. 이 책으로 재미있는 딥러닝 세계로 여행을 떠나보시기 바랍니다.
고영웅 PhD, 한림대학교 컴퓨터공학과 교수
인공지능과 로봇에 대한 관심이 그 어느 때보다도 뜨거운 상황에서 케라스를 쉽고 빠르고 유익하게 배울 수 있는 책이 나와 반가울 따름입니다. 삼성전자 종합기술연구소에서의 실전 경험과 하버드 대학교에서의 연구 경험이 녹아든 이 책은 인공지능을 연구하고 개발하는 사람들에게 단비가 될 겁니다. 무엇보다 차세대 프레임워크인 케라스를 다루었기에 인공지능에 대해 실무적으로 적용하고 싶었으나, 어려운 프레임워크, 어려운 이론서, 부족한 시간에 늘 생각만 있던 분에게 큰 도움이 되리라 봅니다.
박종건 Circulus 벤처 대표
수원대학교 교수
최대한 쉽게 표현하고자 노력한 저자의 노력이 느껴집니다. 복잡한 수식 때문에 좌절한 개발자라면 이 책으로 인공지능 활용 기법을 익혀보세요. 이 책으로 실전적인 구현 방법을 익히고, 이후 더 깊은 이론을 논문 등으로 배워나가면 좋은 결과가 있을 겁니다. 특히 최신 인공지능 기법인 GAN을 자세히 다뤄 이 책이 더욱 빛납니다. 동종 업계 종사자로서 마지막으로 저자의 놀라운 성과에 감사를 드립니다.
김주현 SK 주식회사 C&C 수석
케라스는 인기 있는 최신 인공지능 패키지로 쉽고 간단히 다양한 딥러닝 알고리즘을 구현할 수 있게 해줍니다. 그동안 인공지능 분야에서 소프트웨어를 개발하면서 수많은 딥러닝 분야 책을 탐독했지만 이처럼 체계적이고 실무적이면서 쉽게 딥러닝을 다룬 책은 본 적이 없습니다. 이 책에는 다년간 딥러닝 분야에서 현업과 연구를 한 저자의 지식과 경험이 그대로 담겨 있습니다. 초보자뿐 아니라 딥러닝 개발 경력이 있는 개발자에게도 유용한 참고 자료가 될 겁니다.
알렉스 리 제나두 빅데이터 대표
한 해에도 수많은 스타트업이 전 세계에서 생멸합니다. 유니콘 그 이상의 규모로 성장하려면 기술의 맥을 제대로 이해하고 핵심 역량을 습득하고 활용해야 합니다. 비단 기업뿐만 아니라 개인도 마찬가지일 겁니다. 인공지능 분야가 현재의 핵심 기술이라는 사실을 누구도 부정하지 못할 겁니다. 이 책은 파이썬과 케라스로 다양한 딥러닝 알고리즘을 구현하고 설명합니다. 체계적으로 인공지능에 대한 정보를 습득할 수 있어 놓칠 수 없는 서적입니다.
김윤회 IBM 싱가포르 랩 서비스 담당
2016년 봄. 알파고 등장은 대한민국을 4차 산업혁명의 세계로, 아니 공포로 몰아넣었습니다. 더 앞선 곳에서 딥러닝, 나아가 인공지능의 미래를 개척하는 인류의 영웅들은 이렇게 외치고 있습니다. “민주적 인공지능 Democratise AI.” 이 책의 저자는 최전선의 인공지능 기법을 알기 쉽게 설명합니다. 우리 입맛을 사로 잡는 3분 요리의 맛처럼 깔끔하게 다가옵니다. 우리 모두가 인공지능 요리사가 될 수 있도록 말이죠!
유재헌 삼성전자 무선사업부 엔지니어
인공지능의 확산으로 산업 패러다임이 완전히 바뀌고 있습니다. 제조업, IT, 금융, 의학 등 전 분야에 머신러닝 툴을 잘 사용하는 것이 경쟁력이 된 세상입니다. 이를 위해 사용이 편리한 케라스를 익히려는 분에게 이 책은 최고의 학습서입니다. 사용 방법 및 CNN, GAN 등 거의 모든 알고리즘 사례를 접할 수 있습니다. 이 책은 인공지능을 구현하는 현업 개발자가 케라스를 가장 쉽게 익힐 수 있는 좋은 길잡이입니다.
김성제 PhD, 삼성전자 Intelligence S/W Lab 책임
텐서플로는 너무 상세히 설정해야 해서 아이디어를 재빨리 실험해보기에는 적합하지 않을 때가 있습니다. 이럴 때 케라스는 구현에만 집중할 수 있게 해주는 좋은 플랫폼이지만 여전히 연구 환경을 갖추기까지는 시간이 걸립니다. 때마침 책 이름처럼 쉽고 간편한 케라스 입문서가 나와 반갑기 그지없습니다. 기초부터 최신 모델까지 알짜배기 정보를 잘 정리한 이 책을 딥러닝에 입문하는 분들께 추천합니다.
유재준 PhD, 카이스트바이오영상신호처리 연구실 박사과정
저자는 어려운 기술도 손쉽게 설명하고 재치 있는 비유로 통찰을 제시하는 데이터 과학자입니다. 이 책에서 저자는 본인의 장점을 살려 케라스로 인공신경망을 구현하는 안내자 역할을 훌륭히 소화했습니다. 직접 따라 해보니 제대로 된 실무 가이드라는 느낌이 들었습니다. 사례를 통한 설명으로 예제들을 따라 하기만 해도 케라스가 손에 잡힙니다. 놀랍게도 인공지능을 익히는 지름길을 만난 기분입니다. 이 책을 케라스 인공신경망 가이드로 강력히 추천합니다.
김성철 PhD, 삼성전자 글로벌기술센터 기술기획 차장
핵의학과에서 근무할 때 환자 영상 데이터 정보에 딥러닝이 접목되어 판독률이 높아지는 것을 보면서 인공지능에 관심을 두게 되었습니다. 저자는 컴퓨터 인공지능 전문지식을 다양한 분야에 활용해온 전문가로 하버드에서 해외 연수 동안 바이오메디컬 분야에 많은 이바지를 했습니다. 이 도서는 케라스로 구체적이고 짜임새 있게 인공신경망 구현 절차를 다루고, 친절하고 명확한 설명이 곁들여져 비전문가도 손쉽게 배울 수 있는 입문서입니다. 인공지능시대를 맞이하여 ‘3분 딥러닝 케라스맛’을 한번 맛본 후 각자의 분야에 직접 적용해 봄으로써 예상 밖의 성과를 얻기 바랍니다.
황도원 PhD, 서울대 핵의학과 BK부교수