프로그래밍 공부

전체 글 700

카테고리 설명
프로그래밍 공부하는 블로그
  • ImageAiCon PP진행중Unreal의 ImageAI공부하기알고리즘 관련 강의 학습사전지식더보기https://inradestrt.tistory.com/685 강화학습머신러닝 알고리즘의 3가지 분류 Supervised Learning  :인풋 데이터와 그에 대한 정답 쌍(x, y)를 이용해서 학습하는 방법론Unsupervised Learning : 인풋 데이터 (x)만을 이용해서 데이터의 숨겨진 특징을inradestrt.tistory.comhttps://inradestrt.tistory.com/686 MP(Markov Process)MP(Markov Process)MP는 상태s 와 상태 전이(state trainsition)확률 $ P_{ss'} $ 로 구성된 환경이다. $ MP(Markov Proce..

  • Grid-World는 강화학습의 개념을 설명하기 위해 자주 사용되는 대표적인 예제 환경이다. Goal지점이 출구인 미로-그리드월드(Grid World)-에 갖혀있다고 가정하자. 학습가중치의 기본조건은 다음과 같다.에이전트가 이동해서 출구인 Goal지점에 도달할 경우 100점의 보상(Reward)를 얻고 그 외의 지점에서는 0의 보상(Rward)를 얻는다.Gaol에 도달했을 경우에만 100을 얻는다. 따라서 우리의 최종 목표는 최대한 적은 횟수의 이동을 통해 Goal에 도달해 미로를 탈출하는 것이다. Grid-World에서 계산을 통해 구한 최적의 행동가치 함수는 다음과 같다.최적의 상태가치 함수는 다음과 같다. 최적의 정책즉, 상태가치 함수와 행동 가치 함수에 대한것 은 최적의 정책$ \pi $ 을 찾는..

    알고리즘

    Grid-World NEW

    2024.06.24
    댓글
  • MRP(Markov Reward Process) MRP(Markov Reward Process) 는 Markov Process(MP) 에 보상 R과 Discount Factor $ \gamma $ 가 추가된 형태이다. $ MRP(Markov Reward Process) = $ 어떤 상태에 도달함에 따른 보상 R이 주어지고 각각의 보상은 시간에 따른 Discount Factor $ \gamma $에 의해 점차적으로 감쇠된다.MDP(Markov Decision Process)MDP(Markov Decision Process)는 Markov Reward Process(MRP)에 행동 a가 추가된 형태이다. $ MRP(Markov Reward Process) = $상태와 행동의 판단 Markov Decisi..

  • 강화학습 알고리즘을 구성하는 요소 기호 시간 t의 상태 $ S_{t} $시간 t의 행동 $ A_{t} $시간 s의 행동 a의 행동 가치 함수 $ Q_{\pi}(s, a) $정책 $ \pi $파라미터 $\ theta $보상 RDiscount Factor $ \gamma $Epsilon Greedy $ \epsilon $강화학습 환경은 MDP라고 볼 수 있다. MDP는 순차적인 의사결정 과정으로 써 수학적으로는 $ $집합 으로 구성된다.S 는 state들의 집합A는 action들의 집합P는 trainsition probability 행렬이다. $ P_{ss'}^{a} = P[S_{t+1} = s'|S_{t} = s, A_{t} = a] $특정 액션에서 다음 임의의 다음 액션으로 넘어갈 확률R은 리워드 함수..

  • MP(Markov Process)MP는 상태s 와 상태 전이(state trainsition)확률 $ P_{ss'} $ 로 구성된 환경이다. $ MP(Markov Process) = $ 예를 들어 아래 MP(MarkovProcess)는 맑음 $ s_{1} $ 과 흐림 $ s_{2} $ 2가지 상태로 구성된다. Markov Process는 markov Property를 따른다. MarkovProperty는 다음 상태를 결정하는데 오직 바로 이전 상태만 고려한다는 가정이다.$ P[s_{t}|s_{t}] = P[s_{t+1}|s_{1},s_{2}, ... , s_{t}] $ 즉, 바로 이전 상태 이전에 어떤 상황을 거쳐서 현재 상태에 도달했든 $ (s_{1}, s_{2}, s_{2}, s_{1} = s_{2..

  • 머신러닝 알고리즘의 3가지 분류 Supervised Learning  :인풋 데이터와 그에 대한 정답 쌍(x, y)를 이용해서 학습하는 방법론Unsupervised Learning : 인풋 데이터 (x)만을 이용해서 데이터의 숨겨진 특징을 학습하는 방법론Reinforcement Learning : Reward를 제공하는 Environment와 Environment내에서 행동을 수행하는 Agent의 상호작용을 통해 학습하는 방법론 지도학습 정답 데이터가 존재하는상황에서 학습하는 알고리즘.입력 데이터 x와 그에대한 정답 레이블 y의 쌍을 이용해서 학습하는 알고리즘 예를들어, 28x28크기의 이미지인 MNIST데이터셋 이 있으면, 이를 이용해 학습을 진행할 때, 지도 학습의 트레이닝 데이터셋 은 다음과 같이 ..

    알고리즘

    강화학습 NEW

    2024.06.23
    댓글
작성일
2024. 6. 24. 01:08
작성자
WDmil
728x90

ImageAiCon PP

진행중

  1. Unreal의 ImageAI공부하기
    1. 알고리즘 관련 강의 학습

사전지식

더보기

https://inradestrt.tistory.com/685

 

강화학습

머신러닝 알고리즘의 3가지 분류 Supervised Learning  :인풋 데이터와 그에 대한 정답 쌍(x, y)를 이용해서 학습하는 방법론Unsupervised Learning : 인풋 데이터 (x)만을 이용해서 데이터의 숨겨진 특징을

inradestrt.tistory.com

https://inradestrt.tistory.com/686

 

MP(Markov Process)

MP(Markov Process)MP는 상태s 와 상태 전이(state trainsition)확률 $ P_{ss'} $ 로 구성된 환경이다. $ MP(Markov Process) = $ 예를 들어 아래 MP(MarkovProcess)는 맑음 $ s_{1} $ 과 흐림 $ s_{2} $ 2가지 상태로 구성된다. M

inradestrt.tistory.com

https://inradestrt.tistory.com/687

 

강화학습 알고리즘 기초개요

강화학습 알고리즘을 구성하는 요소 기호 시간 t의 상태 $ S_{t} $시간 t의 행동 $ A_{t} $시간 s의 행동 a의 행동 가치 함수 $ Q_{\pi}(s, a) $정책 $ \pi $파라미터 $\ theta $보상 RDiscount Factor $ \gamma $Epsilon Gr

inradestrt.tistory.com

https://inradestrt.tistory.com/688

 

MRP(Markov Reward Process) & MDP(Markov Decision Process)

MRP(Markov Reward Process) MRP(Markov Reward Process) 는 Markov Process(MP) 에 보상 R과 Discount Factor $ \gamma $ 가 추가된 형태이다. $ MRP(Markov Reward Process) = $ 어떤 상태에 도달함에 따른 보상 R이 주어지고 각각

inradestrt.tistory.com

https://inradestrt.tistory.com/689

 

Grid-World

Grid-World는 강화학습의 개념을 설명하기 위해 자주 사용되는 대표적인 예제 환경이다. Goal지점이 출구인 미로-그리드월드(Grid World)-에 갖혀있다고 가정하자. 학습가중치의 기본조건은 다음과

inradestrt.tistory.com

 


결과물 ( 없음 )

 


 

진행 예정 작업

  1. Unreal ImageRetargeting 코드제작
    1. 언리얼 함수 상으로 지정된 카메라의 타겟뷰를 이미지값으로 저장 반환하는 방식이 존재함.
    2. TCP방식으로 데이터 통신처리를 진행
    3. TensorFlow를 사용하여 전달받은 이미지로 학습 알고리즘 연산.
    4. 연산결과를 다시 언리얼로 전달하여 학습된 데이터를 갱신.
    5. 4번과 3번을 반복
  2. 학습결과확인 후 재학습
  3.  5와 6을 원하는 AI행동패턴이 나타날때까지 반복

목표

  1. TensorFlow를 사용하여 알고리즘이 동작하는지 직접적인 확인을 진행.
  2. TensorFlow 를 사용하지 않고, 스스로의 C++코드로 알고리즘 함수 구현부를 직접 제작하여 사용하는것
    (파이썬만으로 k means clustering를 구현하였을 때, 구현객체가 C++의 연산처리속도를 따라잡지 못하는 상황이 있었음)
  3. UI관련 제작방식은 C#으로, 함수부는 DLL파일로 포팅하여 언리얼 엔진에 집어넣기.

완료된 작업

 

Unreal의 ImageAI공부하기

  1. CNN알고리즘 다시 복기하기
  2. 알고리즘 선별(DQN)
728x90

'작업사항 정리 > UnrealC++' 카테고리의 다른 글

UnrealC++ PP 20240628_10  (0) 2024.06.28
UnrealC++ PP 20240626_9  (0) 2024.06.26
UnrealC++ PP 20240621_7  (0) 2024.06.21
UnrealC++ PP 20240618_6  (0) 2024.06.18
UnrealC++ PP 20240614_5  (0) 2024.06.14
카테고리
작성일
2024. 6. 24. 01:05
작성자
WDmil
728x90

Grid-World는 강화학습의 개념을 설명하기 위해 자주 사용되는 대표적인 예제 환경이다.

 

Goal지점이 출구인 미로-그리드월드(Grid World)-에 갖혀있다고 가정하자.

 

학습가중치의 기본조건은 다음과 같다.

  • 에이전트가 이동해서 출구인 Goal지점에 도달할 경우 100점의 보상(Reward)를 얻고 그 외의 지점에서는 0의 보상(Rward)를 얻는다.
  • Gaol에 도달했을 경우에만 100을 얻는다.

 

따라서 우리의 최종 목표는 최대한 적은 횟수의 이동을 통해 Goal에 도달해 미로를 탈출하는 것이다.

 


Grid-World에서 계산을 통해 구한 최적의 행동가치 함수는 다음과 같다.

최적의 상태가치 함수는 다음과 같다.

 


최적의 정책

  • 즉, 상태가치 함수와 행동 가치 함수에 대한것 은 최적의 정책$ \pi $ 을 찾는다고 볼 수 있다.

 

  • 어떤 환경에서 모든 상태의 정확한 상태 가치 함수값 을 알아낸다면 항상 상태 가치가 최대화되는 방향으로 이동하는 것이 최적의 전략이 될 것이다.

 

  • 반대로 어떤 환경에서 모든 행동의 정확한 행동 가치 함수 값을 알아낸다면 항상 행동 가치 함수가 최대화되는 방향으로 행동하는 것이 최적의 전략이 될 것이다.

 

  • 이렇게 보상이 최대화되는 최적의 정책을 알아내는 방법은 크게 2가지가 있다.

 

  • 상태 가치 함수를 이용해서 최적의 정책을 알아내는 방법을 Planning이라고 하고 행동 가치 함수를 이용해서 알아내는 방법을 강화학습(Reinforcement Learning)이라고 한다.

 

  • Planing을 이용하기 위해서는 환경에 대한 모델(Model)정보를 알 고 있어야 한다. 좀 더 엄밀히 말하면 $ < S, A, P, R, \gamma > $ 에서 Trainsition Probability $ P(s, s') $ 에 대한 정보와 이에 대한 보상값 $ R(s, s') $을 알 고 있어야 한다.

 

  • 행동 가치 함수를 이용한 강화 학습 방법은 모델에 대한 정보가 없더라도 에이전트가 주어진 환경에서 행동을 취하고 얻은 실제 경험(Experience)을 통해 학습을 진행할 수 있다.

 

  • 강화 학습에서 적절한 행동 가치 함수 값을 알아내기 위한 구체적인 알고리즘은 SARSA, Q-Learning, Policy Gradient 등이 있다.
728x90

'알고리즘' 카테고리의 다른 글

On-Policy & Off-Policy  (0) 2024.06.26
행동가치함수 추정하기  (0) 2024.06.26
MRP(Markov Reward Process) & MDP(Markov Decision Process)  (0) 2024.06.24
강화학습 알고리즘 기초개요  (0) 2024.06.24
MP(Markov Process)  (0) 2024.06.24
카테고리
작성일
2024. 6. 24. 00:52
작성자
WDmil
728x90

MRP(Markov Reward Process)

 

MRP(Markov Reward Process) 는 Markov Process(MP) 에 보상 R과 Discount Factor $ \gamma $ 가 추가된 형태이다.

 

$ MRP(Markov Reward Process) = < S, P, R, \gamma > $

 

어떤 상태에 도달함에 따른 보상 R이 주어지고 각각의 보상은 시간에 따른 Discount Factor $ \gamma $에 의해 점차적으로 감쇠된다.


MDP(Markov Decision Process)

MDP(Markov Decision Process)는 Markov Reward Process(MRP)에 행동 a가 추가된 형태이다.

 

$ MRP(Markov Reward Process) = < S, A, P, R, \gamma > $


상태와 행동의 판단

 

Markov Decision Process문제에서 적절한 판단을 내리기 위해서는 어떤 행동 a가 좋은 행동인지 어떤 상태 s가 좋은 상태인지 판단해서 좋은 행동과 좋은 상태를 추구해야 한다.


따라서, 행동과 상태에 따른 좋고 나쁨의 판단이 필요하다.

 

행동과 상태의 좋고 나쁨을 추정하기 위해
상태 가치 함수(State-Value Function)행동 가치 함수(Action-Value Funtion)을 사용한다.


상태 가치 함수

상태 가치 함수(State-Value Function)은 어떤 상태의 좋고/ 나쁨을 평가한다. 상태가치 함수를 수학적으로 표현하면 다음과 같다.

$ V_{\pi}(s) = E_{\pi}[R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+2} + ... |S_{t} = s] $

수식은 다음과 같다.

 

  • 어떤 시간 t에서 전략 $ \pi $를 따를 때 기대되는( $ E_{\pi} -nondeterministic $ 일 경우 평균-) 어떤 상태 $ s(V_{\pi}(s), S_{t} = s) $의 가치는 미래 보상들의 총합 $ ( R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+2} + ... ) $ 으로 표현된다.
  • 여기서 $ \gamma $(감마) 는 Discount Factor이다. $ \gamma $는 보통 0에서 1 사이의 값을 부여한다.
  • 이때의 장점은 빨리 최적의 행동을 결정할 수 있다는 점이다. $ \gamma $가 1이라면 미래의 보상도 바로 다음의 보상만큼 중요하게 생각하게 된다. 이 경우, 당장의 보상은 최대화 할 수 없지만 미래의 수 까지 내다보면서 행동할 수 있다는 장점이 있다.
  • 실제 상황에서는 문제에 따라 최적의 $ \gamma $ 가 다르고, 실험을 통해 최적의 $ \gamma $값을 설정해주어야 한다.

