dimensions, there is nothing here saying this is an image, it's simply a, a, a, a, a, a,


Perceiver: General Perception with Iterative Attention (Google DeepMind Research Paper Explained)

an image. It's simply a array of pixels. This, it, I think that's crazy. And, sorry,


this is a visualization of the attention maps. So in this model specifically, what they do is


layer one has a set of weights, then layers two to, I think, seven have a different set of weights,


and then layer eight has another set of weights. So layer one is the blue here, layer two to seven


share the weights, they're green, and the last layer, I don't have, do I have orange here? Okay.


And you can see that these are the attention maps of different channels,


and they stress that they don't overlay it on the image. So the attention map in the first layer


actually really attends to the image pixels, you can see the dog clearly in many, many of these


attention maps right here, like where it attends to clearly attends to parts of the, of the dog.


And it seems that it can do sort of edge. No, it kind of attends to the intensity of the pixels,


right in the first layer, then in the second to seventh layer, attention maps look like this. So


they look like sort of a grid. So they heavily rely on these positional encodings in order to


build up this grid. However, this grid is not always the same, it's sort of different for


different things. And then in the last layer, again, my question would actually be how I see


that these things are different from channel to channel. So these are the different channels


right here. But how different are they from input to input? Like, has the model just kind of learned


a general sequence of attention maps for all possible input images like that it works well,


because it's pretty, it's kind of suspicious, right, that these maps, they seem like, so my


question would be how much do these attention maps really depend on the input versus how much


are they just general attention maps, right? And, and so I can totally see that this model might


just do all the work in the latent transformer by simply having so many layers, and that the


attention isn't too important, like it would always do the same sort of attention, no matter


what the input is, and I can see a model like that totally performing well. So in order for me


to demonstrate that this idea really works as advertised, namely that, you know, the model


selects itself what it wants to attend to iteratively informed by the data and so on.


It would be cool to see that these things somehow depend on the data because this grid pattern


right now tells me that maybe they don't. Okay, so the last thing they also apply this as I said,


to audio, video, 3d point clouds, and I think they outperform other methods in these so they reach


state of the art in a bunch of them, which, you know, pretty, pretty cool. Of course, image


computer vision has been sort of the prime, or one of the prime disciplines of, of deep learning


research. So that's maybe a bit more competitive. Last thing I want to show here is the ablations.


So they find specifically that, you know, the number of latent variables, which is the, you


know, the size of the queue, the end, so that this is what we need to keep small in order to


avoid this quadratic bottleneck, you can pretty clearly see that as this goes up, performance goes


up. So this at least validates our intuition that if we could do bigger transformers, it probably


would be a good idea. Number of attends, I think that is how many times the how many times the


image goes into the structure. Also here, the more the better, and number of transformers per attend,


that's, you know, how many in between self attention layers do you have per time you attend


the image. So that gives your model time to process and time to decide what to attend to


next time. Also here, we see, we see a rise, though, it would be interesting to see like an


interaction term between between these two things. That will tell us if it's just about making the


model deeper, or, or not. Okay, so that was all I had to say, you can kind of check out the


attention maps they have here themselves, they have them for audio, they have them here, I think


for the video. And also, there are a bunch of experimental details that are also pretty cool.


However, I just think it's a cool idea. And I'm excited to see where people take this. All right,


Bitcoin Protocol Tutorial #8: Incentive

Hello and welcome to another Bitcoin Protocol explained tutorial video.


Bitcoin Protocol Tutorial #8: Incentive

This video is going to be covering incentive.


Bitcoin Protocol Tutorial #8: Incentive

So what is the incentive to support and work with the network?


Bitcoin Protocol Tutorial #8: Incentive

As well as what's the incentive say you have a lot of computing power to overpower the


Bitcoin Protocol Tutorial #8: Incentive

network, what's the incentive of either working with the network or overpowering the network?


Bitcoin Protocol Tutorial #8: Incentive

So let's go ahead and get started with the paper.


Bitcoin Protocol Tutorial #8: Incentive

By convention, the first transaction in a block is a special transaction that starts


Bitcoin Protocol Tutorial #8: Incentive

a new coin owned by the creator of that block.


Bitcoin Protocol Tutorial #8: Incentive

This adds an incentive for nodes to support the network and provides a way to initially


Bitcoin Protocol Tutorial #8: Incentive

distribute coins into circulation since there is no central authority to issue them.


Bitcoin Protocol Tutorial #8: Incentive

The steady addition of a constant amount of new coins is analogous to gold miners expending


Bitcoin Protocol Tutorial #8: Incentive

resources to add gold into circulation.


Bitcoin Protocol Tutorial #8: Incentive

In our case, it's CPU time and electricity that is expended.


Bitcoin Protocol Tutorial #8: Incentive

So here initially it's explained that the incentive to be a part of the network is to


Bitcoin Protocol Tutorial #8: Incentive

acquire coins as a reward.


Bitcoin Protocol Tutorial #8: Incentive

So this is also the chosen method for coin distribution in the network and is compared


Bitcoin Protocol Tutorial #8: Incentive

to people using resources to mine something like gold.


Bitcoin Protocol Tutorial #8: Incentive

The main cost obviously here is going to be CPU time and electricity, so how much electricity


Bitcoin Protocol Tutorial #8: Incentive

you have to pay for.


Bitcoin Protocol Tutorial #8: Incentive

So then the question is well what happens in the year 2140?


Bitcoin Protocol Tutorial #8: Incentive

So in 2140 all of the coins will be mined for Bitcoin.


Bitcoin Protocol Tutorial #8: Incentive

And so no coins will be awarded at this point for actually supporting the network.


Bitcoin Protocol Tutorial #8: Incentive

What if we don't even reach 2140 before the amount of miners and the network slows down?


Bitcoin Protocol Tutorial #8: Incentive

Well continuing on in the paper, the incentive can also be funded with transaction fees.


Bitcoin Protocol Tutorial #8: Incentive

If the output value of a transaction is less than its input value, the difference is a


Bitcoin Protocol Tutorial #8: Incentive

transaction fee that is added to the incentive value of the block containing the transaction.


Bitcoin Protocol Tutorial #8: Incentive

Once a predetermined number of coins have entered circulation, the incentive can transition


Bitcoin Protocol Tutorial #8: Incentive

entirely to transaction fees and be completely inflation free.


Bitcoin Protocol Tutorial #8: Incentive

So the idea here is to eventually move to a pure transactional cost system.


Bitcoin Protocol Tutorial #8: Incentive

Despite this sounding a lot like the current system we're in, where we've got two people


Bitcoin Protocol Tutorial #8: Incentive

that want to transfer money, we've got a middleman that we've got to pay, it isn't quite the


Bitcoin Protocol Tutorial #8: Incentive

same.


Bitcoin Protocol Tutorial #8: Incentive

This is still very much peer to peer and the transactional cost would really be a flat


Bitcoin Protocol Tutorial #8: Incentive

fee.


Bitcoin Protocol Tutorial #8: Incentive

The money isn't necessarily, it's not going to filter through a third party so to speak,


Bitcoin Protocol Tutorial #8: Incentive

it's still going peer to peer.


Bitcoin Protocol Tutorial #8: Incentive

But you still need that middleman to kind of be like almost a notary to say, hey yeah,


Bitcoin Protocol Tutorial #8: Incentive

these are the two real people, this is a real transaction taking place.


Bitcoin Protocol Tutorial #8: Incentive

Also the transactional cost would most likely be a flat fee.


Bitcoin Protocol Tutorial #8: Incentive

You wouldn't pay like a percentage on the transaction amount, it would be a flat fee.


Bitcoin Protocol Tutorial #8: Incentive

So really with Bitcoin we're talking probably one to three dollars to make a transfer at


Bitcoin Protocol Tutorial #8: Incentive

most.


Bitcoin Protocol Tutorial #8: Incentive

So right now competition for mining and all this is extremely high for people to acquire


Bitcoin Protocol Tutorial #8: Incentive

coins but when coins are no longer being distributed or if they begin to lose value, the actual


Bitcoin Protocol Tutorial #8: Incentive

hash difficulty is going to drop.


Bitcoin Protocol Tutorial #8: Incentive

And so it would simply just become easier.


Bitcoin Protocol Tutorial #8: Incentive

So whether or not you have 500,000 miners or 50,000 miners, you're going to notice relatively


Bitcoin Protocol Tutorial #8: Incentive

similar results when it comes to transaction speed and all of that.


Bitcoin Protocol Tutorial #8: Incentive

The only threat here is that if the number of miners was to actually drop, someone could


Bitcoin Protocol Tutorial #8: Incentive

more easily come in and execute a 51% attack at which point the question is, would it still


Bitcoin Protocol Tutorial #8: Incentive

not be worth attacking the network?


Bitcoin Protocol Tutorial #8: Incentive

And we will hit this question again in a moment but for now let's go ahead and return to the


Bitcoin Protocol Tutorial #8: Incentive

paper.


Bitcoin Protocol Tutorial #8: Incentive

The incentive may help encourage nodes to stay honest.


Bitcoin Protocol Tutorial #8: Incentive

If a greedy attacker is able to assemble more CPU power than all the honest nodes, he would


Bitcoin Protocol Tutorial #8: Incentive

have to choose between using it to defraud people by stealing back his payments or using


Bitcoin Protocol Tutorial #8: Incentive

it to generate new coins.


Bitcoin Protocol Tutorial #8: Incentive

He ought to find it more profitable to play by the rules, such rules that favor him with


Bitcoin Protocol Tutorial #8: Incentive

more new coins than everyone else combined, than to undermine the system and validity


Bitcoin Protocol Tutorial #8: Incentive

of his own wealth.


Bitcoin Protocol Tutorial #8: Incentive

So here's the express Y 51% attack.


Bitcoin Protocol Tutorial #8: Incentive

Even if someone had the resources, it doesn't really make that much sense.


Bitcoin Protocol Tutorial #8: Incentive

There's more incentive financially to actually work with the network and if the incentive


Bitcoin Protocol Tutorial #8: Incentive

was just plain malicious to kill the network or something, then this would prove to be


Bitcoin Protocol Tutorial #8: Incentive

a pretty costly endeavor.


Bitcoin Protocol Tutorial #8: Incentive

So neither of those options are really good options.


Bitcoin Protocol Tutorial #8: Incentive

Now again this is where the question is asked whether or not the network will still be as


Bitcoin Protocol Tutorial #8: Incentive

secure as it is today by 2140 and secure as in a relative to the day's mining power.


Bitcoin Protocol Tutorial #8: Incentive

See here I think there's a little less certainty about security as mining will be more about


Bitcoin Protocol Tutorial #8: Incentive

transaction fees rather than actually acquiring coins.


Bitcoin Protocol Tutorial #8: Incentive

Now keep in mind that every 10 minutes 25 Bitcoin is released right now.


Bitcoin Protocol Tutorial #8: Incentive

That's worth $20,000 every 10 minutes.


Bitcoin Protocol Tutorial #8: Incentive

So to match today's level of security or better put, to match today's challenge and reward


Bitcoin Protocol Tutorial #8: Incentive

in relation to CPU power of the day, you'd need $20,000 every 10 minutes worth of transaction


Bitcoin Protocol Tutorial #8: Incentive

rewards or transaction fees.


Bitcoin Protocol Tutorial #8: Incentive

So $120,000 an hour, $2.9 million a day or just over $1 billion a year in transactional


Bitcoin Protocol Tutorial #8: Incentive

cost fees basically.


Bitcoin Protocol Tutorial #8: Incentive

Now obviously this is measured of course in today's terms as well since inflation will


Bitcoin Protocol Tutorial #8: Incentive

probably make these numbers way bigger and to be at the same level of security so as


Bitcoin Protocol Tutorial #8: Incentive

the average computer gets faster, I mean this is all relative since breaching or working


Bitcoin Protocol Tutorial #8: Incentive

for the network is all going to be in relation to that day's current CPU standard.


Bitcoin Protocol Tutorial #8: Incentive

Now that said, really by 2140, so we're talking over a century, it's highly likely, first


Bitcoin Protocol Tutorial #8: Incentive

of all, that there will one, be a quantum computer.


Bitcoin Protocol Tutorial #8: Incentive

It's really, really unlikely that Bitcoin as we know it today will still be trucking


Bitcoin Protocol Tutorial #8: Incentive

along by then.


Bitcoin Protocol Tutorial #8: Incentive

We're talking over a century from the point of its development.


Bitcoin Protocol Tutorial #8: Incentive

So first off, who even knows?


Bitcoin Protocol Tutorial #8: Incentive

It's also highly likely we'll have like killed each other by then but also I don't know any


Bitcoin Protocol Tutorial #8: Incentive

technology that hasn't had to be evolved within a century's time.


Bitcoin Protocol Tutorial #8: Incentive

I mean if you just look at SHA-1 versus SHA-256, we already know that there are security differences


Bitcoin Protocol Tutorial #8: Incentive

between the two of them and that's just based on the CPU growth over time.


Bitcoin Protocol Tutorial #8: Incentive

Now I do think that all that said, it's something to consider at least though, you know, consider


Bitcoin Protocol Tutorial #8: Incentive

by 2140 the question of security but I honestly think, at least my argument is that there's


Bitcoin Protocol Tutorial #8: Incentive

no point in thinking that far out to 2140 as by then the game is going to have changed


Bitcoin Protocol Tutorial #8: Incentive

significantly and we'll all be trading like quantum coins or something like that.


Bitcoin Protocol Tutorial #8: Incentive

Also I will just, there will be another video pretty much dedicated towards this specific


Bitcoin Protocol Tutorial #8: Incentive

thing as far as how Bitcoin will evolve or can Bitcoin evolve over time.


Bitcoin Protocol Tutorial #8: Incentive

I'll give you guys a hint, yes.


Bitcoin Protocol Tutorial #8: Incentive

And actually it can evolve within the system of Bitcoin itself because Bitcoin is really


Bitcoin Protocol Tutorial #8: Incentive

one big voting scheme.


Bitcoin Protocol Tutorial #8: Incentive

It's really one big CPU, one vote structure and so really anything can occur within the


Bitcoin Protocol Tutorial #8: Incentive

realm of one CPU, one vote here.


Bitcoin Protocol Tutorial #8: Incentive

So Bitcoin can evolve and I pretty much guarantee it that it will evolve by 2140.


Bitcoin Protocol Tutorial #8: Incentive

I'll bet my whole bank account because by then I'll be dead anyways and so will everyone


Bitcoin Protocol Tutorial #8: Incentive

watching this.


Bitcoin Protocol Tutorial #8: Incentive

But anyway, that's going to conclude the incentive tutorial video.


Bitcoin Protocol Tutorial #8: Incentive

Basically the takeaway here is that there's, at least right now, a large incentive to mine.


Bitcoin Protocol Tutorial #8: Incentive

As we already know, the difficulty of mining is systematic and it changes based on the


Bitcoin Protocol Tutorial #8: Incentive

amount of miners mining.


Bitcoin Protocol Tutorial #8: Incentive

So it's always going to be the case, at least until 2140, that it's going to make fiscal


Bitcoin Protocol Tutorial #8: Incentive

sense, more fiscal sense to mine for the network than to attack the network.


Bitcoin Protocol Tutorial #8: Incentive

Especially because if you attack the network, you're going to, like first of all it's going


Bitcoin Protocol Tutorial #8: Incentive

to be very costly versus if you work for the network.


Bitcoin Protocol Tutorial #8: Incentive

We're talking, let's say you had over 50% of the network, well that means every 10 minutes


Bitcoin Protocol Tutorial #8: Incentive

you're going to get a 50-50 chance of getting those coins.


Bitcoin Protocol Tutorial #8: Incentive

So we're talking every 10 minutes, well every hour you would make $60,000 every hour with


Bitcoin Protocol Tutorial #8: Incentive

your 50-50 odds.


Bitcoin Protocol Tutorial #8: Incentive

So I would think that it would be in your favor to go ahead and work for the network.


Bitcoin Protocol Tutorial #8: Incentive

So that's it.


Bitcoin Protocol Tutorial #8: Incentive

If you have any questions or comments, feel free to leave them below.


Bitcoin Protocol Tutorial #8: Incentive

As always, thanks for watching, thanks for all the support and the subscriptions, and


Bitcoin Protocol Tutorial #8: Incentive


Can we Contain Covid-19 without Locking-down the Economy?

Can we contain COVID-19 without locking down the economy?


This is a question and I do care about this article because


Shai Shalef Schwartz is one of the bigger names in machine learning theory.


So, it was interesting for me to see what he and his collaborator here had to


say about the kind of outbreak and the strategy to contain it.


So, contain maybe isn't the right word that they asked.


I think the way they asked the question is how are we going to survive this the best?


And so, this in no means is an endorsement by me.


I'm not a medical professional.


Please just view this as a commentary and an explanation of what they are saying.


I'll give my opinions along the way, of course.


So, they identify three different models for handling the spread of COVID-19.


And we'll start with the third one because they argue for the first one and this builds more suspense.


So, they say there is countrywide lockdown, right?


Until the spread of the virus is under control.


They say it could take anywhere from weeks to months.


It is the safest route but it does not prevent a second wave from occurring.


Now, of course, if you have people, let's say these are people, right?


Then the thing is everyone just stays in there.


Stay in your house, right? Everybody, right?


Until it's kind of gone.


Now, they say correctly there is a risk of a second wave because only a single infected person,


because there's no immunity, still has the potential of creating another epicenter.


So, they don't consider this option.


The next option is called containment-based selective quarantine.


Which means find all the positive cases and put them in quarantine.


So, let's say we go here and, you know, we let you roam around freely.


But we know we can test people and we know that some of them are positive.


So, we simply tell them to stay at home, right?


Now, this depends a lot on how well you can test people.


And it also depends on what they claim the contagious time interval.


We know that there are people that are contagious without showing symptoms.


So, unless you can test every single person all the time, this is likely to not really help a lot.


Now, there is various data from various countries that actually shows it.


It can reduce the load, but they basically argue against that.


Because there are these contagious people and you can never test fast enough or accurate or thoroughly enough.


And then they say there is risk-based selective quarantine.


Which means what?


It means that, so, some of these people are going to be at risk.


And in this case, we obviously mean old people.


So, old people. I'm gonna draw them with a cane.


Not because old people aren't fit, just because they have better tastes in canes.


And then there are young people and they run a smartphone with TikTok.


And what we're going to say is that you youngsters, you're not really at risk from this.


So, you go out, you sneeze on each other, you go about your life normally.


And you old people basically stay at home until all the young people have immunity.


So, we ramp up the cases and then it flattens out eventually in the low-risk population.


And at that point, there is enough herd immunity, right?


All these people are now immune so that the old person here, even if they now go out again,


they won't catch it because everyone's already had it.


So, they argue for this particular strategy.


And, or at least they analyze this particular strategy.


Now, I have to say at the beginning that the core assumption here is that this quarantine


of the high-risk people, you can do basically in a perfect way.


So, the assumption here is that you are able to perfectly quarantine all the high-risk people.


And that the level of infection in the low-risk population has no influence on the level of


infection in the high-risk population.


And in my opinion, I simply don't believe that.


I simply don't believe you can build this quarantine.


I think even these old people, they need food sometimes, the nursing home need staff.


So, even if they can reduce their contact to the outside world, they cannot fully be


sheltered.


And that means the more infections you have in the low-risk population, the more infections


you will have in the high-risk population.


So, I think the fundamental core assumption of this model is quite flawed.


That being said, let's analyze it.


So, we assume that all the high-risk people, none of them is going to get sick because


they all stay at home.


So, the math in this paper is actually pretty basic.


So, we'll go through it a bit more detailed.


So, we will understand the core argument.


So, they introduce the following quantities, M here.


M is the low-risk population, right?


This is the population size.


V or new, let's call it new.


New here is the probability.


So, that's the probability that if you are sick, you need to go to the ICU, right?


So, sick means simply you have the virus.


And ICU means that the symptoms are so bad that you need help from the medical system


in order to overcome the disease, right?


So, if we multiply the population size by the probability that if you get sick, you


need to go to the ICU, what do we get?


We get a worst-case scenario.


So, basically, the author is here, and I find this is the good part of this analysis.


They really don't rely on kind of pandemic dynamics, epidemiology, exponential growth,


and so on.


They simply consider the worst case.


So, MD here, if you multiply these two numbers, what does that mean?


That is the number of severe cases.


Severe meaning you need ICU cases.


If everybody gets sick, if all get sick.


If everybody gets sick at the same time, right?


Same time.


So this is the word.


So, let's say we all go out, the lowest population, and we all sneeze in each other's faces as


much as we can, and we just all get sick at the same time.


Then this here is the number of people going to the ICU, right?


And if this, so they introduced this quantity B here, B is the number of beds in the ICU.


If the number of beds in the ICU is larger than the worst case, severe cases, right?


Then we are safe.


So that's the argument.


Basically, it's not that we are safe, it is no one will die from lack of an ICU bed, right?


Which is kind of the lever we have as a population.


If you assume everyone's going to get sick anyway, and so on.


So if the number of beds is larger than the worst case number of ICU patients, we are


safe.


That's at least how they define safe.


All right, so that's their premise.


Now what are they going to do?


They're going to find a quantity where they can bound this thing.


So they are going to find a bound, an upper bound on the number of severe cases.


And if this upper bound is lower than the number of beds, then they can say we're safe


with this method.


Say they see this as a worst case analysis under their assumptions.


All right, so I said they don't resort to any kind of epidemiological dynamics.


They simply estimate this thing from current numbers.


They introduce two more quantities here, P star and K.


Now K is the current number of severe cases, right?


So this is kind of an analog to this thing here.


So these two are connected.


This is the current number of severe cases.


And this up here is the total possible, like the worst case number of severe cases in the


future.


Likewise, P star here is the percentage of people, the percent of people that are sick,


right?


And they claim correctly this is unknown.


So if we could test everybody who is sick, not severe, just sick.


And up here, this has no connection, because of course, you can imagine here, another factor


times let's call this P plus or something, which is the number of people who are sick


in the worst case, which of course, in our worst case scenario is one.


So that's why they don't include it here.


So this is the current percentage of sick people.


So this here is a percentage.


And this here is an actual number.


Keep that in mind.


All right.


Now if we do some basic reformulation here, if we take this P star and multiply that by,


you see it in this corner here, multiply it by the total size of the population, right?


We get the number of people who are currently sick, sick, right?


This is the percentage of current sick ones, this is the total size of the population to


get the number of people who are currently sick.


If we take that in the denominator and put K here, which is the number of people who


are currently severe, then we get an estimate of this quantity new.


So remember what new is.


New is the probability if you are sick, you go to the ICU.


So the ICU means you're severe, right?


So these are the current number of sick people.


And these are the current number of severe people.


This gives you an estimate of if you are sick, right?


What's the probability that you're severe?


Now they argue that this number, it doesn't change independent of, so that this quantity


here is a constant.


So the probability that if you are sick from this virus, you go to the ICU, it doesn't


change over time.


So we can estimate it with current numbers, right?


Which is a pretty reasonable thing to assume that this stays constant unless the virus


mutates or something.


So we know the total size of the population.


We know the current number of severe cases.


You can make an argument about that.


So do we really know the current number of severe cases?


Because there's an exponential growth involved, this might be difficult to estimate.


And they say the same thing.


So they say this is the only time where they reference the dynamics of the situation.


It grows at an exponential rate.


So what we can do is we can take a worst case upper bound, they say to be on the safe side,


perform a worst case analysis.


So they instead of taking K, they add this confidence interval on it that is based on


concentration inequalities.


So they don't use K, they use this K tilde here, which has two additional summands here.


That is supposed to be an upper bound with confidence at least one over delta here.


And this you can set for example to be 0.05.


That gives you a 95% confidence that this is a upper bound on that.


Now this comes from some concentration bounds.


And there are certain assumptions behind this upper bound here, which I don't know enough


about to critique them here.


I'm going to assume they're reasonable.


If they are not, then of course, that is an additional point of criticism of this work.


All right, so instead of using K here, we are saying we're on the safe side and we use


this K tilde.


So we know this as well.


Now the unknown quantity of course, is this thing here, P star.


What is the percentage of people that are currently sick, right?


Yeah, so that the goal is now to find that.


So they say, okay, if we plug in this upper bound of K tilde, then with this probability,


we can upper bound this quantity new, which is exactly what we wanted, because we need


to upper bound MD.


That's what they say here.


So since at the top, we saw that M times new equals MD, and we want to upper bound MD.


So we can rearrange this thing, if we plug in these two together, we see that the M cancels


out, and we can upper bound MD by this quantity here.


The upper bound on the current severe cases divided by the percentage of the currently


sick people.


So again, they reformulate and they plug in, they, this, of course, needs to be smaller


than the number of beds.


So they plug this in here and they say, now what we have to do to see is if this quantity


is larger than this quantity of two quantities we know, then we are safe.


Now again, our goal is going to be to find a quantity that lower bounds P star, but is


larger than this quantity here.


And they do this via hypothesis testing.


They call this quantity here, they call it P tilde.


And they do a hypothesis test for classic statistics, where they ask is P star significantly


larger than P tilde.


If that's the case, then we're safe.


If not, we're not.


And how do they do that?


They say, okay, we have the population.


Right, I did draw this at one point.


Let's go back there.


We have the population here, right?


And what we can do is we can just go out and uniformly, uniformly test people.


Just randomly select people.


This is an old person, old people stay at home.


So we randomly select people to test and their test results come back.


And this one, this one's healthy, this one's healthy, this one's healthy, this one's not


healthy, right?


And so we have four tests and out of the four, one was positive.


Can we work out a hypothesis test from that?


So can we decide whether P star is probably much larger than P tilde or not?


And the answer is yes, because this is a uniform sample.


You can work out using classic statistical tools, whether or not you can reject an all


hypothesis or not.


And they actually work this out and they do give a number here.


And that's this.


So they say if we test n, which is four, let's say four and a half times this quantity b


divided by k, so the number of beds divided by the upper bound on the current severe cases.


So we test 4.5 times this many people, right?


Then if we find at least 10 positive cases or more, then with a probability of 95%, we


know that the risk based model is safe.


So the more, of course, the more infected people you find in this case, the better,


because that means because the number of severe cases stays constant at any given time, it


means that a lot more people are infected.


That means the probability that you are going to become severe is lower.


That's why it says at least.


So again, you go out, you test n people and according to this formula, plug in the numbers


here for your current situation.


If you find at least 10 people, then with a probability of at least 95%, you know that


this model is safe.


Cool.


And this is done using, you know, classic statistical testing, hypothesis testing literature.


So I think that is a pretty cool result.


But I do severely criticize the underlying assumption, which is that you can perfectly


enforce this quarantine.


Of course, if you can't, it means that there is a direct correlation between the number


of sick people in your low risk population, the number of sick people in your high risk


population, which means that more of the high risk population are going to get infected


as well, which again means that your number B of ICU beds is going to drop severely because


they have a higher hospitalization rate, which makes your entire model that we developed


down there less valid because now this used to be a constant in the model.


It's now no longer a constant, it's sinking.


And the worse it gets, the more it's sinking.


And yes, so that that may make what you initially thought was a safe model into a very non safe


model very quickly.


And that doesn't include all the high risk people that are going to be in danger additionally


because you can't enforce the quarantine.


All right, so this was my take on that.


Take it for what it's worth.


And I wish you a healthy pandemic.


I took a Swiss train and it was awesome! Train Seat Review - SBB InterCity 1 - Geneva to St. Gallen

Watch this.


Foldable armrest.


The interior of the car is very nice.


This is a comprehensive review of the SBB Intercity One train seat.


Yes, I have seen so many flight seat review videos that I've decided to make one about a train.


I'm actually alone right here, so otherwise I wouldn't dare make this video.


Let's first explore the seat itself.


The seat is quite wide.


The legroom is absolutely comfortable.


I can barely reach the other seat with my foot if you consider the alleyway.


My legroom is infinity.


Now in addition to that, look at this.


The table unfolds.


It's crazy the space that you have here.


Absolutely magnificent.


And then these very very neat cup holders.


In addition to that, every passenger gets a very personal disposal bin.


Look at that. Absolutely phenomenal.


There are air ducts built in under the seat which make for a very comfortable experience.


There's even some food on the floor.


So if I get hungry, I know where I'll find something.


And there is even an on-call button right here in case you have an emergency or want a drink or something.


I guess everything's fair.


Now in whatever case that this disposal bin here is full, there is another disposal bin right there.


I literally don't have enough stuff to dispose of to make use of all the disposal bins.


Let's check out the entertainment system right here.


This shows various destinations but I've been told one can also play games and watch movies and more things like that.


But for now I'm pretty happy with the programming.


Fire extinguisher. Absolutely nice to have.


Because you know the last thing you want on a train is fire.


Now watch this.


This is a giant toilet.


I can't even reach either wall.


Here we have some more disposal options.


Disposal for newspapers, disposal for waste, more fire extinguisher.


I'm starting to think that fire is a larger problem on trains than I might have realized.


Now this isn't even the best part yet. Watch this.


Foldable armrest. Unbelievable.


The Intercity one is the absolute top of its class. I can only recommend this train line.


I will never ever take another train than this.


The onboard service, the seating arrangements, the legroom, the food options, the entertainment system to perfection.


Self-classifying MNIST Digits (Paper Explained)

Check this out. So what you're seeing here is neurocellular automata that are learned to communicate with each other what digit they compose.


So every pixel you see is like a little cell and it communicates with its neighbors and only its immediate neighbors about kind of its surroundings.


And by doing that, all these cells that are connected components have to agree as to what digits they compose.


And here you can see the seven symbolized by gray and the three symbolized by green reach an agreement.


There are some interesting properties about these cellular automata. Namely here you can see that half of this thinks it's a two and the rest thinks it's a zero.


However, let's see when I complete this. No, it's too smart for this.


Well, look at that. Now it thinks a bit it's an eight. So you can clearly see there's like some message passing, some evolution going on across the states right here.


It doesn't work perfectly. I found it thinks a lot of times that it is in fact a zero as you can see right here.


But so the goal is that this direction of research isn't about state of the art in digit classification as you might be able to determine right here.


It's about neural cellular automata. And I highly recommend if you don't know yet, go watch my video or read the previous article in this Distill Pub Journal about growing neural cellular automata.


This paper here is a follow up. It's called self classifying MNIST digits. And it's by Ettore Randazzo, Alexander Mortvinceff, Edwin Nikolason and sorry,


Eydwin Nikolason, Michael Levin and Sam Gradenes. So this paper is an evolution of the previous paper.


And I'm going to switch back and forth here between the website and the thing where I can scribble on. So bear with me for that.


They're saying that growing neural cellular automata demonstrated how simple cellular automata can learn to self organize into complex shapes while being resistant to perturbation.


So that was the last paper.


Such a computational model approximates a solution to an open question biology, namely how do cells cooperate to create a complex multicellular anatomy and work to regenerate it upon damage.


Also from the last paper, the model parametrizing the cell's rule is parameter efficient and differentiable and illustrates a new approach to modeling the regulation of anatomical homeostasis.


Okay. In this work, we use a version of this model to show how cellular automata can be applied to common task in machine learning classification.


We pose the question, can cellular automata use local message passing to achieve global agreement on what digit they compose?


So that's the question right here. Now, again, I've done a video on cellular automata. But really, really briefly.


What you saw above is that there's an image and it's rasterized, of course, rasterized in two pixels. And each pixel represents one cell.


So you can think of this as basically nodes in a graph and each cell is connected to its immediate neighbors.


So each cell, let's take this one is connected to all its immediate neighbors, like so.


And of course, each cell, each other cell again is connected to its immediate neighbors.


Now, all they know is basically the so if I draw something on this canvas, let's say I draw, let's take this, I draw a two.


Okay, then you look at this cell right here. And of course, the cell, this is going to be it's the line would be thicker. So it's either going to be on or off.


It's either going to be I painted on it, or I didn't paint on it. And it can be in different variations, like there is an alpha level.


But ultimately, the each cell can only register whatever was set painted on it. Okay, so each cell can be dead or alive.


And dead cells, they will not send around any messages and dead cells is everywhere where there is no color at all.


So this would be a dead cell, this would be a dead cell. This one wouldn't be a dead cell because there is a little bit of color.


This will be a dead cell right here. So with this, so you can see that most cells here are actually dead.


Now the cells that aren't dead, they register whatever is painted on them, like this cell or this cell or this cell.


And then they need to communicate that to each other. And the goal is that all these cells that are alive, like these cells right here,


all the cells that are alive, they pass messages to each other, such that they all come to an agreement, what digit they compose.


If you imagine you're this cell right here, all you see is that there is a bit of purple on you, right?


There is a bit of purple. And it could be alpha level 200 out of 255.


And only by registering this and communicating this to your neighbors and receiving messages and then passing on those messages to other neighbors,


all of these cells need to come to an agreement. So how do these cells agree? Each cell in fact has a cell state.


So each of these cells has a cell state. And that cell state first and foremost is composed of 10 different slots, one for each class.


So what does it mean to agree on something? At the end of this procedure or over time, each cell in each round of communication can update its own cell state.


And whatever number is highest right here, so this could be a high number, this could be low number, I'm drawing a sideway histograms,


whatever one is the highest right here, that's what the cell believes the class is.


So you immediately see a bit how this is going to be trained. So this is going to be trained by these authors taking an MNIST digit,


placing that on the cells, letting this whatever procedure run, if the procedure is differentiable, right, you let it run for a number of time steps.


And in each time step, you basically impose a cross entropy classification loss on these 10 entries in the cell state.


That way, you train the cells to output the correct digit. Now, each cell has to do that by itself.


So the goal is to devise a communication algorithm such that each cell communicates with each other cell such that at the end,


all the cells will be updated as to what the global state is, as to what the digit comprises.


So what is this message passing right here? And for that, I think we need to first of all, imagine what is actually passed around here.


So if you see this sample above right here, and you imagine, let's say we are actually in this configuration on the left, and there is a slight bend,


let's say here, we're in this part of the number two, there's a slight bend right here. So what you can see, maybe,


let me draw this a bit more clear, is that, for example, this the blue cell will register, will by message passing,


it can register that there is an alive cell right here. But this alive cell will also register that there is no, there is a dead cell next to it.


So it can pass on that message to the blue cell and the blue cell will sort of know that ah, there is kind of a border over there,


then also diagonally to the blue cell, it will register itself, wow, there is a dead cell right here.


And that's right below this alive cell above. So there must be some kind of a bend right here.


You can already see how through this sort of message passing and in this cell right here, of course, will its neighbor is also dead.


Through this message passing, these cells can kind of figure out together the kind of more global shapes and they will recognize ah, there is a bend.


It's something like this, right? And then other cells, maybe down here, will figure out, well, there is actually a corner right here.


And then other cells on top here, they will figure out, well, there is actually a bend like this. And then they can communicate this to each other.


So these cells right here that have the corner, they will at some point receive this integrated message that there is a bend on top.


And then they can make sense of that, right? And say, well, we are a corner and there is a bend on top and there is, so there must be a digit that's something like this, right?


And you can already see that at that point, they can be fairly sure that this is a two.


So you can see that the combination of message passing and kind of think if each cell thinking by itself can give rise to this kind of each cell coming into global agreement, not only agreement, but correct agreement.


So the message passing itself, again, described in the last paper, but really briefly, there is these 10 entries right here that decide on what the cell believes the state is.


And then you can have extra entries that are just kind of latent state. There is no loss imposed on these latent variables.


But ultimately, the cell state consists of this long vector. And then this vector is passed on to all the neighbors.


Okay, this vector is passed to all the neighbors, and all the neighbors send their own state vector to this cell.


Now, the state vectors of all the neighbor cells are then integrated. So each one has this vector, vector, vector, vector, vector.


These are all integrated together with the own state of the of the cell in a linear fashion. So there's like a small neural network in between.


And that will update the cell state. In fact, I think they calculate a diff to the cell state, they don't calculate the new cell state.


By definition, it they actually calculate a diff. And this should remind you of. So if you if we just look at this one dimensionally, right, so here's the cell.


And there is its neighbor, its neighbor, its neighbor, neighbor, and then the diagonal neighbors.


And we want to update this cell right here, as a linear combination of all the cells surrounding it, and itself.


And we want to do that for each. So each cell has the same update rule. So it doesn't matter where the cell is, you're trying to come up with one rule,


how to integrate the surrounding states into the cell itself. This is so the biological kind of reasoning behind it is that all the cells follow the same rules,


but by virtue of where they are and how they communicate, these global patterns can arise. And, you know, this this cell will update.


And then if we consider the next cell next to it, it has its neighbors, it will update according to its neighbors.


This should remind you of a convolution, right, because this is exactly the convolution. So there will be a convolutional operator, a three by three convolutional operator, right here.


This can be multi channel, of course, because we have multiple channels right here in the cell state.


So the convolution will be learned once globally, which is exactly what a convolutional operator is a convolutional kernel, it will be learned to update the cell states.


In fact, it's a it's a residual convolutional connection, right, this goes through the convolutional kernel, and this then added together with the signal itself to give rise to the new cell states.


So one convolution across the entire image will take care of updating all the cells in one round of message passing.


And then now contrary to a convolutional neural network, where then the signal would go into the next layer into the next convolutional kernel.


Sorry. This is then repeated with the same convolutional kernel, right, the message passing algorithm is the same in each round.


So this is a recurrent neural network with a residual convolution as an operator.


That is the model for kind of the biological cell communication algorithm.


So these are these neural cellular automata. The difference to the last paper is twofold.


First of all, in the last paper, we had RGB values up here. Now it's the class labels.


So these are also passed around so that the cell passes to its neighbors what it believes the current labels are, but also these hidden features right here.


And we'll come to this in a second. And the second difference is that the dead and alive cells are static.


So where these dead cells, where the dead cells and where the alive cells are, that never changes.


That used to change in the last paper. Here it never changes. It's only about passing the messages around between the cells.


All right. So this is basically it. So this is a model for agreement between cells.


I think it's pretty cool. I would still like to go more into what exactly happens, what kind of messages are passed around.


But they do this a little bit. So they have a bunch of experiments. How do they train this stuff?


Basically, how do they train this stuff that I can, you know, I can change it in between and it will actually it will update it live.


So the cells, you can't only do this once. The cells must have a notion of continuously being alive,


continuously updating themselves, continuously being prepared that there is some sort of a modification to the cell.


And that's they do this by. So here you can see, can I zoom? Well, I can't.


Now I can. Here you can see that this is how they train it. So they just initialize the cell states randomly.


That's why you see there are just random colors right here. These are MNIST digits.


And then they train these cells, all of them to predict the label of the MNIST digits, which they have in the training set.


And then so you can see once you've trained it, that happens fairly, fairly quickly.


And then after 200 steps, they simply switch out the digit. OK, they leave all the cells as they are.


Of course, some cells will be dead now and some cells will be alive. The ones that come alive will just be initialized randomly.


But there are always going to be cells that are going to be present in both digits and those will just keep the label.


But, you know, usually the the digit here changes with a 90 percent probability.


And since this is one long run of a recurrent network, the network sort of has to always be prepared for a change because it's trained with this mutation.


So it's trained for 200 steps in the first digit and then it's switched and trained for 200 steps with the second label.


That causes these cells to kind of always be ready for change. And that's yeah.


So you can see there are still some artifacts where the cells that they're not quite sure and so on.


And in fact, they get worse over time. If you pay real close attention towards the end of these cycles, it actually gets worse.


So after a while, some of them will start flickering up again. And that's a problem they've observed.


And they go into this right here. So they have these graphs of accuracy over time.


So accuracy means average cell accuracy. So they just take all the cells and they see how many of them are correct.


And you can see at the beginning of training pretty quickly. Sorry, at the beginning. This is inference.


So inference, of course, you also do over time. Right. So this is an inference. You provide a digit.


You initialize randomly and then you let these cells communicate. So you run the recurrent convolution algorithm and you count how many cells output the correct label at each step.


And pretty quickly reaches high up and then you can see at the mutation, it drops down to random again, but also pretty quickly recovers.


So it sounds pretty good, but you can see a teeny tiny bit right here. It's kind of going down after, you know, over time.


And so they determine they need to do something about this. In fact, they first of all, they want to make a point that you have to figure out what exactly is happening.


So here they have average cell accuracy. But what they also decide to measure is average total agreement across the batch.


So average total agreement basically means how many of the cells within a digit agree with each other on the on the label, which is sort of a measure.


If this is really an MNIST digit, you know, it should be perfectly in one class and not the other.


I know there's some ambiguity, but so what you should have at least even if the cells are wrong, you should have a total agreement in the cells.


If this is in fact a digit, the cells should somehow agree with each other because that's what you train them to.


You train them to agree with each other. And you can see again here as well, pretty quickly you have an agreement after a number of steps.


And then that agreement drops again, strangely, right? Because they've already reached an agreement.


You might think this will sort of maybe it will hamper down, but it might slightly go up. But no, it actually slightly goes down over time.


So why is that? They also analyze this here and I'm sorry about this chopped up graph.


But you can see that the here are the state values, here are the sizes, the real numerical sizes of these entries in the states.


And you can see that they grow over time. So not only do they grow until the agreement is reached, but also they keep growing after that.


And here are the diffs from state to state. And you can also see that these never go to zero.


So why is that? And they have a hypothesis right here. In fact, they have the hypothesis this is due to the cross entropy loss.


Now the cross entropy loss is kind of the most famous loss for classification.


So usually what you'll have is your neural network will output some distribution like this.


Let's say it's three classes. So it believes that class number two here is the correct class.


And then you have a label which you transform into a one hot distribution where this is one, these are zero.


And then you perform this cross entropy loss between the two, saying that the left thing should be more equal to the right thing.


And you do that in the sense of, so this is the kind of the entropy formulation.


But what you actually do is this y log p. So p here is going to be the distribution that you output.


And y is going to be the distribution that the network outputs.


You can pretty clearly see y is going to be zero for all the classes that are wrong. So the entire loss reduces to simply the probability here of the, sorry that there is a negative, the probability of the class that is correct.


So what you want to do is you want to push that up. Now, of course, just looking at the loss, only the correct class is pushed up. Nothing else is done.


Now, you also know that most of the time we combine this with a so called softmax operator. So what our network outputs isn't actually a distribution, it's what we call logit, so an unnormalized distribution.


So what it actually outputs could be something like this, a high number, a negative number and a negative number.


And only by matter of normalization, we reach this distribution.


So the softmax operator will take care of normalizing. And also the softmax operator, because of the normalization, when we back propagate this loss, it causes this logit here to rise and it causes these ones to lower because of this normalization step, not actually because of the loss.


So I think they so they correctly say here is the cross entropy loss, but it is the cross entropy loss combined with the softmax operator that we usually use in neural networks that makes this phenomenon happen.


So what is actually happening here? If you look at the softmax operator, what it does is it's like e to the x divided by the sum of e to the x prime overall, overall other classes.


So you can fairly easily see that these exponential function here is never ever ever going to be zero. So you can never have a zero entry right here.


So the loss forces you to push this thing up, but because you can never have zero entries there, of course, this can never be one. So you can never actually reach perfect loss. And what does it do to the logits, you cannot reach perfect loss, but the gradient will always push you into the direction of upping this logit and downing these.


So raising the one that is correct, and lowering actually into the negative direction, the ones that aren't correct. So you can see that if we do this once, no problem, if we do this in your single neural network, forward propagate, calculate loss, not a problem.


But if we do this over and over and over and over again, in a convolutional neural network, and we let it run for infinite time, of course, what is going to happen is that these things are going to explode more and more and more.


So these losses are going to get bigger and bigger, which makes the entire rest of the network behave in a bigger and bigger fashion. That's exactly what you see here, because these simply the numerical values in the states, they will be bigger and bigger and bigger, because they push the network into the direction of more and more and more reducing the loss thereby raising the logits.


So there's, it's very disproportionate. At the end, you have to raise the logits by a lot to reduce the loss a little bit, but the network doesn't care because that's what it was trained to do.


So they hypothesize if we use an L2 loss, this shouldn't happen. Now in an L2 loss, you do not compare, you don't output logits, you output actual probabilities, and you simply compare the L2 distance to them.


So if you compare the L2 distance right here, yes, you will push this one up. But if you push it too high, then it's too high, and then it will be pushed down again until it is exactly the same level as the other one.


Now, the disadvantages here is that of course, this isn't actually forced to be a valid probability distribution, and you can normalize it, yes, but you can go too high. So you can output probabilities higher than one, and so on. So there's a whole slew of problems that come with this, but you can counter this.


So beside using an L2 loss, they also have another on top idea in that they always add noise to these residual updates that they do after the convolution, just kind of to keep the network on its toes, saying that everything can always change with noise.


So in each step, it basically has to do some of some correction with respect to that noise. And here you can see the clear difference, especially in the lower plot, where the total agreement before this blue line was when it went down over time.


And now with the L2 loss, and even a little bit more with this residual noise, it manages to keep the total agreement up and solve that problem. And you can also see that the average magnitude of the updates no longer is rising over time, but actually keeps it's keeping the same for the cell states and the updates converge towards zero.


Of course, not as much with the noise because the noise makes them. The noise will make them non zero the updates, but still they are at the same magnitude so they managed to correct that noise and not incorporate more and more and more likely cross entropy loss.


So this, I don't want to go into the last few bits except this one. These cells have some interesting properties. Notably, they're also resistant to kind of out of distribution errors.


And we can see that in this video where you can see it's classifying it fairly solidly as ones, but as soon as you and he's this is supposed to be a seven, but as soon as you draw a shape that is not kind of in the training or set or in the classes of the training set, the cells, they keep disagreeing with each other.


And so this you can see as sort of kind of a robustness to out of distribution samples. And it's also pretty interesting to see that the messages here, where they go from.


So you can fairly clearly see that if you draw some kind of shape that the message passing starts at kind of the most symbolic parts of the digits. And here they have some chimeric digits or something they call it like this.


And just pay attention to where the messages start and you can clearly see that this sort of local determination of what a digit is will spread out over time to the other cells.


And I thought there was this last thing.


This thing. Yes. So here, not only do they visualize the cell state, so the color of the cell, and that's the thing on the left is always the first 10 entries in this hidden state.


But on the right, they also visualize the other hidden entries. And so each entry is represented by a two color thing where blue is very low number, red is a very high number. And here you can see what these latent states pass around.


And also you can fairly clearly see that they do pass around these kind of typical sub shapes of the digit. So in the case of a zero, that's going to be a bend in the case of a four, that's going to be these ends and corners of the numbers.


And you can see that over time, as these messages pass, also the cell states on the left, the visible states, the class labels change over time.


This lends a lot of credence, especially the six I like, if you or the two.


You can see in the different if you kind of look at the different latent states that the kind of typical the bends the corners, every latent state is sort of assigned to one of them.


And then they pass this information around in order to reach an agreement.


So I like this research, pretty cool research. I don't want to say it's very useful, but certainly it's very interesting. And I also like the format in this distilled format.


I think that's sort of the future of research rather than eight page PDFs. You can look at it, it's interactive, you can have a little demo in it.


You can write for as long as you want. And yeah, it's just over overall better. This is still going.


Doesn't know what it is. So lastly, you can, as I said, you can clearly see that, look, if I do this, it's a zero.


But if I do this, then the stem part will immediately go for a six because that's indicative of a six.


But then it will disagree with the zero part of the digit.


In fact, I seem to be unable to write a six. Is that an American six? Maybe.


Yeah, so with that, I'll leave this here. I think this is, again, very interesting, this kind of biological models.


And certainly if you're looking for an exciting research directions, this might be it.


And you do not need a lot of resources to do this. This is very parameter efficient, as we saw in the last paper, and certainly kind of a niche right now.


Exploring an AI’s Imagination (Stable Diffusion and MidJourney)

There are now multiple AI models that can depict through imagery anything that you can dream of.


You can either let the AI come up with its own styles and ideas or, through prompting, get as specific as you want.


And you can get quite specific.


Now, not everything has to be fantastical. We can, for example, just depict a hotel lobby.


Now, you might notice that some of the depictions have a sort of drawing or rendering feel to them.


This seems to be the default artistic style, so to speak, for the model that I'm using here, which is Mid-Journey.


But through some clever prompting, we can elicit some other stylings.


So, for example, maybe we want more of a cartoon style. We could also go for more of a sketch style.


Now, getting more realistic seems to take a bit more effort from this model, but still somewhat doable with keywords that influence the model to try to generate imagery to match more high-quality renderings.


So, for example, here we have an initial prompt and then some keywords to indicate a higher-quality image.


I wish I could say I've got this down to a science, but I actually wound up just writing a program to append some keywords to the end of the prompt for me and just trial and erroring until I got imagery that I was happy with.


Beyond adding more detail as a sort of styling and keywords, you can also influence things, like colors.


So, for example, maybe you want a black-and-white-themed hotel lobby.


Or maybe you want blue and gold.


Or you want a hotel lobby, but the floor is lava.


All of the images shown so far have been created with MidJourney, which is a Discord-based text-to-image generation application.


MidJourney produces the highest-quality images that I've seen so far from text-to-image AIs, but it struggles in one area in particular, and that's with realistic-looking images.


If you're looking to make imagery that's artistic or conceptual or rendering-like, there is no question that MidJourney is probably exactly what you're looking for.


But what if you're after realistic-looking images?


What I mean by that is images that don't look like they're renders and instead look like actual images of real life, even if maybe they look like they're Photoshopped or something like that, but realistic, real-life-looking photos.


For this, there's actually an entirely open-sourced and free model that you can just go and download called Stable Diffusion.


Now, there are also options to pay to run the model in the cloud.


The one that I would recommend that you start with is DreamStudio.ai if that's what you're looking for.


So if you don't want to futz with making the model run locally or figuring out how to run it in the cloud for you, I would check out DreamStudio.ai.


That's the official kind of cloud application for Stable Diffusion.


But if you do have a local GPU with about 10 GB or more of VRAM or you just want to run it on CPU and RAM locally or in the cloud just a little bit slower,


then you can actually just download the entire model and run it open-source from Hugging Face for free.


I will be putting links to all of these things in the description, so definitely check out the description if you're looking for anything that I'm bringing up here. I'll have links in there.


Now, let's compare these two. Imagine you want an image of Darth Vader go-karting with mid-journey.


The imagery that you'd get might be something like this or this.


Now, don't get me wrong. I love this imagery from mid-journey. These are awesome.


But sometimes we want something that looks real and not conceptual.


From Stable Diffusion, we get, well, Darth Vader actually in a go-kart in realistic-ish looking imagery.


And those images are still very unlikely.


So what if we want to return back to the hotel lobby example, but with blue and gold theme?


Again, the results that we see here are far more like realistic and plausible looking actual photos as opposed to design or a concept or a render-like imagery.


So what do we do with all of this?


Both Stable Diffusion and mid-journey are in what I'd call active development.


They're both constantly getting better. Plus, they're just simply not alone here.


There are quite a few other text-to-image models in development right now and likely going into the future.


This is truly just the beginning.


And also, while the resolution of something like Stable Diffusion is 512x512, you can combine this with upscalers,


which is exactly what's being done with the mid-journey images that I've shared here.


There's not yet an upscaler specifically associated with Stable Diffusion,


but there are quite a few upscalers in the wild at this point, and I am sure many more to come as these models become more widely used.


With both mid-journey and Stable Diffusion, I can see them being viable right now.


So things like environments and characters and costumes and all that kind of stuff seem to be really well done by mid-journey, for example.


But mid-journey isn't the first, and it's certainly not the last text-to-image model to be artistic in this way.


Next, I think Stable Diffusion-like models are a very clear and obvious incoming replacement for stock photos and imagery.


It's less artistic compared to mid-journey, but can make some pretty impressive stock photo imagery,


as well as other more realistic-looking photos of whatever you want, which is where mid-journey, at least for now, suffers a bit.


So, for example, say you want a conference room. Here's one, here's another one, and another.


We can essentially make infinite, unique images of whatever we want just by essentially just changing a random seed.


There are other things that we can tweak too, but that's really the only thing that you have to change.


But these images, they don't have to be so boring. So, for example, what about a Porsche 911?


We could get even more specific. What if we want a Porsche 911 in the mountains? Maybe another. You get the idea.


Maybe instead we want a Porsche 911, but in the jungle. You got it.


How about a Porsche 911 on the beach? Okay, maybe everything is just too easy. What about a Porsche 911 surfing?


Alright, that was a little harder, but surprisingly okay. I'm not sure what I expected with that prompt.


So, how about a Porsche 911 in your living room? A bear? Scuba diving? A robot? Climbing a tree?


So, I think you get the idea, but we're not done yet.


One of the other interesting things that I just sort of stumbled upon just playing around,


that I've honestly not seen anywhere else show with these models, is how well they can mesh things together.


So, one example of this is using a prompt at A as B.


So, for example, we can do people to illustrate this.


And the first one that I discovered was an attempt to combine Elon Musk and Bill Gates with a prompt that was just simply Elon Musk as Bill Gates.


For an iconic Elon Gates, which I promptly shared with the world and likely disturbed many.


But it doesn't stop there. Another example is Elon Musk as Mark Zuckerberg.


These are just so interesting to me with how the features of the two are just blended together pretty darn well.


I can see both of them in this human that has been generated.


But imagine trying to do that in Photoshop and really capture the essence of these two individuals all in one.


It would be a hard task, I think. Whereas this just figures it out. And that's really cool to me.


Now, to make these, I usually just generate a handful, about 25 at a time with random seeds and then I just find ones that look good.


But it honestly doesn't take that long to do. So, how about another example? How about Brad Pitt and John Oliver?


Again, here are actual photos. This is Brad Pitt, John Oliver combined.


Again, I can't help but just be impressed with how well this model can mix the two.


And you can just see them both in there. You see it. They're there, but also combined. I think that is so cool.


Now, I don't quite know what to do with this capability, but there it is. You don't have to combine people either.


You could combine other things like Porsche and truck. And now you have some Porsche trucks.


Similarly to a recent video I made with Bloom, a massively large language model that's just been released for free to the world.


These are models that have historically been accessible really only to a very small group of people.


And now they're just plain generally available for either a very low price like mid journey or for outright free.


Like in the case of stable diffusion, I think that we're going to be learning a whole lot more about what we can do with models like these over time.


And I just like I couldn't be more excited to see how this really does like change the world.


I know it sounds like super cliche to say something like that, but these are like really, really powerful and creative technologies that are just barely understood by people to leverage them, even to the point that we've shown so far.


Also, I'm just struggling with just keeping up with the proliferation of these models.


And like I said with Bloom, most people in the world don't yet even have an idea that this technology exists.


So we're really just seeing a very tiny and honestly just biased group of people, mostly developers who are tinkering with these models.


But that won't be the case for long, especially as entities like mid journey, despite being paid, it is a very cheap way for someone with absolutely no programming experience at all to generate images through an application.


Now, if you are curious about the Bloom model that I've mentioned a few times here, I'll also put a link to that video that I did in the description along with all the other links that I'll be putting in.


At any rate, I think it's really important to reflect on like three or four years ago, image generation models were basically 50 by 50 resolution images of things like just human headshots, where it could just make more human headshots, you can specify what you were looking for and all that.


Now we're at 512 by 512 imagery of basically anything that you want or can think of, it doesn't even have to have existed before.


So I'm finding it really hard to even imagine like, where will we be in just a year from now? What about five years, 10 years?


Well, if this progress like continues at this pace, it's going to be insane. Yet again, I find myself saying, what a time to be alive and playing with this sort of technology and neural networks, deep learning, all of that.


If you're interested in learning more about neural networks, you can check out the neural networks from scratch book by myself and Daniel Kukiawa by visiting nnfs.io.


And like I said, links to all the things that I've mentioned here are in the description. I highly encourage you to go check out these two models. If you can pay for mid journey, do it. I think it's a good price.


If you can't afford mid journey, that's fine. I think there is a free trial. You can still just use your free trial and then be done.


Play with these models. It's just really cool to kind of play around and tinker around.


And the more people that we get kind of playing around and learning about these models, the more we can together learn what can we actually do with these models.


So like I said, I think both mid journey and stable diffusion are honestly ready for, they're like commercially viable right now.


Like if you're a game developer and you're trying to design some character or some boss or some environment, like this would be, it's a really cool way to get concepts and ideas.


And if you're looking for stock photos and imagery, stable diffusion can do some really impressive stuff, especially if you're looking for more typical stock photos.


But if you want something unbelievably specific, stable diffusion can do that for you too right now. And again, it's free. It's just, it's crazy. It's crazy to me.


So with all these things, you do want to be careful. I know mid journey has a, it does have a license and I want to say you can use it commercially up to a business of like earning a million dollars.


Anyway, you'll have to read like the actual licensing agreement to find out if you can use it commercially or what you have to pay to use it commercially. But like I said, I think no matter what, mid journey won't be the last paid one.


And at least for now, I think it's cheap enough to where, like I said, I think it's good because you don't need to be a programmer at all to use it.


And for stable diffusion, you can also just use dream studio.ai and pay a little bit. That way, again, you don't need any programming knowledge or expertise at all.


But if you do have programming knowledge and expertise, you can run it locally and do all kinds of cool things and just kind of just play around.


So for example, like I was saying with like the meshing, I tend to generate like 25 images at a time. It's a little cost prohibitive to do that on dream studio.ai, but locally, who cares?


So anyways, really cool stuff. I just I can't believe what's coming out right now and including the stuff that's for free, but also mid journey, despite being paid, it's a really well done app.


It's so fun. I've spent so many hours just like making stupid images on mid journey that probably no one will ever see. But it's just so fun.


It's very addicting. And then with stable diffusion, like I said, I think we're still going to have stock photo websites and stuff, but I think it will be AI based like stable diffusion is.


So it's really exciting to see where we're headed and to start thinking about where will we be?


So anyways, that's all for now. Till next time.


Bitcoin Protocol Tutorial #9 - Reclaiming Disk Space

Hello and welcome to another Bitcoin protocol tutorial video.


In this video we're going to be discussing the reclaiming disk space section of the Bitcoin


protocol paper.


This section is actually pretty simple, but the diagram and the vocabulary might be daunting


to people who are unfamiliar, so I'm going to do my best to go ahead and simplify this


section for you guys.


The main idea here is basically compression, so how can we have all these transactions


occurring require everyone to have awareness of the full blockchain history and transaction


history, yet also keep this somewhat digestible and usable.


So with that in mind, let's go ahead and hit the paper.


Once the latest transaction in a coin is buried under enough blocks, the spent transactions


before it can be discarded to save disk space.


To facilitate this without breaking the block's hash, transactions are hashed into a Merkle


tree with only the root included in the block's hash.


Old blocks can then be compacted by stubbing off branches of the tree.


The interior hashes need not be stored.


A block header with no transactions would be about 80 bytes.


If we suppose blocks are generated every 10 minutes, 80 bytes times 6 times 24 times 365


equals 4.2 megabytes a year.


With computer systems selling with 2 gigabytes of RAM as of 2008, and Moore's Law predicting


current growth of 1.2 gigabytes per year, storage should not be a problem, even if the


block's headers must be kept in memory.


So, what's a Merkle tree?


What do they mean about root?


Just block hashing, stubbing, all this stuff.


And what's this diagram?


Oh my god!


So let's break this down.


As you already know, we're able to verify blocks because if you keep hashing input,


the order of the input is exact, and so the same input will yield the same output.


We can use this sort of thing not only for security, but also for condensing things.


So the idea here is you see these Merkle trees, and we can prune all but the last transaction


basically from it.


And from record, right?


So the full blockchain doesn't grow to an absurd size super quickly, and also the current


thing that we're viewing wouldn't be too large either.


So instead of explaining this step by step and what exactly a Merkle tree is, all of


this, how about we just cover an actual example, and this is going to pertain to this diagram


anyways.


So let's say in a block you've got four total transactions.


So to keep us in line with the diagram at least, so you've got transaction 0, 1, 2,


and 3, denoted as TX.


So to build this tree, you'd start with hash 0, 1.


So this hash 0, 1 is the parent of the hash of 0 and the hash 1.


And so that's a hash 0 and hash 1, which are hashes of transaction 0 and transaction 1


respectively.


So from those transactions, we would take T0 and T1, or TX0 and TX1 into account first.


So you'll hash transaction 0 and transaction 1.


Then you're going to do a SHA256 of hash 0 and hash 1, and this is going to give you


hash 0, 1.


The same is done for transaction 2 and transaction 3.


So first each of these are hashed.


Then we take a hash of a hash to make hash 2 and hash 3.


Then we take a hash of those for hash 2, 3.


Then we hash 0, 1 and hash 2, 3, and boom, we've got ourselves a root hash.


Keep in mind, every block header or block hash contains that previous hash, a nonce,


and the root hash.


So pretty much you've got everything contained within this block header.


So that's going to cover the reclaiming disk base section.


I don't really think that this one's as necessary to fully understand, but there it is for you


just in case you're curious.


But the idea of it is just simply to make sure that this stuff is easily consumed by


people.


So really after this you should be able to see that even if you were forced to keep all


this stuff in your RAM, it would be totally fine.


And then the full blockchain today is still only, I forget what the size of it is, maybe


14 gigabytes or something today.


So anyways, that's going to conclude this section.


The next section is going to be covering payment verification or it's titled simplified payment


verification.


And the idea here is how can we verify payments without even running a full network node so


to speak.


So anyways, that's what you have to look forward to.


As always, thanks for watching, thanks for all the support and the subscriptions, and


[ML News] New ImageNet SOTA | Uber's H3 hexagonal coordinate system | New text-image-pair dataset

A new benchmark makes GPT three look like a conspiracy theorist, a nonprofit builds a giant


data set of text and image pairs and Jürgen Schmidt Huber claims that Turing is massively oversold.


Welcome to ML news. Hello, hello, everyone. Welcome to ML news. Let's dive into our first


story. Truthful QA is a new benchmark that probes language models about being truthful. Now I've


made an entire video on this if you want to know what's going on. But very briefly summarized,


this benchmark contains questions such as who really caused 911 and let's the language models


answer turns out the bigger the language models get, the less truthful they become, which has


caused quite an uproar on social media. So people claiming that of course, these language models


are bad, they're biased, they're terrible. Now it turns out this entire effect is 100%


due to how these people define truthful, namely if the model simply outputs, I don't know,


or it's nice outside, it's counted as true. Second, the way they create the data set is by


deliberately trying to fool these models, and then even throwing out questions that the model


gets right. Third, if they also measure informativeness next to truthfulness, it turns


out all of this effect just goes away. And lastly, when they reformulate the questions to ask the


same things, but not in this sort of adversarial way, the larger models are actually better. So


I've said this previously, if anyone cites this as an example of how terrible these models are,


without explicitly telling you how these data sets were created, and what the real findings


of this paper are, they're either not informed or they're being deceitful. If you want to find out


more about this paper, watch my previous video, I explain all in detail. Next up, Lyon has a 400


million sample data sets of pairs of text and images. So as we move away from single modality,


deep learning research to multimodal deep learning research, connecting things like images and text


has become really important and high quality samples in order to train models that connect


images and text is quite an asset to have in the community. So this data set is just available for


you to download. Now I know that's weird, because in recent times, it has become fashionable to not


release these data sets because they represent quite a bit of value. But Lyon releases this


completely free for you to download what you have to be aware of with this data set is a little bit


the issue that it has been created by filtering the collected pairs from common crawl by using


open AI is clip model. Now not only has open AI released only the smaller clip model as far as


I'm aware, but also basing a data set off of a model that was already trained, of course introduces


all the kinds of mistakes that these models have made into the new data set. So be aware that if


you train something like clip on this, you will reproduce some of clips mistakes. However, I still


think it is a really cool resource to have available. Speaking of Lyon, this is a new nonprofit


AI conglomerate. Their slogan is truly open AI 100% nonprofit 100% free. Wait a minute, inspect


edit.


There fixed it for you. Now this is only the beginning of this data set. In fact,


they do have a crowdfunding campaign if you want to help sponsor collecting even more data for this


data set. They also provide a little app where you can use clip to search through the data set. I


tried it here with yellow train, I was not disappointed. So if you want to see these data


sets get created, consider supporting these people or I'm pretty sure they'd also be happy for a bunch


of citations if you actually build something made of their data sets. Next up Google releases not one


but two new architectures in computer vision. The first one is called efficient net v2 and is a


result from architecture search and combining ideas such as depth wise convolution to make training


these networks way way faster. And as you can see, the performance boosts that you get are


significant over comparable networks. So you reach better accuracy in less time. Not only do they have


the new architecture, but they also give training recipes for how you need to train these models to


achieve the best performance. And this mainly starts out with at the beginning, you want to do


not a lot of data augmentation. But as training progresses, you want to turn up your data


augmentation to cover more and more variations of the data given that we work with smaller ish data


sets here, this helps the model prevent overfitting and makes it generalize better. The second one is


called code net, which combines convolutions and self attention. So they say that depth wise


convolutions and self attention can be naturally unified via simple relative attention. And then


they stack the convolutionals and attention layers, they say in a way that considers their capacity


and computation required in each stage. So this is a hybrid architecture. And we're no longer


talking about small scale data set here, though they say this model achieves comparable accuracies


on small data set, it really shines on larger data sets. And of course, it achieves a new state of


the art in top one ImageNet classification. I love how the graph here in the efficient net v2 has


training time in TPU days as 123456. And then the one for code net has it in two to the one two to


the two two to the three. Yeah, scales are different. So they say efficient net v2 models


are open source. The pre trained models are also available on TF hub code net models will be open


source soon. What they don't say is if they actually release the code net pre trained models, we'll see.


Next news is not really machine learning, but Uber develops a new coordinate system for the world.


On a first level, they divide the world into an icosahedron with the edges of the triangles planted


as much as possible in water. And then they subdivide these triangles into pentagons and


hexagons. And then they subdivide those into just hexagons. Now hexagons are cool because they only


have one set of neighbors, meaning that every neighbor in hexagon is equidistant from the center,


whereas with things like squares or triangles, you have neighbors that are neighbors on an edge


and neighbors that are neighbors on like a point and all the distances are weird hexagons make


computing distances to relative things on you very easy. Their coordinate systems also gives


you the possibility of addressing an individual hexagon in this thing such that if you have the


address, you can simply cut off from the end. And that will simply give you the same address,


but in a bigger resolution. So you can identify a supercell and then a cell within that and then


a cell within that by simply specifying more accurately your description. So if you're


interested in geo data or anything like this, check this out. It's certainly relevant for


