AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

딥러닝 87

회귀 : 커머스 제품 판매량 예측 3

※ 모델 고도화데이터 전처리의 결과를 활용하여, 온라인 판매량 예측을 위한 모델링 과정을 배웁니다. 모델링은 인공지능 프로젝트에서 중심적인 단계로, 이를 통해 우리는 데이터로부터 패턴을 학습하고 예측 작업을 수행할 수 있는 모델을 구축합니다. 특히, 각 온라인 채널의 판매량을 예측하는 데 필요한 모델을 훈련시키는 방법을 배웁니다. 모델을 효과적으로 구축하고 최적화하는 능력은 효율적인 재고 관리와 타겟 마케팅 전략 수립을 위한 중요한 요소입니다. 1. Configurationdef initialize_configuration(seed): # 모델 구성 및 학습 설정 초기화 CFG = { 'TRAIN_WINDOW_SIZE': 28, 'PREDICT_SIZE': 21, ..

회귀 : 커머스 제품 판매량 예측 2

※ 데이터 전처리커머스 제품 판매량 예측 1을 통해 데이터에 0이 많다는 문제를 파악했습니다. 판매량이 0인 경우는제품을 구매할 구매자가 없어 실제로 제품이 판매되지 않은 경우(수요가 없는 경우) 또는 제품을 구매하고 싶은 구매자가 있지만 제품의 재고 부족과 같은 문제로 제품이 판매되지 못한 경우(수요는 존재하지만 공급이 없는 경우) 로 생각할 수 있습니다.이 생각을 통해 수요가 있지만 공급이 없는 경우에는즉, 날짜별로 판매량이 계속 존재하다가 판매량이 갑자기 0이 된 경우는 모델 학습에 안좋은 영향을 미칠것이라 판단하였고, 이를 해결하기 위해 현재 이 Task에 적합한 Imputation 전략을 사용해야겠다 생각할 수 있습니다.따라서 이번에는 앞선 EDA 결과를 이용하여 Data Processing(I..

회귀 : 커머스 제품 판매량 예측 1

※ 탐색적 데이터 분석을 통해 데이터 이해하기탐색적 데이터 분석(EDA, Exploratory Data Analysis)을 통해 데이터를 깊이 있게 이해하는 방법에 대해 학습합니다.현대 디지털 시대에서 온라인 판매는 상품과 서비스를 전달하는 핵심 채널로 자리매김했습니다. 이와 함께 온라인 판매 채널에서 수집되는 대규모 데이터는 단순한 정보의 형태를 넘어, 판매 환경에서 귀중한 통찰력을 얻는 중요한 자산이 되었습니다.EDA는 데이터 사이언스 프로젝트의 핵심 부분으로, 데이터의 기본적인 정보를 파악하고, 각 피처의 분포를 확인하며, 피처들 간의 연관성을 탐색하는 과정입니다. 이를 통해 각 온라인 채널의 판매량을 예측하는 데 필요한 기초를 다질 수 있습니다.이번에는 온라인 판매 데이터를 분석하여, 효율적인 재..

파인튜닝(Fine-Tuning)

1.전이 학습의 종류 2가지전이 학습(Transfer Learning)에는 두 가지 주요 방법이 있습니다. 이번에는 미세 조정(Fine-tuning) 에 대해 자세히 알아보겠습니다. 이 두 방법은 사전 학습된 모델의 가중치를 어떻게 활용하고 조정하는지에 대한 접근 방식에서 차이가 있습니다. Fine-tuning 방법은 사전 학습된 모델의 가중치를 초기 상태로 사용하되, 새로운 데이터셋으로 전체 레이어 또는 선택된 레이어의 가중치를 추가로 조정하는 방식입니다. 전체 모델을 미세 조정할 수도 있고, 출력층에 가까운 몇 개의 레이어만 조정할 수도 있습니다. 1) 초록색 네모칸 부분: 전이 학습 초기에는 사전 학습된 특징 추출기(초록색 네모칸)를 그대로 사용하는데, 미세 조정에서는 이 부분의 가중치 도 업데이트..

특징 추출(Feature Extraction)

1. 전이 학습의 종류 2가지전이 학습(Transfer Learning)의 두 가지 주요 방법은 특징 추출기와 미세 조정이 있습니다. 두 방법은 사전 학습된 모델의 가중치를 어떻게 활용하고 조정하는지에 대한 접근 방식에서 차이가 있습니다.1.1 전이 학습(Transfer Learning) 전이 학습(Transfer Learning) 방법은 사전 학습된 모델의 일부 레이어(층)의 가중치를 고정하고, 이를 업데이트하지 않는 방식입니다. 주로 모델의 초기 레이어에서 일반적인 특징(예: 색상, 텍스처, 가장자리)을 추출하는 데 사용된 가중치들이 이에 해당합니다. 이 레이어들은 보통 범용적인 특성을 다루기 때문에, 새로운 작업에도 효과적으로 적용될 수 있습니다. ※ 초록색 네모칸 특징 추출기는 일반적으로 모델의 ..

