The First Step
Wells Lucas Santo
Creator of The CRAIT ProjectWell, I finally did it. I finally decided to start working on my own AI textbook.
For those who don't know, this has been years in the making. I started developing educational materials for teaching artificial intelligence in 2017, eventually building out an entire curriculum for high school students that was used in summer programs across North America between 2017 and 2019. But even after receiving positive feedback from hundreds of students and dozens of CS professors, I was still unsure of the quality of my curriculum. There were far too many things about it that I felt had missed the mark or could have been improved upon, but I was constrained by my limited time and energy while working on too many other things at once.
It was in July 2019 that a professor brought up the idea of writing a textbook for the first time. We had just wrapped on one of our summer programs, and he let me know that my curriculum was something he would love to see in textbook form. At the time, all I really had were lecture slides, resources for instructors, and some Jupyter Notebooks for hands-on practice, but it seemed they were presented in a way that was particularly understandable and effective at introducing students to the world of artificial intelligence. Specifically, the curriculum I had developed was one that was up-to-date on the latest directions in the artificial intelligence and machine learning world and allowed high school students with zero background in computer science to discuss topics such as AI bias and use libraries such as scikit-learn and Keras for deep learning in a matter of weeks. Our organization marketed my curriculum as inclusive, accessible, and with ethics fully embedded throughout (as opposed to being tacked on as an afterthought), something that not many other AI courses or resources could say at the time. It made sense that I was in a great position to write an introductory AI textbook that could fill a gap in the AI education space.
By September 2019, I was unemployed. There are several reasons for why how quickly things changed over the course of a few months, but what mattered was that I was burned out and disillusioned in the work that I was doing. My doubts about the quality of my work got to me, and I needed time away from... just about everything. The last thing on my mind was writing an AI textbook. And even if the topic did come up, I dismissed it immediately as a fantasy—a delusion of grandeur. How could I, someone who doesn't even have a Ph.D. in the subject, write a textbook on it? Do I really, actually know anything about AI at all? I felt like a fraud, and I still do.
It took months to even start thinking about doing any sort of work at all, much less work involving tech. I talked a lot about self-doubt and self-worth in therapy, but even then it was hard to believe that I was ever a content expert on anything at all. I still question if I ever really was, or if I was just making it all up along the way. The reality, of course, is that a lot of folks are. Most things in tech are put together with duct tape, and nothing is perfect from the start. It takes years of iteration to develop the things we see around us, and what's important is taking the first step to get something started. And when it's just starting out, it's probably going to be bad. Like, really bad. And sometimes, that's fine.
Between September 2019 and December 2020, I still kept tabs on what was happening in the AI world. But time and time again, folks would ask me the same question: what would you recommend as a starting point for me to learn about AI, as well as the ethical issues with it? And I'd honestly struggle a bit to answer. While there are a ton of great resources such as Elements of AI, Coursera's Introduction to AI, and fast.AI, each one had benefits and drawbacks that made a recommendation incomplete. Beyond that, I couldn't in full faith recommend a single textbook for folks to look at (which, surprisingly, a lot of people wanted). The leading and most-used textbook in AI is and has always been Russell and Norvig, but I had various hang-ups with recommending this textbook. For starters, it's dated. A ton of the earlier chapters cover topics like logic and symbolic AI, which... I'm not even sure most folks working in the industry on AI projects these days are concerned about. A lot has shifted into the realm of machine learning, and we have common libraries like Scikit-Learn and TensorFlow that are in use that Russell and Norvig doesn't even make hands-on use of. Don't get me wrong, it's an incredible book with tremendous depth (that I could never match in my own writing), but it's just not the resource that some folks need to quickly understand what the state of AI is like today. We need something to help folks jump right into reading and writing code for and discussing the actual applications that are rapidly being developed every day. Practical, hands-on books like Hands-On Machine Learning with Scikit-Learn, Keras, & Tensorflow by Géron and Deep Learning with Python by Chollet are good for that, but they're definitely not accessible to folks outside of computer science and also jump right into the applications rather than spend time on the foundational theories and concepts. These aren't critiques of these books, by the way. These books fill a specific niche and use case, and I highly recommend them. It's just, for folks starting out with AI for the first time who want an introductory taste of the concepts and theories as well as some hands-on experience, we don't have a ton of good, comprehensive books for that.
Additionally, I'm someone who asserts that AI is political and a powerful tool that can be used to benefit or harm people at tremendously large scales. It has deep societal and ethical implications, and a lot of these texts... simply don't talk about these things enough. It's like teaching medicine or civil engineering without mentioning the lives at stake. In the past few years, there have been an increasing number of people concerned with these issues, and we've seen some courses and texts tack on something at the end about "the Ethics of AI," but it's often too little, too late, too ineffective. I've argued for the need for AI courses that have ethics embedded in them several times in the past, but what ends up coming up is that there just isn't a very good resource out there that teachers wanting to pursue this embedded model can teach from. We need something that isn't afraid to talk about issues such as bias, discrimination, and oppression, because the avoidance of these topics is itself a politic. We need something that includes mention of the sorts of issues being rigorously discussed in the Fairness, Accountability, and Transparency space, which has become so central to AI at a time when these systems can determine the outcomes of whether folks are kept behind bars before their trials and it turns out these systems make hugely different decisions based on racist factors. Or when bad faith applications of AI rooted in homophobia are developed, ones that are based on long-debunked pseudosciences of phrenology and physiognomy. We need technical, educational texts that talk about these things, because these are the things being developed using AI today.
There are some great books relating AI and society out there already. From Algorithms of Oppression to Artificial Unintelligence to Data Feminism. I want to draw from these texts and incorporate them into an introductory text that gets down and dirty with the technical details. A lot of times folks talk about neural networks in the abstract, but we'll look at the math and the code that makes them work. We'll look at backpropagation, we'll look at activation functions, all of that. And we'll talk about how these technical details lend themselves to the larger societal questions like the implications that come with a lack of algorithmic transparency. That's the goal with this text. That's the niche I want to fill. So that as we train the next generation of people working on AI projects, the technical and ethical are discussed hand-in-hand. To go even a step further, I want to write a textbook that makes it clear where it stands. I want something that explicitly acknowledges the frameworks of critical race theory, abolition, and transformative justice. I don't want something that just stops at talking about ethical implications in the abstract, I want something that demands better, that demands we address things such as capitalism and Whiteness within our AI industry and systems and confront them at their roots. I want a critical approach to learning AI. And that's where the name, The Critical AI Textbook (CRAIT) Project, comes from. This is going to be wildly ambitious. And I have no idea if I'll be able to pull it off. But I have to try, don't I?
I'm writing all of this because, I admit, I have no idea if this is going to work. I have no idea if I'm biting off more than I can chew, or that I'll even be able to figure out how to write any of this textbook to begin with. I'm still unsure of myself. I want folks to know, I don't see myself as some top expert, so please keep that in mind. I'm not trying to write the most authoritative resource on critical AI or anything like that, I just want to contribute a resource to a growing body of equally important texts. And along the way I'm going to need lots of help. I'm going to lean on the folks who do know what they're talking about, and I'm going to be referring a ton to the existing resources that are already out there. All those books I've already linked to in this post? Definitely expect that I'm going to be pouring through them. I want to make sure that the information I'm including here has some backing, that it isn't just made up. I'm going to ask for help when I can't figure something out. This is going to be a living, breathing community project, and not just a static textbook that gets written once and never gets updated again.
I'm still thinking a lot about how I'll go about doing all of this. I'm not committed to anything just yet, as of right now. For example, I'm not even convinced that the way this current website looks is how I want the textbook to look down the line; it's just that this happens to be a starting point that I'm happy with for now. There are going to be a lot of cycles of iteration. A lot of changes to make this text as accessible, inclusive, and understandable as possible. It's going to take time. And maybe down the line we'll actually have something that can become a physical textbook as well as a PDF. Teacher's materials. Accompanying lecture slides. Practice problems and discussion questions. I have so much I want to tackle, so many ideas for how to grow this, but I have to start small first. And here's to taking the first step.
As a concluding note, if you would like to follow the progress of this project, I'll be making use of this website's blog (the one you're currently reading) as well as the Twitter account I've set up for this project, @TheCRAITProject. At the moment I'll be doing preliminary research and information gathering so that I have content to draw from to start writing the textbook, but somewhere down the line I'll be open to take feedback and start opening up formal editing and review cycles.
On a logistical note, I unfortunately cannot currently hire folks to help out with this project, as this project is completely unfunded. I'm actually still unemployed at this moment and struggling to pay each rent's month (my bank account is almost literally at $0). For this reason, I'll likely be trying to work on this while on the job hunt and will be largely pre-occupied with that. Money's really tight at the moment. Anyways, if you like this project and want to see me working on it full-time, donations would be extremely helpful. Or if you know of any grants or funding that I could secure, any leads on those would be great as well. To be upfront, I live in the SF Bay Area, where the cost of living is frustratingly high, so I'd need to raise $3000 a month in order to cover my rent, food, and medical expenses in order to work on this project full-time.
If you would be able and willing to support me to make this all possible, my Venmo and Cash-App are @rephemera, my Ko-Fi (linked to PayPal) is also rephemera, and I will also be setting up a support page that details other methods of support (I'm thinking of perhaps creating a Patreon?).
If you would like to contact me about this project for any other reason, you can send a DM to @TheCRAITProject on Twitter or an e-mail to me at wells[at]nyu[dot]edu.
Thank you for reading!