728x90
반응형

Study 39

Actor-Critic 샘플 코드

import gymimport torchimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torch.distributions import Categorical# 1. 하이퍼파라미터 설정learning_rate = 0.001gamma = 0.99n_episodes = 1000# 2. Actor-Critic 네트워크 정의# 핵심: Actor와 Critic이 앞단 레이어를 공유하거나, 별도 헤드를 가짐class ActorCritic(nn.Module): def __init__(self): super(ActorCritic, self).__init__() self.fc1 = nn.Li..

Study/Python 2025.12.04

[Continuous/SAC] 1D Hovering Drone: 고도를 유지하려는 드론 (PID 제어를 AI로 대체하는 컨셉)

1D Hovering Drone + SAC (고도 유지 제어)로봇 제어의 핵심인 PID 제어를 강화학습으로 대체하는 시나리오입니다. 연속 행동 공간(Thrust)을 다루므로 SAC가 적합합니다.물리 모델: F=ma → a=mThrust−Gravity​상태: 현재 높이(y), 수직 속도(vy​)목표: 높이 1.0 유지import gymfrom gym import spacesimport numpy as npimport torchimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torch.distributions import Normalimport matplotlib.pyplot as plt# ---------..

Study 2025.11.29

[Discrete/PPO] Dynamic Grid World: 움직이는 장애물을 피해 목표로 가는 로봇 (동적 환경 계획)

1. Dynamic Grid World + PPO (동적 장애물 회피)단순한 미로 찾기가 아니라, 움직이는 장애물(Patrolling Obstacle)을 피해야 하므로 타이밍을 학습해야 합니다. 로봇 내비게이션 기초와 연결됩니다. import gymfrom gym import spacesimport numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimfrom torch.distributions import Categoricalimport matplotlib.pyplot as pltimport matplotlib.patches as patches# ----------------..

Study 2025.11.29

Behavior Cloning (모방 학습)

문제 개요배경: 강화학습은 초기에 탐색 비용이 많이 듭니다. 로봇 팔을 무작위로 휘두르면 고장 날 수 있죠. 그래서 **사람이 조종한 데이터(Expert Demo)**를 미리 학습시켜 초기 성능을 확보합니다.목표: CartPole-v1 환경에서, 사전에 수집된 '전문가 데이터(State, Action)'를 사용하여 지도 학습(Supervised Learning) 방식으로 정책 네트워크를 학습시키시오.조건:데이터 생성: 학습된 DQN 모델을 이용해 에피소드 5개 분량의 (state, action) 쌍을 수집하시오. (코드에 포함)학습: 수집된 데이터를 DataLoader로 만들고, CrossEntropyLoss를 사용하여 새 네트워크를 학습시키시오.평가: 모방 학습된 모델로 게임을 실행하여 점수를 출력하시..

Study 2025.11.29

OpenAI Gym 인터페이스를 따르는 Custom Environment 구현

