AI를 위한 필수 수학 - AI 시스템에 쓰이는 통계학, 선형 대수학, 미적분학
할라 넬슨 지음, 안민재 옮김 / 한빛미디어 / 2024년 8월
평점 :
장바구니담기


이 책은 통계학, 선형대수, 미적분을 두루 다루고 있으며, 데이터과학/인공지능 학습을 막 시작하려는 사람들과 데이터과학/인공지능을 실제 사례에 어떻게 적용할지 아이디어를 얻고자 하는 사람들 모두에게 추천하고 있는 책이다. 나는 AI를 계속 공부하고 적용하면서 수학적인 밑바탕에 대한 목마름은 항상 있어와서 여전히 이 책 저 책을 뒤적이는 중이다.


비개발 직군에게도 추천할만한 책이라고 써있는데 학습을 막 시작하려는 사람들에게는 책에 나온 설명이 불충분하게 느껴질 수 있다. 광범위한 영역을 다루다 보니 하나의 용어에 대해서는 자세히 다루지는 않는다. 예를 들어, 평균 제곱 오차를 설명하면서 L2노름에 대해 언급만 하고 지나가는데(p.108), L2노름에 대해서 알지 못하면 '이것과 이것은 서로 관계가 있는 것이구나' 하는 것을 메모해 놓고 내용을 더 자세히 찾아서 공부하는 전략을 택할 수밖에 없다. 이 책은 수학의 어떤 개념들이 어느 부분에 사용되고 있는지 큰 그림을 그리면서 봐야하는 책이고, 또 그렇게 보기에 좋은 책이다. 수학에 더 중점을 두고 보고 싶다면 한빛미디어에서 나온 <개발자를 위한 필수 수학>을 먼저 보는 것이 더 나을 것 같다.


회귀, 분류, 군집화, 신경망, 컴퓨터비전, 자연어처리, 확률적 생성 모델, 그래프 모델까지 차례로 살펴보다 보면 책의 2/3 지점에 다다른다. '금융 인공지능'도 7장의 제목에 있어서 반가워 넘겨봤는데 내용은 많지 않아서 살짝 실망도 했다. 9장 그래프 모델은 실제 산업에서 어떤 이론을 근거로 구현이 되는지를 다양하게 살펴볼 수 있어서 좋았다. 좀 더 깊게 공부하고 싶은 부분이다.


10장 운용 과학은 좀 새로웠다. 운용 과학을 5개로 요약하면 수학적 공식화, 최적화, 알고리즘, 소프트웨어, 의사결정이라고 한다. 응용 수학에서 가장 매력적인 분야라고 언급하고 있다. 이쯤에서는 수학, 경제학, 컴퓨터공학 등 여러 학문이 경계 없이 넘나드는 느낌이다. 결국 우리가 원하는 건 우리가 부딪히고 있는 현실의 문제 해결이고, 문제 해결을 위해서는 복잡한 현실을 단순하게 모델링하고 최적화해야 하므로. 본격적으로 수학에 집중하기 시작하는 챕터이기도 하다. 공부할 것이 너무나 많구나....


자연어를 다루는 강의를 할 때마다 벡터공간에 단어들이 어떻게 배치되어 있는지를 보여주고 word2vec에 샘플을 입력해 보면서 단순히 임베딩, 벡터공간, 거리(유사도)에 관한 개념만 설명해왔는데 편향성 해결을 언급한 부분이 재밌었다. 단어 벡터에서 편향을 제거하기 위해 '소프트웨어 엔지니어' 벡터에서 '남자man' 벡터와 '남성male' 벡터를 빼는 hard debiasing 방법을 소개하고 있다. 챗GPT에게 물어봤더니 하드 디바이어싱만 사용하면 벡터의 유용한 의미를 훼손시킬 우려도 있다며 다양한 방법들을 소개해준다. 적용해봐야겠다.


짧은 시간 안에 처음부터 끝까지 다 꼼꼼하게 읽지는 못했지만 한 페이지씩 모두 넘겨보긴 했다. 더 깊이 알기 위해서는 부가 자료를 찾아 좀 더 공부해야 한다. 하지만 다양한 내용을 다루고 있기 때문에 전체적인 맥락을 훑으면서 필요한 부분만 깊이 공부하는 방향으로 스터디 모임을 만들어 교재로 사용하기에는 좋은 책인 것 같다.


