• 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 29th, 2023

help-circle





  • It’s definitely a qualitative shift. I suspect most of the fundamental maths of neural network matrices won’t need to change, because they are enough to emulate the lower level functions of our brains. We have dedicated parts of our brain for image recognition, face recognition, language interpretation, and so on, very analogous to the way individual NNs do those same functions. We got this far with biomimicry, and it’s fascinating to me that biomimicry on the micro level is naturally turning into biomimicry on a larger scale. It seems reasonable to believe that process will continue.

    Perhaps some subtle tuning of those matrices is needed to really replicate a mind, but I suspect the actual leap will require first of all a massive increase in raw computation, as well as some new insight into how to arrange all of those subsystems within a larger structure.

    What I find interesting is the question of whether AI can actually fully replace a person in a job without crossing that threshold and becoming AGI, and I genuinely don’t think it can. Sure it’ll be able to automate some very limited tasks, but without the capacity to understand meaning it can’t ever do real problem solving. I think past that point it has to be considered a person with all of the ethical implications that has, and I think tech bros intentionally avoid acknowledging that, because that would scare investors.


  • You’re describing an arms race, which makes me wonder if that’s part of the path to AGI. Ultimately the only way to truly detect a fake is to compare it to reality, and the only way to train a model to understand whether it is looking at reality or a generated image is to teach it to understand context and meaning, and that’s basically the ballgame at that point. That’s a qualitative shift, and in that scenario we get there with opposing groups each pursuing their own ends, not with a single group intentionally making AGI.



  • It is honestly impossible to imagine copy-pasting code and getting it to work without knowing what you’re doing.

    I had an acquaintance at uni who got a job at a software company by taking credit for a friend’s work and basically being the hack & fraud that the person in this post thinks they are - although I didn’t realise this at the time. He asked me to help him write some code that was needed for a presentation the next day. I decided to try to help, and I took a look.

    It was a bug that required a little epsilon value to be tolerant of small changes in input in order to not constantly fire. I wrote that tiny bit of code and gave it back to him. Then he told me it wasn’t working and could I look at it again. I did, and there were two epsilon values with different names in it. I asked him about that and he said he had gotten help from another friend.

    He had literally attempted to merge our two functions that did the same thing into one grotesque chimeric piece of code that would only have worked if he had accidentally made one or the other of our snippets inoperative. This was like a 20 line function. It was basic, easy shit. The guy didn’t know anything.

    I didn’t explain this. I told him I couldn’t keep troubleshooting this for him and left him to it. To my understanding he was fired and cost that company a lot of money. But really if they couldn’t figure out that the programmer they hired couldn’t actually program then it’s really hard to feel that sorry for them. It seemed like everyone was flying by the seat of their pants.





  • The for loop doesn’t return, it’s just that when control flows to the end of the function, returning is the standard behaviour. It has nothing left to do, so control is returned to the calling code.

    The recursive portion is begun with draw(n - 1), but then you have a new for loop, because the same function has been called again. That’s what recursion is. Nothing in this function is non-recursive. It calls itself, so all of the code it contains could be happening from the initial call, or within a recursive call. When draw(3) is called, you will get 3 for loops. You will actually get 4 draw calls, but the last one will be draw(0) which returns immediately.

    It’s confusing slightly because it works in reverse to what you’d expect. The operational part of the code - the part that does the drawing - only completes after the recursion is finished. That’s why it does draw(1) first, to make the pyramid right way up.

    I don’t know that I’ve ever done recursion like this. It seems deliberately fancy and somewhat confusing for a new learner.

    Imagine if you put the for loop before the recursive call. What would happen? You would draw three first, then decrease, so you would have an inverted pyramid. That would be easier to understand, but it would also not make a pyramid.


  • A blanket rule against certain keywords sounds pretty silly to me. Break and continue are useful tools in the right situation. Sounds like it’s her preference that she’s decided to impose on the rest of you.

    You could ask her what she expects as an alternative. You could show her code that uses it and ask how she expects you to rewrite it to satisfy her standards. Ask nicely because unfortunately just being right isn’t enough for some teachers, they have to like you too.

    If she has a good answer, then do it that way as long as you’re in her class. If not well… sorry that’s just a terrible teacher.