{"id":19839,"date":"2018-04-19T17:36:49","date_gmt":"2018-04-19T22:36:49","guid":{"rendered":"http:\/\/blog.kenperlin.com\/?p=19839"},"modified":"2018-04-19T17:36:49","modified_gmt":"2018-04-19T22:36:49","slug":"procedure-versus-data-part-3","status":"publish","type":"post","link":"http:\/\/blog.kenperlin.com\/?p=19839","title":{"rendered":"Procedure versus data, part 3"},"content":{"rendered":"<p>In particular, we&#8217;ve had a long running split in the computer world between &#8220;compute it&#8221; and &#8220;capture it&#8221;. In my own work in texturing, it has often come down to &#8220;generate a procedural texture&#8221; or &#8220;scan a texture image&#8221;.<\/p>\n<p>Yet like most dichotomies, that turns out to be a simplification. In practice, people will scan a texture image and then use that image as source material for a procedure.<\/p>\n<p>For example, you might use Photoshop to paint an image of &#8220;here is where the forest should go.&#8221; Then the places where you painted green will be used by a computer program to grow synthetic trees.<\/p>\n<p>So in the best cases it&#8217;s not really &#8220;procedure versus data,&#8221; but more &#8220;procedure using data.&#8221;  Now we are just entering a new regime where this partnership is really taking off.<\/p>\n<p>That&#8217;s because of recent rapid advances in machine learning. The beauty of machine learning is that it builds a procedure from data. The more examples of existing data you give it, the better will be the procedure that it can build.<\/p>\n<p>Machine learning isn&#8217;t a panacea &#8212; it will only show answers to new things that are similar to the things you&#8217;ve already showed it. But it&#8217;s a lot better than anything we&#8217;ve had before.<\/p>\n<p>For solving completely new problems, we still need human brains creating procedures. Computers don&#8217;t know how to do that yet.  And maybe they never will.<\/p>\n<p>Which may not be a bad thing. \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In particular, we&#8217;ve had a long running split in the computer world between &#8220;compute it&#8221; and &#8220;capture it&#8221;. In my own work in texturing, it has often come down to &#8220;generate a procedural texture&#8221; or &#8220;scan a texture image&#8221;. Yet like most dichotomies, that turns out to be a simplification. In practice, people will scan &hellip; <a href=\"http:\/\/blog.kenperlin.com\/?p=19839\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Procedure versus data, part 3&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/19839"}],"collection":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19839"}],"version-history":[{"count":1,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/19839\/revisions"}],"predecessor-version":[{"id":19840,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/19839\/revisions\/19840"}],"wp:attachment":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=19839"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=19839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}