Peter Norvig (Google Director of Research) – Confidence, Trust and Certainty for Collaboration between Humans and Automated Systems (Feb 2018)


Chapters

00:00:22 Shifting the Software Paradigm: From Micromanagement to Teaching
00:06:01 Machine Learning Challenges and Risks
00:10:06 Machine Learning System Verification and Improvement
00:14:11 Challenges and Opportunities in Human-Machine Interaction for AI Development
00:19:40 Overcoming Challenges in Machine Learning: Robustness, Adversaries, and the Limits
00:26:46 Challenges in Aggregating Multiple Objectives and Preferences
00:30:00 Alignment of Marketplace Demands and Intrinsic Desires

Abstract

The Evolution of Software Development in the Age of Machine Learning

Abstract

In the rapidly evolving landscape of software development, the emergence of machine learning (ML) has introduced new paradigms, challenges, and opportunities. This article delves into the historical context of the software crisis, the transformation of software development practices, the shifting role of programmers, and the various challenges and implications of incorporating ML into software systems. Using an inverted pyramid style, it offers a comprehensive overview, starting with the most critical developments and gradually presenting detailed explorations of specific topics.



1. The Historical Context of the Software Crisis

In 1968, Edgar Dijkstra articulated the “software crisis,” a term describing the difficulties in creating reliable, large-scale software systems. This crisis was attributed to the increasing complexity of machines, limitations in programming languages, and the intricate nature of problems being solved. Today, the advent of ML and its applications in domains like self-driving cars and speech recognition has reignited concerns similar to the original software crisis, now often referred to as the “machine learning crisis.”

Possible Causes of the Software Crisis:

– Powerful machines led to more bugs due to increased complexity.

– Programming languages may have contributed to software reliability issues.

– The challenges of interacting with the messy real world, such as self-driving cars, also played a role.

In addition, the difficulties in understanding and communicating with machines further contributed to the software crisis.

2. The Paradigm Shift in Software Development

Traditionally, software development has been a meticulous process where programmers manually code and debug, striving for mathematical precision. However, modern software development increasingly incorporates ML, shifting the focus from manual coding to machines learning from data. This transition changes the role of human programmers from micromanagers to educators, guiding the learning process of machines.

The Changing Landscape of Software Development:

– The emergence of machine learning and AI is partially replacing traditional software development.

– Machine learning algorithms are trained on data and learn to make predictions or perform tasks.

– Humans still play a role as teachers, providing data and defining the boundaries of the model.

– The lack of perfect communication channels between humans and machines complicates teaching and learning.

3. Machine Learning’s New Challenges

While ML has brought remarkable advancements, it also presents new challenges. Surprises in ML can be both positive and negative, with the potential for unintended consequences. The complexity and interconnectedness of ML systems make debugging and error management more challenging than traditional software. Additionally, the lack of effective two-way communication between humans and AI systems complicates the feedback and improvement process.

Challenges in Software Development:

– The surprises in software development can be positive (accomplishments) or negative (unexpected issues).

– Identifying and mitigating potential negative surprises is a key challenge in modern software development.

Issues Causing Risks:

– Complexity: Machine-learned systems are complex and difficult to debug.

– Lack of Abstraction Barriers: Traditional programs have clear component boundaries for testing, but machine-learned systems lack this structure.

– Lack of perfect communication channels between humans and machines.

4. Human and Machine Collaboration in Software Development

The concept of “centaurs,” or human-machine teams, has gained traction in fields like gaming, where machines have surpassed human performance. However, in many domains, the balance between human guidance and autonomous learning remains a crucial consideration. Systems like CrowdFlower and Mechanical Turk demonstrate the value of human input, particularly in auxiliary roles, while humans still play central roles in critical decision-making processes.

The Transition from Micromanagement to Teaching:

– This shift in the role of programmers can be observed in both the real world and the software world.

– In both cases, the focus is on providing guidance and objectives rather than dictating every detail.

– General Patton’s Leadership Philosophy: General Patton advocated for giving subordinates clear objectives without micromanaging their methods, allowing them to surprise superiors with their results.

– The inability for machines to understand concepts and communicate hinders effective teaching.

5. Ethical and Practical Implications of Machine Learning

The integration of ML in software development raises significant ethical and practical issues, including concerns about privacy, security, fairness, and the optimization of AI systems. Adversarial attacks, for example, expose unique vulnerabilities in AI systems that differ from human weaknesses. Moreover, the challenges of fair resource allocation and preference aggregation highlight the complexity of ethical decision-making in AI.

Challenges in Machine Learning:

– Machines’ inability to understand human concepts hinders effective communication.

– Non-stationarity, or the changing nature of data over time, poses a challenge in building models that remain accurate.

– Safe exploration of the real world is crucial for robots to learn effectively while ensuring safety.

– The lack of perfect simulators for complex tasks like self-driving cars limits the ability to learn from simulations alone.

6. The Future of Software Development and Machine Learning

Looking ahead, the field faces the task of developing better methods for expressing and aggregating preferences and resolving conflicts between different fairness measures. The evolution of software development, now intertwined with ML, requires a continuous assessment of both the technological advancements and the societal implications they entail.



7. The Misalignment Between What We Want and What We Need

In the field of software development and AI, Peter Norvig highlights a crucial debate between what we want and what we truly need. While we often pursue desires that may not align with our fundamental needs, the marketplace reinforces these desires. Norvig emphasizes the misalignment between our actions and our true wants, leading to potential problems and dissatisfaction.

In conclusion, the software development landscape has undergone a profound transformation with the integration of machine learning. This evolution brings with it new challenges, opportunities, and responsibilities. Understanding these dynamics is crucial for the responsible and effective advancement of AI systems, ensuring they align with our values and societal needs.


Notes by: Ain