밑바닥부터 시작하는 딥러닝 4 - 파이썬으로 직접 구현하며 배우는 강화 학습 알고리즘 밑바닥부터 시작하는 딥러닝 4
사이토 고키 지음, 개앞맵시 옮김 / 한빛미디어 / 2024년 1월
평점 :
장바구니담기


아직도 이쪽으로 파고 또 파야 한다는 강박과 미련을 버리지 못했나보다.

마음으로는 LLM 쪽으로 중심을 옮겨보고 싶었다. 그런데 그게 마음대로 되지는 않는구나.

4편은 강화학습에 관한 책이다. 이 책에 관심을 갖는 사람들은 당연히 머신러닝, 딥러닝에 대한 기본적인 이해 이상의 식견이 있는 사람들일 것이다. 나도 강의를 하면서 강화학습에 대해서 살짝 언급을 하기만 하지 구체적으로 어떻게 흘러가는지는 잘 모르고, 또 접할 기회도 별로 없었기에 강화학습 스터디모임을 만들어 다들 해보는 미로찾기 소스코드 분석해 보다가 "이게 왜 되지?" 하는 식의 현타가 오기도 했었다^^.

이 책은 "밑바닥부터 만들어 가면서 강화학습의 핵심 이론을 익히고, 문제를 풀고, 심층 강화학습까지 한 권으로 공부할 수 있는 책"이라고 소개하고 있다. 목차를 보아도 뭔가 알아야 할 것들을 차례차례, 차곡차곡 알려주는 느낌이다. 그런데 끝까지 다 보지는 못하고 리뷰를 써본다.........

책의 내용이 쉬운 내용은 아닌데 앞장부터 한 장씩 읽어가다 보면 묘하게 설득이 된다. 용어 설명, 원리를 쉬운 예를 들어서 설명한다. 그러다가 휘발성 메모리를 가진 내가 "앞에서 무슨 얘기 했더라" 하는 생각이 들 때쯤 코드로 구현을 통해 일단 다지기를 시연한다. 한 단원을 마무리하기 전에는 한 페이지 정도를 할애해서 '정리'를 해준다. 이런 식으로 한 챕터씩 읽어 나가다 보면 적어도 한 가지 개념에 대해서는 확실하게 알고 넘어갈 수 있는 구조로 되어 있다. 강화학습이 궁금해서 몇 가지 책을 뒤적여(만) 본 내가 느끼기엔 설명이 비교적 자세하고 친절한 책에 속한다.




그렇다고 해서 쉽다는 얘기는 아니다. 수식이 계속 나오기 때문에 우선은 수식에 대한 거부감을 없애고 나서 읽어야 지루하지 않게 넘어갈 수 있다.



10장 4절에서는 바둑, 장기와 같은 보드계임, 로봇제어, NAS(Neural Architecture Search, 최적의 아키텍처를 컴퓨터가 자동으로 설계하는 연구) 등의 사례들도 소개하고 있는데 조금 더 자세하면 좋겠지만^^ 이것들만 읽어봐도 재미있다. 특히 자율주행은 우리 생활과 밀접하면서도 빠르게 실현될 분야일 것이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
한눈에 보이는 데이터 과학과 AI 그림책 한눈에 보이는 그림책
한선관.박소영 지음 / 성안당 / 2023년 3월
평점 :
장바구니담기


이 책을 받는 순간 "많이 보던 책인데!" 하는 생각이 들었다. 어쩌다 소장하게 된 <한눈에 보이는 인공지능 그림책>과 비슷한 표지, 저자 중 한 명이 동일인. 비슷해 보이다 보니 우선 목차 비교부터 하게 되었다.

<한눈에 보이는 인공지능 그림책>이 알고리즘, 추론, 머신러닝, 데이터과학, 딥러닝, 자연어처리, 로봇, 윤리로 이어지는 반면 이 책은 데이터 과학의 개요, 절차, 실습, 활용, 미래 순으로 되어 있다. 1장 데이터 과학의 개요에 데이터부터 인공지능까지 전반적인 이야기들이 있다. 전체적으로는 '그림책' 답게 그림으로 간단간단하게 나와있어서 초보자가 자세하고 구체적인 내용은 알기는 어렵다. 데이터에 대해 어느 정도 아는 사람이라면 그림을 보면서 정리하는 느낌으로 쓱 훑는 것도 좋겠다. 도움이 되는 부분이 있다면 3장의 <데이터 과학 실습: 구체적인 실습문제 따라하기> 편.
썬크림 리뷰 데이터 가져와서 오렌지(OrangeDataMining)로 살펴보고, 별점 개수도 시각화해보고, 리뷰 내용을 워드클라우드로 만들어 보았다.

