COMP8420 Assignments: #1 on NNs; #2 on DL/EA
1
Assignment 1 Submission Due: Sunday 26th April at 11:55pm
Context
Neural networks research prior to the deep learning boom has a lot to teach us still. The
neural networks part of the course focuses on the research in this area from 1986 (back-
propagation algorithm published) into the 1990s and early 2000s. Later papers tend to be too
esoteric to be useful for course based learning and I prefer you to read papers rather than just
textbooks.
The assignment will provide you some experience with taking two papers: one with a dataset,
and another with a technique, and you will do a mix of data encoding / analysis on the dataset
and implementing / applying a technique from the paper. Thus, each of your assignments will
be unique, but you will still be able to usefully discuss with other students, as there will be
other people using the dataset (but different techniques/papers) and other people using the
same technique (but on different datasets).
To be possible as an assignment, we stick to simple (by modern standards) techniques, which
fits well with the chronological focus from 1986 to early 2000s. Some of the datasets are from
the same period, and some are from later papers.
Wattle will shortly have a way for you to select the technique, then the dataset. The music affect
dataset will be used in your assignment. I have uploaded a number of papers relating to the
neural network lectures to Wattle, most of the please select a technique papers from will be
one of these.
Perhaps it is worth noting that some of the techniques developed in that early neural
networks period a likely be of use today. My example is the use of an input feature selection
technique of mine from 1997 which has recently been implemented in the H2O AI package. In
Google type: “Gedeon method” H2O and you get a surprising number of recent hits. I should
also mention that I have no connections with H2O and found out about this when a Korean
researcher emailed me to ask me about the function in the H2O package and I discovered that
it was based on my paper ☺. Similarly, please also note that the CNN architecture dates to
the 1980s (Fukushima’s Neocognitron in 1980 to LeCun’s coining of the term in 1989) but was
not competitive given the computing power and datasets generally available at that time. Also
please note that most/many deep learning methods have fully connected layers at the end
which are simple neural networks as in the first part of the course.
Deliverables
1. A report (about 4-6 pages of text content with a MAXIMUM of 10 pages, including
references, diagrams, graphs and tables). Remember to keep your report clear and
concise. I say that the text content should be about 4-6 pages to signal that we will not
be counting lines, but if it is 10 pages long and it is all diagrams then it is very clear
that there is too little text. Conversely, if it is 10 pages long and there is just one
diagram then there is too much text, but 6 pages with one diagram is fine, and so on.
2
2. PyTorch or Python source code file(s).
3. The dataset you used for your assignment, in original and preprocessed form, and a
copy of the paper. (I know we provided these it, but this makes it easier for your
records and for marking if everything is in one spot.)
4. A copy of the technique paper (for consistency and to help the markers). Both the
dataset and technique papers must be cited within your report, along with at least 4
more papers.
Submission Method
Please submit your assignment via Wattle management system.
You will submit a pdf for the report, the name must start with your uNumber, and a zip
folder of the other deliverables.
Objectives
The purpose for this assignment is for you to:
• Develop a good understanding of data management for artificial neural networks and
enhance your skills in implementing neural network techniques in PyTorch / Python
• Enhance your approach to investigating a data set and setting up a problem for an
artificial neural network to solve a classification/regression problem
• Develop a good understanding for reporting investigations in a conference style paper
• A small amount of experience in using Google scholar to find citing/cited papers
Task Description
Your task is to:
1. devise a classification or regression problem to investigate using the data set provided
– this can be reproducing, extending or modifying the problem which is described in
the paper related to that dataset;
2. implement a neural network in PyTorch / Python to solve the problem and implement
a method to determine the performance of the neural network;
3. implement a technique from the literature (paper selected as described above) and
determine its benefit or lack of benefit;
4. compare your results with results published in a research paper reporting results on
the data set you chose (see below); and
5. write a report on your work
Data set
You will use a Music Affective Computing dataset found at http://cs.anu.edu.au/~tom/
datasets/music-affect.zip. This dataset uses statistical features extracted from a time series
dataset. You can modify the prediction task from that originally described in the paper. You
should find it difficult to obtain near perfect results, as you will be marked on the steps taken
to achieve better results and how they compare with your previous results, not on how high
% accurate your results are. There will be no need to try to compete with the best modern
techniques.
Your report must describe the dataset you used, what modifications you made to the
encodings if you needed to do so, and cite the paper associated with the data set to provide
3
some context to your results. You must also cite the technique paper(s) you use. You should
also cite some other papers which are somehow relevant. Other academic papers can
generally be found by using Google scholar. Google scholar will have links to one or more
paper repositories. You can get access if you do this from ANU campus as the library
subscribes to most of the large document repositories. Some papers are in multiple
repositories so if you cannot find a free copy then ask your tutor for advice. From off campus,
if you log into the ANU Virtual Proxy server then usually you can access the same electronic
resources that would be available on campus. You should also mention in your report any
different topologies and analyses used in your experimentation.
Technique
Please chose a technique / paper(s) from one of the “Paper for NN…” folders which are now
on Wattle in the Neural Networks section.
Design of a Problem
Detail in your report what you want to model in the data set and explain what the inputs and
outputs you will use to develop the neural network model.
Implementation
Choose an appropriate measure to report the results produced by your neural networks. You
can use the measure used in the research papers that have the results of their predictions on
the data set you have used and would like to compare your results with – if the paper did not
do predictions, then the paper provides a context for your predictions instead. Remember to
cite the papers in your report.
Report
The report must be in the style of an academic paper and must conform to the Springer
Lecture Notes in Computer Science conference paper proceedings format, but with the
margins changed to 2 cm and header/footer to 1 cm. The template for the report can be
downloaded from Wattle by clicking the link named “AssignmentReportTemplate-LNCS-
Office2007.zip” and needs the margins to be modified. If you prefer to use Latex, you can go
to Springer’s current pages and find a template. Any template from there will also need the
margins to be modified. Use the Springer citation style as found in the template file you use.
Your report should have a meaningful title, which indicates what you have done. "COMP8420
Assignment" is not a meaningful title. Your title and content should NOT mention the course:
we are modelling the assignment so that you are making a conference paper submission. Your
u number should be showing in your email address. Your affiliation would be "Research
School of Computer Science, Australian National University" etc. Please do not forget to
include your name as the single author.
A suggested structure for the report:
• Abstract – A paragraph that summarises the work you did, the results you found and
whether it was better, same or worse than a published research paper for the same
dataset. An abstract is similar to an executive summary of the entire report.
• Introduction – A description of the motivation for the choice of the data set, the
problem that you modelled using a neural network and an outline of the
4
investigations that you carried out using the model. This section should also include a
brief background to the problem and the methods used perform the analysis.
Remember to use citations!
• Method – A description of the technique(s) you implemented and details of the
investigations or tests you conducted using the technique.
• Results and Discussion – Presentation of results from the investigations and detailed
analysis of the results including comparison of your results with the results published
in a research paper on the data set. Remember to use citations!
• Conclusion and Future Work – A statement on your findings and how your work can
be extended or how might it be improved. Even if you have conducted a thorough
investigation there is always work left to do. Outlining future work is VERY important
as it shows that you have thought about the problem and have a deeper
understanding then just stating a conclusion.
A comment: you should read papers in relevant areas of the literature (e.g. on similar topics)
to get more of a feel for how to write and layout academic papers. This forms part of the
learning you should get out of advanced courses such as COMP8420 given that the ANU is a
research intensive University.
5
Assignment 2 Submission Due: Sunday 15th May at 11:55pm.
Context
This assignment extends the previous one in a way that is up to you; there should be some
connection to the previous assignment, but remember, don’t get too stressed.
In either case, you should take into account the marking comments from assignment 1, to
improve the text as appropriate to the new assignment. So, what do you do? You can either
extend you current paper using a deep learning approach OR an evolutionary algorithms
approach. If you want to do a completely different second assignment that is ok, but send me
an email as I worry those will be too hard.
Examples: if you extend the current with an evolutionary algorithm, you could adjust the
parameters of your neural network or pruning or input processing or all the weights or …
Similarly, you could use a CNN on the larger version of the data set (not all datasets have
this) and then apply the same pruning or … to the fully connected layers at the end.
Dataset
You will use the extended form of the dataset which now includes timeseries data. This will be
found at http://cs.anu.edu.au/~tom/datasets/music-affect_v2.zip – and can not be used for
assignment 1.
Deliverables (all similar to before.)
5. A report (about 4-6 pages of text content with a MAXIMUM of 10 pages, including
references, diagrams, graphs and tables). Remember to keep your report clear and
concise. I say that the text content should be about 4-6 pages to signal that we will not
be counting lines, but if it is 10 pages long and it is all diagrams then it is very clear
that there is too little text. Conversely, if it is 10 pages long and there is just one
diagram then there is too much text, but 6 pages with one diagram is fine, and so on.
6. Support documents in a zip file
a. PyTorch or Python source code file(s), plus the data set you used for your
assignment, in original and preprocessed form. In one zip folder.
b. Copies of the technique and dataset papers. This is for consistency, and makes
marking easier as it clearly identifies the papers chosen.
c. Source documents for your report. This could be a Word document or a folder of
Latex source or …
Submission Method
Please submit your assignment via Wattle. Your submission will be a second version of your
previous paper. Something like this is common in conferences, when your paper is accepted
you then modify based on review comments (markers and no reviewers in this case) and then
submit a final version (often called a “camera-ready” version).
Objectives
The purpose for this assignment is for you to:
• Develop a good understanding of deep learning or evolutionary algorithms or fuzzy
logic and enhance your skills in implementing them in PyTorch / Python
• Enhance your approach to investigating and solving a real-world data set / problem
• Develop improved understanding of reporting investigations in a conference paper
6
• Some experience in using Google scholar to find citing/cited papers
Task Description
Your task is to:
6. devise a classification or regression problem to investigate using the dataset provided;
7. implement in PyTorch / Python to solve the problem and implement a method to
determine the performance of the technique(s) you used;
8. implement a technique from the literature (paper selected as for assignment 1) and
determine its benefit or lack of benefit (to keep it simple, we expect you to simply
extend the work you did in assignment 1 simply using DL/EA/FZ, rather than doing a
brand new assignment);
9. compare your results with results published in the dataset paper reporting results on
the data set you chose (dataset paper as chosen for assignment 1); and
10. write a report on your work
Data set
Please Either continue with your existing dataset or choose a data set from anywhere. Ensure
that the data set you choose has a relevant academic paper associated with it to compare your
results with. This time you will need to find a modern result to compare to, but you do not
need to get a better result – this is just an assignment not a research project.
Your report should indicate which dataset you used and how to get it, what modifications
you made to the encodings if you needed to do so, and cite a research paper with results on
the data set to compare to your results, and the technique paper you chose. Other academic
papers can generally be found by using Google scholar. Google scholar will have links to one
or more paper repositories. You can get access if you do this from ANU campus as the library
subscribes to most of the large document repositories. Some papers are in multiple
repositories so if you cannot find a free copy then ask your tutor for advice. From off campus,
if you log into the ANU Virtual Proxy server then usually you can access the same electronic
resources. You should also mention in your report any different topologies and analyses used
in your experimentation.
Design of a Problem
Detail in your report what you want to model in the data set and explain what the inputs and
outputs you will use to develop the neural network model.
Implementation
Choose an appropriate measure to report the results produced by your extended technique
and compare to your results using neural networks. You can use the measure used in the
research papers that have the results of their predictions on the data set you have used and
would like to compare your results with. Remember to cite the papers in your report.
Report
The report must be in the style of an academic paper and must conform to the Lecture Notes
in Computer Science conference paper proceedings format, but with the margins changed to 2
cm and header/footer to 1 cm. The template for the report can be downloaded from Wattle by
clicking the link named “AssignmentReportTemplate-LNCS-Office2007.zip” and needs the
margins to be modified. If you prefer to use Latex, you can go to Springer’s web pages. Any
7
template from there will also need the margins to be modified. Use the Springer citation style
as found in the template file you use.
Your report should have a meaningful title, which indicates what you have done. "COMP8420
Assignment" is not a meaningful title. Your title and content should NOT mention the course:
we are modelling the assignment so that you are making a conference paper submission. Your
u number should be showing in your email address, and only there. Your affiliation would be
"Research School of Computer Science, Australian National University, Canberra Australia".
Please do not forget to include your name as the single author.
A suggested structure for the report:
• Abstract – A paragraph that summarises the work you did, the results you found and
whether it was better, same or worse than a published research paper for the same
dataset. An abstract is similar to an executive summary of the entire report.
• Introduction – A description of the motivation for the choice of the data set, the
problem that you modelled using a neural network and an outline of the
investigations that you carried out using the model. This section should also include a
brief background to the problem and the methods used perform the analysis.
Remember to use citations!
• Method – A description of the technique(s) you implemented and details of the
investigations or tests you conducted using the technique.
• Results and Discussion – Presentation of results from the investigations and detailed
analysis of the results including comparison of your results with the results published
in a research paper on the data set. Remember to use citations!
• Conclusion and Future Work – A statement on your findings and how your work can
be extended or how might it be improved. Even if you have conducted a thorough
investigation there is always work left to do. Outlining future work is VERY important
as it shows that you have thought about the problem and have a deeper
understanding then just stating a conclusion.
• References – You should have a few more than last time, as this is the 2nd version of
your paper (or it's a 2nd paper). Don’t forget to cite source, target and other papers you
got information from.
A comment: you should read papers in relevant areas of the literature (e.g. on similar topics)
to get more of a feel for how to write and layout academic papers. This forms part of the
learning you should get out of advanced courses such as COMP8420 given that the ANU is a
research intensive University.
8
Assessment Guide ( /30 i.e. marked out of 30) each assignment is worth 20% of course marks
Abstract ( /2)
Clear and concise abstract summarising the work done
Method section / Data Set and Model Design ( /8)
Valid reasons for choosing the prediction using the data set
Good level of problem complexity
Clear and valid investigation aims
Model design that clearly serves the purpose of the investigations
Appropriate measures used to determine the performance of the neural network and
predictions
Good explanation of the model design
Appropriate choice for the inputs and outputs of the prediction model with valid
reasons
Evidence of good understanding of the relevant literature
Results and Discussion ( /6)
Good methods used to evaluate the model including an appropriate split of the train,
test / validation data
Good level of detail used to analyse results
Conclusion and Future Work ( /2)
Appropriate conclusion of the work
Appropriate work suggested to extend and/or improve the work
References and citations ( /2)
References used as appropriate
Presentation ( /6)
Structure of the code is legible and well organised
Good report structure
Report is legible, clear and concise
Clear presentation of results including appropriate use of figures, tables and graphs
Report conforms to required style (including the use of appropriate language) and
length
Consistent style used for citing references
Correct grammar and spelling
Implementation ( /4)
Evidence of good code design - appropriate level of modularity, encapsulation and
reusability of the code
Code is comprehensible with appropriate names of coding items e.g. code files,
functions, variables
Code executes without errors
Good comments in the code