Connect with us

Uncategorized

Prezent od córki: burząca cisza starości

Ludwika Nowak krzątała się w kuchni od świtu: kroiła sałatki, gotowała rosół, wkładała do piekarnika kurczaka z czosnkiem, czyściła kryształowy wazon na kwiaty. Dwukrotnie zbiegła do sklepu – wróciła z tortem i wypchanymi siatkami, wpadając po drod# CS 224n Assignment #2: word2vec (43 Points)

## 1. Understanding word2vec (12 points)

### (a) (3 points)
* Repeating for completion:
\begin{align}
\mathbf{J}_{\text {naive-softmax }}(\mathbf{v}_{c}, o, \mathbf{U}) &=-\log P(O=o \mid C=c) \\
&=-\log \left( \frac{\exp \left(\mathbf{u}_{o}^{\top} \mathbf{v}_{c}\right)}{\sum_{w \in \text{Vocab}} \exp \left(\mathbf{u}_{w}^{\top} \mathbf{v}_{c}\right)} \right) \\
&=-\mathbf{u}_{o}^{\top} \mathbf{v}_{c}+\log \left(\sum_{w \in \text{Vocab}} \exp \left(\mathbf{u}_{w}^{\top} \mathbf{v}_{c}\right)\right)
\end{align}
* Therefore:
\begin{align}
\frac{\partial \mathbf{J}_{\text {naive-softmax }}}{\partial \mathbf{v}_{c}} &= \frac{\partial}{\partial \mathbf{v}_{c}} \left ( -\mathbf{u}_{o}^{\top} \mathbf{v}_{c} + \log \left( \sum_{w \in \text{Vocab}} \exp \left(\mathbf{u}_{w}^{\top} \mathbf{v}_{c}\right) \right ) \right ) \\
&= -\mathbf{u}_{o} + \sum_{w \in \text{Vocab}} \frac{\exp \left(\mathbf{u}_{w}^{\top} \mathbf{v}_{c}\right) \mathbf{u}_{w}}{\sum_{w \in \text{Vocab}} \exp \left(\mathbf{u}_{w}^{\top} \mathbf{v}_{c}\right)} \\
&= -\mathbf{u}_{o} + \sum_{w \in \text{Vocab}} P(O=w | C=c) \mathbf{u}_{w} \\
\end{align}

* Interpretation: the derivative of the loss with respect to $v_c$ is the difference between the vector of actual outside word $u_o$ and the expectation of all outside word vectors under the current model. This makes sense as we are trying to maximize the likelihood of the actual outside word $o$ appearing around the center word $c$ while minimizing the likelihoods of all other words.

### (b) (3 points)
* Repeating for completion:
\begin{align}
\frac{\partial \mathbf{J}_{\text {naive-softmax }}}{\partial \mathbf{v}_{c}} &= -\mathbf{u}_{o} + \sum_{w \in \text{Vocab}} P(O=w | C=c) \mathbf{u}_{w}
\end{align}
* Therefore:
\begin{align}
\frac{\partial \mathbf{J}_{\text {naive-softmax }}}{\partial \mathbf{u}_{w}} &= \frac{\partial}{\partial \mathbf{u}_{w}} \left ( -\mathbf{u}_{o}^{\top} \mathbf{v}_{c} + \log \left( \sum_{x \in \text{Vocab}} \exp \left(\mathbf{u}_{x}^{\top} \mathbf{v}_{c}\right) \right ) \right ) \\
\end{align}
* When $w=o$:
\begin{align}
\frac{\partial \mathbf{J}_{\text {naive-softmax }}}{\partial \mathbf{u}_{w}} &= -\mathbf{v}_{c} + \frac{\exp \left(\mathbf{u}_{o}^{\top} \mathbf{v}_{c}\right) \mathbf{v}_{c}}{\sum_{x \in \text{Vocab}} \exp \left(\mathbf{u}_{x}^{\top} \mathbf{v}_{c}\right)} \\
&= – \mathbf{v}_{c} + P(O=o | C=c) \mathbf{v}_{c} \\
&= \mathbf{v}_{c} (P(O=o | C=c) – 1)
\end{align}
* When $w \neq o$:
\begin{align}
\frac{\partial \mathbf{J}_{\text {naive-softmax }}}{\partial \mathbf{u}_{w}} &= \frac{\exp \left(\mathbf{u}_{w}^{\top} \mathbf{v}_{c}\right) \mathbf{v}_{c}}{\sum_{x \in \text{Vocab}} \exp \left(\mathbf{u}_{x}^{\top} \mathbf{v}_{c}\right)} \\
&= P(O=w | C=c) \mathbf{v}_{c}
\end{align}
* Combined:
\begin{align}
\frac{\partial \mathbf{J}_{\text {naive-softmax }}}{\partial \mathbf{u}_{w}} = \mathbf{v}_{c} (P(O=w | C=c) – \mathbb{I}_{w=o})
\end{align}

