본문 바로가기
728x90
반응형

전체 글120

[LG AI] 딥러닝 - BackPropagation 이 수식에서의 로지스틱 과정을 먼저 보자(순방향) 이와 같이 입력값과 가중치 초기값이 설정되었다고 할 때,최종적으로는 0.73의 값을 출력하게 된다.  이제 역전파 과정에 대해서 살펴보자최종함수인 손실함수의 결과값이자 마지막 노드에 해당하는 편미분 값을 일단 1로 설정한다.최종함수를 그 함수값 자체로 미분하므로써 ​$\frac{dL}{dL}$ 결과값은 항상 1이 된다. ( 사실 이해 못함.. )   마지막 수식이었던 ​$\frac{1}{x}$ 을 미분하면 $ -\frac{1}{x^{2}}$ 이 되는데이전에 순방향에서의 가중치를 보면 1.37를 ​$\frac{1}{x}$에 대입하면 0.73이 된다는 걸 알 수 있다. 역전파에서는 미분한 $ -\frac{1}{x^{2}}$에 이전 순방향 가중치 1.37을 대.. 2024. 7. 25.
[LG AI] 지도학습 - 2 Classificationbinary 데이터를 linear 분류하기  Linear Classification 선형분류기: 선형그래프를 기준으로 0보다 큰지 작은지 나누어 이진분류> 0-1 손실함수를 사용 이 선형 그래프를 어떻게 찾을 것이냐?> 퍼셉트론 알고리즘 : 데이터가 존재할 때 임의로 선을 긋는다. 이에 계속되는 데이터에 대해 업데이트 된다.gradient를 계산할 필요가 없다. 하지만 선형으로 분류되지 않는 경우에는 이 선형을 찾는 동작이 무한으로 동작한다. > Linera Programming > SVM (Support Vector Machine) : 선형분류기로부터 각 클래스의 가장 가까운 데이터와의 거리를 'margin(마진)' 이라고 하는데, 이 마진값의 크기가 큰 선형 분류기를 고른다... 2024. 7. 24.
[LG AI] 지도학습 - 1 Supervised Learning Overview 지도학습 : 문제-정답 쌍이 주어졌을 때, 어떤 문제를 풀도록 학습시키는 것 예시)- 10가지 카테고리의 이미지를 분류하도록 처리- 텍스트 문장이 긍정인지 부정인지- 문장이 완성되지 않았을 때, 다음에 올 단어를 맞추는 것- 한 언어에 대한 문장을 다른 언어로 번역하여 출력- 다음날이나 몇시간 뒤의 주식정보, 상승 혹은 하강 >> 문제와 정답 쌍으로 이루어진 데이터를 사용= x에 대한 y값이 pair형태로 정해짐  예시)- 이미지가 x로 입력데이터, 분류 클래스 카테고리가 y인 출력데이터가 됨- x는 텍스트 문장, y는 긍정(1) 혹은 부정(-1)- 앞 단어가 x 입력이라면, 그 다음에 올 단어를 y- x는 전 몇일간의 주가 정보, y는 다음날의 주가(.. 2024. 7. 24.
[SeSac] LangChain 6 - RAG(Retrieval-Augmented Generation) !pip install -q pypdf!pip install -q langchain_community!pip install chromadbimport osos.environ['OPENAI_API_KEY'] = 'OPENAI_API_KEY'문서 로드from langchain_community.document_loaders import PyPDFLoaderpdf_filepath = 'disable.pdf'loader = PyPDFLoader(pdf_filepath)pages = loader.load()# document 객체의 개수len(pages)  텍스트 분리from langchain.text_splitter import RecursiveCharacterTextSplittertext_splitter = .. 2024. 7. 15.
[SeSac] LangChain 5 - Output Parser CSV Parser : 모델의 출력 형태를 csv 형태로 변환한다.from langchain_core.output_parsers import CommaSeparatedListOutputParseroutput_parser = CommaSeparatedListOutputParser()format_instructions_text = output_parser.get_format_instructions()print(format_instructions_text)# Your response should be a list of comma separated values, eg: `foo, bar, baz`> 모델이 출력을 생성할 때 쉼표로 구분된 형식을 반환하라는 지침을 프롬프트에 추가한다.from langchain_c.. 2024. 7. 14.
[SeSac] LangChain 4 - 모델 파라미터 주요 파라미터Temperature : 생성하는 텍스트의 다양성을 조정. 반복되는 생성과정에서 값이 작으면 일관된 출력을 하고, 값이 크면 다양한 출력을 한다. Max Tokens : 생성하는 최대 토큰 수. 생성할 텍스트의 길이를 제한한다.Top P(Probability) : 생성과정에서 특정 확률분포 내 상위 P% 토큰만을 고려 (temperature와 유사)Frequency Penalty : 빈도 패널티. 값이 클수록 이미 등장한 단어나 구절이 다시 등장할 확률을 감소시킴(temp와 유사)Presence Penalty : 존재 패널티. 텍스트 내에서 단어의 존재 유무에 따라 그 단어의 선택 확률을 조정(temp와 유사)Stop Sequences : 정지 시퀀스. 특정 단어나 구절이 등장할 경우, 생성.. 2024. 7. 14.
[SeSac] LangChain 3 - LLM, ChatModel 모델 클래스 Langchain 모델 유형LLM : 단일요청에 대한 복잡한 출력을 생성하는데 적합하나의 텍스트 문자열을 입력으로 받아 텍스트 문자열로 반환한다. 일반적인 언어 이해 문제나 텍스트 생성 작업에 사용Chat Model : 사용자와의 상호작용을 통한 연속적인 대화 관리에 적합여러 메세지를 리스트로 입력받고 하나의 응답 메세지를 반환한다. 대화형 상황에 최적화(서로 주고 받는 형태)ChatModel은 대화의 맥락을 유지하면서, 적절한 응답을 생성하는데 중점을 둔다.> 두 모델은 서로 다른 특성과 용도를 가지고 있어, 목적에 맞추어 선택하여 사용해야 한다.   LLM (Large Language Model) from langchain_openai import OpenAIllm = OpenAI()llm.invok.. 2024. 7. 14.
[SeSac] LangChain 2 - 프롬프트 (Prompt) 프롬프트 (Prompt): 언어모델의 입력으로 사용되는, 질문이나 요청 형태의 지시문> 틀을 미리 잘 만들어놓으면, 재사용이 가능하고 수정해서 사용하기 편리하다.  프롬프트 템플릿 (Prompt Template) : 하나의 문장이나 간단한 명령을 입력하여 동일하게 하나의 문장 혹은 간단한 응답을 출력할 때 사용최종적으로 출력은 문자열 형태를 띈다. 파이썬 문자열 포맷팅을 사용하여 동적으로 특정한 위치에 입력값을 포함시킬 수 있다. from langchain_core.prompts import PromptTemplate# 'name'과 'age'라는 두 개의 변수를 사용하는 프롬프트 템플릿을 정의template_text = "안녕하세요, 제 이름은 {name}이고, 나이는 {age}살입니다."# Promp.. 2024. 7. 14.
[SeSac] LangChain 1 - 기본 LLM 체인 및 멀티체인 기본체인 (Prompt + LLM) : 사용자의 입력(프롬프트)을 받아 LLM을 통해 적절한 응답이나 결과를 생성하는 구조> 프롬프트를 통한 입력된 지시문을 LLM에게 전달하고, LLM은 전달받은 프롬프트 내용에 맞추어 질문에 대한 답변을 만드는 구조 기본 체인의 구성 요소프롬프트(Prompt) : 사용자 또는 시스템에서 제공하는 입력. LLM에게 작업을 수행하도록 요청하는 지시문LLM(Large Language Model) : GPT나 Gemini등의 대규모 언어모델. 프롬프트를 바탕으로 적절한 응답을 생성 일반적인 작동 방식프롬프트 생성 : 원하는 명령이나 지시사항을 입력하거나, 시스템에게 역할을 부여하거나, 혹은 여러 조건들을 작성해 LLM에게 전달하기 위한 지시문.( 프롬프트를 그냥 gpt같은 생.. 2024. 7. 14.
728x90
반응형