행동 가치 함수

행동 가치 함수(Action-Value Function)은 어떤 상태에서 취한 행동의 좋고/나쁨을 평가한다. 상태 가치 함수를 수학적으로 표현하면 다음과 같다.

 

$ Q_{\pi}(s, a) = E_{\pi}[R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+2} + ... |S_{t} = s, A_{t} = a] $

 

수식은 다음과 같다.

 

어떤시간 t에서 전략 $ \pi $를 따를 때 기대되는($ E_{\pi} -nondeterministic $ 일 경우 평균-) 어떤 상태 $ s(S_{t} = s) $ 에서 어떤 행동 $ (A_{t} = a) $ 을 했을 때의 가치 $ (Q_{\pi}(s, a)) $ 가치는 미래 보상들의 총합 $ ( R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+2} + ...) $ 으로 표현된다.

 

 

728x90

'알고리즘' 카테고리의 다른 글

행동가치함수 추정하기  (0) 2024.06.26
Grid-World  (0) 2024.06.24
강화학습 알고리즘 기초개요  (0) 2024.06.24
MP(Markov Process)  (0) 2024.06.24
강화학습  (0) 2024.06.23
카테고리
작성일
2024. 6. 24. 00:16
작성자
WDmil
728x90

강화학습 알고리즘을 구성하는 요소 기호

 

  1. 시간 t의 상태 $ S_{t} $
  2. 시간 t의 행동 $ A_{t} $
  3. 시간 s의 행동 a의 행동 가치 함수 $ Q_{\pi}(s, a) $
  4. 정책 $ \pi $
  5. 파라미터 $\ theta $
  6. 보상 R
  7. Discount Factor $ \gamma $
  8. Epsilon Greedy $ \epsilon $

강화학습 환경은 MDP라고 볼 수 있다.

 

MDP는 순차적인 의사결정 과정으로 써 수학적으로는 $ < S, A, P, R, \gamma> $집합 으로 구성된다.

  • S 는 state들의 집합
  • A는 action들의 집합
  • P는 trainsition probability 행렬이다. $ P_{ss'}^{a} = P[S_{t+1} = s'|S_{t} = s, A_{t} = a] $
    특정 액션에서 다음 임의의 다음 액션으로 넘어갈 확률
  • R은 리워드 함수이다. $ R_{s}^{a} = E[R_{t+1}|S_{t} = s, A_{t} = a] $
  • $ \gamma $ 은 Discount Factor이다. $\gamma \in [0,1] $
    미래 보상에 대한 감쇄

MDP는 다음과 같은 발전과정을 가진다.

  1. Markov Process(MP)
  2. Markov Reward Process(MRP)
  3. Markov Decision Process(MDP)

 

728x90

'알고리즘' 카테고리의 다른 글

Grid-World  (0) 2024.06.24
MRP(Markov Reward Process) & MDP(Markov Decision Process)  (0) 2024.06.24
MP(Markov Process)  (0) 2024.06.24
강화학습  (0) 2024.06.23
TensorFlow 2.0 파라미터 저장 & 불러오기  (0) 2024.06.21
카테고리
작성일
2024. 6. 24. 00:16
작성자
WDmil
728x90

