IT Study/ML & DL 6

LLM과 RAG (transformer, fine-tuning과 RAG 차이, 벡터DB) :: 면접 대비 복습

LLM (Large Language Model): 대규모 언어 모델로, 수많은 파라미터를 가진 인공 신경망으로 구성된 언어 모델.  - 방대한 데이터 세트를 학습하기에 "대규모"라는 이름이 붙음- Transformer 신경망 아키텍처 기반- tuning을 통해서 추가 학습이 이루어지며 프로그래머가 원하는 특정 작업에 맞게 조정- 학습 데이터에 기반해서 답변을 생성하기 때문에 편향적 답변이나 환각 현상 발생 가능성 높음 ※ Transformer 모델- 기존 RNN, LSTM, GRU와 달리 셀프 어텐션이라는 메커니즘을 도입- 병렬 처리가 가능하며 문장의 모든 단어를 동시에 처리가 가능- 장거리 의존 문제 해결: 셀프 어텐션 메커니즘으로 문장 내 모든 단어 간의 관계를 직접 계산- 문맥을 고려해서 단어의 의..

IT Study/ML & DL 2025.01.04

[RNN] RNN, LSTM, GRU 모델

RNN 실습 1 IMDB 데이터셋을 활용 LSTM 모델 활용 리뷰 감성분류, 긍정/부정으로 이진 분류 라벨링 IMDB 데이터는 훈련데이터와 테스트 데이터를 5:5 비율로 제공 라이브러리 불러오기 import tensorflow as tf from tensorflow.keras import layers, Sequential from tensorflow.keras.optimizers import Adam from tensorflow.keras.datasets import imdb from tensorflow.keras.preprocessing.sequence import pad_sequences IMDB 데이터셋 불러오기 def load_data(num_words, max_len): (X_train, y_t..

IT Study/ML & DL 2023.12.31

[CNN] OpenCV 실습 | 이미지 조각 순서변경, 프리윗 필터, 회선처리

오픈소스의 컴퓨터비전 라이브러리인 OpenCV를 활용해 CNN 실습 진행 실습1. 이미지 조각 순서 변경 전 import cv2 def solve_puzzle(img, piece_order): for idx, num in enumerate(piece_order): if idx == num: continue piece_idx = piece_order.index(idx) piece_order[idx] = piece_order[piece_idx] piece_order[piece_idx] = num r, c = img.shape[0] // 2, img.shape[1] // 2 p1_0, p1_1 = map(lambda x: x*r, divmod(num, 2)) p2_0, p2_1 = map(lambda x: x..

IT Study/ML & DL 2023.12.31

[DL/NLP] RNN 실습 (with. nsmc data)

0. 세팅 및 데이터 셋 확인 !pip install korpora from Korpora import Korpora Korpora 라이브러리를 활용해 데이터셋을 가져온다 Korpora 는 연구 목적으로 공유된 말뭉치들을 손쉽게 다운로드, 사용할 수 있는 기능을 제공해, Korpora 라이브러리 내에 다양한 말뭉치 데이터들이 있다 그 중에서 Naver 영화 리뷰 말뭉치인 nsmc 데이터를 활용할 것이다 데이터 셋 구성 nsmc_corpus = Korpora.load('nsmc') train_data = list(nsmc_corpus.train.texts)[:3000] test_data = list(nsmc_corpus.train.texts)[:1000] train_label = np.array(list(..

IT Study/ML & DL 2023.12.23

[DL/NLP] Word2Vec - CBOW & Skip-Gram 방식

Word2Vec word2Vec은 워드 임베딩 기법으로 단어를 벡터형태로 전환하는 기법이다. 2013년 토론토 대학에서 발표했으며 현재까지도 많이 활용되는 기법이다. 신경망 모델을 사용해서 말뭉치에서 단어들의 연관성을 학습한다. 즉 주어진 문맥에서 발생하는 단어를 예측하는 문제로 단어 임베딩 벡터를 학습한다. word2Vec에는 CBOW와 Skip-Gram 두 가지 방법이 있다. CBOW vs Skip-Gram CBOW: 주변 단어를 활용해 중간에 있는 단어 예측 Skip-Gram: 중간 단어를 활용해 주변에 있는 단어 예측 0. 사전 준비 1) 라이브러리 호출 from gensim.models import word2vec import list_file 2) 데이터 확인 1. Word2Vec 모델 정의 ..

IT Study/ML & DL 2023.12.23

[DL/CNN] CNN 실습 (with. MNIST data)

0. 데이터셋 확인 사용 데이터: train 5000개, test 1000개 이미지 데이터의 크기 28x28 데이터 특징: 2차원의 0~255 픽셀 값으로 구성 CNN의 input data format은 3차원(가로, 세로, 채널) => 전처리로 채널 차원을 추가해야한다 9개의 이미지 시각화 라벨 데이터 0~9까지의 10개의 값으로 라벨링 되어있다 => 전처리 시, 원핫 인코딩 진행 필요 1. 데이터 전처리 1) x 데이터 채널차원 추가 numpy의 expand_dims 함수를 통해 채널 차원을 추가해준다 np.expand_dims (arr, axis) arr: 차원을 확장할 배열 axis: 새로 추가될 차원의 위치(default: 0 -> 인덱스 0 앞에 새로운 차원을 추가하겠다) 실습에서는 axis에..

IT Study/ML & DL 2023.12.22
반응형