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

 

 

그렇지 않아도 최근에 LLM과 연관된 스터디를 하고 있던 중에 만나게 된 반가운 책

"NLP와 LLM 실전가이드"

 

 

원서의 제목은 "Mastering NLP from Foundations to LLMs"인데,

한글로 번역하자면... '기초부터 LLM까지, 자연어 처리 완전 정복!' 정도로 될 것 같다 ^^

 

여기서 또 하나 주목해야할 이름이 보인다. "박조은"

데이터분석, Kaggle, Python 같은 것들을 공부하신 분들이라면 한 번쯤은 들어보셨을 이름 ^^

그래서인지 아래와 같이 동영상 강의도 유튜브로 계속 올려주고 계신다. 와우~

 

 

그리고, 실습을 위한 노트북 파일도 새롭게 손봐서 따로 올려주셨다.

- https://github.com/corazzon/Mastering-NLP-from-Foundations-to-LLMs

 

 

원래 제공하는 실습 파일과 비교해보는 것도 재미(?)가 있을 수 있다.

 

 

위에서 볼 수 있는 원서의 표지 그림을 보면 알겠지만

이 책의 본질은 NLP(자연어 처리) 책이다.

그 기반이 되는 수학적인 요소들을 포함해 LLM까지 언급하고 있는 것이다.

 

 

책에서는 "대상 독자"를 아래와 같이 말하고 있다.

 

 

내가 생각했을 때에는 "NLP(자연어 처리)와 관련된 전체적인 내용을 훑어보고 싶은 사람"이라고 말해야 하지 않나 싶다.

 

이 책의 목차는 다음과 같다.

 

CHAPTER   1   자연어 처리 개요 살펴보기
CHAPTER   2   머신러닝과 자연어 처리를 위한 선형대수, 확률, 통계 마스터하기
CHAPTER   3   자연어 처리에서 머신러닝 잠재력 발휘하기
CHAPTER   4   자연어 처리 성능을 위한 텍스트 전처리 과정 최적화
CHAPTER   5   텍스트 분류 강화: 전통적인 머신러닝 기법 활용하기
CHAPTER   6   텍스트 분류의 재해석: 딥러닝 언어 모델 깊게 탐구하기
CHAPTER   7   대규모 언어 모델 이해하기
CHAPTER   8   대규모 언어 모델의 잠재력을 끌어내는 RAG 활용 방법
CHAPTER   9   대규모 언어 모델이 주도하는 고급 응용 프로그램 및 혁신의 최전선
CHAPTER 10   대규모 언어 모델과 인공지능이 주도하는 과거, 현재, 미래 트렌드 분석
CHAPTER 11   세계적 전문가들이 바라본 산업의 현재와 미래

 

전체 목차와 함께 이 책의 쪽수 424쪽인 것을 보면 알겠지만

"기초 수학부터 실전 AI 문제 해결까지" 살펴볼 수 있는 책인 것은 맞지만

깊이 있게까지 살펴보려면 다른 자료들을 더 많이 찾아봐야할 것이다.

 

기초 수학부터 언급한다고 하여 좋아할 사람도 있고, 싫어할 사람도 있을텐데....

그냥 말 그대로 한 번 쭉 훑어보고 지나가는 수준의 수학이기 때문에

너무 큰 기대도 너무 큰 걱정도 할 필요는 없을 것 같다.


이 책은 원서 제목 그대로가 딱 적당한 제목인 것 같다.

 

"Mastering NLP from Foundations to LLMs"

(기초부터 LLM까지, 자연어 처리 완전 정복!)

반응형

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

 

 

AI 관련해서 공부를 한다면 최소한 한 번 이상 마주쳤을 가능성이 농후한,

갖고 있지 않더라도 책 표지를 보면 "아하! 그 책!" 이라고 외칠 그 유명한 책의 "리마스터판"이 나왔다.

