[
{
"content": "# Course References, Links and Random Notes \n### Probabilistic Reasoning and Reinforcement Learning\n### ECE 493 Technical Electives - Topic 25\n\n"
},
{
"content": "# Course Resources\n- Notes - https://rateldajer.github.io/ECE493T25S19/\n- Slides - see LEARN\n- This list of links:\n - As a tree: https://gingkoapp.com/UWECE657C\n - As plain HTML: https://gingkoapp.com/UWECE657C.html"
},
{
"content": "# Primary References for Course",
"children": [
{
"content": "## Primary References for Probabilistic Reasoning",
"children": [
{
"content": "**[Ermon2019]** - First half of notes are based on Stanford CS 228 (https://ermongroup.github.io/cs228-notes/) which goes even more into details on PGMs than we will.\n"
},
{
"content": "**[Cam Davidson 2018]** - Bayesian Methods for Hackers - Probabilistic Programming textbook as set of python notebooks.\nhttps://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/#contents"
},
{
"content": "**[Koller, Friedman, 2009]** Probabilistic Graphical Models : Principles and Techniques \nThe extensive theoretical book on PGMs.\nhttps://mitpress.mit.edu/books/probabilistic-graphical-models"
}
]
},
{
"content": "## Primary References for Decision Making Under Uncertainty",
"children": [
{
"content": "**[Dimitrakakis2019]** - Decision Making Under Uncertainty and Reinforcement Learning\n\nhttp://www.cse.chalmers.se/~chrdimi/downloads/book.pdf"
},
{
"content": "**[Ghavamzadeh2016]** - Bayesian Reinforcement Learning: A Survey. Ghavamzadeh et al. 2016.\nhttps://arxiv.org/abs/1609.04436"
},
{
"content": "**[SuttonBarto2018]** - Reinforcement Learning: An Introduction. Book, free pdf of draft available.\nhttp://incompleteideas.net/book/the-book-2nd.html"
}
]
}
]
},
{
"content": "# Other Useful Resources",
"children": [
{
"content": "## Reinforcement Learning Tutorial with Demo on GitHub\nThis is a thorough collection of slides from a few different texts and courses laid out with the essentials from basic decision making to Deep RL. There is also code examples for some of their own simple domains.\nhttps://github.com/omerbsezer/Reinforcement_learning_tutorial_with_demo#ExperienceReplay"
},
{
"content": "## Deep Q Network vs Policy Gradients - An Experiment on VizDoom with Keras\nA nice blog post on comparing DQN and Policy Gradient algorithms such A2C.\nhttps://flyyufelix.github.io/2017/10/12/dqn-vs-pg.html"
}
]
},
{
"content": "# Topics",
"children": [
{
"content": "## Alpha Go",
"children": [
{
"content": "### Alpha Go Documentary\nhttps://youtu.be/jGyCsVhtW0M\n"
},
{
"content": "Timepoint: Jump straight to the part of the Alpha Go Documentary where they explain the learning process Alpha Go uses. It also is the start of the first moment where the program does a creative move that humans did not expect.\nhttps://youtu.be/jGyCsVhtW0M?t=2834"
},
{
"content": "Analysis of What Alpha Go was \"thinking\" when it played Sedol Lee\nhttps://www.wired.com/2016/03/googles-ai-viewed-move-no-human-understand/"
}
]
},
{
"content": "## Bayes Nets",
"children": [
{
"content": "### Tools",
"children": [
{
"content": "**SamIam Bayesian Network GUI Tool**\n- Java GUI tool for playing with BNs (its old but its good)\nhttp://reasoning.cs.ucla.edu/samiam/index.php?h=emodels\n\n**Other Tools**\n- Bayesian Belief Networks Python Package :\nAllows creation of Bayesian Belief Networks\nand other Graphical Models with pure Python\nfunctions. Where tractable exact inference\nis used.\nhttps://github.com/eBay/bayesian-belief-networks\n- Python library for conjugate exponential family BNs and variational inference only\nhttp://www.bayespy.org/intro.html\n- Open Markov\nhttp://www.openmarkov.org/\n- Open GM (C++ library)\nhttp://hciweb2.iwr.uni-heidelberg.de/opengm/"
}
]
},
{
"content": "### References\n",
"children": [
{
"content": "Some videos and resources on Bayes Nets, d-seperation, Bayes Ball Algorithm and more:\nhttps://metacademy.org/graphs/concepts/bayes_ball"
}
]
}
]
},
{
"content": "## Likelihood, Loss and Risk",
"children": [
{
"content": "A Good article summarizing how likelihood, loss functions, risk, KL divergence, MLE, MAP are all connected.\nhttps://quantivity.wordpress.com/2011/05/23/why-minimize-negative-log-likelihood/"
}
]
},
{
"content": "## Conjugate Priors",
"children": [
{
"content": "https://en.wikipedia.org/wiki/Conjugate_prior#Table_of_conjugate_distributions"
}
]
},
{
"content": "## Multiarmed Bandits\n",
"children": [
{
"content": "### Multiarmed Bandit : Solving it via Reinforcement Learning in Python\n- Quite a good blog post with all the concepts laid out in simple terms in order https://www.analyticsvidhya.com/blog/2018/09/reinforcement-multi-armed-bandit-scratch-python/"
},
{
"content": "### Thompson Sampling\n- Long tutorial on TS: https://web.stanford.edu/~bvr/pubs/TS_Tutorial.pdf"
}
]
},
{
"content": "## Markov Decision Processes",
"children": [
{
"content": "### Domains",
"children": [
{
"content": "#### Gridworld\n- https://www.youtube.com/watch?v=xtJAGjY3SWY"
}
]
}
]
},
{
"content": "## Eligibility Traces",
"children": [
{
"content": "Eligibility traces in tabular setting lead to a significant benefit in training time in additional to the Temporal Difference method. \n\nIn Deep RL it is very common to use **experience replay** to reduce overfitting and bias to recent experiences. However, experience replay makes it very hard to leverage eligibility traces which require a sequence of actions to distribute reward backwards."
},
{
"content": "[Discussion about Incompatibility of Eligibility Traces with Experience Replay](https://stats.stackexchange.com/questions/341027/eligibility-traces-vs-experience-replay/341038)"
},
{
"content": "[Efficient Eligibility Traces for Deep Reinforcement Learning - \nBrett Daley, Christopher Amato](https://arxiv.org/abs/1810.09967)"
},
{
"content": "[Investigating Recurrence and Eligibility Traces in Deep Q-Networks -\nJean Harb, Doina Precup](https://arxiv.org/abs/1704.05495)"
}
]
},
{
"content": "## Value Function Approximation",
"children": [
{
"content": "### How to use a shallow, linear approximation for Atari\nhttps://www.amii.ca/the-success-of-dqn-explained-by-shallow-reinforcement-learning/\nThis post explains a paper showing how to achieve the same performance as the Deep RL DQN method for Atari using carefully constructed linear value function approximation."
}
]
},
{
"content": "## Direct Policy Search\n- Policy Gradients\n- Actor-Critic\n",
"children": [
{
"content": "## Policy Gradient Algorithms\nSome of the posts used for lecture on July 26.\n\n- A good post with all the fundamental math for policy gradients.\nhttps://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#a3c\n- Also a good intro post about Policy gradients vs DQN by great ML blogger Andrej Karpathy (this is the one I showed in class with the Pong example):\nhttp://karpathy.github.io/2016/05/31/rl/\n- The Open-AI page on the PPO algorithm used on their simulator domains of humanoid robots:\nhttps://openai.com/blog/openai-baselines-ppo/\n- Good description of Actor-Critic approach using Sonic the Hedgehog game as example:\nhttps://www.freecodecamp.org/news/an-intro-to-advantage-actor-critic-methods-lets-play-sonic-the-hedgehog-86d6240171d/\n- Blog post about how the original Alpha Go solution worked using Policy Gradient RL and Monte-Carlo Tree Search:\nhttps://medium.com/@jonathan_hui/alphago-how-it-works-technically-26ddcc085319"
},
{
"content": "## Actor-Critic Algorithm\nVery clear blog post on describing Actor-Critic Algorithms to improve Policy Gradients\nhttps://www.freecodecamp.org/news/an-intro-to-advantage-actor-critic-methods-lets-play-sonic-the-hedgehog-86d6240171d/"
},
{
"content": "## Cutting Edge Algorithms\nGoing beyond what we covered in class, here are some exciting trends and new advances in RL research in the past few years to find out more about.",
"children": [
{
"content": "### Policy Gradient Methods\nAs I said in class, PG methods are a fast changing area of RL research. This post has a number of the successful algorithms in this area as of a year ago:\nhttps://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#actor-critic"
}
]
}
]
}
]
}
]