Please create an account to participate in the Slashdot moderation system


Forgot your password?
Education Science

Ask Slashdot: DIY Computational Neuroscience? 90

An anonymous reader writes "Over the last couple years, I have taught myself the basic concepts behind Computational Neuroscience, mainly from the book by Abbott and Dayan. I am not currently affiliated with any academic Neuroscience program. I would like to take a DIY approach and work on some real world problems of Computational Neuroscience. My questions: (1) What are some interesting computational neuroscience simulation problems that an individual with a workstation class PC can work on? (2) Is it easy for a non-academic to get the required data? (3) I am familiar with (but not used extensively) simulators like Neuron, Genesis etc. Other than these and Matlab, what other software should I get? (4) Where online or offline, can I network with other DIY Computational Neuroscience enthusiasts? My own interest is in simulation of Epileptogenic neural networks, music cognition networks, and perhaps a bit more ambitiously, to create a simulation on which the various Models of Consciousness can be comparatively tested."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: DIY Computational Neuroscience?

Comments Filter:
  • Check out NEST (Score:4, Informative)

    by somepunk ( 720296 ) on Saturday November 30, 2013 @12:37PM (#45561571) Homepage
    It's open source, and integrates with Python and the whole SciPy suite. I'm not a neuroscientist, but I work in one's lab. I haven't used the software extensively, but it's installed on a Linux VM wasiting for some love while we work on other things. []
  • by Improv ( 2467 ) <> on Saturday November 30, 2013 @12:42PM (#45561613) Homepage Journal

    Good start, now go do some formal study and get a degree. There's too great a risk, with self-taught people, for them to only expose themselves to the ideas that are appealing to them. Academic fields recognise this; you're not going to be ready to contribute to the cutting edge unless you put your ideas in the field up for reshaping by people who know more than you do, and that's a good thing.

    • Mod parent up! I have been in academia for more than twenty years and can say without a doubt that being around experts in a field cannot be replaced. That is not to say there aren't Ramanujans and Rain Men out there, those that have natural abilities to learn and the idiot savants. Computational neuroscience isn't something you lightly tread into as a hobby and think you're going to contribute to anything more than learning how difficult it is to do. If you want to contribute and you think you have the cho
      • by khallow ( 566160 )

        I have been in academia for more than twenty years and can say without a doubt that being around experts in a field cannot be replaced.

        What happens if you want to do something interesting in the field and can't afford to chill with experts for twenty years?

        College can be life-changing. It can also be a very bad choice. A lot of people have dropped out with high debt and a weak, partial education. I know because I've done both (well, no high debt, but I have used up a lot of years that I could have been doing something else).

        • I have been in academia for more than twenty years and can say without a doubt that being around experts in a field cannot be replaced.

          What happens if you want to do something interesting in the field and can't afford to chill with experts for twenty years?

          Then computational neuroscience is not going to be your bag. I also learned in this time that coming to college doesn't always mean graduating with a degree in order to find out what you want to do with the rest of your life. But, if you want to do scientific research and have any impact then you should go the research and academia route. If you want to just play, go play. You don't have to be an enrolled student to go to the library and read journals, although a lot of them are no longer printed so sooner

    • by khallow ( 566160 )

      Good start, now go do some formal study and get a degree.

      Credentialism rears its ugly head. College is not automatically the best choice.

      There's too great a risk, with self-taught people, for them to only expose themselves to the ideas that are appealing to them.

      Risk and great reward. After all, if you expose yourself only to ideas you're interested in, then you learn them because you are interested. I think enthusiasm is more important than variety. College can expose you to ideas outside of your experience which you can be enthusiastic with. But it also exposes you (with a considerable time and financial commitment) to stuff that won't be so interesting or relevant.

      There's a whole

  • by Anonymous Coward

    Best chance of success is to approach a lab and volunteer your time. You will get a chance at good discussions and their expertise and insight, and they will get your time and effort. They probably have nice little problems like what you want, but they are not just going to write them up for you because 1) takes too much time and they rather write papers and grant applications; 2) a student in their lab can do it. If it really all it needs is a pc, then they have people to do it. If you do a good job and a

    • I gotta agree with this.

      You can do a lot on your own, and I personally don't see any reason why not to (unlikely a poster above, hey, if you write shitty code, I just won't use it - and it's not like there aren't plenty of neuroscientists writing shitty code because being a theorist doesn't make you a programmer.) But getting more exposure to other people's ideas and pointers to resources is going to do you a world of good. And you don't need much of a background if you have computer skills - people love vo

  • by Anonymous Coward

    1. run the protein folder as the background task on your desktop

    2. this guy shot himself in the head and cured his neurological condition. calculate possible trajectories.

    3. ???????


  • Yes, there's open-source neural simulators for the PC out there, but the leading edge of neuronic simulation is doing it in hardware, which is thousands of times faster than modelling it in software.

    • can you give examples? perhaps you mean that implementing brain-inspired special-function processors is best done in hardware - if you want a widget that detects pictures of cats or something. study/understanding is not often rate/scale-limited.

    • You can build a fairly large simulation that runs on modern inexpensive graphics hardware. Learning how to program those is where I'd start.

  • by Anonymous Coward

    The point of running all the simulations is to aid in the understanding of how neural circuits compute; they aren't all that useful outside a theoretical framework. Computational neuroscience heavily uses concepts from dynamical systems, statistical inference, information theory etc. If you want to figure out new ideas about how neural circuits compute or represent information, then some exposure to these topics is essential. On the other hand, if you simply want to play around with and/or tweak models buil

    • by tylikcat ( 1578365 ) on Saturday November 30, 2013 @04:20PM (#45562959)


      That all being said, going out and playing with some of the established tools, and reimplementing some classic models (or building models off of wet lab papers, or whatever) is going to build you up a great skill set, and make it a lot easier to find a lab position if you want to go that directon (either a paid one or a volunteer one, each has advantages).

      I'm personally enough of a biologist to feel compelled to point out that a lot of what has been done in larger networks has diverged from biology in critical ways - some of it might be interesting in its own right, but it's not really neuroscience in any meaningful way.

      Get a solid grounding in Neuroscience. (Kandell, Jessel and Schwartz, Principles of Neuronal Science, is the standard text, it's excellent, and highly torrented.) Please, please, please take some time to understand the variety and complexity of single neurons - they are way more complicated than many of the people who model systems with high numbers of neurons let on. Having a system with 100 billion simulated neurons means an awful lot less if the neurons themselves are shit.

      Re-implement some classic systems from scratch. Yeah, I mean start with Hodgkin and Huxley, and build up from there. You will learn things from doing that yourself that you'll miss by just diving in with established tools. (And a lot of the established tools have issues.) Itzikevitch, Wilson, and Trautenburg are all favorites of mine off the top of my head. Strogatz is great as an introduction to dynamical systems.

  • by Anonymous Coward

    Look into 1000 Functional Connectomes and Human Connectome Project. These are two (perhaps 3 or even 4 since HCP is ambiguous) open access, neuroimaging, data sets. Python is a great way to go. Equip yourself with python + numpy/scipy/matplotlib. You will do great.

  • Focus on the 'language' mystery.
    'Solve' that and you will have solved consciousness and a
    few things that come serendipitously with it (like 'music cognition').

  • you need a hundred million $$$ of supercomputing computer power to run any useful computations. i guess you can rent some computing power on amazon, but that is going to cost you.

    • by Anonymous Coward

      Absolutely false. You can easily recognize letters, numbers, faces, and I'm sure many other things (arbitrary) with a PC.

  • by Anonymous Coward

    Seriously, if you're asking this bunch of bozos for advice, you're already off-track.

    The right way to learn about cognitive neuroscience is to go where people are DOING it, not where people talk out of their asses about it!

  • by ODBOL ( 197239 ) on Saturday November 30, 2013 @01:49PM (#45562061) Homepage

    (2) Is it easy for a non-academic to get the required data?

    I am not familiar with this particular academic community, but generally it is not easy for an academic to get data. The most useful resource is probably the co-operation of those who have gathered the data, and in order to get that you have to find out who they are. The inclination to be helpful varies immensely across disciplines and people within disciplines, but all you lose by trying to make contact is possible embarassment. Step 2 in the list below will give you a tag to use when introducing yourself, which may make you feel less awkward and therefore may improve co-operation.

    I suggest 3 steps, in increasing cost, that are likely to help:

    1. 1. Get a community membership in the nearest university library. This should be cheap enough to be a no-brainer. It doesn't matter too much which university, because a lot of materials will be online through their Web catalogue, and there will be interlibrary loan. I'm not sure whether small 4-year colleges and community colleges have similar arrangements, but it's worth checking if one of those is much more convenient than a research university.
    2. 2. Join a professional society, and/or the special interest group of a professional society, interested in your topic. Costs vary wildly, order of magnitude $100 to $1,000 per year. The Association for Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers (IEEE) probably have interest groups, and there are almost surely such groups within some cognitive science societies, but I am not familiar with those.
    3. 3. Attend a conference sponsored by a group from step 2. This is likely to cost $1,000s when you add up travel, hotel, registration. If you have the time, and get lucky on location, you can save a bunch on travel. Saving by staying far from the conference hotel is usually a mistake. The value of the conference is less in attending talks than in meeting people, and having breakfast in the same hotel with everybody else can make a big difference. The success of unsolicited introductions will vary immensely across the people you try to meet, but you lose nothing but embarassment by trying. The main thing you can do to improve success is to avoid the Charybdis & Scylla of diffident awkwardness and bluff. Let on that you're an outsider, but don't downgrade whatever insight/ability/motivation you have. You'll probably have the greatest success meeting people who are networked in, but are not famous stars. That includes grad students and postdocs. It may be nice and polite to hang out with other outsiders, but probably not productive for your mutual goals.
  • Some answers (Score:4, Informative)

    by Okian Warrior ( 537106 ) on Saturday November 30, 2013 @02:10PM (#45562211) Homepage Journal

    I research hard AI. In my view thinking through and tackling example problems is the best way to explore a topic. If you require your system to mirror our current understanding of neuroscience, then you're essentially researching the algorithms of the brain.

    If you're specifically looking into epilepsy and related, consider checking out William Calvin's [] website. He's an experimental neuroscientist [] from University of Washington, who wrote many books that explain the neurological foundations of the brain in readable form with good detail.

    (1) What are some interesting computational neuroscience simulation problems

    Pretty much anything AI falls under that category. Go over to [] and check out some of their competitions, including their past competitions. Check out the Google AI lab [] and see what they're doing, and check out recent publications [] to see what people are trying to solve. Ask yourself: Are humans better than the computer, and can it be done better?

    Here's a video [] of a system that uses neuron simulation (of a sort) to recognize hand-written digits. A hand-written digits dataset is in the UCI archive below.

    (2) Is it easy for a non-academic to get the required data?

    Generally, yes. UCI has a repository [] of machine-learning datasets. The researchers supporting Kaggle [] competitions frequently release their data.

    I've found that researchers are generally approachable, and will give away copies of their data (I have 4 datasets from researchers). As a personal anecdote, last week a researcher from this very forum sent me his dataset of Mars altitude images [] - I'm trying to come up with an algorithm to recognize craters.

    (3) I am familiar with (but not used extensively) simulators like Neuron, Genesis etc. Other than these and Matlab, what other software should I get?

    In my view, pick a computer language that has a wide support network of libraries, and code things from scratch.Something like Perl or R. At some point you will want to break open the box and see what's actually happening inside, and familiarity with the system (having constructed it) is key. You will want to insert trace statements, print out intermediate results, and so on. Most of the pre-built systems don't have what you will ultimately want, and building simulation objects isn't terribly hard.

    (4) Where online or offline, can I network with other DIY Computational Neuroscience enthusiasts?

    Please let me know if you find any (by posting a response).

    I've found that most AI enthusiasts are really "big data" enthusiasts, and most of them are all about business rather than AI. The IRC AI chatrooms [irc] are all but dead, and most of what is there are students asking for help with their homework. (Although to be fair, the lurkers there know everything about AI and can answer questions and make suggestions if you're stuck.)

    The NEAI meetup [] in Cambridge is mostly spectators - people who want to find out about AI or how to use AI ("how can I use AI to improve the performance of my financial company?"). I hear there's an AI meetup out on the West coast that's pretty good.

    See if there's a meetup [] in your area for something related, or start one and see if anyone shows up.

  • by upontheturtlesback ( 2605689 ) on Saturday November 30, 2013 @02:13PM (#45562225)
    I have a recent PhD in neural computation, though from a functional cognitive and language modeling perspective, and not a neuroanotomical modeling perspective -- so it may be a different area than you're interested in. From a high-level perspective, neural computation has moved a lot in terms of scale in the past two decades (simulations can have millions of nodes), and it has moved a lot in terms of modeling the processes of individual neurons and neurochemistry. Very high-level functional mapping work has also moved a good deal with fMRI, EEG, and MEG becoming relatively inexpensive and very common techniques in cognitive experiments. One area that, in my opinion, has moved very little in the past 20 years is the ability for neural networks to learn non-trivial domain-general representations and processes, and to generalize from those representations and processes to novel (untrained) instances. In the late 80s, after connectionism had made return with Rummelhart and McClelland's popularization of the backpropagation algorithm and demonstration of its utility in a number of tasks earlier in the decade, a good deal of the literature demonstrated very basic limitations and failures of these systems to generalize to untrained instances, or to move away from toy problems. Fodor and Pylyshyn's "Connectionism and Cognitive Architecture" is a classic paper from that era, and Pinker wrote a lot language-specific criticisms as well. Stefan Frank has the most recent long-standing research program in this area that I'm aware of, and his earlier papers have good literature reviews that can further help guide ones background reading. There have been some limited demonstrations of systematicity with different architectures (like echo state networks), and comparatively little work on storing representations and processes simultaneously in a network, but so far these are long-standing and fundamental issues that need revitalization. When convincing demonstrations do arise, they'll likely not need more than a desktop to run, as it will be demonstrations in learning algorithms and architectures, not scale. For non-neural folks, classical neural network architectures are essentially very good at pattern matching and classification (e.g. being trained on handwriting, and trying to classify each letter as one of a set of known letters (A-Z) that it's seen many hundreds of instances of before), or things that involve a large set of specific rules (if X then Y). They're much less good at things that involve domain-general computation, that involve learning both representations and processes and storing them in the same system (i.e. let's read this paragraph and summarize it, or answer a question, or let's write a sentence describing a simple scene that I'm seeing). That's not to say that you couldn't make a neural system that did this -- you could sit down and hard-code an architecture that looked something like a von-neumann CPU architecture and program it to play chess or be a word processor, if you really wanted, but the idea is developing a learning algorithm that, by virtue of exposure to the world, will craft the architecture as such. The idea being that, after years of exposure, the world will progressively "program" the computational/representational substrate that is the brain to recognize objects, concepts, words, put them together into simple event representations, and do simple reasoning with them, much like an infant. I hope that helps. Of course all of this is written by someone interested in developmental knowledge representation and language processing, so it may be a completely different question than you'd wanted answered. best wishes.
  • My questions: (1) What are some interesting computational neuroscience simulation problems that an individual with a workstation class PC can work on? ** These come up more frequently than you might think. Even what you'd think of as a regular home or office PC can do a lot with 8-16 gigs of memory, let alone amounts beyond that. I'd suggest that you start looking at [] as a place to start. Also, start looking at the discussion groups that you can find on (I hate it, but use it) Linked
  • Kudos on your dedication to be self taught, but the questions you raised are one of the things that a university is great for. To make a meaningful contribution in mathematically-oriented fields (such as computational neuroscience), you need to have the following:
    1) Access to latest journals and papers: This should help answer question (1), (2), and (3) - use the tools others are using. If you find an open-source tool, that is great. But often, people in the field will expect you to use a standard framewor

    • by Lamps ( 2770487 )

      Most graduate (including Ph.D.) students take a lot of classes on basics (at the start) so that they know the vocabulary and concepts necessary to read and understand the cutting edge research. Without that, you are likely too dependent on the tool.

      I'd modify that to saying that without a sufficient theoretical background, even if you have access to the best software and hardware tools, you will not be able to do very much with them that will be of interest to anyone. Lots of great research (including research in the domain of computational neuroscience) is done on FOSS tools that can be downloaded in a matter of a few minutes; the prerequisite is having sufficient knowledge in a particular domain. Conversely, no software will compensate for a lack of

  • Randall O'Reilly [], a professor of cognitive neuroscience at the University of Colorado Boulder, has put the second edition of his textbook Computational Neuroscience [] online. I think it would be an excellent resource for you.
    • I took a course with Michael Frank as an undergraduate, we used this book. It is one of the best textbooks I've ever encountered.

      Also, as someone else mentions below, emergent ( is a cross-platform open-source simulator that goes with the book (most of the examples are in PDP++ which is a prior version of emergent).

  • Note: I've published cognitive and neuroscience research that utilized neural nets. I'm not specifically that knowledgeable in the specialized topics listed after point (4), but perhaps I can provide some useful general information about how to go about acquiring resources that may help the author, and perhaps others, increase their chances of success in their research efforts.

    (1) What are some interesting computational neuroscience simulation problems that an individual with a workstation class PC can work

  • I have a PhD in neuroscience.

    If you can afford it, apply to take this course: []

    It is taught by some of the best in the field, and many alum have gone on to do good work.

  • I teach a graduate course in computational neuroscience at CMU. My lecture notes, exercises, and Matlab software are all available online via my home page, at []

    I disagree with the notion that only professionals should speak publicly about their scientific work. Amateurs should be welcome in any branch of science. Who knows where the next contribution will come from? And there is plenty of disappointing work from tenured professionals. So read the journals, but be prepared to wade th

    • by ehack ( 115197 )

      Dave's course is certain to be interesting.

      A good way to get up to speed in research IMHO is to look at the problems in publications, and try to reproduce the indicated work. You can do this with fairly old (5-6 years) publications too, usually at that point data sets etc are available.


  • Emergent Neural network simulator. [] If nothing else it will give you a good baseline of how far you can push the envelope with a single workstation.

    Just installed it on my machine and it looks well crafted and quite versatile.

    • Emergent is *precisely* the right tool to give a good baseline of how far the limit can be pushed on a single workstation in the "DIY computational neurosicence" vein of the question. It's also a very powerful tool, but not so powerful you couldn't replicate the same behavior that it uses in python (except for small instances of very complex math).
  • I work with severely disabled children as a classroom aide. While the job is an aide position, I am also privileged to have weeks and even months of exposure to a specific disabled person.

    If your computer career is declining due to age, education or platform problems I mention this kind of employment as a kind of work that may provide you with many observations that may provide problems or ideas regarding computational neuroscience.

    It is my opinion that observation of motor actions and neural operation in m

  • As a professional evolutionary biologist, my advice is to approach this as a hobby and don't pretend that it is anything else. Look for other hobbyists and discuss your projects with them (while learning whatever you can from professionals), and just focus on whatever you find interesting. Do not try to compete with the professionals; you probably don't even want to copy them, except when they have introduced a novel approach to a problem that can be taken in many directions.

    You will not have access to many

  • I have a PhD in neuroscience, and teach at the Methods of Computational Neuroscience course in Woods Hole that patluri recommends in another comment. We begin the course by having each student collect their own data using the SpikerBox, and their mobile phones. These data can then be analyzed in Matlab, Pyton, etc. The experiments you can do are slightly different then what you are after, but it may be a good starting point. This summer, for example, one student collect data on the visual system of gras

  • would be useful for studying development of feature maps in the visual cortex. []
  • I'm a neuroscience doctoral student studying epileptogenic networks. I would have messaged you if I could.
    • I'm a neuroscience doctoral student studying epileptogenic networks. I would have messaged you if I could.

      You can now. Had to post AC since I had trouble logging in earlier. Look fwd to hearing from you. Thx

    • I'm a neuroscience doctoral student studying epileptogenic networks. I would have messaged you if I could.

      Sorry for the double reply. Realized you didnt know where to messag/emaile me at. Now you do :) I guess this is what all the go-academic posts are talking about- the ability to network easily :) Thx

I've noticed several design suggestions in your code.