Twitter: It’s Not The Algorithm’s Fault. It’s Much Worse.

Maybe you heard about the anger surrounding Twitter’s automatic cropping of images. When users submit pictures that are too tall or too wide for the layout, Twitter automatically crops them to roughly a square. Instead of just picking, say, the largest square that’s closest to the center of the image, they use some “algorithm”, likely a neural network, trained to find people’s faces and make sure they’re cropped in.

The problem is that when a too-tall or too-wide image includes two or more people, and they’ve got different colored skin, the crop picks the lighter face. That’s really offensive, and something’s clearly wrong, but what?

A neural network is really just a mathematical equation, with the input variables being in these cases convolutions over the pixels in the image, and training them essentially consists in picking the values for all the coefficients. You do this by applying inputs, seeing how wrong the outputs are, and updating the coefficients to make the answer a little more right. Do this a bazillion times, with a big enough model and dataset, and you can make a machine recognize different breeds of cat.

What went wrong at Twitter? Right now it’s speculation, but my money says it lies with either the training dataset or the coefficient-update step. The problem of including people of all races in the training dataset is so blatantly obvious that we hope that’s not the problem; although getting a representative dataset is hard, it’s known to be hard, and they should be on top of that.

Which means that the issue might be coefficient fitting, and this is where math and culture collide. Imagine that your algorithm just misclassified a cat as an “airplane” or as a “lion”. You need to modify the coefficients so that they move the answer away from this result a bit, and more toward “cat”. Do you move them equally from “airplane” and “lion” or is “airplane” somehow more wrong? To capture this notion of different wrongnesses, you use a loss function that can numerically encapsulate just exactly what it is you want the network to learn, and then you take bigger or smaller steps in the right direction depending on how bad the result was.

Let that sink in for a second. You need a mathematical equation that summarizes what you want the network to learn. (But not how you want it to learn it. That’s the revolutionary quality of applied neural networks.)

Now imagine, as happened to Google, your algorithm fits “gorilla” to the image of a black person. That’s wrong, but it’s categorically differently wrong from simply fitting “airplane” to the same person. How do you write the loss function that incorporates some penalty for racially offensive results? Ideally, you would want them to never happen, so you could imagine trying to identify all possible insults and assigning those outcomes an infinitely large loss. Which is essentially what Google did — their “workaround” was to stop classifying “gorilla” entirely because the loss incurred by misclassifying a person as a gorilla was so large.

This is a fundamental problem with neural networks — they’re only as good as the data and the loss function. These days, the data has become less of a problem, but getting the loss right is a multi-level game, as these neural network trainwrecks demonstrate. And it’s not as easy as writing an equation that isn’t “racist”, whatever that would mean. The loss function is being asked to encapsulate human sensitivities, navigate around them and quantify them, and eventually weigh the slight risk of making a particularly offensive misclassification against not recognizing certain animals at all.

I’m not sure this problem is solvable, even with tremendously large datasets. (There are mathematical proofs that with infinitely large datasets the model will classify everything correctly, so you needn’t worry. But how close are we to infinity? Are asymptotic proofs relevant?)

Anyway, this problem is bigger than algorithms, or even their writers, being “racist”. It may be a fundamental problem of machine learning, and we’re definitely going to see further permutations of the Twitter fiasco in the future as machine classification is being increasingly asked to respect human dignity.

Linear Clock Ratchets Up The Action

On the face of it, making a clock that displays the time by moving a pointer along a linear scale shouldn’t be too hard. After all, steppers and linear drives should do the job in a jiffy. Throw an Arduino in and Bob’s your uncle, right?

Wrong. At least that’s not the way [Leo Fernekes] decided to build this unique ratcheting linear clock, a brilliant decision that made the project anything but run-of-the-mill. The idea has been kicking around in [Leo]’s head for years, and there it stayed until inspiration came in the unlikely form of [This Old Tony], one of our favorite YouTube machinists. [Old Tony] did a video on the simple genius of latching mechanisms, like the ones in retractable pens, and that served as an “A-ha!” moment for [Leo]. For a ratchet, he used a strip of bandsaw blade oriented so the teeth point upward. A complex bit of spring steel, bent to engage with the blade’s teeth, forms a pawl to keep the pointer moving upward until it reaches the top.

[Leo] decided early on that this would be an impulse clock, like the type used in schools and factories. He used a servo to jog a strip of tape upward once each minute; the tape is engaged by jaws that drag the pointer along with it, moving the pawl up the ratchet by one tooth and lifting the pointer one minute closer to the top. The pointer releases at the top and falls back to start the cycle over; to arrest its freefall, [Leo] had the genius idea of attaching magnets and using eddy currents induced in the aluminum frame for the job. Finished off with a 3D-printed Art Deco scale, the clock is a unique timepiece that’s anything but boring.

We really appreciate [Leo]’s unique and creative take on projects, and his range. Check out his everlasting continuity tester and his phage-like sentry gun for some neat build details.

Continue reading “Linear Clock Ratchets Up The Action”

Fermenting Yogurt With The Help Of Hardware

Fermentation is a natural process that has been exploited by humanity for millennia. Behind such favorites as cheese and beer, it takes just the right conditions to get the desired results. To aid in this process, and to explore the crafts of their ancestors, [Victoria] and [Petar] created an electronic fermentation quilt.

Bulgarian yogurt was the tasty end result from this work.

Anyone familiar with breadmaking will be familiar with throwing a cloth over dough when left to rest. This is all about temperature management, providing optimum conditions for the yeast to work their magic. This fermentation quilt takes things to the next level, integrating soft heater pads and temperature sensing hardware into the fabric itself. Rather than acting as a simple insulator, the quilt can actively supply heat where needed, switching off when reaching the set temperature. In this example, the quilt is set to maintain a temperature of 45 degrees for the optimum production of Bulgarian yogurt.