벌써 8주년 이라는 것이 더 놀랍다 !!!

 

 

꼼꼼한 책을 보면서 혹시나 했는데, 역시나 일본 특유의 꼼꼼함을 보여주는 "사이토 고키"라는 분의 저서이다.

아쉽게도 어느 회사에서 연구하고 계시는지 등의 추가적인 정보는 찾을 수 없었다.

 

 

오옷! "개앞맵시" !!! 어디서 많이 들어본 닉네임을 갖고 계신 옮긴이.

'구글 엔지니어는 이렇게 일한다'라는 책의 번역도 맡으셔서 익숙한가!?

삼성전자 VD 사업부에서도 근무를 하셨었구나...

인사이트, 골든래빗 등의 출판사를 거쳐 지금은 한빛미디어에서 근무를 하고 계신 것으로 보인다 ^^

 

 

근래 봤던 책 중에서 중학교 2학년생의 리뷰를 책에 담아준 것은 처음 본 것 같다 !!!

김경수 학생도 대단하고, 한빛미디어도 대단하다는 생각을 해본다.

 

 

"밑바닥부터 시작하는 딥러닝 (Deep Learning from Scratch)"은 시리즈로 구성되어

현재 5권까지 출간되었고 6권도 출간 예정이라고 한다.

 

6권이 출간되기에 앞서 1권의 리마스터판이 이번에 다시 출간된 것이다.

 

 

순서에 상관없이 취사선택(?)하여 볼 수 있다지만

책의 챕터 구성을 보면 1권부터 보는 것이 맞을 것 같다.

 

CHAPTER 1     헬로 파이썬
CHAPTER 2     퍼셉트론
CHAPTER 3     신경망
CHAPTER 4     신경망 학습
CHAPTER 5     오차역전파법
CHAPTER 6     학습 관련 기술들
CHAPTER 7     합성곱 신경망(CNN)
CHAPTER 8     딥러닝

 

이 책은 딥러닝을 이해하는 데 필요한 지식을 기초부터 하나하나 차례로 설명해 준다고 한다.

 

정말 그렇다!

심지어 파이썬까지도 챕터를 하나 할당해서 알려주고 있다!!! 와우~!!

 

이 책이 특히 매력적인 것은 특정 라이브러리 사용을 최소화하고,

파이썬 코어 중심으로 실습 코드를 사용하고 있어서 내부적인 구현 사항에 대해 잘 살펴볼 수가 있다.

 

특히 이번 리마스터링을 통해 공부하기에 더더욱 좋아졌다.

 

 

그동안 이 책이 좋다는 것은 알았지만 출간된지 너무 오래되어 아쉬움이 있던 분들은

지금 바로 딥러닝에 대해서 진지하게 공부할 수 있도록 업데이트된 따끈따끈한 책이 등장했으니 지금 당장 구매를 !!!

 

반응형

와~ 짝! 짝! 짝! 다시 또 서평단으로 선정되었다 !!!

 

 

작년에 한 번 건너 뛰어서 그런지,

이번에 다시 선정 된 것이 정말 기쁘다 !!!

 

개인적으로 지금까지 살면서 잘한 결정 중 하나가

블로그를 작성하기 시작한 것이라고 생각한다.

 

이것 저것 나에게 정말 많은 도움을 주고 있다.

 

잊을만 하면 한 번씩 보내주는 100달러의 용돈도 짭짤하고... 😍

 

뭐 여하튼,

올해에도 서평단 생활 재미있게 해보겠다!

반응형

드디어 딥러닝으로 들어간다~!!! 고! 고!

 

 

 

인공 신경망 (Neural Network)

- 텐서플로(Tensorflow), 케라스(Keras)

- 이진 분류: binary_crossentropy, 다중 분류: categorical_crossentropy

- Dense → Sequential → compile → fit → evaluate

 

심층신경망

- model.summary()

- keras.layers.Flatten()

- relu

