전체 글 97

[NLP] 기업명과 기업정보로 특정 산업군 분류 : RNN 구조만을 사용하여 성능 개선 (feat. Tensorflow / Keras)

https://mz-moonzoo.tistory.com/103 [NLP] 기업명으로 특정 산업군 분류 : RNN 구조만을 사용하여 성능 개선 (feat. Tensorflow / Keras)https://mz-moonzoo.tistory.com/80 [DL] RNN - Recurrent Neural Networks 이론 정리0. RNN (Recurrent Neural Network) RNN(Recurrent Neural Network)은 시간적으로 순차적인 데이터를 처리할 수 있도록 설계된 인공신경망으로, 과거mz-moonzoo.tistory.com 안녕하세요! 지난 1편에서는 '업체명'이라는 단일 텍스트 정보만을 사용하여 산업군을 분류하는 RNN 모델의 성능을 개선하기 위해 다양한 데이터 전처리, 불균형..

DL/NLP 2025.05.13

[NLP] 기업명으로 특정 산업군 분류 : RNN 구조만을 사용하여 성능 개선 (feat. Tensorflow / Keras)

https://mz-moonzoo.tistory.com/80 [DL] RNN - Recurrent Neural Networks 이론 정리0. RNN (Recurrent Neural Network) RNN(Recurrent Neural Network)은 시간적으로 순차적인 데이터를 처리할 수 있도록 설계된 인공신경망으로, 과거 정보를 현재의 계산에 활용할 수 있는 순환 구조를 가진 모델mz-moonzoo.tistory.com https://mz-moonzoo.tistory.com/102 [NLP] RNN 메커니즘 Numpy 직접 구현 실습https://mz-moonzoo.tistory.com/80 [DL] RNN - Recurrent Neural Networks 이론 정리0. RNN (Recurrent N..

DL/NLP 2025.05.12

[NLP] RNN 메커니즘 Numpy 직접 구현 실습

https://mz-moonzoo.tistory.com/80 [DL] RNN - Recurrent Neural Networks 이론 정리0. RNN (Recurrent Neural Network) RNN(Recurrent Neural Network)은 시간적으로 순차적인 데이터를 처리할 수 있도록 설계된 인공신경망으로, 과거 정보를 현재의 계산에 활용할 수 있는 순환 구조를 가진 모델mz-moonzoo.tistory.com 안녕하세요! 이전에 RNN 이론에 대해 정리했던 글에 이어, 드디어 실습 코드를 공유하게 되었습니다. 사실 많이 사용되는 정형화된 예시 데이터보다는 좀 더 흥미로운 데이터셋을 찾아 적용해보고 싶은 마음에 시간이 조금 걸렸네요. RNN 구현에 대한 글은 두 편으로 나누어 작성할 예정입..

DL/NLP 2025.05.09

[DL] TensorFlow/Keras 모델 재현성 확보 가이드. (feat. 시드 고정)

안녕하세요! 딥러닝 모델을 학습하다 보면 분명 어제와 똑같은 코드를 돌렸는데 결과가 다르게 나와서 당황스러웠던 경험, 다들 한 번쯤 있으시죠? 특히 중요한 연구를 진행하거나 서비스를 개발할 때, 모델의 학습 결과가 매번 달라진다면 실험 결과를 신뢰하기 어렵고, 문제 발생 시 원인을 찾기도 매우 힘들어집니다. 오늘은 이러한 학습 결과의 비일관성 문제를 해결하고, 언제나 동일한 결과를 얻을 수 있도록 TensorFlow/Keras 환경에서 학습 재현성을 확보하는 방법을 알아보겠습니다. 저도 처음에는 단순히 글로벌로 numpy, radom, tf의 seed를 고정해서 사용했는데요. 이것만으로는 학습 결과가 일관되지 않더라구요...ㅠ 그럼 왜 학습 결과가 계속 바뀔까요?딥러닝 모델 학습 과정에는 생각보다 많은 ..

DL 2025.05.09

[RAG] 논문 리뷰 - NodeRAG:Structuring Graph-based RAG with Heterogeneous Nodes

안녕하세요! 이전에 GraphRAG와 LightRAG에 대해 함께 살펴보았는데요, 오늘은 그 흐름을 이어 GraphRAG 분야의 또 다른 흥미로운 아이디어를 소개해 드리려고 합니다. 바로 2025년 4월 15일에 올라온 'NodeRAG: Structuring Graph-based RAG with Heterogeneous Nodes' 라는 논문인데요, 다양한 정보 유형을 각기 다른 종류의 노드로 표현하는 '이종 그래프' 구조를 체계적으로 설계하고 활용하자는 핵심 아이디어를 제시하고 있습니다. 이 아이디어를 통해 기존 모델들(GraphRAG, LightRAG)과 어떻게 다르고 어떤 점을 개선했는지 논문 리뷰를 통해 전달드리고자 합니다. 0. AbstractRAG 기술은 LLM(대규모 언어 모델)이 외부 또는..

RAG 2025.05.01

[RAG] 논문 리뷰 - LightRAG : Simple and fast retreval-augmented generation

