👀Что такое галлюцинации в больших языковых моделях? Какие методы решения вы знаете ?
▪БЯМ (Большие языковые модели) или LLM (Large Language Models) стали популярными в обработке естественного языка. Они используются для перевода, генерации текста и ответов на вопросы. Эти модели обучаются на больших наборах данных и могут создавать тексты, похожие на тексты, написанные человеком. Известные примеры LLM - ChatGPT и GPT-4 от OpenAI.
Однако у таких моделей есть проблемы с «галлюцинациями» и доступом к актуальной информации. Галлюцинации проявляются как генерация текста, не соответствующего реальности, с нарушениями фактологии. Нейросеть может придумывать детали, факты, имена или события, которые не существуют в реальности.имеют отношения к реальности.
▪Для решения данной проблемы и уменьшения вероятности галлюцинаций, исследователи предлагают несколько методов:
1. Использование дополнительной модели для поиска информации в документах, с последующей передачей этой информации в генеративную нейросеть.
2. Обучение моделей на бОльшем количестве данных, а также создание специальных (фактологических) наборов данных.
3. Использование обучения с подкреплением, на основе оценок поставленных людьми, как это делают в OpenAI (RLHF).
4. Соединение LLM с моделью мира (это наиболее сложный и перспективный подход, но в данной статье мы его не будем рассматривать из-за объемности).
@machinelearning_interview
▪БЯМ (Большие языковые модели) или LLM (Large Language Models) стали популярными в обработке естественного языка. Они используются для перевода, генерации текста и ответов на вопросы. Эти модели обучаются на больших наборах данных и могут создавать тексты, похожие на тексты, написанные человеком. Известные примеры LLM - ChatGPT и GPT-4 от OpenAI.
Однако у таких моделей есть проблемы с «галлюцинациями» и доступом к актуальной информации. Галлюцинации проявляются как генерация текста, не соответствующего реальности, с нарушениями фактологии. Нейросеть может придумывать детали, факты, имена или события, которые не существуют в реальности.имеют отношения к реальности.
▪Для решения данной проблемы и уменьшения вероятности галлюцинаций, исследователи предлагают несколько методов:
1. Использование дополнительной модели для поиска информации в документах, с последующей передачей этой информации в генеративную нейросеть.
2. Обучение моделей на бОльшем количестве данных, а также создание специальных (фактологических) наборов данных.
3. Использование обучения с подкреплением, на основе оценок поставленных людьми, как это делают в OpenAI (RLHF).
4. Соединение LLM с моделью мира (это наиболее сложный и перспективный подход, но в данной статье мы его не будем рассматривать из-за объемности).
@machinelearning_interview
#тест
ACID-требования к транзакциям полностью поддерживают
ACID-требования к транзакциям полностью поддерживают
Anonymous Quiz
19%
все базы данных
58%
только реляционные базы данных
9%
только NoSQL-базы данных
14%
только OLTP-базы
📌 Задача про метрики
Пусть мы обучили логистическую регрессию и метод опорных векторов для решения задачи бинарной классификации, предсказали классы с помощью моделей на тестовых данных и измерили f1-score. Оказалось, что значение метрики у логистической регрессии на
Означает ли это, что логистическая регрессия лучше решает задачу?
Ответ: нет, не означает.
Решение
Метрика f1-score зависит от порога, по которому мы переводим предсказанные моделью «вероятности» в классы. По умолчанию порог для перевода равен 0,5: то есть если уверенность модели в положительном классе составляет 0,5 или больше, мы относим объект к положительному классу, а иначе — к отрицательному.
При увеличении порога точность (precision) растет, а полнота (recall) падает, и наоборот. Метрика f1-score нелинейно зависит от точности и полноты и вычисляется по формуле:
f1= 2*precision *recall / precision* recall
Поэтому она будет изменяться при изменении порога.
В условии мы измерили значение метрики на исходных классах, то есть использовали порог по умолчанию 0,5. Он мог быть не оптимальным как для логистической регрессии, так и для метода опорных векторов.
Чтобы узнать, какая из моделей лучше работает в конкретном случае с точки зрения метрики f1, необходимо для каждой из моделей подобрать свой оптимальный порог и вычислить для него значение f1. Тогда мы сможем сказать, какая модель лучше.
@machinelearning_interview
Пусть мы обучили логистическую регрессию и метод опорных векторов для решения задачи бинарной классификации, предсказали классы с помощью моделей на тестовых данных и измерили f1-score. Оказалось, что значение метрики у логистической регрессии на
0,1
выше, чем у метода опорных векторов.Означает ли это, что логистическая регрессия лучше решает задачу?
Ответ
При увеличении порога точность (precision) растет, а полнота (recall) падает, и наоборот. Метрика f1-score нелинейно зависит от точности и полноты и вычисляется по формуле:
f1= 2*precision *recall / precision* recall
Поэтому она будет изменяться при изменении порога.
В условии мы измерили значение метрики на исходных классах, то есть использовали порог по умолчанию 0,5. Он мог быть не оптимальным как для логистической регрессии, так и для метода опорных векторов.
Чтобы узнать, какая из моделей лучше работает в конкретном случае с точки зрения метрики f1, необходимо для каждой из моделей подобрать свой оптимальный порог и вычислить для него значение f1.
@machinelearning_interview
📌 Что такое вариационные автоэнкодеры (VAE) ?
Автоэнкодер состоит из двух соединенных нейронных сетей: модели энкодера (кодировщика) и модели декодера (декодировщика). Его цель – нахождение метода кодирования лиц знаменитостей в сжатую форму (скрытое пространство) таким образом, чтобы восстановленная версия была как можно ближе к входно
Как правило, скрытое пространство Z, создаваемое энкодером, редко заселено, то есть трудно предсказать, распределение значений в этом пространстве. Значения разбросаны, и пространство обычно хорошо визуализируется в двухмерном представлении.
Это очень полезная особенность для систем сжатия (компрессии). Однако для генерации новых изображений знаменитостей эта разреженность – проблема, поскольку найти скрытое значение, для которого декодер будет знать, как произвести нормальное изображение, почти невозможно.
Более того, если в пространстве есть промежутки между кластерами, и декодер получит вариацию из такого промежутка, ему не хватит знаний, чтобы сгенерировать что-нибудь полезное.
Вариационный автоэнкодер делает внутреннее пространство более предсказуемым, более непрерывным и менее разреженным. Заставляя скрытые переменные соответствовать нормальному распределению, VAE получают контроль над скрытым пространством.
Вместо прямой передачи скрытых значений декодеру, VAE используют их для расчета средних значений и стандартных отклонений. Затем вход декодера собирается из соответствующего нормального распределения.
В процессе обучения VAE заставляет это нормальное распределение быть как можно более близким к стандартному нормальному распределению, включая в функцию потерь расстояние Кульбака-Лейблера. VAE будет изменять, или исследовать вариации на гранях, и не случайным образом, а в определенном, желаемом направлении.
Условные вариационные автоэнкодеры позволяют моделировать вход на основе не только скрытой переменной z, но и дополнительной информации вроде метаданных изображения (улыбка, очки, цвет кожи и т.п.)
@machinelearning_interview
Автоэнкодер состоит из двух соединенных нейронных сетей: модели энкодера (кодировщика) и модели декодера (декодировщика). Его цель – нахождение метода кодирования лиц знаменитостей в сжатую форму (скрытое пространство) таким образом, чтобы восстановленная версия была как можно ближе к входно
Как правило, скрытое пространство Z, создаваемое энкодером, редко заселено, то есть трудно предсказать, распределение значений в этом пространстве. Значения разбросаны, и пространство обычно хорошо визуализируется в двухмерном представлении.
Это очень полезная особенность для систем сжатия (компрессии). Однако для генерации новых изображений знаменитостей эта разреженность – проблема, поскольку найти скрытое значение, для которого декодер будет знать, как произвести нормальное изображение, почти невозможно.
Более того, если в пространстве есть промежутки между кластерами, и декодер получит вариацию из такого промежутка, ему не хватит знаний, чтобы сгенерировать что-нибудь полезное.
Вариационный автоэнкодер делает внутреннее пространство более предсказуемым, более непрерывным и менее разреженным. Заставляя скрытые переменные соответствовать нормальному распределению, VAE получают контроль над скрытым пространством.
Вместо прямой передачи скрытых значений декодеру, VAE используют их для расчета средних значений и стандартных отклонений. Затем вход декодера собирается из соответствующего нормального распределения.
В процессе обучения VAE заставляет это нормальное распределение быть как можно более близким к стандартному нормальному распределению, включая в функцию потерь расстояние Кульбака-Лейблера. VAE будет изменять, или исследовать вариации на гранях, и не случайным образом, а в определенном, желаемом направлении.
Условные вариационные автоэнкодеры позволяют моделировать вход на основе не только скрытой переменной z, но и дополнительной информации вроде метаданных изображения (улыбка, очки, цвет кожи и т.п.)
@machinelearning_interview
Градиентный бустинг — один из самых мощных алгоритмов классического машинного обучения. Приведите пример, когда градиентный бустинг в задаче регрессии будет работать хуже линейной регрессии.
Решение
Представим себе, что данные имеют линейную зависимость и получилось так, что тренировочные данные (синие точки) находятся в одной части этой прямой, а тестовые данные (красные точки) — в другой части.
Тогда линейная регрессия проведет через тренировочные данные прямую, которая хорошо аппроксимирует и тестовые данные.
При этом бустинг подстроится исключительно под синие точки, а на границе тренировочной области поведет себя произвольно. Поэтому красные точки (тестовые) будут предсказываться с большой ошибкой.
Это простой пример.
Довольно часто такого не происходит в реальной жизни, потому что обычно мы предполагаем, что новые данные приходят из той же области, что и старые. Но этот пример хорошо показывает, что бустинг не подходит для экстраполяции функций, то есть для прогнозов на новой области определения (которой не было в тренировочных данных).
Пишите свой примиер в комментариях
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача про градиентный спуск
С помощью градиентного спуска, как известно, можно обучать различные модели машинного обучения. Верно ли, что классический градиентный спуск всегда найдет глобальный минимум функции потерь и выдаст оптимальные параметры?
Ответ: нет, неверно.
Решение
Посмотрим на формулу градиентного спуска (картинка 1)
По основному свойству градиента с каждым следующим шагом метода мы будем двигаться все ближе и ближе к минимуму функции потерь Q, что хорошо. Но нет гарантии, что мы придем именно в глобальный минимум, а не застрянем в локальном(картинка 2).
Кроме того, градиентный спуск будет испытывать трудности в точках перегиба функции, ведь в них градиент тоже равен нулю, и метод может остановиться вблизи этой точки.
Еще одна причина неудачи метода — неверный выбор градиентного шага.
Например, при очень маленьком градиентном шаге метод будет идти в сторону минимума слишком медленно и остановится просто из-за ограничения на число итераций, не дойдя до него. А при слишком большом градиентном шаге метод может не попасть в минимум и «прыгать» вокруг него до тех пор, пока не остановится из-за ограничения на число итераций. Иногда метод при большом градиентном шаге может даже разойтись.
В классическом машинном обучении мы почти не сталкиваемся с описанными проблемами, но вот в Deep Learning этих проблем достаточно. Для их решения придумано множество модификаций градиентного спуска.
@machinelearning_interview
С помощью градиентного спуска, как известно, можно обучать различные модели машинного обучения. Верно ли, что классический градиентный спуск всегда найдет глобальный минимум функции потерь и выдаст оптимальные параметры?
Ответ: нет, неверно.
Решение
Посмотрим на формулу градиентного спуска (картинка 1)
По основному свойству градиента с каждым следующим шагом метода мы будем двигаться все ближе и ближе к минимуму функции потерь Q, что хорошо. Но нет гарантии, что мы придем именно в глобальный минимум, а не застрянем в локальном(картинка 2).
Кроме того, градиентный спуск будет испытывать трудности в точках перегиба функции, ведь в них градиент тоже равен нулю, и метод может остановиться вблизи этой точки.
Еще одна причина неудачи метода — неверный выбор градиентного шага.
Например, при очень маленьком градиентном шаге метод будет идти в сторону минимума слишком медленно и остановится просто из-за ограничения на число итераций, не дойдя до него. А при слишком большом градиентном шаге метод может не попасть в минимум и «прыгать» вокруг него до тех пор, пока не остановится из-за ограничения на число итераций. Иногда метод при большом градиентном шаге может даже разойтись.
В классическом машинном обучении мы почти не сталкиваемся с описанными проблемами, но вот в Deep Learning этих проблем достаточно. Для их решения придумано множество модификаций градиентного спуска.
@machinelearning_interview
📖 Introduction to Machine Learning Interviews Book
Книга для подготовки к собеседованию по машинному обучению.
В качестве соискателя автор прошел собеседования в десятке крупных компаний и стартапов и получил предложения на должности в области машинного обучения в таких компаниях, как Google, NVIDIA, Snap, Netflix, Primer AI и Snorkel AI. Полезная книга для для закрепления теоретических и практических знаний в области машинного обучения.
📚 Книга
@machinelearning_interview
Книга для подготовки к собеседованию по машинному обучению.
В качестве соискателя автор прошел собеседования в десятке крупных компаний и стартапов и получил предложения на должности в области машинного обучения в таких компаниях, как Google, NVIDIA, Snap, Netflix, Primer AI и Snorkel AI. Полезная книга для для закрепления теоретических и практических знаний в области машинного обучения.
📚 Книга
@machinelearning_interview
Kubeflow Pipelines оптимизирует обучение ML-моделей
Свой опыт в статье на Хабре описывает инженер по машинному обучению в ML-команде проектов для бизнесов и покупателей ВКонтакте. Она расскажет, чем Kubeflow Pipelines может быть полезен ML-специалисту и как в нём без потери существующей кодовой базы можно запускать готовые пайплайны.
Благодаря этому материалу вы с помощью библиотеки kfp и нескольких функций сможете интегрировать существующий код для запуска ML-пайплайнов в инструмент Kubeflow Pipelines с удобным интерфейсом, в котором разработчик может быстро запускать эксперименты по машинному обучению и выбирать лучшее решение.
@machinelearning_interview
Свой опыт в статье на Хабре описывает инженер по машинному обучению в ML-команде проектов для бизнесов и покупателей ВКонтакте. Она расскажет, чем Kubeflow Pipelines может быть полезен ML-специалисту и как в нём без потери существующей кодовой базы можно запускать готовые пайплайны.
Благодаря этому материалу вы с помощью библиотеки kfp и нескольких функций сможете интегрировать существующий код для запуска ML-пайплайнов в инструмент Kubeflow Pipelines с удобным интерфейсом, в котором разработчик может быстро запускать эксперименты по машинному обучению и выбирать лучшее решение.
@machinelearning_interview
Хабр
Как мы с помощью Kubeflow Pipelines оптимизировали обучение ML-моделей
Когда кто-то занимается машинным обучением, его задачи часто представляют так: обработать данные, провести несколько десятков экспериментов с разными архитектурами моделей и выбрать ту, которая даёт...
🚀 Что такое Fine Tuning ? Какие шаги включает ? Что дает Fine Tuning ?
В отличие от feature extraction, суть дообучения (Fine Tuning) заключается в размораживании последних слоев нейронной сети (Neural Net) и их обучении. Таким образом, корректируются слои, которые имеют наиболее абстрактные представления. Производя дообучение только нескольких слоев, мы уменьшаем риск переобучения (overfitting). И самое главное, это позволяет сделать текущую модель ещё более подходящей к нашей задаче.
Если верхние слои следует дообучить, то полносвязные слои нужно заменить на свои и тоже обучить.
Fine-tuning экономит ресурсы и время. Чтобы качественно обучить нейросеть, всей структуре языка нужны огромные вычислительные мощности,а также корпус всех текстов, которые удастся собрать с Интернета.
Эта задача достаточно сложна, и обычному исследователю вряд ли удастся в одиночку создать целую языковую модель. Fine-tuning позволяет нам не изобретать велосипед, а разрабатывать что-то новое на основе уже полученных навыков.
Процедура Fine tuning состоит в следующем:
• Заморозить все слои предварительно обученной модели.
• Добавить свои слои к обученной модели.
• Обучить добавленные слои.
• Разморозить несколько верхних слоев.
• Обучить эти слои и добавленную часть вместе.
@machinelearning_interview
В отличие от feature extraction, суть дообучения (Fine Tuning) заключается в размораживании последних слоев нейронной сети (Neural Net) и их обучении. Таким образом, корректируются слои, которые имеют наиболее абстрактные представления. Производя дообучение только нескольких слоев, мы уменьшаем риск переобучения (overfitting). И самое главное, это позволяет сделать текущую модель ещё более подходящей к нашей задаче.
Если верхние слои следует дообучить, то полносвязные слои нужно заменить на свои и тоже обучить.
Fine-tuning экономит ресурсы и время. Чтобы качественно обучить нейросеть, всей структуре языка нужны огромные вычислительные мощности,а также корпус всех текстов, которые удастся собрать с Интернета.
Эта задача достаточно сложна, и обычному исследователю вряд ли удастся в одиночку создать целую языковую модель. Fine-tuning позволяет нам не изобретать велосипед, а разрабатывать что-то новое на основе уже полученных навыков.
Процедура Fine tuning состоит в следующем:
• Заморозить все слои предварительно обученной модели.
• Добавить свои слои к обученной модели.
• Обучить добавленные слои.
• Разморозить несколько верхних слоев.
• Обучить эти слои и добавленную часть вместе.
@machinelearning_interview
У вас есть данные о продолжительности звонков в колл-центр. Создайте план того, как вы будете анализировать эти данные. Объясните вероятный сценарий того, как может выглядеть распределение этих длительностей.
Как вы можете проверить, даже графически, оправдались ли ваши ожидания?
Так как данные достаточно простые: звонок – длительность, то нет необходимости делать их нормализацию (искать пропуски, заполнять их и т.д.). Нулевые значения надо просто удалить. Имеет смысл построить гистограмму продолжительности звонков, чтобы увидеть базовое распределение.
Обычно такие данные должны следовать логарифмически нормальному распределению.
Пример логнормального распределения (смотри картинку).
Для графического подтверждения этого предположения возможно использовать график
В статистике график
Сначала выбирается набор интервалов для квантилей. Точка (x, y) на графике соответствует одному из квантилей второго распределения (координата y), нанесенному на тот же квантиль первого распределения (координата x).
Таким образом, линия является параметрической кривой с параметром, который является номером интервала для квантиля.
Если сравниваемые два распределения похожи, точки на графике
@machinelearning_interview
Как вы можете проверить, даже графически, оправдались ли ваши ожидания?
Так как данные достаточно простые: звонок – длительность, то нет необходимости делать их нормализацию (искать пропуски, заполнять их и т.д.). Нулевые значения надо просто удалить. Имеет смысл построить гистограмму продолжительности звонков, чтобы увидеть базовое распределение.
Обычно такие данные должны следовать логарифмически нормальному распределению.
Пример логнормального распределения (смотри картинку).
Для графического подтверждения этого предположения возможно использовать график
Q-Q.
Это позволит подтвердить, соответствует ли длительность вызовов логнормальному распределению или нет.В статистике график
Q – Q
(квантиль-квантиль) – это график вероятности, который представляет собой графический метод для сравнения двух распределений вероятности путем построения их квантилей друг против друга. Сначала выбирается набор интервалов для квантилей. Точка (x, y) на графике соответствует одному из квантилей второго распределения (координата y), нанесенному на тот же квантиль первого распределения (координата x).
Таким образом, линия является параметрической кривой с параметром, который является номером интервала для квантиля.
Если сравниваемые два распределения похожи, точки на графике
Q – Q
будут приблизительно лежать на линии y = x.
Если распределения линейно связаны, точки на графике Q – Q
будут приблизительно лежать на линии, но не обязательно на линии y = x.
@machinelearning_interview
📌 Вы составляете отчет о чет о пользовательском контенте, загружаемом каждый месяц, и отмечаете всплеск загрузок в октябре. В частности, всплеск загрузок изображений. Как вы думаете, что может быть причиной этого, и как вы это проверите?
Существует несколько возможных причин скачка загрузок фотографий:
•Возможно, в октябре была реализована новая функция, которая связана с загрузкой фотографий и которая получила большую популярность среди пользователей. Например, функция, которая дает возможность создавать фотоальбомы.
•Точно так же возможно, что процесс загрузки фотографий ранее не был интуитивно понятным и был улучшен в октябре.
•Возможно, имело место вирусное движение в социальных сетях, которое занималось загрузкой фотографий, которые длились весь октябрь.
•Возможно, что всплеск произошел из-за того, что люди выкладывают свои фотографии в костюмах к Хэллоуину.
Метод тестирования зависит от причины скачка. В общем случае вы должны провести проверку гипотез, чтобы выяснить причину всплеска. Надо задать нулевую и альтернативную гипотезы, порог уровня значимости (альфа – обычно 5%), и посчитать уровень значимости (p-value). Если p-value меньше альфа, то нулевая гипотеза отклоняется в пользу альтернативной.
Это позволит определить, что является действительной причиной всплеска загрузок фотографий.
@machinelearning_interview
Существует несколько возможных причин скачка загрузок фотографий:
•Возможно, в октябре была реализована новая функция, которая связана с загрузкой фотографий и которая получила большую популярность среди пользователей. Например, функция, которая дает возможность создавать фотоальбомы.
•Точно так же возможно, что процесс загрузки фотографий ранее не был интуитивно понятным и был улучшен в октябре.
•Возможно, имело место вирусное движение в социальных сетях, которое занималось загрузкой фотографий, которые длились весь октябрь.
•Возможно, что всплеск произошел из-за того, что люди выкладывают свои фотографии в костюмах к Хэллоуину.
Метод тестирования зависит от причины скачка. В общем случае вы должны провести проверку гипотез, чтобы выяснить причину всплеска. Надо задать нулевую и альтернативную гипотезы, порог уровня значимости (альфа – обычно 5%), и посчитать уровень значимости (p-value). Если p-value меньше альфа, то нулевая гипотеза отклоняется в пользу альтернативной.
Это позволит определить, что является действительной причиной всплеска загрузок фотографий.
@machinelearning_interview
Что такое утечка данных в машинном обучении
Утечка глобально – это слитые личные данные без разрешения или без соблюдения должных мер безопасности кому-то постороннему. В ML под утечкой понимают совсем другая проблема, когда информация из тестового датасета ошибочно попадает в обучающий.
Так вот, команда VK Cloud перевела статью о том, какими могут быть подобные утечки и как с ними бороться на примере реальных датасетов.
@machinelearning_interview
Утечка глобально – это слитые личные данные без разрешения или без соблюдения должных мер безопасности кому-то постороннему. В ML под утечкой понимают совсем другая проблема, когда информация из тестового датасета ошибочно попадает в обучающий.
Так вот, команда VK Cloud перевела статью о том, какими могут быть подобные утечки и как с ними бороться на примере реальных датасетов.
@machinelearning_interview
✔ Что такое Gated Recurrent Unit (GRU)? Где используется ?
Закрытый рекуррентный блок (GRU) является частью конкретной модели рекуррентной нейронной сети, которая намеревается использовать соединения через последовательность узлов для выполнения задач машинного обучения, связанных с памятью и кластеризацией, например, в распознавании речи.
Рекуррентные блоки помогают регулировать входные веса нейронной сети для решения проблемы исчезающего градиента, которая является общей проблемой с рекуррентными нейронными сетями.
Еще закрытые рекуррентные блоки используются в машинном переводе. Они отличаются от LSTM, хотя тоже являются расширением для нейросетевого машинного обучения. В GRU на один гейт меньше, и работа строится по-другому: вместо входного, выходного и забывания, есть гейт обновления (
Функции сброса гейта (reset gate) похожи на затвор забывания у LSTM, но расположение отличается. GRU всегда передают свое полное состояние, не имеют выходной затвор. Часто эти затвор функционирует как и LSTM, однако, большим отличием заключается в следующем: в GRU затвор работают быстрее и легче в управлении (но также менее интерпретируемые). На практике они стремятся нейтрализовать друг друга, так как нужна большая нейросеть для восстановления выразительности (expressiveness), которая сводит на нет приросты в результате. Но в случаях, где не требуется экстра выразительности, GRU показывают лучше результат, чем LSTM.
В дополнение к машинному преводу, модели нейронной сети, использующие рекуррентные единицы, могут использоваться для исследования генома человека, анализа почерка и многого другого. Некоторые из этих инновационных сетей используются для анализа фондового рынка и работы правительства. Многие из них используют моделируемую способность машин запоминать информацию.
@machinelearning_interview
Закрытый рекуррентный блок (GRU) является частью конкретной модели рекуррентной нейронной сети, которая намеревается использовать соединения через последовательность узлов для выполнения задач машинного обучения, связанных с памятью и кластеризацией, например, в распознавании речи.
Рекуррентные блоки помогают регулировать входные веса нейронной сети для решения проблемы исчезающего градиента, которая является общей проблемой с рекуррентными нейронными сетями.
Еще закрытые рекуррентные блоки используются в машинном переводе. Они отличаются от LSTM, хотя тоже являются расширением для нейросетевого машинного обучения. В GRU на один гейт меньше, и работа строится по-другому: вместо входного, выходного и забывания, есть гейт обновления (
update gate
). Он определяет, сколько информации необходимо сохранить c последнего состояния и сколько информации пропускать с предыдущих слоев.Функции сброса гейта (reset gate) похожи на затвор забывания у LSTM, но расположение отличается. GRU всегда передают свое полное состояние, не имеют выходной затвор. Часто эти затвор функционирует как и LSTM, однако, большим отличием заключается в следующем: в GRU затвор работают быстрее и легче в управлении (но также менее интерпретируемые). На практике они стремятся нейтрализовать друг друга, так как нужна большая нейросеть для восстановления выразительности (expressiveness), которая сводит на нет приросты в результате. Но в случаях, где не требуется экстра выразительности, GRU показывают лучше результат, чем LSTM.
В дополнение к машинному преводу, модели нейронной сети, использующие рекуррентные единицы, могут использоваться для исследования генома человека, анализа почерка и многого другого. Некоторые из этих инновационных сетей используются для анализа фондового рынка и работы правительства. Многие из них используют моделируемую способность машин запоминать информацию.
@machinelearning_interview