챕터가 끝날 때마다 [정리하기] 코너를 통해 정리를 해주는 부분도 도움이 된다.



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
AI 딥 다이브 - 오차역전파부터 확산모델까지, 미래를 만드는 73가지 기술 이야기
오카노하라 다이스케 지음, 정원창 옮김 / 한빛미디어 / 2024년 7월
평점 :
장바구니담기


"오차역전파부터 확산모델까지, 미래를 만드는 73가지 기술 이야기"

왜 저 문구를 그냥 넘겼을까. 말 그대로 '이야기'이다. 지금까지는 코드가 들어 있는 책들만, 코드가 없어도 실습 위주의 책들을 봐왔길래 코드 한 줄 없이 줄글만 있는 책을 읽는 게 쉽진 않다. ㅎㅎㅎ

이 책은 처음부터 끝까지 '이야기'다. 어딘가에 연재했던 내용들을 다듬어서 묶어놓은 것처럼 구성되어 있다. 그래도 기본 개념은 이해했고 연구를 시작해야 하는 사람들에게 가교 역할을 하는 책이라는 추천사를 보고 끝까지 읽어보기로 했다.

그런데 책을 읽으면서 '기본 개념'의 '기본'이 어느 정도인지 모르겠지만 머신러닝/딥러닝에 대해서 좀 심도있게 공부한 사람이 읽을 수 있는 책이라는 생각이 들었다. 한 가지 주제에 대해서 2~3 페이지 정도의 분량으로 설명하기 때문에 상당히 압축이 되어있다. 내용을 모르는 사람은 한 문단 한 문단 넘어갈 때마다 검색해봐야 할 내용이 많다. 다행인 것은 논문 출처를 달아 놓았다든지 하는 주석이 잘 되어 있어서 찾아보기가 그나마 수월했다. 읽다보면 반복되는 내용도 있어서 관심있는 꼭지를 골라서 읽어서 이해를 하고 다른 꼭지를 읽는 것도 방법이겠다. 뒷쪽으로 갈수록 생소한 주제들이 있어서 도움이 되었다. 여전히 ChatGPT를 비롯한 생성형 인공지능이 대세인데 거기에 대한 내용도 좀 있었으면 하는 아쉬움도 있었다.

사소한 것일 수도 있지만 나는 정규화와 규제를 구별하는데 이 책에는 규제(regularization)를 모두 정규화라고 번역을 해놓았다. normalization과 혼동할 수 있겠다. 여기에서는 정규화의 의미를 '일반화 성능을 개선하는 기법 전반'의 의미로 폭넓게 사용했다.


왠지 이번에는 책을 잘못 선택한 것 같다. 나와는 잘 맞지 않는다는 뜻이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
뇌를 쓰지 않는 만만한 PPT - 보고서/제안서/기획서를 단숨에 만드는 PPT 공식
제이(홍정인) 지음 / 한빛미디어 / 2024년 6월
평점 :
장바구니담기


항상 기술 관련 책만 보다가 간만에 관련이 없는 책을 만났다.

강의하거나 제안서 쓸 때 PPT가 필요해서 거의 매일 PowerPoint를 사용하고 있는데.


PPT 기획 시 생각해야 하는 세 가지. 정말 너무나 당연한 얘기부터 책을 시작한다. 너무나 당연하지만 자주 잊어버리는 것.

1) 내 청중은 누구인가?

2) 상대방의 니즈는 무엇인가?

3) 어떤 상황에서 어려움을 겪고 있을까?


