SlideShare una empresa de Scribd logo
1 de 76
Descargar para leer sin conexión
Graph AI
CLOUD_ENGINEER AI_RESEARCHER
This talk does not represent the views of Neo4j
{
name: “Andrew Jefferson”
}
What is a graph?
...
What is a graph?
Why are we interested in graphs?
...
(Graphs)-[ARE]->(Everywhere)
What is a graph?
Why are we interested in graphs?
What is AI?
...
What is a graph?
Why are we interested in graphs?
What is AI?
What is Deep Learning?
...
90% accuracy
Machine learning
trained_model = train(model, data)
learned_weights = trained_model.get_weights()
prediction = trained_model.predict(instance)
Machine learning
trained_model = train(model, data)
learned_weights = trained_model.get_parameters()
prediction = trained_model.predict(instance)
Model Learned Params Training Data
Linear Regression y = mx + c m, c List<(x, y)>
Basic Classifier P(class | x) = softmax((dense(w, x)) w class set
List<(x, class)>
NN Embedding P(context | word) = NN(word) word embedding,
NN weights
word dictionary
List<(context, word)>
Deep Learning = ML using Deep Neural Networks
trained using gradient descent
What is a graph?
Why are we interested in graphs?
What is Deep Learning?
What is Deep Learning on graphs?
...
Model Learned Params Data
Linear Regression y = mx + c m List<(x, y)>
Image Classifier P(class | image) = CNN(image) CNN weights List<(image, class)>
NN Embedding P(path | node) = NN(path) node embedding,
NN weights
Node dictionary
List<(path, node)>
Graph Regression node.prop = F([sub]graph) F weights List<(node, [sub]graph)>
or Graph, pattern
Graph Classifier P(class | [sub]graph) = F([sub]graph) F weights List<([sub]graph, class)>
or Graph, pattern
Graph Embedder P(subgraph | node) = F(graph) node embedding,
F weights
Graph
How’s that going?
How to DL
Graphs - the dimensionality challenge!
How to encode a variable graph into a fixed size matrix?
Graphs, Neural Networks and Structural Priors
“DL is good for unstructured data”
... bad at structured data: THIS IS NOT TRUE
DL is good at very specific data structures:
Images: Sequences:
Images: Sequences:
Images: Convolutional Network
What about graphs?
Graph AI is more than a “how to vectorise a graph” challenge!
What about graphs?
Graph AI is more than a “how to vectorise a graph” challenge!
What about graphs?
Graph AI is more than a “how to vectorise a graph” challenge!
How to do Deep Learning on Graphs
Graphs - the dimensionality challenge
How to encode a variable graph into a fixed size matrix?
Graphs - the inductive bias challenge?
How can we structure a neural network to retain graph structural priors?
Graph Networks
Graph Memory Network
What is a graph?
Why are we interested in graphs?
What is Deep Learning?
What is Deep Learning on graphs?
Does it work?
CLEVR-GRAPH
https://github.com/Octavian-ai/clevr-graph
A synthetic dataset where 100% accuracy is
achievable.
CLEVR-GRAPH
https://github.com/Octavian-ai/clevr-graph
CLEVR-GRAPH
https://github.com/Octavian-ai/clevr-graph
What is the cleanliness level of {Station} station?
99.9% accuracy after 10k training steps
How big is {Station}?
What music plays at {Station}?
What architectural style is {Station}?
Describe {Station} station's architectural style.
Is there disabled access at {Station}?
Does {Station} have rail connections?
Can you get rail connections at {Station}?
Are {Station} and {Station} adjacent? 99% accuracy after 20k training steps
Which {Architecture} station is adjacent to {Station}? 98.8% accuracy after 30k training steps
How many stations are between {Station} and {Station}?
98% accuracy up to ~9 apart after 25k training
steps
Are {Station} and {Station} connected by the same station?
98% accuracy after 20k steps
Which station is adjacent to {Station} and {Station}?
Is there a station called {Station}?
99.9% accuracy after 30k training steps
Is there a station called {FakeStationName}?
Are {Station} and {Station} on the same line? Not yet tested
How many architectural styles does {Line} pass through? Not yet tested
How many music styles does {Line} pass through? Not yet tested
How many sizes of station does {Line} pass through? Not yet tested
How many stations with rail connections does {Line} pass through? Not yet tested
Which lines is {Station} on? Not yet tested
How many lines is {Station} on? Not yet tested
Which stations does {Line} pass through? Not yet tested
What is a graph?
Why are we interested in graphs?
What is Deep Learning?
What is Deep Learning on graphs?
?Does it work? … How does it work?
Graph Q&A
“How many stations are between Bank and Temple?”
Graph Networks gave us a method for propagating information through
the graph. How do we prime the graph to answer our specific query?
How to do Deep Learning on Graphs
Graphs - the dimensionality challenge
How to encode a variable graph into a fixed size matrix?
Graphs - the inductive bias challenge?
How can we structure a neural network to retain graph structural priors?
Graphs - the starting condition challenge?
How do we prime the graph to answer our specific query?
Attention
https://github.com/Octavian-ai/mac-graph
Deep Learning on Graphs
● DL model that can learn how to navigate a graph schema
● End-to-end training on List<(x, y, graph)>
● A single DL model can learn to solve multiple problems
○ Using multiple algorithms
Thanks
https://octavian.ai
@Octavian_ai
@EastlondonDev
hello@octavian.ai
Regular vs Graph Classifier
Model Learned Weights Data
P(class | x_features) = NN(x_features) NN weights List<(x_features, class)>
Works well if your features are easily vectorised and uniform length.
No vectorisation required, can handle extremely heterogeneous data.
Model Learned Weights Data
P(class | [sub]graph) = NN([sub]graph) NN weights List<([sub]graph, class)>
Images: Sequences:
Retail: London
Underground:
We can barely handle the small data sets intelligently, let alone the large ones
Issues
- Absence of useful graph techniques
- Either large scale and statistical
- Rule based and inflexible
Neither help deal with real world graph queries:
Trusted consumer brand
Quality handheld electronics
manufacturing
Battery and HDD
technology (from laptops)
Integration with music
software on a pc
Fast data transfer
(Firewire)
Battery and HDD
technology (from laptops)
Integration with music
software on a pc
Fast data transfer
(Firewire) 1995
Trusted consumer brand
Quality handheld electronics
manufacturing
Why are graphs useful?
Graph Analytics
Pattern matching
Recommendations
Fraud Detection
Optimisation
What am I going to tell you?
1) What is a graph and why are we interested in graphs? ✓
2) a tiny nod to "traditional" graph ML
3) Terminology: DL := "Deep learning with Neural Networks" (optionally Reinforcement)
4) Deep Learning is cool, some examples
5) People think DL is good for unstructured data and bad at structured data: THIS IS NOT TRUE
- DL is good at very specific data structures: grids and sequences of single entities
6) General state of the world of "AI" on graphs (basically a walkthrough of the Relational Inductuve Bias' paper)
7) Some specific knowledge graph architecture
Many kinds of graphs, Many kinds of AI
Connectivity Graph
Hallmarks: Concerned with individual entities. Has very small number of node and relationship types
(often just 1 of each). Distance between nodes is meaningful. Generally a single connected graph
Example: Simple social graph, Netflix graph, Transit graph
Algorithms: Shortest path, Neighbourhood, Recommendation, Link Prediction
Knowledge Graph
Hallmarks: Describes an abstraction. Has large number of node _or_ relationship types (or both). Distance
between nodes is not meaningful. May be multiple unconnected graphs
Example: Medical research database, Marketing graph, Ontologies
Algorithms: Inference, Question answering, Property Prediction
Many kinds of graphs, Many kinds of AI
Hybrid Graphs
Hallmarks: Distance between nodes may or may not be meaningful depending on the relationship type.
Example: Online shop database, Communication graph, Sophisticated Transaction graph
Algorithms: Inference, Recommendation, Link/Property Prediction
We can classify graphs in all kinds of ways, but it’s a relatively futile exercise
Graph AI may be quite specific, predicated on a particular graph properties, or it might be flexible. We are
interested in both!
Graph Classifier
Train( model, (y)-[..2]-(), y.is_fraud )
Train( model, (p:Person)<-[r:FRIEND_OF]-(:Person)->(), p.favorite_animal )
Train( model, (c:Company)-[..3]->(), c.future_value )
How to DL?
I will show four different examples.
Each example has a different Deep Learning inspired method to solve a different
kind of problem
How to DL? Learn a node or edge embedding using a mathematical model
Does not necessarily involve Neural Networks!
We have to invent/choose the mathematical function we will use
Overcomes the dimensionality challenge using Random Walks
Example: Review prediction with dot
https://medium.com/octavian-ai/review-prediction-with-neo4j-and-tensorflow-1c
d33996632a
DeepWalk, node2vec create Word2Vec style embeddings based on
_connections_
DeepGL creates features based on other graph properties
How to DL? Learn an embedding _and_ an interaction fn at the same time
Example? Deep
How to DL? Construct graph queries using DL (Tool Use)
Translate questions into graph queries:
https://medium.com/octavian-ai/answer
ing-english-questions-using-knowledge
-graphs-and-sequence-translation-2ac
baa35a21d
Sidesteps the dimensionality challenge
completely
How to DL? Treat nodes and relations as tables
Example: property queries on CLEVR graph:
https://medium.com/octavian-ai/graphs-and-neural-networks-reading-node-propert
ies-2c91625980eb
Uses attention to overcome the dimensionality challenge.
Doesn’t use the graph structure though
How to DL? Transmit signals from nodes in the graph
Uses attention and message passing
Knowledge Graphs
Connections (relations) are important
Enormous linked data sets exist (knowledge graphs)
Small linked data sets also exist (legal cases, personal graphs)
Existing Graph DL
1) Categorisation
2) Link Prediction
3) Chemistry
These don’t help much with our knowledge graphs!
We want something different to existing graph DL
1) Should work on relatively small graphs
2) Should facilitate querying the graph to extract information/predictions based
on the graph and the query
Deep Learning for Knowledge Graphs
Step 1: We need a metric that we can use to test our “AI”.
Step 2:
Deep Learning for Knowledge Graphs
Node Properties and Graph Structure (relationships) are both important to a
knowledge graph.
Knowledge graph queries depend on multiple nodes & graph structure.
Node/edge embeddings don’t capture the necessary information.
Everything is a graph
● Organisation Chart
● Social Network
● Product Reviews
● Blockchain
● Supply Chain
● Chemical Structure
● Mechanical Structure
● Travel Itinerary
● The Internet
●
Knowledge graphs generation is outpacing the ability to intelligently use the information that they contain. Octavian's work is pioneering Graph Artificial
Intelligence to provide the brains to make knowledge graphs useful.
Our neural networks can take questions and knowledge graphs and return answers. Imagine:
- a google assistant that reads your own knowledge graph (and actually works)
- a BI tool reads your business' knowledge graph
- a legal assistant that reads the graph of your case
Taking a neural network approach is important because neural networks deal better with the noise in data and variety in schema. Using neural networks
allows people to ask questions of the knowledge graph in their own words, not via code or query languages.
Octavian's approach is to develop neural networks that can learn to manipulate graph knowledge into answers. This approach is radically different to using
networks to generate graph embeddings. We believe this approach could transform how we interact with databases.
What is a graph?
Model Learned Weights Data
NN Embedding P(path | node) = NN(node) node embedding,
NN weights
Node dictionary
List<(path, node)>
Train_Embedding( MATCH (n)-[..2]->(m) , n)
Model Learned Weights Data
Graph Classifier P(class | [sub]graph) = NN([sub]graph) NN weights List<([sub]graph, class)>
or Graph, pattern
Train_Classifier( MATCH (n)-[..2]->(m) , n.is_fraud)
Semantic Graphs
Powerful question-answering tool
Using simple rules and a managed schema
Great for 20 questions / what am I?
Flädlesuppe-[contains]->Pancake-[contains]->Milk-[is]->Dairy
Q&A chat bot
Determine the entity and property
Do cats have spines?
-> { entity: “felis catus”,
property: “ vertebra”, value: true }
Use a graph query
({name: “felis catus”})-[IS_A..*]->()-[HAS_A]->({vertebra {name: “vertebra”}})
Convert the graph path:
Yes. Cats (felis catus) is a Mammal. Mammals have spines
(vertebra)
Bibliography
“Relational inductive biases, deep learning, and graph networks” https://arxiv.org/abs/1806.01261

