diff --git a/ru/cs-230-recurrent-neural-networks.md b/ru/cs-230-recurrent-neural-networks.md new file mode 100644 index 000000000..649bb945b --- /dev/null +++ b/ru/cs-230-recurrent-neural-networks.md @@ -0,0 +1,676 @@ +**Recurrent Neural Networks translation** [[webpage]](https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks) + +
+ +**1. Recurrent Neural Networks cheatsheet** + +⟶ Шпаргалка по Рекуррентным Нейронным Сетям + +
+ + +**2. CS 230 - Deep Learning** + +⟶ CS 230 - Глубокое Обучение + +
+ + +**3. [Overview, Architecture structure, Applications of RNNs, Loss function, Backpropagation]** + +⟶ [Обзор, Структура архитектуры, Приложения RNN, Функция потерь, Обратное распространение ошибки] + +
+ + +**4. [Handling long term dependencies, Common activation functions, Vanishing/exploding gradient, Gradient clipping, GRU/LSTM, Types of gates, Bidirectional RNN, Deep RNN]** + +⟶ [Обработка долгосрочных зависимостей, Общие функции активации, Исчезающий/увеличивающийся градиент, Отсечение градиента, GRU/LSTM, Типы вентилей, Двунаправленный RNN, Глубокая RNN.] + +
+ + +**5. [Learning word representation, Notations, Embedding matrix, Word2vec, Skip-gram, Negative sampling, GloVe]** + +⟶ [Обучение представления слов, Обозначения, Embedding matrix, Word2vec, Skip-gram, Отрицательная выборка, GloVe] + +
+ + +**6. [Comparing words, Cosine similarity, t-SNE]** + +⟶ [Сравнение слов, Косинусное сходство, t-SNE] + +
+ + +**7. [Language model, n-gram, Perplexity]** + +⟶ [Языковая модель, n-граммы, Метрика Perplexity] + +
+ + +**8. [Machine translation, Beam search, Length normalization, Error analysis, Bleu score]** + +⟶ [Машинный перевод, Лучевой поиск, Нормализация длины, Анализ ошибок, Метрика BLEU] + +
+ + +**9. [Attention, Attention model, Attention weights]** + +⟶ [Внимание, Модель внимания, Веса внимания] + +
+ + +**10. Overview** + +⟶ Обзор + +
+ + +**11. Architecture of a traditional RNN ― Recurrent neural networks, also known as RNNs, are a class of neural networks that allow previous outputs to be used as inputs while having hidden states. They are typically as follows:** + +⟶ Архитектура классической RNN ― Рекуррентные нейронные сети, также известные как RNN, представляют собой класс нейронных сетей, которые позволяют использовать предыдущие выходы в качестве входов, имея скрытые состояния. Обычно они следующие: + +
+ + +**12. For each timestep t, the activation a and the output y are expressed as follows:** + +⟶ Для каждого временного шага t активация a и выход y выражаются следующим образом: + +
+ + +**13. and** + +⟶ и + +
+ + +**14. where Wax,Waa,Wya,ba,by are coefficients that are shared temporally and g1,g2 activation functions.** + +⟶ где Wax,Waa,Wya,ba,by являются коэффициентами, которые являются одинаковыми для всех ячеек RNN во времени, и функциями активации g1,g2. + +
+ + +**15. The pros and cons of a typical RNN architecture are summed up in the table below:** + +⟶ Плюсы и минусы типичной архитектуры RNN перечислены в таблице ниже: + +
+ + +**16. [Advantages, Possibility of processing input of any length, Model size not increasing with size of input, Computation takes into account historical information, Weights are shared across time]** + +⟶ [Преимущества, Возможность обработки входа любой длины, Размер модели не увеличивается с размером входных данных, При расчетах учитывается историческая информация, Веса одинаковы во времени] + +
+ + +**17. [Drawbacks, Computation being slow, Difficulty of accessing information from a long time ago, Cannot consider any future input for the current state]** + +⟶ [Недостатки, Вычисления идут медленно, Сложность доступа к очень давней информации, Невозможно рассмотреть какие-либо будущие входные данные для текущего состояния] + +
+ + +**18. Applications of RNNs ― RNN models are mostly used in the fields of natural language processing and speech recognition. The different applications are summed up in the table below:** + +⟶ Применение RNN ― Модели RNN в основном используются в области обработки естественного языка и распознавания речи. Различные приложения приведены в таблице ниже: + +
+ + +**19. [Type of RNN, Illustration, Example]** + +⟶ [Тип RNN, Иллюстрация, Пример] + +
+ + +**20. [One-to-one, One-to-many, Many-to-one, Many-to-many]** + +⟶ [One-to-one, One-to-many, Many-to-one, Many-to-many] + +
+ + +**21. [Traditional neural network, Music generation, Sentiment classification, Name entity recognition, Machine translation]** + +⟶ [Классическая нейронная сеть, Генерация музыки, Определение эмоциональной окраски, Распознавание именованных сущностей, Машинный перевод] + +
+ + +**22. Loss function ― In the case of a recurrent neural network, the loss function L of all time steps is defined based on the loss at every time step as follows:** + +⟶ Функция потерь ― В случае рекуррентной нейронной сети функция потерь L всех временных шагов определяется на основе значений функции потерь на каждом временном шаге следующим образом: + +
+ + +**23. Backpropagation through time ― Backpropagation is done at each point in time. At timestep T, the derivative of the loss L with respect to weight matrix W is expressed as follows:** + +⟶ Обратное распространение ошибки во времени ― Обратное распространение ошибки выполняется в каждый момент времени. На временном шаге T производная потерь L по матрице весов W выражается следующим образом: + +
+ + +**24. Handling long term dependencies** + +⟶ Работа с долгосрочными зависимостями + +
+ + +**25. Commonly used activation functions ― The most common activation functions used in RNN modules are described below:** + +⟶ Часто используемые функции активации ― Наиболее распространенные функции активации, используемые в модулях RNN, описаны ниже: + +
+ + +**26. [Sigmoid, Tanh, RELU]** + +⟶ [Sigmoid, Tanh, RELU] + +
+ + +**27. Vanishing/exploding gradient ― The vanishing and exploding gradient phenomena are often encountered in the context of RNNs. The reason why they happen is that it is difficult to capture long term dependencies because of multiplicative gradient that can be exponentially decreasing/increasing with respect to the number of layers.** + +⟶ Исчезающий/взрывающийся градиент ― Явления исчезающих и взрывающихся градиентов часто встречаются в контексте RNN. Причина, по которой они происходят, заключается в том, что трудно зафиксировать долгосрочные зависимости из-за мультипликативного градиента, который может экспоненциально уменьшаться/увеличиваться по отношению к количеству слоев. + +
+ + +**28. Gradient clipping ― It is a technique used to cope with the exploding gradient problem sometimes encountered when performing backpropagation. By capping the maximum value for the gradient, this phenomenon is controlled in practice.** + +⟶ Отсечение градиента ― это метод, используемый для решения проблемы взрывающихся градиентов, иногда возникающей при выполнении обратного распространения ошибки. Ограничивая градиент по выбранному максимальному значению, это явление можно контролировать на практике. + +
+ + +**29. clipped** + +⟶ отсечено + +
+ + +**30. Types of gates ― In order to remedy the vanishing gradient problem, specific gates are used in some types of RNNs and usually have a well-defined purpose. They are usually noted Γ and are equal to:** + +⟶ Типы вентилей ― чтобы решить проблему исчезающего градиента, в некоторых типах RNN используются специфичные вентили, которые имеют четко заданную цель. Обычно они обозначаются Γ и равны: + +
+ + +**31. where W,U,b are coefficients specific to the gate and σ is the sigmoid function. The main ones are summed up in the table below:** + +⟶ где W,U,b ― коэффициенты, относящиеся к вентилю, а σ - функция сигмоиды. Основные из них приведены в таблице ниже: + +
+ + +**32. [Type of gate, Role, Used in]** + +⟶ [Тип вентиля, Роль, Используется в] + +
+ + +**33. [Update gate, Relevance gate, Forget gate, Output gate]** + +⟶ [Вентиль обновления (Update), Вентиль сброса (Relevance), Вентиль забывания (Forget), Вентиль выхода (Output)] + +
+ + +**34. [How much past should matter now?, Drop previous information?, Erase a cell or not?, How much to reveal of a cell?]** + +⟶ [Насколько прошлое должно иметь значение сейчас?, Отбросить предыдущую информацию?, Стереть ячейку или нет?, Насколько раскрыть ячейку?] + +
+ + +**35. [LSTM, GRU]** + +⟶ [LSTM, GRU] + +
+ + +**36. GRU/LSTM ― Gated Recurrent Unit (GRU) and Long Short-Term Memory units (LSTM) deal with the vanishing gradient problem encountered by traditional RNNs, with LSTM being a generalization of GRU. Below is a table summing up the characterizing equations of each architecture:** + +⟶ GRU/LSTM ― Вентильный Рекуррентный Блок (Gated Recurrent Unit, GRU) и Блок с Долгой Краткосрочной Памятью (Long Short-Term Memory units, LSTM) имеет дело с проблемой исчезающего градиента, с которой сталкиваются традиционные RNN, причем LSTM является обобщением GRU. Ниже представлена таблица, в которой перечислены характеризующие уравнения каждой архитектуры: + +
+ + +**37. [Characterization, Gated Recurrent Unit (GRU), Long Short-Term Memory (LSTM), Dependencies]** + +⟶ [Характеристика, Вентильный Рекуррентный Блок (GRU), Блок с Долгой Краткосрочной Памятью (LSTM), Зависимости] + +
+ + +**38. Remark: the sign ⋆ denotes the element-wise multiplication between two vectors.** + +⟶ Примечание: знак ⋆ означает поэлементное умножение двух векторов. + +
+ + +**39. Variants of RNNs ― The table below sums up the other commonly used RNN architectures:** + +⟶ Варианты RNN ― В таблице ниже перечислены другие часто используемые архитектуры RNN: + +
+ + +**40. [Bidirectional (BRNN), Deep (DRNN)]** + +⟶ [Двунаправленная (Bidirectional/BRNN), Глубокая (Deep/DRNN)] + +
+ + +**41. Learning word representation** + +⟶ Получение представления слов + +
+ + +**42. In this section, we note V the vocabulary and |V| its size.** + +⟶ В этом разделе мы обозначаем словарь V и его размер |V|. + +
+ + +**43. Motivation and notations** + +⟶ Мотивация и обозначения + +
+ + +**44. Representation techniques ― The two main ways of representing words are summed up in the table below:** + +⟶ Методы представления ― два основных способа представления слов подытожены в таблице ниже: + +
+ + +**45. [1-hot representation, Word embedding]** + +⟶ [One-hot представление, Представление слова] + +
+ + +**46. [teddy bear, book, soft]** + +⟶ [плюшевый мишка, книжка, мягкий] + +
+ + +**47. [Noted ow, Naive approach, no similarity information, Noted ew, Takes into account words similarity]** + +⟶ [Обозначено ow, Наивный подход, нет информации о сходстве, Обозначено ew, Учитывает сходство слов] + +
+ + +**48. Embedding matrix ― For a given word w, the embedding matrix E is a matrix that maps its 1-hot representation ow to its embedding ew as follows:** + +⟶ Матрица представлений слов (embedding matrix) ― для данного слова w матрица представлений E является матрицей, которая отображает его one-hot представление ow на его представление ew следующим образом: + +
+ + +**49. Remark: learning the embedding matrix can be done using target/context likelihood models.** + +⟶ Примечание: получить матрицу представлений можно путем обучения моделей целевого/контекстного правдоподобия. + +
+ + +**50. Word embeddings** + +⟶ Векторные представления слов + +
+ + +**51. Word2vec ― Word2vec is a framework aimed at learning word embeddings by estimating the likelihood that a given word is surrounded by other words. Popular models include skip-gram, negative sampling and CBOW.** + +⟶ Word2vec ― это модель, предназначенная для получения представлений слов путем оценки вероятности того, что конкретное слово окружено другими словами. Популярные модели включают Skip-gram, Negative sampling и CBOW. + +
+ + +**52. [A cute teddy bear is reading, teddy bear, soft, Persian poetry, art]** + +⟶ [Милый плюшевый мишка читает, плюшевый мишка, мягкий, персидская поэзия, искусство] + +
+ + +**53. [Train network on proxy task, Extract high-level representation, Compute word embeddings]** + +⟶ [Обучить сеть на вспомогательной задаче, Извлечь высокоуровневое представление, Вычислить представления слов] + +
+ + +**54. Skip-gram ― The skip-gram word2vec model is a supervised learning task that learns word embeddings by assessing the likelihood of any given target word t happening with a context word c. By noting θt a parameter associated with t, the probability P(t|c) is given by:** + +⟶ Skip-gram ― Модель skip-gram word2vec - это алгоритм обучения с учителем, который выучивает представления слов, оценивая правдоподобие того, что любое заданное целевое слово t встречается с контекстным словом c. Обозначим параметр, связанный с t, как θt, тогда вероятность P(t|c) определяется выражением: + +
+ + +**55. Remark: summing over the whole vocabulary in the denominator of the softmax part makes this model computationally expensive. CBOW is another word2vec model using the surrounding words to predict a given word.** + +⟶ Примечание: суммирование по всему словарю в знаменателе части softmax делает эту модель дорогостоящей в вычислительном отношении. CBOW - это еще одна модель word2vec, использующая окружающие слова для предсказания данного слова. + +
+ + +**56. Negative sampling ― It is a set of binary classifiers using logistic regressions that aim at assessing how a given context and a given target words are likely to appear simultaneously, with the models being trained on sets of k negative examples and 1 positive example. Given a context word c and a target word t, the prediction is expressed by:** + +⟶ Negative sampling ― это набор бинарных классификаторов, использующих логистические регрессии, целью которых является оценка того, как данный контекст и заданные целевые слова могут появляться одновременно, при этом модели обучаются на наборах из k отрицательных примеров и 1 положительного примера. Учитывая контекстное слово c и целевое слово t, прогноз выражается следующим образом: + +
+ + +**57. Remark: this method is less computationally expensive than the skip-gram model.** + +⟶ Примечание: этот метод менее затратен с точки зрения вычислений, чем модель Skip-gram. + +
+ + +**57 GloVe ― The GloVe model, short for global vectors for word representation, is a word embedding technique that uses a co-occurence matrix X where each Xi,j denotes the number of times that a target i occurred with a context j. Its cost function J is as follows:** + +⟶ GloVe ― Модель GloVe, сокращение от глобальных векторов для представления слов, является методом получения представлений слов, который использует матрицу совпадения X, где каждый Xi,j обозначает количество раз, когда цель i встречалась с контекстом j. Его функция стоимости J выглядит следующим образом: + +
+ + +**58. where f is a weighting function such that Xi,j=0⟹f(Xi,j)=0. Given the symmetry that e and θ play in this model, the final word embedding e(final)w is given by:** + +⟶ где f - такая взвешивающая функция, что Xi,j=0⟹f(Xi,j)=0. Учитывая симметрию, которую играют e и θ в этой модели, последнее представление слов e(final)w задается выражением: + +
+ + +**59. Remark: the individual components of the learned word embeddings are not necessarily interpretable.** + +⟶ Примечание: отдельные компоненты векторов представлений слов не обязательно поддаются интерпретации. + +
+ + +**60. Comparing words** + +⟶ Сравнение слов + +
+ + +**61. Cosine similarity ― The cosine similarity between words w1 and w2 is expressed as follows:** + +⟶ Косинусное сходство ― косинусное сходство между словами w1 и w2 выражается следующим образом: + +
+ + +**62. Remark: θ is the angle between words w1 and w2.** + +⟶ Примечание: θ - угол между словами w1 и w2. + +
+ + +**63. t-SNE ― t-SNE (t-distributed Stochastic Neighbor Embedding) is a technique aimed at reducing high-dimensional embeddings into a lower dimensional space. In practice, it is commonly used to visualize word vectors in the 2D space.** + +⟶ t-SNE ― t-распределенное стохастическое соседнее представление (t-distributed Stochastic Neighbor Embedding, t-SNE) - это метод, направленный на сокращение высоко-размерного пространства представлений до пространства меньшей размерности. На практике он обычно используется для визуализации векторов слов в 2D-пространстве. + +
+ + +**64. [literature, art, book, culture, poem, reading, knowledge, entertaining, loveable, childhood, kind, teddy bear, soft, hug, cute, adorable]** + +⟶ [литература, искусство, книга, культура, стихотворение, чтение, знания, развлекательный, милый, детство, добрый, плюшевый мишка, мягкий, обнять, милый, очаровательный] + +
+ + +**65. Language model** + +⟶ Языковая модель + +
+ + +**66. Overview ― A language model aims at estimating the probability of a sentence P(y).** + +⟶ Обзор ― языковая модель предназначена для оценки вероятности предложения P(y). + +
+ + +**67. n-gram model ― This model is a naive approach aiming at quantifying the probability that an expression appears in a corpus by counting its number of appearance in the training data.** + +⟶ Модель n-gram ― эта модель представляет собой наивный подход, направленный на количественную оценку вероятности того, что выражение появляется в корпусе, путем подсчета его количества появлений в обучающих данных. + +
+ + +**68. Perplexity ― Language models are commonly assessed using the perplexity metric, also known as PP, which can be interpreted as the inverse probability of the dataset normalized by the number of words T. The perplexity is such that the lower, the better and is defined as follows:** + +⟶ Метрика Perplexity ― языковые модели обычно оцениваются с помощью метрики perplexity, также известной как PP, которую можно интерпретировать как обратную вероятность набора данных, нормализованную на количество слов T. Perplexity таково, что чем оно ниже, тем лучше, и определяется следующим образом: + +
+ + +**69. Remark: PP is commonly used in t-SNE.** + +⟶ Примечание: PP обычно используется в t-SNE. + +
+ + +**70. Machine translation** + +⟶ Машинный перевод + +
+ + +**71. Overview ― A machine translation model is similar to a language model except it has an encoder network placed before. For this reason, it is sometimes referred as a conditional language model. The goal is to find a sentence y such that:** + +⟶ Обзор ― модель машинного перевода похожа на языковую модель, за исключением того, что перед ней размещена сеть кодировщика. По этой причине её иногда называют условной языковой моделью. Цель состоит в том, чтобы найти такое предложение y, что: + +
+ + +**72. Beam search ― It is a heuristic search algorithm used in machine translation and speech recognition to find the likeliest sentence y given an input x.** + +⟶ Лучевой поиск ― это алгоритм эвристического поиска, используемый в машинном переводе и распознавании речи для поиска наиболее вероятного предложения y при вводе x. + +
+ + +**73. [Step 1: Find top B likely words y<1>, Step 2: Compute conditional probabilities y|x,y<1>,...,y, Step 3: Keep top B combinations x,y<1>,...,y, End process at a stop word]** + +⟶ [Шаг 1: Найти top B наиболее вероятных слов y<1>, Шаг 2: Вычислить условные вероятности y|x,y<1>,...,y, Шаг 3: Сохранить top B комбинации x,y<1>,...,y, Завершить процесс на стоп-слове] + +
+ + +**74. Remark: if the beam width is set to 1, then this is equivalent to a naive greedy search.** + +⟶ Примечание: если ширина луча установлена на 1, то это равносильно наивному жадному поиску. + +
+ + +**75. Beam width ― The beam width B is a parameter for beam search. Large values of B yield to better result but with slower performance and increased memory. Small values of B lead to worse results but is less computationally intensive. A standard value for B is around 10.** + +⟶ Ширина луча ― Ширина луча B является параметром лучевого поиска. Большие значения B дают лучший результат, но с меньшим качеством предсказаний и увеличенным объёмом памяти. Маленькие значения B приводят к худшим результатам, но требуют меньших вычислительных затрат. Стандартное значение B составляет около 10. + +
+ + +**76. Length normalization ― In order to improve numerical stability, beam search is usually applied on the following normalized objective, often called the normalized log-likelihood objective, defined as:** + +⟶ Нормализация длины ― Чтобы улучшить численную стабильность, лучевой поиск обычно применяется к следующей нормализованной цели, часто называемой нормализованной целью логарифмического правдоподобия, определяемой как: + +
+ + +**77. Remark: the parameter α can be seen as a softener, and its value is usually between 0.5 and 1.** + +⟶ Примечание: параметр α можно рассматривать как смягчитель, и его значение обычно составляет от 0.5 до 1. + +
+ + +**78. Error analysis ― When obtaining a predicted translation ˆy that is bad, one can wonder why we did not get a good translation y∗ by performing the following error analysis:** + +⟶ Анализ ошибок ― При получении предсказанного перевода ˆy, который является плохим, можно задаться вопросом, почему мы не получили хороший перевод y∗ , выполнив следующий анализ ошибок: + +
+ + +**79. [Case, Root cause, Remedies]** + +⟶ [Случай, Первопричина, Исправления] + +
+ + +**80. [Beam search faulty, RNN faulty, Increase beam width, Try different architecture, Regularize, Get more data]** + +⟶ [Ошибка лучевого поиска, Неисправность RNN, Увеличить ширину луча, Попробовать другую архитектуру, Регуляризировать, Взять больше данных] + +
+ + +**81. Bleu score ― The bilingual evaluation understudy (bleu) score quantifies how good a machine translation is by computing a similarity score based on n-gram precision. It is defined as follows:** + +⟶ Метрика BLEU ― bilingual evaluation understudy количественно определяет, насколько хорош машинный перевод, путем вычисления оценки сходства на основе точности n-грамм. Это определяется следующим образом: + +
+ + +**82. where pn is the bleu score on n-gram only defined as follows:** + +⟶ где pn - это оценка по n-граммам, определяемая следующим образом: + +
+ + +**83. Remark: a brevity penalty may be applied to short predicted translations to prevent an artificially inflated bleu score.** + +⟶ Примечание: к коротким предсказанным переводам может применяться штраф за краткость, чтобы предотвратить искусственно завышенную оценку BLEU. + +
+ + +**84. Attention** + +⟶ Внимание + +
+ + +**85. Attention model ― This model allows an RNN to pay attention to specific parts of the input that is considered as being important, which improves the performance of the resulting model in practice. By noting α the amount of attention that the output y should pay to the activation a and c the context at time t, we have:** + +⟶ Модель внимания ― эта модель позволяет RNN обращать внимание на определенные части входных данных, которые считаются важными, что на практике улучшает качество предсказаний полученной модели. Обозначим α количество внимания, которое выход y должен уделять активации a и c контексту в момент времени t, у нас есть: + +
+ + +**86. with** + +⟶ с + +
+ + +**87. Remark: the attention scores are commonly used in image captioning and machine translation.** + +⟶ Примечание: оценки внимания обычно используются в задачах добавления субтитров к изображениям и машинном переводе. + +
+ + +**88. A cute teddy bear is reading Persian literature.** + +⟶ Милый плюшевый мишка читает персидскую литературу. + +
+ + +**89. Attention weight ― The amount of attention that the output y should pay to the activation a is given by α computed as follows:** + +⟶ Вес внимания ― количество внимания, которое выход y должен уделять активации a, задается выражением α, вычисляемым следующим образом: + +
+ + +**90. Remark: computation complexity is quadratic with respect to Tx.** + +⟶ Примечание: сложность вычислений квадратична относительно Tx. + +
+ + +**91. The Deep Learning cheatsheets are now available in [target language].** + +⟶ Шпаргалки по глубокому обучению теперь доступны на русском языке. + +
+ +**92. Original authors** + +⟶ Авторы оригинала: Afshine Amidi и Shervine Amidi ― https://github.com/afshinea и https://github.com/shervinea + +
+ +**93. Translated by X, Y and Z** + +⟶ Переведено на русский язык: Пархоменко Александр ― https://github.com/AlexandrParkhomenko + +
+ +**94. Reviewed by X, Y and Z** + +⟶ Проверено на русском языке: Труш Георгий (Georgy Trush) ― https://github.com/geotrush + +
+ +**95. View PDF version on GitHub** + +⟶ Посмотреть PDF-версию на GitHub + +
+ +**96. By X and Y** + +⟶ По X и Y + +