Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 2:51Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -2:51 1xСкорость воспроизведения2x1.75x1.5x1.25x1x, выбрано0.75x0.5xГлавыГлавыОписанияОтключить описания, выбраноСубтитрынастройки субтитров, откроется диалог настройки субтитровСубтитры выкл., выбраноЗвуковая дорожкаPicture-in-PictureПолноэкранный режимThis is a modal window.Начало диалоговго окна. Кнопка Escape закроет или отменит окноТекстColorБелыйЧерныйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйФонColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйПрозрачныйОкноColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачныйПолупрозрачныйПрозрачностьРазмер шрифта50%75%100%125%150%175%200%300%400%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
Всем привет! Этой лекцией мы начинаем цикл видео о различных архитектурах нейросетей, применяемых для обработки текстов. Конкретно сейчас мы поговорим о видах нейросетевых модулей, перечислим их, чтобы вы знали что они вообще есть, какова их область применения, преимущества и недостатки. Сначала — пару слов о задаче. Смысл использования нейросетей — в том, что они могут выделить сложные паттерны — взаимоотношения в данных. В случае текстов (а именно, отдельных предложений) такие паттерны проявляются в том, как именно слова употребляются вместе, как построены фразы. Другими словами, нейросети нужны для того, чтобы представить контекст в виде математического объекта — вектора или матрицы. Ранее мы уже говорили о первоначальном переводе текста в матрицу с помощью эмбеддингов и методов дистрибутивной семантики. Нейросети выполняют следующий шаг: преобразование этой матрицы так, чтобы каждая строчка содержала информацию не об отдельных словах, а о фразах и их смыслах. Самый простой вид модулей — это свёрточные блоки. Всё точно так же, как и в картинках, с одним отличием: используются не двухмерные свёртки, а одномерные. Подробнее о свёрточных блоках мы поговорим в следующей лекции. Свёрточные блоки хорошо подходят для нахождения в данных локальных паттернов, вне зависимости от того, где конкретно эти паттерны встречаются: в начале текста или в конце. Это называется "инвариантность к переносу". Свёрточные блоки эффективно распараллеливаются на видеокартах, поэтому они достаточно быстрые, простые, хорошо учатся. Однако они недостаточно гибкие и мощные, чтобы уметь находить широкие паттерны — например, сравнивать первое слово в предложении и последнее, игнорируя при этом слова между ними. А также, чтобы увеличить максимальную длину паттерна, нужно существенно увеличить количество параметров свёрточной сети. Более естественная идея для текстов — это рекуррентные нейросети. Смысл в том, что мы читаем слово за словом или символ за символом и на каждом шаге поддерживаем некоторый вектор, который содержит информацию о всём тексте, который мы прочитали ранее. В результате могут учитываться достаточно длинные зависимости, а также длина учитываемых зависимостей не обязательно связана с количеством параметров сети. Но учить рекуррентные сети гораздо сложнее.

К сожалению, у нас пока нет статистики ответов на данный вопрос, но мы работаем над этим.