Peter Norvig (Google Director of Research) – As We May Program | Silicon Valley Deep Learning Group (Feb 2019)
Chapters
00:00:30 Evolution of Programming in the Age of AI
Background: In 1945, Vannevar Bush envisioned a future where we rely heavily on tools and software. Early programming involved writing tables and assembly language. Fortran and templates were used for more advanced programming.
Programming as a Mathematical Science: Programmers were seen as micromanagers, telling the computer exactly what to do step by step. Programming was based on logic, proofs, and assertions.
Modern Programming: Today, programmers often rely on Stack Overflow and copy code, rather than writing everything from scratch. Programming has shifted from a mathematical science to a more natural science approach. Programmers observe existing code, experiment, and adapt it to their needs.
Machine Learning’s Impact on Programming: Machine learning is changing the way we program. We endow computers with flexible models and the ability to observe and change themselves. This enables self-driving cars, chess-playing computers, and other AI applications.
AlphaZero vs. Deep Blue: Deep Blue (1997) used expert chess knowledge, historical data, and algorithmic approaches to beat Kasparov. AlphaZero (2017) discarded all that and learned to play chess solely from the rules and by playing against itself. This demonstrates the power of machine learning to surpass human expertise.
Conclusion: Machine learning is revolutionizing programming, but it doesn’t eliminate the need for programmers. Programmers are still needed to design algorithms, understand underlying concepts, and solve problems creatively.
Tools and Approach: The approach to AI has evolved from a logical approach to a natural history approach and now resembles a hard science. The focus is on gathering data, exposing systems to data, and conducting experiments. This approach requires fewer programmers and less emphasis on writing code. Instead, the focus is on showing the machine the right data.
Data Science: Data science is the intersection of programming, math/statistics, and knowledge of the subject matter. Data scientists must have a basic understanding of all three areas. Thesis advisors often possess these skills but may lack programming expertise.
The Danger Zone: The danger zone in data science occurs when individuals with programming and domain knowledge but limited statistical expertise make mistakes. However, having sufficient data can mitigate the risk of serious statistical errors.
Democratizing Data Science: The goal is to simplify data science to make it more accessible to a broader range of individuals. This will enable more people to contribute to the field and accelerate progress.
00:13:24 Automating Tasks with Machine Learning: Challenges and Solutions
Automation and Domain Expertise: Makoto Koki, a cucumber farmer’s son from Japan, sought to automate cucumber sorting using TensorFlow and a camera. Despite lacking domain expertise and professional programming skills, Koki’s engineering background enabled him to successfully train a network to sort cucumbers into nine categories.
Necessary Knowledge for Building Deep Learning Systems: Basic understanding of the system’s components and their functions, such as the number of convolutional layers, learning rate, and loss function. Ability to provide hints to the system, such as lighting conditions, class imbalance, and desired error distribution.
Challenges in Democratizing Deep Learning: The need to eliminate the requirement for deep technical knowledge, such as understanding internal system parameters. Automating tasks like data augmentation, correcting mislabeling, and handling distribution skew. Developing systems that are differentiable end-to-end to allow for continuous improvement and error correction throughout the data processing pipeline.
Importance of Data Processing: Data processing and data wrangling are crucial for successful deep learning applications. Many startups allocate excessive time to model building and overlook the significance of data preparation and production system maintenance.
Differentiable Systems: Deep learning systems should be differentiable end-to-end, enabling error correction throughout the entire data processing pipeline. Current systems only allow for error correction in the model building step, neglecting the impact of data cleaning and transformation choices. Building differentiable systems will allow for continuous improvement and adaptation to changing data and requirements.
00:19:43 The Risks and Challenges of Machine Learning
Technical Debt in Machine Learning: Complex machine learning models can introduce technical debt by eroding boundaries between modules and making it harder to debug. Data dependencies in machine learning systems are more costly than code dependencies, as they can lead to errors that are difficult to detect and correct.
Data Quality and Errors: Data errors are common in machine learning systems due to the lack of comprehensive tools and methodologies for managing and validating data. These errors can have significant consequences, such as the accidental removal of McGill University’s web pages from Google’s index due to a misunderstanding of regular expressions.
Need for Probabilistic Reasoning: Many programming languages are based on logical reasoning, with constructs like if statements that evaluate to true or false. Machine learning requires the ability to reason probabilistically, as data is often uncertain and conclusions are based on probabilities rather than absolute truths.
Challenges in Machine Learning: Machine learning systems can suffer from biases, which can lead to unfair or discriminatory outcomes. Overfitting occurs when a model learns too closely to the training data and fails to generalize well to new data. Underfitting occurs when a model fails to capture the underlying patterns in the data and makes inaccurate predictions.
Opportunities in Machine Learning: Machine learning has the potential to solve complex problems and achieve breakthroughs in various fields, such as healthcare, finance, and transportation. By addressing the challenges and developing better tools and methodologies, machine learning can be used to create systems that are more reliable, accurate, and ethical.
00:25:25 Probabilistic Programming for AI Applications
Machine Learning and AI Use Probabilities and Not Boolean Logic: Peter Norvig highlights the differences between AI and traditional programming. In AI, we deal with uncertainty and require probabilities, not just true or false values. AI requires reasoning from evidence in both directions and operating in any direction, not just from inputs to outputs.
Probabilistic Programming for Simulating and Predicting Outcomes: Probabilistic programming allows us to build models of how variables relate to each other and simulate them. By observing one value, we can infer the likely values of other variables that could have led to that observation. This approach is more intuitive and closely aligns with machine learning and AI problems, moving away from Boolean logic and towards random variables.
Democratizing AI through Query Languages: Norvig emphasizes the need for programming languages that are accessible to less skilled programmers. Query languages can be extended to allow users to perform more sophisticated tasks without writing complex programs.
Examples of Query Language Applications: A query to send a mailing to customers within a specific demographic can be written without directly asking customers for their age or income. The system can infer these attributes from past purchase patterns, with a margin of error that is acceptable for such applications. In electronic medical records, a query can be used to generate a differential diagnosis for a patient, considering multiple possible diseases and their likelihoods, rather than just returning a single diagnosis.
Conclusion: Norvig emphasizes the importance of probabilistic programming and query languages in making AI more accessible and useful for various applications, including those involving uncertainty and complex data analysis.
00:29:39 Probabilistic Programming and Its Applications
Monte Carlo Simulation in Probabilistic Programming: Probabilistic programming offers an alternative approach to the SQL model by introducing multiple possible values in each field, resulting in a more complex model. Monte Carlo simulation is used in probabilistic programming to attempt various scenarios and summarize the results effectively.
User Interface Challenges: The challenge lies in presenting the complex idea of multiple possible values to the user in a clear and simple manner. The goal is to find treatments with no adverse effects that cover all diagnoses while considering the uncertainty in the data.
Mars Climate Orbiter Failure: The Mars Climate Orbiter mission encountered a failure due to a mix-up between imperial and metric units. The spacecraft came in at 57 kilometers instead of the intended 220 kilometers, resulting in its loss.
Probability and Accuracy: The failure highlights the importance of explicitly dealing with probability in complex systems. Traditional approaches focused on providing a single answer, while probabilistic methods would have detected anomalies in the data.
Variance and Model Mismatch: The failure was not primarily due to the position of the spacecraft but rather due to its variance not matching the expected model. Tracking variance explicitly could have prevented the accident.
Distributed Teams and Communication: The team’s split location between JPL in Pasadena and Lockheed Martin in Colorado may have contributed to the failure. Co-located teams might have communicated more effectively and identified the discrepancies.
Conversation as a Simpler Approach: Peter Norvig emphasizes the significance of simplifying communication between humans and machines, suggesting the use of natural language processing (NLP) to enable conversational interactions.
Drawbacks of Voice Menus: Norvig criticizes traditional voice menus, highlighting their frustration and inefficiency due to their structured and inflexible design.
Mismatch Between Programming and Natural Language: He explains that conventional programming approaches, with their rigid if-then constructs, are not suitable for conversational systems because they don’t align with how people naturally communicate.
Examples of Conversational Success in Fiction: Norvig points to fictional examples of successful conversational systems, showcasing their ability to engage users and foster emotional connections.
Current State of Conversational Agents: Norvig acknowledges the progress made by major tech companies in developing conversational agents, citing their effectiveness in performing specific tasks like setting alarms, providing recipes, and delivering weather information.
Challenges in Expanding Conversational Capabilities: He highlights the limited range of tasks that conversational agents can currently handle and the difficulty in predicting their capabilities.
Need for Improved Understanding and User Experience: Norvig emphasizes the need for a deeper understanding of user needs and expectations, along with improvements in the user experience, to unlock the full potential of conversational systems.
00:35:14 Conversational Agents: A Step Backwards in User Interface
The Current State of Conversational Agents: * Conversational agents, such as Siri and Alexa, are not as user-friendly as traditional app interfaces. * They require users to follow a specific tree-like structure of interactions, which is inflexible and limiting. * This approach does not provide a natural and intuitive user experience.
Need for a Better Model: * There is a need for a better model for building conversational agents that are more user-friendly and flexible. * This model should allow users to interact with the agent in a more natural and conversational manner. * It should also enable users to share data selectively and securely with different entities.
Potential Drawbacks of Conversational Agents: * Widespread adoption of conversational agents could lead to a step backwards in usability and user interface design. * The lack of a single responsible entity for the user experience can make it difficult to create a cohesive and seamless interaction. * Conversational agents may not always be able to provide the best possible service, as they may be limited by the capabilities of the underlying systems and services.
Benefits of Conversational Agents: * Conversational agents can provide a more personalized and tailored user experience. * They can potentially enable users to interact with multiple services and systems in a more seamless manner. * Conversational agents may offer a more natural and intuitive way for users to interact with technology.
Conclusion: * The future of conversational agents is uncertain, and it remains to be seen whether they will become the dominant mode of user interaction. * There are both potential benefits and drawbacks to the use of conversational agents, and it is important to carefully consider these factors when designing and implementing such systems.
00:39:11 Capturing User Interface Decisions and Preferences in Executable Code
Lost Artifacts in Programming: Peter Norvig shares an example of a situation where a user interface study led to the removal of a scale bar from a map, which was inconvenient for him in a specific scenario.
The Need for Customizable User Interfaces: Norvig emphasizes that one-size-fits-all user interface decisions may not work for everyone. He suggests that user interfaces should be dynamic and adaptable to individual preferences.
Executable Documentation and Reasoning: Norvig proposes that all aspects of programming, including documentation, reasoning, and user interface experiments, should be captured in an executable format. This would allow for easy modification and updates based on changing needs.
Benefits of Executable Documentation: Executable documentation would enable users to make changes to the user interface or other aspects of the program without having to go through complex coding processes.
Conclusion: Norvig advocates for a programming approach that captures all relevant information in an executable format, ensuring that the program remains adaptable and responsive to changing requirements and user preferences.
00:41:32 Utility Functions, Philosophers, and the Future of AI
Privacy, Security, and Fairness in the Age of AI Assistants: We have a huge issue with privacy, security, and fairness, as apps often request excessive permissions. We need a better security model that allows us to specify how we want to be safe. We should shift from micromanaging AI systems to providing utility functions and letting them learn through reinforcement learning.
The Challenge of Specifying What We Want: Moving from telling computers what to do step by step to specifying objectives is challenging. We often don’t know exactly what we want, leading to mistakes like King Midas’ desire for everything to turn to gold.
The Role of Philosophers in AI: We need to consult philosophers to understand the deep needs and goals that drive our actions. Mick Jagger’s focus on what we want versus what we need is misguided, while Bobby Kennedy’s emphasis on our needs is more accurate.
The Marketplace of Wants vs. Needs: We’ve built a marketplace that exploits our wants and desires, leading to outcomes we don’t truly want. We need to create a marketplace that aligns our collective goals with our deep needs.
Can You Trust Your AI Assistant?: AI assistants are not completely on our side as they work for the companies that created them. However, they may be more trustworthy than companies with conflicting interests, such as Uber. The more open these assistants become, the more we can trust them.
Centralization of Power in Cloud Computing: The investment in data centers by large companies doesn’t necessarily lead to concentrated power. These companies may share their data and allow third-party companies to build assistants on top of it. This could lead to a more diverse marketplace of AI assistants, increasing trust and choice for users.
00:49:15 Combating Unanticipated App Behavior and Improving User Privacy
Challenges in Global Finance: Lack of reliable individual records for lending decisions in developing countries. Currency volatility and the need for hedging strategies.
Education: Difficulty in finding teachers with computer science skills. Teaching programming languages may not be as beneficial in the long run. Importance of learning problem-solving and modeling skills.
Understanding the Human Mind: Crucial for designing user interfaces and meeting people halfway. Need for a better understanding of user needs, language, and physiological cues.
User Interface Design: Balancing user-friendly interfaces with open-ended capabilities. Importance of understanding user engagement and comprehension.
Data Privacy: Hidden actions and data collection by apps. Need for more visible and granular control over app permissions. Avoiding the “zero, one, many” approach to data access.
Security Vulnerabilities: Ease of large-scale data breaches due to excessive access permissions. Importance of defensive system design and limiting access to specific requests.
Abstract
The Evolution and Future of Programming: From Mechanical Vision to Conversational AI
The Evolution of Programming Paradigms and the Role of Programmers
Since Vannevar Bush’s mechanical vision in 1945, programming has evolved significantly, integrating machine learning (ML) and natural science approaches. This evolution has shifted the role of programmers from micromanaging computers to orchestrating code from various sources, emphasizing their role as code orchestrators.
Machine Learning: Transforming Programming and Its Applications
Machine learning has been a game-changer in programming, enabling computers to autonomously observe, learn, and adapt. A prime example is AlphaZero, which mastered chess through learning from rules and self-play, surpassing human expertise. While ML automates numerous tasks, it still requires human input for algorithm selection and complex problem-solving. Makoto Koki’s automated cucumber sorting system illustrates ML’s potential and the challenges in democratizing such complex technologies.
Technical Challenges in Machine Learning: Data Processing and Probabilistic Reasoning
Data processing, a critical yet often overlooked aspect of ML, demands substantial time and resources. Challenges include the non-differentiability of data processing steps and error correction. ML’s rapid development has led to technical debt and data dependency issues. Unlike traditional programming that relies on logical reasoning, ML emphasizes probabilistic reasoning, requiring new paradigms and tools for effective data management.
The Promise and Challenges of Conversational AI
Conversational AI, still in its infancy, promises to eliminate traditional programming interfaces, offering more natural user experiences. However, the limitations and inflexibility of current conversational interfaces underscore the need for more sophisticated and user-aligned designs.
Designing User Interfaces for a Dynamic Future
Current user interface designs often prioritize the majority, leading to limited customization options and a disconnect between design decisions and code. The future envisions dynamic interfaces, fully integrated with documentation, adaptable to individual user preferences.
Ethical and Social Implications: Privacy, Security, and AI Goals
The progression in programming raises significant privacy, security, and fairness issues. The transition from prescriptive programming to utility functions in ML necessitates careful definition of desired outcomes, aligning AI goals with societal well-being. Trust in AI assistants is currently limited due to their primary allegiance to their creating companies rather than users.
Global and Educational Challenges in the AI Era
Developing countries face unique challenges, including trustworthiness assessment without individual records and handling currency volatility. In education, the emphasis should shift from specific programming languages to problem-solving skills, addressing the scarcity of skilled teachers.
Understanding the Human Mind for Better Interfaces and Addressing Privacy Concerns
Effective user interface design requires a profound understanding of human behavior and preferences. Concurrently, there’s an increasing need for systems that respect user privacy, offering transparent and granular data control.
Balancing Innovation with Ethical Considerations and Security
As programming continues to evolve, it’s crucial to balance innovation with ethical considerations, privacy, and security. The future of programming lies not only in technological advancements but also in addressing these broader societal and ethical challenges.
Innovations in Communication Technology
Peter Norvig emphasizes the need for simpler communication between humans and machines, advocating for natural language processing to enable conversational interactions. He criticizes traditional voice menus for their inflexibility and inefficiency. Norvig points out the mismatch between conventional programming and natural conversation, highlighting the limitations of structured if-then constructs in conversational systems. He references fictional examples of successful conversational systems, noting their emotional engagement capabilities. Acknowledging the progress made by tech companies in developing conversational agents, he notes their effectiveness in specific tasks but highlights the limited range of tasks they can handle and the challenges in predicting their future capabilities. Norvig stresses the importance of improving understanding and user experience to unlock the full potential of conversational systems.
A Critical Analysis of Conversational Agents and the Future of User Interfaces
Conversational agents, like Siri and Alexa, lack the user-friendliness of traditional app interfaces, requiring users to follow a rigid, tree-like structure of interactions. This approach fails to provide a natural and intuitive user experience. A better model is needed for building conversational agents that are more user-friendly, flexible, and allow natural, conversational interactions. This model should also enable selective and secure data sharing. The widespread adoption of conversational agents might lead to a regression in usability and user interface design, as the absence of a single responsible entity can hinder cohesive interactions. However, conversational agents offer the potential for a more personalized, tailored user experience and seamless interaction with multiple services. The future of conversational agents is uncertain, with potential benefits and drawbacks that must be carefully considered.
The Importance of Capturing All Aspects of Programming in an Executable Format
Peter Norvig highlights the issue of lost artifacts in programming, such as a removed scale bar from a map, due to one-size-fits-all user interface decisions. He advocates for dynamic and adaptable user interfaces. Norvig proposes capturing all aspects of programming, including documentation and reasoning, in an executable format, allowing easy modifications and updates. Executable documentation would enable users to alter interfaces or program aspects without complex coding, ensuring adaptability and responsiveness to changing needs and preferences.
Privacy, Security, Fairness, and the Future of AI Assistants
Privacy, security, and fairness in AI assistants pose significant challenges, as apps often require excessive permissions. A better security model is needed to specify desired safety levels. Transitioning from micromanaging AI to providing utility functions for reinforcement learning is challenging, as it’s hard to precisely define what we want. Philosophers can help understand our deep needs and goals. The current marketplace exploits our wants, necessitating a shift towards aligning collective goals with our deeper needs. AI assistants’ trustworthiness is limited by their allegiance to their creators, not users. However, as they become more open, they could be more trustworthy. The investment in data centers by large companies doesn’t necessarily lead to power centralization, and sharing data could lead to a diverse marketplace of AI assistants, increasing trust and choice.
Challenges, Solutions, and User Interfaces
In global finance, developing countries struggle with unreliable individual records for lending and currency volatility. In education, there’s a need to focus on problem-solving skills over specific programming languages, compounded by the difficulty of finding skilled teachers. Understanding the human mind is crucial for designing user interfaces that meet user needs. Balancing user-friendly interfaces with open-ended capabilities is essential. Data privacy issues arise from hidden actions and data collection by apps, requiring more visible control over app permissions. Security vulnerabilities stem from excessive access permissions, emphasizing the need for defensive design and limiting access.
Programming has undergone a remarkable transformation from early computers to modern devices, while challenges remain in making it universally accessible and incorporating natural language processing. Machine learning shifts the paradigm from traditional programming to an empirical model, extending beyond training to include data management and deployment....
Software engineering is shifting from a logical approach to an empirical science, and AI problems require distinct techniques due to continuous change and uncertainty. Machine learning is becoming integrated throughout the software engineering lifecycle, offering potential solutions to problems beyond traditional techniques....
AI in software development is evolving towards a data-driven, empirical approach, with ethical considerations and a focus on democratizing access. AI advancements should align with human needs, societal values, and global well-being....
Peter Norvig emphasized the relationship between data science, AI, and machine learning, illustrating the shift from rule-based systems to data-driven models and end-to-end solutions....
AI is advancing rapidly due to increased computing power, more available data, and new techniques like deep learning. However, challenges remain in areas such as AI safety, ethical considerations, and the development of conversational AI systems that can understand context and reason effectively....
AI has evolved from complex rules to probabilistic programming and impacted various aspects of society, presenting both opportunities and challenges. Norvig's insights emphasize gradual AI integration, responsible development, and continuous learning in this ever-evolving field....
AI education has shifted from algorithm analysis to applications, focusing on societal impacts like ethics and privacy. AI's practical applications are growing, but concerns about unintended consequences and safety remain....