celestial bodies in the opinion of the scientists of the US National Aeronautics and Space Administration NASA the Moon evolved normally for its first 500 million years then they said the most cataclysmic period came four billion years ago when celestial bodies the size of large cities and small countries came crashing into the moon and formed its huge basins and towering


mountains the huge amounts of radioactive materials left by the collisions began heating rock beneath the surface melting massive amounts of it and forcing seas of lava through cracks in the surface Apollo 15 found a rockslide in the crater collapse key six times greater than any rockslide on earth Apollo 16 discovered that the collision that created the sea of nectar


deposited debris as much as 1,000 miles away Apollo 17 landed near a scarp eight times higher than any on earth meaning it was formed by a moonquake eight times more violent than any earthquake in history the convulsions following that cosmic event continued for some 800 million years so that the moon's makeup and surface finally took on their frozen shape some 3.2 billion


years ago the Sumerians then were right to depict the moon as a celestial body in its own right and as we shall soon see they also left us a text that explains and describes the cosmic catastrophe to which the NASA experts refer the planet Pluto has been called the enigma while the orbits around the Sun of the other planets deviate only somewhat from a perfect circle the


deviation eccentricity of Pluto is such that it has the most extended and elliptical orbit around the Sun while the other planets orbit the Sun more or less within the same plane Pluto is out of kilter by a whopping 17 degrees because of these two unusual features of its orbit Pluto is the only planet that cuts across the orbit of another planet Neptune in size pluto is indeed in the


satellite class its diameter 3600 miles is not much greater than that of Triton a satellite of Neptune or Titan one of the 10 satellites of Saturn because of its unusual characteristics it has been suggested that this misfit might have started its celestial life as a satellite that somehow escaped it's master and went into orbit around the Sun on its own this as we shall soon


see is indeed what happened according to the Sumerian texts and now we reach the climax of our search for answers to primeval celestial events the existence of the 12th planet astonishing as it may sound our astronomers have been looking for evidence that indeed such a planet once existed between Mars and Jupiter toward the end of the 18th century even before Neptune had been discovered


several astronomers demonstrated that the planets were placed at certain distances from the Sun according to some definite law the suggestion which came to be known as bodes law convinced astronomers that a planet ought to revolve in a place where hitherto no planet had been known to exist that is between the orbits of Mars and Jupiter spurred by these mathematical


calculations astronomers began to scan the skies in the indicated zone for the missing planet on the first day of the 19th century the Italian astronomer Giuseppe Piazzi discovered at the exact indicated distance a very small planet 485 miles across which he named series by 1804 the number of asteroids small planets found there rose to four today nearly three thousand asteroids have


been counted orbiting the Sun in what is now called the asteroid belt beyond any doubt this is the debris of a planet that had shattered to pieces Russian astronomers have named it Phaeton chariot while astronomers are certain that such a planet existed they are unable to explain its disappearance did the planet self explode but then it's pieces would have flown off in all


directions and not stayed in a single belt if a collision shattered the missing planet where is the celestial body responsible for the collision did it also shatter but the debris circling the Sun when added up is insufficient to account for even one whole planet to say nothing of to also if the asteroids comprised the debris of two planets they should have retained the axial revolution of


and us in the car today we are going to talk about AI machine learning and deep learning the reason why is because AI is everywhere in the news the government loves to put money on AI project a pinch of cube todo investors love to put money on machine learning powered companies investment and everybody's talking about deep learning algorithms we are going to


define what is AI what is machine learning what is good learning at the end I'm going to tell you how a full-stack programmer like me that doesn't like math and a dozen really like calculus in all that can get started working with artificial intelligence and machine learning ai ai is divided in two categories narrow AI in general area Hollywood and Netflix and all the movies


are in general AI general AI is machines that do everything that humans do and better that can do a general purpose AI that can do anything so it can talk it can learn to play games it can communicate it can make a judgment it can just be exactly like a human in varies general AI right now in the world in the industry we are in a narrow AI narrow AI are machines that can only do


one thing and one thing very well where the focus of the machine is narrow the applications are narrow the machine can do one thing well and one thing only an example of narrow AI would be for example the Facebook AI at finding out faces in photos but that's it this AI is not able to learn how to find out dogs in photos because is narrow is general is narrow AI it can only do one thing


well and one thing only that's what we are right now but now we need to understand how we teach those hey guys here is where machine learning is the way to accomplish a a I so how the machines learn there are many categories of machine learning but the most famous ones are to on supervised learning and supervised learning let's say that we are going to make an application that detects if a


food is a hot dog or not a hot dog if we did it in a supervised way what we will do is that we will label what a hot dog is okay a hot dog is a sausage a hot dog is long a hot dog has some sauce on top a hot dog has is between a bun that is a label we're going to label what a hot dog is we're going to tell the Machine what a hot dog is right and then we are going to get millions of photos of any


kind of food we're going to put that into the machine in the machine based in our labels the machine is going to say ok this photo has 60% chance of being a hot dog so the machine is not thinking the machine is just telling us in a probability way with statistics and mathematics it just train us this has 95% chance of being a hot dog based on the labels that the humans gave to the


machine one example of supervised machine learning will be for example a music recommendation system the user US will label the songs a good night so we will tell the Machine these are the snow that I enjoy this is the ton of beat that I enjoy this is the kind of artists that I like next time a new song comes the Machine now has labeled data into what is a song that Nikolas likes and


then you will know if Nikolas has a 90% chance of liking this new song that's coming up that is supervised learning humans label the data now in unsupervised learning the humans do not label the data so for example to do this hot dog app what we are going to do is that we are going to give to the Machine millions of photos of only hot dogs we're going to give that to the Machine


we're gonna give the machine any leg and we are going to let the Machine by itself figure out a label that makes a hot dog so when you're going to tell any description of a hot dog we're just gonna give the Machine a lot of hot dog photos in the machine we'll figure out by itself after a lot of time and a lot of processing power and a lot a lot of data all right now of course I know this


is just a very simple explanation if you want this if you like this topic we can talk more about it in super in future videos but now I need to move on to the last topic which is learning deep learning is just a way to accomplish machine learning machine learning is a way to accomplish a deep learning is called deep learning because it makes use of something called neural networks


very smart scientists very smart mathematicians and computer scientists and all that they came up with this algorithm that works like a brain you need a lot of data to train that and you need a lot of processing power because it's a very long and computer intensive process but that's it deep learning is a way to accomplish machine learning machine learning is a way to accomplish


AI all right now deep learning is being used by companies for example like Google or Google or Tesla for example because they can process and have massive amounts of data and they have massive amounts of money so how does a full-stack programmer come up and start working with machine learning and deep learning well if you want to get started in machine learning you have to learn


Python that is like the best way to get started if you know Python then you can move on and look into something called tensorflow thankfully you don't have to do all these things by yourself manually you don't have to create a neural networks by OSHA the community has already built tons and tons of things the most popular framework for artificial intelligence is


called tensor flow tensor flow is in JavaScript and Python so those two languages are super super easy to do get start to do it and you can get started tomorrow if you wanted to also there is this thing called brain jail on brain j/s they already have neural net works deep learning algorithms activation functions I'll on the things already done for you to work with


deep learning and no GS so if you ask me it's an amazing thing like I said the community has already built so many things so if you're scared of math calculation on that you can go and start playing around with tensorflow or with brain shaders and that will just give you an introduction of what is machine learning without having to take care of all the math in the calculus


Python and JavaScript those two languages are gonna be big big big big on machine learning I think Python already is it's a massive in JavaScript is a start in there because it's on the web thank you for watching I hope that you enjoyed this video let me know what you think let me know in the comments just keep in mind that this concept is for newbies and I'm not trying to be


next our each other I renege we'll talk talk about our fine spline insight into the attorney Oh Mike max it's great to be here how can everybody hear me at the back okay yeah it's great to be here really looking forward at this meeting that is part of a program on foundations of deep learning and and what I'd like to do is just talk a little bit about some of the progress we've been making

Mad Max: Affine Spline Insights into Deep Learning


trying to find a language a language we can use to describe what we're learning as we scratch away at these black box deep learning systems that have been promised to catapult us into going into the end of the future right and what I'm gonna argue is splines provide a very natural framework for both describing what we've learned but also providing us avenues for extending both the design


and analysis of a whole host of different deep learning systems and so I'm going to talk a little bit about a particular kind of spline today and then I'm gonna give you a whole bunch of apples of how we've been using it to describe and extend and of course we're not the first people to think about the relationship with deep nets or neural nets and splines this goes way back to


pre the the previous deep net winter but I think that we have you know particularly we've identified a combat a collection of particularly useful splines for modern deep nets okay so just let's jump in and talk about the basic set up so we all know that deep nets solve a function approximation problem we're trying to use training data to approximate the prediction function from data to some