문제 개요상황: 회사에서 자체 개발한 로봇 시뮬레이터가 있다고 가정합니다. 이를 강화학습 에이전트가 학습할 수 있도록 OpenAI Gym(gym.Env) 인터페이스로 래핑(Wrapping)해야 합니다.목표: 5x5 Grid World 환경을 Class로 구현하시오.필수 구현 메서드:__init__: Action Space(이산), Observation Space(Box 또는 Discrete) 정의.reset: 에이전트를 시작 위치로 초기화하고 첫 상태 반환.step(action): 행동을 받아 다음 상태, 보상, 종료 여부, 정보 반환.render: 현재 상태를 텍스트로 출력.환경 규칙:맵: 5x5 (0: 빈곳, 1: 장애물, 2: 목표)보상: 목표 도달(+10), 장애물 충돌(-5), 일반 이동(-0...

Study 2025.11.29

2D Grid Map에서의 A* 최단 경로 탐색

문제 개요환경: 0(이동 가능)과 1(장애물)로 구성된 N×M 2차원 그리드 맵.목표: 시작점(Start)에서 목표점(Goal)까지 충돌 없이 도달하는 최단 경로 좌표 리스트 반환.제약: 4방향(상하좌우) 이동만 허용 (대각선 이동 불가 가정).핵심 평가 항목:Heuristic 함수 설계: 맨해튼 거리(Manhattan Distance) 등을 적절히 사용하여 탐색 효율을 높였는가?자료구조 활용: Priority Queue (최소 힙)를 사용하여 $O(1)$로 최소 비용 노드를 꺼낼 수 있는가?예외 처리: 도달 불가능한 경우나 맵 밖으로 나가는 경우를 처리했는가?import heapq# -----------------------------------# 1. Heuristic Function# -------..

Study 2025.11.29

CartPole-v1 환경에서의 강화학습 에이전트 구현

# 기본 강화학습 환경 및 시각화 도구 설치pip install gym==0.26.2 gym[classic_control] torch numpy matplotlib 문제 개요환경: OpenAI Gym의 CartPole-v1목표: 카트 위에 세워진 막대가 넘어지지 않도록 중심을 잡는 에이전트 학습.성공 기준: 최근 100 에피소드의 평균 점수가 195점 이상 도달 시 조기 종료(Early Stopping) 및 모델 저장.DQN 필수 구현 요구사항Replay Buffer 구현: deque 등을 사용하여 경험(Experience)을 저장하고 랜덤 배치로 샘플링하는 클래스를 직접 구현하시오.Q-Network 모델링: PyTorch를 사용하여 입력(State)에 대한 행동(Action) 가치를 출력하는 신경망을 ..

Study 2025.11.29

반복 작업은 이제 그만! 파이썬으로 데이터 분석 자동화하는 완벽 가이드

title: 반복 작업은 이제 그만! 파이썬으로 데이터 분석 자동화하는 완벽 가이드date: 2025-05-30tags: ['파이썬', '데이터분석', '업무자동화', '파이썬자동화', '데이터사이언스', '엑셀자동화', '판다스', '업무효율화']🤖 매일 반복되는 데이터 작업, 이제 자동화해보세요!안녕하세요! 매일 엑셀 파일 열어서 데이터 정리하고, 차트 만들고, 리포트 작성하느라 지치셨나요? 파이썬 데이터 분석 자동화가 여러분의 업무를 혁신적으로 바꿔드릴 거예요!저도 처음엔 "프로그래밍은 너무 어려워"라고 생각했는데, 막상 시작해보니 생각보다 간단하더라고요. 특히 반복적인 데이터 작업들은 한 번만 코드를 짜놓으면 계속 재사용할 수 있어서 정말 효율적이에요. ..

Study/Python 2025.05.31

PyTorch 기초부터 완벽 정리! 딥러닝 입문자를 위한 친절한 가이드

PyTorch 기초부터 완벽 정리! 딥러닝 입문자를 위한 친절한 가이드안녕하세요! 오늘은 딥러닝을 시작하는 분들에게 꼭 필요한 PyTorch에 대해 자세히 알아보겠습니다. 처음 접하시는 분들도 쉽게 따라할 수 있도록 차근차근 설명드릴게요!🤔 PyTorch가 뭐죠?PyTorch는 Facebook(현 Meta)에서 개발한 오픈소스 딥러닝 프레임워크입니다. 쉽게 말해서 인공지능 모델을 만들고 학습시키는 데 필요한 도구들을 모아놓은 툴킷이라고 생각하시면 돼요.왜 PyTorch가 인기일까요? 바로 직관적이고 사용하기 쉽기 때문입니다. 다른 프레임워크들과 달리 Python다운 코딩이 가능하고, 디버깅도 훨씬 편해요.🚀 PyTorch의 핵심 구성 요소들PyTorch를 제대로 이해하려면 몇 가지 핵심 개념을 알아야..

Study/Python 2025.05.27

파이썬으로 시작하는 데이터분석 여행 🐍 초보자를 위한 완벽 가이드

🌟 데이터분석의 세계로 떠나는 첫걸음안녕하세요! 데이터분석에 관심이 있지만 어디서부터 시작해야 할지 막막하셨나요? 오늘은 파이썬을 활용한 데이터분석의 기초부터 꼭 알아야 할 용어들까지 친근하게 설명해드릴게요. 마치 친구와 대화하듯 편안하게 읽어보세요! 😊 📸 Photo by Markus Spiske 🔗 Unsplash에서 보기 • ❤️ 1777 likes • 클릭하면 원본 이미지로 이동 데이터분석이라고 하면 뭔가 어렵고 복잡할 것 같지만, 사실 우리 일상 곳곳에 숨어있어요. 쇼핑몰에서 "이 상품을 본 고객들이 함께 구매한 상품"을 추천받거나..

Study/Python 2025.05.27
728x90
반응형