Más contenido relacionado

La actualidad más candente

Knowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based SearchKnowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based Search
Neo4j
 
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
Connected Data World
 

La actualidad más candente (20)

Knowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based SearchKnowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based Search
 
Sustainability Investment Research Using Cognitive Analytics
Sustainability Investment Research Using Cognitive AnalyticsSustainability Investment Research Using Cognitive Analytics
Sustainability Investment Research Using Cognitive Analytics
 
GraphTour 2020 - Graphs & AI: A Path for Data Science
GraphTour 2020 - Graphs & AI: A Path for Data ScienceGraphTour 2020 - Graphs & AI: A Path for Data Science
GraphTour 2020 - Graphs & AI: A Path for Data Science
 
Real World Guide to Building Your Knowledge Graph
Real World Guide to Building Your Knowledge GraphReal World Guide to Building Your Knowledge Graph
Real World Guide to Building Your Knowledge Graph
 
Graph tour keynote 2019
Graph tour keynote 2019Graph tour keynote 2019
Graph tour keynote 2019
 
Should a Graph Database Be in Your Next Data Warehouse Stack?
Should a Graph Database Be in Your Next Data Warehouse Stack?Should a Graph Database Be in Your Next Data Warehouse Stack?
Should a Graph Database Be in Your Next Data Warehouse Stack?
 
Big Data Graph Analytics
Big Data Graph AnalyticsBig Data Graph Analytics
Big Data Graph Analytics
 
Combining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASA
Combining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASACombining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASA
Combining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASA
 
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
 
Using Knowledge Graphs to Predict Customer Needs and Improve Quality
Using Knowledge Graphs to Predict Customer Needs and Improve QualityUsing Knowledge Graphs to Predict Customer Needs and Improve Quality
Using Knowledge Graphs to Predict Customer Needs and Improve Quality
 
Real World Guide to Building Your Knowledge Graph
Real World Guide to Building Your Knowledge GraphReal World Guide to Building Your Knowledge Graph
Real World Guide to Building Your Knowledge Graph
 
TigerGraph UI Toolkits Financial Crimes
TigerGraph UI Toolkits Financial CrimesTigerGraph UI Toolkits Financial Crimes
TigerGraph UI Toolkits Financial Crimes
 
Leveraging Graphs for Better AI
Leveraging Graphs for Better AILeveraging Graphs for Better AI
Leveraging Graphs for Better AI
 
Using Graph Algorithms for Advanced Analytics - Part 2 Centrality
Using Graph Algorithms for Advanced Analytics - Part 2 CentralityUsing Graph Algorithms for Advanced Analytics - Part 2 Centrality
Using Graph Algorithms for Advanced Analytics - Part 2 Centrality
 
Relationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine LearningRelationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine Learning
 
Power of the Run Graph
Power of the Run GraphPower of the Run Graph
Power of the Run Graph
 
4. Document Discovery with Graph Data Science
 4. Document Discovery with Graph Data Science 4. Document Discovery with Graph Data Science
4. Document Discovery with Graph Data Science
 
Risk Analytics Using Knowledge Graphs / FIBO with Deep Learning
Risk Analytics Using Knowledge Graphs / FIBO with Deep LearningRisk Analytics Using Knowledge Graphs / FIBO with Deep Learning
Risk Analytics Using Knowledge Graphs / FIBO with Deep Learning
 
GraphTour London 2020 - Graphs for AI, Amy Hodler
GraphTour London 2020  - Graphs for AI, Amy HodlerGraphTour London 2020  - Graphs for AI, Amy Hodler
GraphTour London 2020 - Graphs for AI, Amy Hodler
 
Enterprise Knowledge Graph
Enterprise Knowledge GraphEnterprise Knowledge Graph
Enterprise Knowledge Graph
 

Similar a Knowledge graphs, meet Deep Learning

Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights.
Doug Needham
 
Data Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup GroupData Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup Group
Doug Needham
 
Big Data Conference
Big Data ConferenceBig Data Conference
Big Data Conference
DataTactics
 

Similar a Knowledge graphs, meet Deep Learning (20)

Data Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneData Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZone
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights.
 
Machine Learning Powered by Graphs - Alessandro Negro
Machine Learning Powered by Graphs - Alessandro NegroMachine Learning Powered by Graphs - Alessandro Negro
Machine Learning Powered by Graphs - Alessandro Negro
 
Data Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup GroupData Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup Group
 
Cloudera Data Science Challenge
Cloudera Data Science ChallengeCloudera Data Science Challenge
Cloudera Data Science Challenge
 
A Friendly Introduction to Machine Learning
A Friendly Introduction to Machine LearningA Friendly Introduction to Machine Learning
A Friendly Introduction to Machine Learning
 
A Blended Approach to Analytics at Data Tactics Corporation
A Blended Approach to Analytics at Data Tactics CorporationA Blended Approach to Analytics at Data Tactics Corporation
A Blended Approach to Analytics at Data Tactics Corporation
 
Big Data Conference
Big Data ConferenceBig Data Conference
Big Data Conference
 
Certification Study Group - NLP & Recommendation Systems on GCP Session 5
Certification Study Group - NLP & Recommendation Systems on GCP Session 5Certification Study Group - NLP & Recommendation Systems on GCP Session 5
Certification Study Group - NLP & Recommendation Systems on GCP Session 5
 