prediction might be a regression problem might be a classification problem and we do this in a hierarchical way through a number of layers in a network and what I'm going to argue is that deep net do this in a very particular kind of way using a spline approximation so show of hands how many people here know about splines okay so there's two key parts to a spline approximation the first is a


partition of the input space or the domain so if X is just a one-dimensional input variable then we have a partition Omega in this case we're splitting the domain up into four different regions we're now the second important thing is there a local mapping that we use to approximate some in this case function so we have a blue function we want to approximate here and we approximate it


we're gonna be interested in piecewise a fine or piecewise linear splines by just in this case four piecewise of fine mappings okay makes sense to everybody but really this yin-yang relationship between the partition and the mapping that that works the magic in splines there's two big classes of splines there's the really powerful splines for example free not splines this is where


you let the partition be arbitrary and this and then what you do is you jointly optimize both the partition and the local mapping these are the most allow you to have the highest quality approximation but it's important to note that they're computationally intractable in 1d in fact in hired even dimensions to an above it's not even clear how to define what a free not spline is so


these are something we'd really like to be able to do but very very difficult typically what people do is they they fall back to some kind of gritting type technique and if you think of even what wavelets are they're really just a dyadic grid approximation type of spline so what we're going to focus on today is a particular family of splines that we call we don't call that we're kind


maxify splines by Stephen Boyd a number of years ago and these were developed just for the idea of approximating a convex function with a continuous piecewise affine approximation okay so let's do continue with this really simple example to just define a max of fine spline we're interested in approximating this could convex function over R capital R regions so we assume that we


have our affine functions these are parameterised by a set of slopes and a set of biases we're gonna have our set to those here's an example for R equals four we have four separate four of these distinct affine functions and if the key thing about the reason why we call the maxify splines is very conveniently if we want to approximate a convex function by these splines all we have to do is


take the maximum the vertically highest in this case I find function okay so if you think of these four f-find functions that we thrown down here and we think of approximating this blue curve all we're going to be using is simply the top right the piece that actually sits on the top okay and so the really important thing here is that it's just by fixing these four sets of slopes and biases we


this automatically generates an implicit partition of the input space right yet you switch from one partition region to the next whenever these affine functions cross and that's gonna be you know really important for laters this makes sense to everybody very very simple right of course this also gives a continuous approximation so let's just think a little bit about


pointing towards deep nets without going to a lot of details just imagine so we're still in one dimension and we take our input X we scale by a add a bias B and then pass it through a ray loop right this operation here well it's pretty easy to show that this is a max affine spline approximation with R equals to a find functions the first is being 0 0 is the flat function 0


function and then the second being basically that think of this like a like like the Ray Lu but now shifted over and with the slope change by the parameter a two okay so just this should get your yourself thinking about other deep net operations and whether they can be related to the max affine splines we're going to define a max if I'm spline operator simply by concatenating


K of these max affine splines so you can think of an input vector now we're no longer in 1d X is in D dimensions and then we have K different splines the and the output of each of those splines will just be one entry of this output vectors Z we're gonna call that Amazo or a max affine spline operator so what's the key key realization well let's start by just


talking about deep nets okay if you think of the lion's share of what the deep nets that are used today basically any architecture you can think of using piecewise linear or you know affine operators fully connected operators convolution operators leaky Ray leaky Ray Lu or Ray Lu absolute value any of these types of pooling z-- these are all built these the state-of-the-art methods


are all built out of these kind of architectures and these kind of operators and it's actually pretty easy to show that all of these operators that comprise the layers of bit essentially all of today's state-of-the-art deep nets are maxify spline operators you can think of then each layer of a deep net is just a max affine spline operator and so that what we're doing is we're doing


that we have a convex approximation going on at each of these layers and therefore a deep net is just a composition of maxify spline operations no longer a convex operator because composition of two convex operators isn't necessarily convex okay so so this is gonna so we're just going to call this in a fine spline operator it remains continuous but it doesn't have


this max affine spline property anymore I just as an aside if you wanted the overall net to be convex it's pretty easy to constraint to show that all you need to do is just ensure that the all of the weights in the second layer and onward are positive number right that guarantees that the overall mapping will be convex any questions about this very simple baseline stuff


okay so they'll recall the nice thing about these these particular splines is that as soon as you fix the parameters right the slopes and the offsets wherever those hyper planes are these affine varieties cross that defines a partition and that's really where things get interesting right is to think about the partitioning that goes on in these maxify spline operators because that


allows us to think a lot about the geometry of what's going on in a deep network so again just reiterating what I just said if you think about a set of parameters of a deep network layer they're gonna automatically induce a partition of the input space of that particular layer into convex regions and then if you compose several of these layers we're going to form a non convex


partition of of the input space and and this provides really interesting non-trivial links to classical ideas out of signal processing information theory computational geometry namely ideas like vector quantization k-means and and Voronoi tiles and we'll get into these as we go so one of the yeah key ideas is linking these modern deep net ideas back to more classical signal processing


ideas so let's just do a toy example so that you can visualize what goes on in one of these vector quantization partitions of the input spaces so let's just consider a toy example a three-layer net we go from an input space it's two-dimensional we're gonna four classes in the two dimensional input 2d just so we can visualize can't visualize really anything beyond 3d we


go to a layer of 45 units then three units and then we're gonna do a four class classification problem so we have four units on the output okay makes sense to everybody so this is the inputs this is what goes on in the input space we have four different classes with these four colors our goal is to build a classifier to to tell these apart this is the first axis of the input


space the second axis and this is what happens after we go through the first layer right the we go to 45 this the layer the Maslow layer that map's the input to the output of this first layer this is the vector quantization partition or the spline partition that you that that that you obtain importantly we're going through a single layer so the tiling is convex right


these are convex regions right makes sense okay moreover let's remember that these are splines after all so we can ask what what is the mapping from the input of the first layer to the output of the first layer well it's just a very simple affine map because it's an affine spline after all okay that once you know a signal right a particular ax lands in this particular tile right there is a


that that gives you a particular matrix a right and a offset vector B right that are different for every VQ tile but then the mapping for the input to the output of that layer is just simply this affine map so you can think of a the mapping from the input to the output of one deep knit layer is just a VQ dependent affine transformation so this is one layer so


now if we go through two layers and we think of the partition induced on the input space we now see that we start picking up non-convex or we start having non convex regions because the non-convex operator however we still have the same concept right that if a signal falls in this particular tile right this particular partition region the mapping from the input to the output


of the second layer remains just simply in affine map right where the a and the B are indexed by this particular tile and just to be SuperDuper clear about it one more time every signal that lives in this tile that falls in this tile on the input space has the exact same f-fine mapping okay and this is what happens when you learn just to see when you if you initialize with


random random weights zero biases you just get a set of cones and as we go through learning epochs you see that we end up with these cones pulling away from the origin and then cones being cut up by other cones and we result again and for at least layers wanted to this particular mapping it at convergence okay and I'm gonna III think that it's really thinking of this geometrical


picture is really very useful to think about the inner workings of what's going on in a in a deep network in particular a deep net is a VQ mer machine right it's computing a vector quantization so was their question yeah we said oh let me just think if I got this right we set all the biases to zero in the whole in the whole network yeah so we'll just still it's still there's no beat there's


no box set so it's just gonna remain yeah calling the corners of Collins is just calm that makes sense okay good so let's talk a little bit about some of the geometrical properties you can actually delve deeper into the what the structure of these VQ tiles and show that that the part of the partition of each of a single layer right a single layers input space in terms of the


output is something called it's actually not a Voronoi diagram it's something called power diagram question anybody here heard of power diagrams okay fantastic so it's a generalization of a Voronoi diagram now instead of just having a centroid it has a centroid and a radius all right so it's a it's a mild generalization of a Voronoi tiling but the basically you just compute a Voronoi


tiling but with something called a genre distance instead of the standard Euclidean distance but the tiles remain convex convex polytopes right and in high dimensional space moreover given these affine maps given the the entries in these a matrices and these B bias vectors we have there they're close form formulas for the centroids and the radii that determine all of these polytopes so


you can understand you can study the the geometry of these the the eccentricity the size etc by thanks to the in closed form thanks to these formulas moreover it should be pretty clear that since you're piling layers upon layers that the the pop the power diagram formed from let's say two Mazal layers applied in composition is going to be formed by a subdivision process because the


cutting of the cuts from the second layer input of the second layer to the output will basically cut the vq tiling from the first layer right and so this is just an example of an input space tiling first layer will just be a set of straight line cuts the second layer is going to be a subdivision of those cuts we colored them gray here subdivision but now the important thing is that the


cuts are going to be bent right they're going to be bent at the gray bond arees which are the boundaries defined by the first layer cuts and these by these bends you can actually compute bounds for example on the dihedral angles and and these bends are precisely two main continent to maintain continuity of the mapping from the input to the output of this operator if you didn't have these


