/robowaifu/ - DIY Robot Wives

Advancing robotics to a point where anime catgrill meidos in tiny miniskirts are a reality.

Reports of my death have been greatly overestimiste.

Still trying to get done with some IRL work, but should be able to update some stuff soon.


Max message length: 6144

Drag files to upload or
click here to select them

Maximum 5 files / Maximum size: 20.00 MB


(used to delete files and postings)

ROBOWAIFU U Robowaifu Technician 09/15/2019 (Sun) 05:52:02 No.235
In this thread post links to books, videos, MOOCs, tutorials, forums, and general learning resources about creating robots (particularly humanoid robots), writing AI or other robotics related software, design or art software, electronics, makerspace training stuff or just about anything that's specifically an educational resource and also useful for anons learning how to build their own robowaifus. >tl;dr ITT we mek /robowaifu/ school.
Edited last time by Chobitsu on 05/11/2020 (Mon) 21:31:04.
>>2970 Thanks Anon! Would you mind curating a small on-topic selection from the list here as well? I think it would make a nice addition here tbh.
>>2972 >It also has a chapter on mutual information and a section on Kullback-Leibler divergence that's commonly used for variational autoencoders. Excellent. I will be checking it out then. Your descriptions of the efficiencies being achieved via MIM have sparked a keen interest in the topics for me atm.
by Peter Van Weert and Marc Gregoire. Concise, with a solid focus on the modern C++17 standard library. You won't find any C-style C++ here. 308pp. BTW, the link in the book to the publisher is still for the previous version. Here's the correct code files location. https://github.com/Apress/cpp17-standard-library-quick-ref
Edited last time by Chobitsu on 05/11/2020 (Mon) 22:32:16.
>>2973 https://pastebin.com/ENeAEKfZ Okay, I made it. I don't know 99% of this stuff myself, I just picked out what seemed useful and relevant. I hope there's no typos.
>>3004 Sorry, I can't get to cuckbin via tor. Privatebin?
>>3007 thank you very kindly Anon. much appreciated. :^)
Open file (49.22 KB 900x628 CAM_man.jpg)
>>3007 yea this is a really interesting list, i'll have a good time digging through this. >FUN FACT: Carver Mead, the pioneer of modern VLSI and many other breakthroughs, is also generally recognized as the Father of Neuromorphic Computing.
I'm compiling a thread at the moment of significant advancements in AI and found a recent article demonstrating why it's so important to keep up to date with progress: >We’re releasing an analysis showing that since 2012 the amount of compute needed to train a neural net to the same performance on ImageNet classification has been decreasing by a factor of 2 every 16 months. Compared to 2012, it now takes 44 times less compute to train a neural network to the level of AlexNet (by contrast, Moore’s Law would yield an 11x cost improvement over this period). Our results suggest that for AI tasks with high levels of recent investment, algorithmic progress has yielded more gains than classical hardware efficiency. https://openai.com/blog/ai-and-efficiency/ Think about that. By 2028 we will have algorithms 4000x more efficient than AlexNet, so it's not so important what you learn but how quickly you can learn and do so continuously. The incomprehensible learning methods taught to us in public school created by the globalists are not going to help us any in this exponential growth. If you ever feel bored, frustrated or lost with learning you're either following their learning process or brainwashed by it somehow. You instinctively know it's not what you want to be doing. Follow that intuition and find what you truly wanna learn more than you wanna sleep or eat. They intentionally designed education in such a way to confuse us for the purpose of creating specialized workers who are only able to follow instructions within their own field and cannot think for themselves, lest they question the authority of those taught in special private schools who give them the orders and designs. They do not want people who are capable of working by themselves, especially not together outside their control. This article explains how to approach learning and formulate knowledge into flashcards for accelerated learning: https://www.supermemo.com/en/archives1990-2015/articles/20rules It's a bit long but it's worth every word to read for the amount of time it'll save you and enhance your life. There have been dozens of people who have learned 2000+ kanji and Japanese to a conversational level in two months with sentence flashcards. This shit is powerful. I recommend using Anki for creating flashcards. It automatically spaces the cards for optimal learning and eventually you only see them every few months once you remember them. It's like doing power training for your memory and it will save you a lot of time studying and from restudying topics you need to know that you've forgotten from not touching in such a long time. Anki: https://apps.ankiweb.net/ sudo apt install anki
>>3031 >I'm compiling a thread at the moment of significant advancements in AI Looking forward to this tbh.
>>3031 >Think about that. By 2028 we will have algorithms 4000x more efficient than AlexNet I'm assuming that prediction pre-assumes that there will be a consistent rate of advancement in algorithm designs over that same period? Not to be a skeptic, but there was at least a physical basis behind Moore's Law. Does any such standard serve here behind this prediction? Insightful leaps are more like the proverbial bolt out of the blue aren't they, typically-speaking Anon? Regardless, it's quite exciting to see the progress happening. Seeing an objective classification of the progress certainly enhances that. Onward! :^)
>>3054 Yeah, algorithms will hit an entropy limit eventually. Entropy is the basis. I'm not a mathematician that can come up with a proof for the theoretical maximum efficiency to determine when this will be but from my experience working with AI and the depth of my reading, which isn't even that deep compared to the massive volume of papers being published every day, the trend can easily continue for another 8 years. If you look at how rapidly accuracy is improving on natural language processing while decreasing the amount of parameters needed by nearly 2 orders of magnitude (arXiv:2003.02645), it's quite incredible the rate of progress that's being made and these techniques haven't even been tried on other domains yet that will bring new insights and improvements. There's so much great research that isn't being utilized yet like Kanerva machines (arXiv:1804.01756), sparse transformers (arXiv:1904.10509), mutual information machines (arXiv:1910.03175), generative teaching networks (arXiv:1912.07768), large scale memory with product keys (arXiv:2002.02385), neuromodulated machine learning (arXiv:2002.09571), neuromodulated plasticity (arXiv:2002.10585) and exploration (arXiv:2004.12919). Neural networks are extremely inefficient and in some cases their sparsity can be as low as 0.5% without losing any accuracy, which means 99.5% of the calculations are being wasted. On top of that backpropagation is extremely slow, requiring to see the entire training set at least 10 times, while Hebbian learning and Bayesian update rules have shown the capacity to learn training examples in one-shot and generalize to unseen training data. In the case of generative teaching networks, the learner networks don't even need to see the actual training data at all and actually outperform networks trained on the real training data. So we have a long way to go yet to make machine learning more optimal.
>>3057 >and these techniques haven't even been tried on other domains yet that will bring new insights and improvements. Yes. Coding designs contained inside DNA (there are at least six different levels of coding that have been identified thus far) are surely an area that should also benefit greatly from these advances, I'd expect. It wouldn't surprise me if in decades to come the payback into AI will be even larger in the 'other direction'. >Neural networks are extremely inefficient and in some cases their sparsity can be as low as 0.5% without losing any accuracy, which means 99.5% of the calculations are being wasted. Wow, that quite a surprising statistic, actually. >In the case of generative teaching networks, the learner networks don't even need to see the actual training data at all and actually outperform networks trained on the real training data. Yea I kind of got that from the recent paper about the retro-game AI playing doom iirc. Which is pretty remarkable, actually. >So we have a long way to go yet to make machine learning more optimal. Haha, OK you've convinced me. >Soon you will have a 'living' doll in your room who can outperform every living player on your favorite vidya. And she can also cook, clean, act, sing, and dance. even those kinds of things... What a time to be alive! :^)
Open file (19.79 KB 474x265 donald_knuth.jpeg)
Open file (28.79 KB 500x431 big0321751043.jpg)
>ctrl+f "Knuth" >no results This simply will not do, /robowaifu/! https://www-cs-faculty.stanford.edu/~knuth/musings.html
>>3049 Not sure the best way to distill this into a thread but I've finished collecting 100+ research papers: https://gitlab.com/kokubunji/research-sandbox There's a few dozen more I'd like to add but I'm getting burnt out reading through my collection. I've covered most of the important stuff for AI relevant to robowaifus.
>>3177 Thanks, brother for all the hard work. Just cloned it. Get some rest.
>>3177 This list is.amazing. I don't even how you did this Anon.
>>3177 Very fitting jpg. Amazing work anon, this will serve a great help.
Since we may have newfriends who don't know about it yet, there is a video-downloading tool called youtube-dl https://ytdl-org.github.io/youtube-dl/index.html You should always be keeping local copies of anything important to you. In can be removed w/o a single notice, as you should be well aware of by now. Youtube-dl is very important in this regard and is pretty easy to use from the terminal. youtube-dl https://www.youtube.com/watch?v=pHNAwiUbOrc with download the best-quality copy of this hobbyist robot arm homemade video locally to your drive.
>>3177 any thoughts how you plan to make a thread out of this yet Anon? i face a similar more complex challenge making the RDD thread.
>>3220 Not yet. Busy taking my bank account out of the red. I'm probably gonna split it up into different topics and annotate the most important papers with prerequisites so people can figure them out without reading a thousand papers.
>>3221 >I'm probably gonna split it up into different topics and annotate the most important papers with prerequisites so people can figure them out without reading a thousand papers. Sounds like a good idea. Look forward to it.
>>3219 Thanks Anon, looks interesting.
Here's some kind of glossary for AI, Machine Learning, ... https://deepai.org/definitions
>>4616 That looks really helpful Anon, thank you.
Open file (168.73 KB 830x971 ClipboardImage.png)
Very approachable book explaining the internal workings of computers. Awful title, good read.
Here is a learning plan for getting into Deep Learning, which got some appreciation on Reddit: https://github.com/Emmanuel1118/Learn-ML-Basics - It also includes infos about which math basics are needed first. However, I also want to point out that DL seems not to be the best option in every case. Other ML approaches like Boosting might be better for our use cases: https://youtu.be/MIPkK5ZAsms
Open file (229.05 KB 500x572 LeonardoDrawing.jpg)
'''Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs''' According to Alexander Stepanov (in the forward to The Boost Graph Library, 2001) This man John Backus and this Turing Award lecture paper were inspirational to the design of the STL for C++. The STL underpins the current state of the art in generic programming that must be both highly expressive+composable, but must also perform very fast as well. Therefore, indirectly so does John Backus’s FP system and for that we can be grateful.
Open file (24.66 KB 192x358 Backus.jpg)
>>5191 Backus also invented FORTRAN (back when that was a first of it's kind for programming portability), and is one of the smartest men ever in the entire history of computing. https://ethw.org/John_Backus
>>5173 Started watching this, its pretty good.
Open file (650.07 KB 1030x720 thetimehathcome.mp4)
Anyone know some good tutorials for getting started in Godot with 3D? I just wanna have materials and animations load correctly and load a map with some basic collision checking to run around inside.
Open file (70.70 KB 895x331 b2_its_time.png)
>>5379 I haven't looked into Godot yet myself, but I'd like to at some point. Please let us know if you locate something good Anon. >that vid leld.
Open file (1.98 MB 1280x720 how2b.mp4)
>>5380 It's painful but if I find anything good I'll post it here. Blender videos are 'how to do X in 2 minutes', but Godot videos are 30 minutes of mechanical keyboard ASMR and explaining you should watch the previous video to understand everything while they're high on helium. There seems to be errors with importing animations of FBX models in 3.2.2 but GLTF works mostly okay. I don't think it's too much of an issue because the mesh of this model has been absolutely destroyed by my naive tinkering and lazy weight painting. FBX corrupted my project somehow but when I start fresh with GLTF all the textures load and everything works great. I accidentally merged by distance all the vertices and destroyed her face but if anyone wants to play around with the 2B model I used, here you go: https://files.catbox.moe/1wamgg.glb Taken from a model I couldn't get to import into Blender correctly: https://sketchfab.com/3d-models/nierautomata-2b-cec89dce88cf4b3082c73c07ab5613e7 I'll fix it up another time or maybe find another model that's ready for animation.
Open file (24.65 KB 944x333 godot3_logo.png)
Found a great site for Godot tutorials and a channel that goes along with it. Text: https://kidscancode.org/godot_recipes/g101/ Videos: https://www.youtube.com/c/KidscancodeOrg/playlists
Understanding Variational Autoencoders (VAEs) >Introduction >In the last few years, deep learning based generative models have gained more and more interest due to (and implying) some amazing improvements in the field. Relying on huge amount of data, well-designed networks architectures and smart training techniques, deep generative models have shown an incredible ability to produce highly realistic pieces of content of various kind, such as images, texts and sounds. Among these deep generative models, two major families stand out and deserve a special attention: Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs). https://towardsdatascience.com/understanding-variational-autoencoders-vaes-f70510919f73?gi=8b456161e353
Tutorial on Variational Autoencoders >In just three years, Variational Autoencoders (VAEs) have emerged as one of the most popular approaches to unsupervised learning of complicated distributions. VAEs are appealing because they are built on top of standard function approximators (neural networks), and can be trained with stochastic gradient descent. VAEs have already shown promise in generating many kinds of complicated data, including handwritten digits, faces, house numbers, CIFAR images, physical models of scenes, segmentation, and predicting the future from static images. This tutorial introduces the intuitions behind VAEs, explains the mathematics behind them, and describes some empirical behavior. No prior knowledge of variational Bayesian methods is assumed.
Open file (387.54 KB 1999x1151 transformer.png)
Great video on programming transformers from scratch in PyTorch: https://www.youtube.com/watch?v=U0s0f995w14 You'll need to know a bit how they work first: https://www.youtube.com/watch?v=TQQlZhbC5ps And another video if you want to understand the details of the design: https://www.youtube.com/watch?v=rBCqOTEfxvg And if you want a full lecture explaining how information flows through the network: https://www.youtube.com/watch?v=OyFJWRnt_AY Original paper for reference: https://arxiv.org/abs/1706.03762 If you're new to machine learning it might seem impossible to learn because there's a lot of pieces to grasp but each one is relatively simple. If you study and figure out one new piece a day, eventually you'll understand how the whole thing works and have a good foundation for learning other architectures.
>related crosspost >>9065
Open file (239.89 KB 572x870 ROS for Beginners.png)
A very detailed book that explains - 1.) How to install Ubuntu Linux 2.) How to install the Robot Operating System on Ubuntu. 3.) How to begin programming your robot using C++ Ideal for us here since I know a lot of people use Raspbian or at least some Linux distro to operate their robots, and I think the two are very similar. (Although if you have Windows 10 you can also install ROS on that, too).
>>9081 Thanks! Sounds like a very useful book. I tried to install ROS before once, but I ran into numerous dependency challenges. But this was a few years ago (maybe 3?) and maybe it's easier now. Also, this book sounds like it makes the process straightforward as well. I look forward to digging into it.
Open file (341.64 KB 894x631 EM.png)
Expectation maximization is an iterative method to find maximum likelihood estimates of parameters in statistical models, where the model depends on unobserved latent variables. https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm How EM is useful solving mixture models: https://www.youtube.com/watch?v=REypj2sy_5U How it works: https://www.youtube.com/watch?v=iQoXFmbXRJA Longer lecture on EM algorithms for machine learning: https://www.youtube.com/watch?v=rVfZHWTwXSA EM was applied to hindsight experience replay (which improves expectations of future states from past failures) to greatly improve the learning efficiency and performance, particularly in high-dimensional spaces: https://arxiv.org/abs/2006.07549 Hindsight Experience Replay: https://arxiv.org/abs/1707.01495
I haven't come across a good article or post on pre-training neural networks but I think it's a really important subject for anyone doing machine learning. Recently when trying to convert the T5 model into an autoencoder I made the mistake of forgetting to pre-train it on autoencoding before converting the hidden state into a variational autoencoder. Because of this both the decoder was unable to decode anything useful and it was getting random input from the untrained VAE, making it extraordinarily difficult to train. After fixing this I also locked the parameters of the T5 encoder and decoder to further improve training efficiency by training the VAE specifically on producing the same hidden state output as its hidden state input so the decoder doesn't become skewed learning how to undo the VAEs inaccuracy. Once the VAE reaches a reasonable accuracy then I will optimize the whole model in tandem while retaining the VAEs consistency loss. Pre-training is also really important for reinforcement learning. I can't remember the name of the paper right now but there was an experiment that had an agent navigate a maze and collect items, but finding a reward from a randomly initialized network is nearly impossible, so before throwing the agent into the main task they taught it with auxiliary tasks such as how to smoothly control looking around the screen and how to predict how the scene changes as it moves around. A similar paper to this was MERLIN (Memory, RL, and Inference Network) which was taught how to recognize objects, memorize them and control looking around before being thrown into the maze to search for different objects: https://arxiv.org/abs/1803.10760 For learning to happen efficiently a network has to learn tasks in a structured and comprehensive way, otherwise it's like trying to learn calculus before knowing how to multiply or add. The problem has to be broken down into smaller simpler problems that the network can learn to solve individually before tackling a more complicated problem. Not only do they have to broken down but they need to be structured in a hierarchy, so the final task can be solved with as few skills as possible. The issue of pre-training, transfer learning and how to do it properly will become more important as machine learning tackles more and more complicated tasks. The subject itself could deserve its own thread one day, but for now just being aware of this will make your experiments a lot easier.
Open file (96.49 KB 356x305 roboticist4.jpg)
Open file (104.97 KB 716x199 roboticist1.jpg)
Open file (359.55 KB 500x601 roboticist9_0.jpg)
>Mark Tilden on “What is the best way to get a robotics education today?” https://robohub.org/mark-tilden-on-what-is-the-best-way-to-get-a-robotics-education-today/
Synthesis of asynchronous circuits >Abstract >The majority of integrated circuits today are synchronous: every part of the chip times its operation with reference to a single global clock. As circuits become larger and faster, it becomes progressively more difficult to coordinate all actions of the chip to the clock. Asynchronous circuits do not suffer from this problem, because they do not require global synchronization; they also offer other benefits, such as modularity, lower power and automatic adaptation to physical conditions. >The main disadvantage of asynchronous circuits is that techniques for their design are less well understood than for synchronous circuits, and there are few tools to help with the design process. This dissertation proposes an approach to the design of asynchronous modules, and a new synthesis tool which combines a number of novel ideas with existing methods for finite state machine synthesis. Connections between modules are assumed to have unbounded finite delays on all wires, but fundamental mode is used inside modules, rather than the pessimistic speed-independent or quasi-delay-insensitive models. Accurate technology-specific verification is performed to check that circuits work correctly. >Circuits are described using a language based upon the Signal Transition Graph, which is a well-known method for specifying asynchronous circuits. Concurrency reduction techniques are used to produce a large number of circuits that conform to a given specification. Circuits are verified using a bi-bounded simulation algorithm, and then performance estimations are obtained by a gate-level simulator utilising a new estimation of waveform slopes. Circuits can be ranked in terms of high speed, low power dissipation or small size, and then the best circuit for a particular task chosen. >Results are presented that show significant improvements over most circuits produced by other synthesis tools. Some circuits are twice as fast and dissipate half the power of equivalent speed-independent circuits. Examples of the specification language are provided which show that it is easier to use than current specification approaches. The price that must be paid for the improved performance is decreased reliability, technology dependence of the circuits produced, and increased runtime compared to other tools.

Report/Delete/Moderation Forms

Captcha (required for reports)

no cookies?