Final Proejct
http://iailab.kaist.ac.kr/
Industrial AI Lab at KAIST
General Guidelines¶
The goal of the final project is to provide you with insight into what a deep learning research project entails, and ideally, spark your enthusiasm for engaging in research within this field. We aim to provide an opportunity to gain in-depth experience developing an AI-based approach in solving a research problem. Since the course is focused on learning various deep learning techniques, we require that you apply at least one of the topics discussed in this course to a research problem. Beyond this requirement, the specific research topic of your project is "open-ended", to allow exploration of diverse interests.
For the project, each student should (i) select a topic of their own, (ii) solve a research problem using an AI-based approach, and (iii) submit a report summarizing the findings of their work. Following is a description of the project components that you will need to consider, along with a grading rubric. Note that these are not strict guidelines; feel free to add more contents if needed.
Background and problem statement (20%): What is your topic of interest? Clearly explain the problem that you are trying to solve. Describe why the problem is interesting, and how AI can be used to address the problem.
Data description (20%): What is the data you will be using? Make sure to describe relevant characteristics of the dataset, such as the source of the data, the size of the dataset, and show a sample of the data. How was the data acquired? Will you have to pre-process the data? Explain what the inputs and outputs will be for your model.
Proposed method (25%): What approach do you plan to use, and why? What is the architecture of the model, and why did you choose this design? If there are existing related implementations, will you use them and how? Is there room for improvement in these existing models?
Results (20%): What results will you show to evaluate your model? (both qualitatively and quantitatively) Were you able to address the problem? Are there any baselines that you can compare your model with?
Discussion (15%): Was the performance of the model satisfactory? If not, why did the model not perform well? More importantly, are there any potential directions for improvement?
Bonus points 1 (5%): Provide an extensive review on the current state of the art for the problem that you are trying to solve. Describe in detail what prior studies have done (related to your problem), how they are related to each other, and how your work relates to these. Explain what the remaining knowledge gap is, and how you expect your proposed method to contribute to the problem. We expect this to be comprehensive and thorough, and with at least 5 citations discussed and cited accordingly.
Bonus points 2 (5%): Provide a comparison between a conventional method, and explain why a conventional model is not suitable for the given task. Show how using a deep learning-based approach may be beneficial in your particular case, with details to support your claim.
Options for the Final Project¶
General note: For all three options, keep in mind that your computational resources are limited. Although you are free to choose any dataset/model architecture, some models/datasets may require extensive training times. We expect students to take responsibility for their own time management, so please make sure your topic is feasible, and that you can submit your report in time.
Option 1: Select a topic related to your research¶
You may select any problem related to your current research. There are no restrictions in terms of the type of data that you are using (e.g. image, vibration signal, time-series, 3D cloud points, videos, and etc.), but make sure that the data you are using is not confidential. If you are unsure about this, please consult your advisor before using the data.
Option 2: Solve a problem using a public dataset¶
If you do not currently have a research topic, or if you cannot find a problem that is solvable using a learning-based approach that is related to your research, you may use a publicly available dataset.
Examples of publicly available datasets include but are not limited to:
- MNIST
- Fasion MNIST
- MS-COCO
- CIFAR
- Imagenet
- CelebA
You may also visit https://www.kaggle.com/ to search for datasets.
You should propose a unique topic if you are using a public dataset. If there is similar work, do not forget to cite the paper, and clearly indicate the differences in the problem that you are trying to solve.
Option 3: Re-implement an existing research paper with a different dataset¶
You may choose to re-implement an existing research paper with a different dataset. However, you must include the following contents.
Describe in detail what problem the original paper was trying to solve, and what their approach was (including a description of the original dataset). Summarize the findings of the paper and describe what can be done to enhance the performance. Do not forget to cite.
Clearly explain what new dataset you will be using, and why you chose the particular dataset for the given model. Also, describe the similarities and differences between the original dataset and your new dataset.
Because you are using a different dataset, you may have to modify the input/output layers of the model. Also, if necessary, you may have to modify the structure of the model, depending on the task. Show how the original and new models differ. If you have not made any modifications to the model, describe the original model here and describe how you were able to directly apply the new dataset to the existing model (e.g. through pre-processing methods).
You must include a comparison between the model with at least 3 different model architectures (different number of layers or nodes is fine, as long as the difference is noticable), and benchmark the results. Explain in detail how the performance differs across different model architectures, and discuss why the performance might differ. You may choose a different performance metric, if necessary.
A sensitivity analysis regarding the hyperparameters is also encouraged. Try training with different learning rates, training epochs, and discuss how the performance changes.
- Note: You do not have to re-implement the model with the original dataset, as some of the datasets may not be publicly available.
Project Report¶
The project report should be written in jupyter notebook (in .ipnyb format). Your report should include the following information:
Clearly indicate which option you have chosen, and what problem you are trying to solve. Having a title is encouraged, but not mandatory.
Make sure you embed your codes in the jupyter notebook file. Also make sure all figures are visible. Results without codes will be disregarded in the report.
Do not forget to include references (if you have any citations) at the end of the report. There are no restrictions regarding the citation style, as long as you have the author, title, year, and journal information.
Double-check if you have addressed the questions above, mentioned in the guidelines, as your report will be graded according to the guidelines.
There are no strict requirements in terms of the report format (e.g. report length, contents, layout, and etc.).
Submission¶
Submit your final report to KLMS. Again, make sure your code and figures are all included in the report.
Honor Code¶
Feel free to refer to research papers, books, online resources, publicly available implementations, and codes that you might want to incorporate into your strategy or algorithm. You may also consult other students for advice. However, it is essential that you clearly cite your sources in both your code and written documentation. More importantly, you are strictly prohibited from directly incorporating codes from other students (copy and paste). Cheating or plagiarism will result in punitive measures.