Machine Learning COFFIES “Hears” Sunspots Before We Can See Them

In this age of neural net “AI”, even the most skeptical of Butlerians have to agree that these machine learning models can be very, very good at pattern recognition if nothing else. NASA is on the same page, and to take advantage of that pattern recognition, they’ve built a machine learning module called COFFIES, which stands for Consequence Of Fields and Flows in the Interior and Exterior of the Sun, because at NASA everything is an acronym, or at least a backronym. Like most such names, this one is at least vaguely descriptive: the model is trying to predict what’s going on in the material flows and magnetic fields deep within our local star, and using those inferences is able to predict active regions– that’s sunspots to us chickens — up to 12 hours before they visibly form.

Continue reading “Machine Learning COFFIES “Hears” Sunspots Before We Can See Them”

Grading Tomatoes With An ESP32 And ML

If you’ve ever worked with produce, you might know about grading. In addition to deciding if, say, a strawberry is good or not, they also have to sort them by color. Turns out, you don’t care if one package of berries is a bit redder than another, but you do care if one package has too much color variation. [Pmalfa31] applied an ESP32 and machine learning to grading tomatoes.

The system knows in advance if you are processing standard tomatoes or cherry tomatoes and uses two different sets of learned data depending on which you select. The program receives raw data from an optical sensor and then processes it to remove empty belt images, compute statistical information, and group readings for a single fruit together.

Continue reading “Grading Tomatoes With An ESP32 And ML”

Neural Net Reads The Gas Meter

In an ideal world, the role of technology would be to make all of our lives easier. And although all the ads suddenly appearing in our smart TVs and gaming systems might make it seem otherwise, some technology can still improve our lives if we work hard at it. For [Cian], that meant training a neural network to read his gas meter so he wouldn’t have to do it himself.

The root issue here is twofold, first that [Cian]’s gas company hasn’t upgraded their own technology to modern, remote-readable meters, and second that the meter can’t be read by a gas employee because it’s hidden in the depths of [Cian]’s basement. This latter fact requires him to delve into Moria-like depths to get to the meter, so the solution here was to place a Raspberry Pi in this location instead. With a camera pointed at the meter, it’s not quite capable of discerning digits on its own so a neural network was trained in order to get accurate readings of the dial. And, finally, since the machine is networked already [Cian] set it up to automatically notify the gas company of its reading so he is now completely out of the loop.

For automating tedious tasks like these, the Raspberry Pi with something like OpenCV as a computer vision tool is a fairly mature platform for light machine learning duties like these. We’ve seen license plate readers as well as neighborhood traffic surveys built on these platforms to help automate human labor away, making our lives easier one single-board computer at a time.

Continue reading “Neural Net Reads The Gas Meter”

Two maps of London turned into hexagonal regions heat mapped from white to peach to purple. The left map is according to: density, ratings, surprise, cuisine diversity, and independent share. The map on the right of merged data assigns the dominant hub type in a region. Purple is assigned a value of "Elite", reddish orange is "Strong", peach is "Everyday", and white/grey is "Weak." The five locations deemed to be the highest scorers were Ealing-Acton, Kingston Upon Thames, Enfield, Bromley, and Havering.

Google Maps Killed The Restaurant Star

We all know that Google and other big players pick and choose what information people see, but we sometimes overlook it outside of the search and social media space. [Lauren Leek] decided to take a look at how Google Maps picks winners and losers in the restaurant scene in London.

Building a machine learning model to determine a new restaurant recommendation (as one does), [Leek] uncovered interesting, and perhaps concerning, elements of how Google Maps ranks restaurants. Broken down by relevance, proximity, and prominence, many new restaurants face the issue of not drawing traffic without reviews and vice-versa causing a vicious cycle. Relevance and proximity are fairly straightforward, but what goes into “prominence?”

[Leek] found that “it is not just what people think of a place – it is how often people interact with it, talk about it, and already recognise it.” This leads to chains and high foot traffic areas awash in reviews while more out-of-the-way places find it more difficult to draw traffic. Some of this is expected and would be happening even when word of mouth was the primary way to find out where to eat, but as with many things, the algorithm amplifies this, along with the undisclosed paid placement of restaurants in Maps results.

