<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000">As indicated in my original reply, my interest in this project grows from my relative ignorance of Deep Learning. My career has focussed exclusively on symbolic computing. I&#39;ve worked with and taught (a) functional programming, logic programming, and related issues in advanced Python; (b) complex systems, agent-based modeling, genetic algorithms, and related evolutionary processes, (c) a bit of constraint programming, especially in MiniZinc, and (d) reinforcement learning as Q-learning, which is reinforcement learning without neural nets. I&#39;ve always avoided neural nets--and more generally numerical programming of any sort. </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000">Deep learning has produced so many impressive results that I&#39;ve decided to devote much of my retirement life to learning about it. I retired at the end of Spring 2022 and (after a break) am now devoting much of my time to learning more about Deep Neural Nets. So far, I&#39;ve dipped my brain into it at various points. I think I&#39;ve learned a fair amount. For example, </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><ul><li>I now know how to build a neural net (NN) that adds two numbers using a single layer with a single neuron. It&#39;s really quite simple and is, I think, a beautiful example of how NNs work. If I were to teach an intro to NNs I&#39;d start with this.</li><li>I&#39;ve gone through the Kaggle Deep Learning sequence mentioned earlier. </li><li>I found a paper that shows how you can approximate any differentiable function to any degree of accuracy with a single-layer NN. (This is a very nice result, although I believe it&#39;s not used explicitly in building serious Deep NN systems.)</li><li>From what I&#39;ve seen so far, most serious DNNs are built using Keras rather than PyTorch.</li><li>I&#39;ve looked at Jeremy Howard&#39;s <a href="http://fast.ai">fast.ai</a> material. I was going to go through the course but stopped when I found that it uses PyTorch. Also, it seems to be built on <a href="http://fast.ai">fast.ai</a> libraries that do a lot of the work for you without explanation.  And it seems to focus almost exclusively on Convolutional NNs. </li><li>My impression of DNNs is that to a great extent they are <i>ad hoc</i>. There is no good way to determine the best architecture to use for a given problem. By architecture, I mean the number of layers, the number of neurons in each layer, the types of layers, the activation functions to use, etc. </li><li>All DNNs that I&#39;ve seen use Python as code glue rather than R or some other language. I like Python--so I&#39;m pleased with that.</li><li>To build serious NNs one should learn the Python libraries Numpy (array manipulation) and Pandas (data processing). Numpy especially seems to be used for virtually all DNNs that I&#39;ve seen. </li><li>Keras and probably PyTorch include a number of special-purpose neurons and layers that can be included in one&#39;s DNN. These include: a DropOut layer, LSTM (short-long-term memory) neurons, convolutional layers, recurrent neural net layers (RNN), and more recently transformers, which get credit for ChatGPT and related programs. My impression is that these special-purpose layers are <i>ad hoc</i> in the same sense that functions or libraries that one finds useful in a programming language are <i>ad hoc</i>. They have been very important for the success of DNNs, but they came into existence because people invented them in the same way that people invented useful functions and libraries. </li><li>NN libraries also include a menagerie of activation functions. An activation function acts as the final control on the output of a layer. Different activation functions are used for different purposes. To be successful in building a DNN, one must understand what those activation functions do for you and which ones to use. </li><li>I&#39;m especially interested in DNNs that use reinforcement learning. That&#39;s because the first DNN work that impressed me was DeepMind&#39;s DNNs that learned to play Atari games--and then Go, etc. An important advantage of Reinforcement Learning (RL) is that it doesn&#39;t depend on mountains of labeled data. </li><li>I find RL systems more interesting than image recognition systems. One of the striking features of many image recognition systems is that they can be thrown off by changing a small number of pixels in an image. The changed image would look
to a human observer just like the original, but it might fool a trained NN into labeling the image as a banana rather than, say, an automobile, which is what it really is. To address this problem people have developed Generative Adversarial Networks (GANs) which attempt to find such weaknesses in a neural net during training and then to train the NN not to have those weaknesses. This is a fascinating result, but as far as I can tell, it mainly shows how fragile some NNs are and doesn&#39;t add much conceptual depth to one&#39;s understanding of how NNs work. </li></ul><div>I&#39;m impressed with this list of things I sort of know. If you had asked me before I started writing this email I wouldn&#39;t have thought I had learned as much as I have. Even so, I feel like I don&#39;t understand much of it beyond a superficial level. </div><div><br></div><div class="gmail_default"><div>So far I&#39;ve done all my exploration using Google&#39;s Colab (Google&#39;s Python notebook implementation) and Kaggle&#39;s similar Python notebook implementation. (I prefer Colab to Kaggle.) Using either one, it&#39;s super nice not to have to download and install anything!</div><div><br></div></div><div style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif"><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div>I&#39;m continuing my journey to learn more about DNNs. I&#39;d be happy to have company and to help develop materials to teach about DNNs. (Developing teaching materials always helps me learn the subject being covered.)</div><div><br></div></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font><u style="color:rgb(33,33,33);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:16.5px;line-height:20px"> </u></font><span style="color:rgb(33,33,33);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:16.5px;line-height:24.75px"> </span>-- Russ Abbott                                       <br>Professor Emeritus, Computer Science<br>California State University, Los Angeles<br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 8, 2023 at 1:48 AM glen &lt;<a href="mailto:gepropella@gmail.com">gepropella@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Yes, the money/expertise bar is still pretty high. But TANSTAAFL still applies. And the overwhelming evidence is coming in that specific models do better than those trained up on diverse data sets, &quot;better&quot; meaning less prone to subtle bullsh¡t. What I find fascinating is tools like OpenAI *facilitate* trespassing. We have a wonderful bloom of non-experts claiming they understand things like &quot;deep learning&quot;. But do they? An old internet meme is brought to mind: &quot;Do you even Linear Algebra, bro?&quot; &gt;8^D<br>
<br>
On 1/8/23 01:06, Jochen Fromm wrote:<br>
&gt; I have finished a number of Coursera courses recently, including &quot;Deep Learning &amp; Neural Networks with Keras&quot; which was ok but not great. The problems with deep learning are<br>
&gt; <br>
&gt; * to achieve impressive results like chatGPT from OpenAi or LaMDA from Goggle you need to spend millions on hardware<br>
&gt; * only big organisations can afford to create such expensive models<br>
&gt; * the resulting network is s black box and it is unclear why it works the way it does<br>
&gt; <br>
&gt; In the end it is just the same old back propagation that has been known for decades, just on more computers and trained on more data. Peter Norvig calls it &quot;The unreasonable effectiveness of data&quot;<br>
&gt; <a href="https://research.google.com/pubs/archive/35179.pdf" rel="noreferrer" target="_blank">https://research.google.com/pubs/archive/35179.pdf</a><br>
&gt; <br>
&gt; -J.<br>
&gt; <br>
&gt; <br>
&gt; -------- Original message --------<br>
&gt; From: Russ Abbott &lt;<a href="mailto:russ.abbott@gmail.com" target="_blank">russ.abbott@gmail.com</a>&gt;<br>
&gt; Date: 1/8/23 12:20 AM (GMT+01:00)<br>
&gt; To: The Friday Morning Applied Complexity Coffee Group &lt;<a href="mailto:friam@redfish.com" target="_blank">friam@redfish.com</a>&gt;<br>
&gt; Subject: Re: [FRIAM] Deep learning training material<br>
&gt; <br>
&gt; Hi Pieter,<br>
&gt; <br>
&gt; A few comments.<br>
&gt; <br>
&gt;   * Much of the actual deep learning material looks like it came from the Kaggle &quot;Deep Learning &lt;<a href="https://www.kaggle.com/learn/intro-to-deep-learning" rel="noreferrer" target="_blank">https://www.kaggle.com/learn/intro-to-deep-learning</a>&gt;&quot; sequence.<br>
&gt;   * In my opinion, R is an ugly and /ad hoc/ language. I&#39;d stick to Python.<br>
&gt;   * More importantly, I would put the How-to-use-Python stuff into a preliminary class. Assume your audience knows how to use Python and focus on Deep Learning. Given that, there is only a minimal amount of information about Deep Learning in the write-up. If I were to attend the workshop and thought I would be learning about Deep Learning, I would be disappointed--at least with what&#39;s covered in the write-up.<br>
&gt; <br>
&gt;     I say this because I&#39;ve been looking for a good intro to Deep Learning. Even though I taught Computer Science for many years, and am now retired, I avoided Deep Learning because it was so non-symbolic. My focus has always been on symbolic computing. But Deep Learning has produced so many extraordinarily impressive results, I decided I should learn more about it. I haven&#39;t found any really good material. If you are interested, I&#39;d be more than happy to work with you on developing some introductory Deep Learning material. <br>
&gt; <br>
&gt; -- Russ Abbott<br>
&gt; Professor Emeritus, Computer Science<br>
&gt; California State University, Los Angeles<br>
&gt; <br>
&gt; <br>
&gt; On Thu, Jan 5, 2023 at 11:31 AM Pieter Steenekamp &lt;<a href="mailto:pieters@randcontrols.co.za" target="_blank">pieters@randcontrols.co.za</a> &lt;mailto:<a href="mailto:pieters@randcontrols.co.za" target="_blank">pieters@randcontrols.co.za</a>&gt;&gt; wrote:<br>
&gt; <br>
&gt;     Thanks to the kind support of OpenAI&#39;s chatGPT, I am in the process of gathering materials for a comprehensive and hands-on deep learning workshop. Although it is still a work in progress, I welcome any interested parties to take a look and provide their valuable input. Thank you!<br>
&gt; <br>
&gt;     You can get it from:<br>
&gt;     <a href="https://www.dropbox.com/s/eyx4iumb0439wlx/deep%20learning%20training%20rev%2005012023.zip?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/eyx4iumb0439wlx/deep%20learning%20training%20rev%2005012023.zip?dl=0</a> &lt;<a href="https://www.dropbox.com/s/eyx4iumb0439wlx/deep%20learning%20training%20rev%2005012023.zip?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/eyx4iumb0439wlx/deep%20learning%20training%20rev%2005012023.zip?dl=0</a>&gt;<br>
&gt; <br>
<br>
-- <br>
\ua66e M\u0265\u01ddu \u01ddl\u01ddd\u0265\u0250u\u0287s \u025f\u1d09\u0183\u0265\u0287&#39; \u0287\u0265\u01dd \u0183\u0279\u0250ss sn\u025f\u025f\u01dd\u0279s\u02d9 \ua66e<br>
<br>
-. --- - / ...- .- .-.. .. -.. / -- --- .-. ... . / -.-. --- -.. .<br>
FRIAM Applied Complexity Group listserv<br>
Fridays 9a-12p Friday St. Johns Cafe   /   Thursdays 9a-12p Zoom <a href="https://bit.ly/virtualfriam" rel="noreferrer" target="_blank">https://bit.ly/virtualfriam</a><br>
to (un)subscribe <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" rel="noreferrer" target="_blank">http://redfish.com/mailman/listinfo/friam_redfish.com</a><br>
FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" rel="noreferrer" target="_blank">http://friam-comic.blogspot.com/</a><br>
archives:  5/2017 thru present <a href="https://redfish.com/pipermail/friam_redfish.com/" rel="noreferrer" target="_blank">https://redfish.com/pipermail/friam_redfish.com/</a><br>
  1/2003 thru 6/2021  <a href="http://friam.383.s1.nabble.com/" rel="noreferrer" target="_blank">http://friam.383.s1.nabble.com/</a><br>
</blockquote></div>