1 00:00:02,530 --> 00:00:08,710 Welcome to the last talk of the AI village from Fahid. 2 00:00:11,710 --> 00:00:14,050 I'll just let him take it away. 3 00:00:19,410 --> 00:00:25,130 Hello and thank you for joining this talk on the security issues and challenges in deep reinforcement learning. 4 00:00:25,930 --> 00:00:43,410 I'm Fahid Behzadan, I'm an assistant professor of computer science and data science at the University of New Haven and I also direct the Secure and Assured Intelligent Learning Lab, or SAIL for short, working on AI safety, security and applications of machine learning to cybersecurity and safety of complex systems. 5 00:00:45,710 --> 00:00:48,890 So here's the outline of my talk. 6 00:00:48,890 --> 00:00:52,870 I'm going to quickly go over the basics of deep reinforcement learning and reinforcement learning. 7 00:00:52,870 --> 00:00:56,850 There will be some math but I'll keep it to a minimum. 8 00:00:56,850 --> 00:01:09,010 Then we'll talk about vulnerabilities of deep reinforcement learning and whether deep RL is susceptible to classical adversarial machine learning attacks like adversarial examples and such. 9 00:01:09,010 --> 00:01:13,550 We'll talk about and develop a threat model for deep reinforcement learning. 10 00:01:13,550 --> 00:01:37,270 We'll identify different attack models, attack surfaces, we'll identify different types of vulnerabilities, and we'll introduce a number of attack mechanisms and corresponding defenses that have been developed in recent years. 11 00:01:37,270 --> 00:01:45,350 And we'll talk about the frontiers and areas of future research and work in this area. 12 00:01:45,350 --> 00:01:48,130 So just a quick overview. 13 00:01:48,190 --> 00:01:53,790 I assume most of the audience here is already familiar with the terminology used here. 14 00:01:53,790 --> 00:02:00,690 We can classify machine learning algorithms as supervised, unsupervised, and reinforcement learning algorithms. 15 00:02:00,690 --> 00:02:18,230 Supervised learning algorithms are those where the training data set includes labeled data, meaning that each data point in that data set comes with the correct label or the correct output expected from a model trained on that data set. 16 00:02:18,550 --> 00:02:29,010 Then there is unsupervised learning where clustering and anomaly detection and some other algorithms fall under where there are no labels available for data points. 17 00:02:29,010 --> 00:02:32,290 There's no feedback available on the data. 18 00:02:32,530 --> 00:02:37,070 However, the goal is to find some underlying structure in the data. 19 00:02:37,790 --> 00:02:46,570 And then there is reinforcement learning, which is concerned with the problem of sequential decision making. 20 00:02:46,570 --> 00:03:00,450 There's a reward system included in reinforcement learning, but there are fundamental differences between the settings of reinforcement learning and supervised learning, and that's why it merits its own category. 21 00:03:00,450 --> 00:03:03,190 We'll talk about those differences in the next few slides. 22 00:03:03,470 --> 00:03:14,490 So you can see the general settings of reinforcement learning, or in general, sensory motor agent problems and settings. 23 00:03:14,610 --> 00:03:21,230 In RL, we have an agent which is to be trained by a reinforcement learning algorithm. 24 00:03:21,230 --> 00:03:25,350 This agent interacts with the environment by performing some action. 25 00:03:25,350 --> 00:03:29,590 This action causes the state of the environment to change. 26 00:03:29,590 --> 00:03:33,950 Then the new state is observed by the agent. 27 00:03:34,050 --> 00:03:43,730 There's also some sort of reward associated with this change, provided or inferred by the agent based on this change in state. 28 00:03:45,790 --> 00:03:50,570 Well, you can think of this in terms of playing a game. 29 00:03:50,570 --> 00:04:04,190 The environment can be the game environment where different actions may result in scoring or loss of score, and the actions are, well, essentially the actions that the player can take. 30 00:04:04,190 --> 00:04:07,050 The state of the environment can be the state of the game. 31 00:04:07,050 --> 00:04:16,990 For example, in Breakout, the configuration of these breaks can be one of those where the agent is, where the ball is. 32 00:04:16,990 --> 00:04:25,750 If you recall the game of Breakout, of course, if you are old enough to remember Breakout, you're probably familiar with the dynamics. 33 00:04:25,750 --> 00:04:31,230 But you can think of any other game, and this setting still applies. 34 00:04:31,270 --> 00:04:32,410 What's the goal here? 35 00:04:32,410 --> 00:04:42,490 The goal is to learn how to take actions in order to maximize cumulative rewards, not instantaneous rewards, but cumulative rewards. 36 00:04:42,490 --> 00:04:48,510 So an RL agent is not just concerned with maximizing the current score. 37 00:04:48,510 --> 00:04:58,070 It wants to learn how to act so that at the end of the game, its total sum of rewards is maximized. 38 00:04:58,070 --> 00:05:00,110 What are the different applications of RL? 39 00:05:00,110 --> 00:05:14,030 Of course, game playing is well publicized because it's a very good testbed, and it has become one of the common testbeds and experimental settings for RL research. 40 00:05:14,030 --> 00:05:18,830 However, there are some major real-world applications for reinforcement learning. 41 00:05:18,830 --> 00:05:28,510 In essence, RL, or reinforcement learning, is the machine learning response to the need for data-driven control problems. 42 00:05:28,590 --> 00:05:30,530 Where do we encounter such problems? 43 00:05:30,530 --> 00:05:33,990 Well, in robotics, like autonomous navigation, object manipulation, and such. 44 00:05:33,990 --> 00:05:39,050 Algorithmic trading, this is one of the areas that my research group has recently become active in. 45 00:05:39,090 --> 00:05:48,750 Critical infrastructure controlling smart cities, resource allocation in smart cities, traffic management, intelligent traffic systems, smart grid management, and control. 46 00:05:49,090 --> 00:05:58,510 Healthcare, such as clinical decision making, this is actually one of the better known applications of RL in the real world. 47 00:05:58,670 --> 00:06:04,140 And other types of resource management and applications in operations research and such. 48 00:06:04,770 --> 00:06:18,430 So, RL is either envisioned or is already heavily adopted in various industries, many of which are critical and may become targets of malicious actions. 49 00:06:18,770 --> 00:06:22,270 Let's formalize the RL problem a little more. 50 00:06:22,270 --> 00:06:24,210 I'm just going to quickly go over this. 51 00:06:24,210 --> 00:06:28,190 There will be some math, but this is just to introduce the basic settings. 52 00:06:28,970 --> 00:06:37,770 The underlying framework to formulate the RL problem and provide a framework to think about and reason about the RL problem is the Markov decision process. 53 00:06:37,770 --> 00:06:39,190 Why do we call it the Markov decision process? 54 00:06:39,190 --> 00:06:46,910 Because it's based on the Markovian assumption, or the Markov property, which says the current state completely characterizes the state of the world. 55 00:06:47,110 --> 00:06:59,790 So, if you have the current state and you perform an action, the next state is only going to depend or be a function of the previous state and nothing before it. 56 00:06:59,790 --> 00:07:02,330 You don't need to know the history of the environment. 57 00:07:02,330 --> 00:07:09,270 All you need to know is what the previous state has been to infer what the coming state is going to be. 58 00:07:09,530 --> 00:07:18,750 Now, in Markov decision processes, a problem or setting is formulated by a tuple of five main parameters. 59 00:07:18,750 --> 00:07:21,310 One is the set of possible states, S. 60 00:07:21,310 --> 00:07:23,550 Set of possible actions, A. 61 00:07:23,910 --> 00:07:28,430 Distribution of reward given state action pair, or R. 62 00:07:28,430 --> 00:07:30,370 This distribution can also be a function. 63 00:07:30,370 --> 00:07:31,850 It doesn't necessarily have to be probabilistic. 64 00:07:31,850 --> 00:07:42,150 It can be just a function that tells you if at a particular state, S, I, an action AI is taken, then the reward is going to be, let's say, RI. 65 00:07:42,330 --> 00:07:54,910 Then there's transition probability, or transition dynamics, P, which represents the dynamics of the environment. 66 00:07:54,910 --> 00:08:00,470 Which state are we going to end up in if we are in a particular state and we perform a particular action. 67 00:08:00,470 --> 00:08:12,310 And there's finally a discount factor which defines how myopic the agent is, how much values, rewards that may occur further in the future, further down the line. 68 00:08:13,190 --> 00:08:20,510 Now, in general, the RL setting is based on the following process. 69 00:08:20,510 --> 00:08:26,410 At time step T equals zero, in the beginning, the environment samples initial state S0. 70 00:08:26,550 --> 00:08:33,430 Then, for T equals zero, this is a loop, until done, the agent selects action AT based on some criteria. 71 00:08:33,430 --> 00:08:39,910 It can be completely random in the beginning and then slowly becomes more targeted and more policy-driven. 72 00:08:39,910 --> 00:08:49,430 It performs some action, the environment produces a reward signal, and the next state, and the agent receives those signals. 73 00:08:49,430 --> 00:09:06,470 It may be partial, it may be incomplete, or it may be noisy, but the agent receives some signal resulting from the transition to the new state ST plus one, and a reward that has emerged from that transition and has resulted from that transition. 74 00:09:06,690 --> 00:09:12,910 Now, we define a new entity here called pi. 75 00:09:12,910 --> 00:09:20,430 A policy pi is a function, or a distribution in the probabilistic case, that maps from state to action. 76 00:09:20,430 --> 00:09:27,370 So, it tells the agent what action to perform given any state. 77 00:09:27,870 --> 00:09:36,070 And the objective is to find the optimal policy pi star that maximizes the cumulative discounted reward. 78 00:09:36,070 --> 00:09:39,330 We also call this return. 79 00:09:39,350 --> 00:09:45,490 So, cumulative, meaning the sum of rewards in the entire duration of interaction. 80 00:09:45,490 --> 00:09:54,130 It can be one episode of a game, it can be throughout the training period or training horizon, and it's discounted. 81 00:09:54,130 --> 00:10:00,750 This gamma is the discount factor that defines how myopic the agent is, or how much it values events that occur further down the line. 82 00:10:00,750 --> 00:10:10,790 It's typically a constant value between zero and one, and as you can see, as t increases, this gamma to power t decreases. 83 00:10:10,790 --> 00:10:25,890 So, the value, the preference, or the observed value of something that happens further down the line, which means with greater t, is going to decrease as t increases. 84 00:10:26,650 --> 00:10:32,670 So, again, the objective is to find the optimal policy pi star that maximizes this sum here. 85 00:10:32,670 --> 00:10:38,010 All right, we are going to quickly define two other definitions here. 86 00:10:38,290 --> 00:10:47,790 If we want to evaluate a particular state in these settings, one approach is to measure the value of that state using the value function. 87 00:10:47,790 --> 00:10:57,650 The value function of state s is the expected cumulative reward from following the policy pi from this state. 88 00:10:57,650 --> 00:10:59,890 So, let's assume we already have a policy. 89 00:10:59,890 --> 00:11:07,670 What will be the expected cumulative reward if you start in state s and keep following policy pi? 90 00:11:07,870 --> 00:11:20,490 Now, we also define a Q value, or a Q function, which tells us how good is a particular action A if it's performed in state s. 91 00:11:20,490 --> 00:11:36,810 In other words, if we are in state s, if the agent is in state s and performs action A, the Q value of this setting is the expected cumulative reward from taking action A in state s and then following the policy. 92 00:11:36,810 --> 00:11:42,170 Remember, the policy is a function that tells the agent what action to perform given any state. 93 00:11:42,170 --> 00:11:58,090 When the agent performs action A in state s, it goes into a state s prime, or the next state, and then we can use this policy function here to see what the action should be, what action should the agent take at that state, which takes it to another state, 94 00:11:58,090 --> 00:12:06,150 and then the policy is used to figure out the action to take in that state, and this goes on until the termination of the episode or the horizon. 95 00:12:06,350 --> 00:12:13,090 Now that we are familiar with the value function and the Q function, let's go a bit deeper. 96 00:12:13,630 --> 00:12:26,010 The policy pi, the value function, or the reward model are all functions. 97 00:12:26,210 --> 00:12:29,070 We want to learn at least one of these from experience. 98 00:12:29,070 --> 00:12:31,390 This is the essence of RL. 99 00:12:31,390 --> 00:12:50,230 If there are too many states, however, we cannot just tabulate everything and try to experience every state and the corresponding result from that state or that state and any action performed, because as the size of the problem, as the state space and the action space increase in settings like, 100 00:12:50,230 --> 00:13:00,330 let's say, playing GTA 5 or a self-driving navigation policy in the real world, these state spaces just explode. 101 00:13:00,450 --> 00:13:06,070 Dimensionality is too high and it's just not feasible to store every possible state. 102 00:13:06,070 --> 00:13:08,050 In those cases, we need to approximate. 103 00:13:08,190 --> 00:13:12,670 In general and traditionally, this is called RL with function approximation. 104 00:13:12,930 --> 00:13:23,950 If function approximation is done using deep neural networks, then we call the training setting or the RL setting deep reinforcement learning. 105 00:13:23,950 --> 00:13:25,550 The term is relatively new. 106 00:13:25,550 --> 00:13:35,170 It was, I believe, introduced in late 2013, early 2014 by me and David Silver and others at DeepMind in their DeepQ learning paper. 107 00:13:35,170 --> 00:13:37,190 However, the concept is not very new. 108 00:13:37,190 --> 00:13:44,610 That said, there have been fantastic and even mind-blowing advances in this area in the past three or four years. 109 00:13:44,610 --> 00:13:47,250 We'll talk about some of those as we move forward. 110 00:13:47,250 --> 00:13:51,850 A quick overview of the taxonomy of different RL approaches and RL agents. 111 00:13:51,850 --> 00:13:55,350 Remember, we have value, function, policy, and model. 112 00:13:55,350 --> 00:13:58,070 There are different approaches to solving the RL problem. 113 00:13:58,070 --> 00:14:02,630 Sometimes we just want to find a policy directly. 114 00:14:03,430 --> 00:14:10,990 The approaches that respond or satisfy that need are called policy-based RL. 115 00:14:10,990 --> 00:14:18,370 Sometimes we want to find a Q function or a V function first and then derive the policy from those functions. 116 00:14:18,370 --> 00:14:20,490 These approaches are called value-based. 117 00:14:20,490 --> 00:14:25,490 Sometimes we want to first learn the model of the environment and then solve the problem. 118 00:14:25,490 --> 00:14:27,230 These are called model-based approaches. 119 00:14:27,230 --> 00:14:33,310 Sometimes we don't have the model and we don't want to learn the model explicitly, and those are called model-free. 120 00:14:33,370 --> 00:14:49,770 When we're dealing with both value, function, and policy at the same time, in other words, we have one agent learning the value function, another learning the policy, and then contrasting those with each other in a kind of zero-sum setting. 121 00:14:49,770 --> 00:14:53,110 We call those actor-critic RL approaches. 122 00:14:53,110 --> 00:14:56,950 As you can see, there are different approaches to different settings and different problems. 123 00:14:56,950 --> 00:15:06,330 However, all of those can still be grounded on top of the Markov decision process framework and the general solution approach we looked at before. 124 00:15:06,350 --> 00:15:13,470 One of the better-known approaches to RL, which falls under the value-based approaches, is Q-learning. 125 00:15:13,470 --> 00:15:19,230 The objective in Q- learning is to derive the optimal policy pi star based on optimal Q. 126 00:15:19,230 --> 00:15:30,690 So the optimal Q is one that maximizes the value of each state and action. 127 00:15:32,110 --> 00:15:49,390 And from that point onward, with an iterative formulation based on Bellman equations or dynamic programming, it becomes possible to find this through bootstrapping and iterative re-estimation of the Q value. 128 00:15:49,490 --> 00:15:58,180 There are different approaches to Q-learning in large state spaces or large action spaces where function approximation is required. 129 00:15:58,690 --> 00:16:05,780 One such approach is to parametrize Q as s, a, and an estimation parameter theta. 130 00:16:07,070 --> 00:16:19,850 If we solve this parametrized Q function by neural networks, where theta corresponds to the neural network, the approach is called Q-networks. 131 00:16:19,850 --> 00:16:41,350 This solution approach was proposed very early in 2000s, even earlier, but was perfected in some sense in 2013-2014 by DeepMind, by David Silver and his team, which resulted in the proposal of deep Q-networks or QNs. 132 00:16:41,350 --> 00:16:44,390 So we're talking about deep networks. 133 00:16:44,390 --> 00:16:44,990 What does that mean? 134 00:16:44,990 --> 00:16:55,610 It means that these networks use deep neural networks, like CNNs, which help with both function approximation and also end-to-end feature learning. 135 00:16:55,610 --> 00:17:07,730 One of the advantages of deep learning is its superior performance in learning feature representations, especially from images. 136 00:17:08,630 --> 00:17:15,430 Now, for those of you who are more statistically oriented, you may have seen the term IID. 137 00:17:15,730 --> 00:17:22,930 It means that the data are independent and identically distributed. 138 00:17:22,930 --> 00:17:34,390 It means that one data point does not depend on another data point, and also each data point is equally likely to occur. 139 00:17:34,390 --> 00:17:37,630 These do not hold for the RL settings. 140 00:17:37,630 --> 00:17:44,170 A particular state, for example, is highly correlated with its previous state and action. 141 00:17:44,170 --> 00:17:45,150 Why does this matter? 142 00:17:45,150 --> 00:17:55,330 Well, a lot of our supervised and deep learning approaches are based on the assumption that the training data is IID. 143 00:17:55,330 --> 00:18:08,010 When this is not possible, what happens is, in response to this problem, what happened was the DQN approach introduced experience replay. 144 00:18:08,010 --> 00:18:25,990 It's like a bag of all data which is randomly sampled in each training iteration to reduce the correlation, the sequential correlation, the temporal correlation of data points, and also make it more likely for data to be evenly distributed. 145 00:18:25,990 --> 00:18:35,450 Also, to reduce the effect of oscillation during training, DQN uses fixed parameters for a target network. 146 00:18:35,450 --> 00:18:44,610 The target of optimization is fixed and is updated every few thousand iterations, so that reduces the oscillation problem. 147 00:18:44,610 --> 00:18:53,770 And, of course, the rewards are normalized to minus one to one to make sure the performance, the reward signals are bounded. 148 00:18:54,930 --> 00:19:06,790 Now, now that we have a preliminary understanding of deep reinforcement learning and one of its implementations, one of the parallel approaches called DQN, let's take a quick look at adversarial machine learning. 149 00:19:06,790 --> 00:19:13,670 And I assume that by now, those of you who are not familiar with adversarial examples have become, have been introduced to this concept. 150 00:19:13,670 --> 00:19:21,430 The idea here in adversarial examples, we are now talking in the realm of, we are speaking in the context of image classifier supervised learning. 151 00:19:21,430 --> 00:19:31,270 Let's say we have an image classifier trained on a set of images of pandas, cats, and others to identify the object in those images. 152 00:19:31,270 --> 00:19:37,270 In the beginning, we pass the image of a panda to the classifier, and it correctly classifies it as panda. 153 00:19:37,450 --> 00:19:57,390 Now, it's been demonstrated, it's been actually established by now, that it is possible to make the classifier, to induce incorrect classifications in deep learning models or machine learning models in general by adding minute, minimal perturbations to the original image. 154 00:19:57,390 --> 00:20:05,850 As you can see, it's almost impossible to detect or see any changes in this final image. 155 00:20:05,850 --> 00:20:09,130 These perturbations, these pixel perturbations are very small. 156 00:20:09,250 --> 00:20:24,690 Now, this is one example of different attacks or different vulnerabilities in the classical realm of adversarial machine learning, which is mostly concerned with supervised learning and sometimes unsupervised learning. 157 00:20:24,690 --> 00:20:37,530 In general, the adversarial objectives in AML or adversarial machine learning can be classified under the traditional CIA triad, confidentiality, integrity, and availability. 158 00:20:37,530 --> 00:20:57,730 So, with respect to confidentiality and privacy, an adversary may wish to target the confidentiality of the model parameters, architecture, no intellectual property theft is an issue in larger models, or it may target the privacy, the adversary may target the privacy of the training and test data. 159 00:20:57,850 --> 00:21:14,130 If medical, for example, if medical records were used in the training data, there have been proof of concept attacks showing that it is possible to infer whether a particular patient or the records pertaining to a particular patient were used in the training data or not, 160 00:21:14,130 --> 00:21:19,130 or sometimes it's possible to reconstruct the training data set by just having access to the model itself. 161 00:21:19,130 --> 00:21:21,590 And that is a major HIPAA violation. 162 00:21:22,070 --> 00:21:24,650 In essence, it's a privacy violation. 163 00:21:24,990 --> 00:21:35,150 Also, with regards to integrity and availability, the attacker may target the integrity of predictions or the outcome of the model, the performance of the model. 164 00:21:35,330 --> 00:21:42,930 For example, adversarial examples are an attack on the integrity of image classifiers or supervised machine learning models. 165 00:21:42,930 --> 00:21:54,130 And also an adversary may target the availability of the system that is deploying machine learning, for example, a facial recognition system or an autonomous navigation system in a driverless car. 166 00:21:54,450 --> 00:22:10,810 Now, now that we know so much about adversarial machine learning and security vulnerabilities of classical machine learning, supervised learning and unsupervised learning, there is a major question. 167 00:22:10,810 --> 00:22:14,910 And it's whether deep RL is immune to those attacks. 168 00:22:14,910 --> 00:22:27,030 Back in 2016, late 2016, when the research community was just beginning to start, was just beginning to pay attention to both deep reinforcement learning and the issue of adversarial examples. 169 00:22:28,110 --> 00:22:39,650 I came up with this question and decided to experiment with it a little to find out whether deep RL can also be vulnerable to such attacks. 170 00:22:39,870 --> 00:22:42,210 I started from a simple observation. 171 00:22:42,210 --> 00:22:51,010 The deep neural networks in DQN models and classifiers are both function approximators, are both at training time, there are function approximators at test times or just functions. 172 00:22:51,810 --> 00:22:54,650 And I came up with this hypothesis. 173 00:22:54,650 --> 00:23:02,750 If classifiers are vulnerable to adversarial examples, then action value approximators of DQNs may also be vulnerable. 174 00:23:02,790 --> 00:23:03,690 All right. 175 00:23:03,750 --> 00:23:14,170 So I started to set up an experiment where the aim was to perform adversarial attacks. 176 00:23:14,170 --> 00:23:17,490 The adversary's goal was twofold. 177 00:23:17,490 --> 00:23:20,970 Test time attack to perturb the performance of target's learned policy. 178 00:23:20,970 --> 00:23:33,810 So the target at this point is fully trained and is deployed in the environment and the adversary wants to somehow cause the agent to perform incorrectly, to manipulate its policy. 179 00:23:34,890 --> 00:23:37,490 What does the adversary know about the target? 180 00:23:37,490 --> 00:23:39,370 It knows the type of input to the target. 181 00:23:39,370 --> 00:23:46,930 For example, it knows whether the target policy is looking at image data, text, audio, and such. 182 00:23:46,930 --> 00:23:47,190 Why? 183 00:23:47,190 --> 00:23:49,790 Because it helps with estimating the architecture. 184 00:23:49,790 --> 00:24:00,090 For example, if it's images, the adversary can come up with a good guess that the target architecture includes CNNs or convolutional neural networks. 185 00:24:00,090 --> 00:24:02,890 I also assume that the adversary knows the reward function. 186 00:24:02,890 --> 00:24:12,810 So the adversary may have access to the environment and if it's, for example, a game environment, it knows what the scores are, how the scores are generated. 187 00:24:12,810 --> 00:24:13,890 What is not known? 188 00:24:13,890 --> 00:24:18,330 The knowledge of target's neural network architecture is not known. 189 00:24:18,330 --> 00:24:21,130 So it's a black box attack. 190 00:24:21,130 --> 00:24:28,150 And also the initial parameters, the initialization of the target neural network is also not known. 191 00:24:28,150 --> 00:24:30,810 What is available to adversary in terms of actions? 192 00:24:30,810 --> 00:24:36,610 The adversary may perturb the environment where the target performs. 193 00:24:36,610 --> 00:24:43,210 For example, it can change pixel values in a game environment through a man-in-the-middle attack. 194 00:24:43,790 --> 00:24:49,890 I consider in this work two techniques for perturbing that environment. 195 00:24:49,890 --> 00:25:03,350 One is the classical fast gradient sign method for generating adversarial examples and the other is the Jacobian-based saliency map attack or the JSMA approach introduced by Paperno in 2015, I believe. 196 00:25:04,150 --> 00:25:18,250 Now, in that experiment, I used the classical DQN approach, the classical DQN architecture introduced by Nie in an Atari game, the game of Pong. 197 00:25:18,450 --> 00:25:22,230 And this was all implemented in OpenAI Gym with TensorFlow. 198 00:25:22,230 --> 00:25:27,650 Back then, PyTorch wasn't really and trained the agent against heuristic AI. 199 00:25:27,930 --> 00:25:30,730 And here's the initial proof of concept result. 200 00:25:30,730 --> 00:25:32,270 This is for the white box attack. 201 00:25:32,270 --> 00:25:34,950 Of course, later on, I will show you the results for the black box attack. 202 00:25:34,950 --> 00:25:59,390 And you can see that for FGSM and JSMA, regardless of how far along the training the agent is, both policies, the policy for the Pong agent is highly vulnerable to adversarial perturbations through simple techniques like FGSM and JSMA. 203 00:25:59,390 --> 00:26:04,210 You can see that for JSMA, the success rate was 100% for all of the cases. 204 00:26:04,210 --> 00:26:13,150 For FGSM, it was slightly lower and it was mostly because of the termination criteria and the perturbation threshold that I had defined. 205 00:26:13,150 --> 00:26:21,610 But you can see, it can be observed that the policy can be very easily manipulated through adversarial example attacks. 206 00:26:21,610 --> 00:26:37,290 So, at 100 random observations, perturbed with FGSM and JSMA, the results were fed, the perturbed images were fed to the trained neural network representing the agent's policy as test input, and then the success rate was measured. 207 00:26:37,370 --> 00:26:39,130 Now, is this type of attack practical? 208 00:26:39,130 --> 00:26:42,190 Is this really something that we should be worried about? 209 00:26:42,190 --> 00:27:03,510 So, a few years later, in 2018, Clark and his co-authors published the report of a similar attack on an autonomous robot based on DQN policy using ultrasonic collision, ultrasonic sensory input for collision avoidance. 210 00:27:03,510 --> 00:27:20,930 And they had shown that they can use adversarial perturbations to manipulate the trajectory of the robot and make it follow a path defined or desired by the adversary, not one that the robot itself wants to follow. 211 00:27:21,270 --> 00:27:29,050 There are more recent examples of how this sort of attack on deep RL, or in general, attacks on deep RL, can be of concern. 212 00:27:29,530 --> 00:27:39,830 One of the recent works by my graduate students is on attacks on automated trading algorithms based on reinforcement learning. 213 00:27:39,990 --> 00:27:50,030 The paper is coming out in a couple months, so I can't go into more details, but this is one of the more severe and urgent cases for security researchers to consider. 214 00:27:50,670 --> 00:27:57,470 Deep RL is already being used by many major financial players and stock traders, and it can be easily manipulated in the real world. 215 00:27:57,470 --> 00:28:07,590 There are other cases, of course, but this is one of the examples that demonstrates the practicality and the applicability of this attack to real world scenarios. 216 00:28:07,770 --> 00:28:13,670 Now, before we go further into different types of attacks, let's develop a threat model for deep reinforcement learning. 217 00:28:13,670 --> 00:28:18,190 Again, the adversary's objectives can follow those of the CIA triad. 218 00:28:18,190 --> 00:28:28,450 The adversary may wish to access the internal configurations, like model parameter, reward function, policy, and such, to still the model for intellectual property theft and such. 219 00:28:28,450 --> 00:28:35,410 There can be attack on integrity, which means compromising the desired learning or enactment of the policy. 220 00:28:35,410 --> 00:28:44,610 There can be attacks on availability, which are essentially compromises of the ability of the agent to perform training or actions when needed. 221 00:28:44,710 --> 00:28:47,290 Now, let's look at the attack surface of the RL. 222 00:28:47,290 --> 00:28:50,190 This is the general diagram. 223 00:28:50,190 --> 00:28:55,290 This is the general block diagram of a DRL agent or DRL system. 224 00:28:55,410 --> 00:28:56,770 Now, we have the agent. 225 00:28:56,770 --> 00:29:07,130 The agent typically has some memory where it stores its experiences during training, and then those experiences help with function approximation, data-driven policy learning, and such. 226 00:29:07,170 --> 00:29:14,830 And then there is an exploration controller, which controls how the agent explores the environment during training. 227 00:29:14,830 --> 00:29:20,650 There's an experience selector, how to select experiences from the bank of data or observations stored. 228 00:29:20,930 --> 00:29:28,830 In this data set, there is an actuator, which then enacts the actions of the agent inside an environment. 229 00:29:28,830 --> 00:29:36,650 The environment is connected back to this agent block through an observation channel, observation of the state, and reward channel. 230 00:29:36,650 --> 00:29:46,870 And it's of no surprise to the more seasoned security researcher and professional that all of these components can be a subject or target of attack. 231 00:29:46,970 --> 00:29:55,330 As we go forward, we'll cover some examples of attacks that can occur on each of these components. 232 00:29:55,350 --> 00:29:58,570 We've already seen an attack on the observation channel. 233 00:29:59,070 --> 00:30:04,570 There are attacks on the reward channel, which we'll hopefully touch on. 234 00:30:04,570 --> 00:30:08,870 And there are attacks on the agents during training and the actuator. 235 00:30:08,870 --> 00:30:11,210 Let me give you a quick example of the actuator attack. 236 00:30:11,210 --> 00:30:17,970 Let's assume we have a robot, an actual robot, learning to navigate in an environment while avoiding obstacles. 237 00:30:18,130 --> 00:30:41,430 If the robot commands or decides to, let's say, move the left wheel forward, but there is some sort of obstacle in front of the left wheel, and the left wheel doesn't actually move, then the actuator, the resulting data is going to be, the resulting observation is going to be skewed, 238 00:30:41,430 --> 00:30:54,670 because the agent is going to assume that the actuation has happened and then look at the changes in the observation and use that to retrain its policy, to optimize its policy based on faulty data. 239 00:30:54,810 --> 00:30:56,410 What are the adversarial capabilities? 240 00:30:56,410 --> 00:30:58,050 Well, we first look at different attack modes. 241 00:30:58,050 --> 00:31:08,490 The attacker can perform a passive attack where it's only observing the target, it's not changing anything, or it can perform an active manipulation. 242 00:31:08,530 --> 00:31:23,250 In passive attacks, the attacker can perform inverse reinforcement learning to learn about the reward function of the agent, or later on we'll see it can perform imitation learning to steal the policy. 243 00:31:23,830 --> 00:31:29,410 Active measures include attacks on the actuation, observation, or the reward channel. 244 00:31:29,410 --> 00:31:41,150 And attacks on observation can be targeting their representation model, how the agent sees the environment, or perturbing the transition dynamics, how the agent sees the changes in the environment. 245 00:31:42,050 --> 00:31:48,250 Okay, going back to our initial proof of concept, remember our original goal was to perform a black box attack. 246 00:31:50,650 --> 00:32:01,970 So, to achieve this objective, we introduce an approach based on the transferability of adversarial examples. 247 00:32:01,970 --> 00:32:09,050 So, we create a second DQN, the adversary creates a second DQN with similar architecture, but different initial parameters. 248 00:32:09,050 --> 00:32:19,830 When I say similar, it doesn't necessarily have to be a match, it just needs to be a convolutional neural network with some functional approximation techniques, but it doesn't need to have the same parameters or the exact same architecture. 249 00:32:20,650 --> 00:32:27,470 And it trains that agent, that model, on the same environment. 250 00:32:27,470 --> 00:32:38,910 The assumption is the adversary has access to that environment, and then uses the knowledge of that architecture and the trained replica policy. 251 00:32:39,210 --> 00:32:55,930 It crafts adversarial examples the same way it did for the white box case, and we know that many of those adversarial examples can transfer to similar models, train on similar data, which also you can see applies to DQN policies as well. 252 00:32:55,930 --> 00:33:00,870 And this is how we implemented a black box attack against deep RL policies. 253 00:33:01,430 --> 00:33:03,390 Now, what about training time attacks? 254 00:33:03,390 --> 00:33:18,410 In the same paper we introduced the policy induction attack, where the attack is of the adversarial example type against a DQN agent during training. 255 00:33:18,850 --> 00:33:22,110 Now, what are the different steps in this attack? 256 00:33:22,450 --> 00:33:36,310 First, the adversary derives an adversarial policy from the adversarial goal by training on the same environment where the target is going to perform or be trained in. 257 00:33:36,310 --> 00:33:52,050 So, if the adversary wants to minimize the reward gained in the game by the agent, then the goal, the optimization goal, is going to be the exact opposite of that of the target policy. 258 00:33:52,050 --> 00:33:55,630 The target wants to maximize the reward and the adversary wants to minimize it. 259 00:33:55,630 --> 00:33:58,730 Of course, there are different ways of formulating this adversarial goal. 260 00:33:59,790 --> 00:34:07,730 Then, the adversary creates a replica of target's DQN and initializes it randomly. 261 00:34:07,730 --> 00:34:24,590 And then comes the exploitation phase, where the attacker observes the current state and transitions in the environment, then estimates best action according to the adversarial policy derived in step one. 262 00:34:24,590 --> 00:34:33,430 Then, the attacker crafts perturbations to induce adversarial action based on the replica of target's DQN. 263 00:34:33,430 --> 00:34:37,150 This is exactly the same as our black box test time attack. 264 00:34:37,150 --> 00:34:41,550 The attacker applies the perturbation as a man in the middle in the observation channel. 265 00:34:41,650 --> 00:34:47,170 The perturbed input is revealed to the target and the attacker waits for target's actions. 266 00:34:47,530 --> 00:34:48,490 And this is a loop. 267 00:34:48,490 --> 00:34:58,790 This loop can go on until the training process of the target either converges to a suboptimal policy or up to a certain number of iterations. 268 00:34:59,470 --> 00:35:01,370 This is a very rough plot. 269 00:35:01,370 --> 00:35:25,310 This is not smooth yet, but you can see that the unperturbed agent moves towards... this is in the game of Pong still... moves towards convergence to an optimal total sum of rewards, while the attack agent moves towards a convergence to the minimum possible return of zero. 270 00:35:25,310 --> 00:35:35,330 It's getting closer and closer to zero, which indicates that the training process of DQN and DeepRL in general can also be targeted through adversarial attacks. 271 00:35:35,330 --> 00:35:39,330 Now, I'm going to introduce another type of training time attack. 272 00:35:39,330 --> 00:35:44,550 Again, this aims to induce some form of misbehavior. 273 00:35:44,750 --> 00:35:54,070 We call this misbehavior addiction, and this is a follow-up to a work I did with my colleague Roman Niempolski on psychopathological modeling of AI safety problems. 274 00:35:54,270 --> 00:35:56,070 This is a proof of concept. 275 00:35:56,070 --> 00:35:59,510 We consider the game of Snake. 276 00:35:59,510 --> 00:36:04,110 Many of you probably remember Snake from older Nokia phones. 277 00:36:04,310 --> 00:36:10,570 The DQN agent is a snake and is learning to play in this environment. 278 00:36:10,570 --> 00:36:19,910 The attacker adds a drug seed with more instantaneous reward than the typical seed, but it also results in more increase in the length of the tail. 279 00:36:19,910 --> 00:36:22,650 You can see that this can end up... 280 00:36:24,730 --> 00:36:41,790 well, if the increase in the tail length is more than a certain amount, then a longer-tailed snake is bound to eat its own tail sooner rather than later. 281 00:36:42,090 --> 00:36:59,970 So, we show that we actually derive some theoretical closed-form solutions for what the additional reward and increase in the tail length should be for addiction to emerge, meaning that the agent learns a more myopic policy instead of the optimal policy, 282 00:36:59,970 --> 00:37:11,550 and you can see that it's actually possible to make the agent addicted to the drug seed, as we call it, and this results in learning a sub-optimal policy. 283 00:37:12,390 --> 00:37:26,330 And, of course, due to time limitations, I'm going to introduce only one more type of attack, and it's that of targeting the confidentiality of a deep RL policy. 284 00:37:27,230 --> 00:37:34,010 The problem here is, or the question is, is it possible to extract a deep RL policy from observations of its actions? 285 00:37:34,730 --> 00:37:36,070 Why does this matter? 286 00:37:36,070 --> 00:37:42,170 Well, the security challenge posed by this sort of action is, of course, model theft. 287 00:37:42,170 --> 00:37:58,790 A company like Google or, let's say, Uber or Waymo may have spent billions or millions of dollars on coming up with a very accurate deep RL policy for autonomous navigation, and if it can be stolen by an adversary, then the intellectual property becomes worthless. 288 00:37:59,270 --> 00:38:12,310 And also, a stolen policy, an extracted policy, can be leveraged in integrity attacks in the same way that we mounted black box attacks on DQN policies. 289 00:38:12,750 --> 00:38:14,230 So, let's see. 290 00:38:14,230 --> 00:38:26,070 As it happens, a branch of reinforcement learning, or in general, one solution to the sequential decision-making problem, is not in the RL domain, but in the supervised learning domain, and it's called imitation learning. 291 00:38:26,070 --> 00:38:34,230 Imitation learning is the supervised learning of policies from observed behavior of an expert, and by behavior, I mean state action behavior. 292 00:38:34,230 --> 00:38:36,050 What is the policy of an expert? 293 00:38:37,490 --> 00:38:43,090 Based on this concept, in 2018, Hester et al. 294 00:38:43,410 --> 00:38:57,950 proposed DQFD, or DQ Learning from Demonstrations, which is DQN, where the initial training is done based on observed data using deep learning. 295 00:38:57,950 --> 00:39:08,030 So, they have data from human players playing a certain game, or human performance doing a certain task that they want the agent to learn. 296 00:39:08,030 --> 00:39:25,310 The initial step of training for a DQFD agent is supervised learning on observed data, and then it starts building on top of it through reinforcement learning approaches, and it was shown that it can result in faster convergence, better sample complexity, 297 00:39:25,310 --> 00:39:28,630 and sometimes more interesting and robust policies. 298 00:39:29,390 --> 00:39:34,250 As security researchers, you can probably see where this is going. 299 00:39:34,250 --> 00:39:41,830 This wonderful algorithm, DQFD, can also be used to replicate policies. 300 00:39:41,830 --> 00:39:50,010 Instead of applying it on observed data collected from human performance, it can be applied on observed data from a target policy. 301 00:39:50,110 --> 00:39:52,950 So, here's a proof of concept attack the procedure. 302 00:39:53,010 --> 00:40:14,270 The attacker observes and records n interactions of the SARSA type, state action, the next state, and the reward based on this transition of the target agent in a particular environment, and then the attacker applies DQFD to learn an imitation of the target policy and Q function. 303 00:40:14,310 --> 00:40:30,110 Now, at this point, the attacker may either just go away and sell the extracted policy, or it may decide to target it using different adversarial perturbation attacks, some of which we've covered so far in this talk. 304 00:40:30,850 --> 00:40:43,530 So, as a proof of concept, we consider a slightly less complex environment data cart poll, where the objective is to stabilize this poll on this cart by moving the cart to right and left. 305 00:40:43,530 --> 00:40:55,510 The reason for choosing a simple environment is merely economical, because we didn't want the experiments to take days or weeks. 306 00:40:55,510 --> 00:41:00,130 We start with a simple case, and we consider different types of policies. 307 00:41:00,130 --> 00:41:09,410 DQN with prioritized replay, an enhanced version of the classical DQN proximal, policy optimization, and asynchronous actor-critic. 308 00:41:09,830 --> 00:41:24,330 And, of course, we also train an adversarial RL agent, a DQN agent, whose objective is to incur maximum loss of reward, or in other terms, in more technical terms, maximize the regret of its target. 309 00:41:25,390 --> 00:41:26,730 And here are the results. 310 00:41:26,730 --> 00:41:43,570 First, with regards to replication progress, based on only 5,000 demonstrations, 5,000 state action, next state reward observations, we see that all three policies are almost exactly replicated. 311 00:41:43,570 --> 00:41:51,530 We can see convergence to the optimal performance of those policies in the environment. 312 00:41:52,030 --> 00:41:54,250 And then we perform adversarial training. 313 00:41:54,250 --> 00:42:10,630 We train an adversarial RL agent to attack and maximize the regret of those policies, and you can see that this can also be easily achieved within very few iterations of training in CardPol. 314 00:42:10,690 --> 00:42:33,310 I believe we can see that for PPO2, which is a somewhat robust deep RL algorithm or approach, it's possible to incur maximum damage or find a policy that incurs maximum regret on the target within 60,000 iterations, which is a relatively low amount. 315 00:42:33,310 --> 00:42:34,830 Now, what about defenses? 316 00:42:34,830 --> 00:42:51,350 So, of course, similar to adversarial examples, one approach or one technique for reducing the impact of adversarial example attacks is through regularization. 317 00:42:51,390 --> 00:43:11,750 And one common type of regularization in supervised learning for mitigating adversarial example attacks is adversarial training, training the model on adversarially perturbed samples to make sure that it sees different perturbations of the same image and knows that all of those results in the same label, 318 00:43:11,750 --> 00:43:13,230 in the correct label. 319 00:43:13,230 --> 00:43:18,790 This is called essentially data augmentation in general as a regularization technique. 320 00:43:18,850 --> 00:43:32,750 So in 2017, when I was just starting to look into this problem or this domain, I had gone through the adversarial training literature and thought that the same may also hold true for deep RL. 321 00:43:32,750 --> 00:43:35,510 I made a hypothesis, actually two. 322 00:43:35,570 --> 00:43:37,130 One is with regards to recovery. 323 00:43:37,130 --> 00:43:49,010 If training time attacks are not contiguous, if not all of the observations are perturbed, then DRL adapts to the environment and adjusts the policy to overcome the attacks. 324 00:43:49,010 --> 00:43:51,230 This is training time. 325 00:43:51,330 --> 00:43:54,370 And with regards to robustness, I made another hypothesis. 326 00:43:54,370 --> 00:44:01,050 Such policies, policies trained under attack are more robust to test time attacks. 327 00:44:01,130 --> 00:44:10,650 And this particular investigation is published in a paper titled whatever does not kill deep reinforcement learning makes it stronger. 328 00:44:10,850 --> 00:44:19,150 So similar as before, we are looking at DQN in Atari games, Breakout, Enduro, and Pong. 329 00:44:19,610 --> 00:44:26,230 Now, the way I designed the experiment was based on a probability of attack. 330 00:44:26,230 --> 00:44:35,210 So as an attacker, I assign a certain probability for each state, for each observation during training time to be perturbed. 331 00:44:35,610 --> 00:44:45,670 I perform experiments, different experiments with different values of this P attack, 20%, 40%, 80%, and 1, which means contiguous attack. 332 00:44:45,670 --> 00:44:54,420 And it's interesting to see that for values of P less than 50%, the agent actually recovers. 333 00:44:55,260 --> 00:45:12,060 But for values greater than 50%, the training process plummets and either does not converge or converges to a very, very low mean return value or mean total reward value. 334 00:45:12,060 --> 00:45:17,960 I later on publish a theoretical analysis of why this happens. 335 00:45:17,960 --> 00:45:24,040 It's available in my PhD dissertation, which I'll reference in the final slide. 336 00:45:24,360 --> 00:45:30,580 Also, it was interesting to see that the robustness is also, the robustness hypothesis is also true. 337 00:45:30,580 --> 00:45:46,840 You can see here that after training, if we attack the test time policy with probability of 1, the plane or vanilla policy, a policy that was not trained adversarially, performs very poorly. 338 00:45:46,840 --> 00:45:55,320 However, policies trained under adversarial attacks with probability 0.2 or 20% and 0.4 perform really well. 339 00:45:55,320 --> 00:46:02,540 For 80%, it's even for policies trained at 80%, as you can see, the policy itself is already performing very poorly. 340 00:46:02,700 --> 00:46:08,880 It's surprising to see that at P equals 1, the performance gets slightly better. 341 00:46:08,880 --> 00:46:10,600 It's comparable with 40%. 342 00:46:10,600 --> 00:46:14,400 To this day, I'm not entirely sure why this happened. 343 00:46:14,440 --> 00:46:17,320 I've repeated the experiments a number of times and still get the same result. 344 00:46:17,320 --> 00:46:18,540 I still don't know why this happened. 345 00:46:18,540 --> 00:46:26,500 This is one of the interesting problems that we are looking at right now as a research group. 346 00:46:26,680 --> 00:46:30,160 Another defense that we introduce is based on parameter space noise. 347 00:46:30,160 --> 00:46:32,020 This is very much like dropout. 348 00:46:32,260 --> 00:46:41,200 The idea of parameter space noise was introduced in 2017, I believe, independently by Plamper et al and Fortunato et al. 349 00:46:41,200 --> 00:46:53,120 And the idea here is, again, similar to dropout, to introduce zero mean random noise to the learnable parameters of neural network in deep RL to enhance exploration and convergence in deep RL benchmarks. 350 00:46:53,480 --> 00:47:21,600 Now, in another paper in 2018, we investigate whether this approach can be used to mitigate the impact or severity of policy manipulation attacks on DQN, and it was shown that it actually performs very well compared to vanilla or classical DQN. 351 00:47:21,840 --> 00:47:23,740 And these are the training time results. 352 00:47:23,740 --> 00:47:37,660 You can see that if noisy net is used, if parameter space noise is used, the performance degradation for all environments is at a much lower slope, at a much lower rate than the vanilla architecture. 353 00:47:37,940 --> 00:47:53,940 Finally, to have proposed a solution for the policy extraction problem, I, along with William Hsu at K-State, came up with the idea of watermarking DRL policies. 354 00:47:53,940 --> 00:47:57,320 Watermarking has already been introduced in deep learning in general. 355 00:47:57,320 --> 00:48:22,360 The idea is to come up with a unique signature that is both difficult to remove and does not impact the performance of the policy itself, or the model itself, but it still provides a unique signature, proof that a model is the same as another model, or is a replica of the suspected model. 356 00:48:22,360 --> 00:48:24,700 So we introduce an interesting watermarking procedure. 357 00:48:24,700 --> 00:48:30,700 I know it's arrogant of me to call my own work interesting, but I still get excited when I think about the moment I came up with this idea. 358 00:48:30,700 --> 00:48:36,760 The idea is to create a second environment whose state space is this drawing from the main environment. 359 00:48:36,760 --> 00:48:38,460 So, create an environment. 360 00:48:38,460 --> 00:48:45,560 If you're training an agent to play a game, let's create another environment which has no states. 361 00:48:45,560 --> 00:48:53,380 None of these states are the same as the original training environment, or deployment environment of the agent. 362 00:48:53,720 --> 00:48:56,800 But the dimensionality of the states are the same. 363 00:48:56,800 --> 00:49:09,580 So, if each state in the original environment is represented by, let's say, three values, three features, then each state in the second environment is also represented by three features. 364 00:49:09,580 --> 00:49:12,860 It doesn't really matter what the second environment looks like. 365 00:49:12,860 --> 00:49:17,940 It's just some other environment that the agent may interact with. 366 00:49:18,760 --> 00:49:26,700 And then, we craft the transition dynamics and reward procedure for the second environment such that the optimal policy follows a looping trajectory. 367 00:49:26,700 --> 00:49:39,320 So, an optimal policy for an agent trained in the second environment is going to be one that follows a loop, goes through, let's say, state one, then state two, state three, and then goes back to state one. 368 00:49:39,340 --> 00:49:44,800 During training, what happens is, we periodically alternate between the two environments. 369 00:49:44,800 --> 00:50:00,220 So, let's say, at every N iterations of the training process, we take our RL agent from the original environment, we drop it in the second environment, we train it for a few iterations, and then bring it back to the original environment. 370 00:50:00,460 --> 00:50:12,520 Now, once trained, if we want to examine the authenticity or whether a policy is copied or not, we apply the policy in the second environment and measure the total reward. 371 00:50:12,640 --> 00:50:13,660 Here's the experimental setup. 372 00:50:13,660 --> 00:50:17,040 Again, we are working with CardPool. 373 00:50:18,300 --> 00:50:36,020 So, the watermarking environment is defined with five states, states one to four, plus a terminal state, which should never be reached if the policy is optimal in this environment. 374 00:50:36,200 --> 00:50:44,360 And none of these states, as represented here, can be found in the original, can occur in the original CardPool environment. 375 00:50:44,360 --> 00:50:50,700 These are all highly impossible, not highly, definitely and absolutely impossible to occur in the original environment. 376 00:50:50,700 --> 00:50:54,120 As for the transition dynamics, this is how we've defined it. 377 00:50:54,120 --> 00:51:01,960 Let a particular state be A0 and A1. 378 00:51:02,760 --> 00:51:05,740 If we are, I'm sorry, actions. 379 00:51:05,740 --> 00:51:08,320 Actions A0 and A1. 380 00:51:08,560 --> 00:51:20,220 If the agent is in state I and performs action I modulo two, if I is even, this is going to be action zero. 381 00:51:20,220 --> 00:51:24,040 If I is odd, this is going to be action one. 382 00:51:24,040 --> 00:51:32,200 Then the next state is going to be state I star or I modulo four plus one. 383 00:51:32,200 --> 00:51:35,180 So, and it receives a reward of one. 384 00:51:35,180 --> 00:51:44,980 If the agent performs any other actions, instead of going from one to two, it performs any other action, it will immediately go to the terminal state and receives a reward of zero. 385 00:51:44,980 --> 00:51:50,580 So, the optimal trajectory is state one to two to three to four back to state one and so on. 386 00:51:50,760 --> 00:51:51,060 All right. 387 00:51:51,060 --> 00:51:52,720 Let's see how it works. 388 00:51:53,080 --> 00:51:58,280 Let's look at the test time performance comparison of watermarked and nominal, non-watermarked policies. 389 00:51:58,400 --> 00:52:05,760 The watermarked policy performs exactly as well as unwatermarked policies. 390 00:52:05,760 --> 00:52:12,840 It reaches the optimal or best performance of 500. 391 00:52:13,380 --> 00:52:21,620 And when it's applied to the watermark environment, the second environment, it also performs optimally. 392 00:52:21,620 --> 00:52:23,800 It gets the maximum reward possible. 393 00:52:24,180 --> 00:52:39,100 However, you can see that if we try to apply the non-watermarked policies to the watermark environment, we'll see very, very small values of score, the total reward. 394 00:52:39,100 --> 00:52:56,520 So, you can see that it's possible to determine whether a policy is authentic or not or whether a policy is an exact copy of another policy by just applying it to a second environment and see whether it performs optimally or not. 395 00:52:56,980 --> 00:53:03,360 Now, there's there are many other things that I really wanted to touch upon in this talk, but unfortunately we are a little short in time. 396 00:53:04,200 --> 00:53:18,040 For practitioners, it may be of interest to have some way of benchmarking or evaluating the resilience and robustness of policies and compare different policies, different approaches with regards to the resilience and robustness. 397 00:53:19,180 --> 00:53:26,180 Some of my work already introduces or proposes an RL-based approach to perform this evaluation and benchmarking. 398 00:53:27,300 --> 00:53:40,720 I've also done some work on investigating the impact of hyperparameter choices on resilience and robustness of DQNs in particular, but also other model-free and actor-critic approaches. 399 00:53:41,920 --> 00:53:49,960 This can be very helpful to those who want to engineer and design the new RL agents to be deployed in critical environments. 400 00:53:50,880 --> 00:54:01,920 Also, something that I wanted to mention, but unfortunately I don't have time to do so, is that adversarial training is not a silver bullet. 401 00:54:01,920 --> 00:54:06,220 It's not an answer to all of the problems in DQN agents. 402 00:54:06,220 --> 00:54:14,340 There are certain limitations for robustness and resilience obtained from adversarial training of DQN agents. 403 00:54:14,340 --> 00:54:24,580 And also adversarial training is very costly in general, especially when it comes to real-world scenarios, real-world environments and actions. 404 00:54:24,760 --> 00:54:39,240 And some of my recent work is focused on improving the sample efficiency and computational cost of adversarial training via a new exploration mechanism called adversarially-guided exploration, or AGE. 405 00:54:39,480 --> 00:54:43,580 All of this work can be found in my Ph.D. 406 00:54:43,580 --> 00:54:49,940 dissertation, which bears the same name as this talk, False Narcotic Star Security and Deep Reinforcement Learning. 407 00:54:49,940 --> 00:54:53,480 You can find it if you search my name on Google Scholar. 408 00:54:53,940 --> 00:55:02,540 If you're interested, of course, all of these are published in separate papers in slightly more details under the same titles. 409 00:55:02,740 --> 00:55:08,680 And finally, some of the open areas of research in this domain. 410 00:55:09,400 --> 00:55:20,040 With regards to training time resilience and robustness, not much has been done with regards to policy search and actor-critic methods, as well as model-based and hybrid methods. 411 00:55:20,040 --> 00:55:35,520 Of course, when we talk about model-based, there are some approaches from optimal control theory and approximate dynamic programming that may be applied here, but very few have looked at this problem from a security point of view. 412 00:55:35,520 --> 00:55:42,780 So if you're interested, this is one of the areas that is in dire need of a security-oriented investigation. 413 00:55:42,780 --> 00:55:49,080 As for mitigation of policy replication, one of the ideas that my research group is currently working on is constrained randomization of policy. 414 00:55:49,080 --> 00:56:03,280 So randomize the policy such that the replication through techniques like imitation learning becomes more costly, more samples, more observations will be required, while preserving the performance of the policy. 415 00:56:03,560 --> 00:56:06,380 There's almost no work done in multi-agent settings. 416 00:56:06,380 --> 00:56:21,260 Of course, adversarial reinforcement learning has been investigated in settings where there are zero-sum agents, but not really where there is an external adversary or adversaries trying to exploit the inner workings of the agents, the RL components of the agent. 417 00:56:21,960 --> 00:56:25,800 One more thing that is of note is the importance of discounting. 418 00:56:25,800 --> 00:56:34,700 The addiction problem that I demonstrated earlier in the snake agent is mostly due to the constrained discounting solution. 419 00:56:34,700 --> 00:56:39,140 For those of us who come from a reinforcement learning background, you're familiar with the basics of reinforcement learning. 420 00:56:39,140 --> 00:56:48,280 You probably know that the discount factor is typically chosen to be 0.99 or something in the same ballpark and is left the same. 421 00:56:48,500 --> 00:56:51,680 It's treated as a constant throughout the training process. 422 00:56:51,680 --> 00:57:01,880 But this is very far from how our brain works and very far from the optimal approach or accurate approach to discounting. 423 00:57:01,880 --> 00:57:21,590 Our research group has recently started looking into this problem and is working on developing adaptive discounting solutions to enhance the resilience and robustness of RL agents, particularly deep RL agents in complex environments for AI safety and security purposes. 424 00:57:21,960 --> 00:57:25,560 Now, of course, there are naturally inspired approaches that can be looked at. 425 00:57:25,560 --> 00:57:45,100 For example, approaches coming from, let's say, TD lambda models or dopamine models of psychopathological problems or neurological problems and the solutions prescribed to those, as well as approaches in social sciences, which may help with the security problems arising in multi-agent RL settings. 426 00:57:45,540 --> 00:57:47,280 Very well, thank you very much. 427 00:57:48,420 --> 00:57:53,140 And I believe at this time I should be available for your questions.