bending then you could have the spline become non continuous okay but again these bends are very important and they have a lot to do with weight sharing in deep deep networks so one of the conclusions you can just take away from this part partway through is that deep networks are really a very practical very efficient way of doing something that is extremely difficult which is


free not spline approximation and Heidi all right that's that's that's really what deep deep networks are doing you could carry this all the way to the last layer in a classification problem say it study the decision boundary of the deep net it is again just going to be one of these basically just one of these cuts and you can understand for example the the smoothness of the boundary by the fact


that the you can you can only have so much bending between the cuts when you cut through the power diagram partition that you obtained from the previous regions there's lots of things that can be done to understand for example smoothness of the decision boundaries in different kinds of deep Nets this is one direction that we've been exploring the other is looking in particular at these affine


mappings so again when you're in in a VQ tile you know that there's for all signals that live in that tile there's just a fine map that goes from the input to the output what what what what properties can we do for me glean from these okay so in particular if we think let's just study the the simple the the case of input to the output of the entire network okay


which we'll call this Z big L you can ignore the softmax that doesn't really enter into any of the the discussions I'm gonna bring up but we're interested in the mapping through all the layers of the network the this affine mapping formula applies no matter where you are in the network you'll just have different A's and B's but we're interested in the one from the input to


the very output okay from the input to the very output well you can develop closed-form formulas for this map particularly for a continent this is what the a the a matrix looks like this is what this offset B looks like we can know all of these matrices here in close form so you can do different kinds of analyses for example look at the Lipschitz stability two different points


in the network based on different inputs but the thing I'm most interested in talking about here is what what are the rows of this a matrix look like because if you think about this what is the output of the deep net right everything up until the the softmax well it's basically just a matrix a multiplied just ignore this typo it's this matrix a multiplied by my signal ax


plus a bias well that then that this is just a vector how big is this vector is one output for every class right I and what how do I determine which class the input is it's whichever of these outputs is largest right okay so let's think we have a matrix a that we're multiplying by our X each entry in this output is what just a inner product of a row of a with X so what is that right if we think


about this matrix a well the C throw right course buying a Class C is dist we're just going to take the inner product of the C throw with X in order to get the C output of Z we want to find the biggest what's the what's the the what do we call this in signal processing nomenclature we call this a match filter bank right because basically what we're doing is we're


applying to our signal a set of filters by inner products cauchy-schwarz tells us that the more the filter looks like the input the larger the output is going to be okay and the optimal filter is what where the row is exactly the input right standard standard stuff that's done in you know radar signal processing sonar walk communication systems etc and you can actually visualize this in a


real network so this is just see far ten here's an input of an airplane here's the row this that this is the the row of the corresponding a matrix for that input vector unvectorized so that it looks like an image see it looks if you squint it looks a lot like an airplane okay I have a large inner product if you look at these other rows corresponding ship class dog class you see they don't


actually look like a ship or a dog but more like a anti-air plane all right in order to push down the inner product largest inner product smallest even smaller inner product in fact I yes sir I didn't talk about the bias but the way to think about the bias is if if you're a Bayesian then the B's would be related to the prior probabilities of the different classes


so if you knew that that planes were very very likely you would put you would load B with a large number in the beef the beef entry that make sense yeah yeah Renee yeah so it's subtle it's subtle but you could think of this as like a dictionary learning machine that's basically given an input is is is defining then a bit of Bayesian classifier does that help a little bit


okay so and of course if you if you think what these rows of these a matrix matrices are and you think of the fact that we're decomposing the deep net input output relationship in terms of affine maps there's a just a direct link between the rows of this a matrix and what are called saliency maps by by the the community so it gives new intuition behind what goes on or what happens when


we when we think about salience email moreover if you if you if you you can prove a simple result that says if you have a high capacity deep net that's capable of producing basically any and arbitrary a matrix if you will from a from a given input then you can show that the Seath role of the a matrix when you input a piece of training data xn is going to become exactly xn when you're


on the true class right X is late X ends label and essentially minus a constant times xn when you are not in when you're in a different class and so this is this will tell us a little bit both about again reinforcing this match filter interpretation but also helping us understand a little bit about this memorization memorization process okay a couple more a couple more


points so another thing we can do is we can think now because we under we can have formulas for these affine Maps we can characterize the prediction function f that map's the input to the output and we can think of different kind of complexity measures that we can derive out of these affine mapping formulas so there's a lot of applications for complexity measures for example you


might want to compare two deep networks one which has a very complicated prediction function the other that solves the same task but has a much simpler prediction function Occam's razor type idea we might also want to apply a complexity measure as a penalty directly to our to our learning process right so there's a large literature of deriving different complexity measures and complexity


penalties for deep nets all this point to you know two of them as examples one is there's a very nice recent paper that that links the the ubiquitous to norm to norm of the weights penalty for learning to a particular measure of the second derivative of the prediction function all right so that it really does say that for at least a very very simple kind of network there's a link between


the weight values of the weights and the wiggliness of s and then there's another school of approaches that looks at well we have a VQ tiling of the input space let's count the number of tiles because presumably the more codes there are in your code book the more tiles there are the more complicated the function that you're trying to approximate so these are two approaches well I'm going to get


one that really expands upon these two and it it is leveraging the fact that we can was leveraging really the the fact that lots of data sets of particular image type data sets we have a reasonable reasonably true property that the the the training data live on low lowered that doesn't that be low dimensional but lower dimensional manifold sub manifolds of the high


dimensional space okay so let's assume that our data lives not filling up the entire input space but living on some lower dimensional sub manifold or sub manifolds and in this case we can we can look into the manifold learning literature and there's a beautiful paper by Donna Hahn crimes that defines what's called the Hessian eigen map manifold learning technique which is is basically


trying to flatten a curvy manifold using the tangent a CN along the manifold so we can just a dot this this same measure and we can define a complexity measure C as the integral of the of the tangent hessian along the manifold so you can just think of it roughly speaking is the low look you have F it's a peacefull at the continuous piecewise defined function and what we're looking at is


the local deviation of F from flat so f if f of X was a completely flat function this measure would be 0 if F was very very jagged II meaning locally when you look over a few regions it's jumping up and down wildly this will be a large this will be a large number yes well simply by integrating along this basically we're just integrating along the tangent manifold part


yes yes yeah and you could also you know just integrate over the entire space but then you lose some of the nice some of the nice properties did that help oh yeah and we could talk we can talk about after so the nice thing about this measure is that you can develop a marker a Monte Carlo approximation in terms of the training data points the X ends that are your training data point and the


affine mapping parameter so it's actually extremely easy to actually compute the value of C given a set of trained training points and giving the affine mapping parameters no I won't left it just think of P is true for right now so it's all the ideally you will choose the P depending on particular for example the manifold dimension the ambient dimension week


yeah let's talk about it at the break this is a date let's the data manifolds assume the training data or samples from some sub manifold in the in the ambient space because there are two factors that can increase C one is f there is the many other you mean the smoothness of the manifold say yeah absolutely but but if if we just assume let's just say you have to to prediction functions and


their domain in both cases is the same manifold and that would be normalized out right yes yeah are you no longer working with values here this is where rail is absolutely or piecewise peaceful a convex piecewise a fine nonlinear fashion then zero everywhere I know yeah let's talk about let's talk about it offline I think otherwise I'll run out of time yeah well it won't be yeah okay so let's


let's look at an application of this to something that is I would say somewhat still mysterious in the deep learning world and that is data the data augmentation so if we think of how deep networks are trained today they're typically trained with this technique called data augmentation that we don't just feed in images of been right we feed in images of translates right of


been rotations have been etc and if we have a hypothesis that the images have been somehow came from a lower dimensional manifold in high dimensional space where points on that manifold were translates and rotations of each other then the it's very convenient that these augmented data points that are generated from just your raw initial training data will live on the same data manifold okay


so there's a in this particular setting you can you can prove a result that says that just starting with date writing out the the cost of say cross-entropy cost function with data augmentation terms you can actually develop that those data augmentation terms and pull them out of the first part of the cost function and show that they basically form a this Hessian penalty this Hessian complexity


regularization penalty okay so what that's saying is that data augmentation implicitly implements a hessian complexity regularization on the optimization okay so that's like the theorem here too or just a simple experiment with the CFR 100 data that so this is training epochs in the x-axis this complexity measure in the vertical axis and all we're doing here


is we are as we're training the network trained trained without data augmentation in black and with data augmentation in blue what we're looking at are based on the A's and the B's that we have the that we have learned with the network we're plugging that into our complexity measure that was on the previous previous slide and we're seeing that the measure is showing that the


network that has learned using data augmentation has far lower complexity than the network that has learned with data augmentation this is both on the training and on the test data yeah we're doing the station depends on the loss and is these anticipation arising due to two square lows oh yeah good question well in this case we it was it was cross entropy loss it wasn't that wasn't weird