사전 학습된(Pre-trained) 모델 이해

1. 사전 학습 모델의 구조사전 학습된 모델은 대규모 데이터셋에서 학습된 모델로, 컴퓨터 비전에서 자주 사용됩니다. 이 모델들은 다양한 구조와 깊이를 가지며, 각각의 장점이 있습니다. 1) ResNet (Residual Network): ResNet은 '잔차 연결(residual connection)'을 도입하여, 네트워크가 매우 깊어질 때 발생하는 기울기 소실 문제를 해결합니다. 이 구조는 레이어 간 직접 연결을 추가하여, 네트워크가 깊어져도 성능이 향상될 수 있도록 돕습니다. 장점: 깊은 네트워크에서도 성능이 안정적이며, 다양한 이미지 분류 및 인식 작업에서 널리 사용됩 니다. 주요 구성 요소: 기본 블록(Residual Block): 직접 연결로 이루어진 기본 단위, 다양한 깊이의 모델(ResNe..

전이 학습(Transfer Learning) 기초

1. 전이 학습이란? 전이 학습(Transfer Learning)은 이전에 학습된 모델을 새로운 문제에 적용하는 학습 방법입니다. 이는 이미 학습된 모델을 사용 하여 유사한 문제에 적용하는 방식으로, 한 작업에서 얻은 학습 내용을 다른 작업에 전이함으로써 새로운 작업에서의 성능을 향상 시키는 것을 목표로 합니다. 사전학습된 모델은 대규모 데이터셋(예: ImageNet)에서 학습된 가중치를 갖고 있으며, 이를 그대로 사용하거나, 새로운 데이터셋에 맞춰 미세 조정(fine-tuning)하여 다시 학습할 수 있습니다. 이때, 모델의 가중치를 초기화하지 않고 유지하면서, 새로운 데이터셋에 맞는 마지막 레이어만 학습하거나 일부 레이어만 재학습합니다. 전이 학습은 주로 컴퓨터 비전과 자연어 처리 같은 대규모 데이터..

RAG 챗봇 시스템 구현

1. 프로젝트 소개 및 환경 설정최근 서울시에서 실행하는 정책을 참고해, 유저의 질문에 대답을 할 수 있도록 챗봇을 만들어 봅니다. 이를 위해서, 서울시 정책 PDF 문서 중 청년 정책 관련 부분을 데이터로 사용하고, HuggingFace에 등록된 LLM을 이용해 프로젝트를 진행합니다. 1.1 환경 설정 1) 필수 라이브러리 langchain langchain_community langchain_huggingface pypdf faiss-cpu or faiss-gpu2) Hugging Face 라이브러리를 사용하기 위한 토큰 발급 받기 이 프로젝트는 Hugging Face에서 제공하는 라이브 러리를 사용하여 임베딩 모델과 LLM 모델을 불러와서 사용합니다.로컬 환경에서 프로젝트를 진행하시는 경우, 해당..

RAG 시스템 실습 : 데이터 준비 단계, 운영 단계

1. 운영단계1.1 Document Loaders 실습from langchain_community.document_loaders import PyPDFLoader# PDF 파일 로드loader = PyPDFLoader("machine_learning.pdf")# 모든 페이지 로드documents = loader.load()# 페이지 확인for page in documents: print(f"Page {page.metadata['page']}: {page.page_content[:100]}...") # 페이지 번호와 내용Page 0: RAG 교재 용 PDF...Page 1: 1. 머신러닝이란?머신 러닝은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구이다. 방대한 데이터를 분석해 '미래를 예측..

RAG 시스템 파이프라인 2 : 운영 단계

1. 질문부터 답변까지: RAG의 5단계 운영 과정RAG의 운영 단계는 사용자에게 질문을 받아서 질문과 관 련된 문서를 검색하고, 검색된 정보를 바탕으로 LLM이 생성한 응답을 사용자에게 전달하는 과정을 말합니다. 운영 단계는 일반적으로 5단계를 거쳐 진행됩니다. 1) 사용자 질문 입력사용자로부터 "인공지능에 대해 알고 싶어요"와 같은 질문을 받습니다. 이 질문은 곧바로 LLM으로 전달되지 않고, RAG 시스템의 검색(Retrieval) 단계로 먼저 이동하게 됩니다. 2) 관련 문서 검색 이 단계에서는 사용자의 질문과 관련된 정보들을 검색해요. 문서가 저장되어 있는 데이터베이스에서 질문과 연관성이 높은 자료들을 찾아냅니다. 위 이미지에서 볼 수 있듯이 Retrievers를 통해 벡터 스토어(Vecto..