0. ABSTRACT LightRAG은 외부 지식 기반을 통합해 대규모 언어 모델(LLM)의 성능을 향상시키는 검색 기반 생성(RAG) 시스템입니다. 기존 RAG의 한계인 단순(flat)한 데이터 표현과 부족한 맥락 이해로 인한 단편적 응답 문제를 해결하고자, LightRAG은 그래프 구조를 인덱싱 및 검색에 도입합니다.이 시스템은 다음의 주요 특징을 갖습니다:이중 검색 구조: 낮은 수준의 지식 검색과 높은 수준의 지식 검색 모두에서 포괄적인 정보 검색을 향상 시키는 이중 검색 구조를 사용하여 더 포괄적이고 정확한 응답을 제공합니다. 그래프 + 벡터 통합: 개체 간 관계와 의미 유사성을 동시에 고려하여 관련 정보의 효율적 검색을 가능하게 합니다.증분 업데이트 알고리즘: 새로운 정보를 빠르게 반영할 수 있..

RAG 2025.04.30

[RAG] Vector RAG vs Graph RAG 비교 (2)

1. LLM의 한계와 RAG의 필요성최근 LLM은 뛰어난 성능을 보여주지만, 지식의 최신성 부족, 특정 도메인 지식 부재, 그리고 부정확한 정보를 생성하는 환각(Hallucination) 현상 등의 한계를 가지고 있습니다. 이러한 문제를 해결하기 위해 RAG(검색 증강 생성) 기술이 등장했습니다. RAG는 LLM이 답변을 생성하기 전, 외부 데이터베이스나 문서에서 관련 정보를 먼저 '검색'하고, 이 정보를 바탕으로 답변을 '생성'하는 방식입니다. 이를 통해 LLM을 매번 재학습시키지 않고도 최신 정보나 특정 도메인 지식을 활용하여 답변의 정확성과 신뢰도를 높일 수 있습니다. RAG는 단순히 LLM의 약점을 보완하는 것을 넘어, AI가 정적인 학습 데이터에 의존하지 않고 실시간으로 필요한 외부 지식을 동적..

RAG 2025.04.30

[RAG] Vector RAG vs Graph RAG 비교 (1)

1. Vector RAG vs Graph RAG 개요LLM 기반의 RAG(Retrieval-Augmented Generation) 시스템을 구현하면서, 보통 Vector Store 기반의 RAG로 시작하게 됩니다. 저도 마찬가지고요. 문서를 임베딩하고, FAISS나 Chroma 같은 벡터 데이터베이스를 이용해 관련 정보를 빠르게 찾아주는 방식으로 간단하고 효과적입니다. 하지만 프로젝트가 복잡해지고 문서 간 관계성이나 구조적 연결성이 중요해질수록, 단순한 벡터 유사도 기반의 검색이 한계를 드러내기 시작했습니다. 예를 들어, "A와 관련된 B, 그리고 그로 인해 파생된 C"처럼 지식 간의 연결 고리를 파악해야 하는 경우, 벡터 기반 검색은 그 관계를 자연스럽게 드러내지 못했습니다. 간단한 챗봇 시스템을 구축..

RAG 2025.04.30

[Docker] 자주 사용하는 도커/리눅스 명령어 정리

매번 도커 명령어를 까먹어서 자주 사용하거나 알아두면 유용한 명령어들을 이번에 한번 정리해보고자 합니다. 1. 이미지 관련 명령어도커 이미지는 컨테이너를 생성하기 위한 설계도와 같습니다. 애플리케이션과 필요한 모든 종속성, 라이브러리, 환경 설정 등을 포함하고 있습니다. 효율적인 컨테이너 운영을 위해서는 이러한 이미지를 효과적으로 관리하는 것이 중요합니다. 1. docker pull NAME[:TAG|@DIGEST]기능: 도커 레지스트리(기본: Docker Hub)에서 이미지를 다운로드합니다.주요 사용법: 이미지 이름(NAME)은 필수입니다. 특정 버전(TAG 또는 DIGEST)을 지정할 수 있으며, 생략 시 latest 태그가 사용됩니다.예시:docker pull nginx (최신 Nginx 이미지 ..

개발/Docker 2025.04.21

[RAG] PDF 테이블 추출 시 선 인식 문제 해결 방법(커스터마이징 feat. Pdfplumber)

0. 개요이전 PDF Loader 관련해서 글을 작성한 적이 있는데, 따로 댓글이나 메일로 질문을 남겨주시는 분들이 있으시더라구요. 그래서 아래 PDF Loader 비교 글에서 사용한 예시 PDF에서 발생한 문제를 어떤 식으로 해결할 수 있는지 예시를 작성해서 전달드리고자 이 글을 작성하게 됐습니다.https://mz-moonzoo.tistory.com/86https://mz-moonzoo.tistory.com/73 [RAG] Document Loader 비교 (feat. PDF, Markdown 변환)0. Document Loader (PDF)RAG를 하려면 수 많은 Raw Data들을 파싱해야 합니다.Raw Data들 중에서도 가장 범용적으로 사용되는 파일은 PDF이기 때문에, 이번 글에서는 PDF ..

RAG 2025.04.21