eruhimov

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Probabilistic Networks Library: 

Probabilistic Networks Library Victor Eruhimov, Gary Bradski Microprocessor Research Lab Aalborg, September 2003

Slide2: 

Library contents Linking to MATLAB Discussion

Probabilistic Networks Library: 

Probabilistic Networks Library Goal: implement a general purpose toolbox for working with graphical models Distribution model: not decided yet, most probably open source and free for research

PNL geography: 

PNL geography Development: Intel Russia Research Center, Nizhny Novgorod Igor Chikalov, Anton Pegushin, Maria Lyashko, Alexander Brusin, Denis Lagno, Vasily Tarasov, Sergey Molinov Management: Gary Bradski, Intel Santa Clara, Microprocessor Research Lab Consultant: Kevin Murphy, MIT AI lab

PNL geography: 

PNL geography Validation&Development: Intel China Research Center Development&Validation: Nizhny Novgorod State University, scalable version of PNL Validation: Intel Moscow State University lab PNL Alpha 3.0 is out to selected research groups

Probabilistic Networks Library team, March’02: 

Probabilistic Networks Library team, March’02

PNL Models: 

PNL Models Bayesian networks Dynamic Bayesian Networks Markov Random Fields Factor graphs

PNL Probability Distribution types: 

PNL Probability Distribution types Discrete (tabular) Dense representation Sparse representation (hash) Multivariate Gaussian Conditional Multivariate Gaussian Decision tree Softmax (in progress) Exponential family (e.g. poisson) (in progress) User-defined distributions

Inference algorithms: 

Inference algorithms Naiive inference Belief propagation Exact for tree models Iterative in general case Loopy belief for pairwise MRFs Turbo codes Junction tree inference 1.5 Junction tree inference for DBNs Allows general fixed-lag inference BK inference Gibbs sampling

Learning algorithms: 

Learning algorithms EM parameter learning Can use any applicable inference engine for missing data support Iterative Proportional Fitting for MRFs Conjugated gradients (in progress) Structure learning BIC score Hill-climbing (in progress)

PNL vs …: 

PNL vs … BNT: Close by functionality MATLAB implementation GMTk Belief propagation Undirected models +Generalized EM +switching parent nodes Hugin Commercial No DBN Only jtree inference +Support for continuous unobserved nodes

PNL vs …: 

PNL vs … BNJ Junction tree only Only tabular distribution Only bayesian networks MSBN Undirected models Only tabular distribution type

PNL architecture: 

Model Domain PNL architecture Model Graph Inference engine EM Learning engine Structure learning

Factors architecture: 

Factors architecture DF DF DF DF Parameter Parameter Parameter Parameter Parameter Factor Factor Factor Factor

Computing architecture: 

Computing architecture Learning engine Computing engine, high level Operations on factors Inference engine Memory management Computing engine, low level Graphical models

PNL languages: 

PNL languages Programming language is C/C++ API is available in C++ and MATLAB. MATLAB interface is generated automatically from C++ API using SWIG environment (http://www.swig.org/).

PNL WaterSprinkler sample: 

PNL WaterSprinkler sample numOfNds = 4; %create adjacency matrix A = zeros(numOfNds,numOfNds); A(1,2) = 1; A(1,3) = 1; A(2,4) = 1; A(3,4) = 1; %create graph graph = CGraphCreateFromAdjMat(A); %create node types nodeTypes{1} = CNodeType(1, 2); nodeAssociation = zeros(1,numOfNds); pBNet = CBNet( numOfNds, nodeTypes, nodeAssociation, graph ); %allocate & create parameters for the model matrices = { [ 0.5, 0.5 ], [ 0.5, 0.5, 0.9, 0.1 ], [ 0.8, 0.2, 0.2, 0.8 ], [1.0, 0.0, 0.1, 0.9, 0.1, 0.9, 0.01, 0.99] }; AllocParameters(pBNet); for i=1:numOfNds CreateTabularCPD(pBNet, i-1, matrices{i}); end %enter evidence e = CEvidenceCreate(pBNet, [1 3], [0 1]); jtree = CJtreeInfEngine(pBNet); EnterEvidence(jtree, e); %create query for inference query = [0 1]; MarginalNodes(jtree, query); margPot = GetQueryJPD(jtree); matrix = GetMatrix(margPot, 'matTable');

MATLAB interface generator: 

MATLAB interface generator

Roadmap: 

Roadmap PNL Alpha 3.0 is out to selected research groups First public beta version is to be released in the end of 2003 Gold release: August 2004

Data driven superresolution: 

Data driven superresolution Create a powerful digital zooming algorithm capable of high quality 4x zooming of a single image. Currently we use Markov Random Fields to solve a regularization problem on images (the inference algorithm is taken from PNL)

Data-driven superresolution: 

Data-driven superresolution PearlEng = CPearlInfEngineCreate(mrf_f); SetMaxNumberOfIterations( PearlEng, global_max_iter ); EnterEvidence( PearlEng, evidence_f, maximize ); % ************************************** max_index = zeros(nnodes/2,1); MarginalNodes( PearlEng, [i - 1] ); mpe = GetMPE(PearlEng); [nodeNums, nodeVals, nt] = GetObsNodesWithValues(mpe); max_index(i) = nodeVals{1};

Slide22: 

For more details, visit PNL homepage http://www.intel.com/research/mrl/pnl/