본문 바로가기
인공지능/인공지능개론

[AI] Learning (5-3)

by 주황딱지 2024. 6. 25.

 

강화 학습(Reinforcement Learning)

 

강화 학습은 기계 학습에 대한 또 다른 접근 방식으로, 각 작업 후에 agent가 보상이나 벌(양수 또는 음수 값)의 형태로 피드백을 받는다.

강화 학습

 

학습 과정은 agent에  상태(state)를 제공하는 환경(environment)에서 시작된다. 그다음 agent는 상태에 대한 작업을 수행한다. 이 작업을 기반으로 환경은 상태와 보상을 에이전트에 반환한다. 여기서  보상은 긍정적이어서 미래에 행동이 발생할 가능성이 높아지거나 부정적(예: 처벌)이어서 미래에 해당 행동이 발생할 가능성이 낮아질 수 있다.

 

이러한 유형의 알고리즘은 걷는 로봇을 훈련하는 데 사용할 수 있다. 예를 들어 걷기는 양수(보상)를 반환하고 각 쓰러짐은 음수(처벌)를 반환한다.

 

마르코프 결정 프로세스(Markov Decision Processes)

 

강화 학습은 다음과 같은 속성을 갖는 마르코 결정 프로세스로 볼 수 있다.

 

  • Set of stated S
  • Set of actions Actions(S)
  • Transition model P(s’ | s, a)
  • Reward function R(s, a, s’)

예를 들어 다음 사진을 보먀 과제를 해결해 보자:

 

에이전트(agent)는 노란색 원이며 빨간색 사각형을 피하면서 녹색 사각형에 도달해야 한다.

작업의 모든 사각형은 상태(state)이다.

위, 아래 또는 옆으로 움직이는 것은 동작(action)이다.

전환 모델(transition model)은 작업을 수행한 후 새로운 상태를 제공하고 보상 함수(reward function)는 에이전트가 어떤 종류의 피드백을 받는가이다.

 

예를 들어 에이전트가 오른쪽으로 가기로 선택하면 빨간색 사각형을 밟고 부정적인 피드백을 받게 된다. 이는 에이전트가 왼쪽 하단 사각형에 있는 상태에서는 오른쪽으로 가는 것을 피해야 한다는 것을 학습한다는 의미이다. 이런 방식으로 에이전트는 공간 탐색을 시작하고 어떤 state-action 짝을 피해야 하는지 학습한다. 알고리즘은 보상에 따라 증가하거나 감소하는 확률에 따라 다양한 상태에서 다양한 action을 취하도록 선택하는 확률론적일 수 있다. 에이전트가 녹색 사각형에 도달하면 이전 상태에서 취한 action을 취하는 것이 유리하다는 것을 학습하여 긍정적인 보상을 받게 된다.

 

큐-러닝(Q-Learning)

 

Q-Learning은 강화 학습의 한 모델로, 함수 Q(s, a)는 state s에서 action a를 취한 값에 대한 추정치를 출력한다.

모델은 모든 추정값이 0인 것으로 시작한다( 모든 s, a에 대해 Q(s, a)= 0 ). 작업이 수행되고 보상이 수신되면, 함수는 두 가지 작업을 수행한다. 현재 보상과 예상되는 미래 보상을 기반으로 Q(s, a)의 값을 추정하고 Q(s, a)를 이전 추정치와 새 추정치를 모두 고려하라고 업데이트시킨다. 이는 처음부터 시작하지 않고도 과거 지식을 개선할 수 있는 알고리즘을 제공한다.

  • Q(s, a) ⟵ Q(s, a) + α(new value estimate - Q(s, a))

Q(s, a)의 업데이트된 값은 일부 업데이트 값 외에 Q(s, a)의 이전 값과 같다. 이 값은 새 값과 이전 값의 차이에 학습 계수인 α를 곱하여 결정된다. α = 1이면 새 추정치가 이전 추정치를 덮어쓴다. α = 0이면 추정값이 업데이트되지 않는다. α를 높이거나 낮춤으로써 이전 지식이 새로운 추정치에 의해 얼마나 빨리 업데이트되는지 확인할 수 있다.

 

새로운 가치 추정치는 reward(r)과 미래 보상 추정치의 합으로 표현될 수 있다. 미래의 보상 추정치를 얻기 위해 우리는 마지막 행동을 취한 후 얻은 새로운 상태를 고려하고 이 새로운 상태에서 가장 높은 보상을 가져올 행동의 추정치를 추가한다. 이런 식으로 우리는 상태 s에서 행동 a를 하는 것의 효용을 그것이 받은 보상뿐만 아니라 다음 단계의 기대 효용에 의해서도 추정한다. 미래 보상 추정치의 값은 때때로 미래 보상의 가치를 제어하는 ​​계수 감마와 함께 나타날 수 있다.

 

결론이 다음 방정식으로 도출된다:

90Q-learning

 

의사 결정 욕심쟁이 알고리즘(Greedy Decision-Making algorithm)

 

Greedy Decision-Making 알고리즘은 미래 예상 보상을 완전히 배제하는 대신 항상 가장 높은 Q(s, a)를 갖는 현재 상태 s에서 작업 a 선택한다.

 

