If you’ve been following this blog you’ll know that I’ve started a new role that requires me to build a deep learning system and I’ve been catching up on the 10+ years of research since I completed my PhD. With a background in computing and mathematics I jumped straight in to what I thought would be skimming through the literature. I soon realised that it would be better all round to jump back to first principles rather than be constrained with the methods I had learned over a decade ago.
So, I found a lot of universities who had put their machine learning courses online and have decided to work through what’s out there as if I was an undergraduate and then use my experience to build on top of that. I don’t want to miss an advantage because I wasn’t aware of it.
I’ve never thought of myself as a gender activist, and I think this is partly because I’ve never felt treated poorly – I’ve had equality throughout my life and have never felt the pull to be an activist, and as the years go by I am aware of how much privilege this background has afforded me, something that has made me start supporting those who were not as fortunate. This evening I watched a conversation unfold on twitter that annoyed me, so I’m going to put aside the tech and maths for a moment and look at what the problem is and what it isn’t.
Dr Sue Black had been giving a talk at an event in London about her TechMums program, which aims to teach women how to code to better understand technology, not necessarily to get jobs as programmers. This is a fantastic initiative and one of many that opens up understanding to people who may otherwise be ignorant on a subject that they may never have covered at school. I’ll come on to why this is important later. However, the inflammatory tweet was:
I’m four weeks in to my new role and one of the threads of work I have is looking into machine learning and how this has advanced since my own thesis. The current approach to machine intelligence is via learning networks where the data is abstracted: rather than recognising specifics about the problem, the algorithm learns the common elements of the problem and solution to match an input to the expected output, without needing an exact match. Our brains are very good at this: from a very early age we can recognise familiar faces from unfamiliar ones and quickly this progresses to identification in bad light, different angles, when the face is obscured. Getting machines to do the same has been notoriously difficult. Continue reading Machine intelligence – training and plasticity
So, in my last post we completed the Y-axis motor assembly and tested it. Issues 11-15 of the 3D Create and Print magazine will see us add the cover and bracket for the y-axis and start on the printer plates and feet. If you’ve skipped a part of this series you can start from the beginning, including details of the Vector 3 printer I’m building on my 3D printer page.
Y-axis cover: This is a fairly simple 3-bolt step. The only real gotchas here are to ensure that the cover is on the correct way round (so the slot in the cover is closest to the motor) and that the wires from the limit switch are not caught in any of the other parts and thread out through the slot. Yes there are only meant to be three bolts at this stage 🙂 This is also one of the first bad designs I’ve noticed – the y-axis could benefit from an extra clip to secure the limit switch wires because, now they are hidden, they could easily be too close the the motor belt and get worn down. Should the printer stop working, this will be one of the the first things I check.
If you’ve been watching anything on Channel 4 recently you’ll have seen a trailer for PersonaSynthetics – advertising the latest home must-have gadget. The ad itself is slightly creepy, despite the smiling family images, and the website supports this sterile AI view to an extent that some people have expressed concern over a genuine product being available. It’s a fantastic ad campaign for their new series Humans, which in itself looks like it’d be worth a watch (there’s a nice trailer on the website), but it has raised again the issues around artificial intelligence, and how far should it go.
This is of particular interest to me as I am starting a new project in machine learning and, while my work isn’t going to lead to a home based automaton, there are some interesting questions to be considered in this area to ensure that we don’t end up making ourselves obsolete as a species. Continue reading Artificial Intelligence
I’ve had a few discussions recently as to why I’m building a 3D printer using one of these collect the parts magazine rather than either a) buying one outright or b) getting a “proper” build-it-yourself kit from an online store. Now seems like a reasonable time to address the reasons behind this.
If you’ve been following my 3D printing posts you’ll know I’ve subscribed to Eaglemoss’ 3D Create and Print magazine and am gradually building my own printer. With the weekly cost of the magazine this will eventually cost me £650 and I won’t have a complete printer until the middle of next year. While this is cheaper than buying one outright now, with the speed of change and improvement it’s likely that the printer will be out of date, and this is not the only argument:
Following from building the Y-axis assembly of my 3D printer, this post covers the fitting of the motor and the circuit boards to test, using the pieces in issues 7 to 10 of the 3D Create and Print magazine. It’s a good job that, even though this is a “weekly” magazine, the issues arrive in sets of four as otherwise I imagine it could be very frustrating waiting, not able to add to the printer, until issue 10.
I don’t actually see why this stage was any different to the earlier steps – if the pieces had been delivered in a different order then there would have been no need to wait until the 10th issue before starting. I can only assume that someone may have been tempted to power it all up before it was ready, which is why the motor itself is the last piece from this stage to arrive. Continue reading 3D Printer Part 3: Y-axis motor and testing
Today I finally started unwrapping the pieces of my 3D printer. After the issues with getting the magazines into their binding, I have been putting this off until I had the time and space to work through it properly. I have 15 pieces to work through and this includes several circuit boards and a plug. This entry covers the first 6 issues of 3D Create and Print by Eaglemoss Publications where we create the y-axis assembly up to the point of being ready for the motor and power.
The last set of pieces also came with a handy tool kit with everything I need to build and maintain the printer – another reason that I hadn’t done this earlier – no matter how many screwdrivers or allen keys I’ve bought over the years, I can never find any when I need them. The one thing the tool kit is missing is a sharp pair of scissors to break open the plastic packaging of the printer pieces, but you can’t have everything! Continue reading 3D Printer Part 2: Y-axis assembly
So, a few days ago, the internet had a new toy: How Old Robot – a very simple website where you can upload a photograph and it will guess your age and gender. For many people the guess was about right, but there were some howlers, with very similar images being uploaded and giving age results differing by (several) decades!
The site doesn’t hide the fact that it’s a learning tool based on Microsoft’s facial recognition technology and is built on the Azure platform as an example of how quickly it is to build and deploy sites using Azure. What started off as a quick demo from the Build conference soon became viral, with people all over the world loading their photos into the app and sharing the results on social media. This is exactly what Microsoft wanted and they’ve been oh so clever with this and here’s why.
In my last post I talked a little about logic as it applies to generic statements. Now it’s time to think about more mathematics proofs and different techniques. As part of MS221 there are two proof types that we need to consider: proof by exhaustion and proof by induction. This all lays the foundations for building more and more complex mathematical statements so it’s important to get the basics right.
Firstly, proof by exhaustion. This simply means that we try every possible valid input and check that the result is true. A single false result would disprove our proposition. So let’s consider an example: Continue reading Proof by Induction