<story><title>Machine Learning Confronts the Elephant in the Room</title><url>https://www.quantamagazine.org/machine-learning-confronts-the-elephant-in-the-room-20180920/</url></story><parent_chain><item><author>TeMPOraL</author><text>Is this what softmax is? Simply dividing a vector by sum of its components? If so, then how does it deserve a &lt;i&gt;name&lt;/i&gt;, not to mention a long Wikipedia page full of formulas?</text></item><item><author>skierscott</author><text>&amp;gt; a low confidence score&lt;p&gt;Neural nets should return a low confidence score. But, the popular approach (described below) ignores that. Neural nets ignore confidence because of a technique called softmax [1].&lt;p&gt;This happens as the final operation of a neural net, and is required for training.&lt;p&gt;Softmax is a tool to make an array of positive numbers look like a probability distribution:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    out = x &amp;#x2F; x.sum()
&lt;/code&gt;&lt;/pre&gt;
x[i] is a class prediction, but x.sum() != 1. Say if the network was uncertain, x[cat, dog] = [0.03, 0.01]. These are small values that do not imply great confidence (the network was trained on vectors with out.sum() = 1. The network would predict “dog” using softmax because out[dog] = 0.75 &amp;gt; 0.25 = out[cat].&lt;p&gt;But then in inference&amp;#x2F;prediction, the confidence is ignored. What if x.sum() is small? That would imply that the network is uncertain.&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.m.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Softmax_function&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.m.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Softmax_function&lt;/a&gt;</text></item><item><author>hydrox24</author><text>I know very little about machine vision, so forgive the naïvete of this question:&lt;p&gt;&amp;gt;  an ability humans have that AI lacks: the ability to understand when a scene is confusing and thus go back for a second glance.&lt;p&gt;Wouldn&amp;#x27;t the machine return a low confidence score when a scene is confusing? If not, why is this difficult to get around?&lt;p&gt;If so, why can&amp;#x27;t we just call this a computation difficulty problem, simply requiring a way to go back and spend more effort later when required? A problem like this would simply require better computers, and patience.&lt;p&gt;In other words, Is this problem as deeply rooted as the article suggests? Or is it simply a problem with the popular approach to machine vision?</text></item></parent_chain><comment><author>CodesInChaos</author><text>Softmax has two components:&lt;p&gt;1. Transform the components to e^x. This allows the neural network to work with logarithmic probabilities, instead of ordinary probabilities. This turns the common operation of multiplying probabilities into addition, which is far more natural for the linear algebra based structure of neural networks.&lt;p&gt;2. Normalize their sum to 1, since that&amp;#x27;s the total probability we need.&lt;p&gt;One important consequence of this is that bayes&amp;#x27; theorem is very natural to such a network, since it&amp;#x27;s just multiplication of probabilities normalized by the denominator.&lt;p&gt;The trivial case of a single layer network with softmax activation is equivalent to logistic regression.&lt;p&gt;The special case of two component softmax is equivalent to sigmoid activation, which is thus popular when there are only two classes. In multi class classification softmax is used if the classes are mutually exclusive and component-wise sigmoid is used if they are independent.</text></comment>
<story><title>Machine Learning Confronts the Elephant in the Room</title><url>https://www.quantamagazine.org/machine-learning-confronts-the-elephant-in-the-room-20180920/</url></story><parent_chain><item><author>TeMPOraL</author><text>Is this what softmax is? Simply dividing a vector by sum of its components? If so, then how does it deserve a &lt;i&gt;name&lt;/i&gt;, not to mention a long Wikipedia page full of formulas?</text></item><item><author>skierscott</author><text>&amp;gt; a low confidence score&lt;p&gt;Neural nets should return a low confidence score. But, the popular approach (described below) ignores that. Neural nets ignore confidence because of a technique called softmax [1].&lt;p&gt;This happens as the final operation of a neural net, and is required for training.&lt;p&gt;Softmax is a tool to make an array of positive numbers look like a probability distribution:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    out = x &amp;#x2F; x.sum()
&lt;/code&gt;&lt;/pre&gt;
x[i] is a class prediction, but x.sum() != 1. Say if the network was uncertain, x[cat, dog] = [0.03, 0.01]. These are small values that do not imply great confidence (the network was trained on vectors with out.sum() = 1. The network would predict “dog” using softmax because out[dog] = 0.75 &amp;gt; 0.25 = out[cat].&lt;p&gt;But then in inference&amp;#x2F;prediction, the confidence is ignored. What if x.sum() is small? That would imply that the network is uncertain.&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.m.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Softmax_function&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.m.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Softmax_function&lt;/a&gt;</text></item><item><author>hydrox24</author><text>I know very little about machine vision, so forgive the naïvete of this question:&lt;p&gt;&amp;gt;  an ability humans have that AI lacks: the ability to understand when a scene is confusing and thus go back for a second glance.&lt;p&gt;Wouldn&amp;#x27;t the machine return a low confidence score when a scene is confusing? If not, why is this difficult to get around?&lt;p&gt;If so, why can&amp;#x27;t we just call this a computation difficulty problem, simply requiring a way to go back and spend more effort later when required? A problem like this would simply require better computers, and patience.&lt;p&gt;In other words, Is this problem as deeply rooted as the article suggests? Or is it simply a problem with the popular approach to machine vision?</text></item></parent_chain><comment><author>Tenobrus</author><text>No, it&amp;#x27;s not. It&amp;#x27;s actually e ^ x_i &amp;#x2F; sum(e ^ x_j for x_j in x), which is in fact different. Simply dividing by the sum wouldn&amp;#x27;t work for &amp;quot;squashing to a probability distribution&amp;quot; in a large number of cases.</text></comment>