SlideShare une entreprise Scribd logo
1  sur  42
NYAI #7 (SPEAKER SERIES):
Data Science to Operationalize
Machine Learning (Matthew Russell)
& Computational Creativity
(Dr. Cole D. Ingraham DMA)
Top-down vs. Bottom-up
Computational Creativity
Dr. Cole D. Ingraham
NYAI Nov. 22, 2016
About Me
• originally from Santa Clara, CA
• DMA Music Composition
• currently working as lead developer at
Amper Music (www.ampermusic.com)
• www.coleingraham.com
Abstract
• what does computational creativity mean, and what are some approaches?
• what are some examples of these approaches?
• how to know the best way a particular problem could be solved?
• primarily concerned with choosing an appropriate approach, less about
implementation
Defining Creativity
• Creativity: the use of the imagination or original ideas, especially in the production of an
artistic work.
• Artistic: having or revealing natural creative skill; aesthetically pleasing
• Aesthetic: a set of principles underlying and guiding the work of a particular artist or
artistic movement
• very circular, difficult to concretely define
Defining Creativity
• my personal requirements:
• originality/novelty
• having some unified set of guiding principals
Top-Down Approach
• finding an answer that:
• is novel and useful (either for the individual or for society)
• demands that we reject ideas we had previously accepted
• results from intense motivation and persistence
• comes from clarifying a problem that was originally vague
https://en.wikipedia.org/wiki/Computational_creativity#Defining_creativity_in_computational_terms
Bottom-Up Approach
• artificial neural networks
• machine learning
• data, data, and more data
https://en.wikipedia.org/wiki/Computational_creativity#Defining_creativity_in_computational_terms
Comparing Approaches
• Top-Down
• primarily code driven
• dependent on defining structure
• requires considerable development time to be effective
• very “hands on” (things only improve as the code base improves)
• Bottom-Up
• primarily data driven
• heavy use of statistical analysis
• requires considerable amounts of data to be effective
Comparing Approaches
• Top-Down
• you define the structure of your program
• Bottom-Up
• you learn the structure of your program from analyzing data
GenerationVs.Analysis
• Generation
• create something that does not exist
• novel output
• example use: music composition
• Analysis
• extract information from something that exists
• generalization of the input
Generation & Analysis
• the creation of something new can/should be informed by analysis of previous work
• in order to analyze previous work, the work must already exist
• ... chicken and egg
Generation by Analysis
• analysis produces generalizations/averages of all input
• this can lead to largely homogenous output
Generation,Then Analysis
• with some target in mind, generate output, then analyze it and see how close you got
• heuristic “guess and check” with no generation-time feedback
Generation, No Analysis
• create output without analyzing anything before or after
• you must know what you are going to get
• ... or you must not care what you are going to get
How to know what approach use?
It depends!
Generation / Analysis
• examples:
• compile-time code optimization: generate, analyze, repeat n times
• absolute realism: analyze, then generate (conceptually)
• generative abstract art: generate, do not analyze (sometimes)
Novelty
• introducing variance into the programs output
• important considerations:
• how much variance?
• how to determine what can be varied?
• how much/little control over the variance you want/need?
How MuchVariance?
• largely subjective and project dependent
• beware of probability-driven decisions:
• probabilities say how frequently something happens
• probabilities do not inherently say why something should happen
What Can BeVaried?
• largely subjective and project dependent
• example - text generation:
• synonyms can vary a sentence without fundamentally changing its meaning
• sentence structure and grammar are far less flexible
How to ControlVariance?
• largely subjective and project dependent (sensing a theme?)
• some options:
• explicitly defined seeding and propagation of pseudo-randomness
• working with finite quantities of input parameters
A Note on Randomness
• nondeterministic code is a nightmare to QA
• interaction between many deterministic operations can create seemingly random
outcome
• (my opinion) it’s a better use of time to work on deterministically defined variance
than it is to weed out undesired results from nondeterministic code
In the News
Google
• neural network based approach (TensorFlow)
• uses a large training set
• limited by availability of data (not a problem for Google)
Wavenet
(Google DeepMind)
• input: raw audio
• output: raw audio
• aimed at improving speech synthesis (very good at this)
• also used for music generation (less good at this)
Wavenet
“Since WaveNets can be used to model any audio signal, we thought it
would also be fun to try to generate music. Unlike the TTS experiments, we
didn’t condition the networks on an input sequence telling it what to play
(such as a musical score); instead, we simply let it generate whatever it
wanted to. When we trained it on a dataset of classical piano music, it
produced fascinating samples [...]”
https://deepmind.com/blog/wavenet-generative-model-raw-audio/
Wavenet
• “trained it on a dataset of classical piano music”
• single instrument, single genre
• “we didn’t condition the networks on an input sequence telling it what to play
(such as a musical score)”
• no large scale structural awareness
• “let it generate whatever it wanted to”
• no external input
...
what about top-down news?
Top-Down News?
• none that I’m aware of
• not a buzzword like neural networks
• (my opinion): everyone uses a top-down approach to some degree, they just don’t
feel the need to talk about it
Why am I talking about it then?
• to emphasize that:
• AI is more than just data science
• defining the structure of your problem is integral to finding its solution
• there are many more valid approaches to creative AI than what gets all the
attention
• one should use the right tool for the right job
• some balance between top-down and bottom-up is often the right choice
Project Example:Amper Music
• Goal: create an AI music composition platform that lets users create personalized,
professional quality music instantly with no experience required.
• Requirements:
• speed: it must be fast!
• quality: it must be believable!
• control: it must be collaborative!
Requirement: Speed
• neural networks are s l o w
• hand tuned algorithms can be fast
• lookup operations are very fast
Requirement: Quality
• neural networks can be very accurate, given a training set of sufficient size and quality
• most musical training (theory, performance practice) can be defined in code
• we:
• don’t (currently) have access to an appropriate training set
• do have a team of developers who are also highly trained professional musicians
Requirement: Control
• neural networks are “black boxes that just do what they do”
• defining music as a hierarchical structure offers handles to various aspects directly
• multiple levels of control:
• intuitive enough for the non-musician to use effectively
• powerful enough for the professional musician to use without feeling limited
Our Solution
• define various levels of musical structure in a declarative manner
• use machine learning / neural networks to generate data for all defined structural
levels offline, as data becomes available, that can be used to augment runtime
decisions
• structure the program in a way that can be easily scaled with machine learning, but
works without it
• keep the “black box” parts of the program as minimal and confined as possible
Tooling
• runtime: Haskell
• offline: Haskell, Python, anything else (it’s offline!)
Tooling• Why Haskell?
• compiled (fast)
• functional language (great for music and AI, like LISP)
• statically typed (safe, easy to maintain and refactor)
• Why Python?
• availability of libraries (TensorFlow as one example)
• scripting layer on top of C(++) (easier to use, still fast)
Tooling• Why Haskell?
• compiled to machine code (fast)
• functional language
• statically typed (safe, easy to maintain and refactor)
• Why not Python (for runtime)?
• interpreted / compiled to bytecode
• not a functional language (I wanted to use a functional language)
Thank you
Social Event:
THE STOREHOUSE
69 West 23rd
, New York,
NY 10010 (2nd
Floor)