- optimizer

  . 기본 경사 하강법 옵티마이저: SGD, Momentum, nesterov

  . 적응적 학습률 옵티마이저: RMSprop, Adam, Adagrad

 

신경망 모델 훈련

- loss function

- epochs

- drop-out

- early stopping

 

 

 

기본 숙제 : Ch.07(07-1) 확인 문제 풀고, 풀이 과정 정리하기

 

1. 어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는 몇 개인가요?

 

③ 1,010 개

 

→ 풀이

'wx + b'와 같기 때문에 뉴런의 개수가 10개이고 입력값이 100개라면 다음과 같이 계산할 수 있다.

10 * 100 + 10 = 1010

 

 

2. 케라스의 Dense 클래스를 사용해 신경망의 출력층을 만들려고 합니다. 이 신경망이 이진 분류 모델이라면 activation 매개변수에 어떤 활성화 함수를 지정해야 하나요?

 

② sigmoid

 

→ 풀이

이진 분류 모델이라면 0과 1로 수렴하는 형태가 유리하므로 sigmoid를 사용하는 것이 적합하다.

 

 

3. 케라스 모델에서 손실 함수와 측정 지표 등을 지정하는 메서드는 무엇인가요?

 

④ compile()

 

→ 풀이

간단한 형태의 코드 샘플을 통해 알아볼 수 있다.

dense = keras.layers.Dense(10, activation='softmax', input_shape=(784,))
model = keras.Sequential(dense)
model.compile(loss='sparse_categorical_crossentropy', metrics='accuracy')
model.fit(train_scaled, train_target, epochs=5)
model.evaluate(val_scaled, val_target)

 

 

4. 정수 레이블을 타깃으로 가지는 다중 분류 문제일 때 케라스 모델의 compile() 메서드에 지정할 손실 함수로 적절한 것은 무엇인가요?

 

① sparse_categorical_crossentropy

 

→ 풀이

One-Hot 방식인 경우 'categorical_crossentropy'를 사용하면 되고,

정수 레이블이라면 'sparse_categorical_crossentropy'를 사용하면 된다.

 

 

 

추가 숙제 : Ch.07(07-2) 확인 문제 풀고, 풀이 과정 정리하기

 

 

 

1. 다음 중 모델의 add() 메서드 사용법이 올바른 것은 어떤 것인가요?

 

② model.add(keras.layers.Dense(10, activation='relu'))

 

→ 풀이

보통 다음과 같은 형태로 작성하는 것을 권장하지만, 1-라인으로 작성한다면 ②번 형태로 작성하면 된다.

dense1 = keras.layers.Dense(10, activation='relu')
model.add( dense1 )

 

 

2. 크기가 300x300인 입력을 케라스 층으로 펼치려고 합니다. 다음 중 어떤 층을 사용해야 하나요?

 

② Flatten

 

→ 풀이

2차원 입력이 들어오면 1차원으로 변경하는 layer를 배치하면 된다.

 

keras.layers.Flatten(input_shape=(300, 300))

 

 

3. 다음 중에서 이미지 분류를 위한 심층 신경망에 널리 사용되는 케라스의 활성화 함수는 무엇인가요?

 

ⓑ relu

 

→ 풀이

relu 함수의 경우 "max(0, z)" 함수와 같은 형태로써 이미지 분류에서 유용하다.

 

 

4. 다음 중 적응적 학습률을 사용하지 않는 옵티마이저는 무엇인가요?

 

① SGD

 

→ 풀이

SGD(Stochestic Gradient Descent)는 기본 경사 하강법 옵티마이저의 가장 대표적인 위치에 있다.

반응형

뭔가 흐름이 끊겼지만, 포기하기는 싫어서 달려보련다!

목차 1
목차 2

 

 

06-1 군집 알고리즘 (Clustering)

- 비지도 학습

- 이미지(gray, 2차원) 데이터 다루기

 

