Georgetown University
Graduate School of Art and Sciences
Communication, Culture & Technology Program
CCTP-607 Leading Ideas in Technology: AI to the Cloud
Professor Martin Irvine
Spring 2023
This course provides a conceptual and design-oriented introduction to the key concepts in computing and data technologies as now developed in AI and Cloud computing. (This course builds on the general methods in CCTP-820, Leading by Design, but it has a specific focus and can be taken independently). This course is especially designed for students from non-technical backgrounds, and provides methods for “deblackboxing” complex technologies through the key concepts and design principles approach.
The main learning objectives are gaining conceptual competencies and critical thinking skills for understanding, interpreting, and explaining the key design principles for (1) contemporary, networked computing systems, (2) kinds of data and data processes, (3) "artificial intelligence" (AI) and "machine learning" (ML), (4) Cloud Computing and "Big Data" systems, and (5) how these technologies are now combined and integrated. With the "design principles" approach, students will understand why certain technologies are designed the way that they currently are, and be able to distinguish between design and implementation, that is, the difference between product implementations and more universal design principles that make them possible.
Framework and Main Approaches
Every day, the news media, popular discourse, marketing, and advertising are full of statements about these technologies, but they are treated as unfathomable “black boxes” and corporate-branded products. To reverse this "blackboxing," this course will provide the methods, key concepts, and analytical tools for understanding the designs of the systems, devices, and interfaces that we use every day.
Our learning method comes from applying an interdisciplinary framework, which combines:
(1) “Systems Thinking” to understand how a specific technology is part of a larger, interrelated system (for example, computing systems, kinds of software, networks, and social contexts);
(2) “Design Thinking” for uncovering how and why certain technologies are designed the way they are, including the history of designs and the consequences of design choices;
(3) “Semiotic Thinking” for understanding these technologies as artefacts of human symbolic thought, and how we can delegate some human symbolic process to systems designed to automate them.
(4) the “Ethics and Policy” viewpoint for evaluating the social consequences of design choices in the way that technologies are implemented, and for analyzing the implications for ethics and governmental policy..
Outcomes
By the end of the course, students will have achieved (1) a conceptual, design-oriented understanding of computing systems, AI and ML, and Cloud systems, and (2) a competency in design thinking and systems thinking that can be applied to any sociotechnical system. These competencies will enable students to work with others in any career path to provide "deblackboxed," clear explanations of the key concepts and design principles of current and future technologies. Since the ability to communicate conceptually clear and truthful explanations of our technologies across technical and non-technical communities is greatly needed in every field and profession, students who have learned these competencies will be able to take on “thought leadership” roles in any career that they want to pursue.
View and download the pdf syllabus document: for a full description of the course, Georgetown Policies, and Georgetown Student Services.
Course Format
The course will be conducted as a seminar and requires each student’s direct participation in the learning objectives in each week’s class discussions. The course has a dedicated website designed by the professor with a detailed syllabus and links to weekly readings and assignments. Each syllabus unit is designed as a building block in the interdisciplinary learning path of the seminar. For each week, students will write a short essay with comments and questions about the readings and topics of the week (posted in the Canvas Discussions module). Students will also work in teams and groups on collaborative in-class projects and group presentations prepared before class meetings.
Students will participate in the course by through a suite of Web-based learning platforms and etext resources:
(1) A custom-designed Website created by the professor for the syllabus, links to readings, and weekly assignments:https://irvine.georgetown.domains/607/ [this site].
(2) An e-text course library and access to shared Google Docs: most readings (and research resources) will be available in pdf format in a shared Google Drive folder prepared by the professor. Students will also create and contribute to shared, annotatable Google Docs for certain assignments and dialogue.
(3) The Canvas discussion platform for weekly assignments.
Grades
Grades will be based on:
- Weekly short writing assignments (posted to the Canvas Discussions platform) and participation in class discussions (50%). Weekly writing must be posted at least 4 hours before each class so that students will have time to read each other's work before class for a better informed discussion in class.
- A final research "capstone" project written as an essay or a creative application of concepts developed in the seminar (50%). Due date: one week after last day of class. Final projects will be posted as pdf documents in the Final Projects category in the Canvas Discussions platform.
Professor's Office Hours
To be announced. I will also be available most days before and after class meetings.
For all Georgetown Policies, Student Expectations, and Student Support Services:
consult and download the pdf syllabus document.
Books and Resources
This course will be based on an extensive online library of book chapters and articles in PDF format in a shared Google Drive folder (access only for enrolled students with GU ID). Most readings in each week's unit will be listed with links to pdf texts in the shared folder, or to other online resources in the GU Library.
Required Books:
- Alpaydin, Ethem. Machine Learning: The New AI. Rev. ed. Cambridge, MA: MIT Press, 2021.
- Peter J. Denning and Craig H. Martell. Great Principles of Computing. Cambridge, MA: The MIT Press, 2015.
Recommended Books:
- Cal Newport, Deep Work: Rules for Focused Success in a Distracted World. New York: Grand Central Publishing, 2016.
- ———. Digital Minimalism: Choosing a Focused Life in a Noisy World. New York: Portfolio, 2019.
- Gary Marcus and Ernest Davis. Rebooting AI: Building Artificial Intelligence We Can Trust. New York: Pantheon, 2019.
- Stuart Russell, Human Compatible: Artificial Intelligence and the Problem of Control. New York: Viking, 2019.
Course Online Library (Google Drive: GU student login required)
- Main course library folders:
- Directory of folders for all topics (for your own reading and research)
- Georgetown Library Main Search Page
- Learn how to search search for books, journals, databases, and other media)
Using Research Tools for this Course (and beyond)
- Required: Use Zotero for managing bibliography and data for references and footnotes.
Directions and link to app, Georgetown Library (click open the "Zotero" tab).
You can save, organize, export and copy and paste your references with formatted metadata into any writing project.
AI Research and Information Sources
News and Research Sources
Stanford AI 100: "100 Years of Artificial Intelligence": Main Site
- A Short History of AI
- Topics of concern in "Reflections and Framing"
- 2021 Research Report, One Hundred Year's of AI (pdf document)
AI, Ethics, and Human-Centered Design: University Research Centers
- The Ethical Machine: Big Ideas for Designing Fairer AI and Algorithms. Shorenstein Center on Media, Politics, and Public Policy, Harvard Kennedy School.
Site devoted to the research and publications at the Shorenstein Center, Harvard. - Ethics and Governance of AI, Berkman Klein Center for Internet & Society, Harvard University
- Stanford Institute for Human-Centered Artificial Intelligence, Stanford University
Professional Computing and AI Sources (ACM)
- ACM Digital Library (Join ACM!) [GU Library link; join as student to get your own account.]
- ACM SIGAI (Special Interest Group in AI)
- ACM SIGAI: AI Matters Newsletter
- ACM Video Learning Sources: ACM YouTube Channel
Orientation to Learning Goals of the Course:
- Establishing some useful definitions, distinctions, and scope of subject matter: the key concepts and design principles approach.
- Introducing our interdisciplinary framework that provides an integrated method for understanding all kinds of computational systems, and how to apply the method to today's computing systems, networks, AI, and Cloud systems.
- Key terms and concepts: What are we talking about when we talk about "Computation," "Computing Systems," "Information," "Data," "Artificial Intelligence," "Machine Learning", "Cloud Computing"? Why clear and consistent vocabulary and concepts is so important.
Personal Introduction: My video introduction [Update: I've been at GU for over 30 years!]
Introductions and Interests
- Who are we? Backgrounds and interests to be considered in developing the course.
- Your professor's background and research interests: where I'm coming from.
Course Introduction: Requirements, Expectations, Orientation
- Format of course, requirements, participation, weekly assignments, projects, outcomes (see above).
- Using our Web-based syllabus, discussion platform (WordPress), online etext library (shared Google Drive).
- Why I use custom-designed websites for courses: teaching philosophy, instructional design, student access to materials.
- Classroom rules: how to use PCs and mobile devices: no social media or attention sinks during class.
Using Research Tools for this Course (and beyond)
- Required: Learn how to use Zotero for managing bibliography and data for references and footnotes.
Directions and link to app, Georgetown Library (click open the "Zotero" tab).
You can save, organize, export and cut and paste your references with formatted metadata into any writing project. - Required: Learn how to use the Georgetown Library Main Search Page:
https://www.library.georgetown.edu/- Access to journals, books, and databases for further study and research.
Introduction to course methods and main topics
Examples for Discussion
- Organizing and analyzing past data (accessing data bases, interpreting data: graphs, tables, spreadsheet views):
- Data Aggregation, Analysis, Mapping, and Visualization:
Johns Hopkins University "COVID-19 Dashboard" | About the Data Sources Aggregated
- Data Aggregation, Analysis, Mapping, and Visualization:
- Using pattern recognition, structured data, and predictive analytics (where does AI/ML begin?)
- Google Translate
- Google "Reverse" Image Search | Google Lens (Google's "How it Works" page)
- Google Maps (Directions): let's "deblackbox" the cluster of combined technologies.
- Generative Adversarial Networks (GANs): Calculating and generating patterns
- ThisPersonDoesNotExist.com [click through to the research papers on the system]
- GANs for "painting" and modifying digital photo images: https://gandissect.csail.mit.edu/ | Try it in action
[Note the language -- terms, metaphors -- used to describe the ANNs.]
- Generative AI: being developed by OpenAI (automated predictive algorithms):
- OpenAI | DALL-E (available) | DALL-E (login with account) | GPT3 | ChatGPT (with login).
- Teachable Moment: All the anxiety about ChatGPT:
- Kalley Huang, “Alarmed by A.I. Chatbots, Universities Start Revamping How They Teach.” The New York Times, January 16, 2023, sec. Technology.
- Nathan E. Sanders and Bruce Schneier. “How ChatGPT Hijacks Democracy.” The New York Times, January 15, 2023, sec. Opinion.
Main Topics and Learning Objectives:
- The learning goals of the course (see Introduction below).
- Learning the interdisciplinary framework and main approaches in the course for "deblackboxing" computing systems, data, AI, Machine Learning, and Cloud systems.
- The "Key Concepts" and "Design Principles" approach for understanding the major technologies: especially for students with no technical background.
Readings and Learning Sources
- Prof. Irvine, Introduction to the Course: Our Framework, Methods, and Key Concepts.
[Read Part 1, to p. 13, for this week first; you can complete Part 2 next week.]- Download, read, and print for reference. Don't worry if all this is new and hard to understand now: you can get it! (We will go over all the key concepts, step by step, in the course.)
- Video Lessons: Introducing the Crash Course Series
on AI and Computer Science
- The "Crash Course" video lessons are very good for getting started on many topics. The video series on Computer Science and AI provide excellent introductions to technical descriptions; we will complete them with the conceptual framework for understand the "why" and "how" of the technical designs as we have them today.
- Review the list of lessons for each series below; they are short and you can learn at your own pace. Here are some to get you started with background for the course:
- List of lessons: Crash Course, Artificial Intelligence series.
- For this week: View the AI Preview and Lesson 1: What is AI?
- List of lessons: Crash Course, Computer Science series.
- For this week: view the Preview, then Lessons 3-5.
- Peter J. Denning and Craig H. Martell, Great Principles of Computing. MIT Press, 2015 (in pdf). Read chapters 1-2 for this week. In Chap. 2, on the major "Domains" of computing, note the sections on "Artificial Intelligence," "Cloud Computing," and "Big Data."
- We will refer to the computing principles outlined in this book throughout the course. Even though the book is for non-specialists, much may be new to you, and will take time for the terms and concepts to become yours to think with. That's normal and OK. Read it and re-read it as we progress through the course.
- Use this book for getting clear, precise meanings of all the technical terms in computing and data science. These terms will be our "conceptual vocabulary."
- Clarifying a Key Term and Concept: Artificial.
What does "Artificial" mean as used in AI theory? Major source: Herbert Simon. - Herbert A Simon, The Sciences of the Artificial (MIT Press, 1996/2019) (excerpt). Read this short excerpt for useful meanings of the terms "artificial" and "symbol system" presented by a leading systems theorist and one of the early founders of AI.
- "Artificial" (in our computing and AI context):
Does not mean "fake" or inauthentic, like "artificial sweetener." Following Simon's clarifications, the term means (1) whatever is produced by imposing a human design for making an artefact; (2) everything in computing is an artefact (human made thing) based on human symbolic thought and the use of symbols (math, logic, programming languages) defined for a symbolic processing system; (3) some artefacts are designed as interfaces between observers and observed environments (which are different systems from those of the observers).
Examples for Discussion (in class): Steps in deblackboxing.
Prof. Irvine, Introduction: Topics and Key Concepts of the Course (Slides)
Writing assignment (Canvas Discussions Link)
- Read the Instructions for the weekly writing assignment..
- This week provides a "top level" overview of the topics and main approaches in the course. In the following weeks, we will study the key concepts and design principles that explain the "how" and "why" of our current technologies.
- Your first discussion post this week can be informal. You can simply write some notes about your main "take aways" and questions from the readings (and video lessons). What questions came to mind about the main concepts and topics of the course? Can you see how you can think with any of the "macro-level" concepts and methods for the technologies that we will study? What would you like to have explained more in class?
Learning Objectives and Main Topics:
- The key design principles of computing systems, and how AI/ML systems are designed for these systems.
- Why learn this? The recent advances in AI/ML are all based on developments in the core technologies for computation (which includes processors, programming, database designs, memory, and data storage technologies). To understand how AI/ML systems are designed and how they work, students need to understand the basic architecture of digital computing systems from the design and conceptual viewpoint. This is an important learning step in our deblackboxing goals.
- This unit is the first part of a sequence on the key design principles in computing systems, digital data, and the Internet as a computer networking system (continued in Weeks 4-5, 10-11).
- Your learning goal for this week is to begin understanding the basic computing design principles, so that you can make the next learning steps for understanding how and why all our contemporary systems -- from digital media to AI and Cloud systems -- are built up in scalable layers or levels using many kinds of interconnected subsystems (lower levels systems serving the whole system). There is no magic, no mysteries -- only human designs for complex systems!
- AI/ML in the field of computing and "data science":
For people working in AI/ML, it's a large, interdisciplinary field that forms an ongoing research program, not a science of final conclusions. Designing AI/ML is a quest to use the tools in computational methods (keyed to the current state of our physical computer systems) to discover what can and cannot be automated for human interpretability of data (now in massive stored forms), and what kinds of analyses and interpretations can be delegated or assigned to the algorithms (processing models) programmed in running software. AI is not an "it," a "thing" or "object.". AI/ML represents many design communities and philosophies, many kinds of methods and clusters of technologies, and many attempts at implemented designs in computing and digital data systems. Don't confuse recent instances of commercial products (digital "assistants" with speech recognition, "machine translation," face recognition, consumer preference predictions/recommender systems, text and image generating "bots," etc.) with the underlying design principles in computation that enables implementations in a specific system (like OpenAI's ChatGPT and DALL-E)..
Readings and Video:
Fundamentals of Computer System Design Underlying AI and ML
- Prof. Irvine, Course Introduction: Part 2 (pp. 14-21) for this week. (Download and print for reference.)
- Prof. Irvine, (Video) "Introduction to Computer System Design" [in settings, switch to 720p or 1080p]
- I made this video for CCT's Intro course (CCTP-505), but it is applicable for any introduction to the topic. I use some of the concepts in our course framework (in the "Course Introduction"), but we can fill in others.
- You can also follow the presentation in a Google Slides version, if you want to review the topics at your own pace.
- (Videos in my "Key Concepts in Technology" series may be useful as background for you.)
- Video Lessons
- Code.org: How Computers Work (series list) (another excellent set of introductory lessons): View Lessons 1-2 (a short review).
- Crash Course Computer Science: View Lessons 7-8 [Registers and RAM; The Central Processing Unit (CPU)].
- Ethem Alpaydin, Machine Learning. Revised edition. MIT Press, 2021.
- Read the Preface and Chap. 1 (to p.34). (We will consult this book later in the course.)
- We are beginning the study of AI/ML in the context of computing so that you have a view of how computational processes in programs must be designed to perform the multi-level computations in AI/ML applications.
- What is the distinction now made between "AI" and "Machine Learning" (ML)?
- Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach. 4th ed., 2022. Survey the Table of Contents and survey Chap. 1.
- This is the most widely used (and cited) textbook for AI/ML, now in an up-to-date edition with background on recent developments in "Neural Net" systems. You will get a glimpse of the deeper history and contexts that are behind the recent developments. It will all seem overwhelming, but with this overview you can at least appreciate all the work that has brought us to where we are today.
Examples for discussion in class.
Writing assignment (Canvas Discussions Link)
- Continuing from last week, consider one or two of the computer system design principles (from the video lessons and readings) that help you "deblackbox" why modern computer systems embody these specific kinds of designs. Much will still be new and difficult, and you will have many questions (take notes to capture these).
- Can you see ways that the frameworks in the Course Introduction help explain the "why" and "how" behind the technical descriptions (in the video lessons and readings)? Does working through the main principles and learning precise definitions of terms help you to "deblackbox" what seems closed and inaccessible? Express all the questions that come up for you that we can explain in class.
Learning Objectives and Topics:
In this week and next, students will learn the foundational concepts of "information" and "data" as defined in digital electronics, computing, communications, data processing, and data science.
The terms "information" and "data" are used in many ways, even within computer and "information" sciences, so we need to close off the whole "word fog" and focus on the precise technical meanings used in the context of digital binary information and computer systems. We can understand the technically precise meaning of "information," just like we can learn what "matter" means in physics, as opposed to many ordinary language uses of the word.
As all the introductions to computing and AI will tell us, all forms of computation and AI are based on "information [or "data"] processing," encoded in various levels of symbol representations (for data, code, algorithms, programs, etc.). Instead of just eliding over this topic (and using vague, ordinary discourse conceptions), we need to understand two central concepts at the core of the design principles for computation and AI/ML applications: what are the design principles for information and data, and how we can keep the technical meanings of the terms clear, distinct, and useful to think with in understanding all our complex systems.
Video Lessons and Readings (in this order):
- Prof. Irvine, Introduction to Information and Data in Our technical Contexts.
- Video Lessons: The Basics About Bits, Bytes, Information, and Data in Computer Systems
- Code.org: How Computers Work: Lessons 3 (Binary and Data).
- Crash Course: Computer Science: Representing Numbers and Letters as Binary Data
- Basics Explained: Why Do Computers Use 1s and 0s: Binary Explained
- Computer Science: Digital Character Sets: ASCII to Unicode
- Unicode YouTube Channel: Video: Introduction to Unicode and Text Encoding
- Peter J. Denning and Craig H. Martell. Great Principles of Computing, Chap. 3, "Information."
Digital Data Case Study, 1: Digital Text Encoding for all Languages: Unicode
- The Wikipedia overview of Unicode and digital character encoding is useful.
- The Unicode Consortium Official Site (for Reference on the open source standards)
- See: Unicode Glossary of Terms | Background on the Current Unicode Standard [Version 15.0] | Unicode Technical Site | Unicode History
- If you're interested in more background on the design principles and policies for the Unicode international text encoding open standard, see the "Frequently Asked Questions".
- See: Unicode Character Code Charts for All Languages [Version 15.0]
- Deblackboxing a data format used for most "alphanumeric" text and symbols:
UTF-8 (Unicode Transformation Format - 8 Byte Units). See the definition of "UTF." UTF-8 is the most commonly used code format for European Latin alphabet-based languages, including the character encoding and graphical rendering of the Web page in your current screen display "window." (Unicode also has extended 16 and 32-bit byte units for other languages and scripts.) - For "Han" Unified CJK (Chinese, Japanese, and Korean) Ideographs and Scripts (pdf reference file). (There are many extensions of encodings for Asian scripts in the Code Chart.)
- (On "Unified CJK" see Wikipedia.) Note that the Unicode practice is to decompose scripts and ideographic writing systems in the smallest meaningful "glyphs" (strokes, marks), which can be assigned a byte unit or code variation, which can then be composed (combined) in a Unicode code point definition.
- Unicode solves the problem of data interoperability across technical platforms, operating systems, data typing (for "text" or "string" in programming languages), kinds of software, and device-specific graphics and screens. This encoding solution enables all kinds of text data analysis and NLP.
- Unicode, "special" characters, and text in programming languages. In the table of the Character Code Charts, you will also find the Unicode "code points" (range of unique code numbers) for all kinds of mathematical and technical symbols. All programming languages are now designed to use a defined set of Unicode "code points" for the text characters and special symbols used in the code language. These encoded characters and symbols get rendered on screens (like ordinary text) when we write code (like in developer software designed for writing programs for Python, JavaScript, Java), and then what is saved to the digital file of the program text. Then, when a "compiler" or "interpreter" program translates the program code text (like a Python file) into pure binary "machine level code," the translation will always work reliably and consistently.
- Important for AI/ML: Unicode encoded text is the data format of all text data analytics and Natural Language Processing (NLP) in AI/ML. Nothing in digital text would be universally "computable" without Unicode, because (1) now all text data is stored in Unicode format, (2) all software is designed to interpret Unicode byte-code data representations, and then "process" the data as "data type: text," whether in internal computations that we never observe (as in chains of ML processes) or in outputs of "alphanumeric" (or other Unicode-encoded) symbols to be rendered in screens through corresponding software layers.
- Unicode Emoji (pictographic symbols) | Code Chart List | Go to the Full Emoji List (Version 15.0)
- Yes! All emoji are encoded as "characters" and not "images." Emoji are encoded as Unicode bytecode (in a range of "code point" numbers) to be interpreted in software and then projected in any device's graphics processing and screen. Without a common standard for encoding as part of a text-encoding scheme, what we see as emojis wouldn't work consistently for all text contexts and software applications (like text messaging, social media, and email) in any device with its own internal software and graphics rendering system.
- See the Current Unicode Full Emoji Chart with Modifiers (for skin tone and other modifications).
- The Unicode "test file" of all currently defined "emojis" (v.15.0) (with byte code, symbol, and description)
This is a text file with Emoji symbols encoded to test how they are interpreted and displayed with the software and graphics rendering of various systems. You may find some don't display in your Web browser or app, and the Emojis display differently from device to device. Why? (Think about each device's OS, graphics hardware and software, and type of screen.)] - Bytecode definitions expose systems levels: data encoding formats, device-software contexts, and screen rendering software for each device's OS and graphics hardware and software are treated as separate levels in system design.
Writing assignment (Canvas Discussions Link)
Referring to at least two of the readings or sources,
- Describe the distinction between binary electronic information (as the substrate, subsystem, or physical medium for encoding data) and data as defined structures (patterns, sequences) of binary units that allow us to encode (digitally represent) types of human symbol systems in a software interpretation context. Is this distinction clear, does the Unicode example help?
- Discuss your main "take-away" learning points about digital text as a data type, and the Unicode standard for encoding written characters and symbols in any language through internationally adopted "byte code" definitions. What questions do you have? What would like explained further in class.
Learning Objectives and Main Topics:
To advance in learning about how AI/ML techniques are applied to "data," students need to have a basic background on the specific meanings and concepts for "digital data" in the various domains of the "data sciences."
Understanding Data Types and Data Formats for AI/ML: Digital Images as Data
Last week you learned about the major data type: text (or "string") data, and how a standard encoding format (Unicode) enables a standard set of defined byte units to be interpretable across any kind of computer system and software programmed for text data.
This week, we will study digital images as as forms of data. What is a "digital photo"? How are photo images encoded as digital data? How can software be designed to interpret, change, and transform a digital photo image? What are the basics that everyone can understand?
Readings and Video Lessons (general introductions):
- Prof. Irvine, "Introduction to Data Concepts, Data Types, and Digital Images."
- Video lessons: Continuing with Data, Data Types, and File Formats
Why and How computer systems are designed to "compute" with specific sequences of bits termed bytes, which give us the minimal units of data (a structured representation internal to the computing system). How data types for digitized audio and images are defined.- Crash Course Computer Science: View Lessons 15 (Data Structures) and 21 (File Systems). In Lesson 21, notice how the digital representation techniques for sound and images are different from text, and note how digital image data is structured in data file formats.
Digital Data Case Study, 2: Digital Images as Data
- Ron White and Timothy Downs, How Digital Photography Works. 2nd ed. Indianapolis, IN: Que Publishing, 2007. Excerpt.
- Well-illustrated presentation of the basics of the digital camera and the digital image. The digital image principles are the same for miniature cameras in smart phones.
- Study pages on "how light becomes data," and "how images become data," and Chap. 9 on how software works with digital images. This background is important for understanding how AI/ML algorithms can be programmed to interpret and analyze image data.
- Video Lessons:
- Code.org: Images, Pixels and RGB (by co-founder of Instagram)
- From Branch Education: How do Smart Phone Cameras Work?
- Good "deblackboxing" view, and excellent background on light and human vision. Sections may seem like too much technical detail, but there's a lot of useful knowledge here.
- Optional: A little more technical background if you have time and want to go further:
Video lessons from Computerphile:
Writing assignment (Canvas Discussions Link):
- This assignment will help you understand what a digital photo is, and how a digital photo in a file format (.jpg, etc.) becomes computable data in software. There are 3 steps:
- (1) Choose a photo image that you've taken -- or take a new one -- as a case to study. (If you have a digital camera, use that; otherwise, a mobile phone photo is OK). Upload the image file to a storage location that you can access, or send it to yourself, so that you can save it and work with it in software on a PC/Mac. Now you have a "data object" that is interpretable in software for displaying on a screen and "editing" with image software (for changing properties, size, etc.). Then, use any photo image viewer you have on your PC to view the image. Using the readings and lessons for this week, explain the process for how the image was created with the camera lens and sensor, and how the digitized light "information" registered in, and signaled from, the sensors behind the lens becomes encoded to form the 2D photo image recorded as an image file.
- (2) Find out as much as you can about the properties of your image-as-data. If you know how to use Photoshop (or a similar digital photo editing program), you can display the "Information" in the "metadata" in the image file. (Most photos from digital cameras will have metadata in the "Exchangeable Image File Format," EXIF.) (Wikipedia background). Copy the metadata or do a screen shot of the file information for your post.
- The basic photo software tools on our PCs/Macs don't provide a way to reveal the photo data. Online in-browser photo software usually won't have this function either (if you find one, let us know). Other digital photo options:
- GU now has student licenses for the Adobe Creative Suite, which includes Photoshop and all the digital media production tools. Go to the GU Software WebStore to sign up for an Adobe account and download. Will take a little time, but worth it.]
- Two excellent, free photo editing tools (download and learn how to use, as your time allows):
- Irfanview (PC Windows) [This is great, "lightweight" software. My "go-to" when I don't need all of Photoshop.]
- GIMP (Windows and Mac) [This a very full-featured, freeware version of most of what's in Photoshop. It will take a little longer to learn, but worth it if you're into photography, and don't want the whole Photoshop package.]
- If you don't have time to use new software, these online sites provide image analysis (drag or upload your image as directed):
- SnapWonders: Analyze a Photo Image
- MetaData2Go: File Metadata Analyzer
- Forensically (Image Analyzer) [Upload your file from where you saved it. The Magnifier provides a pixel-element enlarger; click on Metadata.]
- (3) Use any software tool for changing your photo image (cropping size or details, "filters" for colors or styles, morphing shapes, etc.) and explain how this works, as best you can from the background this week. Save two examples of changes to your image. Can you see how the software is designed to modify (transform) the basic math for the locations (x,y positions) and color values of areas in the 2D pattern of the digital image? (The properties of patterns in the whole pattern of the photo image is what AI/ML analysis starts with.)
- In your discussion post, upload your image (and any edited or modified versions) at the beginning, and insert your discussion and analysis below the images. Have fun!
Learning Objectives and Main Topics
- Goal: Learning the foundational principles for Pattern Recognition in AI/ML, and how basic pattern recognition techniques are used in digital image analysis.
- For this major topic, you have an introduction to how "Artificial Neural Networks" are designed in ML for simulating the human processes of detecting features and recognizing patterns in our two main symbolic systems: language/writing and images.
- For an overview of the importance of Pattern Recognition and major approaches in computing and AI/ML, see the Wikipedia article.
- This week, you will be able to connect last week's study of digital photo images as computable data with the ML techniques for pattern recognition and feature analysis in ML.
- Pattern Recognition (which includes Feature Detection) is the main problem domain of AI/ML: how can we design computational systems that "recognize" (can classify, categorize, or label) the regularities or invariants (= "patterns") in all kinds of data. An essential step in ML is analyzing features and patterns in selected sets of data ("training data sets") to develop models that can be applied to analyzing new instances of the same kind of data.
- This main problem domain has created a large multi- and inter-disciplinary field that combines computer science with philosophy, logic, mathematics and statistics, linguistics, and cognitive psychology.
- In ML methods, detecting "features" and recognizing "patterns" in all the varying kinds of properties in data is based on logical-mathematical models for establishing statistical invariance (getting better and more finely tuned approximations to properties of data that indicate patterns, what stays the same over millions of variable instances). We will never have 100% absolutely true or false feature detection and pattern recognition, but what most methods in AI and ML are designing for is getting "close enough" approximations on which decisions can be made and future states of things can be projected.
- What's "inside" the AI/ML Black Boxes? You'll discover there is nothing "black" inside a complex system for an AI/ML application (just lots of human-designed and human produced expression: advanced math and programming code, large data sets of text and images that we have produced represented in computable digital formats, and large computer systems with many fast processors and almost unlimited memory capacity).
- Continuing our basic approach, de-blackboxing means making the invisible visible, gaining access to what is unobservable in AI/ML computational processes when understood as implementations of the design principles for AI/ML.
Readings and Video Lessons [in this order]
- Ethem Alpaydin, Machine Learning. Rev. ed. MIT Press, 2021. [Download pdf.]
- Read Chap 3, Pattern Recognition (71-103), and begin Chap 4, Neural Networks and Deep Learning (105-116).
- Crash Course Computer Science
- Lesson 34: Machine Learning & Artificial Intelligence. [A good overview before studying specific ML applications. Notice how most of the examples are about pattern recognition in different contexts.]
- Lesson 35: Computer Vision. [Further background on the designs for digital images, the foundations for pattern recognition in images.]
- 3Blue1Brown Math Explanations: What is a "Neural Network" in ML?
- This is the best "animated" math description I've seen for explaining the basic designs for ML "Artificial Neural Networks" (ANNs) and why and how they work. Even if you can't keep up with the math (that's OK), the visualizations will help you understand how the ANNs are designed with human logic and math, and why/how ML is possible by using graph models and matrices (groups of ordered numbers) for statistical calculations that can then be represented in the special notation of functions and symbols of a programming language.
- [The 4 lessons in this YouTube ML series are also on the producer's site with transcriptions; view others on your own later.]
- Crash Course AI
- Geoff Dougherty, Pattern Recognition and Classification: An Introduction (New York: Springer, 2012). Excerpt: Chaps. 1-2.
- Read the Introduction and look at the examples and methods for pattern classification in Chap. 2. This is the assumed background for the ML application to "Selfie" photo image analysis in the Karpathy article (next).
De-Blackboxing Case Study: ANN Pattern Recognition for Analyzing "Selfie" Photos
- Andrej Karpathy, “What a Deep Neural Network Thinks About Your #selfie,” Andrej Karpathy Blog (blog), October 25, 2015, https://karpathy.github.io/2015/10/25/selfie/.
- Karpathy (who was one of the founders of OpenAI, was head of AI at Tesla, and now back at OpenAI) provides an "inside the blackbox" view of how "Convolutional Neural Networks" (the mathematical network graphs that can continually readjust the "weights" [values] between the nodes in the probabilistic calculations) can be used to do feature detection, pattern recognition, and probabilistic inferences/predications for classifying features in photo images. This is the statistical method for computing over features (also called attributes or properties) as directed in the programmed algorithms.
- All "neural net" ML techniques are based on models in mathematical graphs and matrices for multiple layers of algorithms that can work in parallel and recursively (feeding outputs back in). This provides mathematical models for implementing multiple weighted statistical calculations over indexed features (the features identified, automatically or predefined). The "nodes" in the graphs represent a part of a statistical calculation with many interim results, which can be fed back into the program, and "fine tuned" for targeted output approximations. The layered graph models are encodable as linear algebra and other kinds of statistical formulas in the programming language used for the kind of data analysis being specified. All the abstract algorithms must be encoded in a programming language and "written" into the memory of a computer system to become a runnable/running program.
- By looking a little inside the "blackbox," you can also get a sense of the ethical implications of programming criteria (the parameters defined for selecting and "weighting" certain kinds of features and patterns) when the ML design is automatically "tuned" for certain kinds of results.
Supplement: Google Doc with additional AI/ML Image Applications
Writing assignment (Canvas Discussions Link)
- With the background in this week's video lessons and readings, could you follow Karpathy's explanation for his experiment in designing an ANN for "evaluating" selfie photos? Discuss what you find to be the key points and issues in Karpathy's deblackboxing of the algorithms that he used in his selfie analyzer. Of course, there will be much that is new and difficult this week, but do your best to connect what you've learned last week and this week in your discussion.
- Note: In your reading and discussion this week, don't be put off by the mathematical and technical models introduced in the readings and video lessons. You will discover that the mathematics and logic in the graph and matrix models for the algorithms (automatable calculations) are all designed in service of our cognitive abilities for recognizing and interpreting patterns, and then making projections (predictions) based on already "learned" patterns for analyzing new, future data. There's nothing "black" in the unobservable AI/ML "black boxes."
Learning Objectives and Main Topics
This week: students will learn the basic principles of Natural Language Processing (NLP), which includes pattern recognition techniques for both text analysis and speech recognition with AI/ML methods. NLP in AI/ML applications are designed with a suite of computational techniques for sorting words, mapping syntactic patterns, labeling words in groups with frequently occurring "neighbor" words, translation from a "source" to a "target" language, and processing text-to-speech and speech-to-text.
Next week: we will go further in studying the "Large Language Models" (LLMs) used in text generators like GPT-3, which are designed with many levels of AI/ML techniques applied to large data sets of text for predicting probable word sequences.
Natural Language means the human languages acquired naturally by being born in a language community, as opposed to second-order or "artificial," "formal," "languages" developed for mathematics, sciences, computing, philosophy, and other fields. Formal "languages" are usually developed with specialized terms, notation, and symbols, and are termed "metalanguages," specialized "languages" about other languages. Computer programming "code" is a metalanguage for creating interpretations of data (through algorithms) represented in further data as "outputs".
The designs for NLP in AI/ML applications today have been developed by combining knowledge and techniques from linguistics, mathematics, logic, and computer science. All NLP applications as programs are built up with many kinds of formal "metalanguages" (from logic and mathematics) for defining, describing, and analyzing instances of natural language (spoken and written) as data. Generative Language AI programs (like OpenAI's GPT-3, the model behind ChatGPT) are designed with many layers of NLP processes combined with Artificial Neural Networks (ANNs).
Readings and Video Lessons:
- General Background on NLP and AI/ML
- See Wikipedia background article on NLP:
NLP developed from a convergence of Computational Linguistics (see Wikipedia definition) and parallel developments in AI/ML for text and speech analysis, translation, and text generation.
- See Wikipedia background article on NLP:
- Video Lessons:
Work through some NLP steps and applications for yourself:
- Tokenizing: identifying the word-units in a data set
- OpenAI's Tokenizer
(a "token" is a word unit physical instance in a data set)
- First, click on the "Show example" in the top input box, then click on "Text" and "Token IDs" in the bottom output box. For the example, the interface provides a view of the tokens as word instances (highlighted to show the individual tokens); and also the indexed "ID" numbers for the words in the text data set (the "corpus" of body of text) that OpenAI is using. All NLP processes require word tokenization, but it's faster to compute the "words" as numbers representing an index "ID" number in the whole data set (which will have many multiple words instances).
- Next, copy and paste a long paragraph from any text source into the window (with the GPT-3 tab on). Click on the "Text" and "Token IDs." Copy or do a screen shot of your results if you would like to use this process in your discussion post.
- Labeled and Linked Data Sets for Semantic Networks of Words
(before ANN methods)- WordNet | Search the WordNet database
- See the Wikipedia article for background.
The WordNet project aimed to create a linked database of millions of words with labels (metadata) for lexical (with syntax features) and semantic concepts in networks of relations. The database has an API that is still used in many applications, although Neural Net methods with massive data sets (possible with computer architecture and memory since the c.2005) have mostly superseded the WordNet model. - BabelNet
- See the Wikipedia article for background on BabelNet project.
BabelNet expands on the WordNet model for a linked semantic network database for words and concepts in many languages, and the platform can translate across many languages and provide deeper possible semantic relations. - Try out a visualization of a semantic network: Type a word in the input field. The interface will send it to the database with the whole semantic network of the word. Next, click on the "Explore Network" icon for an interactive graph of semantic relations and contexts. Here is an example using the word "information" (click on "Explore Network"). Mouse over or click on the yellow dots on the right side (nodes), and you can also mouse over and zoom in/out over any of the nodes.
- There is also a mobile app for BabelNet now.
Machine Translation: Google Translate as Case Study
- See the Wikipedia article for background and historical overview.
- Code Emporium Video Lesson: How Google Translate's AI/ML Works.
- Google Translate
(translate.google.com)
- See the Wikipedia article on Google's neural net model [useful background].
- Google's announcement of the neural network model for the new version of Translate (2016) (migrating from "phrase-based" translation methods), and product announcement for Translate for mobile apps and Neural Machine Translation (2017). Here is Google's official blog about Translate.
- Google Translate mobile app: uses smartphone camera and microphone for translating text and speech.
- Assignment Exercise: In the Web interface version: Set the source and target languages, and test several single sentence examples and copy-and-paste a longer paragraph of sentences. Copy your results for your discussion post.
Neural Net ML Methods in NLP
- OpenAI: New Language Models
- Read How ChatGPT "Explains" NLP and its own language model (Prof. Irvine)
Writing assignment (Canvas Discussions Link)
- Using the background in the readings and video lessons, describe some of the NLP processes inside the "black box" of the Google Translate system.
Learning Objectives and Main Topics:
- Learning the main design principles for applications of AI/ML systems in Chat and Text interaction interfaces.
- This week we will begin deblackboxing ChatBot and generative AI/ML in ChatGPT and text-prompt image generators.
- Background: "Virtual Assistant" systems (Siri, Google Assistant, Alexa, etc.) and recent developments (ChatGPT) are often categorized as "ChatBots," i.e., "Robot(ic) [Automated] Virtual Chat" systems. It's a term from earlier Q&A text-based systems, but "generative" based on the NN Transformer models (in OpenAI's recent platforms) is very different from the earlier systems.
- Next week we will open OpenAI's black boxes further: looking into the research and NN Transformer models for ChatGPT and DALL-E that must be programmed for massively large computer systems and memory.
Background on ChatBots, Virtual Assistants, and the Generative Pre-trained Transformer Model for ChatGPT
- See Wikipedia backgrounds for a quick overviews:
- Chatbots | Virtual Assistants (Amazon Lex/Alexa, Siri, Google Assistant)
- OpenAI's GPT-3 (Generative Pre-trained Transformer, a "Large Language Model" [LLM] based on a huge "public Web" dataset)
- ChatGPT (based on a version of GPT 3.5)
- GPT-4 [just released]
- IBM AI Essentials (Video): The History of Chatbots
Developments before ChatGPT: Virtual Assistants and "Conversational AI"
[Survey these systems briefly for background on the already established technologies that are now merging with Large Language Models, NN Transformers, and Generative AI/ML.
Note: Google Assistant, Alexa, and Siri are now designed for mobile and "smart" devices (appliances), not for interfaces on PCs. Also, these systems are designed for business, consumer transactions, and supporting the companies' products. They are not designed for general knowledge.]
- Amazon Lex (link): "Build chatbots with conversational AI". Now a module in Amazon Web Services (AWS Cloud): the Cloud server-side technology behind Alexa.
- Amazon's Announcement of Lex: how it works for conversational voice and text interfaces. Recent descriptions of Lex on the AWS blog:
- Amazon's Alexa (Wikipedia background)
- Google Assistant (link): Google Assistant Homepage [company info and app integrations]
- Google Assistant: Wikipedia background [mostly business and product information]
- Google's Patent Application for "The intelligent automated assistant system" (US Patent Office)
[Scroll down to read the description of the "invention", and/or download the whole document. Patents are good sources for the design principles and a company's case for why their design (intellectual property) is distinctive and not based on "prior art" (already known and patented designs).] - Abstract of the system in the patent (same general description as for Siri):
"The intelligent automated assistant system engages with the user in an integrated, conversational manner using natural language dialog, and invokes external services when appropriate to obtain information or perform various actions. The system can be implemented using any of a number of different platforms, such as the web, email, smartphone, and the like, or any combination thereof. In one embodiment, the system is based on sets of interrelated domains and tasks, and employs additional functionally powered by external services with which the system can interact." - Google Assistant for Developers (Google)
- Apple Siri (link) [Apple's official site]
- Wikipedia background ["Siri" as an NLP system has an interesting history of development before Apple.]
- Apple's Patent Application for "An intelligent automated assistant system" (US Patent Office, 2011), Click on "Download PDF" in the right column.
[After the many pages of system and interface diagrams (study some for the system design as you scroll down), you will find p. 1 of the "Invention" description. Note all the other related patents and "Prior Art" cross-referenced for "An intelligent automated assistant."] - See also: Apple's World Intellectual Property Organization (WIPO) Patent, "Intelligent assistant for home automation" (2015), which is classified under " Interactive procedures; Man-machine interfaces."
- Abstract of the system in the patent (same general description as Google Assistant!):
"An intelligent automated assistant system engages with the user in an integrated, conversational manner using natural language dialog, and invokes external services when appropriate to obtain information or perform various actions. The system can be implemented using any of a number of different platforms, such as the web, email, smartphone, and the like, or any combination thereof. In one embodiment, the system is based on sets of interrelated domains and tasks, and employs additional functionally powered by external services with which the system can interact. - Apple Machine Learning Journal: "Hey Siri: An On-device DNN-powered Voice Trigger for Apple’s Personal Assistant" (October, 2017). [The design of Apple's "Neural Net" Speech Recognition system]
- An inside view of how app developers can use Siri in other apps (Apple Developer)
OpenAI, GPT-3, and ChatGPT
- Video Introductions
- Jay Alammar, “How GPT3 Works - Visualizations and Animations.” Jay Alammar -- Visualizing Machine Learning One Concept at a Time (blog + video), July 27, 2020.
[This is a generally accessible introduction to the Large Language Model [LLM] behind ChatGPT, but ignore the hype and cheerleading in the video.] - Code Emporium, "GPT -- Explained!"
- Jay Alammar, “How GPT3 Works - Visualizations and Animations.” Jay Alammar -- Visualizing Machine Learning One Concept at a Time (blog + video), July 27, 2020.
- Background from OpenAI
- Introducing ChatGPT (OpenAI's announcement, Nov. 30, 2022) & ChatGPT Plus
[A lot has happened in the use of this platform in only 4 months!]
- Introducing ChatGPT (OpenAI's announcement, Nov. 30, 2022) & ChatGPT Plus
- Assignment: Learning Goals for this Week
- This week we will experiment with kinds of prompts (inputs) and interpreting ChatGPT responses (outputs). We will work with ChatGPT this week mainly as a "black box," and observe the kinds of outputs that get generated from our inputs (from the LL NN Transformer Model). Next week, we will open up the black box and study the key design principles of the Transformer Model and the data set used for ChatGPT and other transformer models.
- Assignment for Discussion Post: Go to the OpenAI ChatGPT login page (create an account if you haven't already). Note: at the top of the ChatGPT dialogue page there are options for the language model that will be called on for generating responses. You can choose one, keep the default, and/or try different versions.
- When you are taken to your ChatGPT page after logging in, you will have a prompt box at the bottom of the page to fill in. (After a response to a prompt, you can continue a dialogue with the system on the same topic by filling in the prompt line below the response.) To begin a new prompt and dialogue, click on the "+ New Chat" on the top left (above your chat history index).
- Kinds of prompts to experiment with (keep the record of chats, and copy and paste the dialogue for your discussion post):
- Travel: "I will visit ____ [fill in city]. Can you suggest interesting and unusual places to see that are not well-known by tourists?" After the first result, you can also add a follow up question like "Give me directions for a walking tour of a historical neighborhood [or fill in a specific city area] with the most interesting places to see."
- Education (a CCT course): "I am taking a graduate course in/on _____ [fill in]. Can you explain _____ [fill in] and provide a list of sources for me to study."
- Translation: Begin the prompt by asking ChatGPT to take on the role of a translator. Then provide a block of text with the language identified, and ask that the text be translated into another language. (Multi-language capability is not fully implemented for the public version yet, but see what you get.)
- Summarization: In the system prompt, begin by stating you are providing text that you want summarized. Then say "summarize this [article, section of book, whatever] for [optional, for a kind of reader, student, business meeting, journalist working on the topic]. Then insert a long paragraph [or more -- I don't know what the word-token limit is for ordinary accounts].
- Experiment with your own kinds of prompts and topics.
- We will do in-class demos and experiments with different kinds of prompts for ChatGPT.
Writing assignment (Canvas Discussions Link)
- Copy and paste at least three examples of your ChatGPT prompts and responses. What questions emerged as you read the text generated in your dialogue with the system?
- What is different about ChatGPT (in the kind of AI/ML and data being used) compared with the established ChatBots and Virtual Assistants? What kinds of questions should we ask about the blackboxed designs of the earlier ChatBot Dialogue systems and about what is new and different in the NN "Large Language" Transformer models?
Learning Objectives and Main Topics:
This week will be devoted to deblackboxing Generative AI Models by studying the design principles for OpenAI's NN Transformer models in ChatGPT and DALL-E.
- ChatGPT [login page]
- DALL-E: Image Generator [sign up for a user account, if you haven't done so already].
In addition to studying your own inputs and outputs with ChatGPT, we will also use the class meeting as a lab session for experimenting with the systems. In class, each student will demo examples of queries and prompts, and with the background in this week's readings and video lessons, we will all discuss how the outputs are generated by the programs that implement the Transformer NN models with the large data sets of text (ChatGPT) and images (DALL-E).
There are other NN Transformer models for text (by Google and Microsoft) and images (Stable Diffusion, v.2; Midjourney), but we will focus on the OpenAI developments because much more is known about the design of the generative AI being implemented.
This week will also provide a connecting bridge to Week 10, which introduces some important ethics and policy issues for AI/ML. To do any socially useful analysis and critique, we have to claim ownership of the technologies and the ideas that make them possible. When we deblackbox the systems with our methods, we will always find that there is nothing "black" "inside" the unobservable complex systems.
Introductions, Background, and Video Lessons
- Prof. Irvine, Introduction to Deblackboxing the Generative AI Models (and Why It Matters).
- The Transformer ML Model (Wikipedia background)
- OpenAI: New Language Models
(read about "Generative Pre-Trained Transformer" model)
- This is the background research on AI/ML that OpenAI developed for their "Generative Pre-Trained Transformer" (GPT) models. The model hasn't changed in the various versions up to ChatGPT and the recent version GPT-4. This is the model behind ChatGPT.
- Their research paper, "Language Models are Unsupervised Multitask Learners" is considered a major turning point in Large Language Models. (Download and read the abstract.)
- OpenAI: Announcing GPT-4 (partially available through ChatGPT)
- OpenAI: About DALL-E 2
- OpenAI's text-to-image generator required important ML NN design steps and solutions to the problem of how to connect text (labels and captions) to images. Read some OpenAI Research Background on the design steps for DALL-E:
- DALL-E, Creating Images from Text.
- Background on "CLIP: Connecting text to Images". (CLIP = "Contrastive Language-Image Pre-training.") The research paper with technical details is available on arxiv.org.
- Video: OpenAI: DALL-E Explained [uh, kind of...]
Links to OpenAI's Generative AI Systems (public versions)
- ChatGPT [login page]
- DALL-E: Image Generator [sign up for a user account, if you haven't done so already].
Introductory Video Lessons on the Transformer Model and DALL-E
- Assembly AI (introductory video lessons)
Video Introductions for Opening Up the Technical Models
- Michael Phi (The AI Hacker), "Illustrated Guide to Transformers Neural Network: A step by step explanation."
- This video explains the model described in the important research paper (now used by everyone in AI): Ashish Vaswani, et al., “Attention Is All You Need.” ArXiv:1706.03762 [Cs], June 12, 2017. Direct link to the pdf of the paper.
- Ari Seff, "What are Transformer Neural Networks" and "How ChatGPT is Trained."
- These video lessons go deeper into the mathematical and statistical models behind the NN programming. Follow as well as you can, but don't worry if the concepts and formal math are beyond what you're prepared for. (It's important to know how the technical implementations are possible, and that the math and code are not "black" -- just what we don't have a background in, but could learn if we wanted to.)
Writing assignment (Canvas Discussions Link)
- Discuss 2-3 main points in the background readings for these technologies, with questions and areas of difficulty. What did you find that helps deblackbox the generative AI/ML systems, even if you don't understand all the details?
- You are not expected to understand the advanced levels of math, statistical and probability formulas, and programming code, but we can all understand that these technologies are based on applying these human capabilities, at any level of abstraction, complexity, or scale. There is nothing "black" or un-/anti-human in the generative AI/ML technologies; it's all learnable (takes many years, though), and based on human design principles.
- Based on what you've learned last week and this week, develop a more carefully "engineered" prompt for either ChatGPT or DALL-E and the copy and paste your prompt and results in your post. Can you describe and explain some deblackboxed features of the system that account for the kind of results you received from the prompt?
Learning Objectives and Main Topics:
This unit will provide a top-level overview of the ethical, legal, and government policy issues for the development and application of AI/ML in services, products, and "black boxed" applications.
The wide deployment of AI applications (all forms of ML, Face Recognition, Speech Recognition, Image, Text, and Video Generative AI) by individuals, businesses, and governmental entities has provoked important ethical questions about AI and all uses of data. We will explore some of the main issues and learn via case studies of AI applications.
Ethics must always start with the truth: Importance of Deblackboxing
The starting point for ethics in relation to any technical system is a commitment to truthful, de-blackboxed, open and accessible descriptions, definitions, and explanations (see the Floridi and Cowls reading below). Any definition or conception of an "ethics of/for AI" must begin with truthful definitions and descriptions. This is why our deblackboxing methods are so important.
The Main Topics of Research and Debate in AI (and Data) Ethics
- “Transparency,” Explainability, De-Blackboxing of Closed Systems
- Accountability, Responsibility
- Will developers and corporate platforms be accountable and responsible for the security, reliability, and truthfulness of their systems, and mitigate harmful effects when discovered?
- “Alignment” of design of AI systems with human intentions and values.
- Designing for “Humans in the Loop” on steps in data processes.
- Trust and Reliability: Dealing with Truth, Falsehood, Lies, and Fakes
- AI system generated fakes and people using system for Intentional falsehoods and "fake" images and videos of political leaders and public figures.
- AI software for detecting “fake” and AI-generated text and images.
- Political, social, and legal consequences of "fakes" and intentional AI-generated misinformation
- Justice and “Fairness” in Big Data and AI/ML Systems
- How are predictions and results generated by AI/ML models + training data (see Trust and Reliability)?
- “Bias” in Machine Learning. facial recognition system and stereotype image generation.
- Personal identity issues from under-representation of certain ethnic and gender examples in image datasets.
- Employment, Jobs
- Will recent AI/ML platforms affect jobs and job categories, and/or will the new tech allow the creation of new kinds of jobs?
- Freedom, Autonomy, Human Agency
- Guaranteeing Beneficial and Non-Harmful Uses
- Privacy and Security for Data Used in Datasets
- Creative Rights, IP Rights, Ownership, Agency
- Generative AI based on large dataset models from harvested text and image data accessible on the Internet may infringe on rights of creators and owners of the source images and texts.
- Problem of aggregated data sources reducing all data items to mere “data” detached from creators or owners.
Though the above points are viable and well-understood directions in research and provide frameworks for debate, the major challenges for AI/ML ethics are political: how can any collective decision about ethics be put into practice in policy, regulation, and law (national and international).
Readings & Video Introductions
- Code.org series: How AI Works
(video introductions)
- Study lesson 3 (AI & Training Bias), and lessons 6-9 (On Ethics and AI).
Introductory Backgrounds
- Wikipedia Background: Ethics of Artificial Intelligence | Explainable AI | AI Alignment
Outline of the Major Issues in AI Ethics
- Luciano Floridi and Josh Cowls. “A Unified Framework of Five Principles for AI in Society.” Harvard Data Science Review 1/1 (June 23, 2019): 1-15. Pdf version.
Deblackboxing: Example Papers
- Andy Baio, “Exploring 12 Million of the 2.3 Billion Images Used to Train Stable Diffusion’s Image Generator.” Waxy.org, August 30, 2022. [The same principles hold for DALL-E, but details about OpenAI's dataset are not available.]
- Stephen Wolfram, “What Is ChatGPT Doing … and Why Does It Work?” Stephen Wolfram: Writings. February 14, 2023.
[This is a fairly long, but really complete and accessible deblackboxing of ChatGPT by the developer of Mathematica and Wolfram Alpha software. The web version is now a book (available on Amazon). Wish I saw this earlier. Read as much as you can.]
OpenAI: Research and Policy on Responsible AI
AI Ethics and Responsibility Organizations
- Partnership on AI (all tech companies and academic research groups are members)
- Algorithmic Justice League (working on fairness and equity in race and gender)
Case Study (1): Image Generators and Deepfakes
- Two Minute Papers Video: Everybody Can Make Deepfakes Now!
- On the NN programming in the paper: "First Order Motion Model for Image Animation."
- On the NN programming in the paper: "First Order Motion Model for Image Animation."
- ThisPersonDoesNotExisit.com: Generate a new "fake" realistic photo of a "face" by hitting the Website: https://www.thispersondoesnotexist.com/. Learn how the "neural net" works for this application.
- Satariano, Adam, and Paul Mozur. “The People Onscreen Are Fake. The Disinformation Is Real.” The New York Times, February 7, 2023, sec. Technology.
Case Study (2): Ethics of Face Recognition and "Bias" in Labeled Image Data
- Algorithmic Justice League, Facial Recognition Technologies: A Primer [pdf] and website research page link.
- MIT Technology review: Face Recognition Articles (2019-2020) (online)
- Karen Hao, “This Is How We Lost Control of Our Faces,” MIT Technology Review, February 5, 2021 [PDF]. [Online.]
- Melissa Heikkilä, “These New Tools Let You See for Yourself How Biased AI Image Models Are.” MIT Technology Review, March 22, 2023. [May require subscription. Sign up -- this is a valuable source for all your CCT studies.]
Research Bibliography on AI Ethics (Google Doc)
E-Text Library for Further Research: Shared Drive: Ethics, AI, Data
Writing assignment (Canvas Discussions Link):
- You will work with a partner for this week’s assignment. With your team partner, discuss the ethical questions about AI that you are most concerned about, and then choose one to focus on. (Use the outline of main AI ethics topics above as a guide in this Week’s Learning Objectives). Read at least three background sources (articles and book chapters) on the topic (from the sources in the syllabus and/or your own research) and discuss how the sources inform your thinking (and raise further questions).
- For your discussion post for class, you are to take on the role of “explainer” and “interpreter” for fellow students or business colleagues who don’t have a background in AI/ML systems, but are concerned about the ethical question. Discuss together how you could approach the ethical question by first explaining, by deblackboxing, some of the main features in the design of one of the NN AI systems in our examples from last week and this week (generative AI for text or images like ChatGPT, DALL-E; what’s behind “deep fakes”; facial recognition systems).
- Discuss, as best you can, how the ethical question can be better addressed by understanding the two parts of the system (1) the “algorithmic” component (NN ML statistical and probabilistic programming) and (2) the “data” component (what the “training” dataset is, how it is computed for features and patterns, and how it is used to generate new patterns from the data). How does deblackboxing help with approaching the ethical question? What would be the next steps in dealing with the ethical question? Provide some references (books, articles, relevant websites) for your fellow students or colleagues that they can follow up with. One person on your team can combine your notes for one discussion post (and you will receive a common grade for the week). Your post can be in the form of talking points in short paragraphs (use any other presentation aids if you would like: links, slides). You will lead a discussion in class together based on the main points in your post. (We can continue this project into next week if you need more time.)
Learning Objectives and Main Topics:
Learning the basic design principles and main architecture of Cloud Computing, and use of Cloud systems for AI and ML.
Readings and Video Introductions:
- Prof. Irvine, "Introduction to Cloud Computing." [start here]
- Wikipedia: Overview of Cloud Computing concepts and architectures.
- Video Introductions:
- Cloud Computing Services Models - IaaS PaaS SaaS Explained (EcoCourse)
- What is Cloud Computing? (by Amazon Web Services: the business optimization view)
- Nayan B. Ruparelia, Cloud Computing (Cambridge, MA: MIT Press, 2016). Read chapters 1-3.
Major Cloud Service Providers
- The main websites for the Cloud service companies are not very accessible to ordinary users because the sites are targeted for business customers and the IT professionals who will manage their organization's Cloud implementations. But you can get a picture of the scope and scale of this huge industry. Note: the sites are all about marketing company-branded products. Be aware of the marketing and branding language, and all kinds of blackboxing.
- Amazon Web Services (AWS): browse services and Machine Learning products
- Amazon AWS Cloud Computing Basics (view video)
- AWS Machine Learning
- AWS and Business Uses of AI (video) | AWS and Machine Learning (video)
[Note all the buzzwords and necessary blackboxing of products.] - AWS and Machine Learning Statistics in Real-Time Use for football (NFL game) (video)
- Microsoft Azure Cloud | Get to know Azure
- ChatGPT now available in Azure OpenAI Service (see Customizing ChatGPT)
- Azure "Cognitive Services": OpenAI Service.
- Google Cloud
- Google Cloud AI and Machine Learning Products
- Generative AI on Google Cloud [recent promotional video; pure hype]
- IBM Cloud [scroll down to "AI/Machine Learning"]
Writing assignment (Canvas Discussions Link):
Discuss these two topics:
- What did you learn about the basic design principles behind all the corporate-branded Cloud systems, and how and why did Cloud systems become the platform for AI/ML applications that are now getting the main attention? Based on your background so far and this week's readings, identify one or two main points of "convergence" in the computing technologies required for NN AI/ML and the data architecture and computational resources of Cloud systems.
- Survey the Cloud services and products of at least two of the major providers above. What are some of the consequences for individual users and society as a whole -- positive and negative, upside/downside -- in the convergence of Web/Internet services, Data, and AI/ML technologies on one overall "unifying" architecture (system design for the Cloud), which is provided only by the "dominant" tech companies (Google, AWS, IBM, Microsoft)? What should people know about the concentration of all this intellectual capital (core tech knowledge) and intellectual property (patents, trademarks, copyright) behind what we see in AI/ML applications?
Learning Objectives:
For this week and next, students will work on synthesizing (drawing together, unifying) what they have learned about the design principles and key concepts for information, data, computer system designs, AI/ML. This includes connecting together the underlying computational methods in Cloud systems for Big Data and AI/ML. In our review and "summing up" this week and next, we will also reflect on the main philosophical and conceptual foundations of AI/ML, Data, and Computation, and the social and ethical consequences of current implementations of these technologies, now and for the future.
This week we will reflect on our deblackboxing methods and investigate further how these methods are important for explaining AI/ML (and behind the scenes Cloud data technologies), and how emphasizing design principles clears away a lot of false assumptions and misinformation now circulating about AI.
Readings and Video:
- Film Documentary, Coded Bias (Dir. Shalini Kantayya, 2020). Background on the PBS Independent Lens site. Available on Netflix. Link to mp4 file to play from our Google Drive.
- View as much as you can, and focus on the main interviews. This documentary has received a lot of attention, and the data and pattern recognition issues are very important. But you will find that the movie script and dialogue are full of confusing talk about "algorithms," and there is little or no explanation of the mathematics and statistical models in NN AI/ML and the sources of data sets. There is only one mention of how the training data sets can be improved and corrected (good people in the field are already working on this, but this work is not mentioned). The presentation leaves the AI/ML system as a big, scary black box.
- We can also use this documentary as a case for applying what you have learned for doing your own critiques of AI discourse and explanations of system design. What does the documentary leave blackboxed and confused or confusing? From the approach in the video, is there way for people to want to "own" the technology and own the problems (be invested in uncovering problems and finding corrections and solutions)?
- You should now be able to help "deblackbox" the talk about AI and explain key truths for others. For example, on the topic of the documentary, we can expect data sets to have many limitations (unrepresentative biases in the data samples, sources of the image data), but the patterns are there because we put them there. You can also explain: (1) all the tech is based on computational design and openly understood (or learnably understandable) design principles, (2) because AI/ML and "Big Data" are designed systems, communities of people with responsibility for these systems can intervene and redesign for truer outcomes, and (3) we all have an ownership stake in these technologies. Our "ownership" is based not only on the fact that these technologies are active behind every computating device, software, or networked data service that we use, but because the symbolic functions themselves -- the math, logic, and kinds of data being interpreted (language, images, video, music, personal data, etc.) -- belong to all of us as human cognitive agents in communities with other agents. We all "own" this, bottom up, top down. It's not "us" against the AI systems. AI/ML is not an "other" to be discussed as an "it."
Issues for Explainable (Interpretable, Transparent) AI
- Video: Jay Alammar, Explainable AI Cheat Sheet (Intro to Explainable or Interpretable AI Models)
- Arrieta, Alejandro Barredo, et al. “Explainable Artificial Intelligence (XAI): Concepts, Taxonomies, Opportunities and Challenges Toward Responsible AI.” Information Fusion 58 (June 1, 2020): 82–115.
[This is an extensively researched article. Review the main points for how those in the field are approaching the question. Good starting point for your research project, if you are interested.] - Future of Life Institute: Open Letter: Pause Giant AI Experiments
- Note the main signers of the letter. Parallel with the movement for explainable (or interpretable, transparent) AI, others are calling for a "pause" on the further development of massive "Big Data" models. Is this realistic?
Writing assignment (Canvas Discussions Link)
- Reflect over what you've learned about deblackboxing by uncovering design principles and providing true, clear descriptions of our core underlying technologies: computer system design, information and data structures, how text and images become computable data by data type encoding, pattern recognition in NLP and image AI/ML, the design of NN generative AI, and Cloud system architecture. With your background, how would you critique the presentation of the issues in Coded Bias? Could you suggest better descriptions of the problem, and ways to redesign pattern recognition and predictive systems and the data sets used? How would you re-describe the problem and explain it to someone who has no background in computing or AI/ML?
- What approaches to "explainable" (interpretable, transparent) AI do think would help if the approaches were more widely practiced, and even introduced in all our popular discourse, debates, and media coverage of AI/ML? Would some the "explainable AI" approaches help in deblackboxing the larger issues about AI/ML systems in the Coded Bias documentary?
Open Class Discussion:
- Reflecting on your learning in the course, applying our methods, and final project ideas.
- A final look (for the course) on the rapid state of development in AI/ML systems: how to interpret extreme claims, falsehoods, continued blackboxing, and mis- or dis-information about AI/ML systems.
Examples of Recent Developments to Interpret with Our Methods:
- Video: AI Explained: Customizing GPT-4: "Can GPT 4 Prompt Itself? MemoryGPT, AutoGPT, Jarvis, and more." April 8, 2023.
- This is an amazing review (as of April 8 this year!) of the extensions, hacks, and API connections to OpenAI's GPT transformer model. See below on how ChatGPT (and the GTP-4 model behind it) can now be connected with "plugins" to other data sources and data platforms.
- Sébastien Bubeck, (OpenAI) et al. “Sparks of Artificial General Intelligence: Early Experiments with GPT-4.” arXiv, March 27, 2023. https://doi.org/10.48550/arXiv.2303.12712.
- The claims in this paper are surprising (coming from a knowledgeable scientist), and are based on useless assumptions about "general intelligence" and how to tell if an AI system can be said to have "intelligence." (Most people from the computer science side just say ML or even NN ML, and do not speculate about what human "intelligence" is.) The facts of the complex designed systems for NN AI/ML applications are elided over, and the complex systems becomes an "it" with an agency of "its" own. (Pronouns, like metaphors, are dangerous!)
- Video: Two-Minute Papers: "OpenAI's GPT-4 Just Got Supercharged." April 7, 2023.
- Ignore the hype and cheer-leading. This a a good first look at the GPT-4 "Plugins" (APIs to other data systems that can pull data into the GPT model, in order to expand data analysis and content beyond what what available in the training set.)
- Background from OpenAI on GPT Plugins
- ChatGPT Plugins (Overview) | Plugin Information for Developers
- Can you imagine what could happen (good and bad) with providing new data for the GPT-4 model and generating real-time results?
- See Anthropic (anthropic.com) on AI safety research and their new generative AI system, Claude.
General Final Project Instructions
- Consider one of the recent developments in extending the generative AI models above. No matter how complex the systems can be scaled up or how they they can be combined with other systems, do you see that we're still in the "closed finite world" of the human already-created data?
- For your post, you can pose questions about a topic, method, or key concept that we have covered, and that you would like to know more about and follow up with further research. You can also discuss any "aha!" moments that you experienced when reflecting back on what you have learned in the course, and connections between concepts and/or principles of technologies that you've discovered this week.
Class Discussion:
Group discussion on your final project topics, ideas, and the current state of your research and thinking. Post your main ideas, outline, and beginning bibliography in the Canvas Discussions for this week.
Instructions for the Final Version of Your Essay and Posting to Canvas
- Use Zotero for organizing and formatting your references. All references in your essay must conform to a professional style for citing and formatting references (choose one in Zotero). Professional practices matter! (The most widely used reference styles are APA, Chicago, and MLA -- chose one and be consistent with it.)
- Tip: Make sure you check and clean up the metadata that gets populated in Zotero's data fields: sometimes the data that gets transferred into Zotero's fields may not be properly formatted in the Web page source, or some fields may be missing (like publisher details and dates). Once you get the data inserted correctly, it will come out properly in any style that you choose for the output.
- Zotero plug-in: Zotero has a plug-in (add-on) for both Google Docs and Word. If you haven't installed this already, do it now to make sure you can use it easily. This allows you to choose items in your Zotero Bibliography and have them inserted with proper note numbers and formatting in the reference style that you selected.
- Tips: It's easier to set the formatting for Endnotes; any updates, changes, or new notes that you add will be automatically reformatted, including your final "Bibliography" list.
- Bibliography and References: Zotero can also gather all the data in your references for a Bibliography at the end of the document. Use the simple heading "References" for your list of citations. You can also include a "Works [or Sources] Consulted" list if you want to include sources that you studied and researched, but did not directly quote or reference in your essay.
- Writing and posting: Write your essay in Word or Google docs. You can include links, and embed images, graphs, diagrams, or illustrations (provide credits for any images or or diagrams that you use, including if you made it yourself). Convert your essay doc to PDF (use File-> Download -> PDF [save to your computer] in Google Docs, or click on "Acrobat" and then "Create PDF" in Word [your version of Word may have a different menu arrangement].)
- Upload the pdf file of your essay either to Canvas or Google Drive, and create a link to your file in your Canvas Discussion post for "Final Projects" [Canvas Discussions Link]. Write the Title of your essay as a heading for your post, and insert your brief abstract below the title. Then below this text information, provide the link to your file (you can use the URL or a short title with the embedded link). Test the link after you save the post to make sure it works; revise and edit if needed.
Due Date for Posting Your Final Project: by Thurs. May 11.
- Using your final capstone project after the course: You can use your final capstone essay as part of your "digital portfolio" wherever it can be useful to you (in a resume, LinkedIn, social media, internship applications, job applications, and applications for further graduate studies).