이 책에서 데이터 분석에 대한 실질적인 도움을 받고 싶다면 이런 과정을 따라서 해보면 좋겠다. 타이타닉 데이터를 다운로드 해서 엑셀로 전처리 하는 과정들이 상세히 설명되어 있다. 그리고 오렌지 도구를 이용해 생존을 예측해 본다.




다음 장에서는 데이터 분석을 활용한 예시를 그림과 함께 간단히 보여준다. 마지막 장에서는 데이터가 경제, 사회에 미치는 영향력에 대해 토론해 보고, 윤리적인 측면에 대해서도 생각할 기회를 준다. 이와 관련해서 ChatGPT가 요즘 한참 세상을 달구고 있는데 편리하다고 개인 정보나 기업의 데이터들을 질의에 마구 넣을 수는 없다. 어느 선에서 또 어떤 방법으로 바르게 사용해야 하는지 생각해야 할 것이다.

전체적인 느낌은 학교 선생님들이 수업 자료 PPT를 준비하고 학생들에게 개괄적인 내용을 설명하며 흐름을 잡는 용도로 도움을 받을 수 있을 것 같다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬을 활용한 베이지안 통계 - 동전 던지기부터 월드컵까지 다양하게 배우는 데이터분석, 2판
앨런 B. 다우니 지음, 권정민 옮김 / 한빛미디어 / 2022년 6월
평점 :
장바구니담기


그동안 어렴풋이만 알고 자세히는 모르고 있던 <확률과 통계>를 공부하는 중이다. 사건, 검정, 유의수준, 포아송, t-분포....익숙하면서도 낯선 단어들. 물론 고등학교 때 수II에 있는 확률통계 부분을 엄청 열심히 공부한 적은 있다. 미적분도 마찬가지. 그런데 그게 언제적 얘긴지...


머신러닝을 본격적으로 공부하면서 베이지안에 대해서도 정확히 알아야 할 필요성을 느껴서 이 책을 선택했다. 넘파이와 판다스에 능하면 좋지만 그렇지 않아도 상관 없고, 미적분이나 선형대수학 필요 없고 미리 알아둬야 하는 통계적 지식도 없다고 한다. 아니, 얼마나 친절하길래... 대부분은 실생활 문제를 사용해서 설명한다고 하니 기대가 되었다.


시작은 조건부 확률에서 시작해 베이즈 정리를 도출한다. "나에게 초콜릿을 준 사람이 나를 좋아할 확률은?" 영상을 통해 너무나 익숙한 내용이다. 가볍게 통과. 2장은 문제 해결에 필요한 완벽한 데이터를 가지고 있지 못한 경우에 유용한 베이즈 정리에 대한 이야기다. 중간중간 제시하는 퀴즈들이 궁금증을 일으키면서도 정답을 맞히면 뿌듯함을 주고, 못 맞히면 "왜?"하며 더 생각하게 만들어 준다. 퀴즈가 단순해서 부담이 없다. 한 장을 마무리할 때마다 나오는 연습문제도 재미있다.


3장은 분포. 시각화 도구를 이용해 쉽게 분포표를 그려보기는 했는데 empiricaldist 라이브러리를 사용해보는 것은 처음이다. 데이터에 기반한 경험적(empirical) 분포를 나타내는 데 사용하는 이 라이브러리는 책 전반에 걸쳐서 사용된다. 주피터노트북을 설치하고 실습을 하도록 안내하고 있지만 구글 colab에서도 잘 된다.


4장에서는 비율추정. 이항분포, 베이지안 추정, 삼각사전분포(처음에 무슨 말인가 했다....사전분포가 삼각형 모양을 이룬다는 말이었다), 이항가능도함수(역시 영문표기가 더 이해가 잘 된다), 마지막으로 베이지안 통계. 베이지안 통계에 대한 설명은 아주 간략하다.


5장은 수량 추정에 관한 이야기. 이제부터 집중을 해야 할 시간이다. 사전확률의 분포 변화에 따라 사후확률의 분포가 어떻게 변할지 확인해보고 사전확률 개선하는 방법들을 생각해 본다.


