So yesterday there was the news that over 1000 people had signed an open letter requesting a ban on autonomous weapons. I signed it too. While AI is advancing rapidly and the very existence of the letter indicates that research is almost certainly already progressing in this area, as a species we need to think about where to draw the line.
Completely autonomous offensive AI would make its own decisions about who to kill and where to go. Battlefields are no longer two armies facing up on some open fields. War is far more complex, quite often with civilians mixed in. Trusting an AI to make those kill decisions in complex scenarios is not something that would sit easily with most. Collateral damage reduced to an “acceptable” probability? Continue reading Military AI arms race
Initially I thought “heh, fair point – we are defining that the only true intelligence is described by the properties humans exhibit”, and my in-built twitter filter1 ignored the inaccuracies of the analogy. I clicked on the tweet as I wanted to see what the responses were and whether there was a better metaphor that I could talk about. There wasn’t – the responses were mainly variants on the deficiencies of the analogy and equally problematic in their own right. While this didn’t descend into anything abusive2, I do feel that the essence of what was trying to be conveyed was lost and this will be a continual problem with twitter. One of the better responses3 did point out that cherry-picking a single feature was not the same as the Turing Test. However, this did get me thinking based on my initial interpretation of the tweet.
In order to answer a big question we are simplifying it in one way. Turing simplified “Can machines think?” to “can machines fool humans into thinking they are human?”. Continue reading Can machines think?
There’s a lot of money, time and brain power going in to various machine learning techniques to take the aggravation out of manually tagging images so that they appear in searches and can be categorised effectively. However, we are strangely fault-intolerant of machines when they get it wrong – too many “unknowns” and we’re less likely to use the services but a couple of bad predictions and we’re aghast about how bad the solution is.
With a lot of the big players coming out with image categorisers, there is the question as whether it’s really worth anyone building their own when you can pay a nominal fee to use the API of an existing system. The only way to really know is to see how well these systems do “in the wild” – sure they have high precision and recall on the test sets, but when an actual user uploads and image and frowns at the result, something isn’t right. Continue reading AI for image recognition – still a way to go
Today I sat down and wrote code in python, from scratch, with intent(!), for the first time… and, it was pretty easy. After spending some time trying to alter other people’s code and feeling like I was wading through treacle, writing something from scratch allowed me to see how easy python really is.
While I’m not making any great statement about my own code architecture, diving into something complex an be an inefficient way to learn unless the code you’re looking at is designed to be followable at entry level. When you’re experienced with other languages this can be even more frustrating as it’s easy to skip over the parts you assume you know and suddenly find you’ve skipped slightly too much. Continue reading So I wrote my first Python script
A few days ago, researchers from Facebook published a paper on a deep learning technique to create “natural images”, with the result being that human subjects were convinced 40% of the time that they were looking at a real image rather than an automatically generated one. When I saw the tweet linking this, one of the comments1 indicated that you’d “need a PhD to understand” the paper, and thus make any use of the code Facebook may release.
I’ve always been a big believer in knowledge being accessible both from being freely available (as their paper is) and also that any individual who wants to understand the concepts presented should be able to, even if they don’t have extensive training in that specialism. So, as someone who does have a PhD and who is in the deep learning space, challenge accepted and here I’ll discuss what Facebook have done in a way that doesn’t require advanced degrees, but rather just a healthy interest in the field2. Continue reading Facebook’s latest deep learning research
Two months ago I hadn’t looked at a line of Python code – it was never a requirement when I was a developer and as I moved into management I worked with teams and projects using everything from C and COBOL through LAMP to .Net, while Python sat on the periphery. I’d always considered it to be a modern BASIC – something you did to learn how to code or for a quick prototype but not something to be taken seriously in a professional environment.
I’ve always believed that really good programmers understand the boundaries and strengths of multiple languages, able to choose the right tool for the job, and finding the correct compromise for consistency and maintainability. People like this are really hard to find1 although I do tend to veer away from individuals who can only evangalise a single language and say all the others are rubbish2. Due to the projects I’ve been involved with, Python ability has been irrelevant and never considered part of that toolbox. Continue reading Python: serious language or just for beginners?
At the ReworkDL conference in Boston last month I listened to a fantastic presentation by Ryan Adams of Whetlab on how they’d created a business to add some science to the art of tuning deep learning engines. I signed up to participate to their closed beta and came back to the UK very excited to use their system once I’d got my architecture in place. Yesterday they announced that they had signed a deal with Twitter and the beta would be closed. I was delighted for the team – the business side of me is always happy when a start-up is successful enough to get attention of a big corporate, although I was personally gutted as it means I won’t be able to make use of their software to improve my own project.
It’s been a while since I’ve had the time to really dedicate to gaming in the way I’d like. My XBox360 is languishing unloved, my World of Warcraft account dormant since I got the Insane achievement in Cataclysm and the most I can manage now is the odd game of Hearthstone on my Nexus 71. I still keep an eye on what’s going on as the gaming industry is pushing the development of a lot of technologies that make their way into our lives in one way or another and I always have that hope that maybe something will give me the free time to immerse myself into some of the latest games again.
I was watching the announcements for XBox at E3 as they popped up on twitter this evening and two things really stood out for me.
The first session kicked off with Kevin O’Brian from GreatHorn. There are 3 major problems facing the infosec community at the moment:
Modern infrastructure is far more complex than it used to be – we are using AWS, Azure as extensions of our physical networks and spaces such as GitHub as code repositories and Docker for automation. It is very difficult for any IT professional to keep up with all of the potential vulnerabilities and ensure that everything is secure.
(Security) Technical debt – there is too much to monitor/fix even if business released the time and funds to address it.
Shortfall in skilled people – there is a 1.5 million shortage in infosec people – this isn’t going to be resolved quickly.
So, day one of the ReWork Deep Learning Summit Boston 2015 is over. A lot of interesting talks and demonstrations all round. All talks were recorded so I will update this post as they become available with the links to wherever the recordings are posted – I know I’ll be rewatching them.
Following a brief introduction the day kicked off with a presentation from Christian Szegedy of Google looking at the deep learning they had set up to analyse YouTube videos. They’d taken the traditional networks used in Google and made them smaller, discovering that an architecture with several layers of small networks was more computationally efficient that larger ones, with a 5 level (inception-5) most efficient. Several papers were referenced, which I’ll need to look up later, but the results looked interesting.