06-2 k-평균 (KMeans)

- 하이퍼파라미터 (k)

- 최적의 k 찾기 : inertia

 

06-3 주성분 분석 (PCA)

- 차원축소

- PCA

- 설명된 분산 (explained variance ratio)

 

혼공학습 숙제

 

[ 기본 숙제 : k-평균 알고리즘 작동 방식 ]

- 비지도 학습(Unsupervised Learning)의 가장 대표적인 사례가 바로 군집화(Clustering)이다.

- 군집화(Clustering)의 가장 대표적인 알고리즘이 바로 K-평균(K-Means) 알고리즘이다.

 

- centroid(중심점)을 기준으로 데이터들과의 거리를 최소화하는 것을 목표로 한다.

- 거리를 계산하는 여러 방법이 있으나 보통 유클리드 거리(Euclidian Distance) 방식을 사용한다.

 

- 이를 이용하여 K-Means 알고리즘은 다음과 같은 방식으로 최적화 한다.

 

 

[ 추가 숙제 : Ch.06(06-3) 확인 문제 풀고, 풀이 과정 정리하기 ]

 

1. 특성이 20개인 대량의 데이터셋이 있습니다. 이 데이터셋에서 찾을 수 있는 주성분 개수는 몇 개일까요?

→ 주성분 분석(PCA)라는 것은 차원 축소 방법 중 하나로써, 원본 데이터의 특성 개수와 같거나 적을 수 있다.

     그러므로 정답은 ②번이긴 할텐데.... 사실 ①번이라고 해도 틀렸다고 하기 힘들지 않을까 한다.

     "이 데이터셋에서 찾을 수 있는 최대 주성분 개수는 몇 개일까요?"라고 하는 것이 맞을 것 같다.

 

2. 샘플 개수가 1,000개이고 특성 개수는 100개인 데이터셋이 있습니다. 즉 이 데이터셋의 크기는 (1000, 100)입니다. 이 데이터를 사이킷런의 PCA 클래스를 사용해 10개의 주성분을 찾아 변환했습니다. 변환된 데이터셋의 크기는 얼마일까요?

→ 10개의 주성분을 찾아 변환했다고 했으니 당연하게도 ①번이 정답이다.

 

3. 2번 문제에서 설명된 분산이 가장 큰 주성분은 몇 번째인가요?

→ 분산이 큰 것부터 정렬되므로 ①번 첫 번째 주성분의 분산이 가장 크다.

 

그냥 문제 풀기만 하니까 아쉬워서 직접 코드로 증명을 해봤다.

 

 

여기까지~!!

반응형

가족 여행 및 대학원 MT로 인해... 엄청난 지각 공부를 한다.

미리 하지 못했음에 대해 반성 !!!! 무릎 꿇고 반성 !!!

 

05-1 결정 트리 (Decision Tree)

- 로지스틱 회귀 (Logistic Regression)

- 결정 트리 (Decision Tree Classifier), 가지 치기(Prunning)

 

05-2 교차 검증과 그리드 서치

- 검증 세트 (validation)

- 교차 검증 (Cross Validation)

  . 분할기(Splitter)를 사용한 교차 검증 : StratifiedKFold

- 하이퍼파라미터 튜닝 (Hyperparameter Optimization)

  . 그리드 서치 (GridSearchCV)

  . 확률 분포 선택 : uniform, randint

  . 랜덤 서치 (RandomizedSearchCV)

 

05-3 트리의 앙상블 (Ensemble)

- 정형 데이터와 비정형 데이터

  . 텍스트/오디오/이미지/영상 등의 비정형 데이터는 주로 DL 에서 취급

- 랜덤 포레스트 (RandomForest)

- 엑스트라 트리 (ExtraTrees)

- 그래디언트 부스팅 (Gradient Boosting)

- 히스토그램 기반 그래디언트 부스팅 (Histogram Gradient Boosting)