책은 20장 근사베이지안 계산까지 단계적으로 나아간다. 그 내용을 여기에 다 정리할 필요까지는 없을 것 같다. 우선 책이 아주 두꺼운 편은 아닌데(인덱스까지 412페이지) 20개의 장으로 나뉘어 있다. 자잘한 주제로 나누어서 한 가지에 대해서 설명하고 앞으로 나아가는 방식이다. 각 장마다 뒷부분에 내용을 정리해 놓았고 연습문제도 있다. 문제들 하나하나가 재미있다. 통계학 책에서 많이 봤을 법한 문제들도 많이 있다. 이렇게 자잘하게 나누어 설명한 부분이 내가 보기엔 이 책의 최대의 미덕인 것 같다. 2~7줄 정도의 코드를 실행해 가면서 진행을 하기 때문에 지루하지는 않지만 상대적으로 코드에 대한 설명은 많지 않다. 그냥 해당 기능을 수행하는 메소드가 무엇이 있는지 소개하는 정도로 보인다. 확률 통계 문외한 보다는 그래도 어렴풋이라도 어느 정도 감을 잠을 수 있는 사람이 보기에 적당한 책인 것 같다.


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

#한빛미디어 #한빛아카데미 #파이썬 #베이지안 #리뷰



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
온디바이스 AI
로런스 모로니 지음, 곽도영 외 옮김 / 한빛미디어 / 2022년 11월
평점 :
장바구니담기


한동안 안드로이드 스튜디오+자바의 조합으로 앱을 열심히 만들었던 시절이 있었다. 그땐 단순히 내가 넣어 놓은 음악을 무한재생 해서 들을 수 있다는 것, 작은 화면에 지도를 넣을 수 있다는 것만으로도 좋았었다. 인공지능을 본격적으로 공부하고 나서는 결과물을 웹이나 앱에 띄워 시연해야 할 일들도 있었는데 그때마다 어떤 도구를 써야 할지 난감했었다. 능숙하게 다룰 수 있는 도구는 없었는데 그렇다고 본격적으로 달려들어 배울 여유도 없었다. 게다가 이런저런 사소한 툴들이 너무 많았다. 마침 또 딥러닝 구현 결과를 앱을 만들어야 하는 일이 있어서 이 책을 보게 되었다.


우선 역자가 믿보(믿고 보는) 사람이라는 점, 재미있는 콘텐츠 위주로 단계별로 차근차근 설명하고 있으며, 안드로이드와 iOS를 모두 다루고 있다는 것은 이 책의 장점이다. 여느 책처럼 소스코드도 제공하고 있다. 앱 만들기에는 익숙하지만 머신러닝에 대해서 잘 모르는 사람이 머신러닝에 대해 공부하고, ML Kit나 Create ML를 활용해보는 목적으로 사용한다면 재미와 유익을 동시에 얻는 책일 것이다.


반면 코틀린이라는 낯선 언어부터 익혀야 했던 것은 (나에게는) 단점이었다. 안드로이느는 코틀린을 사용한다는 사실을 미리 알았더라면 이 책을 선택하지 않았을 것 같다.


ML Kit를 이용해 컴퓨터 비전을 공부할 때 가장 먼저 접하게 되는 데이터셋 중 하나인 Fashion MNIST 데이터로 가볍게 시작해서 얼굴 탐지, 손글씨 인식 앱을 만들어 보고, TFLite를 이용해 커스텀 모델을 만드는 것까지 연장된다. 후반에서는 파이어베이스와 클라우드까지 다룬다. 언어에 익숙하다면 쉽게 따라갈 수 있게 구성되어 있다.


주석이나 URL 안내도 잘 되어 있어서 필요한 것은 바로바로 찾아볼 수가 있었다.



전체적으로는 앱을 조금 아는 사람이 앱에 머신러닝-딥러닝을 적용시키고자 할 때 더 유용하게 읽힐 것 같다.


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬 기반 금융 인공지능 - 파이썬과 케라스를 활용한 금융 시계열 데이터 기반 알고리즘 트레이딩 전략
이브스 힐피쉬 지음, 김도형 옮김 / 한빛미디어 / 2022년 9월
평점 :
장바구니담기


