Weighted Deduction as an Abstraction Level for AI

author: Jason Eisner, Department of Computer Science, Johns Hopkins University
published: Sept. 18, 2009,   recorded: July 2009,   views: 227
Categories
You might be experiencing some problems with Your Video player.

Slides

Slides
0:00 The CKY inside algorithm in Dyna - 1
0:17 Alphabet soup of formalisms in SRL
1:35 This problem is not limited to SRL.
2:13 Natural Language Processing (NLP)
3:25 NLP systems are big!
4:37 How to spend one’s life?
4:58 A few other applied AI systems …
5:45 Can toolkits help? - 1
5:58 Can toolkits help? - 2
6:29 Solution
7:30 The Dyna programming language
8:35 Warning
9:37 A Quick Sketch of Dyna
11:31 Writing equations in Dyna
13:29 More interesting use of patterns
14:49 Dyna vs. Prolog
17:18 Aggregation operators - 1
18:05 Aggregation operators - 2
21:03 Some connections and intellectual debts …
22:17 Why is this a good abstraction level?
22:31 How you build a system ("big picture" slide) - 1
23:25 How you build a system ("big picture" slide) - 2
24:21 How you build a system ("big picture" slide) - 3
25:27 How you build a system ("big picture" slide) - 4
25:33 Common threads in NLP, SRL, KR&R, … - 1
29:29 Common threads in NLP, SRL, KR&R, … - 2
31:35 Common implementation issues
33:42 Example: CKY and Variations
34:18 The CKY inside algorithm in Dyna - 1
35:06 The CKY inside algorithm in Dyna - 2
35:45 The CKY inside algorithm in Dyna - 3
37:00 Visual debugger: Browse the proof forest - 1
37:50 Visual debugger: Browse the proof forest - 2
37:52 Parameterization …
39:25 Related algorithms in Dyna? - 1
39:36 Related algorithms in Dyna? - 2
39:40 Related algorithms in Dyna? - 3
40:02 Related algorithms in Dyna? - 4
41:07 Related algorithms in Dyna? - 5
41:09 Related algorithms in Dyna? - 6
41:39 Related algorithms in Dyna? - 7
41:55 Related algorithms in Dyna? - 8
42:00 Rule binarization - 1
43:29 Rule binarization - 2
43:49 Program transformations
45:06 Related algorithms in Dyna? - 9
45:08 Earley’s algorithm in Dyna
45:38 Related algorithms in Dyna? - 10
45:39 Some examples from my lab
45:58 A few more language details
47:09 Terms (generalized from Prolog)
47:27 Fixpoint semantics - 1
48:42 Fixpoint semantics - 2
48:46 "Object-oriented" features
50:01 Creating dynabases - 1
50:14 Creating dynabases - 2
50:15 Creating dynabases - 3
50:17 Functional features: Auto-evaluation - 1
50:19 Functional features: Auto-evaluation - 2
50:20 Other handy features
50:22 Frozen variables
50:22 Other features in the works
50:24 Some More Examples
51:23 Neural networks in Dyna
53:55 Intersection of weighted finite-state automata
55:24 Arc consistency (= 2-consistency)
58:09 Edit distance between two strings
58:37 Iterative update (EM, Gibbs, BP, …)
59:18 Issues in implementing forward chaining - 1
59:32 Issues in implementing forward chaining - 2
59:44 More issues in implementing inference
60:08 Automatic differentiation via the gradient transform
60:34 Summary

Related content

Report a problem or upload files

If you have found a problem with this lecture or would like to send us extra material, articles, exercises, etc., please use our ticket system to describe your request and upload the data.
Enter your e-mail into the 'Cc' field, and we will keep you updated with your request's status.
Lecture popularity: You need to login to cast your vote.
Bibliography

Description

The field of AI has become implementation-bound. We have plenty of ideas, but it is increasingly laborious to try them out, as our models become more ambitious and our datasets become larger, noisier, and more heterogeneous. The software engineering burden makes it hard to start new work; hard to reuse and combine existing ideas; and hard to educate our students. In this talk, I'll propose to hide many common implementation details behind a new level of abstraction that we are developing. Dyna is a declarative programming language that combines logic programming with functional programming. It also supports modularity. It may be regarded as a kind of deductive database, theorem prover, truth maintenance system, or equation solver. I will illustrate how Dyna makes it easy to specify the combinatorial structure of typical computations needed in natural language processing, machine learning, and elsewhere in AI. Then I will sketch implementation strategies and program transformations that can help to make these computations fast and memory-efficient. Finally, I will suggest that machine learning should be used to search for the right strategies for a program on a particular workload.

  Join a Study Group

OpenStudy logo

You reached a lecture within the PASCAL NoE project video collection. Click on the logo and go to the Computer Science classroom on OpenStudy. Through this classroom, you can meet other students interested in the same problems and work together on assignments, ask each other questions or just discuss the topics of the lecture.

Link this page

Would you like to put a link to this lecture on your homepage?
Go ahead! Copy the HTML snippet !

Write your own review or comment:

make sure you have javascript enabled or clear this field: