If you didn't know OpenAI has the ability that you can provide your data and they fine


[ML News] Uber: Deep Learning for ETA | MuZero Video Compression  | Block-NeRF | EfficientNet-X

tune a GPT-3 model for you.


Now this is pretty cool in itself because you get your own little custom endpoint that


you can call has been trained on your data.


But now you can sync those training runs to your Weights and Biases account.


All you need to do for this to happen is to simply call the sync command on the command


line and all your training runs will be synced to Weights and Biases.


They have a little demo collab where they demonstrate that you can actually use the


artifacts and tables features from Weights and Biases essentially anything that you know


you can construct your data sets, you can have them as artifacts, you can look at them


in the tables, then you can ship them to OpenAI to do a fine tuning run.


And then you can analyze that fine tuning run and the outputs of it.


Again in Weights and Biases, they even have a little demo report where they do something


like this, they upload a Wikipedia data set, they analyze it first using tables, then they


analyze the loss from the fine tuning results, they do a little bit of a hyper parameter


search and you can analyze those in these nice parallel coordinate plots fully interactively.


And in the end, they use this custom fine tuned model in order to make predictions.


And again, they analyze predictions using tables.


So if you want to get started with big text models, and especially using API such as OpenAI,


it has never been easier than now check out Weights and Biases, they have all kinds of


tools for machine learning researchers, practitioners, educators, students, and much more individual


use is free forever.


And they have great team plans.


And they even do on prem hosting for enterprise.


With that being said, thanks again to Weights and Biases for sponsoring this video, please


check them out.


And let's get into it.


Uber engineering blog has a new post up about how Uber switched from Xg boost to deep learning


to predict arrival times.


Uber itself is a massive business.


It's not only ride sharing its packages, its food, and all of these things have in common


that at some point, there needs to be made a prediction of how long something is going


to take until it arrives, either the food, the people, the packages, you name it.


So they used to have this big Xg boost model that predicted when stuff would arrive.


And in the blog post, they detail that that just didn't scale anymore.


They had more and more data they needed to incorporate, they wanted to get more accuracy,


more diverse business cases, more locations.


So they switched to deep learning.


Now what's pretty interesting right here is that the goal isn't necessarily to predict


the arrival time.


However, they have a traffic routing system already, which is essentially something like


Google Maps, you type in where you want to go and where you are.


And the routing system analyzes the individual pieces, maybe a little bit of traffic on them,


and then predicts for each of the individual pieces, how long it's going to take, you add


all of that up, you get some sort of an estimate.


Now the problem is real life is more complicated than you can just estimate from a map and


a bit of traffic data.


So what the machine learning model is, is it takes a whole bunch of features, discrete


features, continuous features, which interestingly, they quantize first before feeding them to


the model, they feed that into a transformer model.


And from that they predict a residual.


So whatever they need to correct from the routing output, so they don't predict directly


how long something's going to take, they simply predict how much it's going to deviate from


the routing systems predictions, the system itself seems fairly involved, they don't just


shove all the features into the beginning.


They also have some features that come in later into the system.


But I think the general principle of taking something like a base heuristic, like the


routing system, and then simply predicting the residual might be a more general thing


that I don't see used often enough.


Now maybe I just don't know, and it's used all over.


But I do think that we could layer our approaches much more than we are doing right now.


Because whenever people switch from something classic to something deep learning, they tried


to just sort of do all end to end.


And maybe the approach of doing more of like a hierarchical prediction where every layer


just predicts the residual from the last layer might actually be better.


The blog post goes into detail how carefully you have to be with respect to some of the


features.


For example, location is very special feature, obviously, if you do routing, because you


can't just encode the coordinates because the model needs to somehow know something


about the 2d structure.


Also there's a location hashing algorithm where you can trade off accuracy versus storage.


There are also various considerations with respect to the loss where they use the asymmetric


hubris loss arguing for example, that being one minute too late is much worse than being


one minute too early.


So this lets the engineers tune the system in concordance with business decisions.


They also describe how they train this thing and then finally deploy it.


What's impressive is that the predictions come back in the order of milliseconds, which


is pretty cool.


Yeah, it seems like a big jump in performance for the Uber estimated arrival times.


If you want to learn more, please check out the blog post and the Uber engineering blog.


DeepMind has released a blog post called MuZero's first step from research into the real world.


MuZero is an iteration on the AlphaZero algorithm.


The difference being AlphaZero still required an internal simulator.


Therefore it only worked for systems where such a simulator was available.


For example, games like chess and go.


In these games, you can do a step and you know exactly how the board's going to look


like and you can reverse the step again.


You say, oh no, I actually don't want to do that.


I want to do something else.


You can use that for planning into the future.


You can start multiple times, explore different paths and so on.


There are however environments where this is not possible.


For example, pretty much anywhere else in life.


MuZero overcomes this by building a latent model in which it can plan forward.


So there's no explicit simulator required.


So MuZero is more general than AlphaZero and has matched or surpassed AlphaZero in many


domains yet it's still sort of lack the real world application.


Because even for MuZero you need giant amounts of data to train this thing on.


Now it does make sense that video compression is a really good application for something


like MuZero.


So what you do in video compression is you look at a video frame by frame, and you try


to transmit that sequence of frames over the network.


Therefore it should be as small as possible, yet still retain a lot of its quality.


In order to do that, usually codecs are used, not codecs with an X codecs with CS at the


end.


It's a piece of software that describes how to take video frames or sequences of video


frames and represent them as compressed data stream.


Now this is not a static function.


In fact, how much a series of frames is compressed is controlled by this thing called the quantization


parameter.


The idea is if you have a slow scene, very static, like a green background or just a


face talking, you can compress large parts of the images and you can compress them for


a long time because they'll just be the same a minute from now.


So you can crank up that quantization parameter without losing too much quality.


However, if a scene is fast moving, if there's lots of stuff happening on screen, you cannot


compress the image as much because over time things change and therefore there's more information


on the screen, even though you might think this is not useful information, it is image


information and therefore you cannot compress the image as much.


Now current codecs use heuristics, engineered heuristics to determine when I can crank up


or down that quantization parameter.


And that is kind of an ideal setting for something like mu zero, you feed it a bunch of videos,


you say, here's a target quality that I want to reach, and you let mu zero decide on the


quantization parameter essentially for each frame.


This is a sequential decision making process, you need a bit of outlook into the future


to see what's happening later.


How much can I compress now?


What should I do?


So it's very much in the framework of these reinforcement learning problems.


Now I have looked at these videos and so this is kind of the original video.


Okay.


And cool.


All right.


Now let's look at the mu zero compressed video.


Like I can't, I cannot see a difference.


So the bit rate, the bit rate savings is the idea that I can't see.


Ah, I get it.


Okay, maybe it's the idea that I can't see a difference.


And they tell me that mu zero uses 4.7% less bits to encode that video sequence.


4.7% might not seem like a lot, but given that apparently most internet traffic nowadays


is video streaming, this is a giant saving.


Now I still don't exactly know how much overhead there is running mu zero at inference time


to do the compression.


But fair to say that savings like this make a real difference on our already overloaded


internet infrastructure.


If you want to learn more, check out the DeepMind blog post.


There's also a paper going along with that called mu zero with self competition for rate


control in VP9 video compression that goes more into the details of how they train the


system.


It uses a concept called self competition, which is kind of akin to self play.


And it's a lot more technical than the blog post.


Google AI blog has a new entry called guiding frozen language models with learned soft prompts.


Also here there's a paper going along with that called the power of scale for parameter


efficient prompt tuning.


This prompt tuning is an interesting concept of a novel way in NLP in recent years, we've


had two basic Modi operandus modus operandi, whatever the first one was kind of like the


BERT mode, where you take a pre trained model like BERT, and you fine tune the model on


your data, meaning you provided input output pairs, and you fine tuned either the whole


model, adapter layers, or just the head or something like this.


And then on the very other end of the spectrum is something like GPT three, that is pre trained


and will just remain fixed for the duration of its lifetime.


And what you can do is you can prompt it, which means that you have to come up with


clever things that you can put in front of your question to make GPT three output the


correct thing, which is usually called in context learning this paper, they're not the


first ones doing it as far as I'm aware, but it is an interesting concept.


And it's taken a bit to the next level here is that why are we coming up ourselves with


that stuff to input?


Can't we teach a model to automatically come up with that stuff?


So if we have a data set that might actually work.


So what they do is they make the prompt input of the model into tunable parameters.


So this is trained on data.


So you need to have data in order to train this, but you'll keep the model completely


frozen and you'll only tune what they call the soft prompt.


So you don't necessarily determine the tokens to input into the language model, but you


do tune the input vectors.


So the embeddings of the tokens if this were the prompt that is obviously gets a bit less


interpretable and so on, but it is a cool concept.


And I do believe that it is very parameter efficient way to steer these large language


models.


So in this particular paper, the specific tasks they tackle is sort of a multi task


training regime where for each task they tune one of these prompts, but I believe this can


this can go further.


These prompts are you can see right here, it's a 20,000 parameters for a prompt, then


that can steer a model of 11 billion that is a factor of like six zeros or something


like this.


And I think that's really cool because it gives us a handle on these big models.


And I'm excited to see what we can do if we push this to the limits.


Walk nerf is a new paper coming out of UC Berkeley Waymo and Google research, and it


pushes nerf to the next level.


What it does is it essentially takes an entire city block with Waymo cars going around photographing


stuff and then it constructs many different individual nerfs.


A nerf is a neural radiance field I have made a video somewhere about that if you're interested.


Essentially it is a 3d representation that you can render from any angle and it will


faithfully represent things like you know, when stuff looks different if you view it


from here or from here.


It's not perfect, but is really really good.


And the point is no one needs to sit down and make the 3d models you simply provided


a bunch of pictures and it figures out itself how the stuff looks in 3d.


Now this used to work in a limited setting with like one object in the middle or one


scene but this paper right here takes an entire city block and figures out how to combine


different nerfs like different scenes together and stitch them together.


We have a website that goes along with this with various videos where they showcase the


power of this.


So notice they're not even limited to the path that the cars originally drove on they


can just render from completely new points of view.


This is really cool and the scale of this is unprecedented.


If you want to check this out visit their websites they have many videos available and


yeah give it a try.


And another post from the Google AI blog called unlocking the full potential of data center


ML accelerators with platform aware neural architecture search.


That is quite a long title but what it describes is a paper that's called searching for fast


model families on data center accelerators that extends neural architecture search to


also consider the underlying hardware.


Really neural architecture search is where I have some sort of an engine like an evolutionary


algorithm or something like this slapped together a bunch of modules and parameterize them and


then I care which of them gives me the best and accuracy or something like this.


In this particular case right here they also worry about which models perform best on the


underlying hardware.


So you might know that things like TPUs and GPUs they're good at some things and bad at


other things and their general layout of how they do computation how they do memory access


is very specialized to certain things.


If you can make use of those things if you can design models that inherently do very


very optimized memory access and so on you can potentially speed up models by a lot while


not sacrificing performance.


All you do is you build a model that is better able to utilize the underlying hardware.


So the final result of this paper is a model family called EfficientNet X. EfficientNet


X largely matches EfficientNet which is sort of a classic computer vision model.


It largely matches that in terms of accuracy, yet it is much faster because it uses the


underlying hardware a lot better.


What the paper also does is it decouples the measure of flops floating point operations


from actual performance.


So people used to estimate how intensive let's say a model is by counting the number of flops


that a forward pass would utilize.


If a forward pass would utilize more flops then the common assumption was well that sort


of uses more compute and probably will take longer.


But EfficientNet X requires double the amount of flops than EfficientNet does and therefore


people would say that it should take longer.


However it is two times faster on the appropriate hardware for which it was designed.


This is an error rate of 400% if you actually consider flops as a measure of performance


which is crazy.


So I think if anything this paper shows that we need to rethink how we think about performance


and that maybe just flops is not necessarily a good measure of how we estimate model compute


utilization.


This is a blog post from the flower team flower means I need to look this up flowing epigenetic


robots and systems.


This is a research group that investigates things like cell leader automata artificial


life self organizing systems self maintenance and much more.


This is a very lengthy blog post that goes into detail in some of these areas into a


system called Lenya and into various connections with neuroscience with self organizing systems


with biology and so on.


They even have some interactive demos.


So as you can see right here there are these life forms.


Now you can spawn more of these life forms and to be said these life forms they are not


somehow controlled top down.


They're self organizing self perpetuating even avoiding obstacles they do themselves.


Now I can in fact draw a bit more of an obstacle right here.


You can see the evasion still works.


It's pretty interesting to see what happens if you just put multiple of them.


They do have collisions with each other.


You can generate attractors to which they are going to be try to reach it.


Come here.


So if you feel tired of supervised learning of having centralized parameters of having


a single model that does things and has overview and has top down control and if you feel like


you want something different something more emerging then give this blog post a read.


As I said it's a long blog post.


It goes into detail into various systems starting from very simple systems and then going up


into various experiments various research papers on the topic.


As I said explains the system called Lenya and much more.


But yeah can only recommend if you want something out of the box.


There's this tool called know your data by the TensorFlow datasets team and it is a very


very good TensorFlow datasets analyzer.


For example here the pre configured query is please give me images in the image net


data set that have in their metadata a latitude above 72.09.


Now as you can see a lot of pictures are in fact from sort of let's say colder regions


of the earth.


Now it's not always going to be right but this is a very valuable tool if you want to


debug your data sets it integrates with a lot of stuff I already mentioned metadata


but it also integrates for example with a cloud vision.


So it will give you statistics of what cloud vision detects in these various images.


You can also use that as filter for example now I would only like to get pictures that


have a probability of containing a face above a certain amount while also being very high


in their latitude.


Now apparently there exists no such pictures.


So let me clear one of the filters and as you can see there are some pictures where


there might be faces.


Now image net obviously doesn't have many faces as such.


You can see this picture that does contain faces contains contains them from some sort


of a print article.


This tool can be used for many different things.


You can analyze stats you can analyze relations between things you can inspect the data and


especially if you have your own data sets this can help you discover problems with the


data discover biases, systematic distortions and so on.


There's a bit of an explanation page to go with it you can see you can filter a group


and much more.


However, your data sets do have to be supported by the TensorFlow datasets API.


Alright some helpful things for this week just helpful things not even libraries just


things.


I guess the last one was already a helpful thing.


Casual Gan papers on Twitter says OpenAI stealth released model weights for the largest clip


models.


So apparently their repo now says they've released the largest clip model weights.


If you're into clip go get them.


On neural differential equations is on archive but it's not just the paper it's an entire


PhD thesis by Patrick Kidger and it serves as a little bit of a textbook on neural differential


equations so if you're into that check it out.


PG max is a library that implements general factor graphs for discrete probabilistic graphical


Graphical models have been a little bit forgotten at least in the mainstream deep learning world


in recent years, but they were really cool before Alex net promise.


So this library among other things implements differentiable loopy belief propagation in


jacks.


So if you do work with probabilistic models and graphs give this library a try.


D'Ambra is a arena for a eyes.


It is multiple things at the same time.


So first and foremost it is a library essentially reinforcement learning environments mainly


for two player fighting games right now.


So they say they feature a collection of high quality environments for reinforcement learning


research and experimentation.


It's compliant with the open AI gym standard and it includes classic fighter games such


as dead or alive street fighter Tekken and so on.


They do have a YouTube channel where they show some baseline implementations of reinforcement


learning agents and they do also host tournaments in these games.


It's kind of like a Kaggle competition I guess except your agent is paired up against another


agents and then they play Tekken.


If you're interested check out D'Ambra.


Python FHEZ is a privacy preserving fully homomorphic encryption and deep learning library.


This library supports a lot of primitives in the areas of doing deep learning on data


that you might or shouldn't have access to that is private that is secure in some form


or another and homomorphic encryption allows you to run certain calculations in an encrypted


fashion or transmit information in an encrypted way such that either one or the other party


doesn't necessarily get to know all the contents of the data.


So this being combined with deep learning is pretty cool and this library enables that.


Torch metrics is a project by the PyTorch lightning devs and it implements metrics for


PyTorch especially for distributed and scaled up PyTorch.


Tracking metrics is often a hassle because you need to accumulate over batches or over


different machines and so on.


This library reduces that boilerplate and lets you just track and export your metrics


in a very easy way.


Here is a simple example that tracks the accuracy over a bunch of batches I guess a batch of


batches if you will.


So it does compute the accuracy on each batch but it also keeps track of all of them and


then at the end you can get your accuracy over all of the data.


Now if you've ever done this you know that last batch is always trouble if it's not exactly


full your metrics will not be perfectly accurate and yeah it seems like everyone on the world


is just implementing the same thing so good that there exist libraries.


In Tau Tian tweets that their work on modern evolution strategies for creativity has been


accepted and they've provided two new collabs that you can try out.


Well this work is very special it's evolutionary strategies that try to make these collages


of things.


It uses clip and abstract shapes to achieve some visual goals and it looks pretty sweet


I have to say.


So now there's two collabs where you can try it out.


Related to that Evojax is hardware accelerated neuroevolution.


In fact if you have paid attention the collabs from right before are in the Evojax repository.


So this is a Jax library that enables neuroevolution, evolutionary search, anything like this and


it enables a lot of cool stuff that is kind of outside the box for classical deep learning.


On the right is one of these collages that I've just mentioned and on the left is a little


game where the agents have to collect food but avoid poison and all of this is trained


using evolutionary strategies.


There's a paper to go along with the Evojax environment if you're interested more.


And lastly, Reddit user JK Terry one writes that five months after taking over maintenance,


I'm happy to announce that Jim now has a proper documentation website for the first time in


its life.


If you don't know, Jim is a project started by open AI, and then abandoned by open AI,


and has been taken up by an open source developer who was kind enough to continue this project.


And now under Jim library.ml, you can find proper documentation for the gym library.


Now given how prevalent Jim still is, this is pretty cool.


It's clean and simple.


And if you do work with Jim, and maybe you want to learn something new about the things


that you've been using all along, check out this website.


All right, this was it for ML news this week.


I hope you had fun and I'll see you next time.


SingularityNET - A Decentralized, Open Market and Network for AIs (Whitepaper Explained)

Hi there. Today we'll look at Singularity Net, the global AI marketplace as it is advertised on their website.


Specifically, we're going to look at the Singularity Net White Paper 2.0 as it appeared in 2019.


So it's version version two, version one, I think appeared in 2017.


So Singularity Net is a, as it says, a global AI marketplace, but it is also kind of an effort.


It is a foundation, it has blockchain in it, it has AI in it, it has symbolic computation, it has graphs,


it has all the things, all the buzzwords you could possibly want.


So the high level summary of this system is that it is a marketplace for APIs basically on blockchain,


where either humans or APIs can call other APIs and pay them for that service.


And the goal is to sort of get a network going of APIs that call APIs that call APIs,


and sort of have that build into a global AI, not only marketplace, but like as itself a global AI.


This is backed by the Singularity Net Foundation. And they do a whole bunch of development of the platform,


but also research on the platform. And we'll look at all of this today.


So it is a white paper, which is not a research paper, as we usually look at.


That means a bunch of things. First of all, as you can see, it's quite long.


And we're going to skip most of it, actually.


But also, I have maybe it's just it's just because it's a white paper. And that's usual.


But this, all of this is it's sort of marketing.


And it's it's it's sort of never fixates on one level of analysis, like it goes into this and then a bunch of buzzwords and then super detail.


And then it talks about, you know, what kind of cash do we need for the database?


And it goes back and it just references a bunch of stuff without explaining it to just kind of beef it up for investors, I guess.


I don't know. In any case, we're going to go through it. We're going to go through what the marketplace looks like, how it works, what it's good for,


or some of my criticisms. The central components, as I said, are the API's, but also a rating system. And it is also decentrally governed.


So the goal is to have the community govern the network. And lastly, the goal is to have all of this be beneficial for humanity.


So we're going to see how this all ties together. So what's the current the current situation and what the SingularityNet want to do?


So let's say you are this external software. You're a person. OK. And what you want to do is you want to summarize a document.


The view that this system has is that you could give this to a document summarizer. The document summarizer, however, looks at this and sees, oh, what are you giving me?


You're giving me and in this case, it might be, you know, an article of The New York Times that has both text and video.


OK, so you give it you see an article has like a title, it has a bunch of text. And here it has like a little video to go along with it.


And you simply say, summarize this to me. So this document summarizer, all it does is it looks at the document and it sees, ah, there is a bunch of text.


And there is a video here. And I'm going to. So in order to summarize the document, I need to summarize the text and I need to summarize the video.


So it will take the text and it will send it to a node that's dedicated only to text summarization.


And then it will send the video to a note that's only dedicated to video summarization.


The video summarizes summarizer in turn could do stuff like call face recognizers and call some databases in order to sort of get who is in the video or what's in the video.


It could call object detection and so on. The text summarizer in turn, it could call some word sense disambiguate.


It could call entity extractors to also realize what is in the document. And then these nodes will send sort of.


So every node can call other nodes in the network. And at the bottom, you'll have these sort of AI primitives like face identification, entity extraction, and so on.


And they are not to be meant to be called by you directly. They're meant to be called by higher level nodes that sort of aggregate them.


And this, if you look at this, and if you are a software developer, you think of libraries, like you think, of course, you know, this is this here, this stuff here is maybe that's hugging face.


And this stuff here probably in spaCy that exists, right? If you are a software developer, you know, if you have to do subtasks, someone probably already solved that subtasks, I can just call a library.


Now, the view of Singularity Net is that no, maybe you don't want to call a library. Maybe you don't know yet what's the best.


So their view is a marketplace. And why is a marketplace better for AI than for regular programs? Because, you know, for regular programs, we don't need a marketplace, we simply call a library.


Why is that not good for AI? I'm, you know, I'm trying to, I'm trying to sort of make sense of this right here. I am not convinced by this system either, but I'm sort of trying to make the best case for it that I can.


So if you are this, let's go back to that graphic, if you are this text summarizer, and you need to do, you need to do entity extraction, right, you might have a lot of a lot of choice.


There might be, you know, entity, entity extractor, a, there might be entity extractor, B, and so on, there might be many of these entity extractors, and then a new paper comes out, right? And then entity extractor, F is somewhere on GitHub, you know, but so what you need to do every time a new entity extractor comes out, is released, you know, someone makes a paper,


maybe put some code, the code doesn't really work, you have to go fetch that code, you have to look, you have to plug this into your system, right, you have to test against your data sets, and you have to decide, is this better than what I had before? Or is it worse? Is it worth including and so on.


So it is in the in the classic software world, if you have a library that does something, it does that thing, right, it cannot necessarily do it better or worse. However, in the machine learning world, it can definitely be you know, that this thing here is like 90% accurate, which is already good, but then something comes out with 95% accurate, and that's better, and you would like to sort of switch to the better thing, or the thing that


meets your needs more the thing that works on your test data set, and so on. So that's sort of the case to be made for an AI marketplace. Now, this Singularity Nets vision is that let's say, I'm a researcher, I come up with a new entity extractor, right? I have my so I have my paper here, I have it written, I have maybe a bit of code somewhere.


What I can do is I can plug this into Singularity Net, right? And then I am say, hey, here, here, I am entity extractor x. And you can advertise yourself to this network. And then all the other nodes like this text summarizer node, but you know, many other nodes could then come and sort of in an automated fashion, test some sort of test data set that they have against you, right?


They tested against your system. And they can evaluate you and then they will switch to you to using your code, if you are better than the competition for them, or maybe if you're cheaper, right? And for that, if you're a researcher and do all that for that you would get money, because every time a node calls you, they're giving you some money for analyzing their data. So that is the that is the sorry, that is the


the core idea behind the AI marketplace right here. So the AI marketplace as a whole looks something like this. And there's a lot of stuff here. But we'll go through it sort of one by one. Okay, so it is so that this, this here it mixes kind of conceptual and technical and so on. But ultimately, you


have


Is there a way I can draw this more easily?


Yeah, maybe. Okay, so you have consumers, okay, and consumers can be people, or can be robots. And you have a whole network of them. Right? And the robots, if it's a robot, the robot exposes an API, as we said, the robot exposes an API that says exactly what integer is in the data set. And then the robot is going to


to the right or the right edge, right, and then the robot takes THAT Maisie. And that message and highlight the input and output, and it will reset. So if there were a robot, it will get this message, right, the robot will get theKeys do the syntax, whatever you like to call it. But this what the data is doing is not really an action player, for sure. So you'll notice that this UI method initially did that. But when that user sign in saying, no, I need a URL. Now we have some pain and pain and pain, get the URL. So you should have a face recognition, you'll see in


string that's called text and that string needs to be language English and for that


I can produce a set of a list of entities and T something like this okay it is very


much like you would specify an interface in regular programming except that in singularity


net these types here so the string with the language parameter and like the definition


of what an entity is they are set I don't want to say centrally because it's on a it's


on a blockchain but in essence they are on the blockchain centrally deposited you can


add your own but you can also implement the the ones that other people have already defined


and what would be the good thing about not defining your own well if if this is the


kind of commonly agreed upon standard for entity entity recognition did I say augmentation


extraction entity extraction I said I put an a all the time sorry about that if this


is the common definition for entity extraction and you implement the same right you have


your new algorithm over here and you implement the same API you know you have this green


API and you implement the same types then anyone who uses this API can if they want


switch without any work to your API and if you are better then you know you get probably


their business because they want to call the better one the idea of singularity net actually


goes further because this is not only callable by humans this is also callable by other robots


so not here I have a other robot and this is a special robot because this robot is like


an evaluator robot so this robot can go around and it has a little data set inside of it


and it will just do nothing else but scan for new AIs on the network that implement


a certain API it will recognize and it will say ah this is the this is the API for entity


recognition or entity extraction I will simply run my test data set against it and I will


run my test data set against this and so on and I will report so my API will be I simply


output I simply so input would be a task name so task would be a string or something like


this and the output would be a list of model and performance like model a model m 90 percent


model x 95 percent ok so there couldn't there can be robots that test other robots and then


publish sort of ranking lists and then I as a like I as a human or the robot you know


the higher order robots they can go read this robot and then decide to which of the of the


all the listed and things they want to go so at central core to the system is this kind


of shared type system if you share the types if you share the API's your API's become replaceable


with one another and therefore you can enable sort of automatic competition and automatic


matchmaking so these robots the there are evaluator robots and there are matchmaker


robots where you can tell a robot I would like to extract some entities please find


me the best node in the network that does it ok and the marketplace makes sense because


it's AI and it constantly shifts which one is good and which one's appropriate that's


the best case I can make for it like I have my doubts that this is actually the case like


but we'll get to well actually no let's make the case against it so my case against the


AI marketplace as it is listed here is twofold so first first point against it everything


we know right now is end to end the direction of research is clearly going into less structured


data and more end to end that means if I want to do a text summer or a document summarizer


I am right now much better off just training a giant model that does it end to end rather


than using many many small models because if if I call an entity extractor right and


I simply only rely on that information I lose the the rest of the text and the nuances in


the text I simply get the output of that model now I could combine that of course but this


idea of modular rising AI I'm right now research is pointing into a different direction and


second of all I still believe like I if I make a product if I build a product towards


a user I want to know what's in it like even if I have to go with myself and test the stupid


if I would never use like a matchmaking agent that dynamically goes and finds me someone


who can implement this API because implementing an API only goes so far implementing you know


like I require image and I output value that's an API but that can be many and then you know


maybe these tags here maybe these tags could do something but it is not like I think the


system even though it's you know thought out well with the types and the API's and so on


I don't think that's enough I think that works for a very very small subset of AI tasks I


don't think that works for most of the AI tasks that we have right now because simply


API definitions just don't convey what the models so wait API so API does not convey


what the model does function in my mind so I would ask yourself if you were if you were


there to use a matchmaking agent and then you know sell that product to a customer it's


it's shaded but I guess the goal here is that in the future these matchmaking agents will


be much more intelligent and so on yeah so here is how it works on a more sort of technical


level so there is two components here there's off chain and on chain so if I'm assuming


you know what a blockchain is if you don't know what a blockchain is a blockchain is


basically a distributed database and in some forms also a computation engine so it's kind


of a distributed computer that you can't fake so you can't cheat no one has authority over


it everything is visible and so that's secure the drawback is you cannot do hardcore computation


on blockchain so this is not AI on blockchain the blockchain is simply there to first of


all register the AIs so register the types so this this API is here and register what


AIs are available in the network and second of all to facilitate the payments to the AI


so how does that work it goes via this sort of multi-party escrow escrow contract right


here so there's a registry by the way that's where AIs register and put their types so


that's one function of the blockchain the other function is to escrow money and this


if you know lightning network is very similar to this so what you would do if I don't know


Alice wants to call Bob Alice would sort of put a bunch of money like a big bunch of money


how do I do that Alice would send money to this escrow account like this much money and


then that establishes a channel between Alex Alice sorry and Bob so there is a channel


channel is opened and it's tied to this money and now Alice can sort of send incremental


amounts of that money to Bob and every time you know one of these like a little bit of


that money is used up and the way the reason you do it in escrow form and not so all of


these could be transactions on the blockchain right but that's first of all it's slow and


second of all it's expensive and if you do it like this you actually only need at you


know you need one transaction in best case so if Alice spends this much money to Bob


there needs to be only one transaction to putting all of it to Bob at the same time


rather than all these small transactions so that's kind of the the channel principle I


think yeah it's very similar to lightning network and it's still secure so there it's


still secure the way it is done I'm don't want to go into channel economics and security


right here but suffice to say you can make this secure and fast to a certain degree okay


so that's how it works every time you call an API you just send it some money in order


to call it so how does this look this looks something like this sorry here is this AI


marketplace they've actually built it and they have a bunch of services on there as


you can see it's you know it's it's kind of they take some standard AI tasks and they


put them on here and if you click on one you can either you know pay a GI tokens that's


a thing we're going to get to in a second or you I think you have like 10 free calls


a day if you make an account so I've tried it out you know it works but it's important


to realize that the computation does not happen on the blockchain you send money on the blockchain


and the AI service it runs off chain so this is off chain okay so it is not a secure AI


you still need to trust the thing you're calling right it's not about privacy that much but


you you can't verify the outputs you can't verify the computation as you could if it


were happening on chain now there are methods to sort of do heavy computation on chain but


these I guess wouldn't be that efficient so just take that in mind now the other thing


is I always sent say you send around money but what you actually send around is a token


so a token is a very special concept if you if you don't know what a token is it's like


money on top of money so it's like if you go to a fair and the fair has like its own


internal money system at the beginning you you you pay like 20 bucks and you get a hundred


fair coins and you can use the fair coins inside the fair and that just enables the


fair to sort of have its own monetary policy and it's usually done with these projects


to at the very beginning you sort of sell those coins to a lot of people and the people


buy it not because they can use it right there but they estimate they can use it later and


it's a way to fund a project that's called an it's called an initial coin offering usually


or initial token offering the coin that SingularityNet uses is aptly called AGI and there is one


billion and you can see here it's still active so it's still being traded you can see this


is an hour ago twenty fifteen minutes ago and so on if you look at here is analysis


if you look at the activity on the network it had a lot of activity at the beginning


it dropped and now it picked up a little bit again I don't know exactly what that's related


to but so it is still alive if you look at the price however this sharply dropped and


is now actually below the price of the initial coin offering and what you hope when you you


know buy the initial coin is not only that you can use it later but you know that since


there is only limited amount of tokens that that will be more valuable in the future because


people want to buy it off you because they want to use the network here it sort of looks


like that's not exactly happening and we'll get to what they're doing against it right


in a second the answer is inflation so in a new blog post actually as I was preparing


for this video this new blog post came out yesterday and here they're announcing sort


of the path forward singularity net phase two and essentially what they're doing is


they're switching block chains from ethereum to cardano and I have my doubts isn't like


I don't know much about this whole the whole crypto space but isn't cardano where massive


amounts of the of the coins are like in some I think they're massive amounts that are just


never moved and so on and it's quite scary but you know they probably know what they're


doing and with that they are doubling the amount of tokens like they could do it without


increasing the tokens but with that they're issuing another billion tokens I think 50


or 25 percent will go to themselves so that's usually you do that in initial coin offering


right you keep some of the tokens to yourself because as people buy it it's valuable and


that's how you fund the operation so here they need to fund it some more so they just


inflate the currency with the new with the new token and they project you know they project


that the network is used it's going to be used a lot more than double now so I guess


if you buy the new tokens here phase two plan five years from now there will be two billion


instead of one billion tokens my strong assessment is that in this case the overall value of


the network in 2025 is going to be far more than twice what it would be if we didn't release


the new token so they need money they inflate the currency it's you know it's government


I guess it's valid but just just to be aware okay that's the network there are a few crucial


components that I have left out now but that's essentially how it works so one crucial component


so here's the registry is where you register one crucial component is the reputation system


and this is something that's quite you know difficult so the reputation system is important


because if you want to sort of find agents that that perform well you can also sort of


rely on reputation so if a lot of people have bought services from a particular node in


the past and they rated high then you can sort of trust that node more than if if a


node is lower rated or has dissatisfied customers so they spent quite a bit here talking about


reputation systems and how you could do them and that is an open area of research this


is a really hard problem to make a good reputation system that can't be gamed and so on yeah


there are various ways like for example a stake deposited by a consumer service owner


to be forfeited should its rating in some dimension fall below a given threshold so


you can like put some money and say well I if my rating falls below a three then that


money is gone I will like it's it's burned it's automatically burned and that gives people


more trust in you because you're now forced to uphold that rating but it also allows some


kind of mafia games like you could go to that you know service owner be like well it would


be a shame if you had a bunch of one-star ratings coming in then you can sort of blackmail


them in given circumstances so it's not easy right it's not easy but that's built into


into it by the way because this is on chain anyone can participate in the market permissionless


which is a really good thing however they maintain kind of a a dap a centralized platform


where they that they control so you you sort of have this decentralized thing where everyone


can participate but only some people are listed on the central on the main hub let's say but


you can technically build your own hub like you can build you can build your own android


app store and so on so think of it like it's a marketplace for apps but only the ones that


are you know kyc compliant will be in the in the google app store but you can build


your own alternative app store they also want to provide ai infrastructure as a service


and that i feel it's really irrelevant like they say okay we want to provide this but


it really doesn't matter for the singularity net so they they here is where they go into


all you could do this you can do that with it and so on you can deploy it on embedded


devices so their idea is really that the whole world will be connected to this network and


whenever you require any sort of functionality you just call the network and the network


solves your problem as i said i'm kind of doubtful i still think it's probably going


to be people just build the functionality either into a custom you know uni service


or they they just build it on device so the the last component here is democratic governance


so they are they are invested in in sort of making this a community effort and one thing


is this governance right how do you govern a decentralized organization and that is also


an unsolved problem they do it in multiple stages so they stay say okay in years one


and two of network operation basically the foundations the foundation says everything


in according to any any major changes the foundation decides so the foundations are


the maker of the network in years three and four they transition so major changes agreement


of the foundation plus a majority agi holder votes minor changes don't actually even require


the foundation and then there's also this introduction of benefit tasks yeah so years


three and four and from year five on forward this the the foundation is gone and only there


it's only done by votes by agi token holder votes which are logarithmic such that rich


people don't have too much power yeah so this was launched in 2017 at the end so technically


we are in this phase right here and I have searched for like an announcement that yeah


we're going to transition from this mode to this mode but I haven't found it on their


blog instead of what I found are like announcements that they are going to they're going to launch


this supervisory council which are like elected members that check the foundation and also


in this roadmap of part two that we've just looked at they also saying oh progressive


decentralization making it real they also talk about this supervisory council and they


now pay them and they release financial reports but nowhere does it say that yes see here


it's 3.5 years in so they should be in that second phase maybe they are but I would guess


they'd make an announcement if that's the case maybe I've just missed it and they're


actually doing this but I have my feeling that if you you know launch such a system


and you have power to do stuff and especially this if the system doesn't grow as much as


you expect and so on you're not going to give that power away so that's that is my my doubt


here is that if you have the power it's of course it's always better for you if you say


well I'm just going to hold on to it a little bit longer eventually you know when everything


goes well but it's never that everything goes well like yeah hello communism okay so enough


rant the benefit tasks so they also have in mind you see there's a lot of stuff in this


network right they also have in mind that this this network should benefit sort of humanity


as a whole which is you know a laudable task but they have a system where it's some tasks


are classified as benefit tasks and the these benefit tasks they are suggested by by AGI


by actors in the network that has so each agent gets a certain number of benefit votes


right to cast each month based on its benefit rating so the rating system is multi-dimensional


and one aspect is the benefit rating someone can rate you beneficial if you like do if


you're a AGI cures cancer or something like this and and then you nominate you vote and


then some of the some money goes to these benefit vote winners once a qualified benefit


decider nominates a certain task yada yada yada yada yada yada yada if 25% votes of are


cast in the affirmative then the task becomes a benefit task once a task is a benefit task


any agent capable of performing it and possessing a sufficiently high rating and benefit rating


will receive benefit payment for doing it okay so the idea is the community nominates


beneficial tasks and these tasks will get benefit payment the like the only question


is where does this come from where does that money come from the benefit payment so I guess


it has to come from other people so you have to have like some sort of a benefit tax or


something like this that you of other transactions that you give to the benefit tasks and then


this is like you the whole system work there's nothing about this that makes it benefit specific


you can switch out the word benefit by evil like some you have an evil reputation and


then some tasks are evil and get evil vote votes and if you are especially evil you get


evil payments the this whole notion rests on the fact that people somehow recognize


what's beneficial which is a highly highly controversial right and it's it's basically


politics right every politician advertises themselves as beneficial every every you know


organic food is beneficial but then you just do the bare minimum you like cut you take


99% of tomatoes and you you put a little bit of dirt on top of them and boom they're organic


like they're now labeled as organic it's it's I this is to me this just seems like a thing


that's going to be gamed so hard it's gonna become irrelevant it's basically a political


game at this point because you cannot define benefit other than through human voting and


human voting is subject to money and yeah that's how politics starts okay so they have


they have a lot of examples so here you see sort of this network idea they have a lot


of examples what can be done with this I don't want to go into into these because this video


is already quite long but it's it's a lot of talk I just want to say that it's a lot


of talk and you know they're basically putting up everything they have done so far and they're


doing on the network what they can do with the network which is all cool right it but


it's it's sort of advertising what kind of research they do on it and yeah the last point


the last point yes it's very long so these people for some reason they actually they're


like two things they love or three there there's graphs domain specific languages for some


reason they love graphs and domain specific languages so their idea of AI it all revolves


around kind of classic notion of AI so there is knowledge bases and then there is graphs


that and you can see this reflection in Singularity Net right this idea that lots of things by


themselves network together can make up a bigger AI and so on that is exact reflection


and exactly goes counter to like the deep learning idea of let's do everything and to


end so the Singularity Net here is very much a reflection of what these people think and


yeah for some reason they love inventing DSLs for new problems like why what like I've never


understood DSL aficionados but I guess if you are you're having fun okay so here they


say measuring modeling and extending Singularity Net okay so this is sort of their research


on Singularity Net itself which is you know quite a a important thing if you build a system


like this but what I want to I wanted to do so I've read through all of this kind of research


suggestions and what they're doing and they just make it seem great but it's also very


washy in my opinion and I was wondering is it just because it's a white paper and I you


know there's actual good research and for most things I can definitely guess you know


they're you know they're also the people behind this Sophia robot I don't know if you you


know like this Sophia robot and so on they so they have a lot of success so precision


medicine and so on there's a lot of research but some things just sounded also just washy


so here that this is something that made me particularly just kind of stop so they want


to measure with this Phi quantity for measuring integrated information in complex cognitive


networks so this Phi this number Phi by this researcher Tony is sort of a measure fundamental


measure of the level of consciousness and they themselves say you know maybe it's not


you know the measure but it's certainly an interesting measure and so on and they say


we have experimented with measuring Phi across time series generated by OpenCog by the way


OpenCog is from the same person that's one of the co-founders Ben Gertzel of Singularity


Net OpenCog's attention allocation module yada yada yada while the while the system


parsed and semantically analyzed a series of short documents we have also calculated


Phi values while the OpenCog system controlled the Sophia humanoid robot as she led a person


through a structured meditation system so they like the extent of them describing the


research is simply we have experimented with it and we have measured it across time and


so I was wondering like what's behind this so I went and I read the paper that's linked


there that's this using Tony Phi to measure the consciousness of a cognitive system while


reading and conversing and so this is a paper it's quite short but they let it read like


texts from about different things and they measure this Phi quantity and when you go


and look first what's this Phi quantity this is kind of a one of these papers it's it's


very mathematical actually and there's a lot of information theory in there so it has something


to do with mutual information there's a lot of ways you can calculate it as you can see


here on the left and there's a lot of ways you can approximate it so this is like a serious


quantity but measuring it is like super hard and here they let this OpenCog system read


short texts with with respect to as you can see here poison and insects and they look


where the sort of I guess the attention the attentional focus of the system rests on which


of these concepts right and then they measure the Phi over time and their claim here is


I was okay we also calculated Phi based upon the concept nodes no wait up here as the system


ingests each sentence word nodes corresponding to each word are simulated stimulated with


this system thus triggering attentional focus dynamics correlated with the reading process


one goal of the study was to observe whether after reading documents regarding insects


than poisons attention would spread to the concept related to insecticide this phenomenon


did occur so they say okay when you read when you read insect and poison after that you


could you put a focus on insecticide and you can see so insect is blue poison is orange


and you can see maybe the insecticide you know bumping a little bit after when while


you read poison but honest like this could also just be because it's associated with


poison. This is you know I don't know that this is a bit interpreted a bit too much into


that graph and then what's even more astounding we also calculated Phi values based on the


concept node insect poison and insecticide as figure three shows there was an interesting


jump in the Phi value when insecticide first became important suggesting that the Phi increase


was correlated with an increased complexity of attentional spreading within the atom space


so the atom space and so on that's that's sort of this classic AI concept of knowledge


bases and atoms but here so the claim is that the Phi on the right somehow somehow correlates


with the insecticide attention on the left or with anything interesting and that to me


is a stretch in fact I have I've put the I've put these things above one another so in the


gray background here you can see the Phi value and I've matched up the the time steps right


here and so the claim is that here insecticide marginally bumps up and then sort of this


Phi spike is here but if you look anywhere else like here insecticide bumps up okay but


much delayed spike and here it doesn't bump up at all but there's a spike still and it's


it just seems it just like that is just not a a inference you can make right here like


I'm not sure let me let me know what you think but if you know you can't just nah nah sorry


this one you know this one it was the one that that was kind of the most strange to


me but also yeah don't don't don't tell me that this does anything but in any case they


this is the type of research that they do and so they measure these measure the intelligence


of the system and so on yeah the last thing is these what they want to do is this offer


net economy and you know in researching this paper I have also watched a bunch of talks


from from Ben and it seems like sprawling with ideas and they talk about these offer


nets is is is also so the idea behind it is that offer net is sort of an economy without


money the offer nets domain model where is it so I don't I don't remember where it said


but offer nets is like an economy without money so the idea behind it is okay person


a person B person C or machines they are sort of in an economy and person a wants something


that person B has but B doesn't want something that a house but instead B wants something


that C has and C wants something that a house and the logic here is couldn't you you know


a cannot a cannot trade with B B cannot trade with C C cannot trade with a but they can


trade in a circle right and this offer nets they do make this possible and so that the


idea is sort of everyone puts out there what they want and the offer nets they will sort


of figure out they will figure out who needs to trade with whom and there thereby you could


make an economy without money right without yeah you can make a money free economy and


is this the right paragraph because there was a fun sentence there was a fun sentence


that I've I've seen right here so this is another another thing where I think that just


like the ideas they go a bit they go a bit too far


offer nets analyzing the data yada yada yada open end the process okay I don't I don't


know where it was but they say something like yeah offer nets could mediate this process


and how do they mediate this process you know such that everyone actually gets their worth


of stuff that they put out they mediate this process by means of the offer coin okay so


the offer coin is now transferred from B to A or sorry or from A to B let's say because


A wants something that B has and the offer coin is transferred from B to C and then from


C to A so the offer coin makes all of this happen in an economic sense and like huh are


you saying there is an asset going along with a certain service and the asset is sort of


agnostic such that you can if B gets the asset from A B can then give the asset to C in order


to obtain services from C and that you know asset actually is what makes the whole economy


work even though no one directly wants to trade with each other and you're doing all


of that without money that's crazy so yeah in any case I think oh ah there we go offer


nets a decentralized economy providing an alternative to purely currency based exchanges


this economy features a complex network of interactions that optimizes reciprocal changes


of goods and services by finding agents with compatible and complementary preferences and


coordinating their interactions dot dot dot by means of a coin which is money that's this


is exactly what money does like that that's what money is for in any case I'm like this


these people are very smart and I'm probably too dumb to see what the exact difference


is right here so I just found it funny if you know if I'm completely wrong then let


it be stated that you know that's what a semi only semi smart person would conclude from


reading these things all right this was lengthy but I hope you sort of got the idea the base


system is an a an API marketplace now the API marketplace in itself doesn't have anything


to do with AI necessarily but I've made the case that the API marketplace only makes sense


in the in the world of AI because if it was regular software you would just hard code


either the API calls or you would actually include the library so the marketplace makes


sense in the realm of AI okay it it's doubtable whether that's actually the case it very much


goes against the end-to-end principle it bets on a form of AI that works on discrete graphs


it works on subcomponents divided into subcomponents it works on networks networks built together


to achieve higher-order functions it could definitely be that the future of AI lies in


this direction it's just that the current direction is pointing away from that the whole


marketplace runs in on the blockchain and only the marketplace so the AI processing


is off chain so it is not a on blockchain AI and yeah they've built it and they are


in money problems currently they're inflating the currency but they're switching blockchains


because they think the new blockchain will be better and faster and they project high


growth and the token is actually active so it's you know it's not a dead project and


they are in the news quite a bit especially with this this Sophia robot I think that is


that is a very it's a kind of a PR magnet all right that was what I had to say I hope


you enjoyed it if you did share it out let me know what you think in the comments let


Why I use a Standing Desk

What is going on everybody and welcome to a video of my or about my desks so


Why I use a Standing Desk

Many people have noticed in my videos that it's like it doesn't look like you're sitting


Why I use a Standing Desk

Are you standing at a desk you know and the topic of my desk seems to come up pretty frequently and so I figure I


Why I use a Standing Desk

Could have a video and just point people to it from now on so yes, it is a standing desk and


Why I use a Standing Desk

For some reason some people find that like offensive


Why I use a Standing Desk

Like when they find out I was standing desk. It's like an it's like an attack at them for sitting


Why I use a Standing Desk

I don't care do whatever you want, okay?


Why I use a Standing Desk

So if you're offended by my standing desk


Why I use a Standing Desk

Get over it so so first of all why did I get a standing desk so a lot of people have?


Why I use a Standing Desk

These notion that like a standing desk is like for health reasons or something and I mean to an extent it can be


Why I use a Standing Desk

but actually I just needed a desk and so I just started looking around for new desks and


Why I use a Standing Desk

Kind of poked around into the idea of being able to stand


Why I use a Standing Desk

I thought it sounded cool that I could stand for maybe a couple hours a day or something because being a programmer


Why I use a Standing Desk

I'm sitting at my desk like all day long


Why I use a Standing Desk

And it would be nice to stand from time to time so


Why I use a Standing Desk

So then I started looking at a standing desk


Why I use a Standing Desk

And I thought an adjustable standing desk would make the most sense that way I could sit and stand at will and that's kind


Why I use a Standing Desk

Of what I got this desk for now fast forward two years or really honestly about two months after I bought the desk


Why I use a Standing Desk

I just stood all the time


Why I use a Standing Desk

I mean it really took about two months before I kicked the chair like I don't even have a chair in my room


Why I use a Standing Desk

Anymore, and it didn't take too long to come to that point


Why I use a Standing Desk

But it's not that I think that that's what where everyone will go


Why I use a Standing Desk

I just it just turned out that I really enjoyed I preferred to stand it's more of a preference


Why I use a Standing Desk

I'm not doing it for health reasons. I even had someone was like oh a standing desk


Why I use a Standing Desk

You're just exchanging back pain for knee pain, and it's like I have no knee pain


Why I use a Standing Desk

I don't have any pain standing at the desk the only thing I would say is if you get a standing desk


Why I use a Standing Desk

I have these like feet mats foot mat


Why I use a Standing Desk

And it's kind of like a gel mat for your feet, and if you can stand in that in like either bare feet or socks


Why I use a Standing Desk

No foot pain, but whenever I like I'm wearing my shoes, and I stand on the mat my heels start to hurt


Why I use a Standing Desk

Or if I'm not standing on the mat my feet hurt


Why I use a Standing Desk

And I was a waiter for quite a bit of the early years of my working years now. I don't have a job


Why I use a Standing Desk

And I foot pain was like always an issue for me


Why I use a Standing Desk

I always have foot pain


Why I use a Standing Desk

And I was a runner and I would always have foot pain while I was running and then after I got the standing desk like


Why I use a Standing Desk

My foot pain from during and after running like totally went away now. I'm not saying the


Why I use a Standing Desk

Standing desk cures foot pain. It's just anecdotal that I mean I did sort of see that benefit


Why I use a Standing Desk

But that again is not I wouldn't get it standing desk for health reasons at all


Why I use a Standing Desk

the other like unforeseen benefit for me for a standing desk or just an adjustable desk really is


Why I use a Standing Desk

That when depending on what you're doing like if I'm working at my computer and using my keyboard


Why I use a Standing Desk

I want the desk to kind of have allow my arms my forearms and my wrist to almost be straight and like have as little


Why I use a Standing Desk

Cant as possible in there, but if I am like putting something together


Why I use a Standing Desk

I'm working with I don't know raspberry pines and breadboards or if I like when I was putting together my 3d printer


Why I use a Standing Desk

It's really useful to


Why I use a Standing Desk

Adjust the desk up like you generally want it much closer to your face when you're doing something like with your hands on the surface


Why I use a Standing Desk

So it's actually really cool to be able to be able to do that and put it at the exact level that you need


Why I use a Standing Desk

So that's another huge benefit that like I didn't even see that coming


Why I use a Standing Desk

but it's like one of my favorite things about the desk now is like and that's why I bought a


Why I use a Standing Desk

Second one and that's actually pretty much a carbon copy of this desk. Just not as long


Why I use a Standing Desk

I want to say this is seven feet and that's like


Why I use a Standing Desk

a


Why I use a Standing Desk

Five or six feet. I don't know. I should be able to eyeball that and know the answer but


Why I use a Standing Desk

I'm gonna guess five feet anyways


Why I use a Standing Desk

Yeah, that's so I bought that one purely for that reason like I don't actually like I don't work at that desk


Why I use a Standing Desk

And I don't I never sit that desk


Why I use a Standing Desk

It's that height so I can raise and lower it while I'm working on stuff at that desk so anyways


Why I use a Standing Desk

Kind of an unforeseen benefit of the desks now in terms of you know these desks


Why I use a Standing Desk

Specifically you know like I said, I've only had this one maybe for about two years now


Why I use a Standing Desk

And it's held up really well so some people say and like biggest question is like with two posts


Why I use a Standing Desk

Rather than like say four total legs is does it have wobble


Why I use a Standing Desk

I assure you it doesn't have wobble


Why I use a Standing Desk

But some people see wobble in my videos and I didn't have one person accuse me of using a green screen


Why I use a Standing Desk

because of the wobble I


Why I use a Standing Desk

I don't have a green screen, but it does wobble and like if I jump up and down


Why I use a Standing Desk

You'll see things wobbled, but I was jumping up and down. I'm not touching my desk. It's the floor so my old house. I had a


Why I use a Standing Desk

Cement foundation right here. I have a peer beam so it's the desk is not insecure. It's the floor


Why I use a Standing Desk

Anyway


Why I use a Standing Desk

So that is yes annoying, but it has nothing to do with the desk the desk is actually super stable


Why I use a Standing Desk

And I actually put my computer on it now. They do make like a little


Why I use a Standing Desk

Nook thing that like hangs under the desk, and you like screw it into the desk, and that makes a whole lot of sense


Why I use a Standing Desk

I wish I had one send me one


Why I use a Standing Desk

But even on the desk like it doesn't give you any wobble like I've put so much weight on this desk and no problem so


Why I use a Standing Desk

Yeah, so I I just love these desks. I can't recommend them enough


Why I use a Standing Desk

And the other cool thing I got with the desk


Why I use a Standing Desk

There's like so many options when you go through there's there must be like 30 steps of like extra junk that you can get


Why I use a Standing Desk

Mostly of the desk. I got like an inlet cut like so like where you stand it cuts in just a little bit


Why I use a Standing Desk

Has a little bit of a curve. I got like the bamboo type surface sometimes


Why I use a Standing Desk

I wish I got a white one instead so like when I take pictures of things. It's like a little more crisp


Why I use a Standing Desk

I think if I got another desk send me another desk


Why I use a Standing Desk

It would be a white one


Why I use a Standing Desk

so


Why I use a Standing Desk

So the other thing is the programmable like up and down


Why I use a Standing Desk

So I'll go over there in a second and like the basic one just has arrows, and then there's another the other one


Why I use a Standing Desk

That's programmable where you can program like five preset settings and that is super useful


Why I use a Standing Desk

Definitely get that if you got one of the desks


Why I use a Standing Desk

So I'll just show you so you can like hit these arrows like up and down and the desk goes up and down or


Why I use a Standing Desk

You can hit just a preset button and the desk just goes to a specific height which again is super useful


Why I use a Standing Desk

I'll set preset heights depending on what I'm doing and especially like when you're going between sitting and standing


Why I use a Standing Desk

It was very convenient to just like hit the button kick the chair out from under you and stand up so


Why I use a Standing Desk

Yeah, super cool. I would definitely get one of those, but if you're just someone


Why I use a Standing Desk

That's like looking to maybe get into it the other things are like these like desk


Why I use a Standing Desk

They like sit on top of your desk, and then you like crank it up a little bit


Why I use a Standing Desk

I mean those are okay the reason I didn't go with one of those is


Why I use a Standing Desk

Because it takes up more desk space and not like I don't need any help cluttering my desk


Why I use a Standing Desk

It is it's always a freaking mess before I do any recording. I clean up for you guys, okay?


Why I use a Standing Desk

No, actually it's not for you guys. It's for me because you guys would make fun of me, so yeah


Why I use a Standing Desk

So anyway, I just wouldn't want one of those things so


Why I use a Standing Desk

But they also made like manually cranking desks where you can like crank it up and stuff


Why I use a Standing Desk

And I mean these are definitely expensive desks like if you have it motorized


Why I use a Standing Desk

I really do like it and like I said it holds a lot of weight


Why I use a Standing Desk

I I would feel totally fine putting like a hundred pounds plus on this desk like I'm pretty confident


Why I use a Standing Desk

I could sit on the desk and raise and lower it and it'd be fine, so


Why I use a Standing Desk

I will just like a smidge over a hundred pounds so


Why I use a Standing Desk

anyway


Why I use a Standing Desk

That's all on the standing desk. Hopefully that answers everybody's questions again


Why I use a Standing Desk

It wasn't sponsored in any way, but if they want to sponsor. Let me know I would totally give you guys ad placement and


Why I use a Standing Desk

Because I love these desks, and if you want to continue sitting hey man or girl, that's totally fine


Why I use a Standing Desk

I don't judge you guys


Why I use a Standing Desk

I don't know that it's necessarily more healthy or less healthy like you can definitely hold a terrible posture while at a standing desk


Why I use a Standing Desk

Because there's no different than standing regularly right nobody like


Why I use a Standing Desk

Lots of people have horrible sitting posture and lots of people have horrible standing posture


Why I use a Standing Desk

So I'm not convinced that it's going to help your posture in any way the amount of calories extra that you'll be burning by standing


Why I use a Standing Desk

If you're somebody who's looking to lose weight the amount of calories you'll burn by standing is going to be insignificant


Why I use a Standing Desk

So I wouldn't get it for that reason. I just get it because I just like standing at a desk and like everybody


Why I use a Standing Desk

Sits at the desk and like most people just have never probably worked at a standing desk


Why I use a Standing Desk

And I just I just prefer it. That's it


Why I use a Standing Desk

And then the added benefits like I said of like if I'm typing I wanted at one height


Why I use a Standing Desk

But if I'm working on something I wanted even higher, and I forget how high these desks can go, but it's pretty high


Why I use a Standing Desk

I would raise this one, but I've got so many like cords that are threaded. I'm a little nervous to put it too high


Why I use a Standing Desk

Yeah, so what is pulling me? I can't oh


Why I use a Standing Desk

I've done my window, but like the desk oh


Why I use a Standing Desk

I think we've maybe no we haven't reached them. Maybe that's the max okay the max looks like 51 centimeters. It's basically


Why I use a Standing Desk

The height of my like it's like I don't know


Why I use a Standing Desk

My chest level right now, which is pretty freaking high


Why I use a Standing Desk

That's pretty cool


Why I use a Standing Desk

Anyways, so you can get pretty high that like I said, I think that was 51 centimeters centimeters would that make sense I?


Why I use a Standing Desk

Don't actually know what the measurement is here. I'm making myself look totally stupid right now, which is true, so


Why I use a Standing Desk

Okay, so that's it for now


Why I use a Standing Desk

Questions comments whatever feel free to them below if you've got other pressing questions about


Why I use a Standing Desk

Something even on programming related let me know


Why I use a Standing Desk

If you want to get one of the desks cool, I guess I could put a link in the description


Why I use a Standing Desk

But you could probably find them and yeah cool, so I'll see you guys later


Why I use a Standing Desk

It's definitely in inches


Why I use a Standing Desk


VirTex: Learning Visual Representations from Textual Annotations (Paper Explained)

Hi there, today we're looking at vertex learning visual representations from textual annotations


by Karen Desai and Justin Johnson of the University of Michigan.


So this paper at its core is pretty simple.


On a high level, it proposes to take the task of image captioning, which is where you're


given an image and you're asked to produce a caption for the image, and basically train


a model to do this, and then just take the visual part of it as a baseline to transfer


learn on other visual tasks.


And that appears to work surprisingly well if you don't have much data.


So if you if you don't have much data to pre train on, this appears to work very well.


Alright, as always, if you like content like this, then consider sharing it out, subscribing


to the channel, or tell me what you think in the comments.


So as I already said, the the idea here is pretty simple.


So people have been looking for pre training tasks for visual tasks.


So a visual task is anything where the input is an image.


And then you usually have some sort of neural network that processes the image.


And then at the end, you can have many things.


So you could have a classifier that classifies the image into one of many classes, if you


know ImageNet, that's a thing.


So if there's a cat here, then the the ImageNet classifier here would say cat, or you could


have something like a object detector that tries to predict on the image where the cat


is like with a bounding box, you could have a you could have a semantic segmentation where


it's like, all of these pixels here are cat.


And maybe all of these pixels here are sky.


And so it labels every pixel, there's many visual tasks that you can formulate.


And they all sort of share the same architecture.


And specifically, they all share this part right here, the if you will, this is the visual


encoder, it's usually a convolutional neural network.


And what's really different between the tasks is mostly this last part here that does the


actual task.


But this and is often called the backbone.


So this is the backbone.


And the idea now is, if I have a bunch of these tasks, sometimes I don't have money


labels for these tasks, I don't have many labeled images, so that I could train this


big architecture from scratch, like in medical images, or just in domains where you don't


have many images.


So couldn't I somehow come up with a method to create this backbone beforehand.


So to create backbone given another data set.


And the simplest variant here is you take a big image data set, such as image net, and


then you train a classifier, like we said, to predict some classes on it.


And then because an image net has a lot of images, then this is your backbone.


And then whenever you have a different task, you simply take the backbone, transfer it


over and then train the other basically, you continue training on the other tasks that's


called transfer learning.


The question is, how do you get a good backbone.


So if you train on something like image net, then this is of course a supervised tasks,


you'll have a very good learning signal.


But even image net has like 1 million images.


But for example, the internet has many more images.


So what you could do is you could train on this much bigger data set that you collected


from the internet, let's just call it internet.


But there you don't have labels, right.


So what you'll have to resort to is instead of supervised learning is self supervised


learning where you have an image and maybe you rotate it to the right.


So here is our cat, he rotated to the right.


And then you have a classifier that predicts that these this image was rotated to the right.


And then that will become your backbone.


These self supervised methods, they work very well.


There is a different number of them.


For example, Moco, things like this.


And there's also a number of techniques that do supervised pre training, and then transfer


learning, you can maybe watch my video on big transfer, which is a very large attempt


to do to pre train a backbone for visual tasks.


All right, now, you can see right here that the sort of direction is that the more data,


the better.


So that's sort of the idea here that image net is a big data set, we can train a really


good backbone.


But you know, the internet is an even bigger data set, we don't have labels.


So there's a trade off.


But we potentially can train an even better visual backbone to then transfer learn with


this paper goes into a different direction.


They say, Look, if you go in this direction, right here, you get more images, but you get


less information per image.


So with image net, at least you have the label, right per image.


But if you simply take a photo of the internet, you don't even have to label you have to resort


to self supervised.


What if we go into the other direction, and we look for images that have very high quality


annotations?


But maybe we don't have as many.


Can we can we do the same thing?


Can we learn good backbones by trading off quality for quantity in this case, and their


quantity and quality trade off is they go for descriptions.


So they'll go for something like this, where you'll have an image, and you'll have a caption


for the image.


And so they show these on a line here, semantically dense, semantically sparse, but their task


is going to be caption generation.


So they're back there more their task is, given an image, I want to produce a caption.


And there are data sets that you can train this from in a supervised fashion, which of


course, these are very expensive to create.


I mean, if you want to create an image net data set, then you have to label each image.


But if you want to create a caption data set, that's even harder because human really needs


to sit down, look at the image and in image net, everything is like one class.


But here you need to look at the image.


And then you'll have to come up with like an adequate description.


Here the adequate description is an orange, sorry, an orange and white, an orange and


white cat near a plate, and the white cake.


Okay.


So that's, that's the caption right here.


And of course, the caption is ambiguous.


So you'll have to collect multiple captions per image.


And you'll have to make sure that the humans that do this do a good job and so on.


So this, these are very, very expensive data sets, but they are very high quality.


If you think of what does what does a single label, let's just take image net image net


has a single label per class.


Let's say this is cat or cake for that matter.


It just sort of gives you very few bits of information.


But if you consider the text here, an orange cat and a white cat, an orange and white cat,


you know that there is a cat, right?


You know that it's one cat, you know what its color is orange and white, then you know


that there is a white cake, right?


So do you know the other object?


And you know the relation, they are near each other.


Okay, same for here.


A brown and white puppy.


So this is one object and the description of the object.


There is a there are apples, there is a green lawn, and you the relations between them are


also clear, the puppy is lying on the green lawn, and looking at the apples.


So the information in captions is so much more dense than just labels.


And that's the that's the backdrop here to say, hey, can't we can't we do?


Can't we pre train a backbone from maybe a small data set, but that has so much information,


like a caption date, image caption data set.


Okay, so their method is nothing more, they train image captioning, and then they use


the visual backbone for transfer learning.


So this is the model.


There's an image.


The image goes into this visual backbone right here, which is a resonant 50.


So this is a very, very standard convolutional neural network.


And that gives you these features.


So these features are seven by seven by 2048.


This is the standard output of a resonant 50.


And then, from this part on, they do a linear projection, such that they can now input it


into a language model.


So they have visual features.


And now they feed those into the language model.


And the language model is just a transformer, actually two transformers.


So one transformer, they're both auto regressive, one transformer tries to predict the caption


in a forward way.


And the other transformer tries to predict the caption in a backward way.


That's down here.


Now, in this direction is backward because the caption has been reversed.


If you don't know what a transformer is, I've made several videos on transformers.


The first one is attention is all you need.


And that's sort of the same, the same kind of transformer they use here.


So as you can see right here, you have this multi head attention, the layer normalization


attention from the decoder.


Now the difference between the original Waswani attention is all you need transformer, and


this one is that in the original transformer you had, for example, if you had a machine


translation task, you would have the French, maybe a French sentence over here.


And then you would have the beginnings of German sentence here, right?


This is what you have already produced.


And now you're asking, what should the next word be?


And the architecture was such that there is a decoder transformer right here, and that


there is an encoder transformer that encodes whatever you already had.


And then at some point, there is this cross attention, right?


There is the signal from the decoder going into the encoder, and the encoder incorporating


that.


And then at the end, right here, the encoder would predict or the entire transformer would


predict what the next word will be.


The only difference right here is that the decode this, sorry, I mix this up.


This is the decoder, this is the encoder.


The only difference right here is that this encoder is no longer a transformer.


But is this resnet?


This resnet 50?


Okay, because now you don't have an image as a you can think of it like a translation


task, you want to translate from images to text.


Okay.


So your input is going to be an image.


And the signal is going like it would go in the original transformer into the decoder,


it would come from the image.


So from these visual features goes here.


So in this drawing, this thing is going in here.


And then you simply predict the next word, and you do it in both directions.


And the reason you can do it in both directions here, this wasn't is not the case, of course,


if you have a a decoder, like a standard transformer test, because you don't need to do inference


at this, you just need to do training and training you can do using teacher forcing.


And so you can do this in a bi directional way, you don't need you don't need this at


inference time.


So at inference time, you simply cut off this part right here.


That's your visual backbone.


So these features here, those are going to be the features that you then train your task


on.


And sometimes you fine tune this or sometimes you keep it frozen, you can choose that.


Alright, so red convolutional network to encode the images that gives you features, visual


features, those visual features go into two transformers, both try to predict the caption


of the image one in a forward motion, one in a backward motion.


And you train it to predict as accurately as possible the gold standard captions that


you have in your data set.


That's it.


If you train this model, well, that means the model can produce accurate captions for


these images, which means that it has learned something meaningful about the image to the


degree, of course, that the original caption that was in your data set was a good descriptive


caption.


But we're just we're going to assume that the in these data sets, this is the case.


Alright, that's what they do.


Now, interesting thing here is that in their standard in their standard, in their standard


setup, they only have one of these transformer layers.


So of these things right here, they only have one.


And that's like, I think it's like 2000 units wide, but or sorry, the hidden dimension is


2000 units or 2048, but they only have one layer.


So what that means is that this transformer is not very powerful.


So most that you force most of the power to come from the visual encoder, the visual encoder


had basically has to do most of the work.


And then the transformer is going to simply be a very shallow language model on top of


that.


And that of course, makes your visual backbone even better.


Alright, we can pretty much skip the rest.


That's the idea.


Like that there's nothing more to it.


You train this from the beginning, you don't use any pre trained, whatever you train this


from scratch.


And then you use this.


And in the first experiment, they simply train a linear classifier on top of that representation.


So they freeze the backbone.


And then they use a linear classifier.


And they compare this to baselines.


So one of the baseline is image net supervised, where you use the same backbone.


But you train it on image net in a supervised fashion.


Okay, and then you use that backbone to transfer out of the text.


It's kind of like what big transfers us but just on the regular 1000 class image net baseline.


Then you have the sort of the unsupervised pre training ones.


So Moco so Perlis, Perlis, I want to go into Perl, but Moco is this momentum contrast,


which is one of these supervised methods that has been shown to work really, really well.


And this is also Moco EN is trained on image net, but now without the labels, because Moco


is unsupervised.


And Moco Coco is trained on the cocoa data set.


And the cocoa data set is what this paper here, the vertex paper uses cocoa is this


image captioning data set.


Now what's important to note is that cocoa has about 10% only of the images of image


net, so it's considerably smaller.


Now let's see how these things fare.


Right here, you can see on the x axis, the number of images, okay, the number of images


that the data set or that the pre training method trains on.


Now of course, some of these are going to be capped because for some data sets, there


are just not more images available, right?


So they're going to be capped here, the ones that are training on cocoa and the ones that


are training on image net are going to be capped here.


You can already see that the vertex outperforms the image net supervised baseline by pretty


much when you only give it this many images.


Okay, so the way you do it is, in this case, you simply train these models.


Now the brown one is when you take one caption per image, but the data set actually has more


than one caption per image.


So when you use more than one, you can still boost your performance a bit.


And that works way better than when you do this supervised pre training on image net,


which would get you here with about the same amount of images.


Now when you use all of image net, you can see here, you can get to a similar performance


right here, but you have to use a 10 times bigger data set to get there.


Right, so this already shows you sort of the advantage here.


Now also consider the difference to the unsupervised ones.


So if you look at the same amount of images, the unsupervised, self supervised baselines


are even lower.


But if you go to more images, they sort of get closer to image net.


And in their own papers, there are there are some evidence that if you self supervised train


for long enough, you can actually surpass image net supervised pre training, but I'm


not so sure that that's really the case.


But you can see here the trade off between higher quality information, but smaller data


sets, versus lower quality information, but more data per data set.


And yeah, if I guess if you were to, if you were to pre train these self supervised methods


with lots more data, in a self supervised manner, they would maybe end up even higher


than image net.


Now this graph here is sort of the same thing where they also train a linear classifier.


And you can see right here that now the image net supervised baseline is outperforming vertex


by a lot.


So what's happening here?


Now this here is actually this is on image net.


So the task here that you transfer learn is image net.


Here it was like a neutral task Pascal VOC, none of these methods have trained on Pascal.


They simply have trained on their own data set.


These have trained on Coco, this has trained on image net, and then they have transfer


learned to Pascal.


Now the task is actually the transfer learning task is image net.


So naturally, the the thing that was pre trained in a supervised fashion on image net is going


to have a huge advantage in this task because it basically has already learned the task


beforehand.


Whereas the vertex, it has pre trained on Coco, not on image net.


And you can see, if you give it the same amount of images for pre training, it can actually


it's it's fairly close to the image net baseline.


So that's pretty respectable right there.


Now, again, of course, if you use more images on the same data set that you then train for,


then of course, the the image net baseline is going to outperform it.


But so pretty cool to see here that in this smaller image regime, and also consider this


down here, if you go even an order of magnitude lower, it's really shining that if you have


higher quality information, and you make use of it, you don't need as many images.


And now we knew this for a long time.


But this now is showing the same for transfer learning for visual transfer learning.


So this was when we froze the backbone, and then we trained a linear classifier on top.


They go, they make a short excursion here and show how different parts of their model


affect their final performance.


And they find that for example, the by captioning, which I believe is the is forward and backward


captioning significantly helps for example, compared to only forward captioning.


And they also find that it significantly outperforms other pre training tasks that they could do.


And they also investigate whether how big their models should be.


So here, this is their baseline model.


Oh, I was I was wrong, actually.


They the it's one layer of width 1024.


You can see as you make the layer bigger and bigger, that generally helps.


But I guess they decided against it because the gains are too little to, to afford to


make it worth.


And also if you make the network deeper here, you make the transformer have more layers,


the performance goes up, but again, the gains are marginal.