├── .gitignore
├── LICENSE
├── README.md
├── _config.yml
├── _data
└── menu.yml
├── _includes
├── footer.html
├── head.html
├── header.html
├── image.html
└── nav.html
├── _layouts
├── default.html
├── page.html
└── post.html
├── _posts
├── 2018-01-10-post-1.markdown
└── 2018-01-10-post-2.markdown
├── _sass
├── _base.scss
├── _header.scss
├── _image.scss
├── _layout.scss
├── _mobile-header.scss
└── _syntax-highlighting.scss
├── about.md
├── blog.md
├── categories.md
├── css
└── main.scss
├── cv.md
├── cv
├── long_cv.pdf
├── short_cv.pdf
└── two_page.pdf
├── feed.xml
├── images
├── icon.png
├── profile.jpg
├── screenshot.png
└── screenshot_large.png
├── index.html
├── miscellany.md
├── miscellany
├── courses.md
├── extracurricular.md
└── travel.md
├── projects.md
├── projects
├── project_1.pdf
└── project_2.pdf
├── research.md
├── research
├── paper_1.pdf
└── paper_2.pdf
└── sitemap.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | _site
2 | .sass-cache
3 | .DS_store
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Yash Shah
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://jekyll-themes.com)
2 | # Academic Portfolio
3 | *Academic Portfolio* is a one-stop, clean and minimal mobile-friendly Jekyll theme for your academic homepage. I created it for my own homepage, borrowing elements from Steve Miller's [no-good-very-bad](https://github.com/svmiller/steve-ngvb-jekyll-template) template, and modifying style and layout to fit my personal needs.
4 |
5 | [Live Demo](https://ys1998.github.io/academic-portfolio) | [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2A744DLR6PA8G)
6 |
7 |
8 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # Site settings
2 | title: Your name here
3 | general_email: your_general_email@gmail.com
4 | academic_email: your_academic_email@univ
5 |
6 | description: > # this means to ignore newlines until "baseurl:"
7 | Give a brief description of yourself, and maybe your passion/interests. It is displayed in search results.
8 |
9 | baseurl: "/academic-portfolio" # the subpath of your site, e.g. /blog/
10 |
11 | url: "https://ys1998.github.io" # the base hostname & protocol for your site
12 |
13 | # twitter_username: jekyllrb
14 | github_username: github_username
15 | linkedin_username: linkedin_username
16 | facebook_username: facebook_username
17 | # feel free to add other links here; you will have to add the SVG icon in _layouts/footer.html
18 |
19 | # Build settings
20 | markdown: kramdown
21 |
22 | kramdown:
23 | math_engine: mathjax
24 |
25 | # Other options
26 | permalink: blog/:year/:month/:title
--------------------------------------------------------------------------------
/_data/menu.yml:
--------------------------------------------------------------------------------
1 | - title: "About"
2 | href: "/about/"
3 |
4 | - title: "Research"
5 | href: "/research/"
6 |
7 | - title: "Projects"
8 | href: "/projects/"
9 |
10 | - title: "Blog"
11 | href: "/blog/"
12 |
13 | - title: "CV"
14 | href: "/cv/"
15 |
16 | - title: "Miscellany"
17 | href: "/miscellany/"
18 | subcategories:
19 | - subtitle: "Courses Undertaken"
20 | subhref: "/miscellany/courses/"
21 | - subtitle: "Extracurriculars"
22 | subhref: "/miscellany/extracurricular/"
23 | - subtitle: "Travel"
24 | subhref: "/miscellany/travel/"
25 |
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
88 |
--------------------------------------------------------------------------------
/_includes/head.html:
--------------------------------------------------------------------------------
1 |
Posted on {{ page.date | date: "%B %-d, %Y" }} {% if page.author %} by {{ page.author }}{% endif %}
9 | {% if page.categories %}
10 | in
11 | {% for cat in page.categories %}
12 | {{ cat }}
13 | {% endfor %}
14 |
15 | {% endif %}
16 |
17 |
18 |
19 |
20 | {{ content }}
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/_posts/2018-01-10-post-1.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | title: Title of post 1
4 | date: 2018-01-10 15:10:00
5 | description: An apt description of the post
6 | categories: [rnn, discussion]
7 | ---
8 |
9 | Write your post content here in normal `markdown`. An example post is shown below for reference.
10 |
11 | ### Introduction
12 |
13 | Recurrent Neural Networks and their variations are very likely to overfit the training data. This is due to the large network formed by unfolding each cell of the RNN, and *relatively* small number of parameters (since they are shared over each time step) and training data. Thus, the perplexities obtained on the test data are often quite larger than expected. Several attempts have been made to minimize this problem using varied **regularization** techniques. This paper tackles this issue by proposing a model that combines several of such existing methods.
14 |
15 | *Merity et al*'s model is a modification of the standard **LSTM** in which *DropConnect* is applied to the hidden weights in the *recurrent* connections of the LSTM for regularization. The dropout mask for each weight is preserved and the same mask is used across all time steps, thereby adding negligible computation overhead. Apart from this, several other techniques have been incorporated :
16 | * **Variational dropout** : The same dropout mask is used for a particular recurrent connection in both the forward and backward pass for all time steps. Each input of a mini-batch has a separate dropout mask, which ensures that the regularizing effect due to it isn't identical across different inputs.
17 | * **Embedding dropout** : Dropout with dropout probability $$p_e$$ is applied to word embedding vectors, which results in new word vectors which are identically zero for the dropped words. The remaining word vectors are scaled by $$\frac{1}{1-p_e}$$ as compensation.
18 | * **AR and TAR** : AR (Activation Regularization) and TAR (Temporal Activation Regularization) are modifications of $$L_2$$ regularization, wherein the standard technique is applied to dropped *output activations* and dropped *change in output activations* respectively. Mathematically, the additional terms in the cost function $$J$$ are (here $$\alpha$$ and $$\beta$$ are scaling constants and $$\textbf{D}$$ is the dropout mask) :
19 |
20 | $$
21 | J_{AR}=\alpha L_2\left(\textbf{D}_l^t\odot h_l^t\right)\\
22 | J_{TAR}=\beta L_2\left(\textbf{D}_l^t\odot\left(h_l^t - h_l^{t-1}\right)\right)
23 | $$
24 |
25 | * **Weight tying** : In this method, the parameters for word embeddings and the final output layer are shared.
26 | * **Variable backpropagation steps** : A random number of BPTT steps are taken instead of a fixed number, whose mean is very close to the original fixed value ($$s$$). The BPTT step-size ($$x$$) is drawn from the following distribution (here $$\mathcal{N}$$ is the Gaussian distribution, $$p$$ is a number close to 0.95 and $$\sigma^2$$ is the desired variance) :
27 |
28 | $$
29 | x \sim p\cdot \mathcal{N}\left(s,\sigma^2\right) + (1-p)\cdot \mathcal{N}\left(\frac{s}{2},\sigma^2\right)
30 | $$
31 |
32 | * **Independent sizes of word embeddings and hidden layer** : The sizes of the hidden layer and word embeddings are kept independent of each other.
33 |
34 | The paper also introduces a new optimization algorithm, namely **Non-monotonically Triggered Averaged Stochastic Gradient Descent** or NT-ASGD, which can be programmatically described as follows :
35 | {% highlight python %}
36 | def NT_ASGD(f, t, w0, n, L, lr):
37 | """
38 | Input parameters :
39 | f - objective function
40 | t - stopping criterion
41 | w0 - initial parameters
42 | n - non-monotonicity interval
43 | L - number of epochs after which finetuning is done
44 | lr - learning rate
45 |
46 | Returns :
47 | parameter(s) that minimize `f`
48 | """
49 | k = 0; T = 0; t = 0; params = []; logs = []
50 | w = w0
51 | while t(w):
52 | # `func_grad` computes gradient of `f` at `w`
53 | w = w - lr * func_grad(f, w)
54 | params.append(w)
55 | k += 1
56 | if k%L == 0:
57 | # Compute model's perplexity for current parameters
58 | v = perplexity(w)
59 | if t > n and v > min(logs[t-n:t+1]):
60 | T = k
61 | logs.append(v)
62 | t += 1
63 | # Return the average of best `k-T+1` parameters
64 | return sum(params[-(k-T+1):])/(k-T+1)
65 | {% endhighlight %}
66 | They also combined their **AWD-LSTM** (ASGD Weight Dropped LSTM) with a neural cache model to obtain further reduction in perplexities. A *neural cache model* stores previous states in memory, and predicts the output obtained by a *convex combination* of the output using stored states and the AWD-LSTM.
67 |
68 | ### Network description
69 | *Merity et al*'s model used a 3-layer weight dropped LSTM with dropout probability `0.5` for **PTB corpus** and `0.65` for **WikiText-2**, combined with several of the above regularization techniques. The different hyperparameters (as referred to in the discussion above) are as follows : hidden layer size ($$H$$) = `1150`, embedding size ($$D$$) = `400`, number of epochs = `750`, $$L$$ = `1`, $$n$$ = `5`, learning rate = `30`, Gradients clipped at `0.25`, $$p$$ = `0.95`, $$s$$ = `70`, $$\sigma^2$$ = `5`, $$\alpha$$ = `2`, $$\beta$$ = `1`, dropout probabilities for input, hidden outputs, final output and embeddings as `0.4`, `0.3`, `0.4` and `0.1` respectively.
70 |
71 | Word embedding weights were initialized from $$\mathcal{U}\left[-0.1,0.1\right]$$ and all other hidden weights from $$\mathcal{U}\left[-\frac{1}{\sqrt{1150}},\frac{1}{\sqrt{1150}}\right]$$. Mini-batch size of `40` was used for PTB and `80` for WT-2.
72 |
73 | ### Result highlights
74 | * 3-layer AWD-LSTM with weight tying attained 57.3 PPL on PTB
75 | * 3-layer AWD-LSTM with weight tying and a continuous cache pointer attained 52.8 PPL on PTB
76 |
--------------------------------------------------------------------------------
/_posts/2018-01-10-post-2.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | title: Title of post 2
4 | date: 2018-01-10 15:01:00
5 | description: An apt description of your post
6 | categories: [rnn, regularization]
7 | ---
8 |
9 | Write your post content here in normal `markdown`. An example post is shown below for reference.
10 |
11 | ### Introduction
12 | Regularization is an important step during the training of neural networks. It helps to generalize the model by reducing the possibility of overfitting the training data. There are several types of regularization techniques, with L2 , L1, elastic-net (linear combination of L2 and L1 regularization), dropout and drop-connect being the major ones. While L2, L1 and elastic-net regularization techniques work by constraining the trainable parameters (or *weights*) from attaining large values (so that no drastic changes in output are observed for slight changes in the input; or in other words, they prefer *diffused* weights rather than *peaked* ones), **dropout** and drop-connect work by averaging the task over a dynamically and randomly generated large *ensemble* of networks. These networks are obtained by randomly disconnecting neurons (*dropout*) or weights (*drop-connect*) from the original network so as to obtain a subnetwork on which the training process is carried out (although for $$\approx1$$ epoch for each, since the chance of the same subnetwork being generated again is very rare).
13 |
14 | Application of dropout to feedforward neural networks gives promising results. RNNs are thought of as individual *cells* that are *unfolded* over several time-steps, with the input at each time-step being a token of the sequence. When dropout is used for regularizing such a network, the 'disturbance' it generates at each time step propagates over a long interval, thereby decreasing the network's ability to represent long range dependencies. Thus, applying dropout in the standard manner to RNNs fails to give any improvement. It is here where *Zaremba et al*'s research comes into the picture.
15 | ### Network description
16 | The network architecture that *Zaremba et al* proposed is quite simple and intuitive. In case of deep RNNs (i.e. RNNs spanning over several layers ($$h$$) where output of $$h_{l-1}^{t}$$ is used as the input for $$h_l^t$$), all connections between the cells in unfolded state can be broadly classified into two categories - *recurrent* and *non-recurrent*. The connections between cells in the same layer i.e. $$h_l^t ~-~ h_l^{t+1}~~\forall t$$ are *recurrent* connections, and those between cells in adjacent layers i.e. $$h_l^t ~-~ h_{l+1}^t~~\forall l$$ are *non-recurrent* connections. *Zaremba et al* suggested that **dropout** should be applied only to non-recurrent connections - thereby preventing problems which arose earlier.
17 |
18 | The modified network for LSTM units can be mathematically represented as follows:
19 |
20 | Denoting $$T_{m,n}$$ as an affine transformation from $$\mathbb{R}^m\rightarrow\mathbb{R}^n$$ ( i.e. $$T_{m,n}(x)=Wx+b$$ where $$x\in\mathbb{R}^{m\times1}$$, $$W\in\mathbb{R}^{n\times m}$$ and $$b\in\mathbb{R}^{n\times1}$$ and similarly for multiple inputs) and $$\otimes$$ as elementwise multiplication, we have :
21 |
22 | $$
23 | f_l^t=\text{sigmoid}\left(T_{N,D}^1\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\
24 | i_l^t=\text{sigmoid}\left(T_{N,D}^2\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\
25 | o_l^t=\text{sigmoid}\left(T_{N,D}^3\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\
26 | u_l^t=\text{tanh}\left(T_{N,D}^4\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\
27 | c_l^t=c_l^{t-1}\otimes f_l^t + u_l^t\otimes i_l^t \\
28 | h_l^t = \text{tanh}\left(c_l^t\right)\otimes o_l^t
29 | $$
30 |
31 | Here, $$\textbf{D}$$ is the dropout *layer* or operator which sets a subset of its input randomly to zero with dropout probability `p`. This modification can be adopted for any other RNN architecture.
32 |
33 | *Zaremba et al* used these architectures for their experiments in which each cell was unrolled for 35 steps. Mini-batch size was 20 for both :
34 |
35 | **Medium LSTM** :
36 | Hidden-layer dimension = `650`,
37 | Weights initialized uniformly in `[-0.05,0.05]`,
38 | Dropout probability = `0.5`,
39 | Number of epochs = `39`,
40 | Learning rate = `1` which decays by a factor of `1.2` after 6 epochs,
41 | Gradients clipped at `5`.
42 |
43 | **Large LSTM** :
44 | Hidden-layer dimension = `1500`,
45 | Weights initialized uniformly in `[-0.04,0.04]`,
46 | Dropout probability = `0.65`,
47 | Number of epochs = `55`,
48 | Learning rate = `1` which decays by a factor of `1.15` after 14 epochs,
49 | Gradients clipped at `10`.
50 | ### Result highlights
51 | * 78.4 PPL on Penn TreeBank dataset using a single **Large LSTM**
52 | * 68.7 PPL on Penn TreeBank dataset using an ensemble of 38 **Large LSTM**s
53 |
--------------------------------------------------------------------------------
/_sass/_base.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Reset some basic elements
3 | */
4 | body, h1, h2, h3, h4, h5, h6,
5 | p, blockquote, pre, hr,
6 | dl, dd, ol, ul, figure {
7 | margin: 0;
8 | padding: 0;
9 | }
10 |
11 |
12 |
13 | /**
14 | * Basic styling
15 | */
16 | body {
17 | font-family: $base-font-family;
18 | font-size: $base-font-size;
19 | line-height: $base-line-height;
20 | font-weight: 300;
21 | color: $text-color;
22 | background-color: $background-color;
23 | -webkit-text-size-adjust: 100%;
24 | }
25 |
26 |
27 |
28 |
29 | /**
30 | * Set `margin-bottom` to maintain vertical rhythm
31 | */
32 | h1, h2, h3, h4, h5, h6,
33 | p, blockquote, pre,
34 | ul, ol, dl, figure,
35 | %vertical-rhythm {
36 | margin-bottom: $spacing-unit / 2;
37 | }
38 |
39 |
40 |
41 | /**
42 | * Images
43 | */
44 | img {
45 | max-width: 100%;
46 | vertical-align: middle;
47 | }
48 |
49 |
50 |
51 | /**
52 | * Figures
53 | */
54 | figure > img {
55 | display: block;
56 | }
57 |
58 | figcaption {
59 | font-size: $small-font-size;
60 | }
61 |
62 |
63 |
64 | /**
65 | * Lists
66 | */
67 | ul, ol {
68 | margin-left: $spacing-unit;
69 | }
70 |
71 | li {
72 | > ul,
73 | > ol {
74 | margin-bottom: 0;
75 | }
76 | }
77 |
78 |
79 |
80 | /**
81 | * Headings
82 | */
83 | h1, h2, h3, h4, h5, h6 {
84 | font-weight: 200;
85 | }
86 |
87 |
88 |
89 | /**
90 | * Links
91 | */
92 | a {
93 | color: $brand-color;
94 | text-decoration: none;
95 |
96 | &:visited {
97 | /* color: darken($brand-color, 15%); */
98 | }
99 |
100 | &:hover {
101 | color: $text-color;
102 | // text-decoration: underline;
103 | }
104 | }
105 |
106 | /**
107 | * Blockquotes
108 | */
109 | blockquote {
110 | color: $grey-color;
111 | border-left: 4px solid $grey-color-light;
112 | padding-left: $spacing-unit / 2;
113 | font-size: 18px;
114 | letter-spacing: -1px;
115 | font-style: italic;
116 |
117 | > :last-child {
118 | margin-bottom: 0;
119 | }
120 | }
121 |
122 |
123 |
124 | /**
125 | * Code formatting
126 | */
127 | pre,
128 | code {
129 | font-size: 14px;
130 | border: 1px solid $grey-color-light;
131 | border-radius: 3px;
132 | background-color: lighten($blue-color-light, 35%);
133 | }
134 |
135 | code {
136 | padding: 1px 5px;
137 | }
138 |
139 | pre {
140 | padding: 8px 12px;
141 | overflow-x: scroll;
142 |
143 | > code {
144 | border: 0;
145 | padding-right: 0;
146 | padding-left: 0;
147 | }
148 | }
149 |
150 |
151 |
152 | /**
153 | * Wrapper
154 | */
155 | .wrapper {
156 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
157 | max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
158 | margin-right: auto;
159 | margin-left: auto;
160 | padding-right: $spacing-unit;
161 | padding-left: $spacing-unit;
162 | @extend %clearfix;
163 |
164 | @include media-query($on-laptop) {
165 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
166 | max-width: calc(#{$content-width} - (#{$spacing-unit}));
167 | padding-right: $spacing-unit / 2;
168 | padding-left: $spacing-unit / 2;
169 | }
170 | }
171 |
172 |
173 |
174 | /**
175 | * Clearfix
176 | */
177 | %clearfix {
178 |
179 | &:after {
180 | content: "";
181 | display: table;
182 | clear: both;
183 | }
184 | }
185 |
186 |
187 |
188 | /**
189 | * Icons
190 | */
191 | .icon {
192 |
193 | > svg {
194 | display: inline-block;
195 | width: 16px;
196 | height: 16px;
197 | vertical-align: middle;
198 |
199 | path {
200 | fill: $grey-color;
201 | }
202 | }
203 | }
204 |
205 | /**
206 | * Color button
207 | */
208 | .color-button {
209 | background: $blue-color-dark;
210 | border-style: none;
211 | border-radius: 10px;
212 | color: white;
213 | font-weight: bold;
214 | font-size: 12px;
215 | display: inline-block;
216 | padding: 0px 10px;
217 | margin: 0px 5px 0 0;
218 | cursor: pointer;
219 | &:hover {
220 | background: $blue-color-light;
221 | }
222 | }
223 |
224 | a.tosu {
225 | color: #b00000;
226 | background: #f5f5f5;
227 | text-decoration: none;
228 | padding: 2px;
229 | font-weight: 600;
230 | font-family: 'Capita', Georgia, serif;
231 | }
232 |
233 |
234 |
--------------------------------------------------------------------------------
/_sass/_header.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Site header
3 | */
4 | .site-header {
5 | border-top: 0px solid $grey-color-dark;
6 | // min-height: 56px;
7 | background-image: linear-gradient($blue-color-light, $blue-color-dark);
8 | box-shadow: 0px 5px 10px grey;
9 | // Positioning context for the mobile navigation icon
10 | position: relative;
11 | }
12 |
13 | .site-title {
14 | font-size: 26px;
15 | /* margin-top: 15px;
16 | line-height: 40px; */
17 | // letter-spacing: -1px;
18 | // margin-bottom: 0;
19 | float: left;
20 | font-weight: 500;
21 | font-family: 'Titillium Web', sans-serif;
22 | color: #ffffff;
23 | &,
24 | &:visited {
25 | color: #ffffff;
26 | }
27 | &,
28 | &:hover {
29 | color: #ffffff;
30 | text-decoration: none;
31 | }
32 | }
33 |
34 | .site-header .wrapper {
35 | padding-top: 10px;
36 | padding-bottom: 10px;
37 | position: relative;
38 | }
39 |
40 | .site-nav ul li a {
41 | color: #fff;
42 | }
43 |
44 | .site-nav ul {
45 |
46 | text-align: right;
47 | float: right;
48 | padding-top: 9px;
49 | font-size: 85%;
50 | letter-spacing: 1px;
51 | line-height: 1em;
52 | font-weight: 600;
53 | margin: 0;
54 | padding: 0;
55 | list-style-type: none;
56 | text-transform: uppercase;
57 | font-family: 'Titillium Web', sans-serif;
58 | }
59 |
60 | .site-nav .menu > li {
61 | border-bottom: 0px solid transparent;
62 | display: inline-block;
63 | height: 23px;
64 | line-height: normal;
65 | margin: 12px 10px 0 10px;
66 | position: relative;
67 | vertical-align: top;
68 | &:hover {
69 | text-decoration: underline;
70 | }
71 | }
72 |
73 | .site-nav a {
74 | display: block;
75 | color: #ffffff;
76 | }
77 |
78 | /* Sub Menu */
79 |
80 | .site-nav .sub-menu a {
81 | display: block;
82 | font-weight: normal;
83 | height: auto;
84 | letter-spacing: 0;
85 | line-height: 1.2em;
86 | padding: 4px 10px;
87 | color: $blue-color-dark;
88 | }
89 |
90 | .site-nav .sub-menu a:hover {
91 | color: $blue-color-light;
92 | }
93 | .site-nav .sub-menu {
94 | // background: #ffffff;
95 | // border-color: $blue-color-dark;
96 | // min-width: 265px;
97 |
98 | z-index:2147483647;
99 | }
100 | .site-nav .sub-menu li.current-menu-item > a {
101 | border-left-color: $blue-color-light;
102 | border-right-color: $blue-color-light;
103 | border-right: 0px;
104 |
105 | }
106 |
107 |
108 | .sub-menu {
109 | border: 3px solid $blue-color-dark;
110 | border-top: 20px solid transparent;
111 | /* bg and border colors set in header */
112 | box-shadow: 0 2px 2px rgba(0,0,0,0.4);
113 | -moz-box-shadow: 0 2px 2px rgba(0,0,0,0.4);
114 | -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.4);
115 | display: none;
116 | right: -25%;
117 | padding: 4px 0 3px 0;
118 | position: absolute;
119 | text-align: left;
120 | text-transform: none;
121 | top: 15px;
122 | // min-width: 265px;
123 |
124 | z-index:2147483647;
125 | font-family: Helvetica, Arial, Verdana, sans-serif;
126 |
127 | }
128 |
129 | .sub-menu li {
130 | border-bottom: 0;
131 | display: block;
132 | height: auto;
133 | // margin: 3px 0;
134 | padding: 0;
135 | text-align: left;
136 | background: #ffffff;
137 | }
138 |
139 | .site-nav li:hover > .sub-menu {
140 | display: block;
141 | }
142 |
143 |
144 |
145 | .site-nav h1 {
146 | position: absolute;
147 | left: -999em;
148 | }
149 |
150 |
151 | .site-nav {
152 | float: right;
153 | line-height: 40px;
154 |
155 |
156 | .menu-icon {
157 | display: none;
158 | }
159 |
160 | .page-link {
161 | color: #ffffff;
162 | line-height: $base-line-height;
163 |
164 | // Gaps between nav items, but not on the first one
165 | &:not(:first-child) {
166 | margin-left: 20px;
167 | }
168 | }
169 |
170 |
171 |
172 | @include media-query($on-palm) {
173 | position: absolute;
174 | top: 9px;
175 | right: 30px;
176 | background-color: $background-color;
177 | border: 1px solid $grey-color-light;
178 | border-radius: 5px;
179 | text-align: right;
180 |
181 | .menu-icon {
182 | display: block;
183 | float: right;
184 | width: 36px;
185 | height: 26px;
186 | line-height: 0;
187 | padding-top: 10px;
188 | text-align: center;
189 |
190 | > svg {
191 | width: 18px;
192 | height: 15px;
193 |
194 | path {
195 | fill: $grey-color-dark;
196 | }
197 | }
198 | }
199 |
200 | .trigger {
201 | clear: both;
202 | display: none;
203 | }
204 |
205 | &:hover .trigger {
206 | display: block;
207 | padding-bottom: 5px;
208 | }
209 |
210 | .page-link {
211 | display: block;
212 | padding: 5px 10px;
213 | }
214 | }
215 | }
216 |
217 |
218 |
--------------------------------------------------------------------------------
/_sass/_image.scss:
--------------------------------------------------------------------------------
1 | .wp-caption {
2 | background-color: #f3f3f3;
3 | text-align: center;
4 | border: 1px solid grey;
5 | font-size: 0.90em;
6 | overflow: hidden;
7 | position: relative;
8 |
9 | }
10 |
11 | .wp-caption dd {
12 | color: #000000;
13 | background-color: #f3f3f3;
14 | font-size: .9em;
15 | padding: 2px 8px 3px 8px;
16 | margin: 1px 0 0 0;
17 | }
18 |
19 | .wp-caption dt {
20 | margin: 0;
21 | }
22 |
23 | .wp-caption img {
24 | display: block;
25 | margin: 0;
26 | padding: 0;
27 | border: 0;
28 | z-index: 0;
29 | }
30 |
31 |
32 | .alignleft,
33 | .alignright {
34 | margin-top: 4px;
35 | }
36 | .alignleft {
37 | float: left;
38 | margin-right: 20px;
39 | margin-bottom: 15px;
40 | }
41 | .alignright {
42 | float: right;
43 | margin-left: 20px;
44 | margin-bottom: 15px;
45 | }
46 | .aligncenter {
47 | display: block;
48 | margin-left: auto;
49 | margin-right: auto;
50 | }
51 |
52 | @media only screen and (max-width: 600px) {
53 | .alignleft,
54 | .alignright,
55 | .aligncenter {
56 | display: block;
57 | float: none;
58 | margin-left: auto;
59 | margin-right: auto;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/_sass/_layout.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Site footer
3 | */
4 | .site-footer {
5 | border-top: 1px solid $grey-color-light;
6 | padding: $spacing-unit 0;
7 | }
8 |
9 | .footer-heading {
10 | font-size: 18px;
11 | margin-bottom: $spacing-unit / 2;
12 | }
13 |
14 | .contact-list,
15 | .social-media-list {
16 | list-style: none;
17 | margin-left: 0;
18 | }
19 |
20 | .footer-col-wrapper {
21 | font-size: 15px;
22 | color: $grey-color;
23 | margin-left: -$spacing-unit / 2;
24 | @extend %clearfix;
25 | }
26 |
27 | .footer-col {
28 | float: left;
29 | margin-bottom: $spacing-unit / 2;
30 | padding-left: $spacing-unit / 2;
31 | }
32 |
33 | .footer-col-1 {
34 | width: -webkit-calc(35% - (#{$spacing-unit} / 2));
35 | width: calc(35% - (#{$spacing-unit} / 2));
36 | }
37 |
38 | .footer-col-2 {
39 | width: -webkit-calc(20% - (#{$spacing-unit} / 2));
40 | width: calc(20% - (#{$spacing-unit} / 2));
41 | }
42 |
43 | .footer-col-3 {
44 | width: -webkit-calc(45% - (#{$spacing-unit} / 2));
45 | width: calc(45% - (#{$spacing-unit} / 2));
46 | }
47 |
48 | @include media-query($on-laptop) {
49 | .footer-col-1,
50 | .footer-col-2 {
51 | width: -webkit-calc(50% - (#{$spacing-unit} / 2));
52 | width: calc(50% - (#{$spacing-unit} / 2));
53 | }
54 |
55 | .footer-col-3 {
56 | width: -webkit-calc(100% - (#{$spacing-unit} / 2));
57 | width: calc(100% - (#{$spacing-unit} / 2));
58 | }
59 | }
60 |
61 | @include media-query($on-palm) {
62 | .footer-col {
63 | float: none;
64 | width: -webkit-calc(100% - (#{$spacing-unit} / 2));
65 | width: calc(100% - (#{$spacing-unit} / 2));
66 | }
67 | }
68 |
69 |
70 |
71 | /**
72 | * Page content
73 | */
74 | .page-content {
75 | padding: $spacing-unit 0;
76 | }
77 |
78 | .page-heading {
79 | font-size: 20px;
80 | }
81 |
82 | .post-list {
83 | margin-left: 0;
84 | list-style: none;
85 |
86 | > li {
87 | margin-bottom: $spacing-unit;
88 | }
89 | }
90 |
91 | .post-meta {
92 | font-size: $small-font-size;
93 | color: $grey-color;
94 | }
95 |
96 | .post-link {
97 | display: block;
98 | font-size: 24px;
99 | }
100 |
101 |
102 |
103 | /**
104 | * Posts
105 | */
106 | .post-header {
107 | margin-bottom: $spacing-unit;
108 | }
109 |
110 | h1 /* .post-title */ {
111 | /* font-size: 42px; */
112 | margin-top: 10px;
113 | letter-spacing: -1px;
114 | line-height: 1;
115 | font-family: 'Titillium Web', sans-serif;
116 | color: $blue-color-dark;
117 |
118 | @include media-query($on-laptop) {
119 | /* font-size: 36px; */
120 | }
121 | }
122 |
123 | .post-content {
124 | margin-bottom: $spacing-unit;
125 |
126 | h2 {
127 | font-family: 'Titillium Web', sans-serif;
128 | font-weight: 500;
129 | /* font-size: 32px; */
130 |
131 | @include media-query($on-laptop) {
132 | /* font-size: 28px; */
133 | }
134 | }
135 |
136 | h3 {
137 | font-style: italic;
138 | font-weight: 500;
139 | /* font-size: 26px; */
140 |
141 | @include media-query($on-laptop) {
142 | /* font-size: 22px; */
143 | }
144 | }
145 |
146 | h4 {
147 | /* font-size: 20px; */
148 |
149 | @include media-query($on-laptop) {
150 | /* font-size: 18px; */
151 | }
152 | }
153 | }
154 |
155 | .footnotes ol li {list-style-type:decimal;}
156 | .footnotes ol {font-size:.85em; color:#666666;}
157 |
158 | html {
159 | overflow-y: scroll;
160 | }
161 |
162 | ul.listing {
163 | list-style-type: none;
164 | margin-left: 0px;
165 | }
166 |
167 | ul.listing li.listing-seperator {
168 | padding-top: 15px;
169 | font-weight: bold;
170 | font-family: 'Titillium Web', sans-serif;
171 | font-size: 1.17em;
172 | }
173 |
174 | ul.listing li.listing-item time {
175 |
176 | color: #333;
177 | font-weight: 500;
178 | text-transform: uppercase;
179 | padding-right: 10px;
180 | }
181 |
182 | ul.listing li.listing-item a {
183 | color: $blue-color-dark;
184 | font-weight: 400;
185 | font-family: 'Titillium Web', sans-serif;
186 | }
187 |
188 |
--------------------------------------------------------------------------------
/_sass/_mobile-header.scss:
--------------------------------------------------------------------------------
1 | @media only screen and (max-width: 600px) {
2 |
3 | .site-nav h1 {
4 | border-bottom: 3px solid transparent;
5 | cursor: pointer;
6 | display: none; /* Standard. IE8+, Saf, FF3+ */
7 | height: 23px;
8 | left: auto;
9 | margin-top: 10px;
10 | position: static;
11 | white-space: nowrap;
12 | }
13 |
14 | .site-nav .menu {
15 | border: 3px solid white;
16 | border-radius: 5px;
17 | // border-top: 0;
18 | /* bg and border colors set in header */
19 | -moz-box-shadow: 0px 2px 2px rgba(0,0,0,0.8);
20 | -webkit-box-shadow: 0px 2px 2px rgba(0,0,0,0.8);
21 | box-shadow: 0px 2px 2px rgba(0,0,0,0.8);
22 | /* Hide until activated */
23 | display: block;
24 | // left: -3px;
25 | // right: -3px;
26 | min-width: 215px;
27 | /* margin-top: 36px; */
28 | padding: 4px 0 0 0;
29 | position: relative;
30 | z-index:2147483647;
31 | }
32 |
33 |
34 | .site-nav .menu.open {
35 | display: block;
36 | }
37 |
38 | .site-nav .menu li {
39 | display: block;
40 | margin: 0;
41 | color: $blue-color-dark;
42 | }
43 |
44 | .site-nav ul.menu a {
45 | background: #fff;
46 | color: $blue-color-dark;
47 |
48 | }
49 |
50 | .site-nav .menu > li {
51 | height: auto;
52 | text-align: left;
53 | }
54 |
55 | .site-nav .sub-menu {
56 | border: 3px solid transparent;
57 | -moz-box-shadow: none; /* FF3.5+ */
58 | -webkit-box-shadow: none; /* Saf3+, Chrome */
59 | box-shadow: none; /* Standard. Opera 10.5, IE9 */
60 | display: block;
61 | font-family: 'Titillium Web', Helvetica, Arial, Verdana, sans-serif;
62 | position: relative;
63 | min-width: 215px;
64 | max-width: 215px;
65 | top: auto;
66 | text-transform: uppercase;
67 | right: auto;
68 | width: auto;
69 | background: white;
70 | }
71 |
72 | .site-nav .sub-menu {
73 | padding-left: 16px;
74 | }
75 | .site-nav .sub-menu li.current-menu-item > a {
76 | border: 3px solid transparent;
77 | }
78 |
79 | }
80 |
81 |
--------------------------------------------------------------------------------
/_sass/_syntax-highlighting.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Syntax highlighting styles
3 | */
4 | .highlight {
5 | background: #fff;
6 | @extend %vertical-rhythm;
7 |
8 | .c { color: #998; font-style: italic } // Comment
9 | .err { color: #a61717; background-color: #e3d2d2 } // Error
10 | .k { font-weight: bold } // Keyword
11 | .o { font-weight: bold } // Operator
12 | .cm { color: #998; font-style: italic } // Comment.Multiline
13 | .cp { color: #999; font-weight: bold } // Comment.Preproc
14 | .c1 { color: #998; font-style: italic } // Comment.Single
15 | .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
16 | .gd { color: #000; background-color: #fdd } // Generic.Deleted
17 | .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
18 | .ge { font-style: italic } // Generic.Emph
19 | .gr { color: #a00 } // Generic.Error
20 | .gh { color: #999 } // Generic.Heading
21 | .gi { color: #000; background-color: #dfd } // Generic.Inserted
22 | .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
23 | .go { color: #888 } // Generic.Output
24 | .gp { color: #555 } // Generic.Prompt
25 | .gs { font-weight: bold } // Generic.Strong
26 | .gu { color: #aaa } // Generic.Subheading
27 | .gt { color: #a00 } // Generic.Traceback
28 | .kc { font-weight: bold } // Keyword.Constant
29 | .kd { font-weight: bold } // Keyword.Declaration
30 | .kp { font-weight: bold } // Keyword.Pseudo
31 | .kr { font-weight: bold } // Keyword.Reserved
32 | .kt { color: #458; font-weight: bold } // Keyword.Type
33 | .m { color: #099 } // Literal.Number
34 | .s { color: #d14 } // Literal.String
35 | .na { color: #008080 } // Name.Attribute
36 | .nb { color: #0086B3 } // Name.Builtin
37 | .nc { color: #458; font-weight: bold } // Name.Class
38 | .no { color: #008080 } // Name.Constant
39 | .ni { color: #800080 } // Name.Entity
40 | .ne { color: #900; font-weight: bold } // Name.Exception
41 | .nf { color: #900; font-weight: bold } // Name.Function
42 | .nn { color: #555 } // Name.Namespace
43 | .nt { color: #000080 } // Name.Tag
44 | .nv { color: #008080 } // Name.Variable
45 | .ow { font-weight: bold } // Operator.Word
46 | .w { color: #bbb } // Text.Whitespace
47 | .mf { color: #099 } // Literal.Number.Float
48 | .mh { color: #099 } // Literal.Number.Hex
49 | .mi { color: #099 } // Literal.Number.Integer
50 | .mo { color: #099 } // Literal.Number.Oct
51 | .sb { color: #d14 } // Literal.String.Backtick
52 | .sc { color: #d14 } // Literal.String.Char
53 | .sd { color: #d14 } // Literal.String.Doc
54 | .s2 { color: #d14 } // Literal.String.Double
55 | .se { color: #d14 } // Literal.String.Escape
56 | .sh { color: #d14 } // Literal.String.Heredoc
57 | .si { color: #d14 } // Literal.String.Interpol
58 | .sx { color: #d14 } // Literal.String.Other
59 | .sr { color: #009926 } // Literal.String.Regex
60 | .s1 { color: #d14 } // Literal.String.Single
61 | .ss { color: #990073 } // Literal.String.Symbol
62 | .bp { color: #999 } // Name.Builtin.Pseudo
63 | .vc { color: #008080 } // Name.Variable.Class
64 | .vg { color: #008080 } // Name.Variable.Global
65 | .vi { color: #008080 } // Name.Variable.Instance
66 | .il { color: #099 } // Literal.Number.Integer.Long
67 | }
68 |
--------------------------------------------------------------------------------
/about.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: About
4 | permalink: /about/
5 | ---
6 |
7 | {% include image.html url="/images/profile.jpg" caption="A sassy caption here" width=300 align="right" %}
8 |
9 | Describe yourself here. Dummy text ahead.
10 |
11 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
12 |
13 | Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
14 |
15 | Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
--------------------------------------------------------------------------------
/blog.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: Blog
4 | permalink: /blog/
5 | ---
6 |
7 | Here are my carefully compiled views on some topics that I encountered so far. Hopefully, you will find them helpful! You can also search my posts by category here.
8 |
9 |
10 | {% for post in site.posts %}
11 | {% capture y %}{{post.date | date:"%Y"}}{% endcapture %}
12 | {% if year != y %}
13 | {% assign year = y %}
14 |
My name is <your name here>, and I am a <designation> at <university name>. You can add more details here, such as the most recent affiliation to a research group, etc.
8 |
9 | I maintain a list of my publications, research projects and implementations under the Research tab, and a list of other non-research projects under the Projects tab. You may also check out my Github profile.
10 |
11 | To get a better insight on my life so far, you can have a look at my curriculum vitae. I blog (although quite less frequently) and pin them down here. Feel free to read a bit more about me.
12 |
13 |
14 |
15 |
Updates
16 |
17 |
18 |
Month. Year - Add updates in chronological order, such as paper acceptance, talk invitations, internships, etc.
19 |
Month. Year - This list is scrollable, with most recent updates at the top.
20 |
31 | CS231n: Convolutional Neural Networks for Visual Recognition
32 | · CS224d: Deep Learning for Natural Language Processing
33 |
34 |
35 | *pursuing currently †accompanied by a separate lab course
36 |
--------------------------------------------------------------------------------
/miscellany/extracurricular.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: Extracurriculars
4 | permalink: /miscellany/extracurricular/
5 | ---
6 |
7 | Add details of your extracurricular life here! For example sports, favorite novels, movies etc.
--------------------------------------------------------------------------------
/miscellany/travel.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: Travel
4 | permalink: /miscellany/travel/
5 | ---
6 |
7 | Add photographs of your journey around the world!
--------------------------------------------------------------------------------
/projects.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | permalink: /projects/
4 | title: Projects
5 | ---
6 |
7 | Here is a non-exhaustive list of my non-research projects. My research work can be found here. You can also check out my Github profile here for a complete list of my projects.
8 |
9 |
10 |
11 | Project title #1: Give a brief description of your first project here. You can link the relevant research paper(s), report, code repository and any other detail(s) by editing projects.md file
12 |
15 | Project title #2: Give a brief description of your second project here. You can link the relevant research paper(s), report, code repository and any other detail(s) by editing projects.md file
16 |