마침 모 강의사이트에서 모모 금융데이터분석 강의를 한참 듣고 있던 중이었다. 금융이라기 보다는 정확히는 주식데이터 강의였는데, 주식 자체에 대한 정보 보다는 '데이터 분석 과정을 설명하되 데이터를 주식데이로 한다'는 측면이 더 커서 매 차수 중복되는 내용들도 많이 있었다. 그래서 혹시 이 책에서는 다른 지식과 인사이트를 주지 않을까 해서 이 책을 선택하게 되었다. 그런데 파이썬 코딩만으로 주식으로 돈을 벌 수 있다면 누가 돈을 못 벌겠으며, 진짜라면 그 비법을 왜 공개할까 싶기도 하다. 그래서 마음을 비우고 책을 펼쳤다.


옮긴이의 말을 조금 옮겨보면 "유독 금융 분야에서 머신러닝과 인공지능이 이렇다 할 뚜렷한 성과를 보이지 못하고 있는 것이 현실이다. 이는 금융 분야에 특화된 머신러닝이나 인공지능 방법론이 나오지 않았다는 점보다는, 효율적 시장 구조 등 금융 분야의 문제들이 가지고 있는 보다 근본적인 특성에 기반한다. 이 책은 금융 분야의 다양한 기반 이론과 현업 실무에 최신 머신러닝 및 인공지능 기술을 적용하는 것이 실제로 어느 정도의 가능성을 가지는지를 폭넓은 관점에서 고찰한다."고 되어 있다.


1부에서는 지도학습, 신경망, 초지능, 2부에서는 전통적이고 규범적인 금융이론, 데이터 기반 금융 등에 대한 기본적인 내용을 다루고, 3부에서는 딥러닝, 신경망, 강화학습을 적용해서 금융시장의 '통계적 비효율성'을 발견하고, 이것을 전제조건으로 4부에서 알고리즘 트레이딩을 통해 통계적 비효율성이 어떻게 활용되는지를 다루는 순서로 되어 있다. 5부에서는 금융 산업에서 인공지능이 가져올 결과와 금융적 특이점에 대해서 살펴본다. 6부에서는 파이썬 코드로 구현하는 법과 예제가 있다.


특히 '통계적 비효율성'이라는 표현이 눈에 와 닿았다. Statistical Inefficiency.

앞부분은 대충 아는 내용들이라 이 통계적 비효율성을 다루는 부분(3부)으로 가보았다. 7장에서 Dense한 신경망의 클래스의 불균형과 과적합을 막기 위한 방법, 그리고 최적화 방법을 소개한다. 과적합을 막기 위한 데이터 정규화, 드롭아웃, 규제, 배깅 과정을 코드와 함께 설명하고 있었다. 한 권의 책에서 많은 내용을 다루다 보니 간단하게 설명된 면도 없진 않다. 8장에서는 재귀 신경망 예제를 보여주는데 금융 가격 시계열, 금융 수익률 시계열 데이터에 이동 모멘텀 특징과 이동 변동성 특징이라는 '금융 특징'을 추가하는 방법을 보여준다. 9장에서는 강화학습의 기본 개념에 대해 설명하고 카트폴 문제(좌우로 움직이는 카트 위에 있는 막대기가 쓰러지지 않고 균형을 잡을 수 있도록 학습하는 문제)를 OpenAI Gym, 몬테카를로 에이전트, 신경망 에이전트, DQL 에이전트를 통해 해결하는 방법들을 코드와 함께 보여준다. 그리고 이것을 금융 분야에 초점을 맞춰 구현해 본다. 그런데 여기까지 따라왔지만 나는 '통계적 비효율성'이라는 용어가 의미하는 것이 무엇인지 정확히 찾아내지는 못했다. 아직 공부해야 하는 것이 많구나. 기초적인 용어조차도 검색을 해야하다니...


전체 코드는 https://aiif.pqp.io 에서 쉽게 실행해볼 수 있고, 상업화나 재배포는 허락을 받아야 하지만 프로그램에 포함시키거나 문서에 넣는 것은 상관이 없다고 한다. 파라미터에 대한 설명이나 앞의 코드에서 추가해 실행한 부분들에 대해서는 번호를 달아 설명을 붙여놨기 때문에 이해하기가 따라가기가 쉬웠다.


5부의 내용이 나에게 특히 도움이 되었는데, 금융에 대해서는 잘 모르는 컴공쟁이라서 타인의 관점으로 분석을 하거나 내가 미처 생각할 수 없었던 부분에 대해서 의견을 내주는 것은 언제든지 반갑다. 반대로 금융 쪽을 잘 알지만 프로그래밍을 모르는 분들에게 오히려 더 도움이 될 수 있는 책일 수도 있겠다는 생각이 들었다.


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo