케라스로 배우는 신경망 설계와 구현 (CNN, RNN, GAN, LSTM 다양한 신경망 모델 설계와 구현)

케라스로 배우는 신경망 설계와 구현 (CNN, RNN, GAN, LSTM 다양한 신경망 모델 설계와 구현)

$40.77
Description
인공지능 개발의 핵심인 뉴럴 네트워크의 다양한 모델을 소개한다. 수식과 알고리즘을 기반으로 뉴럴 네트워크의 특징을 설명하고, 케라스를 활용해 직접 뉴럴 네트워크를 구축한다. CNN, RNN, 장단기 메모리(Long Short-Term Memory) 네트워크, 오토인코더, GAN을 깊게 학습하면서 머신러닝, 딥러닝, 인공지능에 관한 폭넓은 지식을 얻을 수 있다. 다양한 뉴럴 네트워크 모델을 결합하고, 실예제를 다루면서 예측 모델링과 함수 근사화(function approximation)를 통해 얻을 수 있는 가치를 이해하게 될 것이다.
저자

닐로이푸르카이트

NiloyPurkait
기술및전략전문컨설턴트다.현재네덜란드에거주중이며,네덜란드국내및국제기업을대상으로컨설팅을제공한다.전문분야는인공지능을포함한통합솔루션으로,끊임없이변하는혼란스러운비즈니스환경에서고객이가야할길을제시하는데자부심이있다.
틸버그대학교(TilburgUniversity)에서전략경영학사를전공하고,미시건대학교(MichiganUniversity)에서데이터과학을수료했다.신호처리,클라우드컴퓨팅,머신러닝및딥러닝과같은분야에서IBM이발급하는고급산업레벨자격인증을받았다.관련분야에서지속적으로학위를취득하고있으며,스스로를‘인생학습자’라고부른다.

목차

1부.뉴럴네트워크기본

1장.뉴럴네트워크개요
__목표정의
__도구확인
____케라스
____텐서플로
__뉴럴학습기본
____뉴럴네트워크
____두뇌관찰
__데이터과학기본
____정보이론
____엔트로피
____교차엔트로피
____데이터처리특성
____데이터과학에서머신러닝으로
____머신러닝의함정
__요약
__더읽을거리

2장.뉴럴네트워크깊이들여다보기
__퍼셉트론:생리학적뉴런에서인공지능뉴런으로
__퍼셉트론구축
____입력
____가중치
____총화
____비선형성
____바이어스의역할
____출력
__오차를활용한학습
____평균제곱오차손실함수
__퍼셉트론훈련
____손실정량화
____모델가중치함수로서의손실
__역전파
____기울기계산
____학습률
__퍼셉트론확장
__단일레이어네트워크
____텐서플로플레이그라운드
____패턴계층확인
____한걸음더
__요약

3장.신호처리:뉴럴네트워크를활용한데이터분석
__신호처리
____표상적학습
____무작위기억회피
____숫자를활용한신호표현
__숫자를활용한이미지표현
__뉴럴네트워크에데이터입력
__텐서예제
____데이터의차원
____패키지임포트
____데이터로드
____차원확인
__모델구축
____케라스레이어
____가중치초기화
____케라스활성화함수
____모델시각화
__모델컴파일
____모델피팅
__모델성능평가
____정규화
__케라스를활용한가중치정규화구현
__가중치정규화
__케라스를활용한드롭아웃정규화구현
____드롭아웃정규화실험
____복잡성과시간
____MNIST요약
__언어처리
____감정분석
__인터넷영화리뷰데이터세트
____데이터세트로딩
____셰이프및타입확인
__단일학습인스턴스확인
____리뷰디코딩
____데이터준비
__원핫인코딩
__특징벡터화
__라벨벡터화
__네트워크구축
____모델컴파일
____모델피팅
____검증데이터
__콜백
____조기중단콜백과히스토리콜백
____모니터링지표선택
__모델예측접근
__예측조사
____IMDB요약
____연속된변수예측
____보스턴주택가격데이터세트
____데이터로딩
____데이터탐색
__특징별표준화
____모델생성
____모델컴파일
____훈련및테스트오차플로팅
____k-폴드검증을활용한접근방식검증
__사이킷-런API를활용한교차검증
__요약
__연습문제

2부.고급뉴럴네트워크구조

