Empowering Robotics and STEM Diversity
Barnard Computer Science Seminar - Alex LaGrassa - Carnegie Mellon University - December 3, 2024
Estimated read time: 1:20
Summary
In an enlightening seminar at Barnard College, Alex LaGrassa, a PhD candidate from the Robotics Institute at Carnegie Mellon University, delves into the interplay between machine learning and robotics. Through the integration of limited data and resources, LaGrassa aims to enhance robot decision-making, focusing particularly on handling deformable objects like plants and cables. With a passion for inclusive STEM education, they lead initiatives to diversify AI fields. During the session, LaGrassa explains how robots can navigate incomplete information to make better decisions and highlights the importance of mentorship in technological advancements.
Highlights
- LaGrassa's research focuses on enhancing robotic decision-making using limited knowledge to handle tasks with greater efficiency. 🤖
- A passionate advocate for inclusive STEM education and diversity in AI research, LaGrassa leads efforts to engage underrepresented communities. 🌟
- Through mentorship programs, they aim to diversify AI by promoting undergraduate research involvement. 📚
- They discuss the concept of model preconditions in robotics, highlighting how robots make decisions with incomplete knowledge. 🧠
- Their innovative methods enable robots to use strategic data collection and task-specific learning to achieve tasks efficiently. 🚀
Key Takeaways
- Robots can learn their limitations to improve decision-making and achieve goals even with limited resources. 🤖
- Combining different resources can expand capabilities and enhance performance. 🔧
- Mentorship is crucial, as it helps nurture future researchers and enables diverse perspectives in STEM fields. 🌟
- Inclusive technology development allows various communities to contribute, reflecting diverse needs and insights. 🌍
- Expanding STEM education access can inspire and empower the next generation of innovators. 🎓
Overview
Alex LaGrassa opens the seminar by sharing their research on expanding robotic capabilities using a blend of machine learning and traditional robotics approaches. They aim to enhance robots' ability to manipulate complex objects like plants, despite having limited data and computational resources. LaGrassa's dedication to inclusive STEM education and mentoring shines through their work on diversifying AI research.
Focusing on decision-making under incomplete information, LaGrassa outlines how robots, much like humans, make choices based on available data and resources. They explain strategies to improve these decision-making processes by understanding model preconditions and utilizing multiple models to extend robots' operational capabilities.
LaGrassa emphasizes the importance of expanding access to STEM education, aiming to inspire and engage diverse communities in technological development. Their initiatives, like mentoring programs and educational courses, are designed to break barriers and encourage underrepresented groups to participate in shaping future technologies.
Chapters
- 00:00 - 01:00: Introduction and Speaker Background This chapter begins with an introduction by Rebecca Wright, chair of computer science at Barnard. She expresses excitement about hosting Alex LaGrassa, a PhD candidate at the Robotics Institute at Carnegie Mellon University. Alex's research focuses on integrating machine learning with classical robotics by enhancing and expanding robot capabilities through algorithm development.
- 01:00 - 06:00: Research Focus: Decision Making with Incomplete Knowledge This chapter discusses the challenges and solutions in teaching robots to manipulate complex and routine deformable objects such as plants, cables, and liquids, especially when there is limited access to data and computational resources. It also highlights the importance of inclusive STEM education and the role of the Paths to AI Research program in diversifying the field of AI by engaging undergraduates from diverse backgrounds in research. The chapter emphasizes the current work being done in the area of robots learning, showcasing efforts to bridge knowledge gaps while fostering community and educational growth.
- 06:00 - 09:00: Mentorship and Education The chapter titled 'Mentorship and Education' features a segment with Alex LaGrassa, who is introduced and acknowledges their advisor, Oliver Kroemer. Alex is a PhD candidate in robotics at Carnegie Mellon University in Pittsburgh. The discussion touches on the importance of recognizing the limits of one's knowledge to enhance decision-making.
- 09:00 - 15:00: Research on Robot Decision Making and Model Preconditions The chapter titled 'Research on Robot Decision Making and Model Preconditions' discusses the intersection of machine learning and classical robotics. The focus leans slightly more towards classical robotics, with a particular interest in plant manipulation. The chapter highlights the challenging problems within agriculture and the significance of working with deformable objects. It also mentions personal motivation for the research, inspired by the desire to automate work in a small vineyard with five grapevines.
- 15:00 - 21:00: Efficient Learning of Model Preconditions The chapter titled 'Efficient Learning of Model Preconditions' addresses the challenge of making decisions when faced with incomplete knowledge. It highlights the significance of undergraduate research in fostering essential skills like critical thinking and problem solving, which are crucial for technological advancement. The narrative emphasizes the human aspect in the context of decision-making processes.
- 21:00 - 30:00: Combining Multiple Models for Better Decision Making The chapter emphasizes the importance of global collaboration in research and the role of mentoring in personal and professional growth. It highlights a personal experience from high school where the speaker first learned how to conduct research as part of their education, showcasing the foundational role of early mentorship in developing research skills.
- 30:00 - 40:00: Model-Free and Model-Based Planning The chapter discusses the speaker's journey to Columbia University at the age of 15 to engage in chemistry research. They focused on understanding the underlying chemistry of a system and how it affects its physical properties. This experience was valuable to the speaker, leading them to want to give back by involving undergraduates in research as a PhD student.
- 40:00 - 52:00: Adapting Models to Complex Environments The chapter discusses a program called 'Paths to AI Research,' which is a mentorship initiative designed to connect undergraduate students interested in AI research with graduate students. This program aims to provide undergraduates with insights into the research process and encourage inclusive participation in technological development. The main emphasis is on fostering involvement and diversity in shaping the future of technology through mentorship and guided engagement in AI research.
- 52:00 - 60:00: Task-Guided Model Generation The chapter discusses the inclusivity of computer science, emphasizing that it is a field open to everyone regardless of their background or identity. It highlights the importance of diverse perspectives in addressing real-world problems. The speaker shares a personal reflection on their own identities, being queer, non-binary, neurodivergent, and disabled, and how these experiences influence their approach to research.
- 60:00 - 70:00: Future Research Directions and Values The chapter titled 'Future Research Directions and Values' focuses on technological development and collaborations. The speaker emphasizes the importance of making the talk accessible and encourages the audience to engage with questions and discussions. However, more in-depth discussions are reserved for the end of the talk. The speaker intends to move around the room to facilitate interaction.
- 70:00 - 88:00: Q&A Session In the chapter titled 'Q&A Session,' the speaker expresses openness to audience engagement during talks, appreciating the use of Zoom for accessibility. They emphasize their non-research work, particularly highlighting an introductory programming course that uses robotics. This ambitious course aims to teach individuals with no prior coding experience to program a robot to move objects within the first two hours, utilizing a web-based platform.
Barnard Computer Science Seminar - Alex LaGrassa - Carnegie Mellon University - December 3, 2024 Transcription
- 00:00 - 00:30 [Rebecca Wright] Welcome everyone! I'm Rebecca Wright chair of computer science at Barnard and we are really excited to have with us today Alex LaGrassa. Alex is a PhD candidate in the Robotics Institute at Carnegie Mellon University researching methods that combine machine learning uh with classical robotics by quantifying and then expanding robot capabilities. Alex develops algorithms that
- 00:30 - 01:00 equip robots with the intelligence to manipulate challenging but common deformable objects such as plants cables and liquid with limited access to data and computational resources they are also passionate about inclusive stem education um so that all communities contribute to shaping techn technological development and towards this goal they lead paths to AI research a mentoring program that aims to diversify AI by introducing undergraduates from a wide range of backgrounds to research and we're uh really excited today to have them talk about their work on robots learning
- 01:00 - 01:30 the limits of their knowledge for better decision-making thank you. [Alex LaGrassa] Thank you for the for the introduction. My name is Alex LaGrassa and I use they them pronouns. This is my lab and that's me right there and I'm advised by Oliver Kroemer who's the the person in green right there and I'm a PhD candidate in robotics at Carnegie Melon in Pittsburgh.
- 01:30 - 02:00 My research is at the intersection of machine learning and classical robotics maybe leaning a little bit more towards the classical robotic side and what I've been really excited about recently is plant manipulation because it has a lot of really challenging problems within it and agriculture is incredibly important and deformable objects are ubiquitous in our lives on the right is another inspiration for this work which is one of my five grape vins I have a small vineyard and I would really like to automate some of that work there uh and my research really
- 02:00 - 02:30 focuses on the problem of decision making with incomplete knowledge which is a lot of decision making um I'm really passionate about undergraduate research which is how I got here today um part of it is that it exercises some really critical skills for in for technological velopment such as critical thinking problem solving and uh humans are
- 02:30 - 03:00 naturally curious and I believe that research is a very natural extension of that Curiosity um but most importantly we're not doing research alone research is really a global effort and as part of that the relationships we build are really core to our growth so I think mentoring is one of the most important parts of research uh I actually got to experience this for the first time in high school where a New York City public high School taught us how to do research in our first year in uh in high
- 03:00 - 03:30 school and that's how I ended up across the street at Columbia University doing uh chemistry as a 15-year-old and I got to research the underlying chemistry of a system to understand how it affects its physical properties and participate in the research process this was incredibly valuable for me and as a result I really wanted to uh to give back and as a PhD student uh I've been focused on bringing other undergrad uh bringing undergrads into research so they can
- 03:30 - 04:00 find their mentors through a program called paths to AI research which is a mentor matching program for matching undergrads interested in AI research with grad students who can talk to them about what the process is like and that way they can engage in research in a way that includes everybody in shaping how technology develops um to that I think the main takeaway I would like for uh people to
- 04:00 - 04:30 get from uh well one big takeaway i' like people to get from this talk is that computer science is for everybody there aspects in real world problems that everyone can contribute to um and this is this is also a not just abstract for me this is also quite deeply personal I do come from several communities that are heavily uh underrepresented in uh in Tech I am a queer non-binary neurod Divergent uh and disabled and these identities have really shaped how I view research
- 04:30 - 05:00 technological development and collaborations as such it is important for me that this talk is accessible to to you there will be uh I may ask a few questions to see where people are at in following some ideas I think are important and also you're welcome to interrupt me at any point for clarifying questions although I do ask for more discussion back and forth for that to wait until the end of the talk accordingly I will move around the room a little bit and you're also very
- 05:00 - 05:30 welcome to do that as well I will not be offended um in fact I think it's good for engagement much of the time and relatedly thank you so much for setting this up on Zoom it's another way of making these talks more accessible I'd like to highlight some of the non- resarch work I do towards these values one that I've been really excited about is this introduction to programming through robotics course this was a somewhat ambitious attempt to bring people that have never done coding before to programming a robot to move objects in their first two hours and we do this on a web- based
- 05:30 - 06:00 interface so that as many people as possible can participate uh and lastly I've had the privilege of working with the girls of Steel robotics team which is an all girls and gender minority robotics team based out of Pittsburgh where they build a cool robot that does some really uh challenging tasks for basically a sports competition uh and I'm really proud of them and got to see how many of them grow over the years so it's still um then moving towards my research again
- 06:00 - 06:30 the cruxs of my research is decision- making with incomplete knowledge we have a lot of decisions to make in our lives so I'm going to we think of a difficult decision that youve made recently and much of the time for that decision you didn't have all the knowledge that you would like to have this is a sample scenario for people to think of so suppose you uh one of your
- 06:30 - 07:00 classmates or colleagues is starting a nonprofit and this is a big investment you're not sure whether to help out with that or if you'd like to stay on your current path perhaps in Academia in order to make this decision you have resources available to you you can do internet research uh you can talk to people however making these decisions takes resources and time so you're doing this with limited knowledge and with limited resources very similarly robots also do this they also have to make decisions where to go what to do um from
- 07:00 - 07:30 the sometimes even the the low-level decision so what the motors do and they have some knowledge as well which is different from how we think so they might have Maps they do their thinking on the computer and they also may have some Physics reasoning but they also have incomplete knowledge both humans and robots make decisions the best they can with the knowledge they have available this brings me to the main two questions of my research the first is how can robots make
- 07:30 - 08:00 decisions to achieve goals with limited access to knowledge and resources such as data and compute and then how can they adapt their decision-making as they have access to uh different sets of resources and knowledge sometimes it increases sometimes it decreases and I also am interested in thinking about how we do that as humans so we can also learn from the decisions we make for
- 08:00 - 08:30 robots these are the uh some of the takeaways I'd like everyone to get from the talk um first is that the idea that we in robots can learn what our limitations are in order to better achieve goals in order to do more the second idea is that when we have limited resources we can combine them to be able to achieve more and to be able to do it so better and lastly is we do learn and grow throughout our lives uh and the idea of ways of expanding uh
- 08:30 - 09:00 capabilities in order to achieve tasks and adapt to new needs I do expect everyone to uh I do expect everybody to reach these talk objectives uh however there will be a couple points that may require some more background knowledge I'll try to keep these brief and I'll indicate that with a a sneak peek icon um but the talk is geared to be accessible
- 09:00 - 09:30 to all audience members right with that I'm going to go into the context for my research which is what a using models for decision making a model is a in this context is it's a function that looks at the state of the world um which can be for instance a description of all objects and positions but it can be something more General and then predicts given a action that the robot takes where the robot will end up uh in this illustrative
- 09:30 - 10:00 example it's moving to the right and uh moving down and then uh okay there's a bug um if it moves to the right then we expect the robot to move to the right so this is actually an example of a an inaccurate model um when you're planning you're deciding which actions the uh to take in order to achieve a goal so suppose a a robot or an agent well in this case it would be you you're deciding how to get to a location to get a cake you might choose to
- 10:00 - 10:30 take the six local you may choose to take the six Express and that will affect how you get to the location um your goal is generally to find a path to the goal but you may also want to find the shortest path um in for robots oh yeah so this is an examp another example of incomplete knowledge so we have this robot we have the model in this case what should the robot take to get to
- 10:30 - 11:00 the cake um describe with the arrows or right left yep just go right now I'm going to so you predict that the robot will go right using your intuition and now let's complicate things a little bit now there's a portal and you don't know where uh where the portal is going to take you um what action should the robot take to get to the cake question will the portal keep you on the grid uh see you're not guaranteed that information okay I've been that uh okay so going around
- 11:00 - 11:30 so and with limited information you can still make decisions to reach the goal and this is relevant to all of really all of life but especially in robotics because knowledge of the real world is incomplete uh this is that example I'm really excited about robot plant watering and there how does liquid interact with plants we don't even know that well let alone have robots reason about it a way of so now I'll talk shift into talking about a framework for
- 11:30 - 12:00 making decisions with limited knowledge so this relies on a idea called the precondition um raise your hand if you're familiar with a precondition from any other context um okay so I will describe here so a precondition is a condition something that needs to be true before something is used so if you're going to drink water from a bottle the cap should be off and there should be water
- 12:00 - 12:30 inside the bottle so these are preconditions models can also have preconditions these are the conditions where you can use a model to make predictions or just to use it in in this context more specifically it's the states or the states and actions where a model can be used to make this more concrete with a portal example you can trust the model in any space except for the one with the portal so the portal place would be outside the model precondition um
- 12:30 - 13:00 and I will give a robotics example next and then check comprehension here so suppose we have a model where it's something you can write pretty easily in Python where if the water is above the bowl it will end up in the bowl and if there's water that's outside of the bowl then it will uh then it will spill it will go outside of the bowl um so this isn't an accurate World
- 13:00 - 13:30 model um the model let's now let's add a plant um the model is accurate for a couple pores so an example here is the pore where it's under the leaves so that's in the model precondition where's an example of a scenario where we expect the action to and state to not be in the model precondition where would this model not work
- 13:30 - 14:00 where the leaves are the umbrell yeah so over the leaves for example can anyone think of any other examples okay um yeah yeah that could be in this scenario so we're making an assumption about the Cup being empty um so this is model preconditions this is kind of the the core of my of my research now I'm going to get more into to how we can do this in a less abstract sense so how can we quantify
- 14:00 - 14:30 the limitations of our knowledge in a way that is informed by data and that can guide decision making um the first project I'll talk about is um is how a robot can learn model preconditions with just a little bit of real world data a little real world data is especially important for robots especially with robots with um with water around it because there can be something dangerous happening or can just be inconvenient if you have to mop up a spill uh to make this more concrete
- 14:30 - 15:00 one method that I and some others have used to get traction is the idea of model deviation so model deviation is the distance between a the predicted next state when making a prediction and what the actual next state is then so in in the portal example we might have expected the robot to move on to here and then to address Brian's question in might end up off grid um and then the
- 15:00 - 15:30 deviation is one way of measuring that is with the distance we can then Define model preconditions as in math terms as States in action such that the distance between the prediction and the actual state is less than a threshold and this threshold is uh it's a practical measure of how much error the system can tolerate so this can be how much it can correct or how much is Just acceptable or just some really low number uh and as a result we have a nice concrete way of defining the model
- 15:30 - 16:00 precondition so the distance is lower than dmax then it's inside and if it's greater than dmax then it is outside think let's see all right questions about model preconditions and model deviation all right and is and Rebecca are you monitoring chat yes okay thank you so much okay now this doesn't uh one question you might have is that this might this isn't doesn't seem useful
- 16:00 - 16:30 because in order to do this we need to know what the state of the world is and if we already know that then why do we need the models well we don't know what the state of the world is so I frame this problem as learning what the deviation will be from data the problem is a supervised learning problem so that means that you have a input and you have a desired output the input is the state in the action and the desired output is is that distance and in your data you do know
- 16:30 - 17:00 what the next state is and you do know the model prediction then this this uh estimator predicts what the deviation will be for that state in action um which is a relatively easy learning problem in many scenarios um then you define the model precondition as this is the sneak peek math way of doing it it is probabilistic and it's the probability that the deviation is within the threshold and then you can reason about this um getting out of the sneak peek another way of
- 17:00 - 17:30 thinking about that is the inside is where the estimated deviation is probably lower than dmax then outside is that the deviation might be higher than dmax not that it necessarily is but that it might be and then when we're planning we would want to only use um only use knowledge where we know that it will be accurate which is inside that model precondition oh it doesn't show on the
- 17:30 - 18:00 screen it's interesting okay I'll just have to use my hand now if we're doing this and we're getting the real world data that makes it expensive because robot data is expensive so another thing that we care about is to be able to estimate this efficiently in a planning problem you have start States and you have goal States uh goal states are where you want to go and then you might have a little bit of data uh this the dash line shows what the estimate is so right now we can't connect
- 18:00 - 18:30 these these regions the problem cannot be solved so our goal is to expand this region we want to do so in a way that's data efficient so not collecting too many R World samples um a one way to do that is to ensure that it's relative that it's relevant to the task so we can do just paths to the goal or attempts to get to the paths to the goal we also want to cover more problems so cover a wide range of space and we want points that are inform if that actually bring us closer to being
- 18:30 - 19:00 being able to achieve goals this is a sneak peek of the intuition for it but hopefully some of it is accessible to everyone the key idea is that we want points that are uh low in estimated deviation and high in uncertainty it's the key principle it does get a little bit more complicated because a lot of decisions are sequential so if there's a really informative point but you can only get part way and then there's a deviation then you've not reached that that uh that point uh a the intuition
- 19:00 - 19:30 behind one way of addressing that is to weigh the importance of those later points lower and then hopefully it will be able to make good decisions um the way we evaluated this was to look at the success rate of achieving a task in this case it's a plant watering task with uh more data so x-axis is effectively data y AIS is success and we find that when we're using our method the the Top
- 19:30 - 20:00 Line we're able to achieve a higher success with less data than if we don't use uh that reasoning about the use the U usefulness and if we're not finding the pass to the goal we also try this on a real world watering task which is why there's much more uh uncertainty and we finally we're able to get 80% success uh success rate on plant watering when it was rarely able to do that before
- 20:00 - 20:30 with only about that was about four data points um so that's a that's a very useful thing to have and here's an example of the robot doing one of those uh plants where it avoids pouring over the leaves what we've learned from this is that it is possible to efficiently learn model preconditions using knowledge of the task and informed by what the deviation estimates are and we're able to get
- 20:30 - 21:00 that that nice real world result however in this work we're assuming that we can solve the problem with just one model um in this work I'll talk in the next work I'll talk about how we can expand what the what the robot can do first by adding more models and then by adding something different with human demonstrations the different models have different efficiencies and how it gets access to knowledge so suppose you're assembling a an Ikea cabinet you can look at the
- 21:00 - 21:30 manual and that will give you some information and then that will help you assemble it it might be faster where did the video go okay well uh but it might be faster to just watch a YouTube video and similarly when making decisions about water some models are really slow so simulators tend to be really slow and you might have some math models that are really fast it's just an equation with sometimes you can learn a model to make it more efficient and it's somewhere
- 21:30 - 22:00 in the in between um so my research is on how we can combine these models in order to solve more problems and also do so more efficiently now when we're dealing with multiple models then the problem of let's say there's a point that's outside the model precondition well now we can add another model and now we can solve more problems furthermore we can add models of different types so we can add a simulator which might be B to solve a large range of problems
- 22:00 - 22:30 however we know that the simulator is slow if we add a learned model that's maybe trained on some of that simulator data we might have something that can solve some of those problems but much faster for this project I was thinking about it in a uh a office cleaning up Tiding up domain where we have two math models very simple one where it's just pick in place and one that Recons about the drawer but uh the robot in the drawer but nothing else for more complex inter
- 22:30 - 23:00 interactions we we could use a simulator the uh complicated part about this uh about this domain is that the rod can rotate so the math model that just looks at Pi in place does not uh does not reflect that rotation which can lead to failure so if it uh plans with that assumption that it's rigidly attached you get interesting behaviors like this where it grasps the rod and then it accidentally Clos well uned closes the drawer with the rod so that's
- 23:00 - 23:30 an example where we would want to avoid model deviation however when we use our method with model preconditions we avoid that scenario so it picks uh scenarios that it picks States and actions that the model is that uh that it's accurate for and that also achieve High success um I just noticed that my laptop is not
- 23:30 - 24:00 charging just maybe that a table it's just yeah right thank you for that yep thank you okay all right uh another thing that we can do is we can reason about the speed So In classical planning there's some algorithms that if you select if you trial actions from a state it will let you uh compute a plan to the goal and
- 24:00 - 24:30 it find it guarantees that you'll find the plan if it exists and also that it's the lowest cost so this gives you a guarantee on the quality of the plan uh I was able to apply two tricks to switch off between models the first trick is quite straightforward which is for each uh state in action we we're predicting the next state we just pick the fastest model such that the model is in the precondition so if this is the fastest model FN uh and F0 all the way on
- 24:30 - 25:00 the left is the slowest and the checks and xes indicate which um if it's in the model precondition or not um raise one finger for use F0 two fingers for use F1 and three fingers for use FN okay yeah so we want to use f uh F1 since it's the the fastest that the uh that such but where
- 25:00 - 25:30 the model precondition still holds however we can make it faster by also just prioritizing search with faster models an example that illustrates this problem is we're trying all actions and let's say one of them is really slow and one of them is really fast to get these guarantees much of the time we need to wait for the slow model to finish Computing in order to continue the search and sometimes that can become a bottleneck so if we can reason about when we can find Optimal
- 25:30 - 26:00 paths to avoid the goal we can uh to avoid that to Optimal path to find the goal without using that slow part then we can speed up search and the intuition for how I did this was we have a CU so you can think of it as states that are waiting to be EV expanded or evaluated we can wait for those slower points to be evaluated later when we know that it will improve the quality right so this this was about how we speed up the searge so let's just make sure that this leads
- 26:00 - 26:30 to high success and also is fast so we do find that if we use both tricks that we achieve a high success compared to baselines and we also get the speed up compared to if we don't use those tricks so if we use the trick we get three compared to just the simulator is about 100 seconds which is about what like a um a little over 30X feed up and here's another sneak peek with this type of
- 26:30 - 27:00 planning you can get an optimality um you can get a upper bound on the suboptimality of the plants and the user can specify how much suboptimality is allowed while making these computational trade-offs going back to the big idea this is a way of combining incomplete knowledge in a way that gives us more reliable plants more efficiency and still gives us guarantees but we're still assuming that we can solve the problem with now our current models sometimes it's good to we can
- 27:00 - 27:30 try solving a problem with a method we know but to really grow we need to try learning new skills so for a while I was a believer in always just using models for planning since we understand them well but there was a big Trend in uh robot learning where a robot can just learn from data to their um so modelbased planning is what we showed before we have a model we send it to a planner which
- 27:30 - 28:00 gives us the action to take but in model-free planning we don't use a model instead we have a machine learning skill that goes directly from what the status to what the action is and generally the way one way it can work is by having a human demonstration where uh given the this the current state and maybe some image data a human shows what the robot it should do and then it learns what action it should take in those scenarios now there's a bit of a data problem here
- 28:00 - 28:30 where if we want to have something that works more generally then we need more data points which can be especially expensive with humans so having a smaller precondition and less data but still being useful is really important uh I'm going to show a demonstration of kind of the the training what the training looks like and then the testing so during training time the robot plants tries to execute its plan and then if there's a problem it will ask the human for help in order to patch what
- 28:30 - 29:00 the deviation is with that skill at test time then it either plans to the goal or to the be able to do the skill then executes the plan until it can't and then it executes the skill knowing it can to ground this in a real world in a a real example this is for a shape insertion task the left shows the robot planning um so kind of thinking about what going to do the robot tries to fit the block
- 29:00 - 29:30 into the hole but then it finds that it's not able to complete it and so at this point the human demonstrator takes over and completes the task by sliding it in that's that's the skill I get it eventually um then when we test out the method instead of trying to go directly into the hole it goes to the beginning of the skill which is kind of at the corner and then it slides it right into the hole so we can get better performance at test time so we get much higher
- 29:30 - 30:00 reliability compared to just doing pure imitation learning or planning with very little data we're able to get a high success rate again with about five demonstrations here um sometimes if we're lucky the robot doesn't even need to to learn a skill and this is something that this framework also addresses so if a robot was planning with a simple handle the we kind of we can expect this plan to work work um but if you switch it out with a decorative handle sometimes it will still work
- 30:00 - 30:30 uh and our method evaluated how reliable that was and decided no skill was needed in summary there's a we can patch modelbased planning to get the benefits of both with the demonstration and with efficient use of data um however we're still assuming that we're we're still using deviation to indicate whether the model is useful which if you think about it is not always the case and we're
- 30:30 - 31:00 also not really learning more from new data which is something that robots can do so finally I'll talk about some more recent work U which is on expanding what the the capabilities of robots the first is in well we can just gather more data this problem is on if we have a simple Model A simple learned model in this case how do we adapt it to a more complex environment let's say we have a simple uh rope model that we trained in a Sim and there's no obstacles but we want it to be useful
- 31:00 - 31:30 to hook a rope in an engine bay we want to focus on the parts of the D dynamics that it already sort of knows in order to expand it um however we may not be able to solve planning problems yet now we may have some goals where it's actually on the hook but right now it currently can't solve the problem this approach seeks to expand that model precond condition in the adapted learn model so
- 31:30 - 32:00 that way it can solve more of those planning problems in the complex domain the intuition for our approach is based on an idea from pedagogy some people call it the zone of proximal development where when a student is earlier in it uh in their learning they would might benefit from more help or lower difficulty tasks but if it's too if it's too difficult they may not progress and if it's too easy then they're they may get bored or may not learn much so the idea is to be
- 32:00 - 32:30 in that that sweet spot the um so we do this by prioritizing learning on points that are easier so that's described as low deviation in the Rope example low deviation means that it's uh usually in free space so it's not touching any obstacles but in some points it does have to touch obstacles we'll start with some parts that are similar which are easy some that are difficult and we'll start with the DAT the data in the easy region and some points may not be useful but we'll run
- 32:30 - 33:00 into them however uh the the darkness indicates how important the point is to uh to the learning right now over time by focusing on the easying easy points it eventually learns more so that more points become similar and then it iteratively becomes better at the task uh however it's it's we're not expecting this to learn over the whole the whole Space not all transitions there's still going to be some parts of the data that the robot is really bad at predicting so maybe Parts where
- 33:00 - 33:30 it snags on the on the engine and some difficult places this is where the model precondition becomes really helpful we don't need that to be able to solve problems we can just avoid the parts where it's uh snagging on the motor uh we wanted to make sure that we can achieve High success with small amounts of data so we tested success rate over data again here the method is called Focus because it's focusing on a region of space um we evaluated with uh mostly comparing using
- 33:30 - 34:00 this focusing versus using all of the data and we found higher uh higher sample efficiency on a uh in the engine bay um on the engine bay task when using our method and in a plant watering example we also found a similar Trend where it was all all methods were able to learn in this case but our method was able to do so more efficiently so in this work we've shown a way to do um a data
- 34:00 - 34:30 efficient adapting knowledge in a way that's data efficient and that if we get more data we can get improved performance by learning strategically the limitation in this work is that we're expecting that there's going to be some parts of the task that are quite similar and we're still using deviation to describe if the model is useful this NEX workk is a way of expanding in this it's only going to be one slide uh so all of this is kind of a peak this is really exciting work that I'm
- 34:30 - 35:00 doing with uh some students oh I should mention the last one is also a collaboration with the University of Michigan um they're they're great at rope uh rope manipulation uh this is a project also with the same lab different student and uh he he has a big very big ambition so um we eventually settled on this where we're doing task guided model generation uh we have a state okay the goal is we want to get a Dynamics model we want a model to do this prediction and we're making
- 35:00 - 35:30 this model we want the model to be efficient so not use too much compute but also still compute high quality plants our input is a description of the task so we want something that can generate these models from a description of the task um the way we describe the task and this relaxes that con that idea that deviation and success are the same because sometimes you can have a mistake and still make good progress towards your goal there's a lot of problems that are like
- 35:30 - 36:00 that so this this problem seeks to address that to make it a little bit more concrete this is a tree and we represent the tree with a graph and the idea is when it's when it only needs to move one branch we would hope that it doesn't need to model the UN unrelated parts of the tree with as many nodes so this can save us on computation in practice this is actually really complicated and
- 36:00 - 36:30 it depends on what the model you're using is so what we do is we have the robot practice it tries to plan and tries to achieve tasks and it does this a lot uh and it does it in simulation the then to do the model generation we use a diffusion model which is a technology you might have used to generate images based on a prompt but instead of generating images we're generating a model in the form of how we're simplifying this uh the tree so we specify a way of of simplifying it and then
- 36:30 - 37:00 that is generated in uh using the context where the context is what the task is so for this robot the task would be say where the tree starts where the robot is and where we want the tree to end up uh and so far we have some good promising we have promising results on this where it can get similar cost as the as a full model and we can get a a a reasonably significant speed up when using this method um so that that's just a sneak preview of a project I'm really excited about um then finally
- 37:00 - 37:30 I'll talk about some future research ideas I would love to uh discuss further with people if we are not already scheduled you can email me and these are all still in the idea of decision- making with limited models so uh starting off this is just kind of a high level idea of what I'm interested in which is the interplay between uh knowledge and decision- making and all of my uh my research
- 37:30 - 38:00 focuses on adapting knowledge to changing needs and resources some sub areas in that first is transferring knowledge in a way that's resource efficient from task to task and I'll go into more detail for each of these doing so in a way that's modular so we can add capabilities throughout the robot's life time or even throughout a Technology's Lifetime and finally is
- 38:00 - 38:30 in individualizing the capabilities of the robot in a way that's it keeps the human in the loop so the robot can do what they want it to do or at least so they can understand the limitations that the robot has um really more important to me is actually the the values that I'd like to have my research and other work uh reflect so first is that I think we're I I really would like to move more towards uh Environmental sustainable technology and other sorts of technology that
- 38:30 - 39:00 benefits Humanity uh so this is somewhat on the application side I also would like to lower barriers to more people participating in uh in technology so robotics AI machine learning so I'd like to build in a way that includes more people and finally uh related to that is to use platforms so uh technology that everyone has access to so something that's low cost an open source so anyone can build so first this is in uh adapting the robot's knowledge according
- 39:00 - 39:30 to to new needs and resource constraints um these I'm just going to describe a couple General ideas that hopefully can start some conversations later if you're interested so first is we have a model and we want it for specific use case so maybe we want to deploy it onto a uh a small device then we can still make it useful and shrink the model precondition and the question is how should we do this so that way it's still useful for the task and can still be deployed on um on a limited
- 39:30 - 40:00 compute the next direction is in um transferring from task to task this is something that builds pretty directly from the last project if you have a robot that can do a kiwis how well can it work on grapes and how can we facilitate that transfer or even if it's something it's very different so Recycling and there's some uh there's some technology from uh like the language models that we can leverage to make progress there and then finally is this one's more longterm
- 40:00 - 40:30 which is if we have general purpose models how can we find a smaller version that can achieve a specific task and create more of a general framework from that related to this is to add capabilities in a modular manner so we were always adding things that the robot can do so an example is let's say we we want to do a cost benefit analysis maybe we want to change a component
- 40:30 - 41:00 with an open source an open source component what how will that change our capabilities um this this comes from a there's some communities that are really uh passionate about creating open source technology that interfaces nicely with each other on both the on robotic side and also on the machine learning side um and there's some people that have started work on doing this but we're really at the very beginning of having modular technology for robotics that leverages machine learning um and the second research area is in combining different forms of
- 41:00 - 41:30 knowledge so the great can take on different forms and how can we U share this type of knowledge so that way we can leverage different forms of knowledge um this is so I think code for example is a very nice way code and natural language of combining say visual knowledge and um and more low-level uh more lowl tasks um and finally is how we can work together to add capabilities
- 41:30 - 42:00 to a system and so the the general idea here is let's say we have people in a robot and people have an idea of what they want the robot to do and the robot doesn't really have an idea of what it can do but I'd like to build something for that but do it in a way that it can the robot and the human can communicate about this idea of model preconditions um there is some work on that of showing what the visualizing capability limitations in both Robotics and in broader
- 42:00 - 42:30 broader machine learning that we can build on and this one is a little bit more out there which is how we can individualize what the system can do not only what are the limitations but how can we move the system more towards the capabilities that the human cares about so that way it can act align with their interests and with their values and yes so this is the summary of some of the um research areas and the common values uh questions on uh clarifying questions on some of the future
- 42:30 - 43:00 work all right so finally I would like to thank my collaborators I've been able to work with a lot of great people across a number of different areas and different institutions uh and they've been really helpful for for mentoring me and teaching me how robotics ml research and we're able to make these projects and many others um possible so I thank them a
- 43:00 - 43:30 lot and hopefully you've also learned something from this as well and that we can make DEC good decisions with limited knowledge humans and robots can do this so hopefully you've gotten some of these takeaways so ways that robots and humans can use limited World Knowledge to solve tasks how combining capabilities can bring us closer to achieving tasks with limited resources and finally is finding strategic ways of growing capabilities to achieve
- 43:30 - 44:00 tasks um yeah so I'd love to keep in touch if we're not already scheduled to chat today there's different ways of contacting me if you'd like to uh discuss any of these uh any of these research ideas or connect on any sorts of shared values we have around inclusive undergrad research or uh robotic inclusive robotics uh education um I'll also be at the SIGCSE conference later this
- 44:00 - 44:30 week if anyone else will be there that's the end of my talk and uh happy to take longer questions now than. [Rebecca Wright] We have some time for questions uh if you're on zoom and would like to unmute and ask your question you can do that you can raise your hand first and we'll call on you um uh or uh if you want to type something to the chat we will uh read that for you and uh in the room of course you can use the traditional way of uh raising your hand go ahead. [Questions from audience] um I that's probably a basic
- 44:30 - 45:00 question what SE of sensors do these have typical is or or actually what like what we see on the screen or oh yeah um my robots actually don't use that much so I usually use cameras I'll put Azure connect cameras preferably two views the robot these robots happen to have really good s internal sensing so they can tell where the arm is and some amount of information about the forces sorry
- 45:00 - 45:30 oh and the scales there's uh to measure how much water came out yep it use scales thank you that's a lot okay sensors AR you mentioned like the tiny Mount to point on smaller devices uh what type are you like using like model compression methods or are you just designing like different like smaller um Sol I think actually my research would probably fall more into the once you have
- 45:30 - 46:00 compressed well starting with once you've compressed a model um describing the model pre the model limitations around that but I think the next step is to connect the capabilities and the model the model compression process so that graph Network the graph project is somewhat related to that of what can you remove that decreases the size of the model but also doesn't affect task performance too much Beyond
- 46:00 - 46:30 prediction I was wondering do you have a uh do you have a a question in mind about yeah I was yeah I was just wondering if um like in that kind of goal of trying to I guess prune away things that uh will allow you to compress like are you doing like quantization wear training are you doing like model printing uh to get that kind of lightweight kind of
- 46:30 - 47:00 uh while maintaining that high ACC yeah I think it would be important to explore different ways of bringing it down I think what would be the most interesting is connecting the uh what the model uh especially model pruning I think that one's something that's more straightforward of what that model affords to the task um and that way we can we can guide the simplification process if we can do just the generation that would be kind of a dream where we
- 47:00 - 47:30 don't have to simplify a model we can just start from the task and then generate the model and not have to compress anything I don't know how to do that that would be really cool hopefully we as Humanity can move towards that yeah that would help with your environmental sustainability point but not massive massive massive yes yes that is that is huge robot learning is really moved to moving towards we just need more data more compute at least my community is very very into that and
- 47:30 - 48:00 it's really even when you go outside when people think well the environmental impact of training these is significant at conferences actually when people ask that that question sometimes gets ignored I question for this the part of we're talking which I think it's an important problem in learning in general like learning from easier data points to generalize for harder examples can you go back to that side because you have two different problems and different
- 48:00 - 48:30 and what was the difference in the type yeah of the easy example what what's the difference between an easy example and a hard example the gap between that I think yeah this this is like a very um very practical way of doing it but I think it's a good start here we go okay uh in the results if you can go to the result oh in the results okay yeah like different yes
- 48:30 - 49:00 yeah these are two different problems that we tried it on the uh first is the that b manual rope manipulation a rope manipulation task in the engine bay so that's just a completely different task so we learned completely different models it's a different adaptation process we just deployed uh we tried the same algorithm in these two different domains M okay because the nature seems to be I'm the theor means and I was just curious in terms of what's the nature of the
- 49:00 - 49:30 examples of the EAS yeah so this actually um this is a place where it diverges somewhere based on the problem characteristics so in this problem it was able to eventually make progress uh so this was uh do I have no I don't have an image of that one it's pouring but when you get it wrong you can still make some progress which is why all of the algorithms eventually make progress whereas in that real world domain at least one of the baselines basically never solved the task
- 49:30 - 50:00 ever and that's because if it gets stuck in a particular way or if the model precondition so we're we this is like a under we're assuming that we do not want deviation at test time so if it cannot solve planning problems then it's not going to execute anything so if it never makes progress during training it will never compute a plan under the constraints the goal so that does change the it's a way that the problem character characteristics changing how the algorithm
- 50:00 - 50:30 behaves do you think there's a way to understand that impact and like fre guess what kind of problem space you're in that is oh yeah that that is the that's also the dream I did start a little bit of this in my uh in my masters where it was a question of what are the problem characteristics that lead best to good performance on De deep reinforcement learning and the I think one of
- 50:30 - 51:00 the key challenges is in describing what the task is describing what the constraints are there's been some progress in describing it with you feed an image to A system that has knowledge of the planner and then it can predict that it can uh solve the task itself but you asked something that was more um yeah there was another layer on top can you repeat the question please well I was just you know it seems like what was just coming out of this conversation
- 51:00 - 51:30 is that the problem characteristics have like deep impact on the performance of the approach right like your approach is is is doing better always but like just in general like problem characteristics have an impact on different approaches and I was just thinking out loud like is there is there a way or do you have ideas about a way where you could start to before you can start understanding like sort of the the shape of the way the learning is going to go how does like I give you R problem like are is this a good one an easy one bad one yeah
- 51:30 - 52:00 it's that that one's really interesting because there's a lot of factors at play there's some of it comes down to the optimization problem so if it a lot of it is if it's just spiky if there's and there's easy ways to get stuck and never make progress then it's a it's harder to do and then if there's something that's more smooth then it's more likely to make progress um so that's one but I think broader is really difficult especially when the yeah so spikes and spaces make problems
- 52:00 - 52:30 harder I think that's something that we've also we can characterize as problem difficulty there's some there's ways you can get it at from a learning theory standpoint um for this for the spikiness part there's a measure you can use of how much the function changes over a distance that you can use in some methods that make guar guarantees about controllers um what else but I
- 52:30 - 53:00 think for broader ones that's that that's quite open and I think largely will come down to do we have ways of specifying constraints and problems in a way that applies to a lot of problems so we can combine knowledge about performance of those systems back to those task specifications but yeah that is a very very interesting question all right [Rebecca Wright] Great thank you again Alex!