• No results found

Introduction to Natural Language Processing

N/A
N/A
Protected

Academic year: 2022

Share "Introduction to Natural Language Processing"

Copied!
51
0
0

Loading.... (view fulltext now)

Full text

(1)

Lecture 4

Introduction to

Natural Language Processing

1. Deep Learning for NLP 2. Word Representation 3. Sequence to Sequence 4. Attention

Sina Semnani, Giovanni Campagna, Monica Lam 1

Stanford CS224v Course

Conversational Virtual Assistants with Deep Learning

(2)

Outline

1. Deep Learning for Natural Language Processing 2. Word Representation

3. Sequence to Sequence 4. Attention

2

(3)

Machine Learning

• Overall goal: Find F(x)

Given inputs x in X, with a probability distribution p(x), for some unknown function F(x)

From a set of input-output pairs {[x1, F(x1)], [x2, F(x2)], …} (Training Data)

• Approximate F with a parametrized function F’ with unknown parameters 𝜃

• We use the training data to find 𝜃

Question: What are the desirable properties of training data?

(4)

Learning a Parametrized Function

• The parametrized function can have various shapes:

Logistic Regression

Support Vector Machines

Decision Trees

Neural Networks

• Inputs and outputs can be many different things:

Text

Image

Integer

y ∈ ℝ!

Text

Image

Integer

y ∈ ℝ!

To

(5)

Deep Learning: FeedForward Neural Network

• Feedforward Neural Network, y=f (x; 𝜃) where f is a composition of functions of the form

