본문 바로가기

728x90

AI

(42)
회귀 모델링 실습 회귀 모델링 예제 https://colab.research.google.com/drive/1qusPaD7MjKSkBi42iOVfaeesAjDG-bW9#scrollTo=d7PI9-30TO0T 2-1 회귀 모델링.ipynbColab notebookcolab.research.google.com 위 실험에서 실습 2에서이번에는 여러분이 원하는 구조와 하이퍼파라미터 값을 조정하여 성능을 높여 봅시다. 에서 기존에 옵티마이저는 Adam을 사용했고, 최근 회귀 모델에서는 Adam을 많이 사용하는 것을 알고는 있지만, RMSprop 옵티마이저를 사용해 봤습니다.RMSprop (Root Mean Square Propagation) 기존 모델에서 사용했떤 Adam 대신 RMSprop 를 사용한 이유와 장점가중치 업데이트의..
회귀 모델링 모델 구조와 Loss, Optimizer Process1. 각 단계(task)는 이전 단계의 Output을 Input으로 받아처리한 후다음 단계로 전달2. 공통의 목표를 달성하기 위해서 동작예 : 상품기획 - 디자인 - 생산 - 물류입고 - 매장 판매 딥러닝 구조   모데 구조 설계 input : 3개의 feature분석 단위에 대한 shape1차원 : (feature 수, )2차원 : (rows, columns)output : 예측 결과가 1개 변수(y가 1개 변수) Loss functionLoss function다양한 이름 : 오차함수, 손실함수, 목적함수 (Objective Function)학습 목적을 결정 : 이 값을 최소화/최대화 하는 것이 목적 OptimizerOptimizer오차를 최소화 하..
pytorch 데이터다루기 텐서 다루기 기초import torchimport numpy as npimport pandas as pd 1. torch.tensor()리스트, 넘파이로 부터 데이터 프레임은 지원하지 않음 텐서의 속성텐서의 속성 확인하기 생성 시 데이터타입 지정보통, 다양한 연산을 위해서 dtype = torch.float32로 지정 Operations텐서 작업을 디바이스(device)에 할당cpu, gpu넘파이처럼 다루기결합 : torch.cat 연산집계함수행렬 곱요소 곱(element-wise product)단일 요소 텐서단일 요소 텐서로 부터 값을 뽑아서 사용하려면, .item()2.Data Loader(1) 데이터 준비 (2) 텐서로 변환torch.tensor(numpy array, )numpy array를 입력..
딥러닝 개요 딥러닝 코드 구조 ML 코드 구조와 매우 유사하지만 추가되는 부분들이 있음 우선은 딥러닝이 많이 복잡하지 않다는 것을 확인하기 위해 우선 실습을 먼저 해봄 https://drive.google.com/file/d/1_hIIjlRSDtDQQYhqgb60pWOI_1kbR8E6/view?usp=sharing 1-2 딥러닝 무작정 따라하기.ipynbColab notebookdrive.google.com.데이터 분할 1 - x, y  데이터 분할 2 - train, validation, test   train, validation, test의 역할 데이터를 보통 Train, Validation, Test 로 나눈다.Train : 학습용모델을 생성할 떄 사용. (예:교재)validation : 검증용모델의 성능을 ..
머신러닝 기초 머신러닝 빠르게 정리하기데이터 분석 프로세스모델, 모델링ML, DL, RL머신러닝 코딩 연습전체 Process 위 방법론에서 시작질문, 끝질문이 가장 중요함 (무엇이 문제인가? / 문제가 해결 되었는가?) 회사에서 딥러닝은 비지니스 문제가 있고, 이 문제를 해결하는데 딥러닝 모델링을 가지고 해결하겠다 했을 때 사용되기 때문 모델, 모델링 Model모델 : 데이터로부터 패턴을 찾아, 수학식으로 정리해 놓은 것모델링 : 가능한한 오차가 적은 모델을 만드는 과정모델의 목적 -> 표본을 가지고 모집단 전체를 예측하는 것 (우리가 가진것 = 표본, 알고싶은 것 = 예측)샘플을 가지고 전체를 잘 추정샘플 :  표본, 부분집합, 일부, 과거의 데이터 (우리가 들고 있는 데이터!)전체 : 모집단, 전체집단, 현재와 미..
LLM 정리 LLM이란 Large Language Model의 약자로 대규모 데이터로 사전 학습된 초대형 딥러닝 모델을 의미합니다. Large의 두가지 의미대규모 데이터셋을 사용매우 큰 파라미터 수다양한 작업을 수행하며 일반적으로 대부분 잘 답변하는 모델 LLM 챗봇?LLM  기술을 기반으로 만들어진 대화형 인공지능 시스템 (ChatGPT)LLM 챗봇 설계 시 고려사항이해관계자들에 대한 정의 (End User, 이해관계자)End User (최종 사용자)실제로 서비스를 이용하는 사용자Stakeholder(이해 관계자)프로젝트 또는 서비스에 직/간접적으로 영향을 받는 모든 사람EX, CEO, 기획자, 개발자 등이 포함될 수 있음프로젝트의 End User와 이해관계자는 다를 수 있음즉 최종 사용자가 반드시 프로젝트의 주요..
# 24.10.16_ 아키텍처 설계 사례 분석 : Netfilx 아키텍처 설계 사례 분석 : Netflix 넷플릭스 시스템 디자인 배너Netflix 시스템기능적 요구 사항사용자는 계정을 만들고 로그인하고 로그아웃할 수 있어야 함사용자를 위한 구독 관리사용자가 비디오를 재생하고 일시 정지, 재생, 되감기, 빨리 감기 기능을 사용할 수 있도록 함오프라인에서 볼 수 있도록 콘텐츠를 다운로드할 수 있는 기능사용자 선호도와 시청 기록에 따른 개인화된 콘텐츠 추천비기능적 요구 사항콘텐츠 재생 중 지연 시간이 짧고 반응성이 높아야 함많은 수의 동시 사용자를 처리할 수 있는 확장성 요구최소한의 다운타임으로 높은 가용성을 보장해야 함안전한 사용자 인증 및 권한 부여쉬운 탐색을 위한 직관적인 사용자 인터페이스Netflix 시스템 설계의 상위 수준 설계[고수준 시스템 아키텍처]기반 클라..
# 24.10.15_ ollama 로컬에서 사용 해당 글은 window에서 ollama를 사용해 보려고 하다가 오류를 반복한 끝에 실행하는 방법을 정리해서 작성한 것이다. (더 좋은 방법이 존재할 수 있음), 단편적으로 다른 글들을 보고 따라하다가는 오류가 많이 발생할 수 있으니 주위!오류 발생을 격다가 오류 계속 발생할꺼 같으니 가상환경 만들어서 하자해서 가상환경을 별도로 만들어서 진행window에서 ollama 사용ollama 홈페이지에서 window 버전 다운다운 후 실행하면 자동 실행됨(다음날 사용시 다시 실행시켜주어야함) 해당 이미지처럼 모델 부분 클릭위 이미지에 명령어를 cmd창에 입력자동으로 run llama3.2버전이 실행됨 위와같이 자동으로 잡아줘서 동작하고 내가 원하는 커멘드를 집어 넣으면 해당 내용에 대한 답변을 진행해줌이후 아래 ..
# 24.10.15_ 사전학습 모델 + GPT + BERT모델 사전 학습 모델 (Pre-trained Model)사전 학습이란자비어 방법 등을 통해 임의의 값으로 초기화하던 모델의 가중치들을 다른 문제에 학습시킨 가중치들로 초기화하는 방법텍스트 유사도 예측 모델을 만들기 전 감정 분석 문제를 학습한 모델의 가중치를 활용해 텍스트 유사도 모델의 가 중치로 활용하는 방법 → 즉, 감정 분석 문제를 학습하면서 얻은 언어에 대한 이해를 학습한 후 그 정보를 유사도 문제를 학습하는 데 활 용하는 방식사전 학습 모델사전 학습을 통해 학습이 완료된 가중치가 저장되어 있는 모델하위 문제 : 사전 학습한 가중치를 활용해 학습하고자 하는 본 문제상위문제 : 사전 학습한 모델인 감정 분석 문제 (하위 문제를 하기 위해 사전에 해야하는 문제)하위 문제: 사전 학습된 가중치를 활용해 본격..
# 24.10.14_ Attention 모델 실습 + Transformer 아키텍처 정리 및 실습 Transformer 아키텍처트랜스포머란?2017 구글이 제안한 Sequence-to-Sequence 모델의 하나Attention is all you need라는 논문에서 제안된 모델기존의 seq2seq 구조인 Encoder-Decoder 방식을 따르면서도 논문 제목처럼 Attention 만으로 구현한 모델임RNN 모델을 사용하지 않고 Encoder-Decoder를 설계 했음에도 번역 등 성능에서 더 우수한 성능 보임기존 seq2seq 모델 한계기존의 seq2seq 모델은 인코더-디코더 구조로 구성인코더는 입력 시퀀스를 하나의 벡터 표현으로 압축하고, 디코더는 이 벡터 표현을 통해서 출력 시퀀스를 만들어 냄 → 이러한 구조는인코더가 입력 시퀀스를 하나의 벡터(고정길이)로 압축하는 과정에서입력 시퀀스의 정..
# 24.10.11_언어모델의 이해 + Seq2Seq모델 + Attention 모델 언어모델이란?문장의 확률을 나타내는 모델문장은 단어들로 이루어진 시퀀셜 데이터이다.언어모델이란 단어 시퀀스에 확률을 부여하는 모델로, 단어 시퀀스를 입력받아서 해당 시퀀스가 얼마나 그럴듯한지 확률을 출력하는 것한국어 말뭉치로 학습된 언어모델은 자연스러운 한국어 문장에 높은 확률값을 부여한다(한국어 모델이 필요한 이유)자연스러운 표현 = 가장 많이 사용된 표현 = 카운트 값이 가장 높은것 = 확률이 가장 높은것 (확률을 부여하는 것이 언어모델로서의 기능이 높다)문장을 구성하는 단어의 조합은 매우 다양하지만 우리가 자연스럽게 받아들이는 조합은 동등한 확률보다는 평소에 자주 사용되는 단어나 표현의 조합이 훨씬 높은 확률로 발생한다.인간과 같은 능력의 언어 모델을 만들기 위해다양한 경로로 문장을 수집하고, 단어..
# 24.10.10_CBOW 임베딩 실습 + Skip-gram 임베딩 CBOW 임베딩CBOW 모델은 활성화 함수를 사용하지 않는 간단한 구성의 신경망 모델이다.다중 분류 작업으로, 단어 텍스트를 스캔하여 단어의 문맥 윈도우를 만든 후, 문맥 윈도우에서 중앙의 단어를 제거하고, 문맥 윈도우를 사용해 누락된 단어를 예측한다. 이를 통해서 단어의 의미를 벡터 공간에 효율적으로 표현할 수 있게 된다.CBOW 모델의 특징단순한 신경망 모델: CBOW 모델은 입력층과 출력층 사이에 하나의 은닉층만을 가지고 있으며, 활성화 함수 없이 선형 계산을 통해 단어 임베딩을 학습. 이는 매우 간단한 구조의 신경망으로 볼 수 있다.다중 분류 문제로 구성: CBOW 모델은 주변 단어들을 입력으로 받아, 중심 단어를 예측하는 다중 분류 작업을 수행. 예를 들어, 문장 "The quick brown ..

728x90