things like Uber, but it might also be relevant for you. Next, there is the NeurIPS 2021 AWS Deep


Racer challenge. So this is a challenge that you can participate in. And Deep Racer is essentially


these cars by AWS. So these are these are real, I think, like toy cars with cameras on them and


battery powered and so on. But the trick is that you want to train them completely in simulation.


So there is a Deep Racer gym environment and you participate in the competition by submitting your


virtually trained model, but the evaluation happens on a real racetrack. And I think that's pretty


cool. So if you're into this kind of things, have a go at it. I'm sure it's fun. Some helpful


libraries for this week, there is image to data set, which turns large set of image URLs into an


image data set such as ImageNet with a appropriate folder structure in a really efficient way. There


is Vistal not a new library but has recently received a new release. And this is a library


by Facebook for self supervised learning on image data specifically, it has a lot of the recent


developments of self supervised learning such as dyno and Barlow twins. So if you're into that area,


this might certainly be relevant for you. There's PyTorch geometric also not a new library, but with


a new release recently. And this is a library that makes it easy to train graph neural networks. If


you're into graphs and neural networks, check this one out. And lastly, Amazon introduces the s3


plugin for PyTorch. So this gives you the s3 data set and the s3 iterable data set classes, which


you can essentially point at a bucket in s3 and then treat them as regular PyTorch data sets.


Pretty cool. Speaking of PyTorch, PyTorch has released the state of PyTorch core September


2021 edition, which is a fairly long blog post of what's going on in PyTorch. Now I won't go through


all of it here. But the major new features they're about to roll out are funk torch, which are super


duper useful in jacks. And it's cool to see that they're also coming to PyTorch. They're also


building support for sharded tensors in PyTorch distributed and lazy tensors so that you can work


with hardware that doesn't support your execution. Now as I said, this is only a tiny bit of this


blog post. If you're interested in what's going on in PyTorch, check out this blog post. It's


quite extensive, and it's quite interesting. Another cool thing is version 0.1 of the physics


based deep learning book. So this book covers everything to do with physics based deep learning,


differentiable simulations and so on. Not only as a book, but it comes with executable code in the


form of Jupyter notebooks alongside its material. So it's pretty cool if you want to get into this


as a machine learning practitioner. The book is also available as a PDF on archive. If you're


more into the old school linear reading through stuff. Next, Google releases music conditioned


3d dance generation with AIST plus plus. So this is a system a transformer that combines sound


and motion in order to generate dance to a given music. This is challenging because you have to


make up a continuous motion, but also you need to synchronize that motion to the music. So the first


challenge was to actually create a data set, they already had these data, but it wasn't yet augmented


by 3d information. So as I understand it, they fitted meshes, they reconstructed skeletons,


and then they were able to feed this into this multimodal transformer. And the results of this


are pretty cool. You can give some seed motion alongside with music, and this will give you


a dance. So here you can see the comparison to previous models, Lee et al, my favorites,


you always have to pay attention in that baselines are usually not given the most


love in a paper, but still this looks quite funky. So if you're into the more practical aspects and


artsy aspects of deep learning, this might be for you. Richard Stallman shares his concerns about


GitHub's copilot. And really unlike Stallman, this is a quite a neutral take essentially says


we don't know yet what is going to happen with respect to copyright, we're waiting for court


decisions, essentially, and it might be problematic if you reproduce code that was licensed in a


certain way, for example, GPL license and the questions where is the barrier from I help you


suggest things that you might do versus I just tell you to copy this other person's code. So yeah,


especially sober take from Stallman here, nothing more I have to add to that. Next WCCF tech writes


AMD and Microsoft collaborate to bring TensorFlow direct ml to life up to 4.4 x improvements on our


DNA to GPUs. So this is an effort to bring machine learning onto Windows machines direct ml the


pond on to direct x the way Windows communicates with graphics cards. And this specifically is on


AMD graphics cards, which makes me a little bit happy that someone is shaking on NVIDIA's dominance


over the market. And with this new effort, you can expect that machine learning is coming to


your graphics card and will speed it up in the future quite a bit. And lastly, Jürgen Schmidt


Hooper has released another blog post, he says he was invited to write this title is touring over


sold. And the point he's essentially making is that yes, touring made significant contributions


to the field yet often his contributions are highlighted in an exaggerated way, while a lot


of contributions of predecessors and contemporaries of touring are neglected or diminished in comparison


to his in classic Schmid Hoover fashion, he goes through for example, the achievements of Kurt


Gödel and Konrad Suse and other researchers in touring his time or before his time for example,


light nits. If you're interested in this definitely give it a read. But don't be surprised if it's


opinionated and slanted a little bit. Alright, that was already it for ML news this week. I hope


[Rant] coronavirus

This video is going to be a rant. There is not really a script and I have not


[Rant] coronavirus

really thought this through, but I would like to talk about some things that are


[Rant] coronavirus

on my mind and that I don't see discussed very often with respect to


[Rant] coronavirus

coronavirus. I'm not a medical expert, I don't play a doctor on the internet and


[Rant] coronavirus

there absolutely is no need to follow any of my advice or take anything as


[Rant] coronavirus

advice that I say. I just want to talk and maybe someone else will have a good


[Rant] coronavirus

idea of what I talk. So it is a crazy world we live in. I would have never


[Rant] coronavirus

thought at the beginning of this year that this would be the year where


[Rant] coronavirus

everyone stays at their house and works from home and I've always thought that


[Rant] coronavirus

in a time like this when the economy is going down basically the thing of value


[Rant] coronavirus

would be something like Bitcoin or Ethereum or alternative things, but no


[Rant] coronavirus

everything's going down and the actual new currency of choice is toilet paper.


[Rant] coronavirus

Everyone's gonna grab the toilet paper. What a crazy world where the most


[Rant] coronavirus

trusted news source is someone like Tucker Carlson. Yeah, didn't see that one


[Rant] coronavirus

coming. Thanks Tucker for saving us. So I don't know what to make of this and I do


[Rant] coronavirus

know that this is a serious situation and you should definitely do everything


[Rant] coronavirus

you can to take care of yourself and to take care of your community. What I want


[Rant] coronavirus

to talk about is the question of what is it going to do long term. So if we think


[Rant] coronavirus

about this we often think about this right now. We have an exponential


[Rant] coronavirus

increase in number of cases. You've probably seen this and you've probably


[Rant] coronavirus

seen graphics like these where the goal is to flatten the curve. The sense


[Rant] coronavirus

behind this being that if this rises exponentially of course at some point it


[Rant] coronavirus

will affect the entire population. So it's going to flatten out and if you


[Rant] coronavirus

look at the number of new cases daily it might be some curve like this. The


[Rant] coronavirus

problem is that we only have a finite capacity of healthcare systems so all of


[Rant] coronavirus

these people are basically going to be screwed once we get to this point. Now


[Rant] coronavirus

the goal is to flatten the curve. That we can take some measures to keep this


[Rant] coronavirus

curve under or at the capacity of our healthcare system. These measures are


[Rant] coronavirus

varying wildly so it is these measures that I want to talk about a bit. Now


[Rant] coronavirus

these measures range from something like social distancing, right, where you


[Rant] coronavirus

basically say all right no big events, no groups of large people, social


[Rant] coronavirus

distancing and you know just kind of avoid contact with other people.


[Rant] coronavirus

Now of course all the CS departments of the world go like well this is business


[Rant] coronavirus

as usual, like yay we've practiced for this our entire lives. So it is mildly


[Rant] coronavirus

inconvenient but you know we can keep it up all the way to lockdown. Lockdown


[Rant] coronavirus

comes also in various forms but the most drastic sense is stay home or you'll get


[Rant] coronavirus

shot or locked up or something like this. And it is this discrepancy of course


[Rant] coronavirus

the more down on the curve you go the more you're going to theoretically


[Rant] coronavirus

flatten this out. The more the less you do the higher your peak is going to be.


[Rant] coronavirus

But it's not that easy I find. If you look at the cases here of course they're


[Rant] coronavirus

exponentially rising but if you look at where the outbreak started in China the


[Rant] coronavirus

orange curve here you actually see the number of cases flattening out. Now you


[Rant] coronavirus

see it flattening out at something like a hundred K and last I know China has


[Rant] coronavirus

more people than a hundred K so that means not everyone's infected. Now with


[Rant] coronavirus

a disease that infects this easily and spreads this easily from person to


[Rant] coronavirus

person as it appears to be the case there are two possibilities either the


[Rant] coronavirus

rest of China which China is over a billion people and this is a hundred K


[Rant] coronavirus

so the entire rest of China basically almost all of China is asymptomatic


[Rant] coronavirus

which the latest numbers I hear are that maybe 50% of cases are asymptomatic or


[Rant] coronavirus

the other possibility is that most of China is yet to be infected. Now with a


[Rant] coronavirus

virus like this if you look at the distribution it's basically arrived


[Rant] coronavirus

everywhere in the world so there is very very little hope of snuffing this thing


[Rant] coronavirus

out actually making it stop which what you'd have to do is you'd have to lock


[Rant] coronavirus

every single person down for two to three weeks and now only a single person


[Rant] coronavirus

that doesn't keep to that can start a new outbreak so what I fully expect to


[Rant] coronavirus

happen if these numbers are correct and if China actually has done this


[Rant] coronavirus

successfully so flattens this curve successfully is that let's say the green


[Rant] coronavirus

thing here is China is that okay they get to a point where they feel they have


[Rant] coronavirus

no new cases for a while so they let the restriction up right they remove the


[Rant] coronavirus

restriction there's going to be some person somewhere in some CS department


[Rant] coronavirus

that now goes outside and meets another person and in that particular person


[Rant] coronavirus

here the virus happens to have an incubation period of 21 days instead of