𝑦 = 𝑔(𝑊𝑥 + 𝑏) 𝜃 ={𝑊𝑖, 𝑏"} 𝑖 are the intermediate result vectors in the hidden layer 𝑔 is a non-linear activationfunction

𝑥 "𝑦

𝑔(𝑊#𝑥 + 𝑏#) 𝑔(𝑊$# + 𝑏$)

!"

𝑔(𝑊%$ + 𝑏%)

𝑦

input model

prediction gold label 𝐿(𝜃)

loss

(6)

Logistic (Activation) Function Cheatsheet

• Sigmoid: Probability that x should be classified as 1 in binary classification 1

1 + 𝑒&'

From 0 at –inf to 1 at +inf, smooth

• Tanh: (Hyperbolic Tangent)

𝑒' − 𝑒&' 𝑒' + 𝑒&'

From -1 at –inf to 1 at +inf, smooth

Similar to sigmoid but shifted down and dilated vertically used by many RNN cells

6 Picture from https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6

Non-linear functions

(7)

• ReLU: Rectified Linear Unit

• Like a binary switch: 0 for negative, 1 for positive

%0 𝑥 < 0𝑥 𝑥 ≥ 0

• Constant 0 in the negative semi-plane, linear in the positive

Differentiable almost everywhere (except at 0)

• Used by Transformers

best choice for internal layers without knowing anything else

Activity Function Cheatsheet (2)

7

Relu

(8)

Activity Function Cheatsheet (3)

• Softmax: Multi-class classification (n: number of classes)

Input vector 𝑥(, 𝑥1, … , 𝑥)&# : 𝑥" represents the strength for choosing class 𝑖

A non-linear function that maps a vector of size n to another vector of size n

softmax𝑖 𝑥(, 𝑥1, … , 𝑥)&# : Probability of choosing the 𝑖th class softmax𝑖 𝑥(, 𝑥, … , 𝑥)&# = 𝑒'!

*+()&#𝑒'" for 0 ≤ 𝑖 < 𝑛

Input to softmax is log-probability (up to an offset)

Why is it a probability distribution?

softmax𝑖 is positive because 𝑒' is positive

softmax𝑖 is <= 1 because denominator is greater than numerator

The sum of all the softmax is 1 (∑"+()&#softmax𝑖 = 1)

8

(9)

Feedforward Neural Network

• Example: Feedforward Neural Network, y=f (x; 𝜃) where f is a composition of functions of the form

𝑦 = 𝑔(𝑊𝑥 + 𝑏) 𝜃 ={𝑊𝑖, 𝑏"} 𝑖 are the intermediate result vectors in the hidden layer 𝑔 is a non-linear activationfunction

𝑥 "𝑦

𝑔(𝑊#𝑥 + 𝑏#) 𝑔(𝑊$# + 𝑏$)

!"

𝑔(𝑊%$ + 𝑏%)

𝑦

input model

prediction gold label 𝐿(𝜃)

loss

Why do we need non-linear functions in lower layers?

(10)

Training Neural Models

• Loss 𝐿(𝜃) quantifies how far is the prediction from the gold (ground truth)

• At training time, we search for 𝜃 to minimize the loss:

argmin

, 𝐿(𝜃)

• The parameters with min loss give the best function approximation of the data

• Typically, 𝐿(𝜃) is (almost everywhere) differentiable and search uses gradient descent

𝑥 "𝑦

𝑔(𝑊#𝑥 + 𝑏#) 𝑔(𝑊$# + 𝑏$)

!"

𝑔(𝑊%$ + 𝑏%)

𝑦

input model

prediction gold label 𝐿(𝜃)

loss

(11)

Loss Function and Gradient Descent

• Calculate gradient of loss with respect to parameters

• Iteratively update parameters to minimize loss

• Let 𝛼 be the learning rate,

# = 𝜃$%& − 𝜃'(),

𝜃'() = 𝜃$%& − 𝛼∇#𝐿(𝜃)

L(𝜃)

𝜃

(12)

Approximating Too Well?

• The more parameters you have, the better you approx. the training data

• Overfitting: perfect approx. of limited training data, no generalization

• Solution 1: Cross-Validation

During training, evaluate model on held-out validation set (aka dev set)

• Pick the model that has highest validation accuracy, not training loss

• Solution 2: Regularization

• Limit capacity of the model during training (but not test time)

(common) dropout: randomly set some entries of each layer output to 0

13

(13)

Summary

• Deep learning

Find parameters 𝜃 in an approximation function for data with a probability distribution function

• Feed forward networks

Each layer: a linear function followed by a non-linear activation function (sigmoid, tanh, relu, softmax)

• Training: Use gradient descent to update 𝜃 t0 minimize loss distribution

𝑥 "𝑦

𝑔(𝑊#𝑥 + 𝑏#) 𝑔(𝑊$# + 𝑏$)

!"

𝑔(𝑊%$ + 𝑏%)

𝑦

input model

prediction gold label 𝐿(𝜃)

loss

(14)

Outline

1. Deep Learning for Natural Language Processing 2. Word Representation

3. Sequence to Sequence 4. Attention

15

(15)

Word Representation: One-Hot Vectors

• Assume: a calculus of functions 𝑓: 𝑅# → 𝑅$

• Represent words as a real vector

One-hot vector: vi is 1 for word i, 0 otherwise

• E.g. A classification problem: detect if the sentence is about restaurants Answer: 1 means is a restaurant skill, 0 means everything else

restaurant = [1 0 0 … 0]

diner = [0 1 0 … 0]

Show me restaurants around here

0/1 𝐿 𝜃 = − log 𝑝#$ %#

(16)

Sequence Representation:

Recurrent Neural Networks RNN

• Recurrent: repeat the same box, with the same 𝜃 for each word in the sequence

• Proposed RNN cells:

Gated Recurrent Unit (GRU)

Long Short-Term Memory (LSTM)

RNN

Show me restaurants around here

RNN RNN RNN RNN 0/1

Encoder: input-sentence → fixed-size vector

Classifier head (feedforward)

See [Sutskever 2014, Graves2013] for details of LSTM details are unimportant, since this is obsolete

(17)

Encode Sequences

• It can be bi-directional

RNN

Show me restaurants around here

RNN RNN RNN RNN 0/1

RNN

RNN RNN RNN RNN

Encoder: input-sentence → fixed-size vector

(18)

General Definition: Encoder (Need not be RNN)

Show me restaurants around here Encoder

• a sequence of inputs → one or more fixed size vectors

• one for each token

• one for the whole sentence

(19)

Quiz

• What is the limitation of the one-hot representation?

21

(20)

Better Word Representations than 1-Hot Vectors

• Neural networks learn to map regions of the input space to outputs

• Word embeddings: similar words → similar regions makes it easier for the neural network

x

x

x x

Input space

These sentences are in the restaurants domain

restaurant = [1 0 0 … 0]

diner = [0 .. 0 1 0 .. 0]

These are in the hotels domain

1-Hot

(21)

Word Representation: Dense Vectors

• Also called Distributed Representation

• Represent a word with

~100-1000 dimensional vectors (much smaller than |𝑉|)

• Learned from large text corpora I went to this amazing restaurant last night.

We were at the diner when we saw him.

Ali went to the movies.

She was at the movies.

Learn embeddings that maximize our ability to predict the surrounding words of a word 𝐿 𝜃 = −1

𝑇<

0+#

1

<

*+&2 32

log 𝑃 𝑤03* 𝑤0 ; 𝜃 Given word position t = 1,…,T,

loss: maximize joint probability (product = sum of logs) of words surrounding w_t in a window of size 2m around the current word w_t

(22)

Word Representation: Dense Vectors

Images from GloVe: Global Vectors for Word Representation (2014)

(23)

Word Representation: Dense Vectors

There exists a 300-dimensional vector 𝑧 such that

adding 𝑧 to the vector of a city name, yields the vector of their zip codes!

Images from GloVe: Global Vectors for Word Representation (2014)

(24)

Limitation of Dense Vectors

• Each word is represented by a unique vector 𝑣.

• 𝑣 has to encode all aspects and meanings of 𝑤

• These two sentences will be almost identical in terms of word embeddings.

• How much does a share of Apple cost?

• How much does a pound of apple cost?

• We can do better by assigning a representation based on the context in the sentence (Language Model)

(25)

Language Modeling

• The task of estimating the probability of a sequence of words 𝑃 𝑤!𝑤"𝑤% … 𝑤$

• Auto-regressive: Predict one word at a time (given previous words)

𝑃 𝑤# 𝑤$ 𝑤%… 𝑤2 = C

"+#

2

𝑃(𝑤"|𝑤#… 𝑤"&#)

C

"+#

2

𝑃(𝑤"|𝑤"&)… 𝑤"&#) limiting the window to n words

(26)

Autoregressive Language Models

• Autoregressive: predict the next word based on past words

Show me restaurants around here Encoder

P( . | show) P( . | show me)

(27)

Masked Language Models (BERT [Devlin et al 2018])

• Masked: fill in the blank

Show me _ around here (Bidirectional) Encoder

P( . | show me _ around here)

(28)

Word Representation: Contextual

• Training data for a task is limited

• Pre-train a language model on a very large text corpus

• Embeddings from Language Models: ELMo (Oct. 2017)

• Generative Pre-training: GPT (June 2018)

• Bidirectional Encoder Representations from Transformers:

BERT (Oct. 2018)

• GPT-2 (Feb. 2019)

• T5 (Oct. 2019)

• GPT-3 (May 2020)

• ...

corpus size 800 million words

1x 4x 48x 47x 35x

Transformers: to be discussed later

(29)

Quiz

A language model is trained to be good at predicting missing words.

How can we test

if the contextual representations learned by the language model are good at capturing the meaning of sentences as well?

(30)

Outline

1. Deep Learning for Natural Language Processing 2. Word Representation

3. Sequence to Sequence 4. Attention

34

(31)

When the Desired Outputs are Sentences

• Sequence-to-sequence (Seq2Seq)

• Seq2Seq has many use cases

• Machine Translation

• Question Generation

• Semantic Parsing

• We will use examples from semantic parsing

Show me restaurants around here now => @QA.Restaurant(), , geo == current_location => notify

(32)

Sequence to Sequence (Seq2Seq)

• Dataset:

pairs of source sentence 𝑥!𝑥" … 𝑥& and target sentence 𝑦!𝑦" … 𝑦'

• For instance, pairs of natural sentences and their ThingTalk programs

• The objective is to learn 𝜃 that

maximizes probability of output sequence conditioned on input sequence:

𝐿 𝜃 = −𝑃 𝑦1 𝑦2… 𝑦' 𝑥1𝑥2… 𝑥& ; 𝜃)

= −𝑃(𝑦! 𝑥!𝑥" … 𝑥& ; 𝜃 × 𝑃 𝑦" 𝑦!𝑥!𝑥" … 𝑥& ; 𝜃 × ⋯

simplifying assumption: factor 𝑃(𝑦1 𝑦2… 𝑦') as if each word depends only on the previous ones

(33)

Encoder

Show me restaurants around here Encoder

• a sequence of inputs → one or more fixed size vectors

• one for each token

• one for the whole sentence

(34)

Decoder (the Inverse of Encoder)

• a fixed size vector → probability distributions over words i.e. vectors of size |𝑉| whose elements sum to 1

𝑉 is the vocabulary (set of all words)

Decoder

“@restaurant” = 0.8

“@hotel” = 0.15

“;” = 0.1

(35)

Encoder-Decoder

• We can use encoder-decoder models for Seq2Seq tasks

Encoder

now => @QA.Restaurant() , geo ==

Show me restaurants around here

Decoder

(36)

Encoder-Decoder

• In practice, we also input the previous output token to the decoder

now => @QA.Restaurant() ,

Encoder

Show me restaurants around here

Decoder

<start> now => @QA.Restaurant()

(37)

Encoder-Decoder

• At training time, decoder always gets the gold target as input

Encoder

now => @QA.Restaurant() ,

Show me restaurants around here

Decoder

<start> now => @QA.Restaurant()

(38)

Encoder-Decoder

• At inference time, we feed in the word generated by the decoder at previous time step.

• Pro: very fast to converge in practice

• Con: model is never exposed to its own errors during training

Encoder

now

Show me restaurants around here

Decoder

<start>

=> @QA.Restaurant() ,

(39)

From Word Probabilities to Output Sequence

• Greedy decoding: at each step, pick the most probable word

Greedy decoding can make errors:

if we choose a wrong word at a step, we might never recover

• Beam Search: at each step, keep the K most probable observed outputs

• Sampling: pick a word at random according to the distribution

• …

(40)

Downside of Word-Level Loss

Source: Show me restaurants around here.

Gold target: now => @QA.Restaurant() , geo == current_location => notify Model output: now => @QA.Hospital() , geo == current_location => notify

• Most of the sentence is the same as the gold, so low cost, but you will –literally- end up in a hospital!

• A small difference in words is not the same as a small difference in meaning.

(41)

Downside of Word-Level Loss

Source: Show me nearby restaurants.

Gold target: mostrami ristoranti nelle vicinanze Model output: sto cercando un ristorante qui attorno

(I’m looking for a restaurant around here)

• Most of the sentence is different from the gold, so high cost, but the answer is correct.

• Difference in words is not the same as difference in meaning.

(42)

Outline

1. Deep Learning for Natural Language Processing 2. Word Representation

3. Sequence to Sequence 4. Attention

46

(43)

Capturing Long Term Dependencies is Important in NL

• When generating a word,

the model has to attend to words potentially far from each other.

• Some words are more important than others

Alice is young, lively and beautiful Alice è giovane, vivace e

bello

bella

How far away is the closest Italian

restaurant to me? now => [ distance ] of ( compute distance …

(44)

Encoder-Decoder with Attention

• When generating a word for the output, directly look at all the words in the input

Encoder

Show me restaurants around here

Decoder

<start>

(45)

Dot-Product Attention

• At each decoding step, compute alignment scores

by combining key K (encoder, E x H sized) and query Q (decoder, 1 x H) 𝐴 = 𝐾𝑄( ∈ ℝ)×!

• Normalize scores with softmaxto obtain a probability distribution 𝑆 = softmax 𝑎+, 𝑎!, … , 𝑎#,! = 𝑒-$

./+#,!𝑒-% ∈ ℝ)×!

• Mix attention value V (typically encoder, can vary, E x H sized) into a context vector

𝐶 = 𝑆(𝑉 ∈ ℝ!×0

H = hidden dimension E = input seq length Parameters: 𝐾, 𝑄, 𝑉

Mix the answer (context vector) with the decoder state (Add or Concatenate)

(46)

Transformer: Attention is All You Need!

• Relatively new class of parametrized functions

• Instead of RNNs, it is entirely made up of attentions

• Attentions are easy to compute in parallel, which is especially beneficial when using GPUs

• Empirically, Transformer outperforms RNN in a wide range of tasks and datasets.

(47)

Transformer Architecture (encoder or decoder)

53

(multihead) self-attention feed forward-network:

relu(Wx+b)

batch normalization

addition

batch normalization addition

input

repeat for L layers

(L = 12 … 60 depending on architecture)

(48)

• Very large transformer models with 175 billion parameters

• Trained on large datasets of Books, Wikipedia and the rest of the Web

• Trained for 3.14×10"% FLOPS

• With the objective to predict the next word given the previous words

• They pick up a lot of knowledge about English grammar, the world, and some logic.

GPT-2, 3, 4, …, N

(49)

• GPT-3 can be “programmed” by showing them a few examples, or a prompt.

• The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, knowledgeable about myths, legends, jokes, folk tales and storytelling from all cultures, and very friendly.

Human: Hello, who are you?

AI: I am an AI created by OpenAI. How can I help you today?

Human: I am feeling bored today. Grandma, tell me a story about the time the Cat stole the sun.

AI: Once upon a time, the Cat went to visit the Sun. He hadn’t seen the Sun for quite some time. …

Emergent Behavior of GPT-3

(50)

Raises Many Questions

Article from technologyreview.com

(51)

Summary

1. Deep Learning for Natural Language Processing 2. Word Representation

3. Sequence to Sequence 4. Attention

57

References

Related documents

Clustering techniques in wireless sensor networks enables energy efficient coordination among the densely deployed nodes for data delivery till the base station.. Many

Duplex mode indicates that the two server modules are completely synced with redundant hardware in both modules.. When in this mode, both processors are executing the exact

Effects of Acoustic Features Modifications on the Perception of Dysarthric Speech - Preliminary Study (Pitch, Intensity and..

Solution: AVEVA’s Asset Life Cycle Information Management solution; AVEVA’s Control of Work solution; AVEVA Enterprise Asset Management™.. Asset Visualisation

◆ Auto-antifreeze: To prevent the pipes and pumps from being frozen, the unit will defrost automatically when it meets the condition as follows: the ambient temperature is

Corrosion of Materials Other than Metal; Early Corrosion Studies; Fundamentals; Electrochemical Principles; Electromotive Force; Ionization; The Corrosion Cell; Oxidation and

The objectives of the association is to conduct studies on major problems of apiculture development in Ethiopia and to prepare proposals on behalf of member companies and submit

Jacada WorkSpace is well suited for contact center environments where agents are either burdened with multiple desktop applications or where complex business rules (whether