이를 통해 우리는 Explore vs. Exploit(진보 vs 보수) 트레이드오프에 대해 논의하게 된다. 그리디 알고리즘은 항상 exploit 하여 좋은 결과를 가져오기 위해 이미 확립된 조치를 취한다. 그러나 솔루션에 대한 항상 동일한 경로를 따르며 더 나은 경로를 찾지 못한다. 반면 explore은 알고리즘이 대상으로 가는 도중에 이전에 탐색하지 않은 경로를 사용할 수 있으므로 그 과정에서 보다 효율적인 솔루션을 찾을 수 있음을 의미한다. 예를 들어, 매번 같은 노래를 듣는다면 그 노래가 마음에 들 것이라는 것은 알지만, 그보다 더 좋아할 만한 새로운 노래를 결코 알 수는 없을 것이다!

 

Exploration과 Exploitation 개념을 구현하기 위해 ε(엡실론) 탐욕 알고리즘을 사용할 수 있다. 이러한 유형의 알고리즘에서는 ε을 무작위로 이동하려는 빈도와 동일하게 설정한다. 확률이 1-ε인 경우 알고리즘은 최선의 움직임(exploit)을 선택한다. 확률이 ε인 경우,  알고리즘은 무작위 이동(explore)을 선택한다.

 

강화 학습 모델을 훈련하는 또 다른 방법은 모든 움직임이 아니라 전체 프로세스가 끝날 때 피드백을 제공하는 것이다. 예를 들어 님(Nim) 게임을 생각해 보자. (참고로 nim게임 중 하나는 배스킨라빈스 31게임이다) 이 게임에서는 더미 사이에 다양한 수의 개체가 배포된다. 각 플레이어는 하나의 더미에서 원하는 만큼의 물건을 가져오고, 마지막 물건을 가져간 플레이어가 패배한다. 이러한 게임에서는 훈련되지 않은 AI가 무작위로 플레이하므로 쉽게 승리할 수 있다. AI를 훈련시키기 위해 무작위로 게임을 플레이하는 것부터 시작하여 최종적으로 승리하면 1, 패배하면 -1의 보상을 받는다. 예를 들어, 10,000개의 게임을 훈련하면 이미 이기기 어려울 만큼 똑똑해진다.

 

이 접근 방식은 체스와 같이 게임에 여러 상태와 가능한 동작이 있는 경우 계산량이 더욱 까다로워진다. 모든 가능한 상태에서 가능한 모든 움직임에 대해 추정값을 생성하는 것은 불가능하다. 이 경우 각 상태-동작 쌍에 대해 하나의 값을 저장하는 대신 다양한 다른 기능을 사용하여 Q(s, a)를 근사화할 수 있는 함수 근사(function approximation)를 사용할 수 있다. 따라서 알고리즘은 어떤 움직임이 충분히 유사하여 추정 값도 유사해야 하는지를 인식하고 이 휴리스틱을 의사 결정에 사용할 수 있게 된다.


비지도 학습(Unsupervised Learning)

 

지도 학습에서와 같이 이전에 본 모든 경우에는 알고리즘이 학습할 수 있는 레이블이 있는 데이터가 있었다. 예를 들어 위조지폐를 인식하는 알고리즘을 훈련했을 때 각 지폐에는 서로 다른 값(입력 데이터)과 위조 여부(라벨)를 갖는 4개의 변수가 있었다. 그러나 비지도 학습에서는 입력 데이터만 존재하며 AI는 이러한 데이터의 패턴을 학습한다.

 

클러스터링(Clustering)

 

클러스터링은 입력 데이터를 가져와 유사한 객체가 동일한 그룹에 속하도록 그룹으로 구성하는 비지도 학습 작업이다. 예를 들어 유전학 연구에서 유사한 유전자를 찾으려고 할 때 또는 이미지 분할에서 픽셀 간의 유사성을 기반으로 이미지의 다른 부분을 정의할 때 사용할 수 있다.

 

 

k - 평균 알고리즘(k-means Clustering)

 

k-평균 알고리즘은 클러스터링 작업을 수행하는 알고리즘이다. 공간의 모든 데이터 포인트를 매핑한 다음, k개의 클러스터 중심을 공간에 무작위로 배치한다(얼마나 많은지 결정하는 것은 프로그래머의 몫이다. 이것이 왼쪽에 보이는 시작 상태이다). 각 클러스터 중심은 단순히 공간의 한 지점이다. 그런 다음 각 클러스터에는 다른 중심보다 중심에 가장 가까운 모든 포인트가 할당된다(가운데 그림). 그런 다음 반복 프로세스에서 클러스터 중심이 모든 포인트의 중앙(오른쪽 상태)으로 이동한 다음, 중심이 현재 가장 가까운 클러스터에 포인트가 다시 할당된다. 프로세스를 반복한 후에도 각 포인트가 이전과 동일한 클러스터에 남아 있으면 평형에 도달하고 알고리즘이 종료되어 포인트가 클러스터 간에 분할한다.

K- means clustering


이제 러닝 챕터에서 강화학습과 비지도학습을 배우며 끝이 났다. 다음에는 신경망에 대해 배울 것이다.

반응형

'인공지능 > 인공지능개론' 카테고리의 다른 글

[AI] Neural Networks (6-2)  (0) 2024.06.28
[AI] Neural Networks (6-1)  (0) 2024.06.28
[AI] Learning (5-2)  (0) 2024.06.24
[AI] Uncertainty (3-3)  (2) 2024.06.24
[AI] Uncertainty (3-2)  (1) 2024.06.24