본문 바로가기

Deep Learning

(13)
Policy gradient (강화학습) 강화학습을 공부할 때 Policy gradient 라는 말을 종종 듣게 된다. 예를 들면, 강화학습 기법 중 Policy gradient 계열로는 A2C, PPO 등이 있고, 이들은 on-policy 방식이다. 등등. policy gradient 라는건 단순히 '정책'의 '경사도'라 볼 수 있으나, 좀 더 자세히 알아보자. 일단 지피티에게 대충 물어보면... 이 질문 진짜 핵심이에요.강화학습에서 자주 등장하는 Policy Gradient 기법의 "gradient"가 뭔지 정확히 이해하면, 왜 이런 방식으로 정책을 업데이트하는지 흐름이 잡히거든요.📌 여기서 gradient란?Gradient(그래디언트) 는 수학적으로 기울기, 즉 함수의 증가/감소 방향과 크기를 나타내는 값이에요.여기서 사용하는 gra..
강화학습 on-policy vs off-policy 강화학습 기법에는 여러가지가 있지만 크게 On-Policy 기법과 Off-Policy 기법으로 구분이 된다. 일단 지피티에게 설명을 부탁해보자. 강화학습에서 on-policy와 off-policy는 에이전트가 행동을 학습할 때 사용하는 정책(policy)의 종류에 따른 구분이에요.1. On-Policy (온-폴리시)정의: 에이전트가 현재 학습 중인 정책(행동 전략)을 그대로 따라 행동하며, 그 경험을 사용해 정책을 개선하는 방식이에요.즉, 에이전트가 행동을 선택할 때 사용하는 정책과 학습에 사용하는 정책이 같음.대표적인 알고리즘:SARSA (State-Action-Reward-State-Action)Policy Gradient 계열 (REINFORCE, A2C 등)예시:에이전트가 정책 π를 따라 행동하..
Imitation Learning에서 DQN 으로. 흠.. Imitation Learning을 기억하는가? 그때는 Expert의 행동을 그대로 따라하는 모델을 만들었었다.다만 그때의 문제는 Expert 의 데이터를 모으는 것이 쉽지 않다는 것이었다. 그래서 Imitation Learning 예제에서는 간단한 Expert 함수를 만들어서 데이터를 모았었다. 이번에는 Imitation Learning과 비슷하지만, 딱 한 발만 더 앞으로 전진을 해보자. 강화학습 기술 중에 가장 먼저 듣는 얘기가 DQN 일 것이다.Deep Q-Network 인데, 원래 있었던 Q-Learning 방법에 Deep Network을 적용한 기법이다. Q-Learning에 대해서 자세히 설명은... 다음에 하는 걸로 하고,그냥 간단히 말해서 더 좋은 행동(action)에 대해 더..
Gymnasium (강화학습 라이브러리) Imitation Learning 때 잠깐 언급했었던 Gymnasium에 대해서 알아보자. 사실 Gymnasium은 Imitation Learning 보다는 Reinforcement Learning에 활용되는 라이브러리이다. 좀 더 말하자면.. Imitation Learning 자체가 거의 안쓰이고 Reinforcement Learning이 많이 연구되고 있어서... Gymnasium 이전에 OpenAI Gym이 있었다. Gym 은 OpenAI 에서 Reinforcement Learning(강화학습) 연구에 활용할 목적으로 환경을 제공해주는 라이브러리이다. 그런 OpenAI Gym 이 v0.21 이후에 거의 유지보수가 안되어서 2022년 정도부터 Gym 커뮤니티에서 주도하여 Farama Foundati..
Imitation Learning - gymnasium 앞에서 간단히 봤던 Imitation Learning에 대해서, 조금만 더 보도록 하자. 이전의 간단한 예제는 cartpole과 같이 좌우로 이동하는 것에 대한 예제였다. 이번에는 continuous 한 값을 갖는 예제로 보자. 차량을 운전하는 모델을 만들어서, 자동차를 운전하도록 시켜보자. 그리고 gymnasium 라이브러리를 가져다 쓰도록 하자. 먼저 학습을 위한 환경을 구성하자. import gymnasium as gymfrom gymnasium import spacesimport numpy as npclass SimpleCarEnv(gym.Env): def __init__(self): super(SimpleCarEnv, self).__init__() # 상태: ..
Classification with unknown 앞에서 mnist 숫자 분류 문제를 보았다. 데이터와 정답이 있고, 그것을 학습하여 정답을 맞추는 문제였었다. 그런데 현실 세계에서는 정답이 없는 경우가 더 많다. 정답이 새로 생기는 경우도 있다. 예를 들어 자동차를 종류별로 분류한다고 하자. 승용차, 승합차, 버스, 트럭 등등...자동차 사진을 모으고, 각 사진마다 레이블을 붙여서 정답 데이터를 만들었다. 그렇게 만든 데이터로 학습시킨 모델을 실제 사용해보니... 그 사이에 어느 분류에도 속하지 않은 3륜 자동차가 새로 나왔다. 이런 경우는 어떻게 해야 하나? 본 예제는 이런 경우에 대응하는 한 방법에 대한 예제이다. mnist 데이터 중에 1~7번 까지만 학습에 사용하고, 0,8,9는 학습에 사용하지 않는다. 즉, 0,8,9는 학습되지 않은 새..
PyTorch with GPU 설치하기 새로운 컴퓨터에 PyTorch를 설치할 필요가 있다. 이때 GPU 버전으로 설치하는 방법을 보자. 먼저 해당 컴퓨터의 GPU 를 확인해보자. 이건 ctrl+alt+del 을 눌러서 작업관리자를 실행해보면 알 수 있다. 작업관리자 > 성능 > GPU 를 눌러보면 오른쪽 위에 GPU 이름을 알 수 있다. GPU 이름을 확인 한 후, 이제 제대로 설치를 시작해보자. 1. NVIDIA 드라이버 확인윈도우에서 터미널을 열고 nvidia-smi 명령을 내려보자.보통은 nividia 드라이버가 설치되어 있기 때문에 아래와 비슷한 화면이 나올 것이다. 중간에 Driver Version: 566.07 이라고 나오고, CUDA Version 도 나온다. 문제는... 저 위에 나와있는 CUDA 버전은 현재 설치된 n..
Simple Imitation Learning 딥러닝 기법 중 Imitation Learning 에 대해서 알아보자. Imitation Learning은 사람이나 전문가의 행동을 보고 그대로 따라하는 딥러닝 학습 방법이다. 지피티의 설명을 들어보면... Imitation Learning 이란?전문가의 시연 데이터(demonstration)를 바탕으로 에이전트의 정책(policy)을 학습하는 방법강화학습(RL)과 달리 환경으로부터 reward 신호를 직접 받지 않고, 전문가가 했던 행동 데이터를 통해 행동 정책을 학습해요.보통 전문가 데이터가 많거나 reward 설계가 어려운 문제에서 많이 활용된다고 한다. Imitation Learning의 대표적인 방법1️⃣ Behavior Cloning (BC)가장 기본적인 방법.전문가의 state-actio..