<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>dhruv's space (Posts about deep-learning)</title><link>https://dhruvs.space/</link><description></description><atom:link href="https://dhruvs.space/categories/deep-learning.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2020 &lt;a href="mailto:dhruvt93@gmail.com"&gt;Dhruv Thakur&lt;/a&gt; </copyright><lastBuildDate>Fri, 14 Feb 2020 22:35:32 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Word Embeddings and RNNs</title><link>https://dhruvs.space/posts/word-embeddings-and-rnns/</link><dc:creator>Dhruv Thakur</dc:creator><description>&lt;div&gt;&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;One of the simplest ways to convert words from a natural language into mathematical tensors is to simply represent them as one-hot vectors where the length of these vectors is equal to the size of the vocabulary from where these words are fetched.&lt;/p&gt;
&lt;p&gt;For example, if we have a vocabulary of size 8 containing the words:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;"a", "apple", 
"has", "matrix", "pineapple", "python", "the", "you"&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;the word "matrix" can be represented as: &lt;code&gt;[0,0,0,1,0,0,0,0]&lt;/code&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;Obviously, this approach will become a pain when we have a huge vocabulary of words (say millions), and have to train models with these representations as inputs. But apart from this issue, another problem with this approach is that there is no built-in mechanism to convey semantic similarity of words. eg. in the above example, &lt;code&gt;apple&lt;/code&gt; and &lt;code&gt;pineapple&lt;/code&gt; can be considered to be similar (as both are fruits), but their vector representations don't convey that.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;Word Embeddings let us represent words or phrases as vectors of real numbers, where these vectors actually retain the semantic relationships between the original words. Instead of representing words as one-hot vectors, word embeddings map words to a continuous vector space with a much lower dimension.
&lt;/p&gt;&lt;p&gt;&lt;a href="https://dhruvs.space/posts/word-embeddings-and-rnns/"&gt;Read more…&lt;/a&gt; (8 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><category>deep-learning</category><category>lstm</category><category>nlp</category><category>recurrent-neural-nets</category><category>summary-notes</category><guid>https://dhruvs.space/posts/word-embeddings-and-rnns/</guid><pubDate>Sat, 20 Oct 2018 06:40:16 GMT</pubDate></item><item><title>Summary Notes: GRU and LSTMs</title><link>https://dhruvs.space/posts/summary-notes-gru-and-lstms/</link><dc:creator>Dhruv Thakur</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;This post is sort-of a continuation to my &lt;a href="https://dhruvs.space/posts/summary-notes-basic-recurrent-neural-networks/"&gt;last&lt;/a&gt; post, which was a &lt;a href="https://dhruvs.space/pages/summary-note"&gt;Summary Note&lt;/a&gt; on the workings of basic Recurrent Neural Networks. As I mentioned in that post, I've been learning about the workings of RNNs for the past few days, and how they deal with sequential data, like text. An RNN can be built using either a basic RNN unit (described in the &lt;a href="https://dhruvs.space/posts/summary-notes-basic-recurrent-neural-networks/"&gt;last&lt;/a&gt; post), a Gated Recurrent unit, or an LSTM unit. This post will describe how GRUs/LSTMs learn long term dependencies in the data, which is something basic RNN units are not so good at.
&lt;/p&gt;&lt;p&gt;&lt;a href="https://dhruvs.space/posts/summary-notes-gru-and-lstms/"&gt;Read more…&lt;/a&gt; (8 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><category>deep-learning</category><category>gru</category><category>lstm</category><category>recurrent-neural-nets</category><category>summary-notes</category><guid>https://dhruvs.space/posts/summary-notes-gru-and-lstms/</guid><pubDate>Sun, 14 Oct 2018 09:51:16 GMT</pubDate></item><item><title>Visualizing Convolutions</title><link>https://dhruvs.space/posts/visualizing-convolutions-part-1/</link><dc:creator>Dhruv Thakur</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;I'm currently learning about Convolutional Neural Nets from &lt;a href="https://deeplearning.ai"&gt;deeplearning.ai&lt;/a&gt;, and boy are they really powerful. Some of them even have cool names like &lt;a href="https://www.cs.unc.edu/~wliu/papers/GoogLeNet.pdf"&gt;Inception Network&lt;/a&gt; and make use of algorithms like &lt;a href="https://arxiv.org/pdf/1506.02640"&gt;You Only Look Once (YOLO)&lt;/a&gt;. That is hilarious and awesome.&lt;/p&gt;
&lt;p&gt;This notebook/post is an exercise in trying to visualize the outputs of the various layers in a CNN. Let's get to it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dhruvs.space/posts/visualizing-convolutions-part-1/"&gt;Read more…&lt;/a&gt; (13 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><category>convnets</category><category>deep-learning</category><category>keras</category><category>neural-nets</category><guid>https://dhruvs.space/posts/visualizing-convolutions-part-1/</guid><pubDate>Mon, 24 Sep 2018 13:14:21 GMT</pubDate></item><item><title>Summary Notes: Forward and Back Propagation</title><link>https://dhruvs.space/posts/understanding-forward-and-backpropagation/</link><dc:creator>Dhruv Thakur</dc:creator><description>&lt;div&gt;&lt;p&gt;I recently completed the &lt;a href="https://www.coursera.org/learn/neural-networks-deep-learning"&gt;first&lt;/a&gt; course offered by &lt;a href="https://www.deeplearning.ai/"&gt;deeplearning.ai&lt;/a&gt;, and found it incredibly educational. Going forwards, I want to keep a summary of the stuff I learn (for my future reference) in the form of notes like this. This one is for forward and back-prop intuitions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dhruvs.space/posts/understanding-forward-and-backpropagation/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>deep-learning</category><category>machine-learning</category><category>neural-nets</category><category>summary-notes</category><guid>https://dhruvs.space/posts/understanding-forward-and-backpropagation/</guid><pubDate>Mon, 10 Sep 2018 10:55:00 GMT</pubDate></item></channel></rss>