4장.컨볼루션뉴럴네트워크
__CNN
__시각의탄생
__생리학적시각이해
__공간불변성
__뉴런의수용필드
__뉴런계층구현
__근대CNN의탄생
__CNN설계
____덴스레이어와컨볼루셔널레이어
__컨볼루션오퍼레이션
____이미지의공간구조보존
____수용필드
____필터를활용한특징추출
____CNN에서의오차역전파
____여러필터사용
____스트라이드
____특징이란?
__필터를활용한특징추출시각화
__복잡한필터
__컨볼루션오퍼레이션요약
__풀링레이어이해
____풀링오퍼레이션의종류
__케라스를활용한CNN구현
____데이터확인
____데이터셰이프확인
____데이터표준화
____임포트
__컨볼루셔널레이어
____필터수와크기정의
____입력텐서패딩
____맥스풀링레이어
__덴스레이어를활용한분류
__모델요약
____모델컴파일
__모델정확성확인
__미소식별과정의문제
____블랙박스내부
____뉴럴네트워크의실패
____ConvNet학습시각화
____중간레이어의뉴럴활성화맵시각화
____입력이미지예측
__케라스의기능적API
__레이어채널수확인
____활성화맵시각화
__돌출
__ResNet50을사용한돌출맵시각화
__로컬디렉토리에저장된이미지로딩
__케라스의시각화모듈
__레이어검색
__연습문제
__경사가중치클래스활성화매핑
__keras-vis를활용한클래스활성화시각화
__미리훈련된모델활용
__출력클래스별최대활성값시각화
__모델수렴
__여러필터인덱스를활용한몽환적분위기연출
__CNN의문제점
__뉴럴네트워크의환각
__요약

5장.순환뉴럴네트워크
__시퀀스모델링
__RNN을사용한순차모델링
____전략선택
____기본RNN아키텍처
__다양한종류의순차프로세싱태스크
____RNN의학습
____일반적인RNN레이어
____피드포워드
__타입스텝별활성화계산
____활성화방정식정리
____타임스텝별출력예측
____단방향정보흐름의문제
____장기의존성문제
__시간에따른역전파
____시간에따른역전파시각화
__경사폭발및소멸
____기울기레벨에관한고려
____클리핑을활용한경사폭발방지
____메모리를활용한경사소멸방지
__GRU
____메모리셀
____업데이트미수행시나리오
____업데이트수행시나리오
____타임스텝사이의타당성보존
____타당성게이트방정식
__케라스를활용한문자레벨의언어모델구축
____셰익스피어의햄릿로딩
____문자사전구축
____훈련시퀀스준비
____예제시퀀스출력
____훈련데이터벡터화
__문자모델링통계
____문자별확률모델링
____임곗값샘플링
__확률통제의목적
____그리디샘플링
____확률표본샘플링
__다양한RNN모델테스팅
____커스텀콜백을사용한텍스트생성
____다양한모델테스팅
__SimpleRNN구현
____RNN레이어스택
__GRU구현
____양방향GRU구현
__실제데이터의순차적처리
____순차적인데이터재정렬을통한장점
__케라스의양방향레이어
____순환드롭아웃구현
__출력값시각화
____무거운GRU모델의출력값시각화
__요약
__더읽을거리
__연습문제

6장.장단기기억네트워크
__복잡한시퀀스처리
____메모리분해
__LSTM네트워크
__LSTM해부
____가장유사한모델과의비교
____GRU메모리
____LSTM메모리셀
____활성화함수와메모리별도처리
__LSTM메모리블록
____망각게이트의중요성
____차이개념화
____LSTM살펴보기
__정보흐름시각화
____셀상태계산
__경쟁메모리계산
__타임스텝별활성화값계산
__LSTM의변종모델과그성능
__핍홀연결이해
__타이밍과카운팅의중요성
____다른구조적차이탐구
__지식활용
__주식시장데이터모델링
____데이터임포트
____정렬및트렌드시각화
____데이터프레임을텐서로변환
____데이터분할
____훈련및테스팅인스턴스플롯
____윈도우방식표준화
__데이터노이즈제거
__지수평활법구현
____곡선시각화
____한걸음앞선예측수행
____단순이동평균예측
____지수이동평균예측
__한걸음앞선예측수행의문제
__관찰값시퀀스생성
____데이터셰이프정리
____임포트
____뉴럴네트워크베이스라인
____피드포워드네트워크구축
____순환베이스라인
__LSTM구현
____LSTM스택
____헬퍼함수활용
____모델훈련
____결과시각화
__마무리
__요약
__연습문제