### (c) (2 points)
* The derivative we computed above is extremely expensive to compute because we have to loop through the entire vocabulary in order to calculate $\sum_{w \in \text{Vocab}} P(O=w | C=c) \mathbf{u}_{w}$. Even though we have to loop through the entire vocabulary for each training example, we may be able to use matrix algebra to parallelize the calculations (such as the calculation of the dot products and $P(O=w | C=c)$). We also have to store the entire outside embedding matrix in memory in order to perform the computations, which may be difficult for very large vocabularies (unless we use sparse matrix representations).

### (d) (4 points)
* **Sigmoid function**:
\begin{align}
\sigma(x) &= \frac{1}{1 + e^{-x}} \\
\frac{\partial \sigma(x)}{\partial x} &= \frac{e^{-x}}{(1 + e^{-x})^2} = \sigma(x) (1 – \sigma(x))
\end{align}
* **Negative sampling loss**:
\begin{align}
\mathbf{J}_{\text{neg-sample}}(\mathbf{v}_{c}, o, \mathbf{U}) &= – \log(\sigma(\mathbf{u}_{o}^{\top} \mathbf{v}_{c})) – \sum_{k=1}^{K} \log(\sigma(-\mathbf{u}_{k}^{\top} \mathbf{v}_{c})) \\
\frac{\partial \mathbf{J}_{\text{neg-sample}}}{\partial \mathbf{v}_{c}} &= – (1 – \sigma(\mathbf{u}_{o}^{\top} \mathbf{v}_{c})) \mathbf{u}_{o} + \sum_{k=1}^{K} (1 – \sigma(-\mathbf{u}_{k}^{\top} \mathbf{v}_{c})) \mathbf{u}_{k} \\
&= – \sigma(- \mathbf{u}_{o}^{\top} \mathbf{v}_{c}) \mathbf{u}_{o} + \sum_{k=1}^{K} \sigma(\mathbf{u}_{k}^{\top} \mathbf{v}_{c}) \mathbf{u}_{k} \\
\end{align}
* **Derivatives for outside word vectors**:
\begin{align}
\frac{\partial \mathbf{J}_{\text{neg-sample}}}{\partial \mathbf{u}_{o}} &= – (1 – \sigma(\mathbf{u}_{o}^{\top} \mathbf{v}_{c})) \mathbf{v}_{c} = – \sigma(-\mathbf{u}_{o}^{\top} \mathbf{v}_{c}) \mathbf{v}_{c} \\
\frac{\partial \mathbf{J}_{\text{neg-sample}}}{\partial \mathbf{u}_{k}} &= (1 – \sigma(-\mathbf{u}_{k}^{\top} \mathbf{v}_{c})) \mathbf{v}_{c} = \sigma(\mathbf{u}_{k}^{\top} \mathbf{v}_{c}) \mathbf{v}_{c} \quad \forall k \in \{1, \ldots, K \}
\end{align}

* Negative sampling is much more computationally efficient than naive softmax because we do not need to compute derivatives with respect to all outside word vectors in the vocabulary. Instead, we only need to compute derivatives with respect to the one actual outside word and $K$ negative samples. This makes the cost of each training step independent of the vocabulary size, which is a major advantage when the vocabulary is large.

## 2. Implementing word2vec (21 points)

### (a) (6 points)
* See the `word2vec.py` file for the implementation of `sigmoid` and `naiveSoftmaxLossAndGradient`.
* Loss and gradient calculations were verified numerically using `gradcheck_naive` for a toy model and vocabulary.
* The softmax probabilities were also compared against a manual calculation on the toy model for the same test case and found to be exactly identical.

### (b) (3 points)
* See the `word2vec.py` file for the implementation of `negSamplingLossAndGradient`.
* Loss and gradient calculations were verified numerically using `gradcheck_naive` for a toy model and vocabulary.

### (c) (4 points)
* See the `word2vec.py`Liść spadł na grób Ludwiki, a staruszka westchnęła ciężko i odwróciła się plecami do bloku, w którym nigdy już nie rozlegnie się radosny głos jej przyjaciółki.

Uncategorized14 godzin ago

Piotrek wsadził kota do worka – syn sąsiada przypadkiem zobaczyłChłopiec natychmiast pobiegł do domu, aby powiedzieć o tym swojej mamie.

Uncategorized15 godzin ago

