Discuss Scratch
- rdococ
-
Scratcher
1000+ posts
Simple Neural Networks
This is an interesting take on the idea. I've drafted suggestions about ‘chatbot’ blocks that let you send and receive English responses, but something like this may allow them to run client-side for much better performance.
However, I'd simplify the blocks a bit:
Also, the network should support monitors like a variable or list. All the nodes and connections could be displayed as well as options to add and remove inputs, outputs and middle layers, as well as modifying values and weights directly. That would be great for kids learning this type of thing.
However, I'd simplify the blocks a bit:
// Create a neural network (asks for input and output count)
(network :: pen) // Lists the input, middle and output values in order
send [network v] the value (1.23) on input (1 v) :: pen
(output (1 v) of [network v] :: pen)
tell [network v] it did (50) % well :: pen
reset [network v] :: pen
Also, the network should support monitors like a variable or list. All the nodes and connections could be displayed as well as options to add and remove inputs, outputs and middle layers, as well as modifying values and weights directly. That would be great for kids learning this type of thing.
- doggy_boi1
-
Scratcher
1000+ posts
Simple Neural Networks
Semi Support. I think this would be better as an extension because of how specific it is
- scratchfan321
-
Scratcher
100+ posts
Simple Neural Networks
Not for Scratch, too complex for users who are trying to learn the basics of programming, would be better suited for a Turbowarp extension.
- Dragonmyflesh
-
Scratcher
500+ posts
Simple Neural Networks
It could be a little simplified because the 8-year-olds can't understand that stuff.
- starlightsparker
-
Scratcher
1000+ posts
Simple Neural Networks
Not for Scratch, too complex for users who are trying to learn the basics of programming, would be better suited for a Turbowarp extension.Wide wall, low floor, high roof.
If this was an extension, then I don’t think wider walls and higher roofs would make the floor much higher. Just new opportunities for kids to learn!
- PaperMarioFan2024
-
Scratcher
500+ posts
Simple Neural Networks
Bump (not sure whether or not this should be brought up for reasons of a dupe, but bumping it anyway)
- BringUpYourPost
-
Scratcher
500+ posts
Simple Neural Networks
Higher floor bad. a higher floor is not good. also like do it yourself manNot for Scratch, too complex for users who are trying to learn the basics of programming, would be better suited for a Turbowarp extension.Wide wall, low floor, high roof.
If this was an extension, then I don’t think wider walls and higher roofs would make the floor much higher. Just new opportunities for kids to learn!
- MagicCoder330
-
Scratcher
1000+ posts
Simple Neural Networks
Making the ceiling higher or the walls wider doesn't really make the floor lower. We're adding another story to the room, not putting the entire thing on stilts.Higher floor bad. a higher floor is not good. also like do it yourself manNot for Scratch, too complex for users who are trying to learn the basics of programming, would be better suited for a Turbowarp extension.Wide wall, low floor, high roof.
If this was an extension, then I don’t think wider walls and higher roofs would make the floor much higher. Just new opportunities for kids to learn!
As long as it's an extention I don't see why this would be too complicated
- ideapad-320
-
Scratcher
1000+ posts
Simple Neural Networks
There should be a mode where it uses example inputs and outputs, so backpropagation can be used.
- TheBaton
-
Scratcher
500+ posts
Simple Neural Networks
I see the idea here, but I think it has no place in Scratch. Making a Scratch neural network wouldn't help a majority of its users. If you need a neural network, I suggest you make one yourself through the use of lists and identifiers, it might be easier than you think.
Also, there is more than one type of neural network. Some are for image drawing/scanning, and some are for movement/gameplay, and some are text-based. This would be way too much to add in, and while I think that the Scratch Team could do it, why should they, when this is a completely solvable thing?
I don't support because I feel like it would be easy to implement yourself through backpropagation and basic lists.
Also, there is more than one type of neural network. Some are for image drawing/scanning, and some are for movement/gameplay, and some are text-based. This would be way too much to add in, and while I think that the Scratch Team could do it, why should they, when this is a completely solvable thing?
Making the ceiling higher or the walls wider doesn't really make the floor lower. We're adding another story to the room, not putting the entire thing on stilts.I don't think it would exactly raise the floor, but I do think that you can do it yourself. A dude made one in Minecraft redstone for crying out loud.
As long as it's an extention I don't see why this would be too complicated
I don't support because I feel like it would be easy to implement yourself through backpropagation and basic lists.
- MagicCoder330
-
Scratcher
1000+ posts
Simple Neural Networks
I see the idea here, but I think it has no place in Scratch. Making a Scratch neural network wouldn't help a majority of its users. If you need a neural network, I suggest you make one yourself through the use of lists and identifiers, it might be easier than you think.1. I can guaruntee you that almost nobody in the target age group of scratch knows what “backpropagation” is
Also, there is more than one type of neural network. Some are for image drawing/scanning, and some are for movement/gameplay, and some are text-based. This would be way too much to add in, and while I think that the Scratch Team could do it, why should they, when this is a completely solvable thing?Making the ceiling higher or the walls wider doesn't really make the floor lower. We're adding another story to the room, not putting the entire thing on stilts.I don't think it would exactly raise the floor, but I do think that you can do it yourself. A dude made one in Minecraft redstone for crying out loud.
As long as it's an extention I don't see why this would be too complicated
I don't support because I feel like it would be easy to implement yourself through backpropagation and basic lists.
2. making something absurd with minecraft redstone has no bearing. The guy spent probably months making it.
3. most people in Scratch are trying for simple things. Neural networks are relatively simple as a concept - you tell it inputs, it gives you an output, you say if it did a good or bad job, and maybe give it examples of a good job. Coding one yourself, however, is stupid difficult.
4. the part about the multiple types is valid. I feel like Scratch would only need a general-purpose neural network (receive input, give output, get feedback and examples). Maybe there could be an option to control them differently, like this:
create neural network named () with () complexity and () outputs :: extensionswhere complexity just increases the amount of intermediate nodes.
(output () of network ())
input () @delInput @addInput to network ()
Last edited by MagicCoder330 (April 3, 2025 15:34:32)
- 19mouse2009
-
Scratcher
100+ posts
Simple Neural Networks
there should be an explanation on how to do it correctly if not don't add it.
execuly people who are younger and don't know what that are doing.
execuly people who are younger and don't know what that are doing.
Last edited by 19mouse2009 (April 3, 2025 15:30:11)
- TheBaton
-
Scratcher
500+ posts
Simple Neural Networks
…Uhh. I'm just saying, I'm literally making one right now. Like as we speak, and it's not really difficult at all.
Here are the steps for a standard image scanning model.
- Firstly, make a list called “weights”
- Then, make a block called “add identifier ()”. Then, you'll add in a weight.
- Make a couple training images of different characters, ideas, or objects.
- Scan the image, run the color and location data through weights.
- Repeat the last step until it gets things right most of the time.
While a redstone build doesn't technically hold any “bearing” as you put it, it serves as an example of how we could make it so much better and faster in regular code (or Scratch I guess).
And I just wanted to add that I have nothing against this idea, I just think documentation would be difficult, and I feel like it's to much for one extension. We could make one ourselves, I'm surprised you guys haven't teamed up or something to make it happen!
Last edited by TheBaton (April 3, 2025 15:37:47)
- MagicCoder330
-
Scratcher
1000+ posts
Simple Neural Networks
Again, the concept of one is simple. But I can guaruntee you that almost no 10 year old Scratchers would know how to implement one themselves. It also clutters everything, it needs a slew of variables, a couple lists, and over 300 blocks (from a neural network I found someone made in a project, for image detection) while going through concepts that most Scratcher's wont understand (I needed to google “weights”). If we had a block to do it it would let new Scratchers create them easier and more effectively then you can with Scratch in its current state.…Uhh. I'm just saying, I'm literally making one right now. Like as we speak, and it's not really difficult at all.
Here are the steps for a standard image scanning model.If this helps, and you want to make one, just make it. It's not that hard at all. And if the kids don't know what backpropagation is, then why should it be on Scratch?
- Firstly, make a list called “weights”
- Then, make a block called “add identifier ()”. Then, you'll add in a weight.
- Make a couple training images of different characters, ideas, or objects.
- Scan the image, run the color and location data through weights.
- Repeat the last step until it gets things right most of the time.
While a redstone build doesn't technically hold any “bearing” as you put it, it serves as an example of how we could make it so much better and faster in regular code (or Scratch I guess).
- TheBaton
-
Scratcher
500+ posts
Simple Neural Networks
Again, the concept of one is simple. But I can guaruntee you that almost no 10 year old Scratchers would know how to implement one themselves. It also clutters everything, it needs a slew of variables, a couple lists, and over 300 blocks (from a neural network I found someone made in a project, for image detection) while going through concepts that most Scratcher's wont understand (I needed to google “weights”). If we had a block to do it it would let new Scratchers create them easier and more effectively then you can with Scratch in its current state.More or less, I don't see how it teaches the kids to code when you have the block to do the job of 1000. Neural networks aren't for everyone, you must understand that fact. For example, the 3D Scratch debate. By following a simple 20-minute griffpatch tutorial, you can make a 3d Scratch engine. Why can't this just be left alone? I see no reason why we can't just make a tutorial and call it a day. Using many variables and lists is part of the coding process. Things can get difficult and cluttered at times, but you have to learn to deal with it. Use comments and functions (or custom blocks in Scratch) to organize your code. Neural networks are high level dealings, and they should be treated as such. An extension like this wouldn't help people learn how to use Scratch more effectively, it would only hurt them in the long term because real languages don't inherently support this. (and before you say that that rotation and movement things aren't possible, it literally doesn't compare to high-level neural networks since I can make one with simple CSS left and top attributes and a couple keydown functions.) I like the idea, but you have to be willing to “clutter” your code if you want your project to be better. It falls along the lines of “high risk, high reward.”
- MagicCoder330
-
Scratcher
1000+ posts
Simple Neural Networks
Arguably, the blocksAgain, the concept of one is simple. But I can guaruntee you that almost no 10 year old Scratchers would know how to implement one themselves. It also clutters everything, it needs a slew of variables, a couple lists, and over 300 blocks (from a neural network I found someone made in a project, for image detection) while going through concepts that most Scratcher's wont understand (I needed to google “weights”). If we had a block to do it it would let new Scratchers create them easier and more effectively then you can with Scratch in its current state.More or less, I don't see how it teaches the kids to code when you have the block to do the job of 1000. Neural networks aren't for everyone, you must understand that fact. For example, the 3D Scratch debate. By following a simple 20-minute griffpatch tutorial, you can make a 3d Scratch engine. Why can't this just be left alone? I see no reason why we can't just make a tutorial and call it a day. Using many variables and lists is part of the coding process. Things can get difficult and cluttered at times, but you have to learn to deal with it. Use comments and functions (or custom blocks in Scratch) to organize your code. Neural networks are high level dealings, and they should be treated as such. An extension like this wouldn't help people learn how to use Scratch more effectively, it would only hurt them in the long term because real languages don't inherently support this. (and before you say that that rotation and movement things aren't possible, it literally doesn't compare to high-level neural networks since I can make one with simple CSS left and top attributes and a couple keydown functions.) I like the idea, but you have to be willing to “clutter” your code if you want your project to be better. It falls along the lines of “high risk, high reward.”
move () stepsare a high level dealing. you need complex trigonometry to recreate them despite their rather simple and understandable concepts. I know of custom blocks and comments and find both very useful, but a tutorial isn't the answer. Neural networks are inherently difficult to understand and use properly (I have watched tutorials. they did not help.), despite the simple concept (I could easily explain what a neural network does, not how it works though). Its blocks with a simple concept but complex implementation that are good to add
if on edge, bounce
Last edited by MagicCoder330 (April 3, 2025 16:33:58)
- TheBaton
-
Scratcher
500+ posts
Simple Neural Networks
…I think we can both agree that we like the idea that's being suggested, but personally, it seems counterintuitive to add it in since it should just be high-level topic for high-level Scratchers. So, I see why you want it, but it's just not really something I think should be built in. Why don't we just have 3d built in? I just think it would be better as a framework. I could finish mine, and I could link it here if you'd like.