- XGBoost vs LightGBM

 

 

 

 

기본 숙제 : 교차 검증을 그림으로 설명하기

 

추가 숙제 : 앙상블 모델 손 코딩

- 전체를 캡처하는 것은 무의미한 것 같아, 하단부 부분만 캡처 !!!

 

반응형

 

어느덧 벌써 4장을 공부하고 있는 3주차가 되었다.

만날 일요일 밤에 벼락치기하고 있는 불량한 참가자 신세이지만....

이렇게라도 공부하려하는 스스로를 기특해 해야지 !!!!! 쓰담~ 쓰담~

 

 

04-1 로지스틱 회귀 (Logistic Regression)

- 분류 (Classifier) 모델

- vs. KNeighborClassifier

- 이진 분류 : 시그모이드(Sigmoid)

- 다중 분류 : 소프트맥스(Softmax), parameter C

 

04-2 확률적 경사 하강법 (Stochastic Gradient Descent)

- 점진적 학습 → 확률적 경사 하강법

- 손실함수 (loss function)

- 로지스틱 손실 함수 (logistic loss function, Binary Cross-Entropy loss function)

- partial_fit()

 

 

가제트 형사를 그려주신 것 같은데... MZ(GenZ?) 분들은 아시려나!? ㅋㅋㅋ

 

 

 

Homework

 

 

[기본 숙제]

 

 

- ① 시그모이드 함수(Sigmoid Function)

 

→ 기본적으로 선형 함수만 사용하는 경우 결과값이 너무 커지거나 너무 작아질 수 있으므로

     비선형 함수를 이용하여 값을 수렴하게 만드는 것이 계산하기에 용이해진다.

     이 때, 로지스틱 회귀에서 이진 분류를 사용하는 경우 시그모이드 함수를 이용하면

     0에서 1사이의 값으로 변환이 되며, 0.5를 기준으로 0과 1로 결과를 판단하기에 적합하다.

 

[추가 숙제]

반응형

 

고작 2주차인데, 뭔가 많다!

그런데, 여기서 끝이 아니라 뒤에 좀 더 있다!!!

 

다시 한 번 느꼈지만, 이 책은 절대 초보자를 위한 책이 아니다 !!!

 

03-1. K-최근접 이웃 회귀 (K-NN Regression)

- n_neighbors 파라미터를 이용하여 최근접 이웃과의 거리 평균을 이용하여 회귀

- 과대적합 vs. 과소적합

- n_neighbors 값 변경을 통해 과대적합, 과소적합 이슈 해결

 

03-2. 선형 회귀 (Linear Regression)

- coef_, intercept_

- 과대/과소 적합 이슈 → 다항 회귀

 

03-3. 특성공학과 규제

- 다항 특성 만들기 : PolynomialFeatures

- 규제 전에 표준화 : StadardScaler

- Ridge & Lasso

 

 

기본 숙제

동영상 강의에 얼추 나와있는 내용이라 어렵지 않다 ^^

 

n_neioghbors 값을 바꿔가면서 예측하고, 이것을 그래프로 표현하면 된다.

 

눈으로 봐도 얼추 5값이 적당하지 싶다~

 

추가 숙제

[ 모델 파라미터에 대해 설명하기 ]

 

파라미터는 머신러닝 및 딥러닝 모델의 핵심 요소로써,

모델이 데이터를 통해 학습하고 예측을 수행하는 데 필요한 내부 변수들을 의미한다.

이 값들을 적절히 조정하게 되면 모델은 주어진 문제를 효과적으로 해결할 수 있게 된다.

 

K-최근접 이웃 회귀(K-NN Regression) 챕터에서 n_neighbors 값을 조정하면서

과대적합이나 과소적합 문제를 완화하는 과정을 앞에서 살펴보았는데

여기에서 n_neighbors가 바로 모델 파라미터 중 하나이다.

 

 

반응형

+ Recent posts