the slides

Transcription

the slides
Open Source is Not Enough:
The Importance of Algorithm Transparency
Rachel Shadoan
@rachelshadoan
@akashiclabs
What is an algorithm?
Inputs
Finite ordered
list of
instructions
Outputs
Recipes are algorithms
Yogurt
Mango
Ice
1.Place inputs
in blender
2.Blend until
smooth
Smoothie
Outputs Depend on Inputs
Yogurt
Mango
Ice
1.Place inputs
in blender
2.Blend until
smooth
Smoothie
No ingredients → No smoothie
Outputs Depend on Inputs
Rocks
Wood chips
Motor oil
1.Place inputs
in blender
2.Blend until
smooth
Bad ingredients → bad smoothie
Giant
mess
We are algorithms
Environmental
Stimulus
Really Complex
Biological
Stuff
Thoughts
and
Actions
We can only
think about the
things we’ve
been exposed to
Evaluating the
quality of the
inputs we receive
is necessary to
evaluate the
quality of our
thoughts
Unknown Unknowns
????
Opaque (“Black
Box”) Algorithm
Opaque algorithms
interfere with our
ability to evaluate
the validity/value
of inputs to our
brain algorithm
????
Really Complex
Biological Stuff
Thoughts
and Actions
Algorithm Transparency
Means No Secrets
• Inputs can be scrutinized
• Control surfaces are clearly
described
• Algorithm steps and internal
state can be scrutinized
• Assumptions and models used by
the algorithm are clearly
described
• Justification available for
outputs produced
Old Information Access
Algorithms
Internet-Age Information
Access Algorithms
So what can we do?
Open those opaque boxes!
• Support projects that use
transparent algorithms
• Demand transparency from the
opaque algorithms you use
• Foster algorithm transparency
in your own projects
But my algorithms
are already open
source!
But my users don’t
want to know!
But my algorithm
is too advanced to
explain to my
users!
Transparency for
Your Projects
Talk to Your Users
• How do they think it works?
• What control do they think they
have over its outputs?
• What do they wish they knew
about it?
Document, Document, Document
• What inputs does the algorithm
work on?
• What internal state does the
algorithm maintain?
• What assumptions/models does the
algorithm use?
• What control surfaces does the
algorithm have?
• For any given result, why was
that result produced?
Credits
Al McNutty, CC 2.0, via
Flickr
Megan Amaral, CC 2.0,
via Flickr
Kyle aka Wackyland, CC
2.0, via Flickr
UConn Libraries MAGIC,
CC 2.0, via Flickr
Pete aka ComedyNose, CC
2.0, via Flickr
Smithsonian’s National
Zoo, CC 2.0, via Flickr
Credits, Continued
Malingering, CC 2.0, via
Flickr
Ourania, CC 2.0, via
Flickr