MP(Markov Process)

MP는 상태s 와 상태 전이(state trainsition)확률 $ P_{ss'} $ 로 구성된 환경이다.

 

$ MP(Markov Process) = < S, P > $

 

예를 들어 아래 MP(MarkovProcess)는 맑음 $ s_{1} $ 과 흐림 $ s_{2} $ 2가지 상태로 구성된다.

 

Markov Process는 markov Property를 따른다. MarkovProperty는

 

다음 상태를 결정하는데 오직 바로 이전 상태만 고려한다는 가정

이다.

$ P[s_{t}|s_{t}] = P[s_{t+1}|s_{1},s_{2}, ... , s_{t}] $

 

즉, 바로 이전 상태 이전에 어떤 상황을 거쳐서 현재 상태에 도달했든 $ (s_{1}, s_{2}, s_{2}, s_{1} = s_{2}, s_{1}, s_{1}, s_{1} = s_{2}, s_{2}, s_{2}, s_{1} ) $ 현재 상태 $ (s_{t}) $ 만을 기준으로 미래의 상태 변화를 예측한다는 가정이다.

 

 

728x90
카테고리
작성일
2024. 6. 23. 23:46
작성자
WDmil
728x90

머신러닝 알고리즘의 3가지 분류

 

Supervised Learning  :인풋 데이터와 그에 대한 정답 쌍(x, y)를 이용해서 학습하는 방법론

Unsupervised Learning : 인풋 데이터 (x)만을 이용해서 데이터의 숨겨진 특징을 학습하는 방법론

Reinforcement Learning : Reward를 제공하는 Environment와 Environment내에서 행동을 수행하는 Agent의 상호작용을 통해 학습하는 방법론

 

지도학습

 

정답 데이터가 존재하는상황에서 학습하는 알고리즘.

입력 데이터 x와 그에대한 정답 레이블 y의 쌍을 이용해서 학습하는 알고리즘

 

예를들어, 28x28크기의 이미지인 MNIST데이터셋 이 있으면, 이를 이용해 학습을 진행할 때, 지도 학습의 트레이닝 데이터셋 은 다음과 같이 구성된다.

 

(0을 나타내는 28x28이미지, 0), (7을 나타내는 28x28 이미지 7), (6을 나타내는 28x28이미지 6)....

 

지도학습 알고리즘은 두가지로 나뉜다

 

분류문제 : 예측하는 결과값이 이산값 인 문제

이 이미지에 해당하는 숫자는 1인가 2인가?

 

회귀 문제 : 예측하는 결과값이 연속값 인 문제

3개월뒤 이 아파트의 가격은 2억1천만원 일 것인가? 2억 2천만원일 것인가?

 

주로 사용되는 구조는 CNN, RNN이다.


비지도 학습

 

정답 레이블 y 없이 입력데이터 x만을 이용해서 학습하는 알고리즘이다. 입력데이터(x) 형태로 진행한다.

 

비지도 학습은 지도 학습과 목적이 조금 다르다. 지도 학습의 목적이 어떤 값에 대한 예측을 수행하는 것이라면, 비지도 학습은 데이터의 숨겨진 특징을 찾아내는 것에 목적이 있다.

 

데이터가 무작위로 분포되어있을 때, 비지도 학습의 일종인 클러스터링 알고리즘을 이용하면 비슷한 데이터들 끼리 3개의 그룹으로 묶을 수 있다.

 

단독으로 사용하기 보다는, 비지도 학습으로 파악한 데이터의 숨겨진 특지을 원본 데이터 대신 지도학습의 인풋 데이터로 활용해서 지도학습의 성능을 끌어올리는 용도로 많이 사용한다.

 

주로 사용되는 방법론 으로는, 주성분 분석(PCA)와 오토 인코더 이다.


강화 학습

 

강화학습은 이미 데이터가 주어진 정적인 상태 에서 학습을 진행하지 않고,

 

에이전트가 주어진 환경에서 어떤 행동을 취하고 이에 대한 보상을 얻으면서 학습을 진행한다.

 

에이전트는 보상을 최대화 하도록 학습을 진행한다.

 

강화학습은 동적인 상태에서 데이터를 수집하는 과정까지 학습과정에 포함되어있는 알고리즘이다.

 

주로 Q-Learning, DQN기법을 주로 활용한다.


강화학습 의 학습방법론

 

강화학습의 기본 가정은 어떤 목표(Goal)든, 보상(Reward)를 최대화하는 것으로 표현된다.

 

강화 가정(Reward Hypothesis) 모든 목표는 보상을 최대화하는 것으로 나타낼 수 있다.

 

간단한 예로, 인간은 기본적으로 어떤 행동을 할 때 보상이 최대화되는 방향으로 행동한다.

예를 들어, 우리의 목표가 10만원을 버는 것이라고 생각해보자. 이 때, A라는 상점에서 하루 동안 청소를 하면 10만원을 주고 B라는 상점에서 하루 동안 청소를 하면 8만원을 준다고 생각해보자. 자연스럽게 우리는 A라는 상점에서 일을 하기로 결정할 것이다.

 

이제 문제는 이런 상식적인 명제를 구체적인 수학적인 형태로 표현하는 것이다.

 

이를 위해 강화학습은 상태 가치 함수(State-Value Function)와 행동가치함수(Action-Value Function)이라는 개념을 사용한다.

 


보상의 예시

 

현실을 예로 들어 다양한 문제를 보상의 관점으로 치환해보면 다음과 같다.

 

  • 바둑에서의 보상
    • + : 바둑게임 승리
    •  - : 바둑 게임 패배
  • 주식 투자에서의 보상
    • + : 포트폴리오의 수익률 +
    • - : 포트폴리오의 수익률 -
  • 추천 알고리즘에서 보상
    • + : 사용자가 좋아하는 상품을 추천
    • - : 사용자가 싫어하는 상품을 추천
  • 휴머노이드 로봇에서의 보상
    • + : 로봇이 쓰러지지 않고 제대로 보행한다.
    • - : 로봇이 중심을 잃고 쓰러진다.

강화학습의 장단점

 

장점

환경과 상호작용을 통해 학습하기 때문에 훨씬 다양하고 범용적인 환경의 어려운 문제들을 학습할 수 있다.

 

단점

정답이 아닌 보상에 기반한 시행착오를 통해 학습을 진행하기 때문에, 상대적으로 학습하기가 어렵고 학습에 걸리는 시간이 오래걸린다.

또한 다양한 수학적 개념들에 대한 이해가 필요해서 지도학습에 비해 공부하기 어려운 편이다.

 

 

728x90

'알고리즘' 카테고리의 다른 글

강화학습 알고리즘 기초개요  (0) 2024.06.24
MP(Markov Process)  (0) 2024.06.24
TensorFlow 2.0 파라미터 저장 & 불러오기  (0) 2024.06.21
TensworFlow 2.0을 이용한 Char-RNN구현  (0) 2024.06.20
임베딩 & Char-RNN  (0) 2024.06.18