Contenu connexe

En vedette

Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ EtsyNishan Subedi
 
NYAI - Understanding Music Through Machine Learning by Brian McFee
NYAI - Understanding Music Through Machine Learning by Brian McFeeNYAI - Understanding Music Through Machine Learning by Brian McFee
NYAI - Understanding Music Through Machine Learning by Brian McFeeRizwan Habib
 
NYAI - Commodity Machine Learning & Beyond by Andreas Mueller
NYAI - Commodity Machine Learning & Beyond by Andreas MuellerNYAI - Commodity Machine Learning & Beyond by Andreas Mueller
NYAI - Commodity Machine Learning & Beyond by Andreas MuellerRizwan Habib
 
Machine Learning with scikit-learn
Machine Learning with scikit-learnMachine Learning with scikit-learn
Machine Learning with scikit-learnodsc
 
Mining the Social Web for Fun and Profit: A Getting Started Guide
Mining the Social Web for Fun and Profit: A Getting Started GuideMining the Social Web for Fun and Profit: A Getting Started Guide
Mining the Social Web for Fun and Profit: A Getting Started GuideMatthew Russell
 
Privacy, Ethics, and Future Uses of the Social Web
Privacy, Ethics, and Future Uses of the Social WebPrivacy, Ethics, and Future Uses of the Social Web
Privacy, Ethics, and Future Uses of the Social WebMatthew Russell
 
