A megerősítő tanulás (RL) a gépi tanulási (ML) technikák egy osztályát foglalja magában, amelyek szekvenciális döntéshozatali problémák megoldására használhatók. Az RL technikák számos területen széles körben elterjedtek, beleértve a pénzügyi szolgáltatásokat, az autonóm navigációt, az ipari vezérlést és az e-kereskedelmet. Az RL-probléma célja egy olyan ügynök képzése, aki a környezetéből származó megfigyelések alapján kiválasztja az optimális cselekvést, amely maximalizálja a halmozott jutalmat. Az RL-vel kapcsolatos üzleti probléma megoldása magában foglalja az ügynök környezetének, a cselekvések terének, a megfigyelések szerkezetének és a megfelelő jutalmazási funkciónak a meghatározását a cél üzleti eredményhez. A politika alapú RL módszerekben a modellképzés eredménye gyakran egy olyan politika, amely valószínűségi eloszlást határoz meg a megfigyelt cselekvések között. Az optimális házirend maximalizálja az ügynök által elért halmozott hozamokat.
A korlátozott döntéshozatali problémáknál az ügynök feladata, hogy megszorítások mellett válassza ki az optimális cselekvéseket. Az ilyen problémáknak egy külön osztálya létezik, ahol az állapottól függően az ügynök csak az összes művelet egy részhalmazából választhat. A többi kereset elfogadhatatlan.
Vegyünk például egy autonóm autót, amely 10 lehetséges sebességfokozattal rendelkezik. Előfordulhat, hogy ez az autó csak a sebességszintek egy részéből választhat, amikor egy lakónegyeden halad át. Itt a sebességszintek korlátozását az autó elhelyezkedése határozza meg. A műveletekre vonatkozó ilyen paraméterezett megszorítások gyakoriak sok valós probléma esetén. Az ilyen problémák megoldása az RL-rel megköveteli a megszorítások beépítését a képzési folyamatba. Akciómaszkolás egy megközelítés az elfogadhatatlansági korlátokat magában foglaló RL problémák minta hatékony megoldására. Ahogy a neve is sugallja, ez magában foglalja az elfogadhatatlan cselekvések elfedését a mintavételi valószínűség nullára állításával. A következő ábra az RL ciklust ábrázolja akciómaszkolással. Ez egy ágensből, a cselekvési maszkokat meghatározó kényszerekből, a maszkokból, az állapotátmenetekből és a megfigyelt jutalmakból áll.
Ebben a bejegyzésben leírjuk, hogyan lehet végrehajtani a műveletmaszkolást Amazon SageMaker RL paraméteres cselekvési terek használatával Ray RLlib. Leírunk egy példaproblémát, amely diszkrét többdimenziós cselekvési tereket és több kényszert foglal magában. A bejegyzés teljes jegyzetfüzetének eléréséhez lásd a SageMaker notebook példa a GitHub-on.
Használati eset áttekintése
Egy példakénti portfólióoptimalizálási problémára tekintünk, amelyben egy befektető több eszköztípussal kereskedik, hogy maximalizálja teljes portfólióértékét. A portfólió három különböző eszköztípusból és egy készpénzegyenlegből áll, amely egyszerűen a bankszámláján lévő pénzre utal. Az ügynöknek minden befektetési időszak alatt ki kell választania az általa vásárolt vagy eladott eszköztípusok mennyiségét. Az ügynök a rendelkezésre álló készpénzegyenleget bármely eszközvásárlás finanszírozására használja fel. Az egyes eszközök vételi/eladási műveleteihez tranzakciós költségek is kapcsolódnak. Feltételezzük, hogy az egyes eszközök piaci ára időben változik. Az árakat véletlenszerűen választják ki, de úgy modellezik, hogy eltérő viselkedést mutassanak különböző volatilitási szintekkel. A három eszközosztály ártartományait a következő ábra mutatja.
Az ügynök számára elfogadható cselekmények halmazát olyan paraméterek határozzák meg, mint az aktuális teljes portfólióérték, az aktuális készpénzegyenleg, az egyes típusú eszközök száma és azok aktuális piaci értéke. Ennél a problémánál a következő megszorításokat érvényesítjük a lehetséges műveletekre vonatkozóan:
- C1 – Az ügynök semmilyen eszköztípusból nem adhat el több egységet, mint amennyi jelenleg a tulajdonában van. Például, ha az ügynök portfóliójában k időpontban 100 egység 3. eszköz van, akkor nem tud 120 egységet eladni ebből az eszközből.
- C2 – A 3. eszközt nagyon ingadozónak tartják a befektetők. Az ügynök nem vásárolhatja meg a 3. eszközt, ha a 3. eszközben lévő részesedésének összértéke meghaladja teljes portfólióértékének egyharmadát.
- C3 – Az RL-modell fogyasztói mérsékelt kockázati preferenciával rendelkeznek, és a 2. eszközt konzervatív vételnek tartják. Ennek eredményeként az ügynök nem vásárolhatja meg a 2. eszközt, ha a 2. eszköz részesedéseinek összértéke meghaladja a teljes portfólió értékének kétharmadát.
- C4 – Az ügynök nem vásárolhat eszközöket, ha jelenlegi készpénzegyenlege kevesebb, mint 1 USD.
Állítsa be a környezetet
Kezdésként hozzon létre egy SageMaker notebook példányt a következőn keresztül Amazon SageMaker Studio. További információ: Használjon Amazon SageMaker Notebook példányokat.
Ezt követően a portfólió kereskedési problémát egyedi formában valósítjuk meg Nyissa meg az AI edzőtermet környezetben, és betanítson egy RL ügynököt a SageMaker RL segítségével. A Gym-környezet interfészt biztosít az RL-ügynök számára a környezettel való interakcióhoz, valamint jutalmak és megfigyelések generálásához. A portfóliókereskedés környezete a trading.py
modult. Használjuk a __init__
módszer egyes környezeti paraméterek meghatározására és inicializálására. Ez magában foglalja az eszközvásárlási/eladási műveletekhez kapcsolódó tranzakciós költségeket, az eszközárak átlagos értékét, az árkülönbségeket stb. Meghatározzuk a megfigyelési és cselekvési tereket is a __init__
módszer. Lásd a következő kódot:
Mivel az ügynök egy adott időpontban három eszközzel kereskedik, az ügynök által végrehajtott műveletek egy háromdimenziós akcióvektor segítségével jelennek meg. Az akcióvektort alkotó három diszkrét művelet az egyes eszközosztályok kereskedéseit képviseli, és mindegyik 11 lehetséges értéket vehet fel. A 11 diszkrét érték különböző eladási, vételi és tartási műveleteket kódol, amint az a következő ábrán látható. Például kiválasztva a1A =3 azt jelenti, hogy az ügynök 20 egységet ad el az 1-es eszköztípusból. Az eszközök vétele és eladása 10 többszörösében történik.
A megfigyelő tér két elemből álló szótári felépítésű. Ezek az aktuális kereskedési állapotot és az aktuális akciómaszk értékeit jelentik. A kereskedési állapot egy 7×1-es vektor, amely az ügynök által jelenleg birtokolt egyes eszközök mennyiségéből, az aktuális készpénzegyenlegből és a három eszköz mindegyikének aktuális piaci értékéből áll. Az akciómaszk egy 3×11-es mátrix, amely minden lehetséges műveletnek megfelelő maszkértékekkel rendelkezik. A környezet minden alkalommal kiszámítja a maszkértékeket az an update_mask()
módszer. A C1:C4 korlátozások bármelyikét megsértő műveletek nulla maszkot kapnak. A maszk értéke 1-re van állítva az elfogadható tevékenységekhez. Lásd a következő kódot:
Minden epizód elején a reset()
metódus hívja meg a kereskedési állapot, a megfigyelések és egyéb paraméterek újrainicializálását. Az ügynök minden képzési epizódot 1,000 USD készpénzegyenleggel és nulla vagyonnal kezd. Minden epizód 20 befektetési időszakból áll.
Az ügynök minden befektetési időszak elején mintát vesz egy akcióból a legutóbbi megfigyelések alapján, és frissíti portfólióját. Ennek modellezése a step()
módszer. A portfólió frissítése után újraszámoljuk az állapotot. A műveleti maszk frissítése a update_mask()
módszer.
A jutalom függvény a portfólió végső összértéke, és az egyes epizódok végén kerül kiszámításra, ami 20 befektetési időszak után történik.
Maszkoló modell
A környezet minden időlépésben visszaadja a szótár állapotát, és a házirendet képviselő ML-modell ezen az állapoton alapuló műveletet mintát vesz. A parametrikus cselekvési modell csak a nem maszkolt (maszk ≠ 0) műveletek mintavételét teszi lehetővé. Itt leírjuk a paraméteres műveleti modellt, amely lehetővé teszi a műveletmaszkolást:
A modell mintavételezi a műveleteket egy Softmax függvényen keresztül, a műveletbeágyazási modell által megadott logikákat használva. Ezt a modellt a __init__
módszer. Maga a maszkolási viselkedés a forward()
módszer. Itt elválasztjuk a műveleti maszkokat és a kereskedelmi állapotot a környezetből leolvasott szótári állapottól. A műveleti beágyazásokat ezután úgy kapja meg, hogy a kereskedési állapotot átadja a műveletbeágyazási hálózatnak. Ezután hozzáadással módosítjuk az egyes műveletek beágyazásának értékét logit_mod
a logitokhoz. Vedd észre logit_mod
a cselekvési maszk logaritmusának függvénye. Azoknál a műveleteknél, amelyeknél a maszk =1, a maszk logaritmusa nulla lesz, így a beágyazások zavartalanok maradnak. Másrészt, ha maszk=0, akkor a maszk → logaritmusa −∞. Mert Softmax(x)
→0 mint x→ −∞, ez biztosítja, hogy az ügynök ne vegyen mintát a maszkolt műveletekről.
Teszteljük, hogy a maszk a várt módon működik-e. Indítunk egy sugártréner objektumot, és maszkolunk néhány műveletet, és megnézzük, hogy a tréner csak a nem maszkolt műveleteket veszi-e minta:
A következő képernyőképen látható kimenet a kezdeti műveletmaszk tömbjét mutatja.
Most úgy módosítjuk a maszkvektorokat, hogy a1, minden lehetőség, kivéve a 8. műveletet (vásároljon 30 egységet az 1. eszközből); a2 mindent, kivéve az 5. műveletet (tartsa a 2. eszközt az aktuális számokon); és a3, az 1. és 2. művelet kivételével (a 40. eszköz 30 vagy 3 egysége eladása) minden maszkolt:
Most, hogy módosítottuk a műveletmaszk tömböt, megpróbálunk egy új műveletet mintát venni.
Az ügynök csak azokat a műveleteket veszi minta, amelyek nincsenek lefedve. Ez ellenőrzi, hogy a műveletmaszkolás a várt módon működik-e.
Eredmények
Most, hogy a környezet és a paraméteres műveleti modell definiálva van, betanítunk egy ügynököt a portfólióoptimalizálási probléma megoldására a SageMaker RL segítségével. Megtanítunk egy RL ügynököt, hogy megtanulja az optimális szabályzatot a jutalom maximalizálásához a C1:C4 megszorítások mellett. A SageMaker RL proximális házirend-optimalizálási (PPO) algoritmusát használjuk az RL ügynök betanítására 500,000 XNUMX epizódra. A következő betanítási konfiguráció bemutatja, hogyan adjuk meg az ügynököt a használatához trading_mask
mint custom_model
használt:
Az ügynök 1,000 USD kezdeti készpénzegyenleggel indul. Az epizódonkénti átlagos jutalmat az edzési idő függvényében ábrázoltuk, amint azt a következő táblázat mutatja. Ne feledje, hogy jutalomként a portfólió végső teljes értékét használjuk. 20 befektetési időszak végén azt tapasztaljuk, hogy az ügynök portfóliójának átlagértéke meghaladja a 3,000 USD-t.
Tisztítsuk meg
A SageMaker notebook példányon kívül semmilyen infrastruktúrát nem biztosítottunk. Ha SageMaker jegyzetfüzet-példányt használ a Studio-on keresztül, a következő utasításokat követve leállíthatja azt Nyitott jegyzetfüzet leállítása.
Következtetés
Ebben a bejegyzésben megvitattuk, hogyan lehet végrehajtani a műveletmaszkolást az RL-modell-képzésben a megszorítások érvényesítésére. Az elfogadhatatlan műveletek elfedésével lehetővé tesszük az ügynök számára, hogy csak érvényes műveleteket vegyen mintát, és minta-hatékony módon tanulja meg az optimális szabályzatot. Bevezettünk egy portfólióoptimalizálási problémát, amelyben az ügynök feladata a portfólió értékének maximalizálása három eszköztípussal, többféle megkötés mellett. Bemutattuk, hogyan valósíthatunk meg többdimenziós műveletmaszkot erre a problémára a Ray RLlib segítségével. Megtanítottunk egy RL ügynököt a korlátozott portfólióoptimalizálási probléma megoldására a SageMaker RL segítségével.
Most, hogy tudja, hogyan kell műveletmaszkolást végrehajtani a SageMaker RL és a Ray RLlib segítségével a portfólióoptimalizálás során, kipróbálhatja más olyan RL-problémák esetén is, amelyek megengedhetetlen műveletekkel járnak. Az ebben a bejegyzésben kifejlesztett akciómaszkoló kódot az egydimenziós cselekvési teret érintő egyszerűbb problémákhoz is adaptálhatja. Javasoljuk, hogy alkalmazza az itt kidolgozott megközelítést az RL használati eseteire, és tudassa velünk, ha kérdése vagy visszajelzése van.
További hivatkozások
További információkért és kapcsolódó tartalmakért tekintse meg a következő forrásokat:
A szerzőkről
Dilshad Raihan Akkam Veettil az AWS Professional Services adattudósa, ahol különféle iparágakban ügyfeleikkel foglalkozik, hogy a gépi tanulás és a felhőalapú számítástechnika segítségével megoldják üzleti kihívásaikat. PhD-fokozatot szerzett repüléstechnikából a Texas A&M Egyetemen, College Stationben. Szabadidejében szívesen focizik és olvas.
Budnarain Pál az Amazon Inventory Forecasting Systems (IFS) csoportjának alkalmazott tudósa, székhelye Los Angeles, Kalifornia.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/portfolio-optimization-through-multidimensional-action-optimization-using-amazon-sagemaker-rl/
- :is
- $3
- $ UP
- 000
- 1
- 10
- 100
- 11
- 500k
- 7
- 8
- a
- felett
- hozzáférés
- Fiók
- át
- Akció
- cselekvések
- alkalmazkodni
- További
- további információ
- légtér
- Után
- Ügynök
- szerek
- AI
- algoritmus
- Minden termék
- amazon
- Amazon SageMaker
- és a
- Angeles
- alkalmazások
- alkalmazott
- alkalmaz
- megközelítés
- VANNAK
- Sor
- AS
- vagyontárgy
- Eszközök
- kijelölt
- társult
- feltételezte
- At
- autonóm
- elérhető
- AWS
- AWS professzionális szolgáltatások
- Egyenleg
- Bank
- bankszámla
- alapján
- BE
- mert
- Kezdet
- Túl
- megvett
- üzleti
- megvesz
- by
- számított
- kiszámítja
- Kalifornia
- hívott
- hívás
- TUD
- autó
- eset
- esetek
- Készpénz
- kihívások
- Táblázatos
- választás
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- választja
- osztály
- osztályok
- felhő
- cloud computing
- kód
- Főiskola
- Közös
- teljes
- számítástechnika
- feltétel
- Configuration
- konzervatív
- Fontolja
- figyelembe vett
- Összeáll
- korlátok
- Fogyasztók
- tartalom
- folytatódik
- ellenőrzés
- Megfelelő
- Költség
- kiadások
- Kereszt
- Jelenlegi
- Jelenleg
- szokás
- Ügyfelek
- ciklus
- dátum
- adattudós
- Döntéshozatal
- meghatározott
- Annak meghatározása,
- igazolták
- attól
- leírni
- Határozzuk meg
- eltökélt
- fejlett
- különböző
- tárgyalt
- különböző
- terjesztés
- domainek
- le-
- alatt
- e-commerce
- minden
- hatékony
- elemek
- lehetővé
- lehetővé teszi
- felöleli
- ösztönzése
- Mérnöki
- Környezet
- Minden
- minden
- példa
- Kivéve
- létezik
- várható
- feltárása
- megkönnyíti
- Visszacsatolás
- Ábra
- utolsó
- finanszíroz
- pénzügyi
- pénzügyi szolgáltatások
- következő
- Futball
- A
- talált
- ból ből
- funkció
- generál
- GitHub
- adott
- Csoport
- tornaterem
- kéz
- megtörténik
- Legyen
- hős
- itt
- Magas
- nagyon
- tart
- Holdings
- tart
- Hogyan
- How To
- HTML
- HTTPS
- végre
- végre
- importál
- in
- magában foglalja a
- Beleértve
- amely magában foglalja
- index
- ipari
- iparágak
- információ
- Infrastruktúra
- kezdetben
- kezdeményez
- példa
- utasítás
- kölcsönhatásba
- Felület
- Bevezetett
- leltár
- beruházás
- befektető
- Befektetők
- vonja
- IT
- ITS
- maga
- jpg
- Ismer
- legutolsó
- TANUL
- tanulás
- Hossz
- szintek
- található
- elhelyezkedés
- az
- Los Angeles
- Elő/Utó
- gép
- gépi tanulás
- csinál
- KÉSZÍT
- mód
- sok
- piacára
- Piaci árak
- maszk
- maszkok
- matematikai
- Mátrix
- max
- Maximize
- maximalizálásával
- maximális
- módszer
- mód
- minimum
- ML
- modell
- módosított
- módosítása
- Modulok
- pénz
- monitor
- több
- többszörös
- név
- Navigáció
- hálózat
- Új
- következő
- jegyzetfüzet
- szám
- számok
- számos
- számtalan
- tárgy
- célkitűzés
- megfigyelni
- kapott
- of
- on
- nyitva
- optimálisan
- optimalizálás
- Más
- Eredmény
- teljesítmény
- saját
- tulajdonú
- paraméterek
- Múló
- Teljesít
- időszak
- időszakok
- Plató
- Platón adatintelligencia
- PlatoData
- politika
- portfolió
- lehetséges
- állás
- ár
- Áraink
- Probléma
- problémák
- folyamat
- szakmai
- biztosít
- ellátás
- vásárlások
- mennyiség
- Kérdések
- véletlen
- RAY
- Olvasás
- való Világ
- feljegyzett
- kifejezés
- iktató hivatal
- összefüggő
- megmaradó
- képvisel
- képviselők
- képviselő
- megköveteli,
- lakó
- Tudástár
- eredményez
- visszatérés
- Visszatér
- Jutalom
- Jutalmak
- Kockázat
- futás
- sagemaker
- eladás
- Tudós
- MAGA
- elad
- Eladási
- különálló
- Szolgáltatások
- készlet
- beállítás
- előadás
- mutatott
- Műsorok
- egyszerűen
- So
- eladott
- SOLVE
- Megoldása
- néhány
- Hely
- terek
- sebesség
- kezdet
- kezdődik
- Állami
- állomás
- Lépés
- megáll
- struktúra
- stúdió
- ilyen
- javasolja,
- Systems
- Vesz
- cél
- technikák
- teszt
- Texas
- hogy
- A
- Az állam
- azok
- Ezek
- Harmadik
- három
- háromdimenziós
- Keresztül
- idő
- nak nek
- Végösszeg
- szakmák
- Kereskedés
- Vonat
- kiképzett
- Képzések
- tranzakció
- tranzakciós költségek
- Tranzakciók
- átmenetek
- igaz
- kétharmadát
- típusok
- alatt
- egység
- egységek
- egyetemi
- Frissítések
- frissítve
- Frissítés
- frissítése
- us
- USAdollár
- használ
- érték
- Értékek
- keresztül
- illó
- Illékonyság
- őrzés
- Mit
- ami
- széles körben elterjedt
- lesz
- val vel
- dolgozó
- X
- te
- A te
- zephyrnet
- nulla