# Бэхжүүлэн сургалт (Хиймэл оюун)

Хиймэл оюун бүтээлтийн Машин сургалт болон оновчтой удирдлагын салбарт **бэхжүүлэн сургалт** (reinforcement learning буюу RL) нь ухаалаг агентын динамик орчинд урамшууллын сигналыг хамгийн их байлгахын тулд хэрхэн үйлдэл хийх ёстойг судалдаг. Бэхжүүлэн сургалт нь заавартай сургалт (supervised learning) болон зааваргүй сургалтын (unsupervised learning) зэрэгцээ машин сургалтын үндсэн гурван парадигмын нэг юм.

Заавартай болон зааваргүй сургалтын алгоритмууд нь харгалзан хаяглагдсан болон хаяглагдаагүй өгөгдлөөс зүй тогтлыг илрүүлэхийг оролддог бол бэхжүүлэх сургалт нь агентыг орчинтой нь харилцан үйлчлэлдүүлэх замаар сургадаг. Эдгээр харилцан үйлчлэлээс хүртэх урамшууллыг дээд цэгт нь хүргэж сурахын тулд агент нь орчны талаар илүү их мэдлэг олж авахын тулд шинэ үйлдэл хийх (хайгуул буюу exploration), эсвэл хамгийн сайн үйлдэл хийхийн тулд орчны талаарх одоогийн мэдлэгээ ашиглах (ашиглалт буюу exploitation) хоёрын хооронд шийдвэр гаргадаг. Эдгээр хоёр стратегийн хоорондох хамгийн оновчтой тэнцвэрийг эрэлхийлэхийг \*\*хайгуул-ашиглалтын дилемма\*\* (exploration–exploitation dilemma) гэж нэрлэдэг.

Бэхжүүлэн сургалтын олон алгоритмууд динамик програмчлалын техникийг ашигладаг тул орчныг ихэвчлэн \*\*Марковын шийдвэр гаргах процесс\*\* хэлбэрээр тодорхойлдог. Сонгодог динамик програмчлалын аргууд болон бэхжүүлэх сургалтын алгоритмуудын гол ялгаа нь сүүлийнх нь Марковын шийдвэр гаргах процессын нарийн математик загварын мэдлэгийг шаарддаггүй бөгөөд нарийн аргуудыг хэрэгжүүлэх боломжгүй асар том Марковын шийдвэр гаргах процессуудад чиглэгддэгт оршино.

## Зарчмууд

Бэхжүүлэн сургалт нь түгээмэл шинж чанартай тул тоглоомын онол, удирдлагын онол, үйл ажиллагааны судалгаа, мэдээллийн онол, симуляцид суурилсан оновчлол, олон агентын систем, сүргийн оюун ухаан болон статистик зэрэг олон салбарт судлагддаг. Үйл ажиллагааны судалгаа болон удирдлагын зохиол бүтээлүүдэд бэхжүүлэх сургалтыг \*\*ойролцоолсон динамик програмчлал\*\* эсвэл \*\*нейро-динамик програмчлал\*\* гэж нэрлэдэг. Бэхжүүлэн сургалтын сонирхдог асуудлуудыг оновчтой удирдлагын онолд мөн судалдаг бөгөөд энэ нь ихэвчлэн оновчтой шийдлүүдийн оршин тогтнол, шинж чанар болон тэдгээрийг нарийн тооцоолох алгоритмуудад чиглэдэг бол суралцах эсвэл ойролцоолох (ялангуяа орчны математик загвар байхгүй үед) тал дээр бага анхаардаг.

Энэхүү орчуулга нь Wikipedia-ийн "Reinforcement learning" (Гүнзгийрүүлсэн сургалт буюу бэхжүүлэн сурах) хуудасны "References" хэсэг хүртэлх агуулгыг Викитекст, математик томьёолол (LaTeX) болон хүснэгтийн бүтцийг бүрэн хадгалан, монгол хэл дээрх мэргэжлийн нэр томьёог ашиглан бэлтгэсэн хувилбар юм.

## Үндсэн тодорхойлолт

Бэхжүүлэн сурахын бодлогыг ихэвчлэн \*\*Марковын шийдвэр гаргах үйл явц\*\* (Markov Decision Process буюу MDP) гэж томьёолдог.

Үндсэн бүрэлдэхүүн хэсгүүд:

1. \*\*Төлөөлөгч (Agent):\*\* Шийдвэр гаргаж, үйлдэл хийж буй систем.
2. \*\*Орчин (Environment):\*\* Төлөөлөгчийн оршин буй гадаад ертөнц.
3. \*\*Төлөв (State - S):\*\* Тухайн цаг мөчид орчин ямар байгааг илэрхийлэх мэдээлэл.
4. \*\*Үйлдэл (Action - A):\*\* Төлөөлөгчийн хийж болох алхмууд.
5. \*\*Шагнал (Reward - R):\*\* Үйлдлийн үр дүнд орчноос ирж буй эерэг эсвэл сөрөг хариу үйлдэл.

---

## Математик томьёолол

Төлөөлөгч болон орчны харилцан үйлчлэлийг хугацааны салангид (discrete) алхмуудаар t = 0, 1, 2, 3, \dots гэж дүрсэлдэг. Алхам бүрт төлөөлөгч S\_t төлөвийг хүлээн авч, A\_t үйлдлийг хийнэ. Үүний хариуд нэг алхмын дараа шагнал R\_{t+1} болон дараагийн төлөв S\_{t+1}-ийг хүлээн авна.

## Өгөөж (Return)

Төлөөлөгчийн зорилго нь урт хугацааны хуримтлагдсан шагналыг хамгийн их байлгах явдал юм. Үүнийг \*\*өгөөж\*\* (G\_t) гэж нэрлэдэг:

Үүнд \gamma \in [0, 1] нь \*\*хөнгөлөлтийн коэффициент\*\* (discount factor) бөгөөд ирээдүйн шагналын одоогийн үнэ цэнийг тодорхойлно.

## Бодлого (Policy)

Бодлого \pi гэдэг нь тухайн төлөвөөс үйлдэл рүү шилжих магадлалын тархалт юм:

---

### Сургалтын аргууд

Бэхжүүлэн сурахын алгоритмуудыг дараах байдлаар ангилдаг.

## 1. Загварт суурилсан ба Загваргүй (Model-based vs Model-free)

* \*\*Model-based:\*\* Төлөөлөгч орчны динамикийг (төлөв шилжилтийн магадлал) урьдчилан таамаглахыг оролддог.
* \*\*Model-free:\*\* Төлөөлөгч орчныг таамаглахгүйгээр шууд туршлага дээр үндэслэн суралцдаг (Жишээ нь: Q-learning).

## 2. Үнэ цэнийн функц (Value Function)

Төлөөлөгч ямар нэг төлөв хэр "сайн" болохыг үнэлэх функцүүдийг ашигладаг:

* \*\*Төлөв-үнэ цэнийн функц:\*\* V^\pi(s) = E\_\pi [G\_t | S\_t = s]
* \*\*Үйлдэл-үнэ цэнийн функц (Q-функц):\*\* Q^\pi(s, a) = E\_\pi [G\_t | S\_t = s, A\_t = a]

## 3. Хайлт ба Ашиглалт (Exploration vs Exploitation)

RL-ийн хамгийн том сорилт юм.

* \*\*Хайлт (Exploration):\*\* Шинэ, илүү дээр шагнал олж мэдэхийн тулд үл мэдэгдэх үйлдлийг турших.
* \*\*Ашиглалт (Exploration):\*\* Одоогийн мэддэг хамгийн өндөр шагнал өгөх үйлдлийг хийх.

## Алдартай алгоритмууд

| Алгоритм | Төрөл | Тодорхойлолт |
| --- | --- | --- |
| \*\*Q-Learning\*\* | Model-free, Off-policy | Q(s, a) утгыг шинэчилж оновчтой үйлдлийг сурдаг. |
| \*\*SARSA\*\* | Model-free, On-policy | Тухайн үед баримталж буй бодлогын дагуу үйлдлийг үнэлдэг. |
| \*\*DQN\*\* | Deep RL | Q-Learning-ийг гүнзгий мэдрэлийн сүлжээтэй хослуулсан. |
| \*\*Policy Gradient\*\* | Policy-based | Бодлогын параметрүүдийг шууд градиент өгсөх аргаар оновчилдог. |

## Хэрэглээ

Бэхжүүлэн сурахыг дараах салбаруудад амжилттай ашиглаж байна:

* \*\*Тоглоом:\*\* AlphaGo, шатар, видео тоглоомууд (Dota 2, StarCraft II).
* \*\*Робот техник:\*\* Роботын алхах, эд зүйл барих чадварыг сургах.
* \*\*Автономит тээвэр:\*\* Өөрөө жолоодогч машин.
* \*\*Санхүү:\*\* Хувьцааны арилжаа болон багцын удирдлага.
* \*\*Зөвлөмжийн систем:\*\* Хэрэглэгчийн сонирхолд нийцсэн контент санал болгох.