- 9
- 76 080
Simbrain
เข้าร่วมเมื่อ 31 ก.ค. 2015
TH-cam channel for tutorials, guidance, and other information relating to Simbrain (www.simbrain.net), a free software package for designing and editing and neural network simulations. For more more frequent updates on Simbrain see @JeffYoshimi or use the #simbrain hashtag there.
Simbrain3.03
Note (July 2022): The new version of Simbrain will be Simbrain 4. For updates search the #simbrain hashtag on twitter (filter by "latest"), where I have started posting updates. Progress is slow but steady. The current version of Simbrain 3 is 3.05. For release notes see github.com/simbrain/simbrain. The latest version packages Simbrain as a standard desktop app.
An overview of new features in Simbrain 3.03
0:14 New Key Commands
2:17 Fast Neuron Clamping and Synapse Freezing
3:22 Gather and Resize Windows
3:58 Improved Zooming and Panning
4:37 Custom IDE Based Simulations (Advanced)
6:10 Simbrain 3.1 Sneak Peek
By Jeff Yoshimi with thanks to Mariel Gonzales and Maria Puglisi for help with the video.
An overview of new features in Simbrain 3.03
0:14 New Key Commands
2:17 Fast Neuron Clamping and Synapse Freezing
3:22 Gather and Resize Windows
3:58 Improved Zooming and Panning
4:37 Custom IDE Based Simulations (Advanced)
6:10 Simbrain 3.1 Sneak Peek
By Jeff Yoshimi with thanks to Mariel Gonzales and Maria Puglisi for help with the video.
มุมมอง: 2 374
วีดีโอ
Odor World Basics
มุมมอง 1.7K7 ปีที่แล้ว
This is a video supplement to the Simbrain documentation, that explains how the "Odor World" works, which can be used to develop simple 2d simulations. There is also some background material on distributed vs. localist representations in neural networks. 00:00 - Odor World 02:55 - Smell Sources 06:13 - Smell Sensors 06:47 - Stimulus Vectors and Distributed... 13:46 - Effectors 16:33 - General O...
Braitenberg Vehicles in Simbrain
มุมมอง 3.8K7 ปีที่แล้ว
How to build and tune Braitenberg Vehicles! 00:00 - Braitenberg Vehicles 00:47 - Braitenberg Vehicles in Simbrain 02:17 - Building a Braitenberg Simulation 06:25 - Fine Tuning 07:19 - Making an Avoider 09:07 - Marker Be Jeff Yoshimi with help from Sharai Wilson
Couplings in Simbrain
มุมมอง 1.1K7 ปีที่แล้ว
This is a video supplement to the Simbrain documentation, that explains how couplings work, which can help when building larger more complex simulations. 00:00 - Couplings in Simbrain 01:16 - Background on Couplings 01:39 - Producers and Consumers 02:36 - Coupling List Window 03:14 - Coupling Manager 05:42 - Making Couplings 07:39 - Make Coupling Using Right-Click 08:37 - Time Series Example 10...
Simbrain Backprop Part 2: Analyzing Test Data
มุมมอง 7K8 ปีที่แล้ว
How to test a Simbrain backprop network on new data, after it's been trained. Also a bit of an introduction to scripting. 3:19 The MTCars dataset. 6:01 Method 1: Using the record inputs function. 12:21 Method 2: Scripting. 22:55 A Gotcha.
Interactive Activation and Competition Network
มุมมอง 10K9 ปีที่แล้ว
An introduction to McClelland and Rumelhart's Interactive Activation and Competition (IAC) model. Includes instructions on how to build your own IAC model in Simbrain. By Jeff Yoshimi, with thanks to Saraching Chao.
Basic Backprop
มุมมอง 12K9 ปีที่แล้ว
A brief overview of backpropagation of error (or "backprop") in Simbrain. By Jeff Yoshimi.
Building Neural Networks in Simbrain
มุมมอง 17K9 ปีที่แล้ว
0:12 Creating lines of neurons. 1:33 Copy / paste neurons. 2:33 Select Neurons then Randomize (Key sequence N then R). 3:00 Zoom and pan. 4:06 N then C to clear activations. 4:18 Set neuron properties. Set activation rules. 5:06 Binary neuron example. 6:04 Add neurons Dialog. 6:36 Connect neurons. Key sequence 1 then 2. 7:46 Up / down key. Space to update network. 8:32 Network update (space bar...
Geting Started with Simbrain
มุมมอง 21K9 ปีที่แล้ว
An informal guide to getting started with Simbrain. How to run scripts and open simulations, and some basic commands to make things run. 00:33 Barcharts. 2:05 High Dimensional Projections. 6:37 Smell Detector that Gracefully Degrades. 9:17 Braitenberg vehicles. 11:03 Backprop Letter Detector. By Jeff Yoshimi with help from Saraching Chao and Zach Tosi. For more information see www.simbrain.net.
Do I have to always normalize the data before it is used into Simbrain? Thanks for the video! Happy Holidays!
Yes you should. Thanks for the note and happy holidays as well!
@@jeffyoshimi1658 I have an equation to use to normalize data and then convert them back for the predictions so I can see more clearly what the real numbers look like. What format should the csv files be with comma separation of data and or spaces.? Also the labels as well should be the first line on the csv files.?
Was your work with Scott Hotton published?
Funny you should ask, we are just now finalizing the manuscript. If all goes smoothly it should be available by summer!
Hi, how are you? In case the titles are words and not numbers, can you search them, supposing you have an enormous network. Another question, if you select a box can you only see its connections? Thanks in advance
Hi there. For some reason I stopped getting notifications again so pardon the long delay. There is currently no way in the GUI to search for nodes with a specific label, but it's a good idea and I'm adding it to my long informal todo list. For nodes, you can see incoming and outgoing selections by right clicking and going to the select submenu.
Help! I'm trying to save a Simbrain project on my desktop as a .zip file and it's not working ( im on microsoft)
I've unpacked the file and downloaded java but whenever I go to open Simbrain, it shows up on the toolbar for a hot second then disappears (I have a Mac). Any suggestions?
Hi there, that can happen when you move Simbrain.jar away from the other contents of the folder. Try unpacking the zip file again, and going into the resulting Simbrain folder, and double clicking the jar. That might help.
@@jeffyoshimi1658 Hi Jeff! That's what I had tried to do. I double clicked the zip file, which led to it unpacking. When I went into the Simbain folder and double clicked on the jar, it opens for a brief second then closes and disappears
@@abbylasky5313 Hi again. The only other thing I can think of is to open up a terminal window, go to where the folder is, and run the jar using "java -jar Simbrain.jar". If it gives an error message, you can post it here.
@@jeffyoshimi1658 Hi again! When I go through a terminal window, I am presented with this error message: "Error: Unable to access jarfile Simbrain.jar"
@@abbylasky5313 You need to navigate to where the Simbrain.jar file is. You might have to watch some videos about or read up on the terminal and how it works. It's hard to summarize via text and with students I'd usually just walk them through it. Hopefully you can get there and run it!
Mate, your thing doesn't work, I've tried it on multiple computers and tried a lot of ways, even the ones instructed by you in the forums, and still does not work. Maybe talk in this a little bit in a next video or add a segement to talk about this.
If you post something at the forum we can work back and forth to try to figure out what's going on. Adding a video on install is a good idea, esp. since there seem to be more systems and security checks and gotchas now than there used to be.
Can I get the pdf of the book ? Great video btw.
Thanks, and sorry I missed this earlier. As I note above, the book should be out by summer!
Just wondering, what language is this written in besides Java?
It's basically all java. The scripts are in beanshell, which is just interpreted java. However, in the new Simbrain we are moving increasingly to kotlin. (Apologies on slow reply I just realized I did not have notification set up).
I miss the days when people used to settle their differences with choreographed dance routines.
Can it be used for supervised learning ?
Yes, see the Simbrain backprop video. Also there is LMS and a few others. We're revamping all of that to provide better support for the main supervised learning algs, but it's taking years (literally!) of part time, on-the-side work, so who knows when the newer shinier version of all this will be out... But yeah search for "simbrain backprop" and you can see more
you are way too hard on a keyboard
Hi.Thank you for your video. I currently worked on creating neural network digit recognition with NoiseOut implementation.I would like to ask,do you know how to print the time taken for each iteration while training data and also total time taken for training data to finish? Your guidance is much appreciated.Thank you
Hi there! I guess since you're using custom pruning (noiseout) you are using a script or simulation of some kind? I can't think of how to do this kind of thing in the GUI alone. At any rate, to do something like that you just log the time before each iteration then after each iteration and then print the difference. For example, if you look at the backprop_cars.bsh script you could record the time before line 76 then the time after, then print the difference (for time per iteration) and then before line 74 and after 80 for time to finish a complete training pass. Not sure if that is what you are looking for though. FYI we are working on an ND4J / DL4J implementation for the next Simbrain, but who knows how long that will take...
@@jeffyoshimi1658 Hi.Thank you for your reply.Yes,I am going to apply the custom pruning(noiseout).I also want to ask,May I know how to apply the prune() function in backprop_cars? Cuz,if I can get the prune function in the script,then it will be easier to write the script for noiseout.
When I use the one-two method to create my own network, I do not think it is setting up a bidirectional connection. Only on red dot is appearing on one side. What may I be doing incorrectly?
The 1-2 trick does only create one-directional connections. You can get pretty fast at just doing the trick twice to get both connections, but if you want to do it in one go, you can shift-select two neurons, then press 1-2, and it will do what you're looking for.
When running the simulation, you often see multiple nodes respond to a name ( like two careers) will activate for Sam. Is this because of demographic over lap? Like other members with similar age and status as Sam have that secondary career? So the network draws on that association?
Yes exactly, I believe that's what's happening. Maybe Sam and Joe and Bob (making these names up) are all in the Jets and in their 20's, but they have a few different jobs. Because of these overlaps activating Sam will active the Joe and Bob instance nodes, which will activate the jobs they have. Intuitively, this makes sense. When you hear a friend's name you might think not just about that person's job, but of jobs associated with people _like_ that person. You can see how this could explain things like stereotypes as well.
How do you reset the iterations??
Hi there. Double click on the label that shows the iterations.
@@jeffyoshimi1658 Wow, I feel silly. Thank you so much.
Hi, I started to study your project, is there one question: is the program for test building a network or can it be used directly for training?
Hi there. Simbrain can be used for training a network. See this video: th-cam.com/video/Q8hkMqs1Qsg/w-d-xo.html. If that's not what you meant just let me know.
th-cam.com/video/tMy--rO-dqE/w-d-xo.html Simbrain is a great simulation framework. It is very helpful for teaching Neural Network to beginners. I created the small simulation connecting the Digital World with the Physical one using COZMO robot using SimBrain. If you are okay I can add this as an example and send a pull request for the github repo.
I made one for numbers, high-med-low even-odd, and 2 was kind of even a bit medium and low...
5 is like 7...
8 is exactly the same as 6... hahahha... my creation is dumb... hahahhha
wait... 6 is more 8-like than 8 itself :0
if you don't give it input it assumes the that... i guess... all numbers are like 6 and 8...
Somebody needs to make a dragon flies mind...
the first step doesnt even work... i propably need to download java that wasnt from 100 years ago
Thank you for this.
I watched a few of your videos and they helped me clear up some ambiguity. I would still appreciate it if you quench my curiosity about something. Basically, I am researching a phenomenon in language acquisition and I wonder whether can train a model to produce desired output and then test its ability to generalize some rules to novel language items. I understand that I have to convert the data into vectors right? What I am not sure it can be done using SimBrain is the step of testing the network's ability to extend the patterns learnt from the training set to novel data. I really hope you answer me as it would spare me much time. Thank you.
Hi there! Yes generally you first convert linguistic entities like words or phonemes in to vectors, then transform the vectors using a neural network, then convert those vectors back to linguistic entities. Of course there are variations on this theme. There are a few examples in Simbrain that do something like what you are asking about, training a network on linguistic data and then testing them on new data. They are the "elman...bsh" scripts accessible from the Script menu. The scripts should not be too hard to read. Also you can have a look at Elman's original paper (Elman's "Finding Structure in Time"; easy to find online) to get a sense of what those scripts do. Well basically they are trained on sample sequences of phonemes in one case, and words in the other, and then try to predict the next phoneme or word using new sequences they have not necessarily seen before. There was some discussion of similar issues on the forum: simbrain.963258.n4.nabble.com/Network-design-for-a-network-learning-sentences-td4640534.html
Thanks a lot Jeff. You guys are doing excellent work! It must be tough though. I still find real difficulties in using the app. Could you please tell me something about converting words to vectors. I understand from the discussion and the guides that I should use textworld reader, paste the types or tokens there right? There is a video on coupling which helped me understand some later stages a bit, but before that, I couldn't manage to convert the types/tokens to vectors. I think Simbrain will be useful for people from different walks in life. I understand that you are still developing it. If Simbrain becomes a paid app in the future, I will definitely buy it!
Yeah that's definitely one of the less developed parts of Simbrain. There are now some very nice packages out there for this type of thing, and we'd like to wrap the newer Simbrain around those (e.g. deeplearning4j.org/word2vec.html). At any rate, in the current Simbrain, you're stuck with our somewhat primitive interface. What I suggest is you start by making a simulation with a reader world and some random text in it, and then click edit dictionary and set it to scalar. Then click the extract dictionary button and point it to a text file with the same text as in the reader world. Then create a bunch of scalar couplings from the reader world to a network with a bunch of nodes in it. That should begin to just give you a feel for things. Then you can get more complex and use vector couplings and then start connecting to networks.
Yeah, I managed to create couplings between a backprop network, a reader world and a display world.I tried to train it afterwards. I ll keep reading the tutorials on the website to get my head around it. Thank you so much for your prompt replies. That was so helpful. Looking forward to more videos on how things work. Please consider making videos on building and training networks on linguistic data. Again, thanks a lot.
Android app, please!!!
If there are interested Android developers out there, let me know! Presumably it's just a matter of writing some new UI code on top of the core libraries. But the "just" there is misleading :)
I Love your work And I’m very excited about the 3.1 update
Thanks for the interest! 3.1 might take a while to finish but I'm hopeful we can get a beta out in Fall.
nice nice been using it for fun for a while now glad to see it still being updated :D
Thanks! Updates take longer than I'd like to finish but, well, it's open source...
help! I've tried to install simbrain on my windows 7 pro laptop. I get a message box with this label "Java Virtual Machine Launcher" and this is the message "Could not find the main class: or.simbrain.workspace.gui.splasher. Program will exit" How do I get past this and successfully install Simbrain? Looking forward to using your software to experiment with ANNs....
Hi there. One workaround in this case is to run from the command line. I've posted some information at simbrain.963258.n4.nabble.com/Cant-start-td4640457.html. If you need more information just post a followup there and I'll try to respond.
i like cheese..
.jar file doesnt work. help?
Same problem help
Hi, can I used Simbrain for Convolutional Neural Networks ? is there any version of it suitable for using with GPU ?
Hi Ali. Not yet, at least not from the GUI. Both should come, eventually. I'd guess some kind of support for simple convolutional networks will come before built in GPU support.
Can you make a video about convolutional neural networks
Hi Mert. Yes I will put that on my long todo list! There are a bunch of little things that need to be done before we can easily support that in Simbrain (though most of the "pieces" for it are there). But once we do all that, I'll make a video. It might be a while ...
thanks
Thank you for an amazing tutorial and an amazing program. Anyway, is it possible to turn a trained backprop network into simple neural network, just neurons and weights? My idea is to train simple feature analyzers by backprop and use their outputs to make decissions in a more complex network produced by evolutionary mechanisms. For this it would be great if I could merge all my feature analyzers into one big network. I would appreciate any suggestions.
Hi Martin. You should be able to do this by copy and pasting the nodes and weights, using the A button and then copy-paste (if there is only one network in a sim) or by carefully selecting things otherwise. This acts weird with neuron groups though (so don't select those). Hmm... In the new version of Simbrain (available at github) we have a replacement for the scripting framework that will make this type of thing this much easier. In fact I have a student doing evolutionary stuff now in this framework. Email me if interested in trying that type of thing now.
Weird, this somehow doesn't work for me, I always copy only units and not the weights. Even in script, I can get a list of synapses containing the right number of elements, but those do not return the weight value nor does the copy constructor work. Also if saved as XML, you dont get the individual weights, but some weird matrix. I will think about workarounds and follow the simbrain page and I am sure I will solve this once.
Hi again, it works for me on the default backprop network but I have to select both the weights and the nodes that are being connected. To make this work in a script it might require some more detailed back and forth between us, and probably some improvements and bug fixes in parts of the Simbrain API that haven't been used as much. So feel free to start an offline conversation.
That indentation fix at 0:50 made me happy xD
thanks
thanks
Can I also use it for regression problems? so if I have only one output neuron and I want to use it e.g. estimating house prices?
This should be possible. There is a brief discussion here: simbrain.963258.n4.nabble.com/Regression-problem-td4640516.html
I gotta tell you; your program is amazing! Holy shit dude - Making all this for free => #respect. Keep up the very very good work. And thanks for an outstanding program
Thanks Bastian!
When I double-click on simbrain.jar, I don't get the program interface. What I get is my compressed-file unpacker, even though the .jar has already been unpacked. Help! :)
If you are on PC, someone else might be able to answer this better than I can, but I think you have to change what program is used to execute a jar by default. It sounds like on your machine it's defaulting to an unpacking program.
java -jar simbrain.jar
Pfff that video is cheesy ! :P
These videos are amazing, and I have to ask that you do more, because you have a good way of making this accessible to the lay person. Following along I was able to build some simple networks with little prior understanding, this also speaks to the intuitiveness of Simbrain. But for all its grace, we newbs may need more videos. I would love to see a series on applicable problem solving using the networks, and an ultra-noob simbrain tutorial - especially when we need young people to take up the tools and get to solving world problems. Thanks for all your hard work
Hi thanks for the reply. This is another comment that somehow slipped by me. I am planning to make a few new videos next month. I like the sentiments you express towards the end of your comment. If you have any specific suggestions about what I could add let me know, or shoot me an email and we can brainstorm.
So I tried this same project but using 5 instead of 1 and it doesn't work at all really. I made sure the neurons had a maximum of 6 so they should be able to reach 5 but they just don't. Is that just a result of how these work or do I need to change something?
Somehow I seem to have missed notifications about this and other comments here for over a month! At any case feel free to post your workspace file somewhere or email it. You can also raise this at simbrain.963258.n4.nabble.com/
Thank you for making this program, I've been trying to make a neural network and backpropagation just went over my head. This saves me a lot of frustration
Glad it helped!
Hi! I was modeling a scenario where the weights give the probability, using backpropagation in multilayer feedforward network. I am getting the least mean square error but the weights being rendered are negative and more than 1 too, which are not acceptable for my problem. I tried setting the upper and lower bounds for weights as 1 and 0 respectively but then the weights are coming either as 1 or 0. Any suggestions how to fix the problem?
Hmm. You could try making the upper and lower bounds large for the weights, so they don't just go to their max and min values, and then after training normalize the weight values for your analysis and treating those normalized values as probabilities.
Sir, Do you have any tutorials on using Simbrain Version 2....? My laptop has problem to working any version of Simbrain aside from the Simbrain Version 2.
No not beyond the documentation that comes pre-packaged with the older versions. This may just have to do with which version of java you have installed. I suggest checking to see if you have java 8 on your laptop, and if not, installing it.
Hi! I wanted to simulate a neural network where I need to keep some weights constant i.e not change their initial set value ( which I will provide initially) during the learning process.. Is this possible with Simbrain??
Yes you can set the weights you don't want to change to frozen. I just tried it and it worked, at least for backprop.
Thank-you. Excellent intro to the software and navigating.
Glad it helped!
Thank you for the project. It was the only one that is easy to use that I found
Glad to hear it!
would be fun to create a neural network to analyze Stock Charts, and see what it predicts.
Hey sorry I missed this before. See the bottom part of this post for some more on this: simbrain.963258.n4.nabble.com/how-to-forecasting-td4640394.html
thanks :)
I have written a SOM regression script (for predicting probable flaws in the manufacturing equipment), can I use Simbrain to show the visual synthesis of the data. Can I use Simbrain APIs within Eclipse? Do I need to add any plugins? If so how? Are there a tutorial on how to use Simbrain within the eclipse IDE?
*Are there any tutorials available regarding the usage of Simbrain APIs within Eclipse?
Hi there. I don't have a tutorial on using SImbrain in eclipse, but there is some info on getting the source and setting up the Eclipse environment at the wiki: github.com/simbrain/simbrain/wiki.
Hey, thank you :-)
Can I do this with a SOM based neural n/w?
Hi there. There may be a way to merge these ideas, but in general the purposes are different. SOM's are mainly used in a "feed-forward" way to automatically classify inputs, whereas IAC is a more recurrent way of modeling memory.
I need to report a bug: When editing a cell and pressing ok at the next editing of the same cell all values are x10 of the original
Hi Benja. Thanks for the report. Would you mind posting this as an issue at github? github.com/simbrain/simbrain/issues/ In your report please indicate what kind of system you are on and give instructions for replicating. I am have been able to replicate the problem on my machine so far. Then we can go back and forth on the issue from there.
+Jeff Yoshimi Ok i will at least its good to see that ur still on this and u read ur comments. Exept this little bug u did a really good job
Great thanks!