### Modelos de eficiencia de datos para aprendizaje por refuerzo ##### Alumno: Diego Villegas Juarez ##### Tutor: Alfredo Garbuño Iñigo ##### ITAM --- En el aprendizaje por refuerzo tenemos tres componentes ![](https://i.imgur.com/hEDN0tE.png) Estos componentes definen un proceso de deciciones de Markov (MDP) --- ### Definiciones en un MDP #### Para un entorno de eventos $$(S_0,A_0,R_1),(S_1,A_1,R_2),(S_2,A_2,R_3) ...$$ Tenemos $$p(s',r|s,a)=Pr\{ S_t = s', R_t =r|S_{t-1}=s,A_{t-1}=a \} $$ y $$r(s,a,s') = \mathbb{E}\{ R_t | S_{t-1} = s, A_{t-1} = a \}$$ --- #### Para un entorno de eventos $$p(s',r|s,a) $$ Probabilidad de pasar a otro estado dado que estamos en cierto estado. $$r(s,a,s') $$ La suma de las recompensas de estados subsecuentes --- #### Retorno esperado $$G_T =R_t +R_2 + R_3 + ... + R_t$$ La suma de todas las recompensas. --- Función de poliza Se define a la función de póliza como $\pi$, una función que va de $A \rightarrow S$ para todo $a \in A$ y $s \in S$. --- Función de de valor Se define a la función de valor como $v_{\pi}(S)$ con $$v_{\pi}(s)= \mathbb{E} [G_t | S_t=s ]$$ Se define como el valor de ganancia que tengo dado que estoy siguiendo cierta función de póliza y me encuentro en el estado $s$ --- ## Ejemplo #### Camino más corto ![](https://i.imgur.com/zvvDwnk.png) --- #### Función de valor y póliza ![](https://i.imgur.com/DULDu77.png) --- #### Diferencia entre polizas ![](https://i.imgur.com/SyPs0nh.png) --- ### Póliza optima Definimos a una póliza optima sobre otra como $$\pi' \geq \pi \Leftrightarrow v_{\pi'}(s) \geq v_{\pi}(s) \ para \ todo \ s \in S $$ --- ## Método de Montecarlo Generamos pólizas aleatorias y analizamos la ganancia entre las pólizas viendo las funciones de valor. --- ## Algoritmo de Montecarlo ![](https://i.imgur.com/8wFkpag.png) [Reinforcement Learning: An Introduction, Richard S. Sutton. p92] --- ## Aplicación Juego Black Jack Simulación de la librería GYM en python ![](https://i.imgur.com/2gM0KDp.png) --- ## Aplicación Juego Black Jack ![](https://i.imgur.com/PfhnKjt.png) --- ## Resultados póliza optima ![](https://i.imgur.com/oUph0Gk.png) --- Próximos pasos: Revisar los métodos Aprendizaje de diferencia temporal que tienen como base los métodos Montecarlo y la programación dinámica. --- ## Referencias de la presentación [Reinforcement Learning: An Introduction, Richard S. Sutton, Andrew G. Barto, MIT Press, Cambridge, MA, 2018] [Udacity, Reinforcement Learning, https://www.udacity.com/course/reinforcement-learning--ud600] [Librería Gym python, https://gym.openai.com/] --- # Gracias --- We have a collaborative session please prepare laptop or smartphone to join! --- We have a collaborative session please prepare laptop or smartphone to join! --- ## Who am I? - Front-end developer - VSCode :heart: - I use tabs. :cat: --- ### 70% of our users are developers. Developers :heart: GitHub. --- {%youtube E8Nj7RwXf0s %} --- ### Usage flow --- ```graphviz digraph { compound=true rankdir=RL graph [ fontname="Source Sans Pro", fontsize=20 ]; node [ fontname="Source Sans Pro", fontsize=18]; edge [ fontname="Source Sans Pro", fontsize=12 ]; subgraph core { c [label="Hackmd-it \ncore"] [shape=box] } c -> sync [ltail=session lhead=session] subgraph cluster1 { concentrate=true a [label="Text source\nGithub, Gitlab, ..."] [shape=box] b [label="HackMD Editor"] [shape=box] sync [label="sync" shape=plaintext ] b -> sync [dir="both"] sync -> a [dir="both"] label="An edit session" } } ``` --- ### Architecture of extension --- ![](https://i.imgur.com/ij69tPh.png) --- ## Content script - Bind with each page - Manipulate DOM - Add event listeners - Isolated JavaScript environment - It doesn't break things --- # :fork_and_knife: --- <style> code.blue { color: #337AB7 !important; } code.orange { color: #F7A004 !important; } </style> - <code class="orange">onMessage('event')</code>: Register event listener - <code class="blue">sendMessage('event')</code>: Trigger event --- # :bulb: --- - Dead simple API - Only cares about application logic --- ```typescript import * as Channeru from 'channeru' // setup channel in different page environment, once const channel = Channeru.create() ``` --- ```typescript // in background script const fakeLogin = async () => true channel.answer('isLogin', async () => { return await fakeLogin() }) ``` <br> ```typescript // in inject script const isLogin = await channel.callBackground('isLogin') console.log(isLogin) //-> true ``` --- # :100: :muscle: :tada: --- ### Wrap up - Cross envornment commnication - A small library to solve messaging pain - TypeScript Rocks :tada: --- ### Thank you! :sheep: You can find me on - GitHub - Twitter - or email me
{"metaMigratedAt":"2023-06-16T10:51:38.878Z","metaMigratedFrom":"YAML","title":"Reinforcement Learning","breaks":true,"description":"second presentation![]","contributors":"[{\"id\":\"246f3df7-0e42-4476-a3cc-20d27c1aa19a\",\"add\":3400,\"del\":803}]"}
    228 views