Enhance Clarity: Especially beneficial for non-native English speakers, LLMs can elegantly rephrase sentences, ensuring your paper’s language is impeccable.
Break Writer’s Block: Stuck in a creative dead end? LLMs serve as brainstorming companions, offering fresh perspectives for implementation strategies and writing styles. However, always remember to infuse your unique insights into the suggestions they provide and use critical thinking.
Condense and Refine: Use LLMs to summarize complex portions of text. Evaluate whether the summarized version effectively conveys your paragraph’s core essence. If not, use your ingenuity to restructure and rephrase.
Maximize Impact: Create captivating demos or websites to showcase your research effectively. LLMs can help in crafting compelling content to accompany your work.
Polish Formatting: Seek advice on LaTeX styling, from adjusting column widths to other nuances of presentation.
Crafting Crucial Sections: Avoid relying on LLMs for critical components like the introduction or abstract, as the quality might fall short.
Engaging in Proofs: While LLMs can offer insights, they are prone to “hallucinating” parts of proofs, risking inaccuracies.
Equation Transcription: Translating handwritten equations to LaTeX can be a challenge for current multimodal models; their reliability may not be consistent.
Rebuttal Responses: Crafting responses to reviews requires tailored, context-specific language, which LLMs might not capture accurately.
Citing Scientific References: LLMs might overreach in generating citations and claims, demanding careful verification.
In conclusion, LLMs stand as valuable allies in your research and writing endeavors, provided you navigate their capabilities thoughtfully. Embrace their potential while being mindful of their limitations. By understanding their role and integrating them strategically, you can harness the power of LLMs to enhance your research journey, contributing to the collective growth of our dynamic field.
]]>Writing a research paper means communicating your idea to the external world. The task is always demanding, but it gets better with practice. This tutorial is for students writing their first research paper in machine learning. The paper can be either your semester project report or a submission to a conference. The tips below cover both cases, so please take the time to study the tips; revisit those tips while writing the first draft of your paper.
Your goal is handing in a well-thought and well-written paper; reaching that state requires multiple steps. There are a number of incredible tutorials and presentations out there (see the end of the post). The tutorial below is divided into two main parts: i) tips on how to get started and write the first section of the paper, and ii) general tips for refining the paper.
Each of the steps should be easy to write down, so do not move on to the next one, until you complete the previous step. These seven steps are meant as a guide for writing the first round of the first section of your paper, while similar steps can be considered for other sections as well.
Should the first section be the experimental section? Not necessarily, I suggest you to start from the section you are most comfortable writing about. For instance, you should be able to identify the works most closely related to yours and write the differences in the related work. Similarly, the theorems you have proved are already determined and you could write them down in the methodology.
I am thankful to Zhenyu Zhu, Zhiyuan Wu, Bohan Wang, Aleksandr Timofeev for the feedback they provided and tips on the LaTeX basics.
The list I compiled above covers only the basics, there is a wealth of additional resources that you can easily access and understand further how to write your research paper.
Video tutorials from incredible researchers:
Booklets and other resources on writing:
Useful resource: 'The elements of style', style guide for writing in English.
TopThe semester project requires few tools that should be mostly familiar to you through your previous project in computing and machine learning (ML). Most of the tutorials below are introductory; they will probably not cover everything you need, but they should provide fundamental tools for your project.
We propose a new class of function approximators based on polynomial expansions. The new class of networks, called Π-nets, express the output as a high-degree polynomial expansion of the input elements.
The unknown parameters, which are naturally represented by high-order tensors, are estimated through a collective tensor factorization with factors sharing. Changing the factor sharing we can obtain diverse architectures tailored to a task at hand. To that end, we derive and implement three tensor decompositions.
We conduct the following diverse experiments: we demonstrate results in image (and pointcloud) generation, image (and audio) classification, face recognition and non-euclidean representation learning. Π-nets are very expressive even in the absence of activation functions. When combined with activation functions between the layers, Π-nets outperform the state-of-the-art in the aforementioned experiments.
The idea is to approximate functions using high-degree polynomial expansions. To explain how this would work, let us showcase it with a third-degree polynomial expansion. Then, assuming the input is a d-dimensional vector z, we want to capture up to third-degree correlations of the elements of z. Let x_{t} denote the scalar output of the polynomial expansion and W^{[k]} denote the k^{th} degree parameters. Then, the polynomial expansion would be:
The expression above captures all correlations of element z_{i} with z_{j}, where i, j belong in the [1, d] interval. However, the unknown parameters W^{[k]} scale very fast with respect to the degree of the polynomial. Our goal is to use high-degree expansions on high-dimensional signals, such as images. Therefore, we should reduce the number of unknown parameters.
Tensor decompositions have been effectively used to reduce the number of unknown parameters in the literature. Indeed, we use collective tensor factorization and we can reduce the unknown parameters significantly. In addition, we can obtain simple recursive relationships that enable us to construct arbitrary degree polynomial expansions. The details of the derivations can be found in the papers.
For instance, different architectures that perform polynomial expansions of the input z:
In the paper, we demonstrate results in a number of tasks, outperforming strong baselines. For instace, you can find some images generated by the proposed Π-nets below:
@article{poly2021,
author={Chrysos, Grigorios and Moschoglou, Stylianos and Bouritsas, Giorgos and Deng, Jiankang and Panagakis, Yannis and Zafeiriou, Stefanos},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Deep Polynomial Neural Networks},
year={2021},
pages={1-1},
doi={10.1109/TPAMI.2021.3058891}}
@article{chrysos2019polygan,
title={Polygan: High-order polynomial generators},
author={Chrysos, Grigorios and Moschoglou, Stylianos and Panagakis, Yannis and Zafeiriou, Stefanos},
journal={arXiv preprint arXiv:1908.06571},
year={2019}
}
Each clip is cropped from a longer video; each clip consists of 500-4,000 frames. Along with each frame, we provide an (automatically obtained) sparse shape of the face (annotated with the popular 68 markup).
A video with indicative frames from several thousand clips is visualized below:
The dataset is provided strictly for academic use. That is, any type of commercial applications are not allowed; please refer to Youtube license for further details.
To obtain access to the database, please follow the instructions mailed back from our gmail account: 2mf2.db[at].
The dataset is described in details in the following publication: “Motion deblurring of faces”, GG Chrysos, P Favaro, S Zafeiriou, International Journal of Computer Vision https://link.springer.com/article/10.1007/s11263-018-1138-7
]]>VAE are a type of neural network (function approximators) that assume the existence of an undelying low-dimensional space of the data. They try to approximate this latent distribution. You can then sample from this distribution to generate synthetic data. VAE are emerging as a great way to model the latent properties of objects, while one of their interpretations lies in variational Bayesian methods. They remain a hot research topic, so our understanding is not complete.
This review is organised in two parts: in the first part each tutorial is summarised. Then, a table with the attributes of each tutorial are provided. The attributes are organised in three categories: i) background information, ii) main VAE part, iii) applications.
fastforward labs: This is a two-part tutorial for VAE; in part 1 VAE are explained as a generalisation of the autoencoder and explain the differences from it. Sequentially, they explain how VAE can be approached from the Bayesian perspective (the author provides a high level intuition). In the second part, they dive more into the practical implementation (python 3, tensorflow). They additionally explain the re-parametrization trick and the final cost function.
jmetzen: The author implements VAE step by step in tensorflow and experiments with MNIST. He provides a notebook with the code, very practical for understanding a fundamental implementation.
int8.io: The author starts by explaining the benefits of GAN and how it can create artificial samples. However, through the shortcomings of GAN, he introduces VAE as a combination of the Autoencoders and the variational inference. He presents a nice application (face swapping). The focus guides the reader through a practical introduction/understanding to the network’s structure.
kvfans: Nice introductory post on explaining VAE. The author provides details on encoding/decoding an image through an example. He introduces VAE as a solution to the shortcomings of GAN.
jaan.io: The first part is devoted in an engineering approach of the original paper. The introduction is a bit rough, however the second part is devoted in the theoretical aspect. He derives the lower bound minimisation. As a ‘footnote’, the author provides a splendid explanation of the re-parametrization trick, while the glossary in the end of the article is very handy (it summarises the differences of the neural network vs probabilistic approach). Overall the first part is engineering-based tips, while the second part is more mathematical and demands some math understanding.
wiseodd: The author starts with a comparison of GAN vs VAE. Then he retracts and uses a very simple example (imagination process) to provide the intuition of the latent variables. He derives the variational bound (math heavy part); he implements VAE in Keras (python) and explains the re-parametrization trick. Even though the deep learning side is not developed much, personally I find this tutorial quite thorough (from the math side).
nutty netter: Short visual introduction in VAE. It starts by explaining why the log likelihood allows the efficient stohastic optimisation, derives the variational bound and then explains VAE as a neural network. The video creator offers some experimental results and some improvements in the original paper. However, he does not explain the reparametrisation trick or the motivation to use VAE instead of the alternatives (mean field, etc).
Following the summation of the articles, the table below describes the core components that are included in each article. The following abbreviations are used:
Article | Background info | Main part | Applications | Difficulty/Audience |
---|---|---|---|---|
fastforward labs | AE, Bayesian learning |
VAE as NN |
- | ML beginners |
fastforward labs (part2) | - | cost function explanation |
- | requires math understanding |
jmetzen | - | - | code, results |
engineers |
int8.io | AE |
VAE as NN |
code, results |
engineers, ML beginners |
kvfans | - | VAE as NN |
code, results, limitations |
engineers |
jaan.io | probabilistic/bayesian approach, approximate posterior |
variational bound derivation, re-parametrization trick |
code |
requires math understanding |
wiseodd | bayesian approach, approximate posterior, intuition |
variational bound derivation, re-parametrization trick |
code |
requires math understanding |
nutty netter | LL |
variational bound derivation, VAE as NN |
limitations |
requires math understanding |
The tutorials above cover the introduction to VAE from different aspects, however they all have limited explanation on the shortcomings of VAE (e.g. how the Gaussian prior leads to blurry results) or how to adapt VAE to more complex modelling than MNIST. Obviously, these tutorials are introductory in the topic and the actual paper(s) about VAE provide more information on the motivation and derivation of this type of neural network.
]]>In this example, the classifier is trained in the ‘face’ class, i.e. it returns a binary decision whether there is a face in the pixels or not. This post is prepared as part of a seminar of the EESTech Challenge 2016-17 (official site, EESTEC news).
A simple version of this classifier with ~25 lines of code can be built as indicated below, using python and 2 well-tested libraries. In the end of this post, there are some proposals for improving the accuracy of the trained model, extending it for more difficult cases. Aside of the snippets below, the notebook with the complete code can be found here.
If you want to run the code yourself, you should:
The references are summarised in an increasing length and scientific depth manner, i.e. if you have more time, you can read the ones towards the end. This non-exhaustive list is the following:
- BBC timeline: The development of AI through 15 discrete milestones over the last 70 years. Focus: commercial, political evolution of the subject, it includes links to other BBC articles for each milestone.
- History-extra: The progress in AI divided into 7 eras, starting from ancient Greece. It provides a very brief introduction of the pre-electronic machinery intelligence, while it includes only high level progress of the AI over the last 70 years, mainly through the AI funding decisions.
- History of discriminative learning: A brief introduction to supervised discriminative methods written from an engineering perspective. The author recaps the most popular discriminative techniques, like Support Vector Machines, along with the related scientific articles. It also includes few references to the recent progress in the field of Neural Networks.
- Paper on supervised methods: The history of supervised methods for machine learning. The authors of the paper (Machine learning: a review of classification and combining techniques) provide a more detailed overview of the supervised methods. This article is few years old, so it does not reflect on any recent developments, however it provides a decent introduction to the majority of the methods till then.
- Notes on AI history: The focus is on classic AI techniques, through the performance of AI into games. It includes also a reference to the ALPAC and the Lighthill report that included pessimistic predictions about the (short-term) financial returns and the small-scale success of AI.
- The Quest of Artificial Intelligence: A lengthy book, available from Cambridge University Press, by Nils Nilsson, one of the early contributors of machine learning. The book is quite detailed, it develops the techniques in a chronological order along with several more philosophical questions that led to this development. It also includes (part of ) the motivation for developing the techniques, e.g. how probabilistic reasoning was not included in the early approaches to AI and how the need for probabilistic methods emerged. Definitely recommended if you want a more thorough understanding of the historic portrait of machine learning evolution.
If you happen to know additional links or references, I would be happy to add them to the list.
]]>