AI and Deep Learning
AI and Deep Learning AI and Deep Learning
AI and Deep Learning
 
Strata London - Deep Learning 05-2015
Strata London - Deep Learning 05-2015Strata London - Deep Learning 05-2015
Strata London - Deep Learning 05-2015
 
High-Performance Graph Analysis and Modeling
High-Performance Graph Analysis and ModelingHigh-Performance Graph Analysis and Modeling
High-Performance Graph Analysis and Modeling
 
How Graph Databases used in Police Department?
How Graph Databases used in Police Department?How Graph Databases used in Police Department?
How Graph Databases used in Police Department?
 
NoSQL
NoSQLNoSQL
NoSQL
 
Introduction to ml
Introduction to mlIntroduction to ml
Introduction to ml
 
MachineLlearning introduction
MachineLlearning introductionMachineLlearning introduction
MachineLlearning introduction
 
Machine Learning - Challenges, Learnings & Opportunities
Machine Learning - Challenges, Learnings & OpportunitiesMachine Learning - Challenges, Learnings & Opportunities
Machine Learning - Challenges, Learnings & Opportunities
 
Part 3 Machine Learnning
Part 3 Machine LearnningPart 3 Machine Learnning
Part 3 Machine Learnning
 
Multiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezMultiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier Dominguez
 
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SFTed Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
 

Más de Connected Data World

The years of the graph: The future of the future is here
The years of the graph: The future of the future is hereThe years of the graph: The future of the future is here
The years of the graph: The future of the future is here
Connected Data World
 
In Search of the Universal Data Model
In Search of the Universal Data ModelIn Search of the Universal Data Model
In Search of the Universal Data Model
Connected Data World
 
Graph Realities
Graph RealitiesGraph Realities
Graph Realities
Connected Data World
 
RAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needsRAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needs
Connected Data World
 
Elegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property GraphsElegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property Graphs
Connected Data World
 

Más de Connected Data World (20)

Systems that learn and reason | Frank Van Harmelen
Systems that learn and reason | Frank Van HarmelenSystems that learn and reason | Frank Van Harmelen
Systems that learn and reason | Frank Van Harmelen
 
Graph Abstractions Matter by Ora Lassila
Graph Abstractions Matter by Ora LassilaGraph Abstractions Matter by Ora Lassila
Graph Abstractions Matter by Ora Lassila
 
Κnowledge Architecture: Combining Strategy, Data Science and Information Arch...
Κnowledge Architecture: Combining Strategy, Data Science and Information Arch...Κnowledge Architecture: Combining Strategy, Data Science and Information Arch...
Κnowledge Architecture: Combining Strategy, Data Science and Information Arch...
 
How to get started with Graph Machine Learning
How to get started with Graph Machine LearningHow to get started with Graph Machine Learning
How to get started with Graph Machine Learning
 
Graphs in sustainable finance
Graphs in sustainable financeGraphs in sustainable finance
Graphs in sustainable finance
 
The years of the graph: The future of the future is here
The years of the graph: The future of the future is hereThe years of the graph: The future of the future is here
The years of the graph: The future of the future is here
 
From Taxonomies and Schemas to Knowledge Graphs: Parts 1 & 2
From Taxonomies and Schemas to Knowledge Graphs: Parts 1 & 2From Taxonomies and Schemas to Knowledge Graphs: Parts 1 & 2
From Taxonomies and Schemas to Knowledge Graphs: Parts 1 & 2
 
From Taxonomies and Schemas to Knowledge Graphs: Part 3
From Taxonomies and Schemas to Knowledge Graphs: Part 3From Taxonomies and Schemas to Knowledge Graphs: Part 3
From Taxonomies and Schemas to Knowledge Graphs: Part 3
 
In Search of the Universal Data Model
In Search of the Universal Data ModelIn Search of the Universal Data Model
In Search of the Universal Data Model
 
Graph in Apache Cassandra. The World’s Most Scalable Graph Database
Graph in Apache Cassandra. The World’s Most Scalable Graph DatabaseGraph in Apache Cassandra. The World’s Most Scalable Graph Database
Graph in Apache Cassandra. The World’s Most Scalable Graph Database
 
Enterprise Data Governance: Leveraging Knowledge Graph & AI in support of a d...
Enterprise Data Governance: Leveraging Knowledge Graph & AI in support of a d...Enterprise Data Governance: Leveraging Knowledge Graph & AI in support of a d...
Enterprise Data Governance: Leveraging Knowledge Graph & AI in support of a d...
 
