Почему не MLP или CNN? Почему РНН? Приложения РНН

Я подумываю вкратце написать о RNN. Итак, я подумал объяснить концепцию RNN на примерах статей на Medium. Я бы использовал здесь концепцию MLP. Итак, было бы полезно взглянуть на приведенный ниже ресурс.



Задача

Разделить статьи среды на полезные и бесполезные.

Другими словами, разделите все статьи среднего уровня на статьи с самым высоким и самым низким рейтингом на основе КОММЕНТАРИЙ (отзывов), данных читателями.

Как это можно реализовать?

Для каждой статьи среднего размера будет раздел комментариев, и на основе этих комментариев мы можем классифицировать, является ли статья полезной или нет. Точнее, если есть 10 обзоров и 7 из них отмечены как хорошие и лучшие (или любые относительно положительные слова), то это может быть классифицировано как полезная статья.Точно так же, если большинство из них считают, что статью нужно улучшить или она излишня, то она комментируется как бесполезная статья.

В любом языке предложение должно быть создано путем сохранения последовательности слов, что наиболее важно — Почему? — Например, предположим, что под одной из статей есть комментарий «Статья хорошая, но используемые изображения нуждаются в улучшении». — Это в основном говорит о том, что это >Полезная статья. Если исходная последовательность не сохраняется, то этот комментарий выглядит следующим образом: «Хорошие изображения, но статью нужно улучшить» — здесь говорится, что это бесполезная статья. Таким образом, сохранение последовательности наиболее важно в языках, потому что значение может быть полностью изменено, и высока вероятность неправильного толкования.

Использование MLP для реализации этой задачи

Комментарий: «Статья хорошая, но используемые изображения нуждаются в улучшении». В Medium будет много статей и комментариев, которые считаются набором данных. Обозначим комментарий как X_i, и наш комментарий может быть одним из них. Итак, представив наш комментарий как X_i: «Статья хороша, но используемые изображения нуждаются в улучшении», предложение будет обозначаться следующим образом:

В нашем наборе данных будет огромное количество комментариев, и давайте рассмотрим, предположив, что в наборе данных около 10000 уникальных слов. Итак, каждое слово представлено в измерении 10k следующим образом:

Итак, теперь предложения будут группой векторов, поскольку каждое слово имеет размерность 10k, а все предложение состоит из 11 слов, поэтому оно будет иметь размерность 110k.

Но в наших наборах данных будет много комментариев, и в каждом комментарии будет разное количество слов. Например, comment_1 содержит 11 слов, comment_2 содержит 12 слов, comment_3 > содержит 25 слов, comment_4 содержит 50 слов, comment_5содержит 8 слов и и так далее….Нам нужно рассмотреть комментарий, который имеет наибольшее количество слов, и разработать входной вектор, взяв его за основу. Предположим, комментарий с наибольшим количеством слов — 50. Таким образом, каждое слово имеет 10 тысяч измерений, как показано выше. Таким образом, это будет учитывать вектор размерности 500 000.

Наш комментарий: «Статья хорошая, но используемые изображения нуждаются в улучшении»содержит 11 слов. Таким образом, этот комментарий имеет только вектор размерности 110 000. Его нужно преобразовать в вектор размерности 500 000, просто заполнив первые 110 000 измерений этими словами, а оставшиеся 390 000 измерений нулевыми значениями (по сути, нулевыми значениями). прокладка). Но здесь начинается настоящая проблема……….

Когда мы обучаем MLP с входным вектором размером 500 тысяч и минимум 1000 нейронов в каждом слое, количество обучаемых параметров (весов) будет огромным (необходимо обучить 5 миллиардов параметров).

Время обучения вызывает озабоченность, и большинство значений входного вектора равны нулю, что не будет иметь большого значения в обучении при использовании MLP. Таким образом, для значительной работы с данными о последовательности были введены RNN, расширения/варианты RNN, такие как GRU и LSTM.

Реальные приложения RNN

Есть несколько реальных приложений, в которых мы уже используем RNN, но не знакомы с этим.

Машинный перевод: перевод Google, разработан с использованием моделей Sequence-to-Sequence, которые являются вариантами RNN. .

Распознавание речи: Alexa, Google Now, Siri, Cortona — все эти движки используют варианты RNN позади, поскольку входными данными для этих алгоритмов будут аудио — то есть последовательность информации, эта информация предназначена для обрабатываться последовательно.

Подписи к изображениям. В алгоритмах поиска изображений, когда входными данными являются изображения, на выходе будет предложение на английском языке, описывающее изображение и его содержимое.

Прогнозы временных рядов:прогнозы фондового рынка, эти прогнозы полностью основаны на прошлых данных.

Основная идея

Вывод из RNNили расширенной версииRNNмодели, такой как LSTM, основан на последовательности входы — для сохранения и использования информации о последовательности.

Подпишитесь на DDIntel Здесь.

Посетите наш сайт здесь: https://www.datadriveninvestor.com

Присоединяйтесь к нашей сети здесь: https://datadriveninvestor.com/collaborate