The fermentation quilt serves as an excellent example of what can be achieved when combining textiles with smart electronics. Tools like Adafruit’s Lilypad and conductive thread all come together to make this a functional and useful device, and shows that electronic textiles aren’t just limited to blinky wearables.

Fermentation is a popular topic among hackers, with [Trent Fehl]’s Supercon talk at the 2019 Supercon covering similar ground from a sourdough perspective. It goes to show that hardware skills can pay off in the kitchen, too!

Internet Connected E-Paper Message Board

Are you still writing notes on paper and sticking them to the fridge like it’s the ’80s? Well, if you are, and you read this site, you’d probably like to upgrade to something a bit more 21st century. And, thanks to robot maker [James Bruton], you can leave your old, last century, message taking behind as he has a tutorial up showing you how to build an internet connected e-paper message display board. And, if you have a Raspberry Pi, an e-paper display and adapters just lying around doing nothing, then this project will cost you less than the buck that paper and a magnet will cost you.

Sarcasm aside, this is a pretty nice project. As mentioned, the base of this is a Raspberry Pi – [James] uses a Pi 4, but you could get away with an older, lower powered model as well. This powers the cheap(-ish) e-paper display he found online, which comes with the necessary adapters for the Pi, as well as a python library to write to the display. [James] uses a Google Sheet as the cloud storage for the message board, and there is some python code to access the cells in the Sheet and print them on the display if anything has changed. A cron job runs the script every 5 minutes to catch changes in the messages.

As with most of the projects that [James] does, he gives a good overview in the video and goes over the process of finding the hardware and writing and updating the script. He’s put the script and details as well as the CAD file for the frame he created for the project up on GitHub. [James] has been featured several times on the site before, check out some of his projects.

Continue reading “Internet Connected E-Paper Message Board”

Tracking Down Radio Frequency Noise Source, With Help From Mother Nature

Amateur radio operators and shortwave listeners have a common enemy: QRM, which is ham-speak for radio frequency interference caused by man-made sources. Indiscriminate, often broadband in nature, and annoying as hell, QRM spews forth from all kinds of sources, and can be difficult to locate and fix.

But [Emilio Ruiz], an operator from Mexico, got a little help from Mother Nature recently in his quest to lower his noise floor. Having suffered from a really annoying blast of RFI across wide swaths of the radio spectrum for months, a summer thunderstorm delivered a blessing in disguise: a power outage. Hooking his rig up to a battery — all good operators are ready to switch to battery power at a moment’s notice — he was greeted by blessed relief from all that noise. Whatever had caused the problem was obviously now offline.

Rather than waste the quiet time on searching down the culprit, [Emilio] worked the bands until the power returned, and with it the noise. He killed the main breaker in the house and found that the noise abated, leading him on a search of the premises with a portable shortwave receiver. The culprit? Unsurprisingly, it was a cheap laptop power supply. [Emilio] found that the switch-mode brick was spewing RFI over a 200-meter radius; a dissection revealed that the “ferrite beads” intended to suppress RFI emissions were in fact just molded plastic fakes, and that the cord they supposedly protected was completely unshielded.

We applaud [Emilio]’s sleuthing for the inspiration it gives to hunt down our own noise-floor raising sources. It kind of reminds us of a similar effort by [Josh (KI6NAZ)] a while back.

Building A Compact Reflow Oven With Halogen Lamps

Very often, particularly on the Internet, we’re fooled into thinking bigger is always better. The fact remains that this isn’t always the case. When it comes to reflow ovens, for example if you’re working with short runs of small PCBs, or if you just don’t have a lot of space in the workshop, a smaller oven will be more desirable than a large one. It’s factors like these that drove [Sergi Martínez]’s latest build.

Built inside a metal project case, first attempts involved using an off-the-shelf heating element, with poor results. The element had a high thermal inertia, and was designed for use in water, so didn’t last in the reflow application. Learning from the experience of others, [Sergi] switched to using halogen lamps, netting much greater success. An Arduino Nano is responsible for running the show, using firmware developed by [0xPIT]. There’s also a screen for monitoring reflow profiles, and a cooling fan to help keep temperature in the ideal zone.

It’s a tidy build that would be particularly useful for quickly running batches of small PCBs without the long wait times required to heat a larger oven. Energy efficiency should be better, too. Of course, if you’re a fan of the classic toaster oven builds, we’ve got those too. Video after the break.

Continue reading “Building A Compact Reflow Oven With Halogen Lamps”

Autodesk Blinks, Keeps STEP File Export In Free Version Of Fusion 360

Good news, Fusion 360 fans — Autodesk just announced that they won’t be removing support for STEP file exports for personal use licensees of the popular CAD/CAM platform after all.

As we noted last week, Autodesk had announced major changes to the free-to-use license for Fusion 360. Most of the changes, like the elimination of simulations, rolling back of some CAM features, and removal of generative design tools didn’t amount to major workflow disruptions for many hobbyists who have embraced the platform. But the loss of certain export formats, most notably STEP files, was a bone of contention and the topic of heated discussion in the makerverse. Autodesk summed up the situation succinctly in their announcement, stating that the reversal was due to “unintended consequences for the hobbyist community.”

While this is great news, bear in mind that the other changes to the personal use license are still scheduled to go into effect on October 1, while the planned change to limit the number of active projects will go into effect in January 2021. So while Fusion 360 personal use licensees will still have STEP files, the loss of other export file formats like IGES and SAT are still planned.