본문 바로가기

전체 글

(29)
AI 에이전트의 성능을 극대화하는 법: '컨텍스트 엔지니어링' 출처: LangChain 블로그 "Context Engineering for Agents"최근 인공지능(AI) 분야에서 가장 주목받는 기술 중 하나는 '에이전트(Agent)'입니다. 에이전트는 언어 모델(LLM)과 다양한 도구(tool)를 반복적으로 호출하여 복잡한 작업을 수행하는 시스템인데요, 이 과정에서 핵심적인 역할을 하는 것이 바로 '컨텍스트 엔지니어링(Context Engineering)'입니다. 이번 포스팅에서는 컨텍스트 엔지니어링에 대해 자세히 알아보겠습니다.1. 컨텍스트 엔지니어링이란?Andrej Karpathy는 LLM을 일종의 운영체제(OS)에 비유했습니다. 여기서 LLM의 컨텍스트 윈도우(context window)는 컴퓨터의 RAM처럼 작동하며, 필요한 정보를 적시에 적절히 관리하는..
Sequence-to-Sequence(Seq2Seq) 이 글은 Joshua Starmer의 Sequence-to-Sequence (seq2seq) Encoder-Decoder Neural Networks, Clearly Explained!!! 를 정리한 것임을 밝힙니다. 자연어 처리(NLP) 분야에서 입력과 출력이 모두 시퀀스(연속된 단어들)인 문제는 매우 흔하다. 대표적인 예로는 다음과 같은 것들이 있다.영어 문장을 한국어로 번역질문에 대한 답변 생성챗봇 응답 생성오디오 신호를 텍스트로 변환 (예: 음성 인식)이러한 문제를 해결하기 위한 대표적인 신경망 구조가 바로 Sequence-to-Sequence (Seq2Seq) 모델이다. ✅ Seq2Seq 모델 이란?Seq2Seq는 이름 그대로 입력 시퀀스를 출력 시퀀스로 변환하는 모델이다. 이 모델은 크게 두 ..
시계열 데이터 정상성(stationary)평균, 분산이 시간에 따라 일정한 성질이다. 즉, 시계열 데이터의 특성이 시간의 흐름에 따라 변하지 않음을 의미한다. 이렇듯 정상성을 나타내지 않는 데이터는 복잡한 패턴을 모델링하여 분석하기 어렵기 때문에, 정상성을 갖도록 로그 변환, 차분 등 전처리 후 분석을 시행한다.정상 시계열 변환정상성을 나타내지 않는 데이터를 정상 시계열로 변환하는 방법은 다음과 같다.변동폭이 일정하지 않은 경우 -> 로그 변환추세, 계절성이 존재하는 경우 -> 차분(differencing, y_t - y_{t-1})단, 1차 차분으로 정상성을 띄지 않으면, 차분을 반복한다.예측 기법을 고려하기 전 시계열 패턴이 어떤지에 대해 파악해야 한다. 시계열 데이터 특성 추세(Trend)추세는 시간이 지남에 따..
[논문 리뷰] PatchTST: 시계열 예측을 위한 Transformer 모델 A Time Series is Worth 64 Words: Long-term Forecasting with Transformers 논문 리뷰 이 논문은 다변량 시계열 예측과 self-supervised representation learning 을 위한 효율적인 Transformer 기반 모델인 PatchTST를 제안한다. PatchTST의 핵심 요소시계열을 하위 시리즈 패치로 분할하여 Transformer에 입력 토큰으로 제공하는 것각 채널이 단일 변량 시계열을 포함하고, 모든 시리즈에서 동일한 임베딩과 Transformer 가중치를 공유하는 채널 독립성 (여기서 채널이란 하나의 변수 단위를 의미)Patch? Patch는 시계열 데이터를 일정한 길이의 하위 시퀀스로 분할한 것을 말한다. 이는 이미지 처..
Attention 메커니즘 이 글은 Joshua Starmer의 Attention for Neural Networks, Clearly Explained!!! 를 정리한 것임을 밝힙니다.Encoder-Decoder 모델은 긴 input에 대해 취약하다. → context vector로 압축하는 데에는 한계가 있다.RNN의 Long term 메모리 문제를 LSTM이 해결해준 것 아닌가? 하는 의문이 들 수 있겠지만, 아무리 Long term 을 저장한다고 해도, input이 너무 길어지면 과거의 정보가 잊혀질 수 있다. Attention Attention의 핵심 아이디어는 Encoder에서 Decoder로 새로운 경로들을 추가하는 것이다. 즉, 입력 값마다 하나씩 경로를 만들어서, Decoder의 각 단계가 입력 값을 직접 접근할 ..
Transformer 이 글은 Joshua Starmer의 Transformer Neural Networks, ChatGPT's foundation, Clearly Explained!!를 정리한 것임을 밝힙니다. TransformerSeq2Seq 는 고정된 context vector을 사용하여 Input에 따라 유연하지 못했다. 트랜스포머 모델은 기존 자연어 처리 모델의 여러 한계를 효과적으로 보완한다. 순차적 처리의 한계 극복: 이전의 seq2seq과 같은 순환신경망 모델들은 데이터를 순차적으로 처리하는 구조로 인해 긴 시퀀스에서 효율성이 떨어지고, 장기 의존성을 학습하는 데 한계가 있었다. 트랜스포머는 Self-Attention 메커니즘을 통해 문장의 모든 부분을 동시에 처리하며, 이로 인해 장기 의존성 문제를 효과적으..
[부스팅 모델] AdaBoost 이 글은 Joshua Starmer의 AdaBoost, Clearly Explained를 정리한 것임을 밝힙니다. Adaboost(Adaptive Boost)부스팅의 알고리즘을 쉽게 이해할 수 있는 Adaboost에 대해 알아보자.Adaboost는 Random Forest와 달리 Stumps들의 집합을 가정으로 한다. (여기서, stump란 그림처럼  자식 노드가 두 개, 부모 노드가 하나로 이루어진 구조를 말한다.) 각, Stump들은 순차적으로 생성이 된다. Random Forest에서는 각 Decision Tree들이 동일한 가중치로 결정권을 행사했다면, Adaboost의 Stump들은 다른 가중치를 부여받는다. (가중치에 대한 과정은 이후 자세하게 설명) 그럼, 예시를 통해 이해해 보자!8개의 샘..
의사결정나무(Decision Tree) 이 글은 Joshua Starmer의 Regression Trees, Clearly Explained!!! 를 정리한 것임을 밝힙니다. 의사결정나무(Decision Tree)대표적인 비모수적 모델인 의사결정나무(Decision Tree)에 대해 알아보자.  만약, 데이터가 왼쪽과 같이 선형적으로 분포 되어 있다면, 선형 회귀와 같은 모델로 최적화할 수 있다. 그러나, 오른쪽과 같이 점진적으로 변화하지 않고 X값에 따라 뚝뚝 나뉘는 데이터의 분포 형태라면 이러한 선형 회귀의 가정은 옳지 않다. 이런 경우를 위해 Decision Tree가 등장하였다. 의사결정나무(Decision Tree)는 분류(Classification)와 회귀(Regression) 문제를 해결하기 위해 사용되는 지도 학습 알고리즘이다...