Sciblog - A blog designed like a scientific paper


A Gentle Introduction to Contextual Bandits

April 1, 2020

Markus Cozowicz and Miguel González-Fierro


Contextual bandits are a simplified type of reinforcement learning algorithm that use contextual information about the environment to make decisions in real-time and require reward at every step. They can be used for applications such as news recommendation, ads placement on a website, financial portfolio design to name a few. In this post, we give an overview of contextual bandits and explain how they can be used.


ASROB 10th anniversary

Dec. 31, 2019

D. Estévez, J. Isabel, V. González Pacheco, J. González Víctores, M. González-Fierro


This year 2019, was the 10th anniversary of ASROB, the robotic student society at the University Carlos III in Madrid. It is exciting to see that the organization is still thriving, that new students are joining it and that many projects are being developed. In this post we review the history of the organization and reflect on the reasons for its success.


Understanding the Sequential Recommender SLi-Rec

Dec. 21, 2019

Miguel González-Fierro


Sequential recommenders are a hot topic in Recommendation systems. In this post we do a short summary of one of the latest contributions of Microsoft Research: SLi-Rec. This algorithm has a time-aware component, being able to encode static and dynamic user behavior, and a content-aware component, being able to incorporate contextual information.


Understanding XLNet and its implications for NLP

Nov. 19, 2019

Miguel González-Fierro


Last year BERT revolutionized NLP and since then there have appeared a large number of improvements over the original implementation: MT-DNN, RoBERTa, AlBERTa. The main feature of these models is their autoencoding nature. On the other hand, a group of autorregressive methods have been proposed like Transformer-XL, GPT-2 or XLNet. In this short post we want to give a short overview of XLNet and its nature and how it compares with BERT.


In this post we revisit the revision of the Unreasonable Effectiveness of Data in the hope that it empowers the deep learning community to keep revising old ideas.


Cloud-Scale Text Classification with Convolutional Neural Networks

March 3, 2019

Ilia Karmanov and Miguel González-Fierro


Natural Language Processing (NLP) is one of the fields in which deep learning has made significant progress. Specifically, the area of text classification, where the objective is to categorize documents, paragraphs or individual sentences into classes. In this post, we review an old article we published in 2017: Cloud-Scale Text Classification with Convolutional Neural Networks on Microsoft Azure and share the code we used to create the models.


Top 35 AI solutions for today's key industries

Dec. 21, 2018

Miguel González-Fierro


Artificial Intelligence is leading the new technological revolution and it is considered by many the new electricity. AI is transforming every industry and driving new ways for companies of being more efficient, profitable and innovative. In this post, we analyze the most popular AI solutions across 16 different industries.


A Gentle Explanation of Dimensionality Reduction with t-SNE

Oct. 31, 2018

Miguel González-Fierro


t-SNE is one of the most popular dimensionality reduction algorithms, it allows to represent a high-dimensional dataset in a 2 or 3-dimensional space, making it easy to visualize high-dimensional data points. In this post, we explain the algorithm and make a light overview of the math. Together with this post, we wrote a jupyter notebook where we show an example of t-SNE using sklearn and CUDA implementations.


Evidence-Based Software Design

Oct. 11, 2018

Nikhil Joglekar and Miguel González-Fierro


Software design can be challenging. The design decisions we take when creating a technical product influence its customer adoption and the product success. Evidence-based design is a methodology to make decisions based on facts that raises the chances of achieving successful products and improves the efficiency of technical teams.


One of the main driving forces behind Python is creating simple and readable code, which turns out to be a very difficult task. In this post, we analyze the second statement of the Zen of Python: explicit is better than implicit. We clarify its meaning and illustrate some examples on how to write Python code in a "pythonic" way.