Graph Realities
Graph RealitiesGraph Realities
Graph Realities
 
Powering Question-Driven Problem Solving to Improve the Chances of Finding Ne...
Powering Question-Driven Problem Solving to Improve the Chances of Finding Ne...Powering Question-Driven Problem Solving to Improve the Chances of Finding Ne...
Powering Question-Driven Problem Solving to Improve the Chances of Finding Ne...
 
Semantic similarity for faster Knowledge Graph delivery at scale
Semantic similarity for faster Knowledge Graph delivery at scaleSemantic similarity for faster Knowledge Graph delivery at scale
Semantic similarity for faster Knowledge Graph delivery at scale
 
Knowledge Graphs and AI to Hyper-Personalise the Fashion Retail Experience at...
Knowledge Graphs and AI to Hyper-Personalise the Fashion Retail Experience at...Knowledge Graphs and AI to Hyper-Personalise the Fashion Retail Experience at...
Knowledge Graphs and AI to Hyper-Personalise the Fashion Retail Experience at...
 
Schema, Google & The Future of the Web
Schema, Google & The Future of the WebSchema, Google & The Future of the Web
Schema, Google & The Future of the Web
 
RAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needsRAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needs
 
Elegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property GraphsElegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property Graphs
 
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
 
Graph for Good: Empowering your NGO
Graph for Good: Empowering your NGOGraph for Good: Empowering your NGO
Graph for Good: Empowering your NGO
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Knowledge graphs, meet Deep Learning

  • 2. CLOUD_ENGINEER AI_RESEARCHER This talk does not represent the views of Neo4j { name: “Andrew Jefferson” }
  • 3. What is a graph? ...
  • 4.
  • 5. What is a graph? Why are we interested in graphs? ...
  • 7. What is a graph? Why are we interested in graphs? What is AI? ...
  • 8. What is a graph? Why are we interested in graphs? What is AI? What is Deep Learning? ...
  • 9.
  • 10.
  • 12. Machine learning trained_model = train(model, data) learned_weights = trained_model.get_weights() prediction = trained_model.predict(instance)
  • 13. Machine learning trained_model = train(model, data) learned_weights = trained_model.get_parameters() prediction = trained_model.predict(instance) Model Learned Params Training Data Linear Regression y = mx + c m, c List<(x, y)> Basic Classifier P(class | x) = softmax((dense(w, x)) w class set List<(x, class)> NN Embedding P(context | word) = NN(word) word embedding, NN weights word dictionary List<(context, word)>
  • 14. Deep Learning = ML using Deep Neural Networks trained using gradient descent
  • 15. What is a graph? Why are we interested in graphs? What is Deep Learning? What is Deep Learning on graphs? ...
  • 16. Model Learned Params Data Linear Regression y = mx + c m List<(x, y)> Image Classifier P(class | image) = CNN(image) CNN weights List<(image, class)> NN Embedding P(path | node) = NN(path) node embedding, NN weights Node dictionary List<(path, node)> Graph Regression node.prop = F([sub]graph) F weights List<(node, [sub]graph)> or Graph, pattern Graph Classifier P(class | [sub]graph) = F([sub]graph) F weights List<([sub]graph, class)> or Graph, pattern Graph Embedder P(subgraph | node) = F(graph) node embedding, F weights Graph
  • 18. How to DL Graphs - the dimensionality challenge! How to encode a variable graph into a fixed size matrix?
  • 19. Graphs, Neural Networks and Structural Priors “DL is good for unstructured data” ... bad at structured data: THIS IS NOT TRUE DL is good at very specific data structures: Images: Sequences:
  • 22. What about graphs? Graph AI is more than a “how to vectorise a graph” challenge!
  • 23. What about graphs? Graph AI is more than a “how to vectorise a graph” challenge!
  • 24. What about graphs? Graph AI is more than a “how to vectorise a graph” challenge!
  • 25. How to do Deep Learning on Graphs Graphs - the dimensionality challenge How to encode a variable graph into a fixed size matrix? Graphs - the inductive bias challenge? How can we structure a neural network to retain graph structural priors?
  • 26.
  • 29. What is a graph? Why are we interested in graphs? What is Deep Learning? What is Deep Learning on graphs? Does it work?
  • 33. What is the cleanliness level of {Station} station? 99.9% accuracy after 10k training steps How big is {Station}? What music plays at {Station}? What architectural style is {Station}? Describe {Station} station's architectural style. Is there disabled access at {Station}? Does {Station} have rail connections? Can you get rail connections at {Station}? Are {Station} and {Station} adjacent? 99% accuracy after 20k training steps Which {Architecture} station is adjacent to {Station}? 98.8% accuracy after 30k training steps How many stations are between {Station} and {Station}? 98% accuracy up to ~9 apart after 25k training steps Are {Station} and {Station} connected by the same station? 98% accuracy after 20k steps Which station is adjacent to {Station} and {Station}? Is there a station called {Station}? 99.9% accuracy after 30k training steps Is there a station called {FakeStationName}? Are {Station} and {Station} on the same line? Not yet tested How many architectural styles does {Line} pass through? Not yet tested How many music styles does {Line} pass through? Not yet tested How many sizes of station does {Line} pass through? Not yet tested How many stations with rail connections does {Line} pass through? Not yet tested Which lines is {Station} on? Not yet tested How many lines is {Station} on? Not yet tested Which stations does {Line} pass through? Not yet tested
  • 34. What is a graph? Why are we interested in graphs? What is Deep Learning? What is Deep Learning on graphs? ?Does it work? … How does it work?
  • 35. Graph Q&A “How many stations are between Bank and Temple?” Graph Networks gave us a method for propagating information through the graph. How do we prime the graph to answer our specific query?
  • 36. How to do Deep Learning on Graphs Graphs - the dimensionality challenge How to encode a variable graph into a fixed size matrix? Graphs - the inductive bias challenge? How can we structure a neural network to retain graph structural priors? Graphs - the starting condition challenge? How do we prime the graph to answer our specific query?
  • 37.
  • 39.
  • 40.
  • 42. Deep Learning on Graphs ● DL model that can learn how to navigate a graph schema ● End-to-end training on List<(x, y, graph)> ● A single DL model can learn to solve multiple problems ○ Using multiple algorithms
  • 44.
  • 45. Regular vs Graph Classifier Model Learned Weights Data P(class | x_features) = NN(x_features) NN weights List<(x_features, class)> Works well if your features are easily vectorised and uniform length. No vectorisation required, can handle extremely heterogeneous data. Model Learned Weights Data P(class | [sub]graph) = NN([sub]graph) NN weights List<([sub]graph, class)>
  • 47. We can barely handle the small data sets intelligently, let alone the large ones Issues - Absence of useful graph techniques - Either large scale and statistical - Rule based and inflexible Neither help deal with real world graph queries:
  • 48.
  • 49.
  • 50. Trusted consumer brand Quality handheld electronics manufacturing Battery and HDD technology (from laptops) Integration with music software on a pc Fast data transfer (Firewire)
  • 51. Battery and HDD technology (from laptops) Integration with music software on a pc Fast data transfer (Firewire) 1995 Trusted consumer brand Quality handheld electronics manufacturing
  • 52. Why are graphs useful?
  • 54. What am I going to tell you? 1) What is a graph and why are we interested in graphs? ✓ 2) a tiny nod to "traditional" graph ML 3) Terminology: DL := "Deep learning with Neural Networks" (optionally Reinforcement) 4) Deep Learning is cool, some examples 5) People think DL is good for unstructured data and bad at structured data: THIS IS NOT TRUE - DL is good at very specific data structures: grids and sequences of single entities 6) General state of the world of "AI" on graphs (basically a walkthrough of the Relational Inductuve Bias' paper) 7) Some specific knowledge graph architecture
  • 55. Many kinds of graphs, Many kinds of AI Connectivity Graph Hallmarks: Concerned with individual entities. Has very small number of node and relationship types (often just 1 of each). Distance between nodes is meaningful. Generally a single connected graph Example: Simple social graph, Netflix graph, Transit graph Algorithms: Shortest path, Neighbourhood, Recommendation, Link Prediction Knowledge Graph Hallmarks: Describes an abstraction. Has large number of node _or_ relationship types (or both). Distance between nodes is not meaningful. May be multiple unconnected graphs Example: Medical research database, Marketing graph, Ontologies Algorithms: Inference, Question answering, Property Prediction
  • 56. Many kinds of graphs, Many kinds of AI Hybrid Graphs Hallmarks: Distance between nodes may or may not be meaningful depending on the relationship type. Example: Online shop database, Communication graph, Sophisticated Transaction graph Algorithms: Inference, Recommendation, Link/Property Prediction We can classify graphs in all kinds of ways, but it’s a relatively futile exercise Graph AI may be quite specific, predicated on a particular graph properties, or it might be flexible. We are interested in both!
  • 57. Graph Classifier Train( model, (y)-[..2]-(), y.is_fraud ) Train( model, (p:Person)<-[r:FRIEND_OF]-(:Person)->(), p.favorite_animal ) Train( model, (c:Company)-[..3]->(), c.future_value )
  • 58. How to DL? I will show four different examples. Each example has a different Deep Learning inspired method to solve a different kind of problem
  • 59. How to DL? Learn a node or edge embedding using a mathematical model Does not necessarily involve Neural Networks! We have to invent/choose the mathematical function we will use Overcomes the dimensionality challenge using Random Walks Example: Review prediction with dot https://medium.com/octavian-ai/review-prediction-with-neo4j-and-tensorflow-1c d33996632a DeepWalk, node2vec create Word2Vec style embeddings based on _connections_ DeepGL creates features based on other graph properties
  • 60. How to DL? Learn an embedding _and_ an interaction fn at the same time Example? Deep
  • 61. How to DL? Construct graph queries using DL (Tool Use) Translate questions into graph queries: https://medium.com/octavian-ai/answer ing-english-questions-using-knowledge -graphs-and-sequence-translation-2ac baa35a21d Sidesteps the dimensionality challenge completely
  • 62. How to DL? Treat nodes and relations as tables Example: property queries on CLEVR graph: https://medium.com/octavian-ai/graphs-and-neural-networks-reading-node-propert ies-2c91625980eb Uses attention to overcome the dimensionality challenge. Doesn’t use the graph structure though
  • 63. How to DL? Transmit signals from nodes in the graph Uses attention and message passing
  • 64. Knowledge Graphs Connections (relations) are important Enormous linked data sets exist (knowledge graphs) Small linked data sets also exist (legal cases, personal graphs)
  • 65. Existing Graph DL 1) Categorisation 2) Link Prediction 3) Chemistry These don’t help much with our knowledge graphs! We want something different to existing graph DL 1) Should work on relatively small graphs 2) Should facilitate querying the graph to extract information/predictions based on the graph and the query
  • 66. Deep Learning for Knowledge Graphs Step 1: We need a metric that we can use to test our “AI”. Step 2:
  • 67. Deep Learning for Knowledge Graphs Node Properties and Graph Structure (relationships) are both important to a knowledge graph. Knowledge graph queries depend on multiple nodes & graph structure. Node/edge embeddings don’t capture the necessary information.
  • 68. Everything is a graph ● Organisation Chart ● Social Network ● Product Reviews ● Blockchain ● Supply Chain ● Chemical Structure ● Mechanical Structure ● Travel Itinerary ● The Internet ●
  • 69. Knowledge graphs generation is outpacing the ability to intelligently use the information that they contain. Octavian's work is pioneering Graph Artificial Intelligence to provide the brains to make knowledge graphs useful. Our neural networks can take questions and knowledge graphs and return answers. Imagine: - a google assistant that reads your own knowledge graph (and actually works) - a BI tool reads your business' knowledge graph - a legal assistant that reads the graph of your case Taking a neural network approach is important because neural networks deal better with the noise in data and variety in schema. Using neural networks allows people to ask questions of the knowledge graph in their own words, not via code or query languages. Octavian's approach is to develop neural networks that can learn to manipulate graph knowledge into answers. This approach is radically different to using networks to generate graph embeddings. We believe this approach could transform how we interact with databases.
  • 70.
  • 71. What is a graph?
  • 72. Model Learned Weights Data NN Embedding P(path | node) = NN(node) node embedding, NN weights Node dictionary List<(path, node)> Train_Embedding( MATCH (n)-[..2]->(m) , n)
  • 73. Model Learned Weights Data Graph Classifier P(class | [sub]graph) = NN([sub]graph) NN weights List<([sub]graph, class)> or Graph, pattern Train_Classifier( MATCH (n)-[..2]->(m) , n.is_fraud)
  • 74. Semantic Graphs Powerful question-answering tool Using simple rules and a managed schema Great for 20 questions / what am I? Flädlesuppe-[contains]->Pancake-[contains]->Milk-[is]->Dairy
  • 75. Q&A chat bot Determine the entity and property Do cats have spines? -> { entity: “felis catus”, property: “ vertebra”, value: true } Use a graph query ({name: “felis catus”})-[IS_A..*]->()-[HAS_A]->({vertebra {name: “vertebra”}}) Convert the graph path: Yes. Cats (felis catus) is a Mammal. Mammals have spines (vertebra)
  • 76. Bibliography “Relational inductive biases, deep learning, and graph networks” https://arxiv.org/abs/1806.01261