Lessons Learned from Running Hundreds of Kaggle Competitions
Lessons Learned from Running Hundreds of Kaggle CompetitionsLessons Learned from Running Hundreds of Kaggle Competitions
Lessons Learned from Running Hundreds of Kaggle CompetitionsBen Hamner
 
What convnets look at when they look at nudity
What convnets look at when they look at nudityWhat convnets look at when they look at nudity
What convnets look at when they look at nudityRyan Compton
 
Mining Social Web APIs with IPython Notebook (PyCon 2014)
Mining Social Web APIs with IPython Notebook (PyCon 2014)Mining Social Web APIs with IPython Notebook (PyCon 2014)
Mining Social Web APIs with IPython Notebook (PyCon 2014)Matthew Russell
 
NYAI - Intersection of neuroscience and deep learning by Russell Hanson
NYAI - Intersection of neuroscience and deep learning by Russell HansonNYAI - Intersection of neuroscience and deep learning by Russell Hanson
NYAI - Intersection of neuroscience and deep learning by Russell HansonRizwan Habib
 
Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)
Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)
Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)Matthew Russell
 
NYAI - Scaling Machine Learning Applications by Braxton McKee
NYAI - Scaling Machine Learning Applications by Braxton McKeeNYAI - Scaling Machine Learning Applications by Braxton McKee
NYAI - Scaling Machine Learning Applications by Braxton McKeeRizwan Habib
 
NYAI - Visualizing what makes neural networks actually work by Matthew Zeiler
NYAI - Visualizing what makes neural networks actually work by Matthew ZeilerNYAI - Visualizing what makes neural networks actually work by Matthew Zeiler
NYAI - Visualizing what makes neural networks actually work by Matthew ZeilerRizwan Habib
 
NYAI - Interactive Machine Learning by Daniel Hsu
NYAI - Interactive Machine Learning by Daniel HsuNYAI - Interactive Machine Learning by Daniel Hsu
NYAI - Interactive Machine Learning by Daniel HsuRizwan Habib
 
NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...
NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...
NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...Rizwan Habib
 
Using deep neural networks for fashion applications
Using deep neural networks for fashion applicationsUsing deep neural networks for fashion applications
Using deep neural networks for fashion applicationsAhmad Qamar
 

En vedette (16)

Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ Etsy
 
NYAI - Understanding Music Through Machine Learning by Brian McFee
NYAI - Understanding Music Through Machine Learning by Brian McFeeNYAI - Understanding Music Through Machine Learning by Brian McFee
NYAI - Understanding Music Through Machine Learning by Brian McFee
 
NYAI - Commodity Machine Learning & Beyond by Andreas Mueller
NYAI - Commodity Machine Learning & Beyond by Andreas MuellerNYAI - Commodity Machine Learning & Beyond by Andreas Mueller
NYAI - Commodity Machine Learning & Beyond by Andreas Mueller
 
Machine Learning with scikit-learn
Machine Learning with scikit-learnMachine Learning with scikit-learn
Machine Learning with scikit-learn
 
Mining the Social Web for Fun and Profit: A Getting Started Guide
Mining the Social Web for Fun and Profit: A Getting Started GuideMining the Social Web for Fun and Profit: A Getting Started Guide
Mining the Social Web for Fun and Profit: A Getting Started Guide
 
Privacy, Ethics, and Future Uses of the Social Web
Privacy, Ethics, and Future Uses of the Social WebPrivacy, Ethics, and Future Uses of the Social Web
Privacy, Ethics, and Future Uses of the Social Web
 
Lessons Learned from Running Hundreds of Kaggle Competitions
Lessons Learned from Running Hundreds of Kaggle CompetitionsLessons Learned from Running Hundreds of Kaggle Competitions
Lessons Learned from Running Hundreds of Kaggle Competitions
 
What convnets look at when they look at nudity
What convnets look at when they look at nudityWhat convnets look at when they look at nudity
What convnets look at when they look at nudity
 
Mining Social Web APIs with IPython Notebook (PyCon 2014)
Mining Social Web APIs with IPython Notebook (PyCon 2014)Mining Social Web APIs with IPython Notebook (PyCon 2014)
Mining Social Web APIs with IPython Notebook (PyCon 2014)
 
