The usual way of publishing your research is to write it up for some conference first. There are lots of conferences, and we have to be strategic about it, taking account the topic, location, audience, selectivity, size, etc. (see going to conferences).

In many other fields conferences only include abstracts and journals are the real publications. However in computing, conferences have become the primary venue over journals, and can be harder to get into than top journals. In principle a conference paper is about 6-8 pages double column and presents a new method, experiment, or result. However, as the top AI/ML conferences have become hypercompetitive, papers have started to include a lot more content in the appendices (which the reviewers don't even have to look at, in principle). Some papers have three times as many pages in the appendices than in the paper itself! Also, in principle the paper should be accepted based on reviews, and revised accordingly for a final submission. However, now there is sometimes a rebuttal period of a few weeks, during which frantic revisions need to be done in the hopes of getting the paper accepted. This strange practice is a result of the explosive growth in the number of submissions. Hopefully it can be fixed in the future, but in many cases it may make more sense to send a journal: at least then there would be enough space and time for the revisions.

The conferences tend to follow a regular schedule, with most deadlines in Jan/Feb, but there are also several off-cycle deadlines. If you follow the relevant email lists etc. you should know when conference deadlines come around, and plan ahead so that you can actually finish the experiments and the writeup before the deadline. You should leave time for a couple of editing iterations with me.


After you have completed a considerable body of work, you should consider submitting it to a journal. The standard route is to publish in a conference first, substantially revise and expand the paper, and then send it to a journal. However, now that some conference papers have huge appendices and are more prestigious, there's little point in following it up with a journal paper.

Thus, journals have evolved into a different route to publishing. They take more time: often a year or more, although many journals try to shorten that to 3-6 months. As a result, there is more time to revise, based on more in depth reviews, and more reasonable eventual acceptance rates.

Some very new journals, like Transactions on Machine Learning, even try to tackle the AI/ML publishing problem head on. They aim to review papers for validity (rather than e.g. small improvements on standard datasets), and include a more diverse set of papers and ideas. It will be interesting to see how well they will work.

Like conferences, journals vary in focus, type of articles, turnaround time, competitiveness etc. Some highly prestiguous journals like Artificial Intelligence, Neural Networks, and Cognitive Science, only publish long and comprehensive articles. Others (like Neural Computation and Journal of Artificial Intelligence Research) shoot for a shorter turnaround times and shorter articles. Special issues are particularly good because the turnaround time is faster and the reviewers are usually more knowledgeable about the area (it is also sometimes easier to get the paper accepted). Many neural net and evolutionary computation journals are estimated to have a very high impact (search for "journals impact" at ISI), although they are still much lower than those of general science journals. Generally you should try to publish in high-impact journals, although sometimes the less-known ones have special issues that are widely read too.

There are also predatory journals where you have to pay to publish, and a large set of low-quality journals that may contact you looking for articles. Let's stay away from those--very few people read them and they do not help your career. In the past there were some battles with publishers who tried to maintain paywalls for their journals, or ask authors to pay to provide open access. It is no longer much of an issue: Almost everything is accessible now, through self-archiving or through the library.

Book chapters, books

Occasionally we get invited to write a chapter for a book that someone is editing. Often it is very good to be part of such a book because they are surveys of research in the area (and sometimes we even get royalties $$$$). However, they are not as competitive as conferences and journals and therefore not as significant as publications.

If you have a lot of time in your hands, you may want to edit one such book yourself. Often such books result from a workshop, such as those at NeurIPS, GECCO, AAAI, or CNS conferences (for example, the electronic Lateral Interactions in the Cortex book originated from a NIPS-94 workshop). It is a lot of work to put one together, and will delay your graduation, but on the other hand, a book, even an edited one, on your vita feels quite good, and you may get a lot of publicity that way.


Writing research papers is a skill that has to be developed like any other skill. However, the basic rules of writing research papers are very simple. Following them will make it much easier to finish a good paper in time, so make sure you are familiar with them before you start. For examples, see recent papers on our publications page.

Working with your advisor

Before you start writing, we should talk about what to put in the paper. In many cases, we'll start with an outline in Overleaf, with the section headings and major content specified. After you've finished the first draft (of the whole paper or some substantial part of it), I'll read it and edit in overleaf and write suggestions on how to improve it in Overleaf comments---we may also have a meeting to discuss them. We may go through a couple of iterations this way, until we are both happy that the paper is as good as it can be.

In almost all my papers with students, the student is the first author and I'm the second (unless I really did most of the work :-). However, I don't tag my name on all papers that come out of the NN group. I only co-author when I feel that I contributed something significant to the paper, usually in the form of brainstorming about the ideas and editing and commenting paper drafts. You may sometimes collaborate with other students or other faculty or end up with a paper on your own. However, I'd still appreciate hearing about what you've been working on!

Putting a paper in arXiv and NN website

Every paper we write should be made available on-line soon after it is written. If the conference review process is quick, we can wait until acceptance, and put up the final, revised paper. However, sometimes you urgently need to send the paper to someone, or maybe the next suitable conference deadline is several months away, or maybe you sent the paper to a journal where the review process may take over a year.

So usually as soon as the paper is done, we will upload it to arXiv. That collection was preceded by several systems for distributing papers (starting with Jordan Pollack's "Neuroprose" in the 1990s), but it has now become a standard place for publications in AI/ML and many other fields. You need to have an account in arXiv, and it needs to be sponsored by a couple of people who already have papers there. Papers in arXiv are citable and they count as publications; however, there is no peer review process so they are not prestigious in any way. They are not bad either---an arXiv paper on your vita simply means you've been productive and currently have the paper under submission.

In addition to placing the paper in arXiv, we'll create an entry in the nn website. You click on the admin link which gets you to the common AI-Lab interface; you login using the NN Group login, and follow instructions. And please do follow the instructions, because there are several things that need to be done to make sure the paper is properly referenced etc. As long as the paper is published only in arXiv, you can link to it there. Otherwise, please upload the pdf into cs:/u/nn/www-site/downloads/papers. Eventually, when your paper is accepted and revised, remember to replace the early version with the new version.

Announcing a paper

When you have written up a really good, milestone paper, you can announce its availability in the appropriate mailing lists etc.. This is the best way of making your work known to the world. However, this avenue should not be abused; you should only post papers that are milestones, and you should not make more than one or two announcements a year (posting other comments and remarks more often is of course fine). You can also send a pointer to the paper to people you know and want to impress. In general, your announcements should be part of your general networking plan.

Last modified: Sun Sep 25 16:18:37 PDT 2022