Piotrowicz wepchnął kota do worka – chłopiec sąsiada przypadkiem to zobaczyłWieść o tym wydarzeniu błyskawicznie obiegła całe osiedle, a Piotrowicz musiał się tłumaczyć przed zbulwersowanymi sąsiadami.

Uncategorized17 godzin ago

– Gratuluję! Właśnie straciliście i narzeczoną, i mieszkanie, i resztki mojego szacunku! – rzuciłam obrączkę przez okno.

Uncategorized18 godzin ago

– Gratuluję! Właśnie straciliście i narzeczoną, i mieszkanie, i resztki mojego szacunku! – rzuciłam pierścionek zaręczynowy przez okno.

Uncategorized20 godzin ago

– Potrzebuję bardzo starego psa, – prosiła kobieta w schronisku.

Uncategorized21 godzin ago

– Potrzebuję bardzo starego psa – błagała kobieta w schronisku.

Uncategorized23 godziny ago

Porzucony pies wrócił po trzech miesiącach do swojego właściciela – ten nie spodziewał się go zobaczyć.

Uncategorized1 dzień ago

Pies wrócił do porzucającego go właściciela po trzech miesiącach: nie spodziewał się go zobaczyćGdy otworzył drzwi, pies rzucił mu się do nóg, a w oczach mężczyzny pojawiły się łzy wzruszenia i żalu.

Uncategorized1 dzień ago

Święto minęło, a o psie po prostu zapomniano: rano właściciele nie wierzyli własnym oczomPies leżał spokojnie na kanapie, otoczony resztkami jedzenia i balonami, jakby sam z siebie urządził sobie najlepsze przyjęcie w swoim życiu.

Uncategorized1 dzień ago

Święto minęło, a o psie po prostu zapomniano: rano właściciele nie wierzyli własnym oczomPrzed nimi stał pies, który przez całą noc samodzielnie otworzył lodówkę i zjadł cały zapas świątecznych przysmaków, a teraz spokojnie spał wśród pustych opakowań.

Uncategorized2 tygodnie ago

„Mamo, podpisz i zwolnij działkę – to teraz moje”. Córka nie wiedziała, że od dwóch miesięcy nie jestem już jej matką na papierze.

Uncategorized1 tydzień ago

Mąż nie pracuje od pół roku, śpi do obiadu i uważa, że powinnam go karmić. A ja zwolniłam się w odpowiedzi.

Uncategorized1 tydzień ago

Tylko obejrzymy działkę i wracamy! — obiecała teściowa w piątkowy wieczór. Wyjechali w niedzielę. Przyjechałam w poniedziałek — i założyłam kłódkę.

Uncategorized3 tygodnie ago

Wira smażyła kotlety, gdy do kuchni wszedł mąż. – Wiro, musimy porozmawiać – rzekł stanowczo Igor. – Mów – odrzekła żona. – Może usiądziesz i posłuchasz? – w głosie Igora zabrzmiała niecierpliwość. – Muszę cały czas patrzeć na kotlety – odpowiedziała żona. – Co chciałeś mi powiedzieć? – Igor się potknął, ledwo dobierając słowa. – Spotkałem inną kobietę… odchodzę od ciebie! – Gratuluję ci. I bardzo się cieszę za ciebie! – spokojnie powiedziała Wira. – Co masz na myśli, gratuluję? Czy cieszę się z ciebie? – mąż spojrzał zaskoczony. Ale Igor nawet nie mógł sobie wyobrazić, co Wira w tej chwili zamierzała.

Uncategorized2 tygodnie ago

Mąż powiedział, że bez niego przepadnę. Nie dyskutowałam – i zrobiłam wszystko po swojemuI udowodniłam mu w najpiękniejszy możliwy sposób, że potrafię radzić sobie doskonale sama.

Uncategorized1 tydzień ago

Mąż postanowił odpocząć ode mnie i dzieci i uciekł do teściowej. Wrócił – i aż go zatkało.

Uncategorized2 dni ago

Teściowa była przekonana, że po rozwodzie nadal zamieszka w mieszkaniu byłej synowej i będzie dostawać od niej pomoc.

Uncategorized1 tydzień ago

— Skoro urodziłaś córkę, a nie syna, zwalniaj mieszkanie — oświadczyła teściowa. Mąż stanął po stronie żony.

Uncategorized4 dni ago

— Żyjesz za dobrze po rozwodzie, — powiedziała była teściowa i postanowiła „przywrócić sprawiedliwość”

Uncategorized4 tygodnie ago

– Przecież cię ostrzegałam – tam, gdzie zabrałeś pieniądze, tam idź na kolację! A śniadanie, swoją drogą, też – powiedziała żona i usiadła w fotelu z robótką ręczną.

Trending