반응형
강화학습(Reinforcement Learning, RL)은 에이전트(Agent)가 환경(Environment)과 상호작용하며 보상(Reward)을 최대화할 수 있는 정책(Policy)을 학습하는 기계학습 분야입니다. 최근 딥러닝 기술과 결합되어, Atari 게임을 수준 높게 공략하거나 로봇팔 제어, 자율주행 의사결정, 바둑·스타크래프트 같은 복잡한 게임에서 인간 프로나 챔피언을 능가하는 성능을 선보이면서 큰 주목을 받았습니다.이 시리즈에서는 RL에 처음 입문하는 독자를 위해, 파이썬과 PyTorch를 활용해 기본적인 강화학습 알고리즘을 단계적으로 구현하고 실험해 볼 예정입니다. 이 과정을 따라가며 RL의 기본 구조와 PyTorch를 사용한 신경망 연산을 체득할 수 있습니다. 이번 글에서는 먼저 강화학습..
지난 글(2편)에서는 LibTorch 환경을 설정하고 C++에서 간단한 텐서를 생성해 출력하는 "Hello LibTorch" 예제를 실습했습니다. 이제 본격적으로 텐서 연산을 조금 더 다뤄보며, C++에서 PyTorch 텐서와 유사한 감각으로 연산을 하는 방법을 익혀봅시다.이번 글에서는 다음을 다룹니다.텐서 생성 방법과 다양한 초기화 방식기초적인 텐서 연산(덧셈, 곱셈, 행렬 연산 등)텐서 모양(Shape) 확인 및 변경GPU(CUDA) 사용을 위한 기초 개념 (CUDA 지원 환경일 경우)작은 예제 코드를 통해 실습이 과정을 통해 C++에서도 Python PyTorch API와 크게 다르지 않은 직관적인 방식으로 텐서를 다룰 수 있음을 확인할 수 있습니다.텐서 생성하기LibTorch에서는 PyTorch와..
안녕하세요! 지난 1편에서는 PyTorch와 LibTorch에 대한 개념적인 소개와, 이 시리즈에서 우리가 달성하려는 궁극적인 목표를 알아보았습니다. 이제 실제로 C++ 환경에서 LibTorch를 활용하기 위한 기초 준비를 해볼 차례입니다.이번 글에서는 다음과 같은 과정을 다룹니다.LibTorch 다운로드 및 설치 위치 정하기: 운영체제(Windows, Linux, macOS)에 따라 설치하는 방법을 안내CMake 기반의 기본 프로젝트 환경 설정:CMakeLists.txt를 작성하는 방법LibTorch 라이브러리를 C++ 프로젝트에 연결하는 법간단한 “Hello LibTorch” 예제 코드를 통해 C++에서 LibTorch가 정상적으로 동작하는지 확인이 과정을 마치고 나면, 다음 글(3편)에서 텐서 생성..
안녕하세요! LibTorch 입문 시리즈에 오신 것을 환영합니다.이 시리즈에서는 머신러닝과 딥러닝에 널리 사용되는 PyTorch를 C++ 환경에서 다루는 방법을 차근차근 알려드리려 합니다. 많은 분들이 Python 환경에서 PyTorch를 사용하며 텐서(Tensor) 연산, 모델 훈련, 추론 등을 손쉽게 경험하셨을 텐데요, 여기서 한 발 더 나아가 C++ 환경에서도 PyTorch 기능을 활용한다면 무엇이 가능할까요? 또한, C++로 작성한 성능 높은 코드를 Python에서 투명하게 사용한다면 어떨까요?이 시리즈의 최종 목표는 C++로 작성된 수치 연산 및 딥러닝 로직을 PyTorch의 C++ 라이브러리(LibTorch) 로 활용하고, 여기에 pybind11을 이용하여 Python 환경에서도 동일한 로직을..