While still in its infancy, [Leek] built a public dashboard where people can sort restaurants in the city. The machine learning algorithm is designed to identify places that are hidden gems that punch above their Google Maps weight and may make you look like the trendy one (if you live in London).

Zooming out further, [Leek] found larger clusters that revealed restaurant “diversity, in other words, is not just about taste. It is about where families settled, which high streets remained affordable long enough for a second generation to open businesses, and which parts of the city experienced displacement before culinary ecosystems could mature.”

If you want to step outside the algorithm mayhem, how about a good old-fashioned Web Ring? We’ve also addressed what’s an AI versus an algorithm, and Cory Doctorow advised us on how to reverse course on the current wave of enshittification.

Teaching An AI To Play A Racing Game Via Screen Input

If you’re a fleshy human, you probably learn to play video games by looking at the screen and pressing the buttons, and maybe copying the way you’ve seen others play the game before. [tryfonaskam] has recently been trying to teach an AI to play games in much the same way.

[tryfonaskam] built PILA—short for Polytrack Imitation Learning Agent. As you might have guest from the name, it’s an AI agent designed to play a simple racing game called PolyTrack. Rather than manually programming the agent’s behavior, PILA instead trains itself through supervised learning, where it observes the gameplay state via screen capture and monitoring the keyboard inputs made by human players as they drive the tracks. It then uses this to guide its own behavior, and learns to play the game by itself. The model receives live frames from the graphics engine while playing, and then predicts the appropriate actions and makes the right keyboard inputs in turn to steer the car through the track.

This project reminds us of similar efforts to teach a raw AI how to play Trackmania, or the Drivatar technology in the Forza series of racing games.

Off-Grid OCR Server Powered By IPhone

Running an optical character recognition (OCR) server might sound like it would need some powerful hardware, like a rack-mounted, water-cooled machine, or at least a nice desktop or laptop. But if you have the time, anything could be used. [Hemant] has a long-running personal project that processes a lot of image data over a long time, and set up the OCR server on an iPhone 8 running entirely with solar power, rather than turn to more typical hardware.

Part of what makes this task feasible for low-powered hardware is Apple’s Vision framework, which uses machine learning to aid in things like character recognition (among other tasks). It will run on an iPhone just as easily as a Mac. The phone’s built-in battery already provides the first step of an off-grid setup. This build relies on a separate power bank to integrate the phone with the solar panel more easily. On the software side, [Hemant] reports that the true challenge wasn’t setting up the server as much as it was keeping the iPhone from sleeping or stopping his program from running full-time.

A system like this running off-grid, especially considering the costs of the solar panel and power bank, might seem counterproductive. But when comparing electricity costs for running the same software on his server, he estimates he saves about $10 per month with this setup, which has a payback of somewhere around 2-3 years. Not too bad for a phone that would have otherwise ended up in a landfill. Old phones can be surprisingly good choices for servers, too. It helps if they can run Linux, but plenty of phones will support server applications, even when running their native OS.

Training A Transformer With 1970s-era Technology

Although generative language models have found little widespread, profitable adoption outside of putting artists out of work and giving tech companies an easy scapegoat for cutting staff, their their underlying technology remains a fascinating area of study. Stepping back to the more innocent time of the late 2010s, before the cultural backlash, we could examine these models in their early stages. Or, we could see how even older technology processes these types of machine learning algorithms in order to understand more about their fundamentals. [Damien Boureille] has put a 60s-era IBM as well as a PDP-11 to work training a transformer algorithm in order to take a closer look at it.

For such old hardware, the task [Damien Boureille] is training his transformer to do is to reverse a list of digits. This is a trivial problem for something like a Python program but much more difficult for a transformer. The model relies solely on self-attention and a residual connection. To fit within the 32KB memory limit of the PDP-11, it employs fixed-point arithmetic and lookup tables to replace computationally expensive functions. Training is optimized with hand-tuned learning rates and stochastic gradient descent, achieving 100% accuracy in 350 steps. In the real world, this means that he was able to get the training time down from hours or days to around five minutes.

Not only does a project like this help understand these tools, but it also goes a long way towards demonstrating that not every task needs a gigawatt datacenter to be useful. In fact, we’ve seen plenty of large language models and other generative AI running on computers no more powerful than an ESP32 or, if you need slightly more computing power, on consumer-grade PCs with or without GPUs.