지금까지 파워포인트를 수십년 써왔는데.....ㅎㅎ 파워포인트 창 밖에서 색상 찍어오는 법을 이 책을 보고 처음 알았다. 스포이드 클릭하고 -> 마우스 왼쪽 버튼 클릭한 상태에서 파포 밖으로 드래그 한 후 -> 원하는 색상에서 마우스 놓기. 메모장에서 Enter와 Tab을 이용해 초안을 만든 다음 파워포인트에 쉽게 끌어다 놓는 것도 처음 보았는데 신기했다. 이런 깨알팁 정리해 놓은 부분은 너무 좋다. 다만 생성형AI를 이용하는 부분에서는 파워포인트 내재 기능을 이용하는 걸까 하고 기대를 하고 봤는데 그건 아니었다. 다소 평범하고 자주 접했던 이야기들...하긴...어차피 MS365 구독자도 아니니. 나한테는 그게 MS제품을 사용하는 하나의 장벽이다.


작업을 빠르고 안전하게 하기 위해서 설정해 놓아야 하는 기본 값들과 단축키도 하나씩 친절히 알려준다. 내가 평소에 자주 쓰는 단축키도 있지만(그룹 묶기/해제 같은 거) F2 같은 건 써본 적이 없다. 이 알흠다운 단축키 모음이라니...맥북 단축키도 있다.


책을 보면서 확실히 전문디자이너는 다르구나 하는 생각을 했다. 나의 PPT는 항상 '단순' 그 자체이기 때문에 기교를 많이 넣는 것 보다는 그냥 (상상할 수 있는) 하나의 그림을 던져주는 식이었다. 기술교육이 주이기 때문에 화면캡처도 많이 들어가고. 차트를 그리는 파트에서는 단순한 PPT 작성법이 아니라 데이터시각화 교육에도 참고할만한 내용들이 있었다. '성과를 강조하는 그래프 디자인하기', '상황에 맞는 애니메이션 활용하기' 같은 것들 말이다.


챗GPT 활용하기에서 소개한 프롬프트지니나 AIPRM 같은 것들은 챗GPT가 처음 등장했던 시기에 좀 썼는데 아직도 유용하게 사용되고 있다는 것이 좀 놀랍기도 했다. 지금은 챗GPT도 엄청난 발전을 이루어서 나는 쓰지 않은 지 한참 되었는데 다시 한 번 들여다 봐야겠다.


책은 두껍지 않다. 두껍지 않은 책에 필요한 것은 다 담았다는 게 이 책의 핵심인 것 같다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
실무로 통하는 ML 문제 해결 with 파이썬 - 전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법
카일 갤러틴.크리스 알본 지음, 박해선 옮김 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기


책 제목이 <실무로 통하는...>이라서 이 책을 처음 봤을 때는 기대하는 바가 있었다. 패** 같은 강의 사이트에서 실무로 해결한다는 강의를 봐도 뜬구름 잡는 느낌이었다. 엔지니어가 바라보는 문제/문제 해결 방법과 실무자가 바라보는 문제/문제 해결 방법의 간극을 좁혀주지 못한다는 것. 엔지니어는 엔지니어의 틀 안에서 생각한다. 이 차이를 줄여나가는 것이 내 강의의 일차적인 목표이다. 그래서 이 책에서도 어떤 데이터를 어떤 관점에서 다뤘냐를 유심히 보게 되었다.

우선 책의 목차를 보면 정형데이터부터 자연어, 이미지까지 모두 담고 있다. 눈에 띈 것은 다른 책에서는 잘 보이지 않던 다양한 소스에서 데이터를 불러오는 것이었다. CSV, 엑셀, JSON, 파케이(Parquet), 아브로(Avro), SQLite, 원격 SQL 데이터베이스, 구글 시트, S3 버킷, 비구조적인 텍스트 파일. 파케이나 아브로, S3버킷은 전혀 사용해보지 않은 것이다. 아마 앞으로도 쓸 일이 없을 것이지만 알아두면 좋을 내용이다.


목차를 왜 이런 식으로 했는지 좀 낯설다.

데이터 적재 - 데이터 전처리 - 텍스트 다루기(로딩부터 감성분석까지) - 날짜/시간 다루기(데이터 전처리의 영역) - 이미지 다루기(로딩부터 이미지 분류까지) - 차원 축소 - 모델 평가 - 모델 선택 - 머신러닝 모델 소개(선형 회귀, 트리, 랜덤포레스트, kNN, 로지스틱 회귀, SVM, 나이브베이즈)와 군집화(k-Means, 평균이동, DBSCAN, 계층적군집화) - 파이토치로 텐서 다루기 - 신경망 - 모델 저장/로딩/서빙