7장.DQN을사용한강화학습
__보상과만족
____새로운학습평가방법
__강화학습을활용한머신의조건형성
____신용도할당문제
__탐색착취딜레마
__일반적인공지능지능
__환경시뮬레이션
____상태,행동,보상
__자율주행택시
____태스크이해
____환경렌더링
____관찰공간참조
____행동공간참조
____환경과의상호작용
____무작위로환경해결
__즉시보상과미래보상사이의트레이드오프
__미래보상할인
__마르코프결정프로세스
__정책함수이해
__상태가치평가
__행동품질평가
__벨만방정식활용
__반복적인벨만방정식업데이트
__뉴럴네트워크를사용하는이유
__Q-학습에서의정방향경로수행
__Q-학습에서의역방향경로수행
____반복적업데이트를딥러닝으로대체
__케라스를활용한심층Q-학습
____임포트
____전처리기법
____입력파라미터정의
____아타리게임상태프로세서구현
____네트워크구현
____풀링레이어미사용
____실시간학습의문제
____재생메모리에경험저장
__탐색과착취의균형
____입실론-그리디탐색정책
__심층Q-학습에이전트초기화
____모델훈련
____모델테스트
____Q-학습알고리즘요약
__이중Q-학습
__경쟁네트워크아키텍처
__연습문제
____Q-학습의한계
____정책경사를활용한Q-학습개선
__요약

3부.뉴하이브리드모델아키텍처

8장.오토인코더
__왜오토인코더인가?
__자동적인정보인코딩
__오토인코더의한계
__오토인코더해부
__오토인코더훈련
__오토인코더종류
__네트워크크기와표현력
__오토인코더에서의정규화
__희소오토인코더를활용한정규화
____노이즈제거오토인코더를활용한정규화
____수축적오토인코더를활용한정규화
____케라스를활용한얕은오토인코더구현
__데이터확인
____데이터전처리

출판사 서평

★이책에서다루는내용★

■예측적데이터모델링의근본적인특성과워크플로우
■뉴럴네트워크를사용해다양한타입의시각및언어신호처리
■네트워크가데이터를학습하는수학적,통계적기반지식이해
■CNN,LSTM,GAN과같은다양한뉴럴네트워크의설계및구현
■다양한아키텍처를활용해인식태스크를해결하고시스템에지능내재
■합성데이터를생성하고증강전략을활용한네트워크로모델개선
■인공지능분야의최신학술정보와상업적개발정보습득

★이책의대상독자★

케라스를활용해새로운뉴럴네트워크아키텍처를공부하고자하는머신러닝개발자,딥러닝연구자및AI학습자를대상으로한다.

★이책의구성★

1장,‘뉴럴네트워크개요’에서는데이터의근본적인특성과구조,다양한형태를직관적으로사고할수있는방법을알아본다.기본데이터타입,발전된데이터구조(이미지,비디오,오디오,텍스트,센서및멀티미디어데이터)를다루는방법은물론,이와같은다양한데이터구조에서정보를추출하는추상적기반에관해다룬다.
2장,‘뉴럴네트워크깊이들여다보기’에서는뉴럴네트워크의기반이되는수식배경을깊이있게살펴본다.그후케라스를사용해머신러닝프로젝트의산출물을반복적으로개선할수있는빠른개발사이클을활용해좀더생산적으로경쟁우위를가질수있는지알아본다.
3장,‘신호처리:뉴럴네트워크를활용한데이터분석’에서는완전한예제를사용해뉴럴네트워크를잘동작하도록하는데필수적인변환(transformation)및표준화(normalization)를소개한다.
4장,‘컨볼루셔널뉴럴네트워크’에서는다양한컨볼루셔널레이어및풀링레이어를다룬다.뉴럴네트워크는이레이어를사용해여러분의PC에저장된이미지,데이터베이스및센서로입력받는정보를처리한다.그후CNN과연계된파이프라인처리에관한정보를알아보고,최신객체인식API와모델을활용해실질적인실험을수행해본다.
5장,‘순환뉴럴네트워크’에서는순환네트워크의다양한기반이론과튜링완료알고리즘의의미를소개한다.
6장,‘장단기기억네트워크’에서는LSTM네트워크로알려진RNN의특정형태에관해좀더깊이알아보고,생태계에서영감을받아구현된다양한뉴럴네트워크아키텍처를알아본다.
7장,‘DQN을활용한강화학습’에서는강화학습네트워크의기반아키텍처를자세히설명하고,케라스의핵심및확장레이어를구현해원하는산출물을얻는방법을알아본다.
8장,‘오토인코더’에서는자동인코더뉴럴네트워크의기능을활성화하는데필요한관련지식과아이디어를자세히소개한다.
9장,‘생성적네트워크’에서는일반적으로가변오토인코더(VariationalAutoencoders)나생성적대립쌍네트워크(GAN,GenerativeAdversarialNetwork)와같은모델을사용한합성데이터생성및조작에관련된유스케이스에관해살펴본다.
10장,‘현재와미래개발에관한고찰’에서는뉴럴네트워크를활용한표상(representation)학습과전달에관해알아본다.또한양자컴퓨팅과같은AI영역에서의패러다임을비롯해미래의잠재적인개발분야에대해서도개괄적으로다룬다.

