Peter Norvig (Google Director of Research) – As We May Program (Oct 2019)
Chapters
00:00:21 The Future of Machine Learning and Programming
Keynote Speaker Introduction: Grace, the organizer of the regional Python conference, introduces Brian Spring, who will introduce the keynote speaker, Peter Norvig. Brian highlights Peter Norvig’s impressive background, including his PhD from UC Berkeley, prestigious positions at Google and NASA, teaching experience, and authorship of influential books like “Artificial Intelligence, A Modern Approach.”
Conference Connections: Grace emphasizes the importance of building relationships and connections at conferences like this. She reflects on her journey from starting a Python meetup with 35 attendees to organizing a regional conference. Grace acknowledges the role of connections in securing Peter Norvig as the keynote speaker through Brian Spring’s involvement in the local Python community.
Importance of Curiosity and Relationships: Grace encourages attendees to be curious about the people they meet and to connect with them on a personal level. She suggests that these connections may lead to interesting projects, friendships, and collaborations in the future.
Peter Norvig’s Introduction: Brian Spearing introduces Peter Norvig, highlighting his accomplishments and contributions to computer science and AI. Norvig acknowledges the excitement of the conference and expresses his desire to attend specific Python-related sessions.
Future of Programming: Norvig announces that his talk will focus on the potential future of programming, rather than specific Python topics. He hints that Python will play a role in shaping this future.
00:05:23 The Future of Programming: From Micromanagement to Empirical Science
The Evolution of Programming: Vannevar Bush’s “Memex” device in 1945 envisioned a personal information management system that allowed users to explore, organize, and express their thoughts. Today, tools like Python, Jupyter, and GitHub enable similar capabilities, facilitating exploration, organization, and sharing of ideas.
The Shift from Mathematical to Empirical Software Development: Traditional software development relies on Boolean logic and proofs, often resulting in micromanagement of the computer’s actions. Machine learning and deep learning introduce an alternative approach, where the computer learns from data and examples, making software development more empirical and observational.
The Three-Step Model of Machine Learning: A simplified model of machine learning involves gathering data, training a model, and evaluating its performance. However, the realistic model is more complex, involving data wrangling, serving, and updating, with the evaluation and debugging of the model being relatively straightforward.
The Need for a Holistic Approach to Machine Learning: Current machine learning tools primarily focus on the middle step of training the model, neglecting the challenges of data wrangling and serving. There is a need for comprehensive toolsets that support the entire machine learning process, from data collection to deployment.
The Differentiability of Deep Learning Models: Deep learning models are differentiable, allowing for error minimization and improvement through backpropagation. This differentiability enables continuous learning and refinement of the model.
00:12:33 Advancing Machine Learning for User-Friendly Systems
Introduction: Peter Norvig discusses the challenges in creating a user-friendly system that is differentiable throughout the entire process.
Data Science as an Alternative: Data science is presented as an alternative approach that combines hacking, math, and subject area expertise.
Real-World Example: Makoto Koukei, a cucumber farmer in Japan, sought to automate the sorting process using TensorFlow and a camera.
Challenges in Machine Learning: Norvig highlights the current limitations of machine learning models, requiring extensive parameter tuning and specialized knowledge.
Conversation as a Potential Solution: The exploration of conversation as a means to make computers more accessible and user-friendly is discussed.
Critique of Voice Menus: Norvig emphasizes the drawbacks of voice menu systems, which often limit user interaction and fail to provide a natural conversational experience.
Conclusion: The presentation acknowledges the need for significant advancements to make computers as easy to use as bicycles, particularly in the areas of natural language processing and intuitive user interfaces.
00:17:02 Challenges and Uncertainties in Developing Conversational and Federated User Interfaces
Apps and Privacy: Conversational systems like apps often raise privacy and security concerns. Users are often presented with long permission requests without fully understanding the implications, leading to potential risks.
Centralized vs. Federated User Interfaces: Current systems often operate as fiefdoms of republics, where each app has control over a specific task. A more desirable approach would be a federated user interface where multiple parties can contribute and collaborate. However, designing such an interface presents significant challenges.
Intermediaries and Trust: Intermediaries may emerge as trusted entities that users can share more information with, facilitating interactions with less trusted parties. The architecture for such a system is still unknown and requires further exploration.
Personalized Recommendations: Personalized recommendations can be useful, but they may not always be practical. For example, a recommendation to return a rental car by bicycle may not be suitable if the user needs to tow the car.
Bug Reporting: Even seemingly well-designed systems can produce unexpected errors or recommendations. Users should be able to easily report bugs to improve the system’s performance.
00:19:58 The Challenges of Writing Clear Software Specifications
Problems with Traditional Software Programming: Current software systems are often brittle and lack understanding of the context and meaning of data. This leads to errors and difficulties in debugging and fixing issues.
The Need for Understanding and Context: To improve software quality, it is crucial to move beyond simply passing data along as strings. Systems need to be able to understand the meaning and context of data to make informed decisions.
The Role of Machine Learning: Machine learning can be used to help systems understand the meaning of data and make predictions based on that understanding. This can lead to more robust and flexible software systems.
Challenges in Specifying Software Requirements: Accurately specifying software requirements is notoriously difficult, as evidenced by historical legends like King Midas and the genie in the lamp. Misinterpretations and unintended consequences often arise due to the complexity and fuzziness of natural language.
Approaches to Address Specification Challenges: Techniques such as unit testing, simulations, small-scale tests, and adversarial testing can help identify and fix bugs early on. Monitoring and analyzing system behavior can also aid in detecting and preventing issues.
Limitations of Language-Based Specifications: Relying solely on language to define software requirements can be limiting and error-prone. Legal systems also face challenges in anticipating all implications of laws, leading to the reliance on case law and precedent.
The Potential of Machine Learning for Software Engineering: Machine learning offers an alternative approach to software programming. By providing examples of desired behavior, machine learning algorithms can learn to act in accordance with those examples without being explicitly instructed on how to do so.
00:24:42 Reforming the Marketplace for Meaningful Technological Progress
Leadership: Leaders should tell people what to do, not how to do it, allowing them to surprise with results. Patton’s quote exemplifies this approach in military leadership.
Human Wants vs Needs: Mick Jagger’s famous line “You can’t always get what you want” is contrasted with Bob Dylan’s lesser-known quote, “You get what you need.” We have created systems that prioritize short-term wants over long-term needs.
Marketplace Reform: Our current marketplace encourages short-term rewards that don’t reflect our societal goals. We need to reform the marketplace to align it with long-term needs.
Peter Norvig’s Current Role and Python Usage: Norvig’s current role is managerial, but he still engages in programming through textbook work and Python exploration. He anticipates the implementation of type specifications in Python 3 for improved documentation.
Cucumber Farmer Example: The cucumber farmer’s system successfully automates cucumber classification but may not eliminate physical labor entirely.
Conversational Devices and the Future: Conversational devices, like voice-activated speakers, are revolutionizing human-computer interaction. Norvig envisions a future where screens and keyboards are replaced by conversational interfaces.
00:29:47 The Future of AI and Its Impact on Society
The Future of AI and Conversational Systems: Peter Norvig expresses uncertainty about the future direction of AI and conversational systems, comparing them to the early days of the World Wide Web. He highlights the interesting split of control between the conversational persona and the connected services and emphasizes the challenge of making this work effectively.
Progress and Evolution in AI: Norvig acknowledges the rapid progress in AI, particularly in benchmark tasks like chess, Go, speech recognition, and natural language understanding. He notes the revolutionary impact of deep learning, which led to significant improvements in performance. However, he also emphasizes that AI has evolved over time, with gradual improvements driven by better algorithms, more data, faster machines, and clever ideas.
Winner-Take-All Concerns: Norvig addresses concerns about the possibility of a winner-take-all scenario in AI, where a few large companies dominate the field. He acknowledges complaints from researchers and companies with limited resources, but he believes that cloud providers are moving towards democratizing access to resources and software. He sees a trend towards competing on APIs, data availability, and specific task-oriented algorithms, which could level the playing field for developers.
Reforming the Marketplace: Norvig discusses the need to reform the marketplace to better reflect global values and societal needs rather than solely focusing on individual wants. He suggests the importance of promoting thoughtfulness and responsible design in technology products. He mentions the example of Tristan Harris’s “time well spent” concept and the potential for certification or trademarks to indicate that an app or service is designed to benefit users rather than exploit them. He also acknowledges the role of legal regulations like GDPR in addressing these issues. Norvig emphasizes the need to apply existing knowledge and strategies for managing shared resources, such as those described by Eleanor Ostrom’s work on the tragedy of the commons, to the context of AI and technology.
Abstract
The Evolution and Impact of AI in Modern Software Development: A Comprehensive Analysis
Abstract
This article examines the profound changes in software development and artificial intelligence (AI) as discussed at a regional Python conference, emphasizing Peter Norvig’s vision and contributions. We dive into Norvig’s proposal for a more empirical, data-driven approach in programming, highlighting ethical considerations, the democratization of AI, and the need to align technology with human needs and societal values. The path forward involves embracing uncertainty, fostering collaboration, and ensuring that AI development is guided by ethical principles and global well-being.
Conference Overview and Keynote Introduction
Grace, the organizer, welcomed attendees, highlighting the importance of connections and personal interactions. The conference featured an exceptional lineup, including keynote speaker Peter Norvig, a leading figure in AI and computer science. Brian Spearing introduced Norvig, outlining his impressive achievements and contributions to the field, including his PhD from UC Berkeley, prestigious positions at Google and NASA, and influential books like “Artificial Intelligence: A Modern Approach.”
Grace then shared her journey from starting a Python meetup with 35 attendees to organizing a regional conference, acknowledging the role of connections in securing Peter Norvig as the keynote speaker through Brian Spring’s involvement in the local Python community. She encouraged attendees to be curious about the people they meet and to connect with them on a personal level, as these connections may lead to interesting projects, friendships, and collaborations in the future.
Norvig’s Vision for Software Development
Norvig’s presentation focused on the transformative potential of machine learning in programming practices. He advocated a shift towards a data-driven, empirical approach, where programmers provide examples and observations for the software to learn and adapt. This approach is probabilistic and observational, resembling the natural sciences.
Norvig drew parallels between Vannevar Bush’s 1945 vision of the “Memex,” a precursor to the modern internet, and the current limitations in information access and organization. He advocated for the use of Python and Jupyter in exploring and organizing knowledge, highlighting the mathematical nature of traditional software development and its constraints.
Deep Learning and Its Implications
Deep learning and machine learning models excel at solving complex problems and adapting to new situations, yet challenges in evaluating, debugging, and updating them are substantial, necessitating a more comprehensive approach to their development and deployment.
Norvig elaborated on the differentiable nature of deep learning models, enabling error minimization and improvement through backpropagation. This differentiability allows for continuous learning and refinement of the model. However, he also stressed the need for advancements in natural language processing and user-friendly interfaces to make computers as intuitive as bicycles.
Progress and Evolution in AI:
The remarkable progress in AI, especially in benchmark tasks like chess, Go, speech recognition, and natural language understanding, was highlighted by Norvig. He acknowledged the revolutionary impact of deep learning, which brought significant performance improvements. However, he emphasized that AI has evolved over time through gradual advancements driven by better algorithms, more data, faster machines, and clever ideas.
The Human Aspect: Data Science and Programming
The article underscores the human aspect of AI and programming. Data science, a field that combines hacking, math, and subject expertise, facilitates problem-solving across various domains. The story of Makoto Koukei, a cucumber farmer in Japan, who used TensorFlow to automate cucumber sorting, exemplifies AI’s practical applications.
Norvig discussed the challenges of creating user-friendly systems that are differentiable throughout the entire process. He presented data science as an alternative approach that combines hacking, math, and subject area expertise. Despite current limitations, such as the need for extensive parameter tuning and specialized knowledge in machine learning models, the exploration of conversation as a means to make computers more accessible and user-friendly was discussed.
Conversational AI and Future Directions:
Norvig expressed uncertainty about the future of AI and conversational systems, likening them to the early stages of the World Wide Web. He highlighted the challenge of effectively managing the split of control between the conversational persona and connected services. Additionally, he acknowledged concerns about the possibility of a winner-take-all scenario in AI, with a few large companies dominating the field. However, he believes cloud providers are moving towards democratizing access to resources and software. He sees a trend towards competition in APIs, data availability, and task-oriented algorithms, potentially leveling the playing field for developers.
Ethical Considerations and Social Implications
The article discusses privacy and security concerns in app permissions, the necessity for a federated user interface, and the pitfalls of personalized recommendations. It also addresses the challenges of specifying desires in AI systems and the importance of safeguards like undo functions and monitoring.
Reforming the Marketplace:
Norvig emphasized the need to reform the marketplace to better reflect global values and societal needs rather than solely focusing on individual wants. He proposed promoting thoughtfulness and responsible design in technology products, drawing inspiration from Tristan Harris’s “time well spent” concept. He suggested the potential for certification or trademarks to indicate that an app or service benefits users rather than exploits them. He also acknowledged the role of legal regulations like GDPR in addressing these issues. Furthermore, Norvig stressed the importance of applying existing knowledge and strategies for managing shared resources, as outlined in Eleanor Ostrom’s work on the tragedy of the commons, to the context of AI and technology.
Conclusion
The conference underscored the rapid evolution of AI and its profound impact on software development and society. Norvig’s vision for a more empirical, data-driven approach in programming, along with ethical considerations and the democratization of AI, points towards a future where technology aligns more closely with human needs and societal values. The path forward involves embracing uncertainty, fostering collaboration, and ensuring that AI development is guided by ethical principles and global well-being.
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 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....
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....
Programming has dramatically evolved from strict logic instructions to assembling code from various sources, with ML revolutionizing the field and conversational AI promising a more natural user experience. The future of AI assistants relies on balancing innovation with ethical considerations, privacy, and security....
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....
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 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....