순서가 다른 책들과 확 달라서 처음 접하는 사람은 혼란스러울 수도 있겠다는 생각이 든다. 첫페이지부터 따라가며 보려고 하지 말고 필요한 부분들을 찾아가면서 보는 것이 오히려 나을 것 같다. 이해가 안 되는 부분이 있으면 일단 넘어가고 뒷부분을 읽은 다음에 다시 돌아오는 방식으로. 다른 책에서 많이 다루는 '시각화' 관련된 내용은 많이 나오지 않는다. 모델 성능 평가할 때 라인차트를 그려본다거나 혼동행렬 그리는 것과 결정트리 모델 그리기, 특성 중요도를 바차트로 그려보는 정도..


161쪽까지 약 1/3 가량을 할애해 데이터를 가져와서 전처리하는 과정을 다룬다.

이어지는 '6장. 텍스트 다루기'에서는 널리 사용되는 전처리 기법과 사전 훈련된 머신러닝 모델을 활용하는 방법을 다룬다. 공백, 구두점, 특수문자, 불용어 등을 제거하거나 HTML 요소를 추출해내는 것 등이다. NLTK를 사용해 토큰화, 어간추출, 품사태깅을 하고 spaCy를 사용해 개체명 인식을 수행한다. 사이킷런의 CountVertorizer를 사용해 BoW로 인코딩하고 TfidfVectorizer를 사용해 단어에 중요도가중치를 부여한 행렬을 만든다. 이어 텍스트 유사도 계산, 감성 분류를 소개한다. 전체적으로는 간단하고 짤막하게만 소개하고 있다. 실제로 텍스트를 처리하는 업무를 한다면 여기에서는 아주 기초적인 내용만 훑고 자연어처리에 관한 다른 책을 봐야한다. '8장. 이미지 다루기'도 마찬가지이다. 감만 익힌다고 생각하고 가볍게 보면 된다. 강의로 치면 8시간 하루 좍 훑어가며 수업할 내용이다. 이어지는 차원축소 부분은 개념을 잘 이해하고 넘어기면 좋겠다. 사실 라이브러리가 너무 잘 되어 있어서 호출해서 사용하면 한두 줄이면 끝나는 부분이라 왜 하고 어떻게 동작하는지, 어떤 때 사용하면 유용한지 등을 알아두면 좋다.


이후는 일반적인 머신러닝 알고리즘과 모델 이야기라서 특별히 인상적인 것은 없었다. 데이터도 바로 만들어서 사용하는 단순한 데이터나 흔하게 사용하는 iris데이터를 불러 쓰는 정도...사실 이 부분에서 살짝 실망했다.


아마 텐서플로를 주로 쓰는 사람들과 파이토치를 쓰는 사람들이 갈릴 텐데, 텐서플로를 쓴다면 파이토치 텐서 부분은 건너 뛰어도 될 것이다. 그런데 이 책에서는 이후에도 파이토치를 사용하기 때문에 책을 끝까지 보고 싶다면 익혀두면 좋겠지. 텐서플로를 하는 사람들은 '21장. 신경망' 부터는 개념만 잘 이해하고 책에 제시된 파이토치 코드에 대응하는 텐서플로 코드를 찾아보거나 직접 만들어 보는 방식으로 학습을 하면 될 것이다.


분량이 많지는 않지만 '22장. 비정형 데이터를 위한 신경망'은 흥미로웠다. 요즘 핫한 생성형인공지능의 핵심기술인 트랜스포머(Transformer)를 살짝이라도 맛볼 수 있기 때문이다. '23장. 훈련 모델의 저장, 로딩, 서빙' 도 웹서버에 간단하게 서빙하는 방법을 알려준다.