★옮긴이의말★

인공지능이라는용어가처음등장한때는1950년대입니다.다른과학기술과달리그실체를알기어려웠기에공상과학소설이나영화에서는다양한형태로인공지능의모습을그립니다.영화〈터미네이터〉(1984)에서등장한인공지능스카이넷(Skynet)은자신이세상을지배하기위해인류를말살시키려하고,영화〈매트릭스〉(1998)에서인공지능은인류를지배하고,고치안에인간을가둬에너지원으로착취하기도합니다.영화〈바이센테니얼맨〉(1999)에서는인간의감정을닮고싶어하는인공지능을그렸으며,〈에이아이〉(2001)에서도인간이되고싶어하는아이로봇의모습을그렸습니다.그러나대부분의소설이나영화에서는인간과인공지능의대립,인간의지능을훨씬뛰어넘은인공지능의무서움을그리며인류에게고민을안겼습니다.하지만기술의속도는예상만큼빠르지않았습니다.〈터미네이터〉에서1984년에만들어진스카이넷이지구를점령하게되는해는2029년이지만,지난몇년동안인공지능이나로봇기술의발전은그만큼발전하지않았습니다.1980년대이후사람의신경을본떠만든인공지능신경망,즉뉴럴네트워크(NeuralNetwork)의연구가활발히이뤄졌지만,그러한연구결과가기술적인형태로나타나지는않았습니다.인공지능은사람이정교하게만들어낸수많은데이터를학습한후에야지능처럼보이는일부결과물(체스경기등)을만들어냈습니다.1990년대중반가전제품에퍼지이론(Fuzzytheory),카오스이론(Chaostheory),유전자알고리즘(Genericalgorithm)등이적용되기는했지만,그정도나범위는너무나제한적입니다.심지어로봇은2000년대중-후반이되기까지도사람의몇가지움직임을흉내내는정도에지나지않았습니다.
2006년토론토대학의죠프리힌튼(GeoffreyHinton)교수는딥러닝(deeplearning)의개념을처음제안합니다.그의이론과기존의한계를뛰어넘은컴퓨팅능력(하드웨어와클라우드컴퓨팅),막대한양의데이터에힘입어1990년대혹한기를맞았던인공지능은다시싹을틔우게됩니다.그리고엄청난속도로발전합니다.2012년,사람이사전작업을하지않아도컴퓨터가이미지를분석해사물을구별할수있게되는결과가발표됩니다.예를들면고양이가어떤특징을갖는지모르지만,수많은고양이의사진을보여줌으로써컴퓨터가고양이의특징을찾아내고판단하게된것입니다.그리고인공지능은이미지/영상인식분야에서사람을뛰어넘는능력을갖게됩니다.2016년,구글딥마인드(DeepMind)가개발한인공지능인알파고(AlphaGo)는인간에앞서기까지앞으로10년은족히필요할것이라던모든전문가의예상을거들떠보지도않는듯이세돌9단에게5전4승1패로승리를거둡니다.
이책은인공지능개발의핵심이되는뉴럴네트워크의다양한모델을다룹니다.수식과알고리즘을기반으로뉴럴네트워크의특징을설명하고,케라스(Keras)를활용해직접뉴럴네트워크를구축해봅니다.컨볼루셔널뉴럴네트워크(CNN,ConvolutionalNeuralNetworks),순환뉴럴네트워크(RNN,RecurrentNeuralNetworks),장단기메모리(LongShort-TermMemory)네트워크,오토인코더(autoencoder),생성적대립쌍네트워크(GAN,GenerativeAdversarialNetworks)를학습하면서머신러닝,딥러닝,인공지능에관한폭넓은지식과경험을얻을수있을것입니다.실제데이터를뉴럴네트워크를사용해처리하는과정에서미래데이터처리에대한통찰력도얻을수있을것입니다.인공지능이종국에만들어내는세상은어떠한모습일지,그리고그속에서우리들이어떤역할을하고,무슨가치를찾아내야할것인지고민하고기대할수있게될것입니다.