Skip to main content

Posts

Cracking the Black Box: Six Lenses for Understanding Deep Learning

Deep learning has revolutionised technology, giving us everything from uncannily smart chatbots to medical imaging that can spot diseases better than the human eye. Yet, for a long time, a central mystery has haunted the field: why do these enormous models work so well? According to classical statistics, a model with billions of parameters—far more than its training data—should fail spectacularly. It ought to memorise the data, noise and all, and be unable to generalise to new, unseen examples. But deep neural networks defy this wisdom. They generalise brilliantly. How do we explain this apparent magic? There isn't one single answer. Instead, researchers view the problem through several different theoretical "lenses." Here are six of the most important ones. 1. The Linearisation Lens: The Neural Tangent Kernel (NTK) ⚙️ The NTK offers a startling insight: what if, under the right conditions, a massively complex neural network is just a simple, linear model in disguise? The...

Connecting JADE and MATLAB/Simulink for Multi-agent Simulations

This article will explore different approaches to connecting JADE ( Official Website ) (Java Agent Development Framework) with MATLAB/Simulink for multi-agent simulations. By integrating these two powerful tools, we can create comprehensive simulations of multi-agent systems.  I first encountered this problem of connecting JADE with MATLAB in 2018-2019 while doing my master's project. It was not my own project but one of my friends' projects required this functionality to be implemented. The project was to develop a system that can do several control functions of a microgrid. In the research area of muti-agent control for microgrids, this method of connecting JADE with MATAB/Simulink was the most common way to implement it. He finally achieved this using one of the methods discussed here and published his work at an international conference. Also, during 2021-2022 I encountered the same problem but I needed a more robust approach compared to his since this time the simulation w...

How to program in R language in Jupyter Notebooks using Conda environments

In this blog post, we will discuss how to use conda environments to install the R kernel and program in R in Jupyter notebooks. 1. Install conda The first step in using conda environments is to install conda itself. You can download the conda installer from the Anaconda website and follow the instructions to install it on your system. Once you have conda installed, you can create and manage virtual environments. 2. Create a new conda environment To create a new conda environment, you can use the following command in your terminal: conda create -n myrenv This will create a new environment called "myenv" that you can use to manage your packages and dependencies. You can activate this environment by using the following command: conda activate myrenv 3. Install the R kernel Now that you have an active conda environment, you can use it to install the R kernel. You can do this by using the following command (you may have to press Enter key several times to finish the process): c...

Webinar Series on Smart Grid and Microgrids by Smart Grid Research Lab, University of Moratuwa

This webinar series is created by the Smart Grid Research Lab of the University of Moratuwa , Sri Lanka. As a research assistant and a Ph.D. student, I had the honor of organizing the series.  The webinar series is titled "Discussion forum on Smart Grid and Microgrids". It will cover the fundamentals of Smart Grid and Microgrids and the research areas of Smart Grid Research Lab. The webinars will be uploaded to YouTube and created as a playlist . Check out the introduction to the webinar series and the lab by Prof. K. T. M. U. Hemapala.

Definition of a Microgrid

The microgrid is a concept that is modernizing the conventional power system in many countries. It was first proposed in the early 2000s and a lot of research from academia and industry has been conducted to improve the concept as well as the technologies required. Here the definitions of the microgrid are given. USA Department of Energy (DOE) definition (Ton & Smith, 2012): "A group of interconnected loads and distributed energy resources within clearly defined electrical boundaries that acts as a single controllable entity with respect to the grid. A microgrid can connect and disconnect from the grid to enable it to operate in both grid-connected or island mode." European Union (EU) Research Projects definition (Schwaegerl & Tao, 2013): "Microgrids comprise LV distribution systems with distributed energy resources (DER) (microturbines, fuel cells, PV, etc.) together with storage devices (flywheels, energy capacitors, and batteries) and flexible loads. Such syst...

A new page for Machine Learning resources

I have created a page to curate Machine Learning resources found on the internet . Most of these resources are freely available to anyone. Following lists are created as a start. Also, you'll find similar lists in this link -  dair-ai/ML-YouTube-Courses Researchers to follow List by Analytics Vidhya Content to follow Andrew Ng's Coursera course -  Coursera ,  In YouTube   Google AI Crash course -  Google AI Harvard CS50's Artificial Intelligence -  CS50's AI Course   Stanford CS229 (Anand Avati - 2019) -  Stanford 229 (2019) Fast AI Course -  fast.ai Introduction to deep learning (MIT) -  introtodeeplearning.com Applied deep learning -  Applied deep learning YT ML for beginners by Microsoft -  ML for beginners

Research on Machine Learning applications in Smart Grid & Microgrids

Smart grids and microgrids are the future of the power system we use today. Integrating the power systems with communication devices and adding a data layer has its perks for power system operators as well as the consumers.  This novel power system will generate enormous amounts of data with its maturity. As researchers, it is quite fascinating for us since this means that we get to combine two disciplines, Machine Learning & Power Systems. In this blog post, I will list all the possible applications that I come across of machine learning in power systems. Update: I will start to categorize them into, Microgrid research Energy forecasting Smart grid research Microgrid research Multi-agent systems for microgrid control [ link ] Reinforcement learning for microgrid energy management Detect security breaches Fault detection and classification Microgrid islanding detection Multi-agent reinforcement learning for microgrid control Energy forecasting research Solar energy forecasting ...