전체적으로는 내가 원했던 것을 이루지는 못했다. 아주 간단한 데이터나 널리 알려진 데이터 몇 가지를 사용해 기초부터 찬찬히 설명해줬기 때문에...실무 적용은 또 숙제로 남았다. 하지만 앞에서 언급한 저런 내용들이 필요한 독자라면 책이 눈에 잘 들어오게 구성되어 있기 때문에 찬찬히 읽어봐도 좋겠다. 꼼꼼하게 읽고 코드를 실행했다면 이제 실무로 통하는 문은 연 것이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
챗GPT API를 활용한 챗봇 만들기 - : 5일만에 배우는 AI 챗봇 개발의 모든것(LLM,프롬프트 엔지니어링, 오픈AI API, 에이전트, 벡터DB)
이승우 지음 / 한빛미디어 / 2024년 3월
평점 :
구판절판



 

챗GPT API를 이용해 챗봇을 만들어 본 적은 있는데 배포까지는 해본 적이 없어서 그 부분에 대한 기대감이 있었다. 오래전에(챗GPT가 없던 시절) 카카오톡 챗봇을 만들어서 잠시 유지하다가 흥미가 떨어져서^^ 방치하고 있는 사이에 카카오톡에 챗봇을 올리는 조건이 좀 까다로워졌다는 소식만 접하고 관심을 끊고 있었는데, 이 책에서는 카카오톡에 배포하는 방법을 다루고 있다.



10년 후에는 AI챗봇이 10배 정도 성장할 것이라는 전망을 인용했는데, 이 부분은 어떤 게 정답이다 말하기 어려울 것 같다. 하지만 수요가 점점 늘어날 것이라는 건 의심할 여지가 없어 보인다.


전 세계 챗봇 시장 규모는 2023년 57억 달러에서, 2024년부터 2032년까지 CAGR 21.5%를 기록해 2032년에는 346억 달러에 이를 것으로 예상된다.

https://www.gttkorea.com/news/articleView.html?idxno=8837



이 책을 통해 쌓아 가게 될 학습 스택을 먼저 도표로 보여준 점이 좋았다. 전체적인 내용을 한 눈에 파악하고 어떤 것들을 다루게 될지에 대한 기대감을 갖게 했다.

구름 IDE를 사용하는 것도 무난하고, 파이썬은 이미 사용하고 있고, 오픈AI의 API키도 받아둔 것이 있기에 시작은 무난히 할 것 같았지만...'카카오 비즈니스' 화면에 들어가 채널을 개설하고 챗봇을 생성하는 건 첫 번째 장벽이었다. 뚜렷한 목적을 가지고 있는 사업자들은 별 문제가 없겠지만...



어찌저찌 이 과정을 통과하고 파이썬 기초 문법에 대해서 익히고, 챗GPT에 대해서도 익숙해지고, 프롬프트 엔지니어링에 대해서도 익히고....이런 부분에 대해서는 설명과 코드가 비교적 쉽고 자세히 되어 있어서 그대로 따라가기만 하면 된다. 자잘한 팁들은 '궁금해요' 코너에서 간단하게 설명해준다.




책의 대부분은 코드 구현에 할당되어 있고 그대로 따라가기만 하면 되기 때문에 큰 어려움은 없다. 중간중간 개념정리가 필요한 부분에서는 도표로 개념을 설명해주는데 이해하기 쉽게 그려놓았다.


16장에서는 GPTs를 만드는 과정에 대해서도 설명하고 있는데 살짝 뜬금없다는 생각이 들었다. 하지만 GPTs를 직접 만들어 보고 싶었던 사람들에게는 도움이 될 것이다. 저자는 '다양한 상황에 맞추어 필요한 기술을 선택하기 위해서 알아야 할 사항'이기 때문에 다루었다고 적었다.

부록으로 업그레이드에 대응하는 방법을 기술해 두었는데 이것도 도움이 될 것 같다. 카카오톡 채널 개설이나 오픈API의 모델 업그레이드, 정책 변경 등에 관한 것은 언제 어떻게 바뀔지 모르는 사항이라 이런 부분에 대해서 지속적으로 서포트를 해주면 좋을 것 같다. 문제가 발생하는 경우엔 네이버카페를 통해서 해결할 수도 있다.



전체적인 느낌은 "어렵지 않네!"였다. 아무런 개념이 없는 분들에게는 조금 어려울 수도 있지만 그 분들은 3시간씩 5일이 아니라 더 많은 시간을 투자하는 것만 필요할 뿐인 것 같다.



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