work with rotations of two similar images have the same label yeah so the loss in comparative labels and so that has to change the regularization has to change to the same yeah let's yeah so so for just for now the interest of time let's just assume cross-entropy loss for a classification problem rather than l2 l2 loss for a regression problem and then let me think


and maybe I'll have a better answer by the time that we get to question yeah complex measure is only a function of the model but not a lot is that right absolutely yes - okay so let's one last quick quick note what can we do beyond piecewise defined deep nets because sigmoid hyperbolic tanh these are still very useful in certain applications in particular in recurrent deep nets and it


turns out that you can bring those under the same umbrella that of this max affine spline framework and the way to do that is to switch from a deterministic hard vector quantization approach or way of thinking where if X lives in a in this particular vector quantization tile it definitively lives in that vector quantization tile to a soft VQ approach where now we just we


have a probability that X will fall in a given vector quantization tile where for this particular signal maybe there's a high probability in this tile somewhat smaller in the local local region a burring tiles and then decreasing probability as you move away so if you just set up a very simple Gaussian mixture model where the means and covariances are based on these A's and


B's that we derive you can you can basically derive nonlinearities like the sigmoid like the softmax directly from Ray Lu absolute value and other piecewise defined convex nonlin non-linearity's and in particular if you if you do a look at a hybrid approach it's this between a hard vq and a soft vq alright with where you're basically blending between the two you can


generate infinite classes of interesting and potentially useful nonlinearities and I'll just point out one how many people here have heard of the swish non-linearity a few so this was a non-linearity that was discovered a few years ago through an empirical search that's the empirical search for is there a normal in the area that works better than Ray Lu right for large-scale


classification problems and it turned out there there there was and it was a fairly sizable you know non-trivial gain in a lot of cases and it's this black dashed line here and the interesting thing it's hard to know if it's a coincidence or not but if you look at the in some sense the midway point between hard VQ and South vq i based on the the Ray Lu function at the hard VQ


side and the sigmoid gated linear unit at the soft vq the swish is precisely halfway in between it's quite quite ok you could also pull out sigmoid hyperbolic tangent by adopting a probabilistic viewpoint of the output of a layer no longer being just a deterministic output of the input but instead the probabilities that you fall in the different VQ regions in the input


that's what we can do beyond piecewise so I better wrap up so what I hope to get across is that this spline in particular max affine splined viewpoint can provide a useful language to talk about the things that we're learning about deep networks but also frame the kind of questions that we would like to move forward with my talked a bit about the the basic you know framework of max


affine splines and deep nets I talked about the relationships with with vector coin sation and really that a deep net is you could think of it as a vector quantization machine or you could think of it as a free not spline machine there's there really I think interesting links between power diagrams from computational geometry and the the subdivision that's generated by this


layer upon layer max affine spline process this the affine transformations that we derive based on that these difficulties different vq regions allow us to link deep nets back to old-school signal processing ideas like match filter banks and they allow us to define new kinds of complexity measures in particular this Hessian measure that we talked about it's all in there and say


there's some some papers that people would like to take a peek and I'd be happy to answer any additional questions [Applause] it's all really a question the second derivative of that one so yeah so the basically the the way the way that we think about it is that you have a it's okay there's there's let's stop it to hear a heuristic way of thinking about it is if you had a piecewise-defined


function it's gonna be undefined that obviously kinks right but if you thought if you think of basically here some heuristic way to smooth any heuristic way you can think of to smooth out that kink then the second derivative is going to be related to the slope parameters on one side and the soul parameters on the other side with yeah exactly and the bandwidth of this movie that's the


epsilon that was in that in that formula there's a there there details that we could you know we could talk about the brain yes [Music] you mean the bat like how large the measure yeah so that was what this yeah that the point of this experiment was really to look at ads as we are training so as we're going through training affects what is happening you know what


is the value of in this case the value of this complexity measure as we train the network through the various training training cycles both with in this case with data augmentation and in this case without data augmentation does that make sense no you just so it just in a nutshell think of think of a Gaussian mixture model a Gaussian mixture model defined in terms of covariance means and


covariances we're now the means and covariances are defined in terms of these different tiles pardon me so okay what's the best way to describe it so start from start from a hard VQ where we have a tiling now you have because of the power diagram you have a radius and you have a centroid now use that radius in that centroid as the per to develop a Gaussian mixture model for example a you


know circle a symmetric Gaussian mixture with that particularly the radius being the the variance now under that if you think in terms of now under that model you'll have a given an input you can think about the probability that it falls into each of these individual tiles will be determined by the probability under that particular each of those mixtures does that make sense


and if you put if you now look at these probabilities these probabilities behave like in the case of say you start with the tiling derive from array Lu you will you will end up with set of probabilities that are that that follow the functional form of a sigmoid gated linear unit in that case does that help that is not funny it's already trained you can mean there is no time right oh


okay okay you know you I my question is I assume there is a procedure to arrive so can we go backwards you're saying I need to think about that yeah we were thinking only in the one in one direction going from a hard v q to a soft vq presumably you could reverse that process by if you have a certain kind of but it would have to be not all possible nonlinearities


are reachable via this saw this this soft our relaxation of this hard v q right you can't reach you can't reach arbitrary you can't reach arbitrary nonlinearities right only certain kind of nonlinearities if you wanted to reach arbitrary ones you would have to there's no way you could do that with just a ghost standard kind of Gaussian mixture framework that help yeah


yes go back to the contacts to make sure it was sure or are we here it's a very good question um so it sounds like a blood test sorry for the low D a after one and fifty ipok there's no number it is just because of a proton so that's something happen like oh oh sorry sorry yeah no we jet this is an artifact of the plotting we shall probably should have stopped a


plot here yeah yes like a total number of examples yeah so the that's a really good question because in fact we're we're only the way that we compute okay there's the complexity measure and then there's the computation of the approximation of the complexity measure the more training samples you have the more densely you will sample the manifold the the signal


manifold and that closer your approximation will be to the true the true measure and so the more training data that you have the closer you'll get to the true measure yeah that's a really good question so there are methods that attempt to do adaptive yawn selection movies like Trent oh yeah and you can apply it with some on occasions to multivariate data and get adaptive finally yeah is there


some sense of so it would give you similar results it's right hierarchical VQ would be another yeah yeah but is there some sense about the properties of these quantizations and these timings are that will differentiate you from something that's that more directly tries to penalize is that to me this is this is the this is this is a really key key unanswered question right what the


question was there that there are you know there are a number of different ways to try to find different free not spline approximations in higher dimensions and why are deepening of the Oh Howard deep nets bet you know different or better and this this is a big question I answered question there there's no question that the methods that we use the you know current


training method our optimization approaches are enabling us to find these free not spline approximations in there truly ridiculously high dimensions right where a lot of these other techniques you wouldn't even attempt to them right but still it does not mean that this is the that we that we've stumbled on the best way of doing this so I think that as we think of new kinds of optimization


Probably a lot of you know the story of the two salesmen who went down to Africa in the 1900s. They were sent down to find if there was any opportunity for selling shoes, and they wrote telegrams back to Manchester. And one of them wrote, "Situation hopeless. Stop. They don't wear shoes." And the other one wrote, "Glorious opportunity. They don't have any shoes yet."

The transformative power of classical music | Benjamin Zander


(Laughter) Now, there's a similar situation in the classical music world, because there are some people who think that classical music is dying. And there are some of us who think you ain't seen nothing yet. And rather than go into statistics and trends, and tell you about all the orchestras that are closing, and the record companies that are folding, I thought we should do an experiment tonight.


Actually, it's not really an experiment, because I know the outcome. (Laughter) But it's like an experiment. Now, before we start -- (Laughter) Before we start, I need to do two things. One is I want to remind you of what a seven-year-old child sounds like when he plays the piano. Maybe you have this child at home. He sounds something like this. (Music) (Music ends)


I see some of you recognize this child. Now, if he practices for a year and takes lessons, he's now eight and he sounds like this. (Music) (Music ends) He practices for another year and takes lessons -- he's nine. (Music) (Music ends) Then he practices for another year and takes lessons -- now he's 10. (Music) (Music ends) At that point, they usually give up.


(Laughter) (Applause) Now, if you'd waited for one more year, you would have heard this. (Music) (Music ends) Now, what happened was not maybe what you thought, which is, he suddenly became passionate, engaged, involved, got a new teacher, he hit puberty, or whatever it is. What actually happened was the impulses were reduced. You see, the first time, he was playing with an impulse on every note.


(Music) And the second, with an impulse every other note. (Music) You can see it by looking at my head. (Laughter) The nine-year-old put an impulse on every four notes. (Music) The 10-year-old, on every eight notes. (Music) And the 11-year-old, one impulse on the whole phrase. (Music) I don't know how we got into this position. (Laughter) I didn't say, "I'm going to move my shoulder over, move my body."


