Guillaume Lagrange

Montreal, Quebec · lagrange.guillaume.1@gmail.com

Hello there!
I am a machine learning developer @ tracel.ai working on Burn, our open-source deep learning framework. My recent interests include data-efficient deep learning for computer vision, self-supervised learning and continual learning among other things.


Projects

Low-Resource Neural Machine Translation

Advanced Project In Machine Learning
Python
Description

Neural machine translation (NMT) uses artificial neural networks to predict the likelihood of a sequence of words, often in the form of whole sentences. It has become the state-of-the-art for language pairs with large-scale parallel corpora. These advances, however, rely on the availability of large-scale parallel corpora to fit the hundreds of millions of model parameters required to make accurate predictions. On the other hand, the vast majority of languages today do not have such resources.

This project focuses on neural machine translation from English to French in a low-resource scenario, where we only have access to 11,000 parallel examples. As with most low-resource languages, we can capitalize on larger unaligned monolingual corpora to help our NMT system: an English corpus of 474,000 examples and a French corpus of 474,000 examples.

The final solution consists in a small Transformer trained with subword segmentation, target-side capitalization encoding and back-translation data augmentation using the unaligned corpora.

Spring 2020

Solar Irradiance Nowcasting from Satellite Imagery

Advanced Project In Machine Learning
Python
Description

With a recent increase in renewable energy sources such as solar photovoltaic (PV) systems, solar forecasting has become increasingly important as the surface solar irradiance has a direct influence on the output of solar power generation. The accurate prediction of solar energy available is important for PV energy plants in order to facilitate the planning and operation of photovoltaic systems, which in turn reduce the operation cost of these electric systems. Since external atmospheric factors like clouds or other water particles can occlude, reflect, refract or diffuse sun rays, we are most interested in the effective irradiance, or Global Horizontal Irradiance (GHI).

More precisely, this project focuses on the task of effective irradiance nowcasting, i.e. predicting the GHI up to 6 hours in the future, based on large-scale publicly available satellite imagery from GOES-13. Target values for specific locations are provided by 7 Surface Radiation (SURFRAD) stations on the ground.

For a given timestamp \(T_0\), a sequence of small patches at timesteps \(\left[T_0,\, T_0 - 1\text{h},\, T_0 - 2\text{h},\, T_0 - 3\text{h},\, T_0 - 4\text{h}\right]\) is extracted around the target SURFRAD station from the satellite imagery. This sequence of images is then used by a trained 3D ConvNet to predict the clear-sky GHI offset at the target station for four timesteps: \(T_0\), \(T_0 + 1\text{h}\), \(T_0 + 3\text{h}\) and \(T_0 + 6\text{h}\).

Spring 2020

Robotic Vision Application: Deep Learning Based Pick and Place

Undergraduate Project In Collaboration With TELEDYNE DALSA
Python, Cython
Description

This project demonstrates a real-world application in computer vision that showcases the new AI platform developed by our team at Teledyne, which offers deep learning capabilities for their current computer vision software application. More specifically, a convolutional neural network (CNN) was trained for a specific object detection application in order to perform automated picking of the selected object(s) with a robotic arm. The application interfaces the different aspects of a computer vision (or robotic vision) project while demonstrating the capabilities of deep learning for computer vision tasks such as object detection. This includes real-time image capture from a Teledyne DALSA camera using the GigE-V interface, object detection inference from the captured data and a reactive control of the robotic arm based on the detections, while simultaneously displaying the captured data and detections on a GUI for the users to see. The simultaneous execution of these tasks implies the notion of concurrency and parallelism in order to have a smooth demonstration.

Motivation

As part of my undergraduate end of studies' project, I wanted to pursue my interests in machine learning, computer vision and robotics. To be honest, I was very lucky to take part in this project thanks to my supervisor at Teledyne DALSA, since many undergraduate students don't get the chance to work on a project they are truly interested in. As part of the artificial intelligence group at Teledyne, we had to come up with an eye-catching demonstration for our upcoming software product which provides deep learning capabilities to our current computer vision software application. And that's pretty much how this robotic vision application developed into my undergraduate project.

Spring 2019

Survey of Deep Neural Networks Model Compression and Acceleration Methods

Research Initiation Project
Python
Description

Deep Neural Networks (DNNs) have achieved state-of-the-art results across various applications in the recent years, with some of the best results obtained with deeper networks and large training sets. On the other hand, the increasing size of such models restricts their deployability. This project provides a comprehensive survey of recent advanced techniques for deep convolutional neural network model compression and acceleration. I also select two of the more successful methods to study them more in details, providing meaningful evaluation of the model and its performance.

Motivation

Having recently developed a profound interest in machine learning and computer vision, I wanted to pursue a research initiation project to further improve my understanding on the subject of deep neural networks. Thus, I reached out to my supervising professor, who provided insightful advice throughout the project. I also wanted to get more familiar with the latest machine learning librairies, and the implementations required for this project would help me get started with PyTorch.

Summer 2018

Image Search Scraper

Personal Project
Python
Description

This user-friendly application easily scrapes the web for images that match your queries. Its friendly interface allows for single or multiple queries to automate the process of building your dataset through the use of multiple image search APIs, each allowing numerous queries. It currently support image scraping with Google's Custom Search JSON API and Microsoft's Bing Image Search API v7, or without any credentials required by scraping the results of a Google Image Search's HTML content.

Motivation

The initial intention behind the development of this tool was to facilitate the building process for deep learning image datasets when developing specific applications or working in research.

Time-lapse Exposure Fix Tool

Personal Project
Python
Description

Common problems in time-lapse photography arise from exposure changes in the camera settings or even natural light changes in a scene. This tool aims to fix exposure changes in time-lapse videos (or even stop motion animations), which are formed from a sequence of photographs.

Motivation

Time-lapse photography is a popular technique taking a sequence of frames at set intervals to record changes that take place in a scene over time, and is popularly used nowadays, especially on video-sharing websites such as YouTube. Having regularly consumed YouTube content, especially vlogs like Casey Neistat's, I decided to create this tool to fix a common problem which seemed to occur in time-lapse video sequences: exposure changes. I also wanted to get acquainted with Qt for designing graphical user interfaces, so this was a great excuse to do so.

Connected Factory: Remote Monitoring and Data Logging System

Collegiate End of Studies' Project
C/C++, PHP5, HTML5
Description

This project was realized as part of the CRÉE TA VILLE contest, which challenged the participants to carry out innovative projects aimed at improving the city of today and creating the city of tomorrow.

My proposed project, the Connected Factory, allows the user to monitor each of his connected devices simultaneously and download the recorded data history in csv format for each device. From the web page, the devices can also be configured (e.g., delete the data history, change device name, change device range, change device output type). In industrial process control, analog 4–20 mA current loops are commonly used for electronic signalling, with the two values of 4 & 20 mA representing 0–100% of the range of measurement or control. Based on this de facto standard, the data capture modules can be used on any existing equipment that follows this standard, or that outputs a DC voltage.

Motivation

Having a lot of experience as an instrumentation & control technician at the time, I came up with the idea of the Connected Factory to offer a future alternative to current practices in the industry. The 4-20 mA current loop standard is widely used and simple, but usually requires running long wires in order to set up a monitoring system for all the equipment in place. Therefore, the idea for this project was to enable a fast and easy configuration during installation: simply connect your equipment output to a data capture module. The module will transmit the information wirelessly with the help of an XBee module, providing a quick installation with robust communication.

Spring 2015