[{"data":1,"prerenderedAt":428},["ShallowReactive",2],{"footer-settings":3,"post-shell:what-is-latent-space-for-artists-e7d16d39db8d":22,"post-body:what-is-latent-space-for-artists-e7d16d39db8d":55},{"heading":4,"body":5,"links":6,"note":21},"Bottom line, still up front.","A small footer for global links, contact paths, and project context.",[7,10,13,16,19],{"label":8,"url":9},"About","http:\u002F\u002Fmy-website.localhost\u002Fabout#now",{"label":11,"url":12},"Case Studies","http:\u002F\u002Fmy-website.localhost\u002F#selected-work",{"label":14,"url":15},"Side Projects","http:\u002F\u002Fmy-website.localhost\u002Fside-projects",{"label":17,"url":18},"Writing","http:\u002F\u002Fmy-website.localhost\u002Fwriting",{"label":20,"url":9},"Now","",{"id":23,"slug":24,"date":25,"author":26,"title":29,"excerpt":30,"canonicalUrl":31,"featuredImage":32,"authorName":28,"featuredMedia":33,"blocks":54},"cG9zdDo2MDk=","what-is-latent-space-for-artists-e7d16d39db8d","March 27, 2023",{"node":27},{"name":28},"Aslan French","What is Latent Space, for artists?","I’m a traditionally trained studio artist and design technologist who has been experimenting with neural networks as an artistic medium since 2015. I’ve written about my process in the past and often with a direct focus on explaining&#8230;","https:\u002F\u002Fmedium.com\u002Fart-marketing\u002Fwhat-is-latent-space-for-artists-e7d16d39db8d",{"node":33},{"id":34,"sourceUrl":35,"srcSet":36,"sizes":37,"altText":21,"mediaDetails":38},"cG9zdDo2NDA=","https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d.png","https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d-300x300.png 300w, https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d-150x150.png 150w, https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d.png 614w","(max-width: 300px) 100vw, 300px",{"width":39,"height":39,"sizes":40},614,[41,48],{"name":42,"sourceUrl":43,"width":44,"height":44,"mimeType":45,"file":46,"fileSize":47},"medium","https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d-300x300.png","300","image\u002Fpng","medium-e7fb414319c60791de3e4ab767eeca4d-300x300.png",181012,{"name":49,"sourceUrl":50,"width":51,"height":51,"mimeType":45,"file":52,"fileSize":53},"thumbnail","https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d-150x150.png","150","medium-e7fb414319c60791de3e4ab767eeca4d-150x150.png",49417,[],[56,62,66,70,74,78,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375,379,383,387,391,396,400,404,408,412,416,420,424],{"name":57,"clientId":58,"parentClientId":59,"renderedHtml":60,"attributes":61},"core\u002Fparagraph","6a8e6cd2892ac",null,"\n\u003Cp class=\"wp-block-paragraph\">I’m a traditionally trained studio artist and design technologist who has been experimenting with neural networks as an artistic medium since 2015. \u003Ca href=\"https:\u002F\u002Fartplusmarketing.com\u002Fhow-artists-can-use-neural-networks-to-make-art-714cdab53953\">I’ve written about my process in the past\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fmedium.com\u002Fhackernoon\u002Fhow-artists-can-set-up-their-own-neural-network-part-1-installation-5dddac1ca331\">often with a direct focus on explaining technical subjects to artists\u003C\u002Fa>. I am just a layman, speaking from a self taught and simplified perspective, but I figured this would be a good mini-essay topic. Buckle up.\u003C\u002Fp>\n",{},{"name":57,"clientId":63,"parentClientId":59,"renderedHtml":64,"attributes":65},"6a8e6cd2892b2","\n\u003Cp class=\"wp-block-paragraph\">If you’ve been following the discussion around AI, neural networks, and\u002For machine learning you have maybe heard of “latent space”.\u003C\u002Fp>\n",{},{"name":57,"clientId":67,"parentClientId":59,"renderedHtml":68,"attributes":69},"6a8e6cd2892b3","\n\u003Cp class=\"wp-block-paragraph\">What is latent space?\u003C\u002Fp>\n",{},{"name":57,"clientId":71,"parentClientId":59,"renderedHtml":72,"attributes":73},"6a8e6cd2892b4","\n\u003Cp class=\"wp-block-paragraph\">Let’s start with a space you’re probably familiar with: physical space\u003C\u002Fp>\n",{},{"name":57,"clientId":75,"parentClientId":59,"renderedHtml":76,"attributes":77},"6a8e6cd2892b5","\n\u003Cp class=\"wp-block-paragraph\">Let’s think about a city grid:\u003C\u002Fp>\n",{},{"name":79,"clientId":80,"parentClientId":59,"renderedHtml":81,"attributes":82},"core\u002Fimage","6a8e6cd2892b6","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e7fb414319c60791de3e4ab767eeca4d.png\" alt=\"\" class=\"wp-image-640\"\u002F>\u003Cfigcaption class=\"wp-element-caption\">Image created using Midjourney and images from this article as prompts: \u003Ca href=\"https:\u002F\u002Fwww.archdaily.com\u002F949094\u002Forthogonal-grids-and-their-variations-in-17-cities-viewed-from-above\">https:\u002F\u002Fwww.archdaily.com\u002F949094\u002Forthogonal-grids-and-their-variations-in-17-cities-viewed-from-above\u003C\u002Fa>\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":84,"parentClientId":59,"renderedHtml":85,"attributes":86},"6a8e6cd2892b7","\n\u003Cp class=\"wp-block-paragraph\">I could tell you how to get to the library by saying “go two blocks east, and 3 blocks south”.\u003C\u002Fp>\n",{},{"name":57,"clientId":88,"parentClientId":59,"renderedHtml":89,"attributes":90},"6a8e6cd2892b8","\n\u003Cp class=\"wp-block-paragraph\">A mathey way to say this would be with a linear equation.\u003C\u002Fp>\n",{},{"name":57,"clientId":92,"parentClientId":59,"renderedHtml":93,"attributes":94},"6a8e6cd2892b9","\n\u003Cp class=\"wp-block-paragraph\">This can be written a couple of ways depending on how you balance the equation:\u003C\u002Fp>\n",{},{"name":79,"clientId":96,"parentClientId":59,"renderedHtml":97,"attributes":98},"6a8e6cd2892ba","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-b332efc8ca10830307f6d127beaa8520.png\" alt=\"\" class=\"wp-image-641\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":100,"parentClientId":59,"renderedHtml":101,"attributes":102},"6a8e6cd2892bb","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-fb45e757221aaaf859309ec45f793679.png\" alt=\"\" class=\"wp-image-642\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":104,"parentClientId":59,"renderedHtml":105,"attributes":106},"6a8e6cd2892bc","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-010692fe9acf4c5ed9c18dad9397d530.png\" alt=\"\" class=\"wp-image-643\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":108,"parentClientId":59,"renderedHtml":109,"attributes":110},"6a8e6cd2892bd","\n\u003Cp class=\"wp-block-paragraph\">\u003Cem>Visualization created using: \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fwww.mathpapa.com\u002Falgebra-calculator.html\">\u003Cem>https:\u002F\u002Fwww.mathpapa.com\u002Falgebra-calculator.html\u003C\u002Fem>\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":112,"parentClientId":59,"renderedHtml":113,"attributes":114},"6a8e6cd2892be","\n\u003Cp class=\"wp-block-paragraph\">You probably already know all this, but it bears repeating. XY math wasn’t always in our vocabulary. Legend has it, the philosopher and mathematician \u003Ca href=\"https:\u002F\u002Fwild.maths.org\u002Fren%C3%A9-descartes-and-fly-ceiling\">Descartes thought up the idea while watching a fly buzz around the corner of his home\u003C\u002Fa>. That’s why this system is called \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCartesian_coordinate_system\">the Cartesian coordinate system\u003C\u002Fa>. Not all cities were built on grids. Our language and the tools we have to talk about these things have changed over time.\u003C\u002Fp>\n",{},{"name":57,"clientId":116,"parentClientId":59,"renderedHtml":117,"attributes":118},"6a8e6cd2892bf","\n\u003Cp class=\"wp-block-paragraph\">You know physical space, and you understand XY space, but what does this have to do with latent space?\u003C\u002Fp>\n",{},{"name":57,"clientId":120,"parentClientId":59,"renderedHtml":121,"attributes":122},"6a8e6cd2892c0","\n\u003Cp class=\"wp-block-paragraph\">I’m getting there but let’s up the complexity a little.\u003C\u002Fp>\n",{},{"name":57,"clientId":124,"parentClientId":59,"renderedHtml":125,"attributes":126},"6a8e6cd2892c1","\n\u003Cp class=\"wp-block-paragraph\">Two dimensions is easy. Why not 3? XYZ space\u003C\u002Fp>\n",{},{"name":79,"clientId":128,"parentClientId":59,"renderedHtml":129,"attributes":130},"6a8e6cd2892c2","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-4e53a5d4aab444435ec2d695b4604aae.png\" alt=\"\" class=\"wp-image-644\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":132,"parentClientId":59,"renderedHtml":133,"attributes":134},"6a8e6cd2892c3","\n\u003Cp class=\"wp-block-paragraph\">A linear equation for this might look something like: 3x+2y+4z=0\u003C\u002Fp>\n",{},{"name":57,"clientId":136,"parentClientId":59,"renderedHtml":137,"attributes":138},"6a8e6cd2892c4","\n\u003Cp class=\"wp-block-paragraph\">You can see here that the equation 3x+2y+0z=0 describes a plane that from above (reducing things down to just 2 dimensions) looks like our 2D line above, and when given a positive constant for z, we get a plane that intersects with the other plane but has additional Z depth that can only be described with 3 variables.\u003C\u002Fp>\n",{},{"name":79,"clientId":140,"parentClientId":59,"renderedHtml":141,"attributes":142},"6a8e6cd2892c5","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-6b5cf3eec94728ca637c880557e76ed6.png\" alt=\"\" class=\"wp-image-645\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":144,"parentClientId":59,"renderedHtml":145,"attributes":146},"6a8e6cd2892c6","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-50b2960cf72afc16eb1f1733a8e47bf9.png\" alt=\"\" class=\"wp-image-646\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":148,"parentClientId":59,"renderedHtml":149,"attributes":150},"6a8e6cd2892c7","\n\u003Cp class=\"wp-block-paragraph\">Okay so we have XY or XYZ space that we can use to describe physical space. Any additional dimensions gets a little weird because our brains are oriented towards existing in 3 dimensional space.\u003C\u002Fp>\n",{},{"name":57,"clientId":152,"parentClientId":59,"renderedHtml":153,"attributes":154},"6a8e6cd2892c8","\n\u003Cp class=\"wp-block-paragraph\">Here’s something neat though, and maybe more familiar to artists.\u003C\u002Fp>\n",{},{"name":57,"clientId":156,"parentClientId":59,"renderedHtml":157,"attributes":158},"6a8e6cd2892d6","\n\u003Cp class=\"wp-block-paragraph\">You have 3 variables describing a space right, but XYZ isn’t the only thing you could describe as a mathematical space. You could also talk about RGB space.\u003C\u002Fp>\n",{},{"name":79,"clientId":160,"parentClientId":59,"renderedHtml":161,"attributes":162},"6a8e6cd2892d7","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-319474560cb7c097b823b963d62cb9c1.png\" alt=\"\" class=\"wp-image-647\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":164,"parentClientId":59,"renderedHtml":165,"attributes":166},"6a8e6cd2892d8","\n\u003Cp class=\"wp-block-paragraph\">\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRGB_color_spaces#\u002Fmedia\u002FFile:RGB_Cube_Show_lowgamma_cutout_b.png\">https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRGB_color_spaces#\u002Fmedia\u002FFile:RGB_Cube_Show_lowgamma_cutout_b.png\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":168,"parentClientId":59,"renderedHtml":169,"attributes":170},"6a8e6cd2892d9","\n\u003Cp class=\"wp-block-paragraph\">All the colors on your screen are described using a mixture of Red, Green, and Blue. Standard encoding has a maximum value of 255.\u003C\u002Fp>\n",{},{"name":79,"clientId":172,"parentClientId":59,"renderedHtml":173,"attributes":174},"6a8e6cd2892da","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-8b7386d97120b64d72c3069c70a2863e.png\" alt=\"\" class=\"wp-image-648\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":176,"parentClientId":59,"renderedHtml":177,"attributes":178},"6a8e6cd2892db","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-8c8b68f1ba9eba243651ebf5a15d2b7d.png\" alt=\"\" class=\"wp-image-649\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":180,"parentClientId":59,"renderedHtml":181,"attributes":182},"6a8e6cd2892dc","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-645238b0c385fe321cc5f2592360c83e.png\" alt=\"\" class=\"wp-image-650\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":184,"parentClientId":59,"renderedHtml":185,"attributes":186},"6a8e6cd2892dd","\n\u003Cp class=\"wp-block-paragraph\">Or some mixture:\u003C\u002Fp>\n",{},{"name":79,"clientId":188,"parentClientId":59,"renderedHtml":189,"attributes":190},"6a8e6cd2892de","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-f706c6fe0a03e105b7a4d6743bc6fdfa.png\" alt=\"\" class=\"wp-image-651\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":192,"parentClientId":59,"renderedHtml":193,"attributes":194},"6a8e6cd2892df","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-987c1466b76b237313118d4093c44f09.png\" alt=\"\" class=\"wp-image-652\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":196,"parentClientId":59,"renderedHtml":197,"attributes":198},"6a8e6cd2892e0","\n\u003Cp class=\"wp-block-paragraph\">You can play around with this here: \u003Ca href=\"https:\u002F\u002Fwww.w3schools.com\u002Fcss\u002Fcss_colors_rgb.asp\">https:\u002F\u002Fwww.w3schools.com\u002Fcss\u002Fcss_colors_rgb.asp\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":200,"parentClientId":59,"renderedHtml":201,"attributes":202},"6a8e6cd2892e1","\n\u003Cp class=\"wp-block-paragraph\">Brilliant sculpture by Tauba Auerbach demonstrating this in physical form: \u003Ca href=\"https:\u002F\u002Ftaubaauerbach.com\u002Fview.php?id=286&amp;alt=699\">https:\u002F\u002Ftaubaauerbach.com\u002Fview.php?id=286&amp;alt=699\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":79,"clientId":204,"parentClientId":59,"renderedHtml":205,"attributes":206},"6a8e6cd2892e2","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-e61af4309d83136ff9a49674a726d8c3.png\" alt=\"\" class=\"wp-image-653\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":208,"parentClientId":59,"renderedHtml":209,"attributes":210},"6a8e6cd2892e3","\n\u003Cp class=\"wp-block-paragraph\">RGB space is a space just like XYZ, and you can use the same kind of math to manipulate it. That’s how a gradient works! Gradients are translations from one color to another in RGB space. Different algorithms can be used to produce different kinds of gradients. This is a much discussed issue amongst UI designers since using a simple linear algorithm will produce gray dead zones between complementary colors.\u003C\u002Fp>\n",{},{"name":79,"clientId":212,"parentClientId":59,"renderedHtml":213,"attributes":214},"6a8e6cd2892e4","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-0544551608c6563ab1aad8590656cbd9.png\" alt=\"\" class=\"wp-image-654\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":216,"parentClientId":59,"renderedHtml":217,"attributes":218},"6a8e6cd2892e5","\n\u003Cp class=\"wp-block-paragraph\">\u003Ca href=\"https:\u002F\u002Fwww.learnui.design\u002Ftools\u002Fgradient-generator.html\">https:\u002F\u002Fwww.learnui.design\u002Ftools\u002Fgradient-generator.html\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":220,"parentClientId":59,"renderedHtml":221,"attributes":222},"6a8e6cd2892e6","\n\u003Cp class=\"wp-block-paragraph\">RGB cube is getting squashed into a circle for visualization purposes. Game designer Bennett Foddy created a tool to improve gradients in Photoshop, which does a similar thing: \u003Ca href=\"https:\u002F\u002Fwww.foddy.net\u002F2010\u002F10\u002Fgentle-gradient\u002F\">https:\u002F\u002Fwww.foddy.net\u002F2010\u002F10\u002Fgentle-gradient\u002F\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":79,"clientId":224,"parentClientId":59,"renderedHtml":225,"attributes":226},"6a8e6cd2892e7","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-252e6478539b31c82e704df9ffda60a4.png\" alt=\"\" class=\"wp-image-655\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":228,"parentClientId":59,"renderedHtml":229,"attributes":230},"6a8e6cd2892e8","\n\u003Cp class=\"wp-block-paragraph\">Okay so what’s my point here? XYZ and RGB are just different dimensions. You could have lots of other kinds of dimensions. For instance normal maps in video games (also called bump maps) are used to encode 3D angular information in RGB: \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNormal_mapping\">https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNormal_mapping\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":79,"clientId":232,"parentClientId":59,"renderedHtml":233,"attributes":234},"6a8e6cd2892e9","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-a53c98c544476964ffb0ad2d4b445094.png\" alt=\"\" class=\"wp-image-656\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":236,"parentClientId":59,"renderedHtml":237,"attributes":238},"6a8e6cd2892ea","\n\u003Cp class=\"wp-block-paragraph\">Source: \u003Ca href=\"https:\u002F\u002Fcommons.wikimedia.org\u002Fwiki\u002FFile:Normal_map_example_with_scene_and_result.png\">https:\u002F\u002Fcommons.wikimedia.org\u002Fwiki\u002FFile:Normal_map_example_with_scene_and_result.png\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":240,"parentClientId":59,"renderedHtml":241,"attributes":242},"6a8e6cd2892eb","\n\u003Cp class=\"wp-block-paragraph\">In this case the angle of the \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNormal_(geometry)\">normal\u003C\u002Fa> is mapped to RGB. This allows for a video game to encode much higher resolution surface texture than you would be easily computable if you were to have the full polygon count. A “flat” image containing 3 dimensional information! Woah!\u003C\u002Fp>\n",{},{"name":57,"clientId":244,"parentClientId":59,"renderedHtml":245,"attributes":246},"6a8e6cd2892ec","\n\u003Cp class=\"wp-block-paragraph\">Old 3D model I made of Bowser where I created detailed skin texture using normal maps\u003C\u002Fp>\n",{},{"name":79,"clientId":248,"parentClientId":59,"renderedHtml":249,"attributes":250},"6a8e6cd2892ed","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-6f046cac25e8025fe34eab369a261d9f.png\" alt=\"\" class=\"wp-image-657\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":252,"parentClientId":59,"renderedHtml":253,"attributes":254},"6a8e6cd2892ee","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-089eca0f4389964f160d88a448e037d4.png\" alt=\"\" class=\"wp-image-658\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":256,"parentClientId":59,"renderedHtml":257,"attributes":258},"6a8e6cd2892ef","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-c54f5e0cf68a2ed1876680cad6a3d72d.png\" alt=\"\" class=\"wp-image-659\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":260,"parentClientId":59,"renderedHtml":261,"attributes":262},"6a8e6cd2892f0","\n\u003Cp class=\"wp-block-paragraph\">\u003Ca href=\"https:\u002F\u002Fsketchfab.com\u002F3d-models\u002Fbowser-heavyweight-champ-7092e8b3c8264aecb355670c1ec9ea5c\">https:\u002F\u002Fsketchfab.com\u002F3d-models\u002Fbowser-heavyweight-champ-7092e8b3c8264aecb355670c1ec9ea5c\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":264,"parentClientId":59,"renderedHtml":265,"attributes":266},"6a8e6cd2892f1","\n\u003Cp class=\"wp-block-paragraph\">As you can see there are not enough polygons to describe the microtexture of the skin, but the normal map can help fake it enough for what a video game needs and for much less computational cost.\u003C\u002Fp>\n",{},{"name":57,"clientId":268,"parentClientId":59,"renderedHtml":269,"attributes":270},"6a8e6cd2892f2","\n\u003Cp class=\"wp-block-paragraph\">Right so what’s latent space again???\u003C\u002Fp>\n",{},{"name":57,"clientId":272,"parentClientId":59,"renderedHtml":273,"attributes":274},"6a8e6cd2892f3","\n\u003Cp class=\"wp-block-paragraph\">If you can have 2 dimensions you can have 3 dimensions. In fact you could have 4, or 5, or 6 and so on.\u003C\u002Fp>\n",{},{"name":57,"clientId":276,"parentClientId":59,"renderedHtml":277,"attributes":278},"6a8e6cd2892f4","\n\u003Cp class=\"wp-block-paragraph\">We can easily visualize it in 2D and 3D but it’s hard to go beyond that. You could create a 3D graph that maps points to XYZ space and then tack on some additional dimensions using things like color:\u003C\u002Fp>\n",{},{"name":79,"clientId":280,"parentClientId":59,"renderedHtml":281,"attributes":282},"6a8e6cd2892f5","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-79296987228f3792d7f97fee0d3b4e23.png\" alt=\"\" class=\"wp-image-660\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":284,"parentClientId":59,"renderedHtml":285,"attributes":286},"6a8e6cd2892f6","\n\u003Cp class=\"wp-block-paragraph\">\u003Ca href=\"https:\u002F\u002Fwww.mathworks.com\u002Fhelp\u002Fmatlab\u002Fvisualize\u002Fvisualizing-four-dimensional-data.html\">https:\u002F\u002Fwww.mathworks.com\u002Fhelp\u002Fmatlab\u002Fvisualize\u002Fvisualizing-four-dimensional-data.html\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":288,"parentClientId":59,"renderedHtml":289,"attributes":290},"6a8e6cd2892f7","\n\u003Cp class=\"wp-block-paragraph\">The four dimensions being latitude, longitude, % of rural population, and fatalities per 100m vehicle-miles.\u003C\u002Fp>\n",{},{"name":57,"clientId":292,"parentClientId":59,"renderedHtml":293,"attributes":294},"6a8e6cd2892f8","\n\u003Cp class=\"wp-block-paragraph\">Our brain and visual system just doesn’t grok higher dimensions intuitively, so this is a bit of a hack. In machine learning more advanced techniques are used to reduce dimensionality and visualize things in clusters.\u003C\u002Fp>\n",{},{"name":57,"clientId":296,"parentClientId":59,"renderedHtml":297,"attributes":298},"6a8e6cd2892f9","\n\u003Cp class=\"wp-block-paragraph\">Maybe I could have skipped all this and just linked this video Google put out in 2016: \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=wvsE8jm1GzE\">https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=wvsE8jm1GzE\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":300,"parentClientId":59,"renderedHtml":301,"attributes":302},"6a8e6cd2892fa","\n\u003Cp class=\"wp-block-paragraph\">In mathematics, this stuff gets generalized as a “\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTensor\">tensor\u003C\u002Fa>” which can be any arbitrary number of dimensions. The same kind of math you do in XYZ or RGB space can be done on these higher dimensional spaces. Instead of having Redness, Greenness, and Blueness, you can measure hundreds of spectrums like “gender”, “age”, or “happiness”.\u003C\u002Fp>\n",{},{"name":57,"clientId":304,"parentClientId":59,"renderedHtml":305,"attributes":306},"6a8e6cd2892fb","\n\u003Cp class=\"wp-block-paragraph\">In fact the online tool Art Breeder lets you do exactly that:\u003C\u002Fp>\n",{},{"name":79,"clientId":308,"parentClientId":59,"renderedHtml":309,"attributes":310},"6a8e6cd2892fc","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-953055f6470cbcc16ed49ed298d2728d.png\" alt=\"\" class=\"wp-image-662\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":312,"parentClientId":59,"renderedHtml":313,"attributes":314},"6a8e6cd2892fd","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-ad9771931e2f4422a46effcafa432d73.png\" alt=\"\" class=\"wp-image-663\"\u002F>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":316,"parentClientId":59,"renderedHtml":317,"attributes":318},"6a8e6cd2892fe","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-36ed6b5ebc3b14aa7d250c0ae9d49387.png\" alt=\"\" class=\"wp-image-664\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":320,"parentClientId":59,"renderedHtml":321,"attributes":322},"6a8e6cd2892ff","\n\u003Cp class=\"wp-block-paragraph\">A sampling along the age spectrum. And now manipulating the gender spectrum:\u003C\u002Fp>\n",{},{"name":79,"clientId":324,"parentClientId":59,"renderedHtml":325,"attributes":326},"6a8e6cd289300","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-abbcf0c3f2de771743400d26ba9ad106.png\" alt=\"\" class=\"wp-image-665\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":328,"parentClientId":59,"renderedHtml":329,"attributes":330},"6a8e6cd289301","\n\u003Cp class=\"wp-block-paragraph\">\u003Ca href=\"https:\u002F\u002Fwww.artbreeder.com\u002Fcreate\u002Fportraits\">https:\u002F\u002Fwww.artbreeder.com\u002Fcreate\u002Fportraits\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":332,"parentClientId":59,"renderedHtml":333,"attributes":334},"6a8e6cd289302","\n\u003Cp class=\"wp-block-paragraph\">Art Breeder gives you many “genes” to manipulate an image. Each of these genes is its own dimension. Gender, age, race, different clothing, whatever. Generative neural networks like Stable Diffusion or Midjourney have been trained using images tagged with metadata. Trained neural networks are a mathematical space that results from these many dimensions. A picture gets tagged by gender, age, but other things like if it has a cat in it, or is in pointillist art style.\u003C\u002Fp>\n",{},{"name":79,"clientId":336,"parentClientId":59,"renderedHtml":337,"attributes":338},"6a8e6cd289303","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-65669e3623c5273d5e5125fa943c7bc9.png\" alt=\"\" class=\"wp-image-666\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":340,"parentClientId":59,"renderedHtml":341,"attributes":342},"6a8e6cd289304","\n\u003Cp class=\"wp-block-paragraph\">Here’s a visualization of this stuff I made last year using the v1 model of Midjourney.\u003C\u002Fp>\n",{},{"name":57,"clientId":344,"parentClientId":59,"renderedHtml":345,"attributes":346},"6a8e6cd289305","\n\u003Cp class=\"wp-block-paragraph\">The text prompt “genie” the anglicized translation of the arabic word jinn, جن :\u003C\u002Fp>\n",{},{"name":79,"clientId":348,"parentClientId":59,"renderedHtml":349,"attributes":350},"6a8e6cd289306","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-24f7c291906ca962c1abdf22acdbbe88.png\" alt=\"\" class=\"wp-image-667\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":352,"parentClientId":59,"renderedHtml":353,"attributes":354},"6a8e6cd289307","\n\u003Cp class=\"wp-block-paragraph\">Now an image created with the romanized prompt “djinn” :\u003C\u002Fp>\n",{},{"name":79,"clientId":356,"parentClientId":59,"renderedHtml":357,"attributes":358},"6a8e6cd289308","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-3e6103b9aac196c3a9de7e837c8a4959.png\" alt=\"\" class=\"wp-image-668\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":360,"parentClientId":59,"renderedHtml":361,"attributes":362},"6a8e6cd289309","\n\u003Cp class=\"wp-block-paragraph\">Now let’s do some math. Midjourney allows you to use negative prompts. The idea for this series was inspired by the “Subreddit Algebra” project of 538: \u003Ca href=\"https:\u002F\u002Ffivethirtyeight.com\u002Ffeatures\u002Fdissecting-trumps-most-rabid-online-following\u002F\">https:\u002F\u002Ffivethirtyeight.com\u002Ffeatures\u002Fdissecting-trumps-most-rabid-online-following\u002F\u003C\u002Fa>\u003C\u002Fp>\n",{},{"name":57,"clientId":364,"parentClientId":59,"renderedHtml":365,"attributes":366},"6a8e6cd28930a","\n\u003Cp class=\"wp-block-paragraph\">What is a genie minus the djinn? What do we get when we invoke genieness but ask the neural network to subtract djinness from it?\u003C\u002Fp>\n",{},{"name":79,"clientId":368,"parentClientId":59,"renderedHtml":369,"attributes":370},"6a8e6cd28930b","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-113089b98ece4efa9f509be8b936ed5d.png\" alt=\"\" class=\"wp-image-669\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":372,"parentClientId":59,"renderedHtml":373,"attributes":374},"6a8e6cd28930c","\n\u003Cp class=\"wp-block-paragraph\">And a djinn minus the genie?\u003C\u002Fp>\n",{},{"name":79,"clientId":376,"parentClientId":59,"renderedHtml":377,"attributes":378},"6a8e6cd28930d","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-16b3f463b5cb7ab1dbda2f8c1e515e71.png\" alt=\"\" class=\"wp-image-670\"\u002F>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":380,"parentClientId":59,"renderedHtml":381,"attributes":382},"6a8e6cd28930e","\n\u003Cp class=\"wp-block-paragraph\">You can see with the original djinn and genie images a lot of similarities but also some subtle differences. Genie is a lighter blue, rounder, more cartooney, while djinn seems more adult in it’s proportions and the blue is a darker shade generally speaking. When we subtract djinness from genie we get this distinction heightened. Genie is a term we associate these days with specific Disney cartoons, while the romanized djinn gets more associated with folkloric depicitions. You subtract the family friendly genie from the djinn and you get something foreboding, exotic, and in more in keeping with the mythological reputation of djinn as dangerous and potentially evil spirits. There are also potential racialized or gendered interpretations of these distinctions as well.\u003C\u002Fp>\n",{},{"name":57,"clientId":384,"parentClientId":59,"renderedHtml":385,"attributes":386},"6a8e6cd28930f","\n\u003Cp class=\"wp-block-paragraph\">So this is latent space???\u003C\u002Fp>\n",{},{"name":57,"clientId":388,"parentClientId":59,"renderedHtml":389,"attributes":390},"6a8e6cd289310","\n\u003Cp class=\"wp-block-paragraph\">Okay latent space has a precise and rigorous technical definition but for artists, latent space can be thought of as basically “semantic\u002Fmeaning space”. Or if you like “vibe space”. It’s using math to manipulate many hundreds and thousands of vibe spectrums. It’s a way to refer to a general mathematical space defined by a bunch of dimensions.\u003C\u002Fp>\n",{},{"name":392,"clientId":393,"parentClientId":59,"renderedHtml":394,"attributes":395},"core\u002Fheading","6a8e6cd289311","\n\u003Ch2 class=\"wp-block-heading\">\u003Cstrong>BONUS:\u003C\u002Fstrong>\u003C\u002Fh2>\n",{},{"name":57,"clientId":397,"parentClientId":59,"renderedHtml":398,"attributes":399},"6a8e6cd289312","\n\u003Cp class=\"wp-block-paragraph\">I also wasn’t aware of the djinn\u002Fgenie being around romanization versus anglicization until talking with someone while exhibiting these images. So I tried the original arabic “جن”, the transliteration “jinn”, the anglicization, “genie”, and the romanization “djinn”. These were all done with Midjourney v 5 (the latest version). I also realized that this image series is a great visual argument for \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHolophrastic_indeterminacy\">Quine’s holophrastic indeterminacy thesis\u003C\u002Fa>.\u003C\u002Fp>\n",{},{"name":79,"clientId":401,"parentClientId":59,"renderedHtml":402,"attributes":403},"6a8e6cd289313","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-69f59fbdba105bef33fb254442b5aba2.png\" alt=\"\" class=\"wp-image-671\"\u002F>\u003Cfigcaption class=\"wp-element-caption\">جن\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":405,"parentClientId":59,"renderedHtml":406,"attributes":407},"6a8e6cd289314","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-a761e94238ec3af107156181a3e2597d.png\" alt=\"\" class=\"wp-image-672\"\u002F>\u003Cfigcaption class=\"wp-element-caption\">jinn\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":409,"parentClientId":59,"renderedHtml":410,"attributes":411},"6a8e6cd289315","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-b692411dca3e83a5e79c08d672c5b8e9.png\" alt=\"\" class=\"wp-image-673\"\u002F>\u003Cfigcaption class=\"wp-element-caption\">genie\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n",{},{"name":79,"clientId":413,"parentClientId":59,"renderedHtml":414,"attributes":415},"6a8e6cd28931a","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-2fc156a91a88a868f82e4b6e29433c14.png\" alt=\"\" class=\"wp-image-674\"\u002F>\u003Cfigcaption class=\"wp-element-caption\">djinn\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":417,"parentClientId":59,"renderedHtml":418,"attributes":419},"6a8e6cd28931b","\n\u003Cp class=\"wp-block-paragraph\">If I redo the djinn minus genie with model v 5 you get the rather bizarre:\u003C\u002Fp>\n",{},{"name":79,"clientId":421,"parentClientId":59,"renderedHtml":422,"attributes":423},"6a8e6cd28931c","\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https:\u002F\u002Fwww.aslanfrench.work\u002Fmedia\u002F2023\u002F03\u002Fmedium-dbae4252b273f5cd194542c06de32303.png\" alt=\"\" class=\"wp-image-675\"\u002F>\u003Cfigcaption class=\"wp-element-caption\">genie — no djinn\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n",{},{"name":57,"clientId":425,"parentClientId":59,"renderedHtml":426,"attributes":427},"6a8e6cd28931d","\n\u003Cp class=\"wp-block-paragraph\">I am guessing that the “Genie” is some kind of kitchen appliance that has found its way into the dataset since my original experiment. I originally assumed the more feminine and apparently blonde result of genie minus djinn was due to the 60s TV show “I dream of Jeannie” but I think it may just be an effect of it being associated with disney princesses, as the MJ v 5 model seems to indicate.\u003C\u002Fp>\n",{},1787718861264]