{"id":1551,"date":"2018-09-14T12:38:16","date_gmt":"2018-09-14T10:38:16","guid":{"rendered":"http:\/\/borkedcode.com\/wp\/?p=1551"},"modified":"2018-09-14T12:38:16","modified_gmt":"2018-09-14T10:38:16","slug":"lets-talk-briefly-about-deep-learning","status":"publish","type":"post","link":"https:\/\/www.borkedcode.com\/wp2\/2018\/09\/14\/lets-talk-briefly-about-deep-learning\/","title":{"rendered":"Let\u2019s Talk Briefly about Deep Learning"},"content":{"rendered":"<p>You\u2019ve heard the name over and over, and for most of you it probably settles into the same category as Harry Potter\u2019s \u201clevitation charm\u201d as far as whether you need to understand it.\u00a0 That\u2019s cool, most people will never need to know this stuff, in the same fashion as you don\u2019t need to know the specific chemical reactions that go on when gasoline burns inside your engine cylinders.\u00a0 You just want to turn the key and go!<\/p>\n<p>When the term \u201cDeep Learning\u201d started getting used, the media clamped onto it because it was a pretty sexy marketing term, and it sold a lot of print and eyeballs.\u00a0 This is because we have a somewhat intuitive sense of what we conceive \u201cDeep Learning\u201d to be \u2013 it conjures up images of professors doing serious research and coming up with great discoveries, etc. \u00a0Because of this, a lot of intrinsic value is being assigned to the topic of Deep Learning, so much so that it seems a startup can automatically generate a B-round or further simply by stating that \u201cwe use Deep Learning to make the best decisions on what goes into today\u2019s lunch soup\u201d.\u00a0 That\u2019s a bit of a stretch, but not by far ).<\/p>\n<h1>So What Is It?<\/h1>\n<p>We need to start by looking at the name:\u00a0 Deep Learning.\u00a0 These two words, just like pretty much everything in computerese, have very specific meanings which often don\u2019t attach well to the real world.\u00a0 In this case, they do, which is fortunate for me because it\u2019ll help keep this article brief.<\/p>\n<p>Let\u2019s tackle each word separately.<\/p>\n<p>Learning.\u00a0 A DL system quite often has a multitude of modules or units, each of which is responsible for <em>Learning<\/em> something.\u00a0 If it\u2019s a good object-oriented model, each unit is responsible for learning one thing, and one thing only, and becoming very good at that one thing.\u00a0 It will have inputs, and it will have outputs, and what it does internally it might involve multiple stages of analysis against the inputs that help it craft an output that has \u201cmeaning\u201d to the other parts of the system that use it.<\/p>\n<p>What would be a good example of a learning unit?\u00a0 How about something in image identification?\u00a0 Within a satellite photo, parts of the image get pulled as possible missiles, or tanks.\u00a0 These parts have attributes of their parts, such as the ratio of length to width, possibly their height (if the image was taken from an angle not directly overhead it will be possible to calculate height), maybe differences in shading top to bottom (the turret of a tank will produce shadows), etc.<\/p>\n<p>A unit that is given candidate images might build a statistical history based on its prior attempts to classify, its positives and negative results, and may (if it is particularly advanced) also \u2018tune\u2019 its results based on things like geographic location and so on.\u00a0 In its operation, it will come back with a statistical probability that object X which it was given is a tank or a missile.\u00a0 Over time it will be \u2018trained\u2019 \u2013 either by itself, or by humans inputting images to it with flags saying \u201ctank\u201d or \u201cno tank\u201d (when humans give it cues like this it is called \u201csupervised learning\u201d), to be better at identifying candidate objects.<\/p>\n<p>Deep.\u00a0 The ability of a computer system using Deep Learning is generally amplified by how many different things it can learn, and each one of these things that can be learned, when placed in line with one another (or if you go for the visual, they can be \u201cstacked up\u201d) produce <em>depth.<\/em>\u00a0 A system that can stack many layers is considered Deep.<\/p>\n<p>The example above, where a system was given a photo object, might be part of a system which takes a single large photograph, and multiple different units act on it.\u00a0 Let\u2019s walk through the hypothetical layers:<\/p>\n<p>The first might look for straight lines.\u00a0 It trains itself to be better and better at examining colors of pixels in images and finding ones that line up as straight, given the resolution of the image.<\/p>\n<p>The second looks for corners, where straight lines meet.\u00a0 It takes the identified straight lines from unit one, and then will seek places where their ends meet.\u00a0 It will train itself to avoid \u201cT\u201d bits, and might decide that \u201crounded\u201d corners are acceptable within a certain threshold.\u00a0 It outputs its data to\u2026<\/p>\n<p>The third, which takes corners and try to find \u2018boxes\u2019, places where multiple corners might form an enclosed space.\u00a0 It must train itself to avoid opposite-facing corners, etc.\u00a0 It then sends its candidate \u2018boxes\u2019 to:<\/p>\n<p>The fourth, which takes boxes and begins to look for color shading gradients which can describe sides, tops, fins, etc.\u00a0 It compares these values to its own historical knowledge and \u2018learns\u2019 to classify these boxes as specific objects \u2013 and outputs things like \u201c75% missile\u201d or \u201c80% tank\u201d, etc.\u00a0 Particularly sophisticated versions might even be able to compare signatures finely enough as to identify the type of missile or tank.<\/p>\n<p>Each of these units described above might be comprised of multiple sub-units, which share connections with one another (which, by the way, is a \u201cneural network\u201d \u2013 different discussion, might write about that some time too).\u00a0 These sub-units would be hidden from the units outside itself.<\/p>\n<p>So between the two, we have a Deep system, that Learns to do its job better over time.<\/p>\n<p>And before you ask, yes, there is also \u201cShallow Learning\u201d \u2013 Shallow simply refers to a \u201cstack\u201d that doesn\u2019t have many layers.\u00a0 There\u2019s no set boundary between what \u201cShallow\u201d versus \u201cDeep\u201d is.<\/p>\n<h1>How Good Is It?<\/h1>\n<p>As with pretty much every computer system ever invented, the answer to the question \u201cHow good is it?\u201d is:\u00a0 GIGO.\u00a0 Garbage in, garbage out.\u00a0 The system is only as good as its training.\u00a0 In the example above, if insufficient valid positive and negative images are given to the system to train on, it can suffer from muddied \u201cperception\u201d and never get better.<\/p>\n<p>However, DL is <em>powerful.<\/em>\u00a0 By that, I mean that when compared to a human, it can reach or exceed our capabilities within its specialized tasking in a very short (comparatively) period of time.<\/p>\n<p>For example, I have a set of rules I built in Outlook over the course of probably fifteen years or more, and these rules successfully negate 99.5% of the spam that lands in my inbox (today\u2019s example: 450+ messages are in my \u2018Deleted\u2019 folder, about 5 landed in my inbox that had to be deleted).\u00a0 Occasionally, I get a \u2018false positive\u2019 and a good mail will get deleted, but it\u2019s pretty rare.\u00a0 These rules have taken over a decade to produce, and act on a host of subject triggers, address triggers, body triggers, etc.\u00a0 A DL system can establish a similar \u2018hit rate\u2019 to my rules in only a few days, perhaps as fast as a few hours.<\/p>\n<p>But these factors depend on how well the system is built, and how good its learning data is.<\/p>\n<h2>What Does It Mean To Me?<\/h2>\n<p>Well, now that\u2019s the catch.\u00a0 Depending on your life, DL systems may not have a direct impact on you at all.\u00a0 Plumbers, for example, are unlikely to care.\u00a0 Insurers, actuaries and other folks whose livelihoods depend on statistical analysis, however, had better sit up and take notice.\u00a0 The initial \u201cgreen field\u201d territories where statistics are the primary function have already been broadly affected by Deep Learning.\u00a0 Today, areas such as FinTech and advertising sales are steadily moving to use DL in certain aspects of their business.\u00a0 Self-driving vehicles are a perfect example of another \u201cDeep Learning\u201d application.\u00a0 What do you think those first few highly-publicized autonomous vehicle voyages were a few years back?\u00a0 <em>Supervised training<\/em>.\u00a0 They were teaching the vehicles how not to get into wrecks.<\/p>\n<p>We\u2019re just beginning to see learning systems entering healthcare and other more \u2018soft\u2019 sectors.<\/p>\n<p>And here is where the warning bells sound.\u00a0 Not because SkyNet is going to set off the rise of the machines (though there is some legitimate reason to be concerned in that regard, particularly when you see robot chassis and drones armed with weapons). \u00a0No, the concern should presently be directed at <em>how these tools get used<\/em>.\u00a0 As I mentioned, these are powerful systems that can be used to great benefit \u2013 and can also be used to do great harm.<\/p>\n<p>For example, one of the innocuous sentences I\u2019ve seen with regard to the application of a learning system to healthcare was:\u00a0 &#8220;Given the patient&#8217;s past history, and their medical claims, are you able to predict the cost for the next year?&#8221; (<a href=\"https:\/\/www.healthcareitnews.com\/news\/ai-data-scientist-explains-how-deep-and-shallow-learning-can-work-together-create-cost-savings\">Healthcare IT News<\/a>).\u00a0 Okay, in context, that question was raised with the intent of predicting utilization, how much hospital care might be needed across a population.<\/p>\n<p>But what if the question is \u201cFind the best combination of interest rates to keep people paying their credit card bills without completely bankrupting them, and to maintain their indebtedness for the longest period.\u201d\u00a0 \u00a0In that case, Deep Learning can be used to figuratively enslave them.<\/p>\n<p>What if that question was asked by an insurance executive in the USA, wanting to see where the profit line cuts and using that data to kick people off their insurance who would negatively impact the company\u2019s margin?\u00a0 In that case, Deep Learning can be used quite literally to kill people.<\/p>\n<p>The tools will only be used within the ethical boundaries set by the persons who use them.\u00a0 In the United States and several other countries, there are certain political parties who feel that ethics have no place in business \u2013 that might makes right.\u00a0 Just as with dangerous vehicles, dangerous weapons, and other hazards, we as members of our societies must make our voices heard \u2013 through the voting booth, in our investment choices, in journalistic endeavors \u2013 and ensure that these tools are used to benefit, not harm, the public.<\/p>\n<p>It might even be worth considering that from a software engineer\u2019s perspective, perhaps it is time to establish something similar to the medical professional\u2019s Hyppocratic Oath:<\/p>\n<p><em>First, do no harm.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You\u2019ve heard the name over and over, and for most of you it probably settles into the same category as Harry Potter\u2019s \u201clevitation charm\u201d as far as whether you need to understand it.\u00a0 That\u2019s cool, most people will never need &hellip; <a href=\"https:\/\/www.borkedcode.com\/wp2\/2018\/09\/14\/lets-talk-briefly-about-deep-learning\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,36,41,15,18,20,25,26],"tags":[53,70,109],"class_list":["post-1551","post","type-post","status-publish","format-standard","hentry","category-business","category-business-it","category-development","category-it","category-politics-2","category-programming","category-science","category-software","tag-ai","tag-deep-learning","tag-neural-networks"],"_links":{"self":[{"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/posts\/1551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/comments?post=1551"}],"version-history":[{"count":0,"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/posts\/1551\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/media?parent=1551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/categories?post=1551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.borkedcode.com\/wp2\/wp-json\/wp\/v2\/tags?post=1551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}