[인공지능] Monte Carlo Tree Search
·
AI & ML/인공지능 기초
zero sum game게임에 참가한 모든 참가자들의 점수를 전부 합하면 반드시 0(zero)이 되는 게임이다.즉, 누가 얻는 만큼 반드시 누가 잃는 게임 >> 장기, 체스 등Monte Carlo Tree Search MCTS는 주로 게임 AI에서 사용되는 알고리즘이다. 원래 Tree search 알고리즘이 게임에서 많이 사용되었는데, 가능한 모든 경우의 수를 찾기 힘든(너무 많아서) 체스, 바둑 등의 게임에서 효율적인 탐색을 행하는 알고리즘이 바로 MCTS이다. 확률 계산 알고리즘인 Monte Carlo는 정확한 확률 분포를 구하기 어려울 때 무작위 표본 추출을 통해 확률 분포를 도출하는 것으로써 통계열역학으로부터 만들어진 방법론이다.MCTS는 몬테 카를로 방법을 기반으로 하여 가능한 많은 무작위 시뮬..
LightGBM, CatBoost, XGBoost 모델
·
AI & ML
LightGBM 모델LightGBM은 트리 기준 분할이 아닌 리프 기준 분할 방식을 사용한다. 트리의 균형을 맞추지 않고 최대 손실 값을 갖는 리프 노드를 지속적으로 분할하면서 깊고 비대칭적인 트리를 생성하는 것인데,이렇게 하면 트리 기준 분할 방식에 비해 예측 오류 손실을 최소화할 수 있다.  트리를 리프 중심으로 성장시키는 방식(Tree Leaf-Wise)을 채택하여 더 적은 메모리로 학습 속도를 높이고 예측 성능을 높인다.트리의 모든 리프 중에서 오차를 가장 크게 줄일 수 있는 리프를 선택하여 분할>> 더 큰 오차를 줄일 수 있는 리프를 집중적으로 개선하여 모델의 예측 정확도를 높이는 방식레벨 중심 분할에 비해 트리가 불균형하게 성장할 수 있어 복잡한 패턴을 유연하게 모델링할 수 있음대규모 데이터셋..
CNN(Convolutional Neural Network)
·
AI & ML/딥러닝
CNN은 위와 같이 특징 추출(Feature Learning)부분과 이미지 분류(Classification) 부분으로 나뉘게 된다. 먼저 Feature Learning 영역은 Convolution Layer와 Polling Layer을 여러 겹 쌓는 형태로 구성된다. Convolution Layer: 입력 데이터에 필터를 적용 후 활성화 함수를 반영하는 필수 요소Polling Layer: Convolution Layer 다음에 위치하는 선택적인 레이어Classification 부분에는 이미지 분류룰 위한 Fully Connecter Layer가 추가된다. 또한 이미지의 특징을 추출하는 부분과 이미지를 분류하는 부분 사이에 이미지 형태의 데이터를 배열 형태로 만드는 Flatten Layer가 위치한다. C..
[트랜스포머를 활용한 자연어 처리] 01. 트랜스포머 소개
·
AI & ML/자연어 처리
인코더 - 디코더 프레임워크입력 단어는 순차적으로 인코더에 주입되고 출력 단어는 위에서 아래 방향으로 한 번에 하나씩 생성된다.이 구조는 인코더의 마지막 은닉 상태다 정보 병목이 된다는 약점이 있다. 디코더는 인코더의 마지막 은닉 상태만을 참조해 출력을 만들므로 여기에 전체 입력 시퀀스의 의미가 담겨야 한다. 하나의 표현으로 압축하는 과정에서 시작 부분의 정보가 손실될 가능성이 있어 취약하다. 어텐션 메커니즘어텐션은 입력 시퀀스에서 은닉 상태를 만들지 않고 스텝마다 인코더에서 디코더가 참고할 은닉 상태를 출력한다는 주요 개념에 기초한다. 즉, 디코더에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더에서의 전체 입력 문장을 다시 한 번 참고한다는 것이다. 하지만 모든 상태를 동시에 사용하려..
[인공지능] Introduction
·
AI & ML/인공지능 기초
인공지능이란?"인공 지능(AI)은 학습, 창조, 이미지 인식 등과 같이 주로 인간 지능과 연결된 인지 문제를 해결하는 데 주력하는 컴퓨터 공학 분야입니다. "[출처: AWS] '인공지능'이라는 키워드를 구글에 검색했을 때 가장 처음 나오는 정의이다. 인공지능, ai..이런 단어들은 너무 익숙해져서 오히려 잘 생각해보지 않게 되는데 이번 강의를 통해서 해당 정의를 제대로 정리해봐야겠다. 정의human의 어떤 것을 인공화 할 것인가?THOUGHT vs BEHAVIOUR (acting)HUMAN vs RATIONAL  이렇게 나눠서 생각해볼 수 있다.컴퓨터 공학에서 인공지능을 공부하는 궁극적인 목표는 Systems that act like humans 를 만들기 위함이다. 공학은 기본적으로 behaviour에..
RAG(Retrieval-Augmented Generation) 기초 이해
·
AI & ML/자연어 처리
LLM(Large Language Model)자연어 처리(NLP)에서 사용되는 인공지능 기술의 한 종류이다.이 모델들은 대규모의 텍스트 데이터를 학습하여 언어의 구조와 의미를 이해하고, 그 학습을 바탕으로 텍스트를 생성한다.생성, 번역, 요약, 질문 뿐만 아니라 창의성이 요구되는 분야에서도 두각을 나타내고 있다.할루시네이션하지만 LLM에도 문제점이 있었는데 가장 큰 것은 역시 할루시네이션일 것이다.AI모델이 생성하는, 잘못되거나 오해의 소지가 있는 결과를 뜻한다. 불충분한 학습 데이터모델의 잘못된 가정모델 학습에 사용된 데이터의 편향 등 위와 같은 다양한 요인으로 인해 발생할 수 있다. RAG란?RAG는 이러한 할루시네이션을 줄일 수 있는 대표적인 해결책이다.거대언어모델을 비롯한 생성형AI 모델은 엄청나..
ChatGPT 기반 RetrievalQA 체인 구축
·
AI & ML/자연어 처리
텍스트 파일에서 데이터를 로드하고, 이를 임베딩(벡터화)하여 문서 검색과 질문-응답(RetrievalQA) 체인을 생성한다.  1. API 키 설정api_key = os.getenv("OPENAI_API_KEY") '.env' 파일에서 'OPENAI_API_KEY'를 가져온다. 이 API 키는 OpenAi의 모델을 호출하는 데 사용된다. 본 코드에서는 chatGPT 모델을 사용하여 챗봇 답변을 생성할 것이다.  2. 문서 로드def load_docs(): loader = TextLoader('text.txt') print(loader) documents = loader.load() text_splitter = RecursiveCharacterTextSplitter( ..
LSTM을 활용한 삼성전자 주가 예측
·
AI & ML/딥러닝
SimpleRNN 단점장기 의존성 문제과거의 정보가 마지막 레이어까지 충분히 전달되지 못함LSTM은닉층의 출력값 이외에 LSTM 레이어 사이에서 공유되는 셀 상태(cell state) C(t)라는 변수가 추가적으로 공유됨장기 의존성 문제 해결 가능현재 시점의 정보를 바탕으로 과거 내용을 얼마나 잊을지 또는 기억할지 등을 계산하고, 그. 결과에 현재 정보를 추가해서 다음 시점으로 정보를 전달 데이터 전처리 DL을 공부할수록 전처리의 중요성을 알아가는 중이다!애초에 데이터가 별로거나(좋은 정보를 뽑아내지 못하거나) 오류가 있으면 그 후 과정은 문제가 생길 수 밖에 없다2024.07.15 - [AI] - CNN 예제 (MNIST, Fashion MNIST) CNN 예제 (MNIST, Fashion MNIST)..