Renato Lui Geh

Graduate student in Computer Science

Institute of Mathematics and Statistics (IME) - University of São Paulo (USP)


I'm moving to UCLA this Fall for my PhD! You can find me there.

About

I'm broadly interested in the intersection of machine learning and symbolic reasoning (e.g. neurosymbolic machine learning). I am especially interested in the fields of probabilistic tractable models (e.g. probabilistic circuits), knowledge representation and compilation (e.g. logic circuits), and on how to combine them both in order to produce reliable, knowledge enhanced, probabilistic estimators (e.g. PSDDs). I am also interested in Probabilistic Logic Programming (e.g. ProbLog), Answer Set Programming (e.g. Potassco) and on probabilistic semantics of ASP.

Check out our new Probabilistic Logic Programming Language, \(\dpasp\) (GitHub repo)!

I received my Master's in Computer Science at the Institute of Mathematics and Statistics of the University of São Paulo under the supervision of Prof. Denis Deratani Mauá, and was part of the Knowledge-Augmented Machine Learning Group (KAMeL). My MSc was on "Scalable Learning of Probabilistic Circuits".

I graduated and received my Bachelor's degree in Computer Science in 2018 at the Institute of Mathematics and Statistics, University of São Paulo. My undergraduate thesis was on Mobile Robot Self-Driving Through Image Classification Using Discriminative Learning of Sum-Product Networks, an extension of my undergraduate research on Automatic Learning of Sum-Product Networks using the SPN inference and learning library GoSPN we built during my undergraduate.

Below are some links about me:

Publications

  • Renato Lui Geh. "Scalable Learning of Probabilistic Circuits". Advisor: Denis D. Mauá. 2022. Dissertation for the degree of Master of Science in Computer Science. [pdf] [slides]
  • Renato L. Geh, Denis D. Mauá. "Fast And Accurate Learning of Probabilistic Circuits by Random Projections". 2021. Tractable Probabilistic Modeling Workshop (TPM 2021). Ed. 4. [pdf] [talk] [slides] [poster]
  • Renato L. Geh, Denis D. Mauá. "Learning Probabilistic Sentential Decision Diagrams Under Logic Constraints by Sampling and Averaging". 2021. Uncertainty in Artificial Intelligence (UAI 2021). Ed. 37. [pdf] [doi] [talk] [slides] [poster]
  • Renato Geh, Denis Mauá, Alessandro Antonucci. "Learning Probabilistic Sentential Decision Diagrams by Sampling". 2020. Symposium on Knowledge Discovery, Mining and Learning (KDMILE 2020). Ed. 8. [pdf] [doi] [talk] [slides]
  • Renato L. Geh, Denis D. Mauá. "End-To-End Imitation Learning of Lane Following Policies Using Sum-Product Networks". 2019. Encontro Nacional de Inteligência Artificial e Computacional (ENIAC 2019). Ed. 15. [pdf] [doi] [poster]
  • Renato L. Geh, Denis D. Mauá. "Automatic Learning of Sum-Product Networks". 2018. Simpósio Internacional de Iniciação Científica da Universidade de São Paulo (SIICUSP XXVI). Ed. 26.

Research

My research focus is on probabilistic models, knowledge representation and compilation, probabilistic logic programming, and the intersection of all these subjects.

My Master's looked at the problem of structure learning of probabilistic circuits from two distinct lenses: from a logic point-of-view, we integrated learning from data with domain knowledge in the form of propositional logic formulae by producing ensembles of probabilistic sentential decision diagrams; from a data point-of-view, we proposed a fast and efficient structure learning algorithm that randomly partitioned data by random projections.

My undergraduate research project was on structural and parametrical learning of Sum-Product Networks. You can read more about it on the link below.

Undergraduate Research (Iniciação Científica)

My undergraduate research on structural and parametrical learning of sum-product networks.

A direct subproduct of my undergraduate research project is an inference and learning sum-product network library called GoSPN.

GoSPN

A library for inference and learning of Sum-Product Networks written in Go.

In 2018, I concluded my undergraduate thesis on autonomous driving of mobile robots through image classification using discriminative learning of sum-product networks. You can read more about it on the link below.

Undergraduate Thesis (TCC)

My undergraduate thesis on autonomous driving of mobile robots through image classification using discriminative learning of sum-product networks.

This work yielded a paper at the Brazilian National Meeting on Artificial and Computational Intelligence (ENIAC) in 2019, a collocated event at the Brazilian Conference on Intelligent Systems (BRACIS) 2019 [doi].

Projects

This section covers other side-projects unrelated to my research.