NYAI - Intersection of neuroscience and deep learning by Russell Hanson
NYAI - Intersection of neuroscience and deep learning by Russell HansonNYAI - Intersection of neuroscience and deep learning by Russell Hanson
NYAI - Intersection of neuroscience and deep learning by Russell Hanson
 
Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)
Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)
Mining Social Web APIs with IPython Notebook (Data Day Texas 2015)
 
NYAI - Scaling Machine Learning Applications by Braxton McKee
NYAI - Scaling Machine Learning Applications by Braxton McKeeNYAI - Scaling Machine Learning Applications by Braxton McKee
NYAI - Scaling Machine Learning Applications by Braxton McKee
 
NYAI - Visualizing what makes neural networks actually work by Matthew Zeiler
NYAI - Visualizing what makes neural networks actually work by Matthew ZeilerNYAI - Visualizing what makes neural networks actually work by Matthew Zeiler
NYAI - Visualizing what makes neural networks actually work by Matthew Zeiler
 
NYAI - Interactive Machine Learning by Daniel Hsu
NYAI - Interactive Machine Learning by Daniel HsuNYAI - Interactive Machine Learning by Daniel Hsu
NYAI - Interactive Machine Learning by Daniel Hsu
 
NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...
NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...
NYAI - A Path To Unsupervised Learning Through Adversarial Networks by Soumit...
 
Using deep neural networks for fashion applications
Using deep neural networks for fashion applicationsUsing deep neural networks for fashion applications
Using deep neural networks for fashion applications
 

Similaire à NYAI #7 - Top-down vs. Bottom-up Computational Creativity by Dr. Cole D. Ingraham

What is open source?
What is open source?What is open source?
What is open source?Ahmet Bulut
 
How to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerHow to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerProduct School
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
 
Lipstick on a Pig: Integrated Library Systems
Lipstick on a Pig: Integrated Library SystemsLipstick on a Pig: Integrated Library Systems
Lipstick on a Pig: Integrated Library SystemsDorothea Salo
 
Agile software development
Agile software developmentAgile software development
Agile software developmentHemangi Talele
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a jobYung-Yu Chen
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent CerveauTheFamily
 
How to Effectively Lead Focus Groups: Presented at ProductTank Toronto
How to Effectively Lead Focus Groups: Presented at ProductTank TorontoHow to Effectively Lead Focus Groups: Presented at ProductTank Toronto
How to Effectively Lead Focus Groups: Presented at ProductTank TorontoTremis Skeete
 
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)SoundSoftware ac.uk
 
Discovery methods for HCI
Discovery methods for HCIDiscovery methods for HCI
Discovery methods for HCIOmar Ghazi
 
How to Effectively Lead Focus Groups: Presented at Product School NYC
How to Effectively Lead Focus Groups: Presented at Product School NYC How to Effectively Lead Focus Groups: Presented at Product School NYC
How to Effectively Lead Focus Groups: Presented at Product School NYC Tremis Skeete
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Hannes Lowette
 
Agile Software Development.ppt
Agile Software Development.pptAgile Software Development.ppt
Agile Software Development.pptabdulwehab2
 
Soumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning World
Soumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning WorldSoumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning World
Soumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning WorldAI Frontiers
 
Escape from Ember
Escape from EmberEscape from Ember
Escape from Emberdhdavidson
 
Validating Ideas Through Prototyping
Validating Ideas Through PrototypingValidating Ideas Through Prototyping
Validating Ideas Through PrototypingChris Risdon
 
How to Use Artificial Intelligence by Microsoft Product Manager
 How to Use Artificial Intelligence by Microsoft Product Manager How to Use Artificial Intelligence by Microsoft Product Manager
How to Use Artificial Intelligence by Microsoft Product ManagerProduct School
 

Similaire à NYAI #7 - Top-down vs. Bottom-up Computational Creativity by Dr. Cole D. Ingraham (20)

What is open source?
What is open source?What is open source?
What is open source?
 
Sound soft hackday-100905
Sound soft hackday-100905Sound soft hackday-100905
Sound soft hackday-100905
 
How to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerHow to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product Manager
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
 
Lipstick on a Pig: Integrated Library Systems
Lipstick on a Pig: Integrated Library SystemsLipstick on a Pig: Integrated Library Systems
Lipstick on a Pig: Integrated Library Systems
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a job
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
 
How to Effectively Lead Focus Groups: Presented at ProductTank Toronto
How to Effectively Lead Focus Groups: Presented at ProductTank TorontoHow to Effectively Lead Focus Groups: Presented at ProductTank Toronto
How to Effectively Lead Focus Groups: Presented at ProductTank Toronto
 
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
 
Discovery methods for HCI
Discovery methods for HCIDiscovery methods for HCI
Discovery methods for HCI
 
How to Effectively Lead Focus Groups: Presented at Product School NYC
How to Effectively Lead Focus Groups: Presented at Product School NYC How to Effectively Lead Focus Groups: Presented at Product School NYC
How to Effectively Lead Focus Groups: Presented at Product School NYC
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
From 1 to 100
From 1 to 100From 1 to 100
From 1 to 100
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
Agile Software Development.ppt
Agile Software Development.pptAgile Software Development.ppt
Agile Software Development.ppt
 
Soumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning World
Soumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning WorldSoumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning World
Soumith Chintala at AI Frontiers: A Dynamic View of the Deep Learning World
 
Escape from Ember
Escape from EmberEscape from Ember
Escape from Ember
 
Validating Ideas Through Prototyping
Validating Ideas Through PrototypingValidating Ideas Through Prototyping
Validating Ideas Through Prototyping
 
How to Use Artificial Intelligence by Microsoft Product Manager
 How to Use Artificial Intelligence by Microsoft Product Manager How to Use Artificial Intelligence by Microsoft Product Manager
How to Use Artificial Intelligence by Microsoft Product Manager
 

Dernier

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Dernier (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

NYAI #7 - Top-down vs. Bottom-up Computational Creativity by Dr. Cole D. Ingraham

  • 1. NYAI #7 (SPEAKER SERIES): Data Science to Operationalize Machine Learning (Matthew Russell) & Computational Creativity (Dr. Cole D. Ingraham DMA)
  • 2. Top-down vs. Bottom-up Computational Creativity Dr. Cole D. Ingraham NYAI Nov. 22, 2016
  • 3. About Me • originally from Santa Clara, CA • DMA Music Composition • currently working as lead developer at Amper Music (www.ampermusic.com) • www.coleingraham.com
  • 4. Abstract • what does computational creativity mean, and what are some approaches? • what are some examples of these approaches? • how to know the best way a particular problem could be solved? • primarily concerned with choosing an appropriate approach, less about implementation
  • 5. Defining Creativity • Creativity: the use of the imagination or original ideas, especially in the production of an artistic work. • Artistic: having or revealing natural creative skill; aesthetically pleasing • Aesthetic: a set of principles underlying and guiding the work of a particular artist or artistic movement • very circular, difficult to concretely define
  • 6. Defining Creativity • my personal requirements: • originality/novelty • having some unified set of guiding principals
  • 7. Top-Down Approach • finding an answer that: • is novel and useful (either for the individual or for society) • demands that we reject ideas we had previously accepted • results from intense motivation and persistence • comes from clarifying a problem that was originally vague https://en.wikipedia.org/wiki/Computational_creativity#Defining_creativity_in_computational_terms
  • 8. Bottom-Up Approach • artificial neural networks • machine learning • data, data, and more data https://en.wikipedia.org/wiki/Computational_creativity#Defining_creativity_in_computational_terms
  • 9. Comparing Approaches • Top-Down • primarily code driven • dependent on defining structure • requires considerable development time to be effective • very “hands on” (things only improve as the code base improves) • Bottom-Up • primarily data driven • heavy use of statistical analysis • requires considerable amounts of data to be effective
  • 10. Comparing Approaches • Top-Down • you define the structure of your program • Bottom-Up • you learn the structure of your program from analyzing data
  • 11. GenerationVs.Analysis • Generation • create something that does not exist • novel output • example use: music composition • Analysis • extract information from something that exists • generalization of the input
  • 12. Generation & Analysis • the creation of something new can/should be informed by analysis of previous work • in order to analyze previous work, the work must already exist • ... chicken and egg
  • 13. Generation by Analysis • analysis produces generalizations/averages of all input • this can lead to largely homogenous output
  • 14. Generation,Then Analysis • with some target in mind, generate output, then analyze it and see how close you got • heuristic “guess and check” with no generation-time feedback
  • 15. Generation, No Analysis • create output without analyzing anything before or after • you must know what you are going to get • ... or you must not care what you are going to get
  • 16. How to know what approach use?
  • 18. Generation / Analysis • examples: • compile-time code optimization: generate, analyze, repeat n times • absolute realism: analyze, then generate (conceptually) • generative abstract art: generate, do not analyze (sometimes)
  • 19. Novelty • introducing variance into the programs output • important considerations: • how much variance? • how to determine what can be varied? • how much/little control over the variance you want/need?
  • 20. How MuchVariance? • largely subjective and project dependent • beware of probability-driven decisions: • probabilities say how frequently something happens • probabilities do not inherently say why something should happen
  • 21. What Can BeVaried? • largely subjective and project dependent • example - text generation: • synonyms can vary a sentence without fundamentally changing its meaning • sentence structure and grammar are far less flexible
  • 22. How to ControlVariance? • largely subjective and project dependent (sensing a theme?) • some options: • explicitly defined seeding and propagation of pseudo-randomness • working with finite quantities of input parameters
  • 23. A Note on Randomness • nondeterministic code is a nightmare to QA • interaction between many deterministic operations can create seemingly random outcome • (my opinion) it’s a better use of time to work on deterministically defined variance than it is to weed out undesired results from nondeterministic code
  • 25. Google • neural network based approach (TensorFlow) • uses a large training set • limited by availability of data (not a problem for Google)
  • 26. Wavenet (Google DeepMind) • input: raw audio • output: raw audio • aimed at improving speech synthesis (very good at this) • also used for music generation (less good at this)
  • 27. Wavenet “Since WaveNets can be used to model any audio signal, we thought it would also be fun to try to generate music. Unlike the TTS experiments, we didn’t condition the networks on an input sequence telling it what to play (such as a musical score); instead, we simply let it generate whatever it wanted to. When we trained it on a dataset of classical piano music, it produced fascinating samples [...]” https://deepmind.com/blog/wavenet-generative-model-raw-audio/
  • 28. Wavenet • “trained it on a dataset of classical piano music” • single instrument, single genre • “we didn’t condition the networks on an input sequence telling it what to play (such as a musical score)” • no large scale structural awareness • “let it generate whatever it wanted to” • no external input
  • 30. Top-Down News? • none that I’m aware of • not a buzzword like neural networks • (my opinion): everyone uses a top-down approach to some degree, they just don’t feel the need to talk about it
  • 31. Why am I talking about it then? • to emphasize that: • AI is more than just data science • defining the structure of your problem is integral to finding its solution • there are many more valid approaches to creative AI than what gets all the attention • one should use the right tool for the right job • some balance between top-down and bottom-up is often the right choice
  • 32.
  • 33. Project Example:Amper Music • Goal: create an AI music composition platform that lets users create personalized, professional quality music instantly with no experience required. • Requirements: • speed: it must be fast! • quality: it must be believable! • control: it must be collaborative!
  • 34. Requirement: Speed • neural networks are s l o w • hand tuned algorithms can be fast • lookup operations are very fast
  • 35. Requirement: Quality • neural networks can be very accurate, given a training set of sufficient size and quality • most musical training (theory, performance practice) can be defined in code • we: • don’t (currently) have access to an appropriate training set • do have a team of developers who are also highly trained professional musicians
  • 36. Requirement: Control • neural networks are “black boxes that just do what they do” • defining music as a hierarchical structure offers handles to various aspects directly • multiple levels of control: • intuitive enough for the non-musician to use effectively • powerful enough for the professional musician to use without feeling limited
  • 37. Our Solution • define various levels of musical structure in a declarative manner • use machine learning / neural networks to generate data for all defined structural levels offline, as data becomes available, that can be used to augment runtime decisions • structure the program in a way that can be easily scaled with machine learning, but works without it • keep the “black box” parts of the program as minimal and confined as possible
  • 38. Tooling • runtime: Haskell • offline: Haskell, Python, anything else (it’s offline!)
  • 39. Tooling• Why Haskell? • compiled (fast) • functional language (great for music and AI, like LISP) • statically typed (safe, easy to maintain and refactor) • Why Python? • availability of libraries (TensorFlow as one example) • scripting layer on top of C(++) (easier to use, still fast)
  • 40. Tooling• Why Haskell? • compiled to machine code (fast) • functional language • statically typed (safe, easy to maintain and refactor) • Why not Python (for runtime)? • interpreted / compiled to bytecode • not a functional language (I wanted to use a functional language)
  • 42. Social Event: THE STOREHOUSE 69 West 23rd , New York, NY 10010 (2nd Floor)