No, the music pushed me over, which is why I call it one-buttock playing. (Music) It can be the other buttock. (Music) You know, a gentleman was once watching a presentation I was doing, when I was working with a young pianist. He was the president of a corporation in Ohio. I was working with this young pianist, and said, "The trouble with you is you're a two-buttock player.


You should be a one-buttock player." I moved his body while he was playing. And suddenly, the music took off. It took flight. The audience gasped when they heard the difference. Then I got a letter from this gentleman. He said, "I was so moved. I went back and I transformed my entire company into a one-buttock company." (Laughter) Now, the other thing I wanted to do is to tell you about you.


There are 1,600 people, I believe. My estimation is that probably 45 of you are absolutely passionate about classical music. You adore classical music. Your FM is always on that classical dial. You have CDs in your car, and you go to the symphony, your children are playing instruments. You can't imagine your life without classical music. That's the first group, quite small.


Then there's another bigger group. The people who don't mind classical music. (Laughter) You know, you've come home from a long day, and you take a glass of wine, and you put your feet up. A little Vivaldi in the background doesn't do any harm. That's the second group. Now comes the third group: people who never listen to classical music. It's just simply not part of your life.


You might hear it like second-hand smoke at the airport ... (Laughter) -- and maybe a little bit of a march from "Aida" when you come into the hall. But otherwise, you never hear it. That's probably the largest group. And then there's a very small group. These are the people who think they're tone-deaf. Amazing number of people think they're tone-deaf. Actually, I hear a lot, "My husband is tone-deaf."


(Laughter) Actually, you cannot be tone-deaf. Nobody is tone-deaf. If you were tone-deaf, you couldn't change the gears on your car, in a stick shift car. You couldn't tell the difference between somebody from Texas and somebody from Rome. And the telephone. The telephone. If your mother calls on the miserable telephone, she calls and says, "Hello," you not only know who it is, you know what mood she's in.


You have a fantastic ear. Everybody has a fantastic ear. So nobody is tone-deaf. But I tell you what. It doesn't work for me to go on with this thing, with such a wide gulf between those who understand, love and are passionate about classical music, and those who have no relationship to it at all. The tone-deaf people, they're no longer here. But even between those three categories,


it's too wide a gulf. So I'm not going to go on until every single person in this room, downstairs and in Aspen, and everybody else looking, will come to love and understand classical music. So that's what we're going to do. Now, you notice that there is not the slightest doubt in my mind that this is going to work, if you look at my face, right? It's one of the characteristics of a leader that he not doubt


for one moment the capacity of the people he's leading to realize whatever he's dreaming. Imagine if Martin Luther King had said, "I have a dream. Of course, I'm not sure they'll be up to it." (Laughter) All right. So I'm going to take a piece of Chopin. This is a beautiful prelude by Chopin. Some of you will know it. (Music) Do you know what I think probably happened here?


When I started, you thought, "How beautiful that sounds." (Music) "I don't think we should go to the same place for our summer holidays next year." (Laughter) It's funny, isn't it? It's funny how those thoughts kind of waft into your head. And of course -- (Applause) Of course, if the piece is long and you've had a long day, you might actually drift off. Then your companion will dig you in the ribs


and say, "Wake up! It's culture!" And then you feel even worse. (Laughter) But has it ever occurred to you that the reason you feel sleepy in classical music is not because of you, but because of us? Did anybody think while I was playing, "Why is he using so many impulses?" If I'd done this with my head you certainly would have thought it. (Music) (Music ends)


And for the rest of your life, every time you hear classical music, you'll always be able to know if you hear those impulses. So let's see what's really going on here. We have a B. This is a B. The next note is a C. And the job of the C is to make the B sad. And it does, doesn't it? (Laughter) Composers know that. If they want sad music, they just play those two notes.


(Music) But basically, it's just a B, with four sads. (Laughter) Now, it goes down to A. Now to G. And then to F. So we have B, A, G, F. And if we have B, A, G, F, what do we expect next? (Music) That might have been a fluke. Let's try it again. (Music) Oh, the TED choir. (Laughter) And you notice nobody is tone-deaf, right? Nobody is. You know, every village in Bangladesh


and every hamlet in China -- everybody knows: da, da, da, da -- da. Everybody knows, who's expecting that E. Chopin didn't want to reach the E there, because what will have happened? It will be over, like Hamlet. Do you remember? Act One, scene three, he finds out his uncle killed his father. He keeps on going up to his uncle and almost killing him. And then he backs away, he goes up to him again, almost kills him.


The critics sitting in the back row there, they have to have an opinion, so they say, "Hamlet is a procrastinator." Or they say, "Hamlet has an Oedipus complex." No, otherwise the play would be over, stupid. (Laughter) That's why Shakespeare puts all that stuff in Hamlet -- Ophelia going mad, the play within the play, and Yorick's skull, and the gravediggers.


That's in order to delay -- until Act Five, he can kill him. It's the same with the Chopin. He's just about to reach the E, and he says, "Oops, better go back up and do it again." So he does it again. Now, he gets excited. (Music) That's excitement, don't worry about it. Now, he gets to F-sharp, and finally he goes down to E, but it's the wrong chord -- because the chord he's looking for is this one,


and instead he does ... Now, we call that a deceptive cadence, because it deceives us. I tell my students, "If you have a deceptive cadence, raise your eyebrows, and everybody will know." (Laughter) (Applause) Right. He gets to E, but it's the wrong chord. Now, he tries E again. That chord doesn't work. Now, he tries the E again. That chord doesn't work. Now, he tries E again, and that doesn't work.


And then finally ... There was a gentleman in the front row who went, "Mmm." (Laughter) It's the same gesture he makes when he comes home after a long day, turns off the key in his car and says, "Aah, I'm home." Because we all know where home is. So this is a piece which goes from away to home. I'm going to play it all the way through and you're going to follow.


B, C, B, C, B, C, B -- down to A, down to G, down to F. Almost goes to E, but otherwise the play would be over. He goes back up to B, he gets very excited. Goes to F-sharp. Goes to E. It's the wrong chord. It's the wrong chord. And finally goes to E, and it's home. And what you're going to see is one-buttock playing. (Laughter) Because for me, to join the B to the E,


I have to stop thinking about every single note along the way, and start thinking about the long, long line from B to E. You know, we were just in South Africa, and you can't go to South Africa without thinking of Mandela in jail for 27 years. What was he thinking about? Lunch? No, he was thinking about the vision for South Africa and for human beings. This is about vision. This is about the long line.


Like the bird who flies over the field and doesn't care about the fences underneath, all right? So now, you're going to follow the line all the way from B to E. And I've one last request before I play this piece all the way through. Would you think of somebody who you adore, who's no longer there? A beloved grandmother, a lover -- somebody in your life who you love with all your heart,


but that person is no longer with you. Bring that person into your mind, and at the same time, follow the line all the way from B to E, and you'll hear everything that Chopin had to say. (Music) (Music ends) (Applause) Now, you may be wondering -- (Applause) (Applause ends) You may be wondering why I'm clapping. Well, I did this at a school in Boston with about 70 seventh graders, 12-year-olds.


I did exactly what I did with you, and I explained the whole thing. At the end, they went crazy, clapping. I was clapping. They were clapping. Finally, I said, "Why am I clapping?" And one of them said, "Because we were listening." (Laughter) Think of it. 1,600 people, busy people, involved in all sorts of different things, listening, understanding and being moved


by a piece by Chopin. Now, that is something. Am I sure that every single person followed that, understood it, was moved by it? Of course, I can't be sure. But I'll tell you what happened to me in Ireland during the Troubles, 10 years ago, and I was working with some Catholic and Protestant kids on conflict resolution. And I did this with them -- a risky thing to do, because they were street kids.


And one of them came to me the next morning and he said, "You know, I've never listened to classical music in my life, but when you played that shopping piece ..." (Laughter) He said, "My brother was shot last year and I didn't cry for him. But last night, when you played that piece, he was the one I was thinking about. And I felt the tears streaming down my face.


And it felt really good to cry for my brother." So I made up my mind at that moment that classical music is for everybody. Everybody. Now, how would you walk -- my profession, the music profession doesn't see it that way. They say three percent of the population likes classical music. If only we could move it to four percent, our problems would be over. (Laughter)


How would you walk? How would you talk? How would you be? If you thought, "Three percent of the population likes classical music, if only we could move it to four percent." How would you walk or talk? How would you be? If you thought, "Everybody loves classical music -- they just haven't found out about it yet." See, these are totally different worlds. Now, I had an amazing experience.


I was 45 years old, I'd been conducting for 20 years, and I suddenly had a realization. The conductor of an orchestra doesn't make a sound. My picture appears on the front of the CD -- (Laughter) But the conductor doesn't make a sound. He depends, for his power, on his ability to make other people powerful. And that changed everything for me. It was totally life-changing.


People in my orchestra said, "Ben, what happened?" That's what happened. I realized my job was to awaken possibility in other people. And of course, I wanted to know whether I was doing that. How do you find out? You look at their eyes. If their eyes are shining, you know you're doing it. You could light up a village with this guy's eyes. (Laughter) Right. So if the eyes are shining, you know you're doing it.


If the eyes are not shining, you get to ask a question. And this is the question: who am I being that my players' eyes are not shining? We can do that with our children, too. Who am I being, that my children's eyes are not shining? That's a totally different world. Now, we're all about to end this magical, on-the-mountain week, we're going back into the world.


And I say, it's appropriate for us to ask the question, who are we being as we go back out into the world? And you know, I have a definition of success. For me, it's very simple. It's not about wealth and fame and power. It's about how many shining eyes I have around me. So now, I have one last thought, which is that it really makes a difference what we say --


the words that come out of our mouth. I learned this from a woman who survived Auschwitz, one of the rare survivors. She went to Auschwitz when she was 15 years old. And ... And her brother was eight, and the parents were lost. And she told me this, she said, "We were in the train going to Auschwitz, and I looked down and saw my brother's shoes were missing.


I said, 'Why are you so stupid, can't you keep your things together for goodness' sake?'" The way an elder sister might speak to a younger brother. Unfortunately, it was the last thing she ever said to him, because she never saw him again. He did not survive. And so when she came out of Auschwitz, she made a vow. She told me this. She said, "I walked out of Auschwitz into life


[Music] thank you very much hi to everybody my name is Jimmy Wynn and I am president of Bitcoin Association with me is Steve shatters who is the technical director of the Bitcoin SV node project which we'll explain as well as CTO of n chain the global leading research development and advisory firm and blockchain technologies we're here today that's about the coin SV and why it is the

Bitcoin SV:  The Massively Scaled Blockchain to Meet Developer Needs—Jimmy Nguyen & Steve Shadders


massively scaled blockchain to meet developer needs the answer to the question of what developers need is pretty simple but it's very profound big nor if there are two things for you to remember today it is big and power those two things in combination are what make Bitcoin SV what developers as well as big enterprises need you don't have to just take my word for it Crona verse is


an eSports and gaming company in the United States which does a monetization platform which uses blockchain technology to create more transparent fair or gaming in the eSports world it has a game that's coming into open beta soon called crypto fights which is like Dungeons & Dragons and it allows players to create avatars to compete against each other it recently announced through


a blog post of know why it was leaving the etherium based engine token system to use Bitcoin sv as a blockchain for storing in-game items as well as many other uses and its CEO and founder Adam claim wrote in this blog post what we'll talk a lot about today he wrote we decided to leave because of problems with ethereal and what he explained is to get the presentation back what


happened here is that he explained that he and his company were making the best voice for their business and the decision to transition at be SPT was the result of their own research and development efforts they discovered that aetherium is a cassadee slow cannot scale it is expensive that proof of work is the only proven consensus mechanism and they lack confidence that proof of stink or


delegated proof of state will work and aetherium choose windows scaling approaches are still experimental or whereas Bitcoin sve have already demonstrated the scaling ability they also summarize the benefits of transitioning to Bitcoin SV that it can allow them to create a better item protocol with the SB it's faster and cheaper to conduct trades due to the efficiency of the BSB blockchain DSP is


capable of handling millions of transactions without slowing down which is critical to development work and converse users will often be able to use more available features the engine is not capable of such as storing the 3d model of a virtual in-game item on the blockchain which is something that the etherium based moon system could not provide so that is a great summary of


what bitcoin was born to be Bitcoin people think is merely a payment system a way to transfer monetary value but in the name itself we really understand what bitcoin was supposed to be a combination of data bit and coin monetary value the fusion of both data and money in a ledger system a blockchain so that is why we've got a battle to preserve the original protocol of


Bitcoin Bitcoin has not been allowed over the years to be what it was born to be it has been knitted in its baling capability so people do not realize Bitcoin blockchain can power tokens and smart contracts and many of their advanced applications so the SV and Bitcoin stands for Satoshi vision because bitcoin sv is one of the heating chains Bitcoin but the only one which


adheres the original design protocol and vision of the creator Satoshi Nakamoto to be both a peer-to-peer electronic cash system where you can send monetary value as well as the global empathized blotching for the world and today Steve and I are going to explain to you why that's important for developers and why that means it is the blockchain for developers to learn build upon Bitcoin


SV has four key pillars in our design which Steve has led with another developer named Daniel Connolly who is in Austria Austria a stable protocol a scalable blockchain at massive scale security as well as safe instant transactions today I want to focus on the first two of those pillars and explain to you why that makes such a big power advantage for developers let's


talk first about a stable protocol and it's not just any protocol but one with bitcoins original design in February of this year the team behind Bitcoin sve led a the latest upgrade and hard fork of the protocol which was called Genesis because it was designed to restore as much of bitcoins original design and protocol as possible that's because over the decade of bitcoins existance former


protocol developers have changed a lot of bitcoins original design it had in it so much of the capabilities developers are looking for for many applications but those were changed those are restored through the Genesis hard fork and there were many changes in it but the key things for developers to know are that we removed artificial limits that were previously imposed on the


protocols such as block size and transaction and data capacity we restored the full original functionality of Bitcoin script the programming language which is used within the Bitcoin protocol and Steve is going to talk to you about that later in this presentation and what that means for developers and we also remove some detrimental changes that were made to


bitcoins protocol over the years such as Sun setting what's called Paita script cache which has created some significant privacy and security issues in Bitcoin and this was designed to restore bitcoins original power and then this is very important for you to know to keep the protocol stable satoshi nakamoto recognized this far back in bitcoins life all the way back


in 2010 ten years ago writing at the time that the nature of Bitcoin is such that once version 0.1 was released the core design was set in stone for the rest of its lifetime why is that important it's because as developers as well as people who might support big enterprises you need a stable protocol in order to have confidence to build applications I talk to a lot of


companies as well as developers around the world who are looking for a blockchain to build on and the one thing they do not want is a constantly changing protocol because otherwise it makes it very difficult to commit your time to start an application or startup venture or your business if you're a big company to launch an application on something where the protocol may change


so our team has committed to keeping the protocol stable now that the original Bitcoin design has been restored in Bitcoin SV with a stable protocol we also want to unleash the massive scaling power of Bitcoin there have been battles for many years over whether or not the Bitcoin blockchain should scale because Bitcoin core and the BTC network kept the block size small its network is only


capable of doing about three transactions a second or at maximum seven transactions a second that will nowhere rival or compete with the payment networks of the world such as Visa which averaged 2,000 transactions a second or at peak periods 56,000 transactions a second our belief for Bitcoin sv is that the Bitcoin blockchain can have unbounded scaling there should not be limits placed upon


its scaling capability by the protocol developers so that limit has been lifted and the network can scale to whatever competitive market forces require Steve and his team have been leading a lot of technical improvements and testing to ensure that Bitcoin can scale this is critical because other competing networks such as the etherium Network have run into scaling problems which are very well


known now Vitalik boo turin in august of last year acknowledged that the etherium blockchain was almost full last summer that has led many businesses as well as developers to stop developing applications on that chain and instead look for alternatives what's happening on Bitcoin sv well there is no limit on the block size anymore which means in any given block there's no limit on the


potential number of transactions or data that can be included there are practical limitations that are being improved constantly but we've seen world record blocks mined on Bitcoin SV that are not just one or two megabyte in size in May of this year two blocks over 300 megabytes in size or mind which each had over a million individual transactions that's great


but we can still do much more as the technical improvements continue but it's scaling of this type that is necessary to create a blockchain for developers to have applications that can power many many transactions our team also runs a scaling test Network which is continually testing the bounds of what's capable on the Bitcoin blockchain they've been mining blocks on the


scaling test network that are 2.7 to 6 million transactions per block and if that's sustainable which we believe it is and more on the main net you're going to have theoretical throughput that exceeds 6,000 transactions a second and that's what as a developer you want to see you don't want to spend your time building something if you cannot support large numbers of transactions it also


means the capability to do micro transactions meaning payments or data where you're sending small amounts of money that are attached to the transaction and by small we mean even fractions of a u.s. set and that's possible because of the massive scaling we're seeing on other networks such as aetherium that there are periods of congestion where the fees that are


required to send a transaction skyrocket they get high here for example is from November of last year there was a headline noting that the etherium transaction fees were soaring to over 30 US dollars to send a single transaction which is far too high if you want to create tokens or smart contract systems or Internet of Things communications on a blockchain whereas on Bitcoin SV


because our scaling is unbounded and block size is now not limited by the protocol transaction fees are not just really low they're very reliable they are not one cent tomorrow but 30 US dollars a week from now that is very difficult for businesses to predict their fee system I just checked yesterday and to send a payment transaction on Bitcoin I see the average