During my early years in university, I used to participate in competitive programming contests, such as ACM's ICPC. A great study group at IME-USP for competitive programming I was part of is MaratonIME.

MaratonIME

A study group for competitive programming contests for students at the University of São Paulo.

From time to time I take part in game development contests with friends, such as Global Game Jam and Ludum Dare. All our games are open-source. Here are some:

Naomi

A puzzle platformer entry submission for the 2014 Global Game Jam.

Marvellous Inc.

A puzzle programming game inspired by Zachtronic's games. This was an entry submission for the Ludum Dare 37 in 2016. We continued working on it after submission and released it on itch.io and Steam.
It also won Best Educational Game Award at the BIG Festival 2018!

I've recently become involved in the creation of yet another IME-USP student group.

FLUSP

FLUSP is a group dedicated to the development of FLOSS (Free Libre Open Source Software). We have an IRC channel at

          irc.freenode.net, #ccsl-usp
        
Feel free to join us!

I'm a big fan of free open-source software, and I've been trying to give more to the community by contributing to software I use. :) I started on the Linux Kernel, but plan on going for Git and TensorFlow soon.

Linux Kernel

I like to contribute to the Linux Kernel as a hobby. :) Clicking on the link above will lead you to a list of submitted and accepted patches.

Linuxdev-br

On August 4th 2019 I co-presented a talk on Object-oriented Techniques in C: A Case Study on Git and Linux together with Matheus Tavares at the 2019 Linux Developer Conference Brazil. I talked about OOP in the Linux Kernel, more especifically the Industrial Input/Output subsystem. Watch me make a fool of myself:

Slides: [pdf]

Residuals

Here are some stuff I had to write for class. I doubt it'll be of use to anyone, but hoarded knowledge is useless knowledge.

Visualizing Generative Sum-Product Networks on Image Reconstruction

Article on Sum-Product Network (SPN) visualization on the image domain. Paper written for the Machine Learning in Computer Vision (MAC6914) course at IME-USP lectured by Prof. Nina S. T. Hirata in 2018.

A Polynomial-time Reduction of the 3-SAT to the Quadratic Congruence and Other Related Problems

A detailed explanation of Adleman and Manders' (brilliant, but very confusing and not very easy to follow) polynomial reduction of the quadratic congruence problem. Paper written for the Computational Number Theory (MAC6927) course at IME-USP given by Prof. Sinai Robins in 2017.

Anti-Coordination Games and Stable Graph Coloring

Written in portuguese. A presentation on anti-coordination games and stable graph coloring. This is based on Kun, Powers and Reyzin's article Anti-coordination Games and Stable Graph Coloring. In this presentation I explain in details the article's proofs and the reduction done for proving that strictly stable k-coloring on undirected graphs is NP-complete. Presentation done for Algorithmic Game Theory (MAC0466/MAC6909) given by Prof. Cristina Fernandes at IME-USP in 2017.

Contact

You can contact me through my institutional email:

Or my personal email:

I hate spam. Spam bots are getting smarter and smarter every day. That's why I add an obfuscation layer before showing my emails. I don't think spam bots have figured out how to press a button yet, so I think I'm safe. I could be wrong. I might also be paranoid.

Misc

This is my not-so-serious section for my homepage. Here I enumerate a few personal interests and opinions of mine.

Music

I love music. But I have a special passion for jazz. Whether you're a first-time listener or an old time cat, I'm always up for talking about jazz and all its many subgenres with. If you're trying jazz for the first time, I maintain a curated list of jazz playlists on Spotify with different themes and subgenres. Since jazz covers such a broad spectrum of styles, this list may be useful for finding exactly what kind of groove you dig.

I play (poorly) the tenor saxophone. If you're from USP and would like to play jazz, bossa nova or blues, send me an email and we can go for a jam session. :)

Linux

I'm a firm believer of free and open-source software, and that includes Linux.

I tend to avoid discussions on "which Linux distribution is the best", since I believe every distribution has a specific target audience and goals. I'm an Arch Linux user myself ("you just had to say it, didn't you"), and I believe that every Linux user should go to the Arch Wiki for reference, regardless of distribution.

Vim

Ignore when people say Vim is hard to learn. They're often either being pretentious about using Vim or just giving an excuse for not learning.

I recommend Vim Adventures to learn how to Vim in a fun way (if you didn't think Vim was fun already). :)

For people who already use Vim, check out NeoVim, Vim's sucessor.

Snippets

I hate throwing code away. I think everyone should have a repository containing "utility" scripts (i.e. "snippets"). Here is mine. If you haven't one yet, go make yours! :)