This blog will be developed and updated over the next few weeks as we discuss and brainstorm ideas in class, so currently it is incomplete!
Update: Part 3, Making a choice is now complete!
The template for this document comes from a class document:
https://docs.google.com/document/d/1VEd5a-BBfhtcWMovGqPzScbsuLvvsXMp2B7vFPK5tpk/edit
Part 1: Broad Research/Project Interest Area – Machine Learning
1. Short description of area of IT that interests me
- I’m interested in exploring the development of neural networks and how they relate to machine learning and how a machine can be taught and learn
- Neural networks and their contribution to machine learning is a fascinating IT subject.
What is a neural network?
The simplest definition of a neural network is a computing system made up of a number of simple, highly interconnected processing elements (nodes), which process information by their dynamic state response to external inputs.
The hidden layers have multiple inter-connected nodes which are designed to detect patterns and edges and these are used to classify the input in the output layer. A neural network is designed to mimic how a brain would classify an image. The following is a good example of how humans can classify an unusual image, a task that is extremely difficult for a computer to perform.
To a human this is a giraffe, a weird giraffe but definitely still a giraffe. A computer would not recognise this. The neural network and machine learning is designed to feed a system with enough “giraffe” images that eventually a computer could predict with reasonably accuracy that this is a giraffe.
What is a simple explanation of how artificial neural networks work? is a good starting place for basic information.
2. Why is it interesting to me?
- I find it fascinating how a machine can be taught to learn
- The human brain is a fascinating poorly explained organ and developing machines that can emulate a human brain will give us more insight into how a brain works
3. Three things I know about it
- The maths behind neural nets is horrendous and complex to look at and understand
- Machines can be taught to recognise simple images accurately
- Pixelating an image makes it unrecognisable to a machine but humans can still interpret the image
4. Three things I believe about it
- Googles re-captcha will be beaten by computers
- Its all about identifying edges
- Cloud providers have features to help (Amazon, Azure, Google) build neural nets, machine learning and AI
5. Three things I don’t know about it
- How the code looks
- Can it work with a complex picture?
- Where to start!
6. Would I rather: Do something, Research it or Do both
- My preference would be to do both
- I would ideally do something like build e.g. an image recognition system and also research into neural nets at the same time
- Ideally this would be a Work Place based project, using the project as the basis for a research report into the development of a neural net based AI/Machine learning/Image recognition project
- Alternatively, I will look into building a small character recognition app with a supporting research report into Neural networks and how machine learning works.
7. A few resources about Neural Nets and machine learning
8. APA reference for these resources
- Brownlee, J. (2016, June 10). Your First Machine Learning Project in Python Step-By-Step. Retrieved from Machine Learning Mastery: https://machinelearningmastery.com/machine-learning-in-python-step-by-step/
- (n.d.). TensorFlow. Retrieved May 09, 2019, from Tensor Flow: https://www.tensorflow.org/
- Jain, A. K., Mao, J., & Mohiuddin, K. M. (1996). Artificial neural networks: A tutorial. Computer, (3), 31-44.
- Li, H., Lin, Z., Shen, X., Brandt, J., & Hua, G. (2015). A convolutional neural network cascade for face detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 5325-5334).
Part 2: Identifying a possible project
- Construct some interesting questions about your topic
- Identify three good questions/ideas
- How does a neural network work?
- How does a machine recognise a written character?
- How does a machine recognise an image?
- How can I build a neural network to recognise and classify an image?
- Is it possible for a machine to teach itself without human intervention to validate its results?
- For each of these 3 suggest what you could do to answer/explore it.
- What is the fundamental goal underlying each of the 3 questions?
Q1: How does a neural network work?
To answer this would require research into and learning about neural networks, using a search engine to look for articles and video tutorials. As well as identifying and exploring any available training courses.
The fundamental goal is to learn more about Neural nets.
Q4: How can I build a neural network to recognise and classify an image?
I would explore one of available cloud providers (Amazon Sagemaker/rekognition, Google tensorFlow, Azure Machine Learning Studio
The fundamental goal is to build a Neural Network and Machine Learning app
Q5: Is it possible for a machine to teach itself without human validation of its results?
This would require literature research into machine learning and how it works, how a machine can be taught and how to correct for a wrong result
The fundamental goal is to learn more about machine learning and teaching a machine to teach itself.
Part 3: Making a Choice
- Choose one of the questions and make a more detailed description of what I would do to answer/explore the question i.e. a first draft of your list of activities
I have chosen to build on Question 4:
Q4: How can I build a neural network to recognise and classify an image?
- Write a title for this possible project.
- Building a Neural network to recognise and classify a face in an image
The project will have 2 components:
- A research and learning element to explore the topics of NNs, ML and face recognition
- Building a NN to detect and analyse a face in an image
Activities
- I have already taken the first step, as part of assignment 2 I read an academic article on Face detection which introduced me to the field of computer vision
- Research into Computer Vision using a search engine to find relevant articles
- Research using Google Scholar for academic articles on Computer Vision, specifically general overviews of the subject
- Lynda courses
o Neural Networks and Convolutional Neural Networks Essential Training is a course I have already started
o Deep Learning: Face Recognition
o Classify images and detect rectangles
o Convolutional Neural Networks a course I am already studying
- Exploring and using Microsoft Azure’s cloud based Face or Computer Vision services
Part 4: Ethical Issues
There are no obvious ethical issues in my project.
The long term ethical issues regarding intelligent machines and their potential effects on future society are the topic of on going debate.
Will machines ever be capable of replacing humans in all their roles?
Currently IBM’s Watson is not as good as a real person in most fields of medicine!
https://spectrum.ieee.org/biomedical/diagnostics/how-ibm-watson-overpromised-and-underdelivered-on-ai-health-care
But there are areas, specifically related to interpretation of radiology images, CT scans. MRI and X-Rays where AI is now outperforming humans.
The movie “Ex Machina” is an excellent portrayal of how an uncontrollable female AI cyborg could replace humans in a future scenario.
Definitely a thought provoking movie!