as of yesterday was less than one hundredths of one u.s. cent that means you can create business models and payment systems that do many many things and it allows us to be in vision what the Internet can be a new world where all of our online interactions and online activity can be monetized where you might actually have to pay a small amount of money to do things on the


internet but you can get paid back and we're seeing in our ecosystem developers who are creative creating applications where they are reinventing social media so for example to stop fraud and fake accounts on something like Twitter you have to actually pay to post a social media message or to reply and like but then someone pays you back in tiny amounts of Bitcoin sv2 your wallet in


order to engage with your content to like it to reply to it models where people pay to store your identity or data on chain but then you as a consumer or user can get paid by authorizing companies to access your data on the blockchain small amounts again a Bitcoin same thing for reinventing how we access media what if you had to pay per article to read online news as opposed to paying a


monthly or annual subscription fee so these are the fascinating types of creative ideas that can be explored if you have a blockchain where it costs only 1/100 of a u.s. n to do any individual transaction you can change how our entire online activity occurs and it means we can move to a world where everything is not just online as the internet allowed us to create but impossibility


anything could be unchain your data our interaction on the internet such as web searches our e-commerce systems everything can be recorded tracked and monetize through the Bitcoin blockchain as a ledger that combines your data with monetary value that leads to this concept which we call the meta net a new more commercial Internet for all of us as individual users because we're able


to monetize our individual activity and data on the online environments there's a whole paradigm that's happening in Bitcoin sv where we're taking a look at the blockchain as a universal server where data websites and content can be hosted on chain and accessed via Internet browsers and applications from a blockchain there's a protocol that engines team has created which organizes


the data structure over Bitcoin so that people can create applications and easily find data from the blockchain so here's an image of imagining the blocks on the right of the screen as the blockchain allowing you to store data people creating search engines to access that data you as a developer to create applications that leverage that data and allow people as users to even manage


their identity from the blockchain creating a new form of internet so with this concept and with this big power of the blockchain with a stable protocol and massive scaling what are we seeing that enterprises as well as particularly developers can build on the Bitcoin so an example which developers will appreciate is a company called coda with some young entrepreneurs out of


Australia they want a second hackathon we ran in the Bitcoin SV world and what they've created is an API marketplace for developers because it's hard if you're a developer when you create you know something unique and a software application it's hard to monetize it people put things on github and allow other developers to use it for free but what if you could get rewarded for your


work so Coda's created a marketplace or as a developer you can upload your work and charge other people developers companies businesses around the world to use your work product by paying you small amounts of Bitcoin SV for example for every API call or a very set number of API calls whatever business a revenue model you want to set which is possible because of the tiny tiny transaction


fees that it costs to send and engage in transactions on Bitcoin SV another good example is a company out of South Korea a company called one store which runs one of the largest mobile app stores in South Korea one of its executive is a big believer in Bitcoin sv and they created a mobile app called bus con which allows music artists to be able to be rewarded for their work as a fan you


can download the mobile app you can view access listen to content such as music videos from your music artists that you like and then reward the music artist in a token called a touch token that is built on bitcoin sv and then the artist gets paid in small amounts of the coin SV tokens this has led as examples to a bright world of Bitcoin SV developer development happening across the world


someone in Korea actually keeps a chart of the known company's services projects that are on Bitcoin SP and right now there's over 400 that are known I'm sure there's even far more you can see here a chart with companies and services we won't have to talk about them all but it shows you the number that's happening around the world there's also resources for developers as


Steve will tell you about and then also people are creating protocol layers to create the rule sets for all kinds of different functionality from smart contracts to tokens and it's really expanding what is capable of being done on Bitcoin SV a company out of Spain called Han cash which runs one of the most popular wallets in the Bitcoin sed world has created hands cash connect


it's an SDK which contains tool sets you could see here of six main functions instant payments encryption identity and login as examples to make it easy for developers and businesses to integrate bitcoin SV payments into any application whether it be a web-based mobile application even smart devices so these are the things that are available to make it easier for you as a developer to


start integrating bitcoin sv into almost anything you can imagine recently max then which is a company that provides a browser which is one of the most popular in the world in certain regions with over 670 million people having downloaded it as their default browser they announced the beta launch of a new version of their browser called Maxton 6 and it is the first Bitcoin s be


powered browser what does that mean they're building a browser for this meta net world I mentioned where applications and online activity are driven by the Bitcoin SP blockchain so in the future the browser will integrate very easily with bsv applications and you'll see here a variety of the things that they're already releasing on the top right corner of the screen you see


something called blockchain ID manager VBox this is a tool system to allow you as a user to maintain your identity information on the blockchain so it's never deleted and allow you to log into applications across the internet from a single identity so you don't need for example to log into applications using Google or Facebook as a lot of people do today you


can have all of your identity stored in one place on the blockchain and the browser here is designed to specifically make it easier to log into applications across this new meta net world using a ID system that is managed on the blockchain they're also creating a browser that will allow ecommerce sites when you're shopping to easily integrate with your Bitcoin SP wallets you can


easily pay as you see this example on the right side with both your identity and Bitcoin from a wallet so Jeff Chen from Maxon who's the CEO summarized very well why we believe so much in Bitcoin sv4 development he said we want the Maxton browser to be the online application platform and users window to the exciting world of Bitcoin SV combined with the internet our goal is


to make it so easy and seamless to use bsv applications that users do not even need to know that bsv is involved in the background consumers will just know that using an earning electronic cash from their online content data interactions and activities this is the future of the internet and why we believe in bitcoin sv that summarizes well what we think is the future and what Steve will talk to


you about next Bitcoin is more than just a payment system it is technology plumbing that may sound boring but it is the plumbing the infrastructure just like the Internet Protocol is that drove Internet growth that will allow the creation and development of many fascinating applications so that in the future consumers users will probably not even know that things they are using are


built on the Bitcoin blockchain it will work underneath invisibly to power worlds of data micro transactions and all of our future online activity so I'm going to turn it over to Steve shatters now to tell you a lot about what developers can look forward to using on between Thanksgiving just let me transition me everybody do I have the right screen on the right screen so


someone will tell me in a moment by bank so here I want to talk to you a bit about some of the things that are possible on Bitcoin this week that don't really fit the narrative of of what you could or should be able to do with a blockchain at the moment I'm twelve of the body screen around the wrong way your good nasty good now okay so in the in the very beginning of Bitcoin Satoshi


Nakamoto designed a system that was very open and had very few limitations you yet included a not code that allowed you to push up to four gigabytes of data to to the stack in a single Bitcoin script in fact you could use that up code many times so there was no effective limit to the amount of data that you put into into a transaction he made it very clear that Bitcoin was intended to scale and


that the endgame for for miners was to be operating out of out of large data warehouses he also put an incredibly rich scripting language into into Bitcoin that made it very clear that bitcoin is not just about payments that the coin is about anything that you can imagine that that is possible by by using a turing-complete programming language but for a long time that's


simply not been not been possible because well to be honest a bunch of people decided that we just weren't allowed to do that Bitcoin every developers do not want to be the guardians or the gatekeepers that say what you can do on Bitcoin Bitcoin is it is a free market and it really depends on what makes sense what makes sense economically what makes sense in terms


of improving people's user experience what makes sense in terms of improving people's lives is what will govern what what can and can't be done on Bitcoin so let's step into a few of the things that are possible on Bitcoin that that don't fit the typical blockchain narrative so today we're going to talk about the three big big blocks big transactions and big scripts and I suppose I'm


speaking to people here as a potential developers because I'm talking about the potential that can be unlocked as part of the developer experience and we'll start with big blocks but I make the point that big blocks are not something you should have to worry about we're just going to talk about big blocks because they are what enables you to to do all of these things that that we've


been told so long enough possible so firstly why big blocks matter well it goes to the structure of the network and in fact the structure of the network the Bitcoin network that was described by by Satoshi Nakamoto and it's actually very different to the way that most blockchain networks look and you'll see over on the left the title of this slide is minimal hardware required what I mean


by that is that as a developer or a user of Bitcoin you shouldn't have to have a data center full of computing equipment so that you can participate in the Bitcoin network you shouldn't even have to have a 200 gigabyte hard drive so that you can participate in the network by running the so-called full full node software what happens when when you have a world full of people that are trying


to participate in a network on an equal footing like that is you develop a mesh network that starts to look a little bit like the diagram we have here this is a very small-scale imagining of that that the typical Bitcoin interaction if you consider the payment case is usually between a customer and a merchant or a shop in in this case and let me show you how that works when you have a mesh type


network on a that is typical of most block chains today the customer in the shop already has a connection to each other because you've gone to their website to say that you want to buy a thing or rum or your you're trying to pay them so the shop has already told you that you need to pay them but you know in a typical block chain today you need to transmit that that last message


which is the actual transaction through from customer to to merchants and and this is how it typically happens rather than sending it directly to the shop which would make sense because you've already got a connection to them you get the the cloud of of peers in the Bitcoin of the etherium or narrow networks whichever one it happens to be and your message in this case is the transaction


bounces from box to box to box to box until it eventually pops out the other end now in a good day this will take 5 10 seconds on a bad day this can take potentially 30 seconds or even minutes and if you're talking about a payment experience that's just not good enough because we are competing with with the payment experience that that 7 billion people are used to it or


maybe not 7 billion people are used to to the pay wave type metropoliz experience but but we know that you can walk into a shop literally tap a card and within a fraction of a second the transaction is done so that's what we have to compete with and 5 seconds is even as it is it's just not good enough but by the reason we have this configuration is simply because all of


these nodes that you see on this on the screen right now are not actually economically incentivized to to run on well provisioned hardware everyone is told that everybody has to run a note of course you're not getting paid to run an ode so the costs associated with running running an ode or something that you're concerned about and that leads to this mesh kind of


network configuration because the more connections you have with other people and the highest speed those connections are the more traffic you're going to be sending and receiving and of course the port is going to cost you and that's a real concern if there's no revenue coming in but the way that the Bitcoin network was intended to be configured was that the people that are responsible


for the connectivity are the miners themselves and the miners are the ones that actually get paid as a part of the operations with a Bitcoin network now consider for a moment project project into the future where transaction fees transaction volume is high enough that just to pick an easy number to work with let's say there's six hundred thousand dollars worth of transactions fee


revenue coming through every block every ten minutes now that sounds like a lot of money but break it down over millions and millions of transactions lots and lots of people paying a hundred to the cent each it's a lot of transactions but but I'll show you in a minute why why that actually becomes manageable so six hundred thousand dollars every ten minutes ten minutes is 600 seconds so that's a


thousand dollars a second worth of revenue that's coming through the system now if you're a minor and your network connections aren't up to scratch and you can't receive the transactions fast enough even if you're delayed by five seconds in receiving the transactions that everybody else is getting straight away that's five thousand dollars worth of revenue that you're not going to get


when you find a block and that's just you know one block is the unit 10 minutes fan imagine that over the course of the year so my land miners are highly incentivized to spend money on increasing a network connection capacity and they're very incentivized to be connected directly to all of the other miners so that they can all grab and Hoover up all of the the transactions


that are coming into the network because each one of those transactions represents revenue and so what happens the network starts to reform itself into something that is much more like what satoshi nakamoto actually described in the early days of Bitcoin you see right there at the center these are nodes or otherwise known as miners they are the ones that actually run the network operate the


network they're the ones that are incentivized to have full copies of the blockchain the massive hard drives that are requires as as blocks get bigger and out on the edge those whites white circles there they're actually peers I don't call them nodes I call them peers but they're actually the users of the network and that can be people who want to make payments or that can be


applications that can be very big applications that are serving millions of users they don't mean to see everything that's going on in the Bitcoin network they need to be able to see the parts that consume them and they need to be connected to a very very fast backbone which is what the miners provide now I've only shown five mining nodes here but of course that number can


vary quite significantly and I would expect it to be more but there's only room for so many circles on the page now remember back at the beginning of this animation I showed you the animation of this section I showed you the animation of the transaction floating from the customer all the way through the network bouncing around and eventually getting to the the recipient which was the


merchant so let's see how it actually happened is the way that Satoshi described because the very first version of Bitcoin included a feature called IP to IP which is the very definition of peer-to-peer it's appear with an IP address connecting to another peer with an IP address this is so subsequently been removed from Bitcoin that we are putting it back in so this is actually


how a transaction is supposed to flow customer and shop are already in touch with each other because they've decided to make a transaction and you know execute purchase of some goods or services etc so the customer sends the transaction directly to the shop makes sense because shop is the one that actually cares about getting the transaction confirmed so the shop takes responsibility for


sending it out to the minor now the miners are all incredibly densely connected so instead of those five hops that we saw before let's see what happens this time bang immediately as soon as it hits one minor it's after all of the others and so you've got incredibly low latency you you've actually got a speed of confirmation that some that can match the the competitors in the Fiat world and not


only that but the the minor that you send it to and in fact you could send it to more than one if you want to can actually send you in response back and tell you the status of your transaction so we'll get further into that in a little bit and more talk about the merchant API but back to the the overarching topic I guess which is big blocks it's being blocks that make this


possible it's being blocks that drive that economic model that some that incentivize - to form this this backbone and this is just an example it's it's one of the blocks I think that Jimmy actually showed you before showing the 370 megabytes and 1.3 million transactions these are a couple of charts that show the trajectory of Bitcoin is for over the last 18 months


on the top here this is actually a chart of the largest block in any 24-hour period the actual average it follows the same trend but the number is obviously a bit lower it's it's still running at about double BTC and as far as I know is the largest of any of the block chains in the world but you can see that steady growth it's it's a logarithmic curve if this was a linear graph then it would be


a much much steeper angle and probably wouldn't fit on the page but that capacity is there it's been demonstrated day in day out since since Bitcoin as we emerged onto the scene and down below again is the same graph but this time we're measuring the number of transactions per block so it's growing and that keeps the between a sweet team on our toes of course because we've got


to make sure that the software can all is supply as much capacity as there is demand for and we're fairly comfortable we're about a hundred times further in front than we need to be but it pays for us to always remain vigilant so why do big blocks matter for you well the fact that you can Democrat out of capacity is very important from a fee perspective because it's only when block chains run


out of capacity that you start to see huge spikes in fees there's not enough for everybody so people start bidding against each other and they start bidding the price of the transaction up that should never happen on a block chain there should be a market but the market is is there to determine how low fees can go not how high they can go and of course from a developer's point of


view you don't want to be looking over your shoulder constantly and counting how many transactions your application is making and how many bytes are in each transaction you might even want to be able to use many transactions in cases where you've traditionally been told that you have to use one imagine a large payment of a let's say $1,000 and you don't want it to be known to the whole


world well something that you could do is break it up into 20 small completely separate transactions which is something that would be unthinkable on on for example BTC or aetherium because of those transaction fees so big transaction this has enabled all sorts of use cases that that have that are not at all common on on block chains in general we'll just pick a couple out


there bits to Gramma's sounds very much like Instagram and it's much like what you would think it is it's you know image images your own images thought unchanged whether SV is an archival service which i think is going to be very useful for researchers in 50 or 100 years time because whether data that's being put on chain is is immutable that can't be changed if anyone ever tries to use a


fake version of that data it's trivial for anyone to prove and of course crypto fights I guess the the more fun end of a patient development that you can hook into a blockchain for all to gain all sorts of benefits of immutability now this last example is a little bit drier but it's a really good example of why scale matters in terms of enabling use cases that otherwise would be impossible


the HR day there is a big player in the USA a u.s. pharmaceutical industry they're addressing a specific problem the opioid crisis which is in the news pretty much every day in the United States it's killing a lot of people and they're trialing a solution right now we then shown in fact for dealing with this prescription data in a non chain way now this is health records so of course


there are privacy is paramount which whilst I won't go into all of the details because it would take too long but it shows that the privacy of on chain data is entirely possible but one of the key concerns that they have in looking at a block chain solution was capacity when this pilot is rolled out to a full scale solution they're expecting 3.2 million transactions per


day now how long would that take to process on various block chains with to scale limitations that they have well these are these are the rough numbers Bitcoin would take 44 days to process just one day's worth of transactions if they're iam quite a bit better but still they would need a time machine it's a little over two days right now Bitcoin SV can chew through that many in 32


minutes and with Tera node of course it will eat them all up you know in a single block so this last section is it is probably the part that's closest to my heart because I have to admit I'm a bit of a script nerd the script is the the programming language built into Bitcoin for anyone who's familiar with the theory and you're probably familiar with solidity which is something that a


theorem did incredibly well it's really easy to use programming language but when you think about Pro on on Bitcoin directly in script you probably think of something ugly and horrendous a little bit like this script is basically an assembly type language or a bytecode type language and in fact aetherium has its own parallel to this the etherium virtual machine runs off


bytecode which is very similar to Java bytecode and in fact for a lot of years you could you couldn't even make scripts like this because they were simply too long there were limitations imposed by by developers on by the Bitcoin developers on what you are allowed to put into scripts so all of the potential that's available here was was not available or not able to be used except


maybe on a test net at home so this is what a theory of solidity looks like but but it gets a little bit better than this of course the the potential for this is only just beginning to be unlocked something that we'll be talking about extensively I think in the Devcon will be the new IDE contract programming language s script there's others as well that's it there on the right and I put


them side by side so you can compare and see how how similar it actually is to a theory of solidity this has been one of the most important things I think the Bitcoin sv2 address was the simple fact that the developer experience on on aetherium was was so much better than it ever was on Bitcoin and they probably won't ever be any better on on BTC but on Bitcoin SV we've done something about